* {margin: 0; padding: 0 }

body {font: 100 12px sans-serif; width: 100%; height: 100%; min-height: 100%; line-height: 1.5em; color: #777; font-weight: 100;}
a {color: black;  text-decoration: none; font-family: arial, sans-serif;}
p {}

select {height:30px}
.in-line {display: inline-block;}

/* GENERAL PAGE LAYOUT */

.wrapper {width: 1000px; margin: 0 auto}
.header {width: 100%; background-color: #596672; height: 30px; margin-bottom: 20px; }
.header_menu { padding: 0 0 0 20px;   display: inline-block;}
.header_menu a { }
.header_a {display: inline-block; float: left; height: 1em; padding: 1em; font-size: .75em; color: #fff; font-weight: normal;}
.header_a_logout {float:right; width:5%;}
.content {  background: #fff; padding: 0 0 0 10px; margin-bottom: 20px;}
.miscbuttons {  background: transparent; margin: 0 0 20px 0;}
.login {width:50%; margin:  auto;}

input[type="text"], [type="password"], [type="email"], input[type="url"], input[type="date"], input[type="month"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="week"], input[type="number"], input[type="search"],input[type="tel"], input[type="color"], select, textarea {
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 1px 3px #ddd inset;
    box-sizing: border-box;
    display: inline-block;
    padding: 0.5em 0.6em;
    vertical-align: middle;
}

table {width: 100%;}

.wrapper {width:100%; margin-bottom: 20px; display: block;}




.mainmenu{width: 100%; height: 30px; margin: 0 0 20px 0; background-color: #E4E4E4;}
.Menu {float:left; display: inline-block;  height: 20px; padding: 20px; color: #686868; font-size: 1em; text-transform: uppercase;}
.Menu:hover {opacity: .5; cursor: pointer}

.footer {width: 90%; margin: 0 auto; height: 10px; background: #00adef; padding: 20px; color: #fff; font-size: .8em;}

h1 { color:#4D4D4D; text-transform: uppercase; padding: 0 0 20px 0;} 
h2 { color:#4D4D4D; padding: 0 0 20px 0;} 
h3 { color:#4D4D4D; padding: 0 0 20px 0; font-size: 1em;} 


/* GENERAL PAGE LAYOUT END */

/*   Drop-down menu styling */

#primary_nav_wrap
{
	
}

#primary_nav_wrap ul
{
	list-style:none;
	position:relative;
	float:left;
	margin:0;
	padding:0;
	background-color: #e4e4e4;
}

#primary_nav_wrap ul a
{
	display:block;
	color:#333;
	text-decoration:none;
	font-weight:700;
	font-size: .7em;
	line-height:32px;
	padding:0 15px;
	text-transform: uppercase;
}

#primary_nav_wrap ul li
{
	position:relative;
	float:left;
height: 100%; 

display: block;
}

#primary_nav_wrap ul li.current-menu-item
{
	background:#ddd
}

#primary_nav_wrap ul li:hover
{
	background:#f6f6f6
}

#primary_nav_wrap ul ul
{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	background:#fff;
	padding:0
}

#primary_nav_wrap ul ul li
{
	float:none;
	width:200px
}

#primary_nav_wrap ul ul a
{
	line-height:150%;
	padding:10px 15px
}

#primary_nav_wrap ul ul ul
{
	top:0;
	left:100%
}

#primary_nav_wrap ul li:hover > ul
{
	display:block;
	background-color: white;
}

/*   Drop-down menu styling end */

/*   SUBMENU */

.submenu {height: 30px; width:100%; display: inline-block; padding: 0 0 20px; }
.submenu a {height: 28px;   opacity: 0.5; font-size: : 1em; color: #00adef; text-decoration: none; border: solid #00adef 2pt; border-radius: 3px; padding: 5px; }
.submenu a:hover {opacity: 1;}
.small a {padding: 2px;}

/* TABLE STYLING RESPONSIVE */

.request_w { background: #F2F2F2; margin-bottom: 10px;}
.apdt {font-weight: bold; display: inline-block; margin-right: 10px;}
.request, .request2 { display: inline-block;  padding: 5px; box-sizing: border-box; }
.request_np { display: inline-block; box-sizing: border-box; }
.request+.request, .first {padding-top: 0; padding-bottom: 0;}
.r_quotes { /*width: 80%;*/ text-align: left;}
.request {text-align: left;}
.request2 {text-align: right;}
.entry { display: inline-block; font-weight: normal; font-size: 0.8em;  }


table.crm {  border: 0;   color: #A5A5A5; width: 100%; margin-bottom: 20px; }
.leftcolumn {width: 20%; font-weight: 100; font-size: 0.9em;}
.rightcolumn {width: 80%;font-weight: 100; font-size: 0.8em;}
table.crm tr, table.crm td, table.crm th { padding: .5em 1em;}
thead.nested {font-size: .6em; font-weight: bold;}
tbody.nested {font-size: .8em; font-weight: 100;}

.odd { background-color: #F2F2F2;}
.hover:hover {background-color: #DBF2FC;}

.liner {height: 2em;}


.tablewrap {width:90%; margin: 0 auto;}

table th,
table td{
  text-align: left;
}
table.layout{
  width: 100%;
  border-collapse: collapse;
}

table_header {}

table.display{
  margin: 1em 0;
  clear: both;
}
table.display th,
table.display td {
  border: 0;
  padding: .5em 1em;
  color: #A5A5A5;
}

table.display th{ background: #F2F2F2; color: #4D4D4D; font-size: .8em; }
table.display td{ background: #fff; }
table.display th.item_specs a {color: #4D4D4D; text-decoration: none;}


table.responsive-table{}

td.item_name {text-transform: uppercase; font-weight: bold; }
td.item_specs th.item_specs, td.item_specs th.item_specs  {text-transform: uppercase; text-align: center; }


table.display td.item_specs {font-size: 0.7em; text-transform: uppercase; }

table.display td.item_specs a {color: #a5a5a5; font-weight: normal; text-decoration: none;}


table.display th.table_header {font-size: 0.8em; text-decoration: none; text-transform: uppercase;}

table.display td.item_name, table.display td.item_name a {color: #a5a5a5; font-size: .9em;}

table.display .leftcolumn {width:30%;}




/* CALENDAR*/

body .fc {
    font-size: 1em;
}

.fc {
    direction: ltr;
    text-align: left;
}

.fc th, .fc td {
border: 1px dashed silver;
    padding: 0;
    vertical-align: top;
}


.fc-basic-view .fc-body .fc-row {
    min-height: 4em;
}
.fc-row.fc-rigid {
    overflow: hidden;
}



table.calendar {width: 100%; table-layout: fixed;}
table.calendar th, table.calendar td {width:14%; padding: 5px;}
table.calendar tr,table.calendar td, table.calendar th {} 

#calendar {
  
    max-width: 80%;
    
}
.c_wrap, .c_wrap_right {display: inline-block;}
.c_wrap {width:100%;}
.c_wrap_right {width: 15%; text-align: left; vertical-align: top; padding: 0 0 0 15px; }

.h_box {width:100%; display: inline-block;}
.c_box {width:100%; display: inline-block; height: 120px;}
.c_date {display: block; font-size: .8em;}
.c_other_month {color: silver;}

.c_wr *, .c_wr *::before, .c_wr *::after { box-sizing: content-box;}

.c_events, .c_bg {position: absolute; top: 0; left: 0; right:0;  }
.c_row {position: relative;}
.c_bg {z-index: 1; height: 100%;}
.c_row, .c_events {z-index: 4; }
.c_row { overflow: hidden;}

.c_day {text-align: right;}

.c_view, .c_view > table {
    position: relative;
    z-index: 1;
}



/* GRIDS*/

/* 1/10 */
.grid1-10 {width:10%} 
.grid2-10 {width:20%} 
.grid3-10 {width:30%} 
.grid4-10 {width:40%}
.grid5-10 {width:50%}
.grid6-10 {width:60%}
.grid7-10 {width:70%}
.grid8-10 {width:80%}
.grid9-10 {width:90%}
.grid10-10 {width:99.9%}

/* 1/100 */
.grid1-100 {width:1%} 
.grid2-100 {width:2%} 
.grid3-100 {width:3%} 
.grid4-100 {width:4%} 
.grid5-100 {width:5%} 
.grid6-100 {width:6%} 
.grid7-100 {width:7%} 
.grid8-100 {width:8%} 
.grid9-100 {width:9%} 

.grid15-100 {width:15%} 
.grid25-100 {width:25%} 
.grid35-100 {width:35%} 
.grid45-100 {width:45%}
.grid65-100 {width:65%}
.grid75-100 {width:75%}
.grid69-100 {width:69%}
.grid98-100 {width:98% !important;}


/* font sizes*/

.em05 {font-size: .5em;}
.em06 {font-size: .6em;}
.em07 {font-size: .7em;}
.em08 {font-size: .8em;}
.em09 {font-size: .9em;}
.em1 {font-size: 1em;}
.em12 {font-size: 1.2em;}
.em15 {font-size: 1.5em;}
.em2 {font-size: 2em;}
.em25 {font-size: 2.5em;}


/*OPACITY*/

.opacity3-10 {opacity:.3;} 
.opacity5-10 {opacity:.5;}


/* NOTIFICATIONS*/

.new_item {color: #fff; background-color: #00adef; border-radius: 2px; padding: 1px 4px 1px 4px;  margin: 0 5px 5px 0; vertical-align: text-top; }

table.display td .table_applicability, table.display td a.table_applicability {color: black; font-size: .8em; font-weight: bold; text-transform: capitalize;}
.app_type_grey, .app_type, table.display td.item_name .app_type, table.display td  a.app_type, table.display td.item_name  a.app_type { border: 2pt solid #00adef; border-radius: 2px; padding: 2px 4px 2px 4px;text-transform: uppercase; text-decoration: none; color: black; font-size: .8em; }

.app_type_grey {border: 2pt solid #777; opacity: 0.2;}
.app_type_grey:hover {opacity: 1; }

/* GROUPING */

.group_by {color: #ccc; margin-bottom: 20px;}
div.group_by a.selected {color: white; background-color: #00adef;border-radius: 3px; padding: 1px 4px 1px 4px; text-decoration: none; }
div.group_by a.unselected {color: #00adef; padding: 1px 4px 1px 4px; text-decoration: underline; }

/* ICONS */

.sprite {padding: 0 0 0 15px;}
.icon {width: 20px; height: 20px; display: inline-block;}
.tick {background: url('img/icons.png') 0 0;}
.tick_black {background: url('img/icons.png') -60px -80px;}
.settings {background: url('img/icons2.png') no-repeat -16px 0;}
.pdf {background: url('img/icons.png') -20px 0;}
.download {background: url('img/icons.png') -60px 0;}
.print {background: url('img/icons.png') -80px 0;}
.uploadclip {width: 35px; height: 35px; background: url('img/clip.png') no-repeat; 	background-position: 0 0;}
.add {background: url('img/icons2.png') 0 0;}
.icon2 {width: 16px; height: 16px; display: inline-block; vertical-align: middle; overflow: visible;}
.arr_sm {background: url('img/icons2.png') -32px 0;}
.bold {font-weight: bold !important; }
.normal {font-weight: normal !important; }
.edit {background: url('img/icons2.png') -48px 0; vertical-align: -1;}
.arr_bg {background: url('img/icons2.png') -64px 0;}
.bell_grey {background: url('img/icons2.png') -80px 0;}
.bell_blue {background: url('img/icons2.png') -96px 0;}

.linked {background: url('img/icons2.png') 0 -16px;}
.requests {background: url('img/icons2.png') -16px -16px;}
.option {background: url('img/icons2.png') -32px -16px;}
.mx{background: url('img/icons2.png') -48px -16px;}
.timelimit{background: url('img/icons2.png') -64px -16px;}
.datelimit{background: url('img/icons2.png') -80px -16px;}
.fuelstop{background: url('img/icons2.png') -96px -16px;}
.mail {background: url('img/icons2.png') 0 -32px;}
.clip {background: url('img/svg/clip.svg') 0 0; color: #00adef;}
.revise {background: url('img/svg/pending-icon.svg') 0 0; color: #00adef;}

.icons_cl {fill: #010101; }
.icons_cl_red {fill: #F06768; }
.icons_cl_green {fill: #98CC80; }
.icon_sm {width: 10px; height: 10px; display: inline-block; vertical-align: middle; overflow: visible;}



/* COLORBOXES */


.cbox {display: inline-block; width: 16px; height: 16px; border: 1px solid #727373; border-radius: 2px; vertical-align: -3px;}
.green { background-color: #99CD80;}
.blue {background-color: #00adef;}
.grey {background-color: #D1D2D1;}
.dark_grey {background-color: #6D6D6D;}
.yellow {background-color: #F5EC78;}
.red {background-color: #F16769;}


/* UNICODE*/

.sorting:after { content: '\25BC'; }

.active {color: #00adef;}

.r_arr_right_big:after, .r_arr_right:after {content: '\276f'; }
.r_arr_right:after {font-size: 1.2em; color: #00adef; }
.r_arr_right_big:after {font-size: 2em; color: #4783C4; }
.r_tri_right:after {content: '\25b6';}


/* LINKS PROCESSOR */

.blue_small {text-decoration: none;  color: #00adef; font-weight: normal; }
.black_small {text-decoration: underline; font-size: 1em; color: black;  font-weight: normal; vertical-align: middle;}
.black_it {color: black; font-style: italic;}
.grey_small {}
a.blue_small:hover {text-decoration: underline;} 


/* BUTTONS */

.bigbutton {color:white; text-decoration: none; font-size: 1em; background-color: #00adef; border-radius: 2px; padding: 5px 10px 5px 10px; margin: 10px 0 150px 0; display: table-cell;   }
.smallbutton {color:white; text-decoration: none;  background-color: #00adef; border-radius: 2px; padding: 5px 10px 5px 10px; }
button, input {letter-spacing: 0.01em;}

.t_button {}
.t_button a {font-size: : 1em; color: #00adef; text-decoration: none; border: solid #00adef 2pt; border-radius: 3px;padding: 2px 3px;}

.submenu {height: 30px; width:100%; display: inline-block; padding: 0 0 20px; }
.submenu a {height: 28px;   opacity: 0.5; font-size: : 1em; color: #00adef; text-decoration: none; border: solid #00adef 2pt; border-radius: 3px; padding: 5px; transition: opacity 0.2s linear; }
.submenu a:hover {opacity: 1;}
.small a {padding: 2px;}



/* LISTS */

ul.filters li, ul.f_tools li {display: inline-block; list-style: none;   }
ul.sprites li { padding: 0 10px 0 10px; border-right: 1px solid #E3E3E3; }
ul.sprites li.last {    border: none;}
.linkpics {   color: #00adef;    padding: 1px 4px;    text-decoration: underline;}
ul.not_inline li {display: block; list-style: none;  }
ul.lsn li {list-style: none;}

ul.breadcrumbs li {display: inline-block; list-style: none; }
ul.breadcrumbs li a:hover {color: #00adef; text-decoration: underline; }





/* INPUT FIELDS */

.input {    border: 1px solid #737373; border-radius: 4px;    font-size: 1.1em;    padding: 5px;}
.date {width: 150px;}
.text {width: 300px;}
label.stacked {display: block;}
.fieldwrap { letter-spacing: normal; text-rendering: auto;   vertical-align: top;  word-spacing: normal; margin-bottom: 0.5em;}

.fieldwrap label {margin: 0.25em 0;}


.pure-form-aligned .pure-control-group {    margin-bottom: 0.5em;}
.pure-form label {    margin: 0.5em 0 0.2em;}
button, input, optgroup, select, textarea {    color: inherit;    font: inherit;    margin: 0;}

.pure-form input[type="text"], .pure-form input[type="password"], .pure-form input[type="email"], .pure-form input[type="url"], .pure-form input[type="date"], .pure-form input[type="month"], .pure-form input[type="time"], .pure-form input[type="datetime"], .pure-form input[type="datetime-local"], .pure-form input[type="week"], .pure-form input[type="number"], .pure-form input[type="search"], .pure-form input[type="tel"], .pure-form input[type="color"], .pure-form select, .pure-form textarea {
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 1px 3px #ddd inset;
    box-sizing: border-box;
    display: inline-block;
    padding: 0.5em 0.6em;
    vertical-align: middle;
}
.pure-form-aligned input, .pure-form-aligned textarea, .pure-form-aligned select, .pure-form-aligned .pure-help-inline, .pure-form-message-inline {
    display: inline-block;
    vertical-align: middle;
}


input {
    line-height: normal;
}

.pure-form fieldset {
    border: 0 none;
    margin: 0;
    padding: 0.35em 0 0.75em;
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

.pure-form fieldset {
    border: 0 none;
    margin: 0;
    padding: 0.35em 0 0.75em;
}
fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

.pure-form legend, legend.form {
    background-color: #eee;
    padding: 1rem;
    color: #222;
    display: block;
    margin-bottom: 0.3em;
    font-size: 1rem;
      
    width: 100%;
}
legend {
    border: 0 none;
    padding: 0;
}

.pure-g {
    align-content: flex-start;
    font-family: FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;
    letter-spacing: -0.31em;
    text-rendering: optimizespeed;
}

.pure-g [class*="pure-u"] {
    font-family: sans-serif;
}


.pure-u-md-1, .pure-u-md-1-1, .pure-u-md-1-2, .pure-u-md-1-3, .pure-u-md-2-3, .pure-u-md-1-4, .pure-u-md-3-4, .pure-u-md-1-5, .pure-u-md-2-5, .pure-u-md-3-5, .pure-u-md-4-5, .pure-u-md-5-5, .pure-u-md-1-6, .pure-u-md-5-6, .pure-u-md-1-8, .pure-u-md-3-8, .pure-u-md-5-8, .pure-u-md-7-8, .pure-u-md-1-12, .pure-u-md-5-12, .pure-u-md-7-12, .pure-u-md-11-12, .pure-u-md-1-24, .pure-u-md-2-24, .pure-u-md-3-24, .pure-u-md-4-24, .pure-u-md-5-24, .pure-u-md-6-24, .pure-u-md-7-24, .pure-u-md-8-24, .pure-u-md-9-24, .pure-u-md-10-24, .pure-u-md-11-24, .pure-u-md-12-24, .pure-u-md-13-24, .pure-u-md-14-24, .pure-u-md-15-24, .pure-u-md-16-24, .pure-u-md-17-24, .pure-u-md-18-24, .pure-u-md-19-24, .pure-u-md-20-24, .pure-u-md-21-24, .pure-u-md-22-24, .pure-u-md-23-24, .pure-u-md-24-24 {
    display: inline-block;
    letter-spacing: normal;
    text-rendering: auto;
    vertical-align: top;
    word-spacing: normal;
}

.pure-u-1, .pure-u-1-1, .pure-u-5-5, .pure-u-24-24 {
    width: 100%;
}

.pure-form-aligned .pure-control-group label, .pure-control-group label {
    display: inline-block;
    margin: 0 1em 0 0;
    text-align: left;
    vertical-align: middle;
    width: 10%;
    box-sizing: border-box;
}
.pure-form .pure-checkbox, .pure-form .pure-radio {
    display: block;
    margin: 0.5em 0;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

.pure-form-aligned input, .pure-form-aligned textarea, .pure-form-aligned select, .pure-form-aligned .pure-help-inline, .pure-form-message-inline {
    display: inline-block;
    vertical-align: middle;
}

textarea {
    overflow: auto;
    max-width: 50%;
    min-width: 25%;
}

.pure-form .pure-input-1-2 {
  
}

.pure-form .pure-input-3-4 {
    width: 75%;
}

.pure-form .pure-input-6-10{
    width: 60%;
}

.pure-form-aligned textarea {
    vertical-align: top;
}

.pure-form select {
    background-color: #fff;
    border: 1px solid #ccc;
    height: 2.25em;
}

button, select {
    text-transform: none;
}
button {
    overflow: visible;
}

.pure-button-primary, .pure-button-selected, a.pure-button-primary, a.pure-button-selected {
    background-color: #0078e7;
    color: #fff;
}
.pure-button {
    background-color: #e6e6e6;
    border: 0 none rgba(0, 0, 0, 0);
    border-radius: 2px;
    color: rgba(0, 0, 0, 0.8);
    font-family: inherit;
    font-size: 100%;
    padding: 0.5em 1em;
    text-decoration: none;
}
.pure-button {
    -moz-user-select: none;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    line-height: normal;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}





button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}

.pure-u-md-1-3, .pure-u-md-8-24 {
    width: 33.3333%;
}

.pure-u-md-1-5, .pure-u-md-5-25 {
    width: 20%;
}

.pure-u-md-1-10 {
    width: 10%;
}

.pure-form-stacked input[type="text"], .pure-form-stacked input[type="password"], .pure-form-stacked input[type="email"], .pure-form-stacked input[type="url"], .pure-form-stacked input[type="date"], .pure-form-stacked input[type="month"], .pure-form-stacked input[type="time"], .pure-form-stacked input[type="datetime"], .pure-form-stacked input[type="datetime-local"], .pure-form-stacked input[type="week"], .pure-form-stacked input[type="number"], .pure-form-stacked input[type="search"], .pure-form-stacked input[type="tel"], .pure-form-stacked input[type="color"], .pure-form-stacked input[type="file"], .pure-form-stacked select, .pure-form-stacked label, .pure-form-stacked textarea {
    display: block;
    margin: 0.25em 0;
}

.pure-u-23-24 {
    width: 95.8333%;
}
.pure-u-1, .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-2-3, .pure-u-1-4, .pure-u-3-4, .pure-u-1-5, .pure-u-2-5, .pure-u-3-5, .pure-u-4-5, .pure-u-5-5, .pure-u-1-6, .pure-u-5-6, .pure-u-1-8, .pure-u-3-8, .pure-u-5-8, .pure-u-7-8, .pure-u-1-12, .pure-u-5-12, .pure-u-7-12, .pure-u-11-12, .pure-u-1-24, .pure-u-2-24, .pure-u-3-24, .pure-u-4-24, .pure-u-5-24, .pure-u-6-24, .pure-u-7-24, .pure-u-8-24, .pure-u-9-24, .pure-u-10-24, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24 {
    display: inline-block;
    letter-spacing: normal;
    text-rendering: auto;
    vertical-align: top;
    word-spacing: normal;
}

.pure-form-aligned .pure-controls {
    margin: 1.5em 0 0 11em;
}

.pure-button-primary, .pure-button-selected, a.pure-button-primary, a.pure-button-selected {
    background-color: #0078e7;
    color: #fff;
}

.pure-button-hover, .pure-button:hover, .pure-button:focus {
    background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
}

/* 	dropzone */

.dropZone { width: 60%; border: 1px dashed silver; height: 50px; display: block; text-align: center; vertical-align: middle; padding: 5px 0 0 0;}
.uploadarea { width: 150px; display: block; margin: 0 auto; padding: 10px 0 0 30px;}

.dropmark { width:300px; margin: 0 auto; text-align: center; vertical-align: middle; display: inline-block;}

#dropZone {    
width: 100%; border: 1px dashed silver; height: 50px; display: block; text-align: center; vertical-align: middle; padding: 5px 0 0 0;
}

#dropZone.hover {
    background: #ddd;
    border-color: #aaa;
}

#dropZone.error {
    background: #faa;
    border-color: #f00;
}

#dropZone.drop {
    background: #afa;
    border-color: #0f0;
}

/* DIVIDERS */

.dashed {border-bottom: 1px dashed #E3E3E3; padding-bottom: 5px; margin-bottom: 5px; }
.b_solid {border-bottom: 1px solid #E3E3E3; padding-bottom: 5px; margin-bottom: 5px;}
.all_solid {border: 1px solid #E3E3E3; padding: 5px !important; margin-bottom: 5px; box-sizing: border-box;}
.all_dashed {border: 1px dashed #E3E3E3; padding: 5px !important; margin-bottom: 5px; box-sizing: border-box;}
.b_n {border: none !important;}
.lr_solid {border-left: 1px solid #E3E3E3; border-right: 1px solid #E3E3E3; padding-bottom: 5px; margin-bottom: 5px;}

.separated {
    border-bottom: 1px solid #e5e5e5;
    color: #333;
    display: block;
    margin-bottom: 0.3em;
    padding: 0.3em 0;
    width: 100%;
}

/* colors */

.adef_cl {color: #00adef;}
.E3E3E3 {color: #E3E3E3;}
.green_cl {color: #97CA7E;}
.yellow_cl {color: #F5EC78;} 

/* POP-UP PAGES*/

.popup{ width: 80%; padding: 20px; margin: 0 auto;}


/* STATUSES*/


.r_draft, .r_active, .r_confirmed, .r_performed, .r_cancelled, .r_open, .r_option {font-weight: bold;  text-decoration: none;  border-radius: 2px; padding: 1px 2px; }

.r_draft {color: #00adef; border: 2px dashed #00adef; }
.r_active {color:white; background-color: #00adef; }

.r_confirmed {color:white; background-color: #99CD80; }
.r_performed {color:white; background-color: #D1D2D1; }
.r_cancelled {color:white; background-color: #727373; }

.r_open, .r_option {color:#7B7B7B; background-color: #F5EC78;}


.valid {background-color: #9ACD80; color: white !important; padding: 2px 4px; text-decoration: none; border-radius: 2px;}
.expiring  {background-color: #F9F076; color: black !important; padding: 2px 4px; text-decoration: none; border-radius: 2px;}

.expired {background-color: #F16769; color: white !important; padding: 2px 4px; text-decoration: none; border-radius: 2px;}
.na {background-color: #CCC; color: #666 !important; padding: 2px 4px; text-decoration: none; border-radius: 2px;}
.cancel {background-color: #F16769; color: white !important;}

.q_status_tab {padding: 2px 2px; text-decoration: none; border-radius: 2px; font-size: .7em; font-weight: bold;}
.q_active {color:white; background-color: #00adef; }
.q_unavailable {color:white; background-color: #F16769;}



/* CHECKBOXES*/

.chbx {color: #1E1E1E; vertical-align: middle;}


/* REQUEST PAGES*/

.checks-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 180px;
}

.check-item {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    cursor: help;
    position: relative;
}

.check-item.ok {
    background: #d4edda;
    color: #155724;
    border-left: 3px solid #28a745;
}

.check-item.warning {
    background: #fff3cd;
    color: #856404;
    border-left: 3px solid #ffc107;
}

.check-item.error {
    background: #f8d7da;
    color: #721c24;
    border-left: 3px solid #dc3545;
}

.check-item.info {
    background: #e2f3ff;
    color: #0c5460;
    border-left: 3px solid #17a2b8;
}

.range-bar {
    height: 3px;
    background: rgba(0,0,0,0.1);
    border-radius: 2px;
    margin-top: 3px;
    overflow: hidden;
}

.range-fill {
    height: 100%;
    transition: width 0.3s;
}

.check-item.ok .range-fill { background: #28a745; }
.check-item.warning .range-fill { background: #ffc107; }
.check-item.error .range-fill { background: #dc3545; }

.alternate-buttons {
    display: flex;
    gap: 4px;
    margin-top: 5px;
}

.alternate-buttons .btn-sm {
    flex: 1;
    padding: 4px;
    font-size: 10px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    cursor: pointer;
}

.alternate-buttons .btn-sm:hover {
    background: #e9ecef;
}

.r_wrap, .loc_wr {width: 90%;}

.q_wrap,.l_wrap_q, .r_wrap_q  {display: inline-block; vertical-align: top;}
.q_wrap {width: 100%; box-sizing: content-box;}
.l_wrap_q {width: 100%;}
.r_wrap_q {width: 100%;}
.r_wrap_quotes {width: 60%;}
.r_date_wr {width: 100%; margin: 10px 0; border-bottom: 1px solid silver;}
.r_date_left {width: 70%; font-weight: 600;}
.r_date_right {width: 30%; text-align: right;}

.r_date_wr, .r_date_left, .r_date_right {display: inline-block;} 

.r_date_blue {font-weight: 600; color: #00adef; display: inline-block;}
.r_or {font-weight: bold; color: #00adef; display: block; padding: 5px;}

table.request {font-size: .9em; width: 100%}
table.in_table {margin-left: 1em;}
table.r_quotes, table.inmenu {font-size: .9em;}
table.request thead tr th { padding-bottom: 10px;}
table.request th, table.request td {padding: 5px;} 
.loc_info {box-sizing: border-box; vertical-align: top; }
.loc_info+.loc_info {margin: 5px 0;}
.q_item {width: 100%; display: block; box-sizing: border-box; }
.pad, table.pad th, table.pad td{ padding: 5px !important;}

.q_price {text-align: center; padding: 5px;}
.q_bg {background-color: #F2F2F2}
.q_off {opacity: .3;}
.q_operator {font-weight: bold; text-decoration: none; font-size: .8em; color: #727373;}
table.r_quotes tr,  {vertical-align: top;}
table.inmenu tr td, table.r_quotes tr td, table.r_quotes th {padding: 5px; box-sizing: border-box;  }

.v_top {vertical-align: top;}

.v_bot {vertical-align: bottom;}

.h_mid {text-align: center;}
.h_rig {text-align: right;}

.t_quote_item {color: #CFCECE; font-size: 1.5em; text-transform: uppercase; padding-right: 10px;}
.h_date { color: #898989; font-weight: bold;}
.h_time { color: #231F20; font-weight: bold;}
/* NOTICES*/

.notice {color: #777;}


/*  POP UP WINDIW*/


#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}

#signup {
    background: #fff none repeat scroll 0 0;
    border-radius: 5px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    display: none;
    padding-bottom: 2px;
    width: 404px;
}

#signup-header {
    background: rgba(0, 0, 0, 0) url("../img/hd-bg.png") repeat scroll 0 0;
    border-bottom: 1px solid #ccc;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 18px 18px 14px;
}

#signup .txt-fld {
    border-bottom: 1px solid #eee;
    padding: 14px 20px;
    position: relative;
    text-align: right;
    width: 364px;
}


#signup .txt-fld label {
    color: #222;
    display: block;
    float: left;
    font-size: 1.3em;
    padding-top: 8px;
    text-align: left;
    width: 90px;
}

#signup .txt-fld input.good_input {
    background: #def5e1 url("../img/good.png") no-repeat scroll 236px center;
}
#signup .txt-fld input {
    background: #f7f7f7 none repeat scroll 0 0;
    border-color: #ccc #e7e6e6 #e7e6e6 #ccc;
    border-radius: 4px;
    border-style: solid;
    border-width: 1px;
    color: #222;
    font-family: "Helvetica Neue";
    font-size: 1.2em;
    outline: medium none;
    padding: 8px;
    width: 244px;
}

div.p_menu {
	display: inline-block;
	vertical-align: middle;
	box-sizing: content-box;
	
}

div.header_login {
	display: inline-block;
	height: 1.5em;
	padding:.5em;
	
	
}

/*  DROPDOWN*/


.clearfix:after {
    display:block;
    clear:both;
}
 
/*----- Menu Outline -----*/
.conmenu-wrap {
    width:100%;
    
    background:;
}
 
.conmenu {

}
 
.conmenu li {
    margin:0px;
    list-style:none;
    
    
    
}
 
.conmenu a {
    transition:all linear 0.15s;
    color: #00adef;
    font-size: .8em;
}
 
.conmenu li:hover > a, .conmenu .concurrent-item > a {
    text-decoration:none;
    color:white;
}
 
.conmenu .conarrow {
    font-size:11px;
    line-height:0%;
}



legend em {
	    float: right;
    margin: 0.5em;
    transition: .333s;
}
 
/*----- Top Level -----*/
.conmenu > ul > li {
    float:left;
    display:inline-block;
    position:relative;
    
}
 
.conmenu > ul > li > a {
    padding:10px 40px;
    display:inline-block;
    
}
 
.conmenu > ul > li:hover > a, .conmenu > ul > .concurrent-item > a {

}
 
/*----- Bottom Level -----*/
.conmenu li:hover .consub-menu {
    z-index:1000;
    opacity:1;
      
}
 
.consub-menu {
    width:160%;
    padding:5px 0px;
    position:absolute;
    top:80%;
    left:-105px;
    z-index:-1;
    opacity:0;
    transition:opacity linear 0.15s;
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    background: white;
    border-radius: 5px;
    border: solid 1px #727272;
  
}
 
.consub-menu li {
    display:block;
   
}
 
.consub-menu li a {
    padding:10px 10px;
    display:block;
}
 
.consub-menu li a:hover, .consub-menu .concurrent-item a {
    background:#00adef;
    
}

.hide-button {
    float: right;
    margin-top: -13px;
    font-size: 11px;
    font-family: helvetica;
    color: tray;
    display: none;
}

div.hovertest {
	display:inline-block;
	position: relative;
	
	
}

a.hoverable {
opacity: 0;
display: inline-block;



}

div.hovertest:hover a.hoverable { display: inline-block; transition: ease-in-out 100;
	opacity: 1;
	  -webkit-transition: opacity 1s; /* Safari */
    transition: opacity 1s;
}


.button {
	float: right;
	width: 10px;
	height: 10px;
	display: block;
	content: "\f465";
}



/* ========== CSS РАБОТЫ С ПАССАЖИРАМИ ========== */


.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
   
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    border-radius: 5px;
    width: 80%;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
}

/* Add Animation */
@-webkit-keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

@keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

/* The Close Button */
.close {
    color: white;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

.modal-header {
    padding: 2px 16px;
 
    color: white;
    border-radius: 5px 5px 0 0 ;
}

.modal-body {padding: 2px 16px;}

.modal-footer {
    padding: 2px 16px;
   
    color: white;
     border-radius:  0 0  5px 5px;
}


/* Add revision AI */ 

.flight-segment {
    border: 1px solid #ddd;
    padding: 15px;
    margin: 10px 0;
    border-radius: 5px;
}

.calculation-mode {
    margin-bottom: 15px;
    padding: 10px;
    background-color: #f8f9fa;
    border-radius: 3px;
}

.calculation-mode label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.mode-select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    font-size: 14px;
}

.airport-group {
    margin-bottom: 15px;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 3px;
}

.airport-group h4 {
    margin-top: 0;
    color: #333;
}

.time-input-group {
    margin-bottom: 10px;
}

.time-input-group label {
    display: inline-block;
    width: 80px;
    font-weight: bold;
}

.time-input-group input {
    margin-right: 5px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

/* Стили для заблокированных полей */
/* Стили для заблокированных полей (readonly) */
.disabled-field {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

input[readonly] {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    pointer-events: none !important;
}

/* Скрытые поля расчета */
.hidden-calculation-field {
    display: none;
}
.flight-segment.loading {
    opacity: 0.7;
    pointer-events: none;
}

.timezone-error {
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    padding: 5px;
    background-color: #f8d7da;
    border-radius: 3px;
}

.segment-actions {
    position: absolute;
    top: 10px;
    right: 10px;
}

.btn-insert-segment, .btn-remove-segment {
    background: #007bff;
    color: white;
    border: none;
    border-radius: 3px;
    width: 30px;
    height: 30px;
    font-size: 16px;
    cursor: pointer;
    margin-left: 5px;
}

.btn-remove-segment {
    background: #dc3545;
}

.btn-insert-segment:hover {
    background: #0056b3;
}

.btn-remove-segment:hover {
    background: #c82333;
}

.flight-segment {
    position: relative;
    border: 1px solid #ddd;
    padding: 15px;
    margin: 10px 0;
    border-radius: 5px;
}


/* Стили для уведомлений */
.airport-warning, .connection-warning {
    padding: 8px 12px;
    margin: 5px 0;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.warning-red {
    background-color: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.warning-yellow {
    background-color: #fff8e1;
    color: #ff8f00;
    border: 1px solid #ffecb3;
}

.timezone-error {
    background-color: #ffebee;
    color: #c62828;
    padding: 8px 12px;
    margin: 5px 0;
    border-radius: 4px;
    font-size: 12px;
    border: 1px solid #ffcdd2;
}

/* Кнопка добавления сегмента в конец */
#add-segment {
    background-color: #4caf50;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 20px;
}

#add-segment:hover {
    background-color: #45a049;
}

/* Стили для уведомлений о датах в прошлом */
.past-date-warning {
    padding: 6px 10px;
    margin: 3px 0;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
}

.warning-red {
    background-color: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

/* Улучшенные стили для групп ввода времени */
.time-input-group {
    margin-bottom: 10px;
    position: relative;
}

.time-input-group label {
    display: inline-block;
    width: 80px;
    font-weight: bold;
}

.time-input-group input {
    margin-right: 5px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

/* Подсветка полей с датами в прошлом */
input:invalid {
    border-color: #c62828;
    background-color: #ffebee;
}

/* Стили для кнопки пассажиров */
.btn-passengers {
    background-color: #2196F3;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    margin: 10px 0;
}

.btn-passengers:hover {
    background-color: #1976D2;
}

/* Модальное окно */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 0;
    border-radius: 8px;
    width: 80%;
    max-width: 800px;
    max-height: 80vh;
    overflow-y: auto;
}

.modal-header {
    background-color: #2196F3;
    color: white;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    margin: 0;
}

.close {
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover {
    color: #ffeb3b;
}

.modal-body {
    padding: 20px;
}

.modal-footer {
    padding: 15px 20px;
    background-color: #f5f5f5;
    border-radius: 0 0 8px 8px;
    text-align: right;
}

/* Стили для списка пассажиров */
.passengers-actions {
    margin-bottom: 20px;
}

.btn-add {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
}

.btn-add:hover {
    background-color: #45a049;
}

.passenger-item {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 10px;
    background-color: #f9f9f9;
}

.passenger-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.passenger-name {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 4px;
}

.passenger-search-info {
    padding: 8px;
}

.passenger-details {
    font-size: 12px;
    color: #666;
    display: flex;
    justify-content: space-between;
}

.birth-date, .passport-count {
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn-remove-passenger {
    background-color: #f44336;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 3px;
    cursor: pointer;
}

.btn-remove-passenger:hover {
    background-color: #d32f2f;
}

.passenger-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.passenger-field {
    display: flex;
    flex-direction: column;
}

.passenger-field label {
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 12px;
}

.passenger-field input,
.passenger-field select {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

/* Кнопки в футере */
.btn-save {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
}

.btn-cancel {
    background-color: #757575;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
}

.btn-save:hover {
    background-color: #45a049;
}

.btn-cancel:hover {
    background-color: #616161;
}

/* Дополнительные стили для форм пассажиров */
.passenger-form {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
    background-color: #f8f9fa;
}

.passenger-form h4 {
    margin-top: 0;
    color: #333;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.search-results {
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 5px;
}

.search-result-item {
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s;
}

.search-result-item:hover {
    background-color: #f5f5f5;
}

.search-result-item:last-child {
    border-bottom: none;
}

.passenger-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.passenger-field {
    display: flex;
    flex-direction: column;
}

.passenger-field label {
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 12px;
}

.passenger-field input,
.passenger-field select {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.selected-country {
    background-color: #e7f3ff;
    border: 1px solid #b3d9ff;
    border-radius: 4px;
    padding: 8px;
    margin-top: 5px;
    font-size: 14px;
}

.expiry-warning {
    padding: 5px;
    border-radius: 3px;
    margin-top: 5px;
    font-size: 12px;
    font-weight: bold;
}

.expiry-warning.expired {
    background-color: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.expiry-warning.soon {
    background-color: #fff8e1;
    color: #ff8f00;
    border: 1px solid #ffecb3;
}

.expiry-warning.valid {
    background-color: #e8f5e8;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.passport-option {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.passport-option:hover {
    background-color: #f5f5f5;
}

.passport-option.selected {
    background-color: #e3f2fd;
    border-color: #2196f3;
}

.passport-info {
    font-size: 14px;
}

.passport-type {
    font-weight: bold;
    color: #333;
}

.passport-number {
    color: #666;
}

.passport-expiry {
    font-size: 12px;
    color: #999;
}

.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 20px;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    z-index: 10000;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
    display: none;
}

.notification-success {
    background-color: #4caf50;
}

.notification-error {
    background-color: #f44336;
}

.notification-warning {
    background-color: #ff9800;
}

.notification-info {
    background-color: #2196f3;
}

.expired-passport {
    opacity: 0.7;
    border-color: #f44336 !important;
}

.expired-passport:hover {
    opacity: 0.9;
}

/* Разные стили для результатов поиска пассажиров и стран */
#passenger-search-results .search-result-item {
    border-left: 3px solid #2196f3;
}

#country-search-results .search-result-item {
    border-left: 3px solid #4caf50;
}

.passenger-result {
    background-color: #f0f8ff;
}

.country-result {
    background-color: #f0fff0;
}

.form-group {
    border: 1px solid #ccc;
    margin: 5px 0;
    padding: 5px;
      border-radius: 5px;
    
}

.form-group:not(:visible) {
    background-color: #ffe6e6;
}

.pdf-preview {
    font-family: Arial, sans-serif;
}

.itinerary-summary {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
    border-left: 4px solid #007bff;
}

.segment-preview {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 15px;
    background: white;
}

.segment-preview h4 {
    color: #333;
    margin-top: 0;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

.passengers-list-preview {
    margin-top: 10px;
}

.passengers-list-preview ul {
    margin: 5px 0;
    padding-left: 20px;
}

.passengers-list-preview li {
    margin: 2px 0;
}

.close-preview {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-preview:hover {
    color: black;
}
/* ========== КОНЕЦ CSS РАБОТЫ С ПАССАЖИРАМИ ========== */


/* ================ РАБОТА С КВОТАЦИЯМИ =============== */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    overflow: auto;
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 0;
    border: 1px solid #888;
    border-radius: 8px;
    width: 600px;
    max-width: 90%;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    animation: modalFadeIn 0.3s;
}

@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.modal-header {
    background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
    color: white;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.close {
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.close:hover,
.close:focus {
    color: #ecf0f1;
    text-decoration: none;
}

.modal-body {
    padding: 20px;
}

/* ========== ФОРМЫ ========== */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #2c3e50;
    font-size: 14px;
}

.form-group input[type="text"],
.form-group input[type="number"],
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
    background-color: #fff;
}

.form-group input[type="text"]:focus,
.form-group input[type="number"]:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
}

.form-group textarea {
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}

.price-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.price-input-group {
    display: flex;
    gap: 10px;
    align-items: center;
}

.price-input-group input {
    flex: 1;
}



.currency-select {
    width: 90px !important;
    min-width: 90px;
}

.form-group small {
    display: block;
    margin-top: 5px;
    color: #7f8c8d;
    font-size: 12px;
    font-style: italic;
}

/* Модальное окно добавления квотации */
#addQuoteModal .modal-content {
    max-width: 90% !important; /* Было 600-700, теперь шире */
    width: 70%;
}

/* Контейнер для цен */
#addQuoteModal .price-input-group {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* Поля ввода цен */
#addQuoteModal input[name="incoming_price"],
#addQuoteModal input[name="outgoing_price"] {
    width: 200px !important; /* Было 100-120px, теперь нормально */
    padding: 8px 12px;
    font-size: 14px;
    font-family: monospace; /* Для цифр удобнее */
}

/* Селекты валют */
#addQuoteModal .currency-select {
    width: 120px;
    padding: 8px;
}

/* Сетка для цен */
#addQuoteModal .price-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

/* Поля ввода */
#addQuoteModal input[type="text"],
#addQuoteModal input[type="number"],
#addQuoteModal select,
#addQuoteModal textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
}

/* Убираем старые узкие стили если были */
#addQuoteModal .pure-control-group {
    margin-bottom: 15px;
}

/* ========== КНОПКИ ========== */
.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ecf0f1;
}

.btn-primary,
.btn-secondary {
    padding: 10px 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-primary {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    color: white;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #2980b9 0%, #2573a7 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
}

.btn-primary:disabled {
    background: #95a5a6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.btn-secondary {
    background: linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);
    color: white;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, #7f8c8d 0%, #6c7b7d 100%);
    transform: translateY(-1px);
}

.quote-actions {
    margin: 25px 0;
    display: flex;
    gap: 12px;
    align-items: center;
}

/* ========== ВЫПАДАЮЩИЕ МЕНЮ ========== */
.actions-menu {
    position: relative;
    display: inline-block;
}

.menu-trigger {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    min-width: 100px;
    justify-content: center;
}

.menu-trigger:hover {
    background: linear-gradient(135deg, #2980b9 0%, #2573a7 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(52, 152, 219, 0.2);
}

.menu-trigger:active {
    transform: translateY(0);
}

.actions-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background: white;
    min-width: 220px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius: 6px;
    z-index: 1000;
    margin-top: 8px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    animation: dropdownFadeIn 0.2s ease-out;
}

@keyframes dropdownFadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.actions-dropdown.show {
    display: block;
}

.actions-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}

.actions-dropdown li {
    margin: 0;
}

.actions-dropdown a {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    color: #2c3e50;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    gap: 10px;
}

.actions-dropdown a:hover {
    background-color: #f8f9fa;
    color: #3498db;
}

.actions-dropdown a svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.action-confirm-client { color: #27ae60; }
.action-confirm-client:hover { color: #219a52; background-color: rgba(39, 174, 96, 0.1) !important; }

.action-confirm-operator { color: #3498db; }
.action-confirm-operator:hover { color: #2980b9; background-color: rgba(52, 152, 219, 0.1) !important; }

.action-reject-operator { color: #e74c3c; }
.action-reject-operator:hover { color: #c0392b; background-color: rgba(231, 76, 60, 0.1) !important; }

.action-delete { color: #95a5a6; }
.action-delete:hover { color: #7f8c8d; background-color: rgba(149, 165, 166, 0.1) !important; }

.menu-divider {
    height: 1px;
    background: #ecf0f1;
    margin: 8px 0;
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    background: transparent;
    cursor: default;
}

/* ========== СТАТУСЫ КВОТАЦИЙ ========== */
.quote-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    margin: 2px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.status-client-confirmed {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border: 1px solid #c3e6cb;
}

.status-operator-confirmed {
    background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
    color: #0c5460;
    border: 1px solid #bee5eb;
}

.status-operator-rejected {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.status-pending {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
    border: 1px solid #ffeaa7;
}

/* ========== УВЕДОМЛЕНИЯ ========== */
.alert {
    padding: 12px 16px;
    border-radius: 4px;
    margin: 15px 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    animation: alertSlideIn 0.3s ease-out;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

@keyframes alertSlideIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.alert-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border: 1px solid #c3e6cb;
    border-left: 4px solid #28a745;
}

.alert-error {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-left: 4px solid #dc3545;
}

/* ========== ИНДИКАТОР ЗАГРУЗКИ ========== */
.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.loading-spinner.dark {
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-top-color: #3498db;
}

/* ========== ТАБЛИЦА КВОТАЦИЙ ========== */
#quotes-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

#quotes-table th {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    color: #2c3e50;
    border-bottom: 2px solid #dee2e6;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#quotes-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
    font-size: 13px;
}

#quotes-table tr:hover {
    background-color: #f8f9fa;
}

#quotes-table .quote-row.updating {
    background-color: #fffde7 !important;
    transition: background-color 0.3s;
}

.no-quotes-message {
    text-align: center;
    padding: 40px;
    color: #95a5a6;
    font-style: italic;
    background: #f8f9fa;
    border-radius: 4px;
    margin: 20px 0;
}

/* ========== АДАПТИВНОСТЬ ========== */
@media (max-width: 768px) {
    .price-section {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .modal-content {
        width: 95%;
        margin: 10% auto;
    }
    
    .form-actions {
        flex-direction: column;
    }
    
    .btn-primary,
    .btn-secondary {
        width: 100%;
        justify-content: center;
    }
    
    .actions-dropdown {
        min-width: 180px;
        right: -50%;
    }
}

/* В CSS добавьте */
.modal-preloader {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-preloader .loading-spinner {
    width: 40px;
    height: 40px;
    border-width: 3px;
}

/* Валидация цен */
.price-validation-message {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 13px;
    animation: fadeIn 0.3s ease-out;
}

.price-validation-message.warning {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
}

.price-validation-message.error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.price-validation-message.success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Подсветка полей с ошибками */
.input-error {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2) !important;
}

.input-warning {
    border-color: #f39c12 !important;
    box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.2) !important;
}

/* Дополнительные стили для уведомлений */
.alert-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
    border: 1px solid #ffeaa7;
    border-left: 4px solid #ffc107;
}

.alert-warning:before {
    content: "⚠️ ";
    margin-right: 8px;
}

/* Стили для предупреждений о ценах */
.price-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border: 2px solid #ffc107;
    margin: 15px 0;
    padding: 12px;
    border-radius: 6px;
    font-size: 13px;
}

.price-warning-title {
    font-weight: bold;
    color: #856404;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.price-warning-title:before {
    content: "⚠️";
    font-size: 16px;
}

.price-warning-content {
    color: #856404;
    line-height: 1.4;
}

/* Стили для полей с ошибками */
.input-error {
    border-color: #e74c3c !important;
    background-color: #fff5f5 !important;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1) !important;
}

.input-warning {
    border-color: #f39c12 !important;
    background-color: #fffcf5 !important;
    box-shadow: 0 0 0 3px rgba(243, 156, 18, 0.1) !important;
}

.input-success {
    border-color: #27ae60 !important;
    background-color: #f5fff9 !important;
    box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.1) !important;
}

/* Анимация для сообщений о ценах */
@keyframes priceAlertPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.price-alert-pulse {
    animation: priceAlertPulse 0.5s ease-in-out;
}

/* ========== МАРЖА И КУРСЫ ========== */

/* Секция курса валют */
.form-section-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 12px 15px;
    border-radius: 6px;
    margin: 25px 0 15px 0;
    border-left: 4px solid #3498db;
}

.form-section-header h4 {
    margin: 0 0 5px 0;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
}

.form-section-header small {
    color: #7f8c8d;
    font-size: 12px;
}

/* Информация о курсе */
.exchange-rate-info .info-box {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.rate-source {
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    margin-bottom: 20px;
    border: 1px solid #e9ecef;
}

.rate-source strong {
    color: #2c3e50;
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}

/* Индикатор загрузки */
.loading-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 4px;
    margin: 10px 0;
    gap: 12px;
    border: 1px dashed #dee2e6;
}

.loading-spinner.dark {
    width: 20px;
    height: 20px;
    border: 3px solid #e9ecef;
    border-top-color: #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Отображение маржи */
.margin-display {
    padding: 15px;
    border-radius: 6px;
    margin: 20px 0;
    font-weight: bold;
    border-left: 4px solid;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.margin-error {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border-left-color: #dc3545;
    animation: pulseWarning 2s infinite;
}

.margin-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
    border-left-color: #ffc107;
}

.margin-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border-left-color: #28a745;
}

@keyframes pulseWarning {
    0% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(220, 53, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
}


/* Стили для отображения маржи */
.margin-display {
    display: flex;
    align-items: center;
    gap: 8px;
}

.margin-value {
    font-weight: 600;
    min-width: 60px;
    text-align: right;
}

.margin-high { color: #27ae60; }
.margin-good { color: #2ecc71; }
.margin-medium { color: #f39c12; }
.margin-low { color: #e74c3c; }
.margin-negative { color: #c0392b; }

.margin-bar {
    width: 80px;
    height: 6px;
    background: #ecf0f1;
    border-radius: 3px;
    overflow: hidden;
}

.margin-bar-fill {
    height: 100%;
    border-radius: 3px;
}

/* Стили для курса валют */
.exchange-rate-display {
    font-size: 11px;
}

.exchange-rate-value {
    font-weight: 600;
    color: #2c3e50;
}

.exchange-rate-source {
    color: #7f8c8d;
    font-size: 10px;
    margin-top: 2px;
}


/* Элементы управления курсом */
.rate-adjustment label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e9ecef;
    transition: all 0.2s;
}

.rate-adjustment label:hover {
    background: #e9ecef;
}

.rate-adjustment input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

#rateAdjustmentControls {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Адаптивность */
@media (max-width: 768px) {
    .form-section-header {
        padding: 10px;
    }
    
    .exchange-rate-info .info-box {
        padding: 15px;
    }
    
    .rate-source {
        padding: 12px;
    }
    
    #rateAdjustmentControls > div {
        flex-direction: column;
    }
    
    #rateAdjustmentControls > div > div {
        width: 100% !important;
        margin-bottom: 15px;
    }
    
    .margin-display {
        padding: 12px;
        font-size: 14px;
    }
}

/* Уведомления */
.alert {
    padding: 15px;
    border-radius: 6px;
    margin: 15px 0;
    border-left: 4px solid;
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateX(-10px); }
    to { opacity: 1; transform: translateX(0); }
}

.alert-warning {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
    border-left-color: #ffc107;
}

.alert-info {
    background: linear-gradient(135deg, #d1ecf1 0%, #bee5eb 100%);
    color: #0c5460;
    border-left-color: #17a2b8;
}

/* Требуемые поля */
.form-group.required label:after {
    content: " *";
    color: #e74c3c;
}

/* Улучшение внешнего вида полей ввода */
input[type="number"], select {
    transition: all 0.2s;
}

input[type="number"]:focus, select:focus {
    border-color: #3498db !important;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2) !important;
    outline: none;
}

/* Ховер эффекты */
.btn-primary:hover, .btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Плавные переходы */
.exchange-rate-info, #rateAdjustmentControls, .margin-display {
    transition: all 0.3s ease;
}


/* Дополнительные стили для исправления проблем */

/* Улучшение меню действий */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: transparent;
    z-index: 998;
}

.actions-dropdown {
    z-index: 999 !important;
}

/* Анимация для меню */
@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.actions-dropdown.show {
    animation: dropdownFadeIn 0.2s ease-out;
}

/* Улучшение видимости пунктов меню */
.actions-dropdown a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    color: #333;
    text-decoration: none;
    transition: background 0.2s;
}

.actions-dropdown a:hover {
    background: #f5f5f5;
}

/* Улучшение для статусов */
.quote-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: bold;
    margin: 2px;
}

/* Индикатор обновления */
.quote-row.updating {
    opacity: 0.7;
    pointer-events: none;
}

/* Улучшение для курсов валют */
.exchange-rate-info {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
    background: #f8f9fa;
}

/* Адаптивность модального окна */
@media (max-width: 768px) {
    .modal-content {
        width: 95%;
        margin: 10% auto;
    }
    
    .price-section {
        grid-template-columns: 1fr;
    }
    
    .actions-dropdown {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        top: 50% !important;
        width: 90%;
        max-width: 300px;
    }
}

/* Улучшение для уведомлений */
.notification {
    font-size: 14px;
    font-weight: 500;
}


/* Стили для улучшенного select */
.select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select-wrapper::after {
    content: "▼";
    font-size: 12px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #666;
    transition: transform 0.2s;
}

.select-wrapper select {
    width: 100%;
    padding: 10px 35px 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: white;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.select-wrapper select:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
}

.select-wrapper select:hover {
    border-color: #bbb;
}

/* Стили для multiple select */
.select-wrapper select[multiple] {
    padding: 8px 12px;
    height: 120px;
    background-image: none;
}

.select-wrapper select[multiple] option {
    padding: 8px 12px;
    margin: 2px 0;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.select-wrapper select[multiple] option:hover {
    background-color: #f0f7ff;
}

.select-wrapper select[multiple] option:checked {
    background-color: #3498db;
    color: white;
}

/* Удаляем стрелку для multiple */
.select-wrapper select[multiple] + .select-wrapper::after {
    display: none;
}


/* Выбор для предложения */
.proposal-selector {
    display: inline-block;
    position: relative;
    width: 24px;
    height: 24px;
}

.proposal-checkbox {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 2;
}
.proposal-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #ced4da;
    border-radius: 4px;
    background: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    z-index: 1;
}

.proposal-label:hover {
    border-color: #3498db;
    background: #f0f8ff;
}

.proposal-label.selected {
    background: #3498db;
    border-color: #2980b9;
}

.proposal-label.selected svg {
    opacity: 1;
}

.proposal-label svg {
    width: 14px;
    height: 14px;
    color: white;
    opacity: 0;
    transition: opacity 0.2s;
}

.proposal-checkbox:checked + .proposal-label svg {
    opacity: 1;
}

.proposal-checkbox:checked + .proposal-label {
    background: #3498db;
    border-color: #2980b9;
}

/* Выделение выбранных строк */
.quote-row.selected-for-proposal {
    background-color: #f0f8ff !important;
    border-left: 4px solid #3498db !important;
}


/* Панель управления предложением */
.proposal-controls {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 15px 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    gap: 15px;
    z-index: 1000;
    animation: slideUp 0.3s ease-out;
}

.proposal-counter {
    font-weight: 600;
    color: #2c3e50;
}


.proposal-counter .count {
  color: #3498db;
    font-weight: bold;
}

@keyframes slideUp {
    from { transform: translateY(100px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.proposal-actions {
    display: flex;
    gap: 10px;
}

/* Сортировка */
.sort-controls {
    margin: 15px 0;
    padding: 10px 15px;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #dee2e6;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.sort-btn {
    padding: 6px 12px;
    background: white;
    border: 1px solid #ced4da;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    color: #495057;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.sort-btn.active {
    background: #3498db;
    color: white;
    border-color: #2980b9;
}

.sort-btn:hover {
    background: #e9ecef;
    border-color: #adb5bd;
}

.sort-btn.active:hover {
    background: #2980b9;
}

/* Стили для отображения курса */
.exchange-rate-display {
    min-width: 140px;
}

.exchange-rate-value {
    font-weight: 600;
    font-size: 12px;
    color: #2c3e50;
    margin-bottom: 2px;
}

.exchange-rate-source {
    font-size: 11px;
    color: #7f8c8d;
    font-style: italic;
}

/* ============ КОНЕЦ РАБОТА С КВОТАЦИЯМИ =============== */

/* ========== MARGIN BAR - ОКОНЧАТЕЛЬНАЯ ВЕРСИЯ ========== */

.margin-bar {
    width: 120px;
    height: 8px;
    background: #f0f0f0;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    display: block;
    margin-top: 5px;
}

.margin-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
    display: block;
}

/* Цвета без !important, но с более специфичными селекторами */
table .margin-bar-fill.margin-high,
#quotes-table .margin-bar-fill.margin-high,
.quote-row .margin-bar-fill.margin-high {
    background: linear-gradient(90deg, #27ae60, #2ecc71);
    background-color: #27ae60;
    box-shadow: 0 0 4px rgba(39, 174, 96, 0.4);
}

table .margin-bar-fill.margin-good,
#quotes-table .margin-bar-fill.margin-good,
.quote-row .margin-bar-fill.margin-good {
    background: linear-gradient(90deg, #2ecc71, #3498db);
    background-color: #2ecc71;
    box-shadow: 0 0 4px rgba(46, 204, 113, 0.4);
}

table .margin-bar-fill.margin-medium,
#quotes-table .margin-bar-fill.margin-medium,
.quote-row .margin-bar-fill.margin-medium {
    background: linear-gradient(90deg, #f39c12, #f1c40f);
    background-color: #f39c12;
    box-shadow: 0 0 4px rgba(243, 156, 18, 0.4);
}

table .margin-bar-fill.margin-low,
#quotes-table .margin-bar-fill.margin-low,
.quote-row .margin-bar-fill.margin-low {
    background: linear-gradient(90deg, #e74c3c, #c0392b);
    background-color: #e74c3c;
    box-shadow: 0 0 4px rgba(231, 76, 60, 0.4);
}

table .margin-bar-fill.margin-negative,
#quotes-table .margin-bar-fill.margin-negative,
.quote-row .margin-bar-fill.margin-negative {
    background: linear-gradient(90deg, #c0392b, #e74c3c);
    background-color: #c0392b;
    box-shadow: 0 0 4px rgba(192, 57, 43, 0.4);
}

table .margin-bar-fill.margin-neutral,
#quotes-table .margin-bar-fill.margin-neutral,
.quote-row .margin-bar-fill.margin-neutral {
    background: linear-gradient(90deg, #95a5a6, #7f8c8d);
    background-color: #95a5a6;
    box-shadow: 0 0 4px rgba(149, 165, 166, 0.4);
}


/* Улучшение кнопки PDF */
#pdfButton {
    background: linear-gradient(135deg, #27ae60 0%, #219653 100%);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(39, 174, 96, 0.2);
}

#pdfButton:hover {
    background: linear-gradient(135deg, #219653 0%, #1e8449 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(39, 174, 96, 0.3);
}

#pdfButton:active {
    transform: translateY(0);
}

#pdfButton:disabled {
    background: #95a5a6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

#pdfButton svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* ===== ФУНКЦИЯ ДЛЯ AUTОCOMPLETE АЭРОПОРТОВ ===== */

/* airport-autocomplete.css */
.airport-autocomplete-dropdown,
.airport-no-results {
    position: absolute !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
}

.airport-autocomplete-dropdown {
    background: white !important;
    border: 1px solid #ccc !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    max-height: 300px !important;
    overflow-y: auto !important;
}

.airport-item {
    padding: 10px 12px !important;
    cursor: pointer !important;
    border-bottom: 1px solid #eee !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    transition: background 0.2s !important;
}

.airport-item:first-child {
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
}

.airport-item:last-child {
    border-bottom: none !important;
    border-bottom-left-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.airport-item:hover {
    background: #f8f9fa !important;
}

.airport-no-results {
    background: #fff3cd !important;
    border: 1px solid #ffeaa7 !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    color: #856404 !important;
    font-size: 13px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    text-align: center !important;
}

/* Скрываем стандартное "no results" chosen */
.chosen-container .chosen-results .no-results {
    display: none !important;
}

    /* Автокомплит для аэропортов */
    .airport-autocomplete-dropdown {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        border-radius: 6px !important; /* Скругление углов */
        margin-top: 2px;
    }
    
    .airport-item {
        padding: 8px 12px;
        cursor: pointer;
        border-bottom: 1px solid #eee;
        font-size: 14px;
        line-height: 1.4;
        transition: background-color 0.2s;
    }
    
    .airport-item:hover {
        background-color: #f8f9fa !important;
    }
    
    .airport-item:first-child {
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }
    
    .airport-item:last-child {
        border-bottom: none;
        border-bottom-left-radius: 6px;
        border-bottom-right-radius: 6px;
    }
    
    .airport-item small {
        color: #6c757d;
        font-size: 12px;
    }
    
    .airport-item strong {
        color: #007bff;
    }
    
    /* Исправление ширины chosen полей */
    .chosen-container {
        width: 350px !important; /* Фиксированная ширина как в вашем HTML */
        max-width: 350px !important;
    }
    
    .chosen-container-multi .chosen-choices {
        width: 100% !important;
        min-height: 36px;
        border-radius: 4px !important;
        border: 1px solid #ccc;
        background-image: none !important;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    }
    
    .chosen-container .chosen-search input {
        width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 4px !important;
    }
    
    /* Убираем сообщение "Oops, nothing found" */
    .chosen-container .no-results {
        display: none !important;
    }
    
    /* Для полей с аэропортами - специфичные стили */
    #achbase_chosen,
    #frequent_in_chosen,
    #notflying_to_chosen,
    #opsCat_chosen {
        width: 350px !important;
        display: inline-block !important;
    }
    
    /* Контейнер для выбранных аэропортов */
    .chosen-container-multi .chosen-choices li.search-choice {
        border-radius: 3px !important;
        background: #e9ecef;
        border: 1px solid #ced4da;
        margin: 3px 0 3px 5px;
        padding: 3px 20px 3px 5px;
    }
    
    /* Поле ввода в chosen */
    .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
        height: auto !important;
        padding: 5px !important;
    }
    
    /* Чистим стандартные стили chosen */
    .chosen-container .chosen-drop {
        border-radius: 0 0 4px 4px !important;
    }
    
.our-aircraft-badge {
    display: inline-block;
    background: linear-gradient(135deg, #27ae60 0%, #219653 100%);
    color: white;
    font-size: 9px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 12px;
    margin-left: 8px;
    vertical-align: 2px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(39, 174, 96, 0.2);
    border: 1px solid #219653;
    cursor: default;
}

.our-aircraft-badge:hover {
    background: linear-gradient(135deg, #219653 0%, #1e8449 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(39, 174, 96, 0.3);
}
/* ========== СТИЛИ ДЛЯ СИСТЕМЫ РЕЙСОВ ========== */

/* Бейдж сегмента */
.segment-badge {
    transition: all 0.2s ease;
    cursor: default;
}

.segment-badge.covered:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.2);
}

.segment-badge.remaining:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.2);
}

/* Хендлинг опции */
.handling-option {
    transition: all 0.2s ease;
}

.handling-option.selected {
    background-color: #e8f5e9 !important;
    border-color: #c3e6cb !important;
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.25);
}

.handling-option:hover {
    background-color: #f8f9fa !important;
    border-color: #dee2e6 !important;
}
/* Формы времени */
.time-inputs input[type="datetime-local"],
.time-inputs input[type="number"] {
    padding: 10px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
}

.time-inputs input:focus {
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
    outline: none;
}

/* Кнопки */
.btn-sm {
    padding: 6px 12px;
    font-size: 12px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .time-inputs {
        grid-template-columns: 1fr !important;
    }
    
    .coverage-section .segment-badge {
        flex: 1 0 calc(50% - 10px);
    }
    
    .handling-segment > div {
        grid-template-columns: 1fr !important;
    }
}



/* Стили для завершенных рейсов */
.flight-completed-row {
    background-color: #f8f9fa !important;
    opacity: 0.9;
}

.flight-completed-row td {
    color: #6c757d;
}

.flight-completed-badge {
    display: inline-block;
    padding: 2px 8px;
    background-color: #28a745;
    color: white;
    border-radius: 10px;
    font-size: 10px;
    font-weight: bold;
    margin-left: 5px;
}

.completed-status {
    background-color: #28a745;
    color: white;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    display: inline-block;
}


/* ========== СТИЛИ ДЛЯ БРИФИНГА ========== */

/* Модальное окно брифинга */
#briefingModal .modal-content {
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Стили для таблицы брифинга в модальном окне */
#briefingContent .flight-table th,
#briefingContent .flight-table td {
    padding: 8px 10px;
}

#briefingContent .passenger-table th,
#briefingContent .passenger-table td {
    padding: 8px 10px;
}

/* Адаптивность для модального окна брифинга */
@media (max-width: 768px) {
    #briefingModal .modal-content {
        width: 95%;
        margin: 20px auto;
    }
    
    #briefingContent {
        padding: 10px;
    }
    
    #briefingContent table {
        font-size: 12px;
    }
}

/* Стили для отображения ATD/ATA */
.time-display {
    min-height: 40px;
}

.etd, .eta {
    font-size: 13px;
}

.atd, .ata {
    font-size: 13px;
    animation: fadeIn 0.5s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Индикатор загрузки */
.loading-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.loading-indicator.dark {
    color: #2c3e50;
}

.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(52, 152, 219, 0.3);
    border-radius: 50%;
    border-top-color: #3498db;
    animation: spin 1s ease-in-out infinite;
}

.loading-spinner.dark {
    border: 2px solid rgba(44, 62, 80, 0.3);
    border-top-color: #2c3e50;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Обработка ошибок */
.error-message {
    background: #f8d7da;
    color: #721c24;
    padding: 10px 15px;
    border-radius: 4px;
    margin: 10px 0;
    border: 1px solid #f5c6cb;
}

.warning-message {
    background: #fff3cd;
    color: #856404;
    padding: 10px 15px;
    border-radius: 4px;
    margin: 10px 0;
    border: 1px solid #ffeaa7;
}

/* Улучшенные уведомления */
.notification {
    animation: slideInRight 0.3s ease-out;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.notification.success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.notification.error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.notification.warning {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.notification.info {
    background: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
}

/* В style.css добавим: */
.alert {
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 15px;
    border: 1px solid transparent;
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

.alert-warning {
    background-color: #fff3cd;
    color: #856404;
    border-color: #ffeaa7;
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border-color: #c3e6cb;
}

.alert-info {
    background-color: #d1ecf1;
    color: #0c5460;
    border-color: #bee5eb;
}

/* Стили для модальных окон с правильным z-index */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 1200px;
    position: relative;
}

/* Модалка хендлинга должна быть выше */
#handlingSelectionModal {
    z-index: 1100 !important;
}

/* Модалка редактирования хендлинга должна быть самой верхней */
#handlingEditModal {
    z-index: 1200 !important;
}

/* Кнопки закрытия */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Загрузочный спиннер */
.loading-spinner {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #3498db;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

.loading-spinner.dark {
    border: 3px solid #ddd;
    border-top: 3px solid #333;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* Модальные окна showairport.php */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}

.modal-content {
    background-color: #fefefe;
    margin: 50px auto;
    border: 1px solid #888;
    width: 90%;
    max-width: 800px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.modal-lg {
    max-width: 1000px;
}

.modal-header {
    padding: 15px 20px;
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h2 {
    margin: 0;
    font-size: 1.5em;
}

.close {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover {
    color: black;
}

.modal-body {
    padding: 20px;
    max-height: 70vh;
    overflow-y: auto;
}

.modal-footer {
    padding: 15px 20px;
    border-top: 1px solid #ddd;
    text-align: right;
}

.modal-tabs {
    display: flex;
    border-bottom: 2px solid #ddd;
    margin-bottom: 20px;
}

.tab-btn {
    padding: 10px 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #666;
    position: relative;
}

.tab-btn.active {
    color: #007bff;
}

.tab-btn.active:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: #007bff;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}

.form-group {
    flex: 1;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #007bff;
}

.map-container {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.map-controls {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.btn {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s;
}

.btn-primary {
    background-color: #007bff;
    color: white;
}

.btn-primary:hover {
    background-color: #0056b3;
}

.btn-secondary {
    background-color: #6c757d;
    color: white;
}

.btn-secondary:hover {
    background-color: #545b62;
}

.coords-display {
    display: flex;
    gap: 20px;
    padding: 8px;
    background: #f8f9fa;
    border-radius: 4px;
}

.loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 20px;
    border-radius: 4px;
    color: white;
    z-index: 2000;
    animation: slideIn 0.3s ease;
}

.notification.success {
    background-color: #28a745;
}

.notification.error {
    background-color: #dc3545;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
/* Leaflet custom styles */
.leaflet-container {
    height: 400px;
    width: 100%;
    border-radius: 4px;
}

.coordinates-box {
    margin-top: 10px;
    padding: 8px;
    background: #f8f9fa;
    border-radius: 4px;
    font-family: monospace;
}

.search-container {
    position: absolute;
    top: 10px;
    left: 50px;
    z-index: 1000;
    background: white;
    padding: 5px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.search-input {
    width: 200px;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.leaflet-control-geocoder {
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}


.weather-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 20px 0;
}
.weather-box, .notams-section {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    background: #f9f9f9;
}
.weather-box h4, .notams-section h4 {
    margin: 0 0 10px 0;
    color: #333;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}
.icao {
    color: #0066cc;
    font-weight: normal;
    margin-left: 5px;
}
.weather-content {
    font-family: monospace;
    font-size: 13px;
    line-height: 1.4;
}
.raw-txt {
    background: #fff;
    padding: 8px;
    border-radius: 4px;
    margin-bottom: 8px;
    border: 1px solid #e0e0e0;
    word-break: break-all;
}
.details {
    font-size: 12px;
    color: #555;
}
.notams-content {
    max-height: 300px;
    overflow-y: auto;
}
.notam-item {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 8px;
    background: #fff;
}
.notam-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    font-weight: bold;
}
.notam-id {
    color: #0066cc;
}
.notam-date {
    color: #666;
    font-size: 0.9em;
}
.notam-text {
    font-family: monospace;
    font-size: 12px;
    line-height: 1.3;
    white-space: pre-wrap;
}
.no-data, .error {
    padding: 20px;
    text-align: center;
    background: #f8f9fa;
    border-radius: 4px;
    color: #666;
}
.notam-title {
    font-weight: bold;
    color: #0056b3;
    margin: 5px 0;
}
.notam-validity {
    font-size: 11px;
    color: #666;
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px dotted #ddd;
}
.notam-source {
    text-align: right;
    font-size: 10px;
    margin-top: 10px;
    color: #999;
}
.notam-source a {
    color: #666;
    text-decoration: none;
}
.notam-source a:hover {
    text-decoration: underline;
}

/* КОНЕЦ Модальные окна showairport.php */

/* FLTLOGS оdeicing */


