body {
    margin: 0;
    padding: 0;
    padding-top: 0px;
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    background: var(--background);
    font-size: 14px;
}

.print {padding: 5px}
.print .ui-widget-content {border:none}
.print .noprint {display:none}


button, label {
    cursor: pointer
}

input[type=button] {
    cursor: pointer
}

h1 {
    margin: 0;
    padding: 0
}

a {
    color: var(--link)
}

a:hover {
    color: var(--link-hover)
}

ul, ol {
    margin: 0 10px;
    padding: 0;
    vertical-align: baseline;
}

ul li, ol li {
    margin-left: 10px;
    margin-bottom: 5px;
}

.shadow {
    box-shadow: 3px 3px 6px rgba(0,0,0,.3)
}

.menu ul, .menu ol, .menu li {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

.menu-pics ul, .menu-pics ol, .menu-pics li, .menu-pics-sub ul, .menu-pics-sub ol, .menu-pics-sub li  {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}

br[mce_bogus] {display: none}
br[_mce_bogus] {display: none}

#btn-reset {color:var(--destructive)}
#btn-save {color:var(--success)}
#btn-reset[disabled] {color:var(--muted-foreground)}
#btn-save[disabled] {color:var(--muted-foreground)}

.btn-reset {color:var(--destructive)}
.btn-save {color:var(--success)}
.btn-reset [disabled] {color:var(--muted-foreground)}
.btn-save [disabled] {color:var(--muted-foreground)}

.head {
    margin-bottom: 25px;
    padding-top: 10px;
}

.foot {
    width: 1000px;
}

.foot-line {
    border-bottom: solid 7px var(--border-strong);
    margin: 10px 0;
}


.form-check-error {
    font-size: 11px;
    color: var(--muted-foreground);
    background: url(/i/ico/err.png) no-repeat 0 3px;
    padding-left: 14px;
    padding-top: 2px
}

.error {
    font-size: 11px;
    color: var(--muted-foreground);
    background: url(/i/ico/err.png) no-repeat 0 3px;
    padding-left: 14px;
    padding-top: 2px
}

.auth-error {
    font-size: 11px;
    color: var(--muted-foreground);
    background: url(/i/ico/err.png) no-repeat 0 3px;
    padding-left: 14px;
    padding-top: 2px
}

/*.navi {
    border-bottom: 6px solid var(--border);
    border-bottom: 6px solid var(--border);
    display: block;
    min-height: 35px;
    padding: 0 10px;
}

.navi-top {
    font: 12px Arial
}

.navi-top a {
}

.navi-title {
    font: bold 48px Arial;
    min-height: 90px
}

.navi-title a {
    text-decoration: none
}

.navi-slogan {
    font: italic 20px Arial
}*/

/*.menu {
    width: 1000px;
}

.menu ul {
    display: inline-block;
    float: inherit;
    height: 35px;
    margin: 0 auto;
}

.menu ul li {
    display: inline;
    float: left;
    height: 35px;
}

.menu ul li span {
    padding: 0px 10px
}

.menu ul li a {
    display: inline-block;
    font-weight: bold;
    height: 35px;
    line-height: 35px;
    overflow: hidden;
    text-decoration: none !important;
}

.menu ul li a span {
}

.menu ul li.current a {
    color: var(--nav-active-foreground)
}

.menu ul li.current a:hover {
}*/

.block-filter {
    padding: 5px;
    /*margin-bottom: 5px;*/
}

/* выбранные: у последнего блока значений нижний отступ (15px в style, boards.filters.js) не нужен - есть отступ панели */
#boards-filters-slist > div:last-child {
    padding-bottom: 0 !important;
}

.block-filter .t {
    color: var(--link);
    font-size: 13px;
    border-bottom: 1px dotted;
    cursor: pointer
}

.block-filter .ts {
    color: var(--success);
    font-size: 13px;
    font-weight: bold;
    border-bottom: 1px dotted;
    cursor: pointer
}

.block-filter .h {
    color: var(--muted-foreground);
    font-size: 11px
}

.block-filter .g {
    color: var(--muted-foreground);
    font-size: 13px;
    border-bottom: 1px dotted;
    cursor: pointer
}

.block-filter b {
    color: var(--card-foreground);
    font-size: 13px
}

.block-filter :is(.f-add, .f-del) {
    position: relative;
    padding-left: 12px;
    padding-block: 1px
}

/* добавить / снять значение фильтра - подсказка: мелкие Lucide plus / minus (линия толще) маской приглушённого цвета (были PNG) */
.block-filter :is(.f-add, .f-del)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 12px;
    height: 12px;
    background: var(--muted-foreground);
    -webkit-mask: var(--f-icon) center / 8px no-repeat;
    mask: var(--f-icon) center / 8px no-repeat
}

.block-filter .f-add::before {
    --f-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E")
}

.block-filter .f-del::before {
    --f-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")
}

.pg {
    font: 14px Arial
}

.pg_a {
    font: 14px Arial;
    border: solid 1px var(--border-strong);
    background-color: var(--notice)
}

div.ui-datepicker {
    font-size: 11px;
}

.ui-button-text {
    font-size: 11px;
}

.ui-jqgrid-labels {
    font-size: 12px;
}

.ui-search-toolbar {
    font-size: 10px;
}

.ui-pg-table {
    font-size: 11px;
}

.jqgrow {
    font-size: 12px;
}

.ui-jqgrid .ui-userdata {
    border-left: 0px none;
    border-right: 0px none;
    height: 28px;
    overflow: hidden;
}

.asterisk {
    color: var(--destructive)
}

.grid-edit-status-s {
    font-size: 11px;
    color: var(--destructive); 
}

.grid-edit-status-p {
    font-size: 11px;
    color: var(--destructive); 
}

.grid-edit-status-d {
    font-size: 11px;
    color: var(--success);
}

.float-panel_popup-right {
    display: block;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--background);
    box-shadow: 0 4px 12px rgb(0 0 0 / .15);
    position: absolute;
    /* кнопка в заголовке попапа - на месте открывшей его (рамка 1 + отступ) */
    right: -11px;
    top: -6px;
    padding: 5px 10px 7px 10px;
    /* выше .leaflet-top/.leaflet-control-places (1000), иначе кнопки карты перекрывают попап зайнятості */
    z-index: 1200;
}

.float-panel_popup-left {
    display: block;
    border: 1px solid var(--border-strong);
    background: none repeat scroll 0 0 var(--card);
    position: absolute;
    left: -5px;
    top: 4px;
    padding: 5px 10px 7px 10px;
    /*margin: -6px -11px -9 -11px;*/
    z-index: 1200;
}



/* Timed Alert */
.ui-timedalert, .ui-timedalert-err {
    width: 220px;
    min-height: 40px;
    padding: 10px 10px 10px 60px;
    border:double 3px var(--border-strong); border-top:none;
    background: url(/i/ico/layout/info-48.png) no-repeat scroll 5px 5px var(--card);
    font-size: 14px;
    text-align: left;
    box-sizing: content-box;
}
.ui-timedalert-err {background-image: url(/i/ico/layout/error-48.png)}

.legend {font-size: 11px}
.legend div.sq {display:inline-block; border: 1px solid var(--border-strong); height: 10px; width: 10px; margin-right: 3px}
/* легенда занятости в шапке грида - по центру ячейки по вертикали */
.legend-hdr {display: flex; align-items: center; justify-content: center; height: 100%}
/* стрелки года в шапке занятости (строка 15px) */
#gs_occ .dt-arr {width: 14px; height: 14px; vertical-align: middle; color: var(--link)}
/* год - по центру строки: высоту ячейки задаёт стрелка, шапка фиксированная (30px) - сдвиг без раскладки */
#gs_occ .dt-y {position: relative; top: 2px}
#gs_occ .dt-arr {position: relative; top: 1px}
#gs_occ .dt-y-occ {top: 1px}
/* копия пейджера в тулбаре грида: блок между плавающими кнопками слева и справа, пейджер по центру, по высоте -
   на одной линии с кнопками (тулбар 28px, пейджер 22px) */
#pg-dup {display: flow-root; padding-top: 3px}
#pg-dup #boards-pager-dup > table {margin: 0 auto}


#gs_occ td.active {
    background: var(--badge);
    color: var(--badge-foreground);
}
/* сетка занятости */
.grid-onmap {
    background: url('/i/ico/map-inf.png') no-repeat scroll 3px 4px
}

.grid-occ {
    text-align: left;
    height: 22px;
    width: 396px;
    overflow: hidden;
    background: var(--card)
}

.grid-occ div {
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 22px; /* = .grid-occ: без зазора (border-box в jqGrid) */
    border-left: solid 1px var(--occ-line);
}

/* иконка состояния месяца (занят, резерв) - подпись в title */
.grid-occ .icon {
    display: block;
    width: 12px;
    height: 12px;
}

.grid-occ-sel .f {
    background: var(--occ-free)
}

.grid-occ-sel .b {
    background: var(--occ-sold)
}

.grid-occ-sel .r {
    background: var(--occ-reserved)
}

.grid-occ-sel .n {
    background: var(--occ-unknown)
}

.grid-occ-sel .f[checked] {
    background: url(/i/ico/cb.png) no-repeat 7px 3px;
}

.grid-occ-sel .r[checked] {
    background: url(/i/ico/cb.png) no-repeat 7px 3px var(--occ-reserved);
}

.grid-occ-sel .b[checked] {
    background: url(/i/ico/cb.png) no-repeat 7px 3px var(--occ-sold);
}

.grid-occ-sel .n[checked] {
    background: url(/i/ico/cb.png) no-repeat 7px 3px var(--occ-unknown);
}

/* BID INFO - plane mode */
.bid-info-plane .bid-info {font-size: 12px}
.bid-info-plane .bid-info td.hdr { font-size: 11px; text-align:right; color: var(--muted-foreground); width: 1%}
.bid-info-plane .bid-info span.hdr { font-size: 11px; color: var(--muted-foreground);}

/* отдельная страница плоскости адресной программы (adprog/view/plane.xsl): две колонки по ширине контейнера -
   слева данные и карта, справа действия и фото; узкий экран - одна колонка */
.bid-info-plane .bid-cols { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 16px; align-items: start; }
.bid-info-plane .bid-col { min-width: 0; }
@media (max-width: 767px) {
  .bid-info-plane .bid-cols { grid-template-columns: minmax(0, 1fr); }
}

.bid-info-plane .plane-map-tab {height: 18px; width: 60px; background: var(--secondary); border:solid 1px var(--border-strong); border-bottom: none; margin-right: 5px}
.bid-info-plane .plane-map-tab span { border-bottom: dotted 1px; cursor: pointer }

.bid-info-plane .plane-map-tab.active { font-weight: bold; background: var(--badge); color: var(--badge-foreground); border:solid 1px var(--badge); border-bottom: none;}
.bid-info-plane .plane-map-tab.active span { border-bottom: none; cursor: default }

.bid-info-plane .ui-tabs .ui-tabs-nav li a { float: left; padding: 2px 5px; text-decoration: none; font-size:12px }
.bid-info-plane .ui-tabs .ui-tabs-panel { padding: 2px 0 0 0; }

.bid-info-plane .photo-notes { background: var(--badge); color: var(--badge-foreground); padding: 5px}
.bid-info-plane .photo-notes .title { font-weight: bold }

.bid-info-plane .nearby-list {line-height:16px}
.bid-info-plane .nearby-list ol { max-height: 200px; overflow: auto;}
.bid-info-plane .nearby-list ol li {margin: 4px 0; margin-left: 25px}

.bid-info-plane .bid-ids {text-transform: uppercase; color: var(--muted-foreground)}
.bid-info-plane .bid-rts {text-transform: uppercase; color: var(--muted-foreground)}

/* BID INFO - dialog mode */
.bid-info-dialog .bid-info {font-size: 12px !important;}
.bid-info-dialog .bid-info td.hdr { font-size: 11px; text-align:right; color: var(--muted-foreground); width: 1%}
.bid-info-dialog .bid-info span.hdr { font-size: 11px; color: var(--muted-foreground);}

.bid-info-dialog .plane-map-tab {height: 18px; width: 60px; background: var(--secondary); border:solid 1px var(--border-strong); border-bottom: none; margin-right: 5px}
.bid-info-dialog .plane-map-tab span { border-bottom: dotted 1px; cursor: pointer }

.bid-info-dialog .plane-map-tab.active { font-weight: bold; background: var(--badge); color: var(--badge-foreground); border:solid 1px var(--badge); border-bottom: none;}
.bid-info-dialog .plane-map-tab.active span { border-bottom: none; cursor: default }

.bid-info-dialog .ui-tabs .ui-tabs-nav li a { float: left; padding: 2px 5px; text-decoration: none; font-size:12px }
.bid-info-dialog .ui-tabs .ui-tabs-panel { padding: 2px 0 0 0; }

.bid-info-dialog .photo-notes { background: var(--badge); color: var(--badge-foreground); padding: 5px}
.bid-info-dialog .photo-notes .title { font-weight: bold }

.photo-info {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 1000;
    color: var(--color-white);
    background: url("/i/bg/50-000.png");
    border-top: 1px solid var(--color-gray-400);
}

.bid-info-dialog .nearby-list {line-height:16px}
.bid-info-dialog .nearby-list ol { max-height: 110px; overflow: auto;}
.bid-info-dialog .nearby-list ol li {margin: 4px 0; margin-left: 25px}

.bid-info-dialog .bid-ids {text-transform: uppercase; color: var(--muted-foreground)}
.bid-info-dialog .bid-rts {text-transform: uppercase; color: var(--muted-foreground)}

.m-way {padding: 0 4px; color:var(--color-white); background:var(--color-blue-700); font-weight:bold;}
.e-way {padding: 0 4px; color:var(--color-white); background:var(--color-green-600); font-weight:bold;}

.gc {border: solid 1px var(--border-strong); width: 13px; height: 13px; margin-left: 5px; cursor: pointer; background: var(--field)}
.gc[checked] {background: url(/i/ico/cb.png) no-repeat -2px -1px var(--color-white);}
.gc-tr { background: var(--accent) }

.gcv {border: solid 1px var(--border-strong); width: 13px; height: 13px; margin-left: 5px; cursor: pointer; background: var(--field)}
/* принято / отклонено (кампания агентства): векторный палец маской, цвет - background-color (одинаково в обеих
   схемах); в таблице (.gcv), в списке плана по карте (.gc), в кнопках карточки и балуна (.ico-hand) */
.ico-hand,
.gcv[checked=a], .gcv[checked=d],
.map-lst .i-ordv[state=a] .gc, .map-lst .i-ordv[state=d] .gc {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: none;
    vertical-align: middle;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
    background: var(--success);
}
.ico-hand-down,
.gcv[checked=d],
.map-lst .i-ordv[state=d] .gc {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z'/%3E%3C/svg%3E");
    background: var(--destructive);
}
.gcv-tr[checked=a] { background: var(--success-soft) }
.gcv-tr[checked=d] { background: var(--destructive-soft) }

.map-lst .itm {padding-bottom: 3px; cursor:pointer; clear:both; margin-bottom:2px; border-top: dotted 1px var(--border-strong)}
.map-lst .i-sel { background: var(--secondary) !important}
.map-lst .i-ord { background: var(--accent) }
.map-lst .i-ord .gc { background: url(/i/ico/cb.png) no-repeat -2px -1px var(--color-white); }

.map-lst .i-ordv[state=a] { background: var(--success-soft) }
.map-lst .i-ordv[state=d] { background: var(--destructive-soft) }

/* балун плоскостей на карте сайта партнёра и сейлз-хауса (shared/site/map.xsl /balloon-map): класс bln-pl на
   .leaflet-popup ставит boards.map._fitPlanesBalloon, он же задаёт ширину по карте и высоту списка */
.leaflet-popup.bln-pl .leaflet-popup-content {margin: 8px; line-height: 1.35}
.leaflet-popup.bln-pl a.leaflet-popup-close-button {width: 40px; height: 40px; top: 0; right: 0; font: 26px/38px Tahoma, Verdana, sans-serif; color: var(--muted-foreground)}
.leaflet-popup.bln-pl a.leaflet-popup-close-button:hover {color: var(--foreground)}
.bln-hdr {font-weight: bold; font-size: 14px; line-height: 20px; padding-right: 32px; margin-bottom: 5px}
.bln-lst {overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain}
.map-lst.bln-lst .itm {padding: 6px 4px; margin: 0; border-top: solid 1px var(--border)}
.map-lst.bln-lst .itm:first-child {border-top: none}
.bln-row {display: flex; gap: 6px; align-items: flex-start}
.bln-img {flex: 0 1 58%; width: 58%; min-width: 0; height: auto; display: block; cursor: pointer}
.bln-inf {flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; font-size: 13px}
.bln-inf > div + div {margin-top: 2px}
.bln-foot {display: flex; align-items: center; gap: 6px; margin-top: 4px; min-height: 24px}
.bln-adr {flex: 1 1 0; min-width: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; overflow-wrap: anywhere}
/* галочка: квадрат 24px, зона нажатия 40px (по вертикали - отрицательными отступами) */
.map-lst.bln-lst .gc, .map-lst.bln-lst .i-ord .gc {position: relative; flex: none; width: 40px; height: 40px; margin: -8px 0; padding: 0; border: 0; border-radius: 6px; background: none}
.bln-lst .gc::before {content: ''; position: absolute; left: 8px; top: 8px; width: 24px; height: 24px; box-sizing: border-box; border: 2px solid var(--success); border-radius: 4px; background: var(--success-soft)}
.bln-lst .i-ord .gc::after {content: ''; position: absolute; left: 16px; top: 12px; width: 8px; height: 13px; box-sizing: border-box; border: solid var(--success); border-width: 0 3px 3px 0; transform: rotate(45deg)}
.bln-lst .gc:focus-visible {outline: 2px solid var(--ring); outline-offset: -2px}


.grd-wb {
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 100%);
}


#t_mplans-list-grid { background: var(--muted); border-top: none }
#t_boards-grid { background: var(--muted); border-top: none }
#t_op-grid { background: var(--muted); border-top: none }
.map-toolbar { background: var(--muted); border-top: none; border-bottom:none }

.occ-filter {
    padding:2px 5px 4px 5px !important;
    margin:0;
    cursor: pointer;
    font-weight: normal !important;
    font-size: 14px !important;
}

.hpanel-yellow {
    padding: 5px 10px; color: var(--foreground); background: var(--notice); border: 1px solid var(--notice-border)
}

/* drop-зона фото/схемы в редакторе плоскости (planes/boards.edit.js) */
.upload_highlight{
    cursor: copy !important;
    border: 2px dashed !important;
    margin: -2px !important;
}
.upload_highlight img{
    display: none !important;
}

/* jQuery UI 1.10+: диалог и его подложка - .ui-front (в теме z-index 100, под картой Leaflet: контролы 1000,
   бургер 1001); один z-index на всё - порядок решает DOM (следующий диалог и его подложка - поверх предыдущего) */
/* селекторы сильнее .ui-front темы в css/main_adaptive.css - он подключается позже */
.ui-dialog.ui-front,
.ui-widget-overlay.ui-front {
  z-index: 1010;
}

/* кнопки, свёрстанные руками по разметке jQuery UI 1.8 (div.ui-button.ui-button-text-only > span.ui-button-text,
   внутри бывает подложка .grd-wb): отступы - у текста, как в 1.8; в UI 1.12+ они у самого .ui-button */
.ui-button.ui-button-text-only {
  padding: 0;
}
.ui-button-text-only .ui-button-text {
  display: block;
  line-height: 1.4;
  padding: .4em 1em;
}
