/* Glass UI overrides — полупрозрачные панели поверх карты */

/* ===== ТУЛБАР ===== */
#top-toolbar {
    height: auto;
    min-height: 40px;
    padding: 6px 12px;
    gap: 6px;
    border: 1px solid var(--ui-glass-border);
    border-radius: var(--ui-radius);
    box-shadow: var(--shadow-md);
    background: var(--ui-glass-bg-elevated);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
}

#top-toolbar .divider {
    background: var(--ui-border);
    margin: 0 2px;
    width: 1px;
    height: 20px;
}

.search-box {
    height: 32px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--ui-glass-border);
    border-radius: var(--neo-radius-pill);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
    padding: 0 10px;
}

.search-box:focus-within {
    border-color: rgba(103, 145, 255, 0.45);
    box-shadow: 0 0 0 3px rgba(103, 145, 255, 0.12);
    background: rgba(255, 255, 255, 0.07);
}

#search-input {
    font-family: var(--font-ui);
    width: 110px;
    font-size: 13px;
}

#user-display {
    background: transparent;
    border: none;
    border-radius: var(--neo-radius-pill);
    box-shadow: none;
    color: var(--text-muted);
    text-shadow: none;
    font-size: 11px;
    font-weight: 500;
}

#user-display:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: transparent;
    color: var(--text-color);
}

.icon-btn {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: transparent;
    border: none;
    box-shadow: none;
    opacity: 1;
    color: var(--icon-fill);
}

.icon-btn::before {
    display: none;
}

.icon-btn:hover {
    background: rgba(255, 255, 255, 0.09);
    border-color: transparent;
    color: var(--text-color);
    transform: none;
    box-shadow: none;
}

.icon-btn:active {
    box-shadow: none;
    transform: none;
    background: rgba(255, 255, 255, 0.04);
}

.icon-btn.active {
    background: rgba(103, 145, 255, 0.18);
    border-color: rgba(103, 145, 255, 0.28);
    color: var(--text-color);
    box-shadow: var(--shadow-glow-blue);
}

.icon-btn svg.icon-line {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 18px;
    height: 18px;
}

.icon-btn svg:not(.palette-icon):not(.icon-line):not(.theme-icon) {
    fill: currentColor;
    stroke: none;
    filter: none;
    width: 18px;
    height: 18px;
}

.icon-btn.active svg.icon-line {
    fill: none;
    stroke: currentColor;
}

#btn-palette .palette-icon {
    fill: none;
    stroke: none;
}

#btn-palette .palette-icon circle {
    stroke: none;
}

#btn-theme {
    color: var(--icon-fill);
}

#top-toolbar .opacity-control {
    height: 30px;
    padding: 0 7px;
    background: var(--neo-inset);
    border-radius: var(--neo-radius-pill);
    box-shadow: var(--neo-shadow-in);
    gap: 5px;
}

#top-toolbar input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    width: 58px;
    height: 12px;
    background: transparent !important;
    border: none;
    outline: none;
    cursor: pointer;
}

#top-toolbar input[type=range]::-webkit-slider-runnable-track {
    height: 2px;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 2px;
    border: none;
}

#top-toolbar input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--neo-accent);
    margin-top: -3.5px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

#top-toolbar input[type=range]::-moz-range-track {
    height: 2px;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 2px;
    border: none;
}

#top-toolbar input[type=range]::-moz-range-thumb {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--neo-accent);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

body.theme-light #top-toolbar input[type=range] {
    background: transparent !important;
}

body.theme-light #top-toolbar input[type=range]::-webkit-slider-runnable-track {
    background: rgba(61, 107, 99, 0.2) !important;
}

body.theme-light #top-toolbar input[type=range]::-webkit-slider-thumb {
    background: var(--neo-accent) !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
    box-shadow: 0 1px 2px rgba(61, 107, 99, 0.22) !important;
}

body.theme-light #top-toolbar input[type=range]::-moz-range-track {
    background: rgba(61, 107, 99, 0.2) !important;
}

body.theme-light #top-toolbar input[type=range]::-moz-range-thumb {
    background: var(--neo-accent) !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}

body.theme-light input[type=range] {
    background: transparent !important;
}

body.theme-light input[type=range]::-webkit-slider-runnable-track {
    height: 2px;
    background: rgba(61, 107, 99, 0.2);
    border-radius: 2px;
}

body.theme-light input[type=range]::-webkit-slider-thumb {
    background: var(--neo-accent) !important;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 1px 2px rgba(61, 107, 99, 0.2);
}

body.theme-light .ctx-slider {
    height: 12px !important;
    background: transparent !important;
}

#top-toolbar .opacity-control svg .opacity-droplet-shine {
    fill: var(--icon-fill) !important;
    opacity: 0.35 !important;
}

/* ===== ЛЕВАЯ ПАНЕЛЬ ИНСТРУМЕНТОВ ===== */
#tool-trigger,
#esc-btn {
    border: 1px solid transparent;
    box-shadow: var(--neo-shadow-btn);
    font-family: var(--font-ui);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
}

#tool-trigger {
    color: var(--neo-accent-text);
    background: var(--neo-accent);
    border-color: rgba(103, 145, 255, 0.35);
}

#tool-trigger:hover {
    background: var(--neo-accent-hover);
    border-color: rgba(138, 168, 255, 0.5);
    box-shadow: var(--neo-shadow-btn), var(--shadow-glow-blue);
    transform: translateY(-1px);
}

#tool-trigger.active-tool {
    background: var(--neo-accent);
    border-color: rgba(103, 145, 255, 0.35);
    padding: 0 12px;
}

.trigger-icon {
    fill: currentColor;
}

#esc-btn {
    color: #ffb8b8;
    background: rgba(160, 50, 50, 0.38);
    border-color: rgba(255, 120, 120, 0.5);
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.08em;
}

#esc-btn:hover {
    background: rgba(190, 60, 60, 0.5);
    border-color: rgba(255, 150, 150, 0.65);
    color: #fff0f0;
    box-shadow: 0 4px 16px rgba(200, 70, 70, 0.32);
    transform: translateY(-1px);
}

body.theme-light #esc-btn {
    color: #b71c1c;
    background: rgba(229, 115, 115, 0.22);
    border-color: rgba(198, 40, 40, 0.38);
}

body.theme-light #esc-btn:hover {
    background: rgba(229, 115, 115, 0.36);
    border-color: rgba(183, 28, 28, 0.55);
    color: #7f0000;
}

#tools-menu {
    border: 1px solid var(--ui-glass-border);
    box-shadow: var(--shadow-lg);
    background: var(--ui-glass-bg-elevated);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    border-radius: 10px;
    padding: 4px;
    gap: 0;
    min-width: 0;
    width: max-content;
    max-width: min(95vw, 360px);
}

/* ===== БОКОВЫЕ ПАНЕЛИ ===== */
.side-panel {
    border: 1px solid var(--ui-glass-border);
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
    background: var(--ui-glass-bg-elevated);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    font-family: var(--font-ui);
}

.panel-header {
    background: transparent;
    border-bottom: 1px solid var(--ui-border);
    letter-spacing: -0.01em;
    font-size: 13px;
    font-weight: 600;
    color: var(--neo-title);
}

.panel-body {
    font-family: var(--font-ui);
}

#master-panel .master-panel-header-row {
    color: var(--neo-title);
    font-size: 12px;
    letter-spacing: 0.05em;
}

#master-panel .master-panel-tabs {
    background: transparent;
    border-top: 1px solid var(--ui-border);
    gap: 6px;
}

#master-panel .master-tab-btn {
    border-radius: var(--neo-radius-pill);
    border: none;
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
    color: var(--text-muted);
    font-family: var(--font-ui);
}

#master-panel .master-tab-btn.is-active {
    background: var(--neo-accent);
    color: var(--neo-accent-text);
    border-color: transparent;
    box-shadow: var(--neo-shadow-btn);
}

@media (hover: hover) {
    #master-panel .master-tab-btn:hover:not(.is-active) {
        color: var(--neo-title);
        background: var(--neo-inset);
    }
}

body.theme-light #master-panel .master-tab-btn.is-active,
body.theme-light #master-panel .master-tab-btn {
    border: none;
}

#master-panel .master-user-login {
    color: var(--neo-title);
}

#tasks-panel .task-tab-btn {
    border-radius: var(--neo-radius-pill);
    border: none;
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
    font-family: var(--font-ui);
}

#tasks-panel .task-tab-btn.active {
    background: var(--neo-accent);
    color: var(--neo-accent-text);
    box-shadow: var(--neo-shadow-btn);
}

#tasks-panel .task-tab-btn:hover:not(.active) {
    background: var(--neo-inset);
    color: var(--neo-title);
}

body.theme-light #tasks-panel .task-tab-btn.active,
body.theme-light #tasks-panel .task-tab-btn {
    border: none;
}

.works-panel-header-title,
.works-panel-toolbar {
    color: var(--neo-title) !important;
}

.personal-tasks-panel-title {
    color: var(--neo-title) !important;
}

.personal-tasks-panel-icon {
    color: var(--neo-title);
    flex-shrink: 0;
}

/* ===== МОДАЛКИ ===== */
#modal-box,
#cable-modal-box,
#task-modal-box,
#demo-request-box,
#substation-list-box {
    border: 1px solid var(--ui-glass-border);
    border-radius: 16px;
    box-shadow: var(--shadow-xl);
    background: var(--ui-glass-bg-elevated);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    font-family: var(--font-ui);
}

#task-modal-box > .panel-header.task-modal-panel-header {
    background: transparent;
    border-bottom: 1px solid var(--ui-border);
}

.task-modal-header-title {
    color: var(--neo-title) !important;
}

#task-modal-box .task-modal-tab-btn {
    border: none !important;
    border-radius: 10px !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
}

#task-modal-box .task-modal-tab-btn.is-active {
    background: var(--neo-accent) !important;
    border: none !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.task-modal-close-btn:hover {
    color: var(--neo-title);
    background: var(--neo-inset);
}

.task-modal-pane--details {
    background: var(--neo-inset);
}

#object-card-modal-box.object-card-panel {
    background: var(--ui-glass-bg);
    border: 1px solid var(--ui-glass-border);
    border-radius: 16px;
    box-shadow: var(--shadow-xl);
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
}

#object-card-modal-box .object-card-main {
    background: var(--ui-bg-elevated);
}

#object-card-modal-box .object-card-sidebar {
    border-right-color: var(--ui-border);
}

#object-card-modal-box .object-card-tab-btn {
    border: none !important;
    border-radius: 10px !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
}

#object-card-modal-box .object-card-tab-btn.is-active {
    background: var(--neo-accent) !important;
    border: none !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

body.theme-light #object-card-modal-box .object-card-tab-btn.is-active {
    color: var(--neo-accent-text) !important;
}

.object-card-busy-title {
    color: var(--neo-title) !important;
}

.object-card-busy-progress-bar {
    background: var(--neo-accent);
}

.modal-btn {
    font-family: var(--font-ui);
    border-radius: var(--neo-radius-pill);
}

.modal-btn.primary {
    background: var(--neo-accent);
    color: var(--neo-accent-text);
    border: none;
    box-shadow: var(--neo-shadow-btn);
}

.modal-btn.primary:hover {
    background: var(--neo-accent-hover);
    box-shadow: var(--neo-shadow-btn);
    transform: translateY(-1px);
}

.modal-btn.secondary {
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
    border: none;
}

.modal-btn.secondary:hover {
    background: var(--neo-inset);
    color: var(--neo-title);
}

#task-modal-box select,
#task-modal-box input,
#task-modal-box textarea,
.side-panel input,
.side-panel select,
.side-panel textarea:not(.personal-tasks-sticker__text) {
    background: var(--neo-inset);
    border: none;
    border-radius: 12px;
    box-shadow: var(--neo-shadow-in);
    font-family: var(--font-ui);
}

#task-modal-box select:focus,
#task-modal-box input:focus,
#task-modal-box textarea:focus {
    border-color: transparent;
    box-shadow: var(--neo-shadow-in);
    outline: 2px solid rgba(107, 133, 124, 0.35);
}

/* ===== ЭКРАН ВХОДА — стили в login-grid-beam.css (сетка + луч) ===== */

/* ===== ПРОЧЕЕ ===== */
#save-indicator {
    background: var(--neo-accent);
    border: none;
    color: var(--neo-accent-text);
    border-radius: var(--neo-radius-pill);
    box-shadow: var(--neo-shadow-btn);
    font-family: var(--font-ui);
}

.map-viewport-save-btn {
    background: var(--neo-accent);
    color: var(--neo-accent-text);
    border: none;
    border-radius: var(--neo-radius-pill);
    box-shadow: var(--neo-shadow-btn);
    font-family: var(--font-ui);
}

.map-viewport-save-btn:hover {
    background: var(--neo-accent-hover);
    box-shadow: var(--neo-shadow-btn);
}

#info-bar {
    border-radius: var(--neo-radius-pill);
    border: none;
    box-shadow: var(--neo-shadow-btn);
    font-family: var(--font-ui);
}

.color-btn.active {
    border-color: var(--neo-accent);
    box-shadow: var(--neo-shadow-btn);
}

/* ===== ГЛОБАЛЬНО: тонкие серые скроллбары ===== */
.side-panel .panel-body,
.tasks-container,
#tasks-panel .objects-panel-list,
.personal-tasks-table-wrap,
.personal-tasks-board-surface,
#master-panel .panel-body,
.object-card-panel-body,
.task-modal-details-inner,
.task-modal-info-inner,
#task-chat-history,
.admin-list,
.substation-list-content,
.personal-tasks-sticker__text,
.personal-tasks-sticker__checklist {
    scrollbar-width: thin;
    scrollbar-color: var(--ui-scrollbar-thumb) transparent;
}

.side-panel .panel-body::-webkit-scrollbar,
.tasks-container::-webkit-scrollbar,
#tasks-panel .objects-panel-list::-webkit-scrollbar,
.personal-tasks-table-wrap::-webkit-scrollbar,
.personal-tasks-board-surface::-webkit-scrollbar,
#master-panel .panel-body::-webkit-scrollbar,
.object-card-panel-body::-webkit-scrollbar,
.task-modal-details-inner::-webkit-scrollbar,
.task-modal-info-inner::-webkit-scrollbar,
#task-chat-history::-webkit-scrollbar,
.admin-list::-webkit-scrollbar,
.substation-list-content::-webkit-scrollbar,
.personal-tasks-sticker__text::-webkit-scrollbar,
.personal-tasks-sticker__checklist::-webkit-scrollbar {
    width: var(--ui-scrollbar-size);
    height: var(--ui-scrollbar-size);
}

.side-panel .panel-body::-webkit-scrollbar-track,
.tasks-container::-webkit-scrollbar-track,
#tasks-panel .objects-panel-list::-webkit-scrollbar-track,
.personal-tasks-table-wrap::-webkit-scrollbar-track,
.personal-tasks-board-surface::-webkit-scrollbar-track,
#master-panel .panel-body::-webkit-scrollbar-track,
.object-card-panel-body::-webkit-scrollbar-track,
.task-modal-details-inner::-webkit-scrollbar-track,
.task-modal-info-inner::-webkit-scrollbar-track,
#task-chat-history::-webkit-scrollbar-track,
.admin-list::-webkit-scrollbar-track,
.substation-list-content::-webkit-scrollbar-track,
.personal-tasks-sticker__text::-webkit-scrollbar-track,
.personal-tasks-sticker__checklist::-webkit-scrollbar-track {
    background: transparent;
}

.side-panel .panel-body::-webkit-scrollbar-thumb,
.tasks-container::-webkit-scrollbar-thumb,
#tasks-panel .objects-panel-list::-webkit-scrollbar-thumb,
.personal-tasks-table-wrap::-webkit-scrollbar-thumb,
.personal-tasks-board-surface::-webkit-scrollbar-thumb,
#master-panel .panel-body::-webkit-scrollbar-thumb,
.object-card-panel-body::-webkit-scrollbar-thumb,
.task-modal-details-inner::-webkit-scrollbar-thumb,
.task-modal-info-inner::-webkit-scrollbar-thumb,
#task-chat-history::-webkit-scrollbar-thumb,
.admin-list::-webkit-scrollbar-thumb,
.substation-list-content::-webkit-scrollbar-thumb,
.personal-tasks-sticker__text::-webkit-scrollbar-thumb,
.personal-tasks-sticker__checklist::-webkit-scrollbar-thumb {
    background: var(--ui-scrollbar-thumb);
    border-radius: 999px;
}

@media (hover: hover) {
    .side-panel .panel-body::-webkit-scrollbar-thumb:hover,
    .tasks-container::-webkit-scrollbar-thumb:hover,
    #tasks-panel .objects-panel-list::-webkit-scrollbar-thumb:hover,
    .personal-tasks-table-wrap::-webkit-scrollbar-thumb:hover,
    .personal-tasks-board-surface::-webkit-scrollbar-thumb:hover,
    #master-panel .panel-body::-webkit-scrollbar-thumb:hover,
    .object-card-panel-body::-webkit-scrollbar-thumb:hover,
    .task-modal-details-inner::-webkit-scrollbar-thumb:hover,
    .task-modal-info-inner::-webkit-scrollbar-thumb:hover,
    #task-chat-history::-webkit-scrollbar-thumb:hover,
    .admin-list::-webkit-scrollbar-thumb:hover,
    .substation-list-content::-webkit-scrollbar-thumb:hover,
    .personal-tasks-sticker__text::-webkit-scrollbar-thumb:hover,
    .personal-tasks-sticker__checklist::-webkit-scrollbar-thumb:hover {
        background: var(--ui-scrollbar-thumb-hover);
    }
}

.panel-header {
    background: transparent !important;
    border-bottom: 1px solid var(--ui-border) !important;
}

#master-panel .master-tab-btn.is-active {
    color: var(--neo-accent-text) !important;
}

/* ===== ПАНЕЛЬ «ЗАДАЧИ И ОБЪЕКТЫ» ===== */
.works-panel-header-tasks {
    color: var(--neo-title) !important;
}

.works-panel-header-objects {
    color: var(--text-muted) !important;
}

.works-panel-main-tab {
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-muted) !important;
    font-family: var(--font-ui);
}

.works-panel-main-tab:hover {
    color: var(--neo-title) !important;
    background: var(--neo-inset) !important;
}

.works-panel-main-tab.is-active {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

body.theme-light .works-panel-main-tab,
body.theme-light .works-panel-main-tab.is-active {
    border: none !important;
    box-shadow: var(--neo-shadow-in) !important;
}

body.theme-light .works-panel-main-tab.is-active {
    box-shadow: var(--neo-shadow-btn) !important;
}

.tasks-panel-header-tabs {
    background: var(--neo-inset);
    border-radius: var(--neo-radius-pill);
    padding: 3px;
    box-shadow: var(--neo-shadow-in);
    gap: 2px !important;
    overflow: hidden;
}

#tasks-panel .task-tab-btn {
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-muted) !important;
}

#tasks-panel .task-tab-btn.active {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    box-shadow: none !important;
}

#tasks-panel .task-tab-btn:hover:not(.active) {
    background: transparent !important;
    color: var(--neo-title) !important;
}

body.theme-light #tasks-panel .task-tab-btn.active {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
}

.task-tab-btn--report {
    border-radius: var(--neo-radius-pill) !important;
    border: none !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--neo-title) !important;
}

.tasks-filter-select {
    border: none !important;
    border-radius: 10px !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    font-family: var(--font-ui);
    width: max-content !important;
    max-width: 100%;
}

.tasks-panel-filters .neo-select {
    width: auto !important;
    flex: 0 0 auto;
    max-width: 100%;
}

.tasks-panel-filters .neo-select__trigger {
    width: auto !important;
    white-space: nowrap;
}

.tasks-panel-filters .neo-select__list {
    right: auto;
    width: max-content;
    min-width: 100%;
    max-width: min(calc(100vw - 48px), 420px);
}

body.theme-light .tasks-filter-select {
    background: var(--neo-inset) !important;
    border: none !important;
    color: var(--text-color) !important;
}

.tasks-container {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: var(--neo-shadow-in) !important;
}

body.theme-light .tasks-container {
    background: var(--neo-inset) !important;
}

.task-row,
.master-task-row {
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-btn) !important;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
}

.task-row:hover,
.master-task-row:hover,
.object-panel-row:hover {
    background: var(--ui-hover-accent-bg) !important;
    box-shadow: var(--shadow-md) !important;
    transform: none !important;
}

body.theme-light .task-row:hover,
body.theme-light .master-task-row:hover,
body.theme-light .object-panel-row:hover {
    background: var(--ui-hover-accent-bg) !important;
}

.task-archive-row:hover,
.master-archive-row:hover {
    background: rgba(255, 215, 0, 0.1) !important;
}

.master-task-status.active,
body.theme-light .master-task-status.active {
    background: var(--neo-status-active-bg) !important;
    color: var(--neo-status-active-text) !important;
    border-color: rgba(107, 133, 124, 0.35) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.master-task-status.done,
body.theme-light .master-task-status.done {
    background: var(--neo-status-done-bg) !important;
    color: var(--neo-status-done-text) !important;
    border-color: rgba(90, 114, 105, 0.35) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.master-task-status.canceled,
body.theme-light .master-task-status.canceled {
    background: var(--neo-status-canceled-bg) !important;
    color: var(--neo-status-canceled-text) !important;
    border-color: rgba(139, 58, 58, 0.28) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.master-task-status.paused,
body.theme-light .master-task-status.paused {
    background: var(--neo-status-paused-bg) !important;
    color: var(--neo-status-paused-text) !important;
    border-color: rgba(212, 168, 83, 0.35) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.master-task-service {
    background: var(--neo-inset) !important;
    border-radius: 8px !important;
    border: none !important;
}

/* ===== КАРТОЧКА ЗАДАЧИ ===== */
#task-modal-box,
#task-modal-box.chat-mode {
    background: var(--ui-glass-bg-elevated) !important;
    border: 1px solid var(--ui-glass-border) !important;
    box-shadow: var(--shadow-xl) !important;
    backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    -webkit-backdrop-filter: blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturate));
    padding: 0 !important;
    border-radius: 14px !important;
}

#task-modal-box > .panel-header.task-modal-panel-header {
    background: var(--ui-bg-elevated) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    padding: 14px 20px !important;
}

.task-modal-header-title {
    color: var(--text-color) !important;
    font-weight: 600 !important;
}

.task-modal-moscow-clock {
    color: var(--text-muted) !important;
}

.task-modal-pane--details,
.task-modal-pane--info,
.task-modal-pane--chat {
    background: var(--ui-bg-elevated) !important;
}

.task-modal-pane--info #task-desc-input.task-title-input--block,
.task-modal-pane--info .task-title-input.task-title-input--block,
.task-modal-pane--info .task-service-select {
    background: var(--input-bg) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.task-modal-field-block,
.task-service-block .task-service-row {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.task-modal-field-label {
    color: var(--text-muted) !important;
    font-size: 12px !important;
    margin-bottom: 6px !important;
}

.task-status-wrapper {
    background: var(--input-bg) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: 40px;
    padding: 6px 12px !important;
}

.status-square {
    border-radius: 4px !important;
    box-shadow: none !important;
    border: none !important;
}

#task-status-select,
#task-status-select option {
    color: var(--text-color) !important;
    background: transparent !important;
}

#task-status-select option {
    background: var(--ui-bg) !important;
}

.task-description-input,
#task-modal-box #task-description-input {
    color: var(--text-color) !important;
    font-family: var(--font-ui) !important;
}

.task-description-section--open .task-description-wrapper {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-shadow-in) !important;
}

.task-description-section--open .task-description-wrapper:focus-within {
    outline: 2px solid rgba(107, 133, 124, 0.35);
    border-color: transparent !important;
}

.task-modal-pane--details .task-actions {
    border-top-color: var(--ui-border) !important;
}

/* Кнопки «Выполнение» — единый нейтральный стиль */
.task-modal-pane--details #btn-task-save,
.task-modal-pane--details #btn-task-goto-map,
.task-modal-pane--details #btn-task-delete,
#master-panel .master-user-save-btn {
    border-radius: 6px !important;
    box-shadow: none !important;
    filter: none !important;
    font-family: var(--font-ui) !important;
    font-weight: 500 !important;
}

.task-modal-pane--details #btn-task-save,
.task-modal-pane--details #btn-task-goto-map,
.task-modal-pane--details #btn-task-delete {
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--text-color) !important;
    border: 1px solid var(--ui-border) !important;
}

#master-panel .master-user-save-btn {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
}

#btn-task-save::before,
#btn-task-goto-map::before,
#btn-task-delete::before,
#master-panel .master-user-save-btn::before {
    display: none !important;
}

@media (hover: hover) {
    .task-modal-pane--details #btn-task-save:hover,
    .task-modal-pane--details #btn-task-goto-map:hover,
    .task-modal-pane--details #btn-task-delete:hover {
        background: rgba(255, 255, 255, 0.12) !important;
        border-color: rgba(255, 255, 255, 0.25) !important;
        color: var(--text-color) !important;
        transform: none !important;
        box-shadow: none !important;
    }

    #master-panel .master-user-save-btn:hover {
        background: var(--neo-accent-hover) !important;
        transform: none !important;
        box-shadow: none !important;
    }
}

body.theme-light .task-modal-pane--details #btn-task-save,
body.theme-light .task-modal-pane--details #btn-task-goto-map,
body.theme-light .task-modal-pane--details #btn-task-delete {
    background: rgba(0, 0, 0, 0.04) !important;
    color: var(--text-muted) !important;
    border: 1px solid var(--ui-border) !important;
}

@media (hover: hover) {
    body.theme-light .task-modal-pane--details #btn-task-save:hover,
    body.theme-light .task-modal-pane--details #btn-task-goto-map:hover,
    body.theme-light .task-modal-pane--details #btn-task-delete:hover {
        background: rgba(0, 0, 0, 0.06) !important;
        border-color: rgba(0, 0, 0, 0.15) !important;
        color: var(--text-color) !important;
    }
}

.btn-task-attachment-add,
.task-description-toggle.btn-task-attachment-add {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--neo-title) !important;
}

.btn-task-attach {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--neo-title) !important;
}

.btn-task-attach span {
    color: var(--neo-title) !important;
}

.btn-task-send-compact {
    background: var(--neo-accent) !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.chat-footer {
    background: var(--ui-bg) !important;
    border-top: 1px solid var(--ui-border) !important;
}

#task-new-comment {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    font-family: var(--font-ui) !important;
}

.chat-msg.mine {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.chat-msg.other {
    background: var(--neo-inset) !important;
    color: var(--text-color) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-in) !important;
}

/* История переписки — тот же фон панели, что и у остальных вкладок карточки */
#task-chat-history {
    background: var(--ui-bg-elevated) !important;
}

.chat-placeholder {
    color: var(--text-muted) !important;
}

@media (hover: hover) {
    .btn-task-attachment-add:hover,
    .task-description-toggle.btn-task-attachment-add:hover,
    .btn-task-attach:hover {
        background: rgba(255, 255, 255, 0.09) !important;
    }

    .btn-task-send-compact:hover {
        background: var(--neo-accent-hover) !important;
    }

    body.theme-light .btn-task-attachment-add:hover,
    body.theme-light .task-description-toggle.btn-task-attachment-add:hover,
    body.theme-light .btn-task-attach:hover {
        background: rgba(0, 0, 0, 0.06) !important;
    }
}

/* ===== ЛИЧНЫЕ ЗАДАЧИ ===== */
#personal-tasks-panel {
    font-family: var(--font-ui);
}

.personal-tasks-file-title {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    outline: none;
    font-family: var(--font-ui);
    color: var(--text-color);
}

.personal-tasks-file-title:focus {
    outline: 2px solid rgba(107, 133, 124, 0.28);
    outline-offset: 0;
}

.personal-tasks-toolbar-btn {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-muted) !important;
    font-family: var(--font-ui);
}

.personal-tasks-toolbar-btn:hover:not(:disabled) {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.personal-tasks-toolbar-btn--danger {
    color: var(--danger-color) !important;
}

.personal-tasks-toolbar-btn--danger:hover:not(:disabled) {
    background: rgba(196, 122, 122, 0.2) !important;
    color: #e8c4c4 !important;
}

.personal-tasks-table-wrap {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: var(--neo-shadow-in) !important;
}

.personal-tasks-table th,
.personal-tasks-table td {
    border-color: var(--ui-border) !important;
}

.personal-tasks-cell,
.personal-tasks-header-input,
.personal-tasks-due-input {
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: var(--neo-shadow-in) !important;
    font-family: var(--font-ui) !important;
}

.personal-tasks-share-dialog {
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: var(--shadow-lg) !important;
}

/* ===== СВЕТЛАЯ ТЕМА: мелкие правки ===== */
body.theme-light #user-display {
    background: var(--ui-bg) !important;
    color: var(--neo-title) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
    text-shadow: none !important;
}

body.theme-light #user-display:hover {
    background: var(--neo-inset) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-in) !important;
}

body.theme-light .task-modal-field-block,
body.theme-light .task-service-block .task-service-row {
    background: var(--ui-bg) !important;
}

body.theme-light .chat-msg.other {
    background: var(--neo-inset) !important;
    color: var(--text-color) !important;
}

body.theme-light .chat-msg.mine {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
}

/* Кнопки Master / Demo с неоном */
#demo-request-box .modal-btn.primary,
.master-invite-btn,
.master-add-btn {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
    border-radius: var(--neo-radius-pill) !important;
}

/* Master: вкладки и статусы */
#master-panel .master-tab-btn {
    border: none !important;
    border-radius: 10px !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
}

#master-panel .master-tab-btn.is-active {
    background: var(--neo-accent) !important;
    border: none !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

/* Единый округлый стиль бейджей статусов задач */
.master-task-status {
    display: inline-block;
    padding: 4px 11px !important;
    border-radius: var(--neo-radius-pill) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    line-height: 1.35;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    white-space: nowrap;
}

.map-viewport-save-btn {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-btn) !important;
    font-family: var(--font-ui);
}

.map-viewport-save-btn:hover {
    box-shadow: var(--neo-shadow-btn) !important;
}

#btn-task-save:focus-visible,
#btn-task-delete:focus-visible,
#btn-task-goto-map:focus-visible {
    outline: 2px solid rgba(103, 145, 255, 0.45) !important;
    outline-offset: 1px;
    box-shadow: none !important;
}

.object-panel-row {
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.substation-list-item {
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-btn) !important;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s !important;
}

.substation-list-item:hover {
    background: var(--ui-hover-accent-bg) !important;
    box-shadow: var(--shadow-md) !important;
}

body.theme-light .substation-list-item:hover {
    background: var(--ui-hover-accent-bg) !important;
}

.substation-list-close:hover {
    background: var(--neo-inset);
    color: var(--neo-title);
}

/* Личные задачи: шапка таблицы */
.personal-tasks-header-fixed {
    color: var(--neo-title) !important;
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-in) !important;
}

#personal-tasks-panel .personal-tasks-table thead th,
#personal-tasks-panel .personal-tasks-table thead th.personal-tasks-col-num {
    background: var(--ui-bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 1px 0 var(--ui-border) !important;
    color: var(--neo-title) !important;
}

/* Личные задачи: вкладки и доска стикеров */
.personal-tasks-main-tab {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-muted) !important;
    font-family: var(--font-ui);
}

.personal-tasks-main-tab:hover {
    color: var(--text-color) !important;
}

.personal-tasks-main-tab.is-active {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.personal-tasks-board-surface {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: var(--neo-shadow-in) !important;
}

body.theme-light .personal-tasks-board-surface {
    background: #e4e0d8 !important;
}

.personal-tasks-sticker {
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.14) !important;
}

#personal-tasks-panel .personal-tasks-sticker__text {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--font-ui) !important;
}

#personal-tasks-panel .personal-tasks-sticker__text:focus {
    outline: none !important;
    box-shadow: none !important;
}

body.theme-light .personal-tasks-sticker {
    box-shadow: 0 3px 10px rgba(53, 51, 47, 0.12) !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table thead th,
body.theme-light #personal-tasks-panel .personal-tasks-table thead th.personal-tasks-col-num {
    background: var(--ui-bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.personal-tasks-col-num,
.personal-tasks-cell-num {
    background: var(--neo-inset) !important;
}

#personal-tasks-panel .personal-tasks-due-input {
    background: var(--ui-bg) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-in) !important;
    font-family: var(--font-ui) !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-due-input {
    background: var(--ui-bg) !important;
}

/* Личные задачи: подсветка строк по сроку (перебивает общий фон ячеек) */
#personal-tasks-panel .personal-tasks-table tbody tr[class*='personal-tasks-row--due-'] > td {
    position: relative;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td,
#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td.personal-tasks-cell-num {
    background: rgba(107, 133, 124, 0.14) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td,
#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td.personal-tasks-cell-num {
    background: rgba(154, 168, 98, 0.17) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td,
#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td.personal-tasks-cell-num {
    background: rgba(229, 192, 74, 0.2) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td,
#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td.personal-tasks-cell-num {
    background: rgba(196, 122, 122, 0.18) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr[class*='personal-tasks-row--due-'] > td.personal-tasks-cell-num {
    box-shadow: inset 3px 0 0 0 var(--pt-due-accent, var(--neo-accent)) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 {
    --pt-due-accent: #7BA99A;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 {
    --pt-due-accent: #A8B86A;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 {
    --pt-due-accent: #D4AD3A;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue {
    --pt-due-accent: #C47A7A;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td .personal-tasks-cell {
    background: rgba(107, 133, 124, 0.12) !important;
    box-shadow: inset 0 0 0 1px rgba(107, 133, 124, 0.28) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td .personal-tasks-cell {
    background: rgba(154, 168, 98, 0.14) !important;
    box-shadow: inset 0 0 0 1px rgba(154, 168, 98, 0.32) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td .personal-tasks-cell {
    background: rgba(229, 192, 74, 0.15) !important;
    box-shadow: inset 0 0 0 1px rgba(212, 173, 58, 0.38) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td .personal-tasks-cell {
    background: rgba(196, 122, 122, 0.13) !important;
    box-shadow: inset 0 0 0 1px rgba(196, 122, 122, 0.36) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td .personal-tasks-due-input {
    background: rgba(107, 133, 124, 0.14) !important;
    box-shadow: inset 0 0 0 1px rgba(107, 133, 124, 0.34), var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td .personal-tasks-due-input {
    background: rgba(154, 168, 98, 0.16) !important;
    box-shadow: inset 0 0 0 1px rgba(154, 168, 98, 0.38), var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td .personal-tasks-due-input {
    background: rgba(229, 192, 74, 0.18) !important;
    box-shadow: inset 0 0 0 1px rgba(212, 173, 58, 0.44), var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td .personal-tasks-due-input {
    background: rgba(196, 122, 122, 0.16) !important;
    box-shadow: inset 0 0 0 1px rgba(196, 122, 122, 0.42), var(--neo-shadow-in) !important;
    color: #f0d8d8 !important;
}

#personal-tasks-panel .personal-tasks-table tbody tr[class*='personal-tasks-row--due-'] > td .personal-tasks-due-input:focus {
    outline: 2px solid var(--pt-due-accent, var(--neo-accent)) !important;
    outline-offset: 0;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td,
body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td.personal-tasks-cell-num {
    background: #D4E6DF !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td,
body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td.personal-tasks-cell-num {
    background: #E2EBC8 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td,
body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td.personal-tasks-cell-num {
    background: #F3E4A8 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td,
body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td.personal-tasks-cell-num {
    background: #F0D4D4 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 {
    --pt-due-accent: #5A8A7C;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 {
    --pt-due-accent: #7A8F45;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 {
    --pt-due-accent: #B8922A;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue {
    --pt-due-accent: #A84848;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td .personal-tasks-cell {
    background: #E4F0EB !important;
    box-shadow: inset 0 0 0 1px rgba(90, 138, 124, 0.28) !important;
    color: #2a3d38 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td .personal-tasks-cell {
    background: #EEF4DC !important;
    box-shadow: inset 0 0 0 1px rgba(122, 143, 69, 0.3) !important;
    color: #2f3520 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td .personal-tasks-cell {
    background: #FBF0CC !important;
    box-shadow: inset 0 0 0 1px rgba(184, 146, 42, 0.34) !important;
    color: #3d3418 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td .personal-tasks-cell {
    background: #FBE8E8 !important;
    box-shadow: inset 0 0 0 1px rgba(168, 72, 72, 0.32) !important;
    color: #5c2828 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-m1 > td .personal-tasks-due-input {
    background: #E4F0EB !important;
    box-shadow: inset 0 0 0 1px rgba(90, 138, 124, 0.34), var(--neo-shadow-in) !important;
    color: #2a3d38 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-w1 > td .personal-tasks-due-input {
    background: #EEF4DC !important;
    box-shadow: inset 0 0 0 1px rgba(122, 143, 69, 0.36), var(--neo-shadow-in) !important;
    color: #2f3520 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-d3 > td .personal-tasks-due-input {
    background: #FBF0CC !important;
    box-shadow: inset 0 0 0 1px rgba(184, 146, 42, 0.4), var(--neo-shadow-in) !important;
    color: #3d3418 !important;
}

body.theme-light #personal-tasks-panel .personal-tasks-table tbody tr.personal-tasks-row--due-overdue > td .personal-tasks-due-input {
    background: #FBE8E8 !important;
    box-shadow: inset 0 0 0 1px rgba(168, 72, 72, 0.38), var(--neo-shadow-in) !important;
    color: #5c2828 !important;
}

/* ===== СВЕТЛАЯ ТЕМА: мягкие тени окон (без яркого белого ореола) ===== */
body.theme-light .side-panel,
body.theme-light #modal-box,
body.theme-light #cable-modal-box,
body.theme-light #task-modal-box,
body.theme-light #demo-request-box,
body.theme-light #object-card-modal-box,
body.theme-light .personal-tasks-share-dialog {
    box-shadow: var(--shadow-lg) !important;
    border: none !important;
}

@media (min-width: 1000px) {
    body.theme-light #admin-panel,
    body.theme-light #admin-panel.open {
        box-shadow: 0 6px 24px rgba(61, 107, 99, 0.1), 0 1px 6px rgba(180, 170, 155, 0.12) !important;
    }
}

body.theme-light .personal-tasks-share-dialog input:focus,
body.theme-light #admin-panel input:focus,
body.theme-light #admin-panel select:focus {
    outline: 2px solid rgba(107, 133, 124, 0.28) !important;
    outline-offset: 0;
    border-color: transparent !important;
}

/* ===== ПАНЕЛЬ АДМИНИСТРАТОРА ===== */
#admin-panel {
    font-family: var(--font-ui);
}

.admin-panel-icon {
    color: var(--neo-title);
    flex-shrink: 0;
}

.admin-panel-title-text {
    color: var(--neo-title) !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.06em;
    margin-left: 8px;
}

.admin-panel-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-left: 4px;
}

.admin-locale-select {
    height: 28px;
    min-width: 96px;
    max-width: 120px;
    padding: 0 8px;
    font-size: 11px;
    font-family: var(--font-ui);
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    background: var(--neo-inset) !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    cursor: pointer;
}

.btn-admin-backup-db {
    background: var(--neo-inset) !important;
    color: var(--neo-title) !important;
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-in) !important;
    font-family: var(--font-ui);
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    padding: 5px 12px !important;
    filter: none !important;
}

.btn-admin-backup-db:hover:not(:disabled) {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

.admin-title {
    color: var(--neo-title) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ui-border) !important;
    background: transparent !important;
    padding-bottom: 10px !important;
    margin-bottom: 14px !important;
}

#admin-panel #admin-projects-list {
    margin-bottom: 0;
}

#admin-panel .admin-form-row {
    margin-top: 14px;
    gap: 10px;
    align-items: flex-end;
}

.admin-list {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-shadow-in) !important;
    gap: 4px;
    padding: 6px !important;
}

.admin-list::-webkit-scrollbar {
    width: var(--ui-scrollbar-size);
}

.admin-list::-webkit-scrollbar-thumb {
    background: var(--ui-scrollbar-thumb);
    border-radius: 999px;
}

.admin-list-item {
    align-items: center;
    gap: 8px;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.35;
    color: var(--text-color) !important;
    border: none !important;
    border-radius: 10px !important;
    background: var(--ui-bg);
    box-shadow: var(--neo-shadow-btn);
}

.admin-list-item:hover {
    box-shadow: var(--shadow-md);
}

.admin-list-item.admin-project-selected {
    background: var(--ui-hover-accent-bg) !important;
    padding-left: 12px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.admin-list-item.admin-project-selected:hover {
    background: rgba(255, 215, 0, 0.25) !important;
}

body.theme-light .admin-list-item.admin-project-selected {
    background: var(--ui-hover-accent-bg) !important;
}

body.theme-light .admin-list-item.admin-project-selected:hover {
    background: rgba(255, 215, 0, 0.3) !important;
}

.admin-project-name {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    color: var(--text-color);
}

.admin-list-item-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.admin-project-switch-hint {
    font-size: 12px;
    color: var(--text-muted);
    cursor: help;
    line-height: 1;
    opacity: 0.75;
}

#groups-dropdown .groups-move-hint {
    font-size: 12px;
    color: var(--text-muted);
    cursor: pointer;
    line-height: 1;
    user-select: none;
    opacity: 0.75;
}

#groups-dropdown .groups-move-hint.is-active {
    color: #00cc88;
    opacity: 1;
}

#groups-dropdown .admin-btn-icon {
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
    color: var(--text-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

#groups-dropdown .admin-btn-icon svg {
    width: 14px;
    height: 14px;
}

#groups-dropdown .admin-btn-icon.is-locked {
    color: #ff5555;
}

@media (hover: hover) {
    #groups-dropdown .admin-btn-icon:hover {
        box-shadow: var(--neo-shadow-btn);
    }

    #groups-dropdown .groups-move-hint:hover {
        color: var(--text-color);
        opacity: 1;
    }
}

.admin-badge {
    font-size: 10px !important;
    font-weight: 600;
    padding: 3px 8px !important;
    border-radius: 8px !important;
    background: var(--neo-inset) !important;
    color: var(--text-muted) !important;
    box-shadow: var(--neo-shadow-in);
}

.admin-badge.admin {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    box-shadow: var(--neo-shadow-btn);
}

.admin-btn-delete {
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
    color: var(--danger-color);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}

.admin-btn-delete svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-btn-delete:hover {
    background: rgba(196, 122, 122, 0.18);
    color: #e8b4b4;
    box-shadow: var(--neo-shadow-btn);
}

.admin-btn-delete:active {
    box-shadow: var(--neo-shadow-in);
}

#admin-panel .form-group label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
    font-family: var(--font-ui);
}

#admin-panel .form-group input,
#admin-panel .form-group select,
#admin-panel .select-wrapper select,
#groups-dropdown .form-group input {
    font-size: 13px !important;
    font-family: var(--font-ui) !important;
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    padding: 9px 12px !important;
}

#groups-dropdown #groups-list.admin-list {
    max-height: none !important;
    overflow-y: visible;
}

#btn-create-project,
#btn-create-group,
.admin-btn-create {
    background: #E5C04A !important;
    color: #2a2410 !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
    font-family: var(--font-ui) !important;
    font-weight: 700 !important;
}

#btn-create-project:hover,
#btn-create-group:hover,
.admin-btn-create:hover {
    background: #F0CC55 !important;
    color: #2a2410 !important;
}

#btn-create-user {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-btn) !important;
    font-family: var(--font-ui) !important;
    font-weight: 600 !important;
}

.admin-list-item--user {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.admin-user-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 10px;
}

.admin-user-main {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
    gap: 4px;
}

.admin-user-login {
    font-weight: 600;
    font-size: 13px;
    color: var(--text-color) !important;
}

.admin-user-project {
    font-size: 11px;
    color: var(--text-muted) !important;
    margin-left: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-user-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.admin-expiry-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 8px;
    border-radius: 10px;
    background: var(--neo-inset);
    box-shadow: var(--neo-shadow-in);
}

.admin-expiry-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
}

.admin-expiry-forever {
    width: 100%;
    padding: 6px 10px;
    font-size: 11px;
    font-style: italic;
    text-align: center;
    color: var(--text-muted);
    border: 1px dashed var(--ui-border-strong);
    border-radius: 10px;
    background: var(--neo-inset);
}

.admin-date-input {
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    padding: 5px 8px !important;
    flex: 1;
    min-width: 0;
}

.admin-btn-save-expiry {
    padding: 4px 10px !important;
    font-size: 11px !important;
    height: 28px !important;
    min-height: 28px;
    line-height: 1;
    flex-shrink: 0;
}

.admin-list-item small {
    color: var(--text-muted) !important;
    font-size: 11px !important;
    font-style: normal;
}

#admin-panel .status-dot-user.online {
    background-color: var(--neo-accent);
    box-shadow: 0 0 0 2px rgba(107, 133, 124, 0.25);
}

body.theme-light .admin-list-item span,
body.theme-light .admin-list-item small,
body.theme-light .admin-user-login {
    color: var(--text-color) !important;
}

body.theme-light .admin-list-item div[style*="background"] {
    background: var(--neo-inset) !important;
    border: none !important;
    box-shadow: var(--neo-shadow-in) !important;
}

body.theme-light .admin-date-input {
    background: var(--ui-bg) !important;
    color: var(--text-color) !important;
    border: none !important;
}

body.theme-light #btn-create-project,
body.theme-light .admin-btn-create {
    background: #E5C04A !important;
    color: #2a2410 !important;
}

body.theme-light #btn-create-user,
body.theme-light .admin-btn-save-expiry {
    color: var(--neo-accent-text) !important;
}

/* ===== ПАНЕЛЬ «УПРАВЛЕНИЕ ПРОЕКТОМ» (MASTER) ===== */
#master-panel {
    font-family: var(--font-ui);
}

.master-panel-icon {
    color: var(--neo-title);
    flex-shrink: 0;
}

.master-panel-title-text {
    color: var(--neo-title) !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.06em;
    margin-left: 8px;
}

#master-panel .master-map-viewport-hint {
    font-size: 12px;
    line-height: 1.45;
    color: var(--text-muted);
    margin-bottom: 12px;
}

#master-panel .master-service-form {
    margin-bottom: 14px;
    padding: 10px;
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-shadow-in) !important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

#master-panel .master-service-input {
    flex: 1 1 180px;
    min-width: 0;
    padding: 9px 12px !important;
    background: var(--ui-bg) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    font-size: 13px !important;
    font-family: var(--font-ui) !important;
}

#master-panel .master-service-input:focus {
    outline: 2px solid rgba(107, 133, 124, 0.28) !important;
    border-color: transparent !important;
    background: var(--ui-bg) !important;
}

#master-panel .master-panel-btn,
#master-panel .master-service-btn {
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-btn) !important;
    font-family: var(--font-ui) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    padding: 8px 16px !important;
    min-height: 34px;
    filter: none !important;
    transform: none;
}

#master-panel .master-panel-btn::before,
#master-panel .master-service-btn::before {
    display: none !important;
}

#master-panel .master-panel-btn--primary,
#master-panel .master-service-btn {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
}

#master-panel .master-panel-btn:not(.master-panel-btn--primary) {
    background: var(--neo-inset) !important;
    color: var(--neo-title) !important;
    box-shadow: var(--neo-shadow-in) !important;
}

@media (hover: hover) {
    #master-panel .master-panel-btn--primary:hover,
    #master-panel .master-service-btn:hover {
        background: var(--neo-accent-hover) !important;
        box-shadow: var(--neo-shadow-btn) !important;
    }

    #master-panel .master-panel-btn:not(.master-panel-btn--primary):hover {
        background: var(--neo-accent) !important;
        color: var(--neo-accent-text) !important;
        box-shadow: var(--neo-shadow-btn) !important;
    }
}

#master-panel .master-service-btn {
    align-self: center;
    flex-shrink: 0;
}

#master-panel .master-user-save-btn,
#master-panel .master-user-save-btn::before {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border: none !important;
    border-radius: var(--neo-radius-pill) !important;
    box-shadow: var(--neo-shadow-btn) !important;
    font-family: var(--font-ui) !important;
    filter: none !important;
}

#master-panel .master-user-save-btn::before {
    display: none !important;
}

#master-panel .admin-list {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-shadow-in) !important;
    gap: 4px;
    padding: 6px !important;
}

#master-panel .admin-list-item {
    align-items: center;
    padding: 8px 10px !important;
    font-size: 13px !important;
    color: var(--text-color) !important;
    border: none !important;
    border-radius: 10px !important;
    background: var(--ui-bg) !important;
    box-shadow: var(--neo-shadow-btn) !important;
}

#master-panel .admin-list-item:hover {
    box-shadow: var(--shadow-md) !important;
    background: var(--ui-bg) !important;
    border-color: transparent !important;
}

#master-panel .master-user-card {
    display: block;
    padding: 10px 12px !important;
}

#master-panel .master-user-label {
    font-size: 11px !important;
    font-weight: 600;
    color: var(--text-muted) !important;
    margin-bottom: 4px;
    font-family: var(--font-ui);
}

#master-panel .master-user-login {
    font-size: 13px !important;
    font-weight: 600;
    color: var(--text-color) !important;
}

#master-panel .master-user-role-select,
#master-panel .master-user-service-select,
#master-panel .master-user-additional-info {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
}

#master-panel .master-service-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.master-service-name {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    font-size: 13px;
    color: var(--text-color);
}

.master-empty-hint {
    padding: 20px;
    text-align: center;
    font-size: 12px;
    color: var(--text-muted);
    font-family: var(--font-ui);
}

#master-panel .master-locale-section .tasks-filter-select,
#master-panel #master-ui-locale {
    width: 100%;
    max-width: 280px;
    font-family: var(--font-ui);
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color) !important;
    padding: 9px 12px !important;
}

#master-panel .master-stray-list {
    background: var(--neo-inset) !important;
    border: none !important;
    border-radius: 10px !important;
    box-shadow: var(--neo-shadow-in) !important;
    color: var(--text-color);
    font-family: var(--font-ui);
}

#master-panel .master-stray-item {
    border-radius: 8px;
    font-family: var(--font-ui);
}

#master-panel .master-stray-item:hover {
    background: var(--ui-bg);
}

body.theme-light #master-panel .master-user-login,
body.theme-light #master-panel .master-user-label,
body.theme-light #master-panel .master-service-name {
    color: var(--text-color) !important;
}

body.theme-light #master-panel .master-panel-btn--primary,
body.theme-light #master-panel .master-service-btn,
body.theme-light #master-panel .master-user-save-btn {
    color: var(--neo-accent-text) !important;
}

/* === Кастомные выпадающие списки (neo-select) === */
.neo-select {
    position: relative;
    display: block;
    width: 100%;
}

.neo-select--inline {
    flex: 1;
    min-width: 0;
}

.task-status-wrapper .neo-select {
    flex: 1;
    min-width: 0;
}

.neo-select__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.neo-select__trigger {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 36px;
    padding: 9px 34px 9px 12px;
    background: var(--neo-inset);
    border: none;
    border-radius: 10px;
    box-shadow: var(--neo-shadow-in);
    color: var(--text-color);
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.neo-select--inline .neo-select__trigger {
    background: transparent;
    box-shadow: none;
    border-radius: 8px;
    padding: 4px 28px 4px 4px;
    min-height: 28px;
}

.neo-select--compact .neo-select__trigger {
    min-height: 32px;
    padding: 6px 30px 6px 10px;
    font-size: 12px;
    border-radius: 9px;
}

.neo-select__trigger::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    margin-top: -2px;
    border: 4px solid transparent;
    border-top-color: var(--text-muted);
    pointer-events: none;
}

.neo-select__trigger:hover:not(:disabled) {
    outline: 1px solid rgba(107, 133, 124, 0.2);
}

.neo-select.is-open .neo-select__trigger {
    outline: 2px solid rgba(107, 133, 124, 0.28);
}

.neo-select__trigger:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.neo-select__list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 10050;
    max-height: 240px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    background: var(--ui-bg);
    border: none;
    border-radius: 6px;
    box-shadow: var(--shadow-md);
}

.neo-select__list[hidden] {
    display: none !important;
}

.neo-select__option {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--text-color);
    font-family: var(--font-ui);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.neo-select__option:hover,
.neo-select__option.is-highlighted {
    background: var(--ui-hover-accent-bg);
}

.neo-select__option.is-selected {
    font-weight: 600;
}

.neo-select__option:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.select-wrapper:has(.neo-select)::after {
    display: none;
}

/* Статус-селект в таблице «Личные задачи»: компактнее стандартного, под 11px-сетку таблицы */
.personal-tasks-table .neo-select__trigger {
    min-height: 30px;
    padding: 5px 26px 5px 8px;
    font-size: 11px;
    border-radius: 6px;
}

.personal-tasks-table .neo-select__trigger::after {
    right: 9px;
}

.personal-tasks-table .neo-select__option {
    font-size: 12px;
    padding: 7px 10px;
}

.task-modal-pane--info .neo-select__trigger {
    border-radius: 12px !important;
}

#admin-panel .neo-select__trigger,
#master-panel .neo-select__trigger {
    font-size: 13px !important;
}

/* ===== MASTER PANEL — Twenty sidebar layout ===== */
#master-panel .master-panel-topbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 12px 20px 4px;
    flex-shrink: 0;
}

#master-panel .master-panel-topbar .panel-close {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 14px;
}

#master-panel .master-panel-topbar .panel-close:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-color);
}

#master-panel .master-panel-layout {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

#master-panel .master-panel-sidebar {
    width: 232px;
    flex-shrink: 0;
    padding: 8px 12px 20px 16px;
    border-right: 1px solid var(--ui-border);
    overflow-y: auto;
}

#master-panel .master-sidebar-label {
    margin: 0;
    padding: 8px 12px 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

#master-panel .master-panel-tabs {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 4px;
    border: none;
    background: transparent;
}

#master-panel .master-tab-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
    text-align: left;
    box-shadow: none;
    transition: background 0.15s, color 0.15s;
}

#master-panel .master-tab-icon {
    flex-shrink: 0;
    opacity: 0.7;
}

#master-panel .master-tab-btn.is-active {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-color);
    border: none;
    box-shadow: none;
}

#master-panel .master-tab-btn.is-active .master-tab-icon {
    opacity: 1;
}

@media (hover: hover) {
    #master-panel .master-tab-btn:hover:not(.is-active) {
        background: rgba(255, 255, 255, 0.04);
        color: var(--text-color);
    }
}

#master-panel .master-panel-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--ui-bg-elevated);
}

#master-panel .master-content-header {
    padding: 12px 32px 0;
    flex-shrink: 0;
}

#master-panel .master-breadcrumb {
    margin: 0 0 8px;
    font-size: 12px;
    color: var(--text-muted);
}

#master-panel .master-content-title {
    margin: 0 0 24px;
    font-size: 22px;
    font-weight: 600;
    color: var(--neo-title);
    letter-spacing: -0.02em;
    text-transform: none;
}

#master-panel .panel-body {
    flex: 1;
    min-height: 0;
    padding: 0 32px 28px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#master-panel .admin-list {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    gap: 12px !important;
    padding: 4px 2px 8px !important;
}

#master-panel .admin-list-item,
#master-panel .master-user-card {
    padding: 14px 16px !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    background: var(--input-bg) !important;
}

#master-panel .master-user-label {
    margin-bottom: 6px !important;
}

#master-panel .master-user-save-btn {
    margin-right: 2px;
}

#master-panel .master-service-form,
#master-panel .master-service-input,
#master-panel .admin-list-item {
    box-shadow: none !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 8px !important;
}

#master-panel .master-panel-btn--primary,
#master-panel .master-service-btn {
    background: var(--neo-accent) !important;
    color: var(--neo-accent-text) !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

#master-panel .master-panel-btn:not(.master-panel-btn--primary) {
    background: transparent !important;
    border: 1px solid var(--ui-border) !important;
    color: var(--text-color) !important;
    box-shadow: none !important;
}

body.theme-light #master-panel .master-tab-btn.is-active {
    background: rgba(0, 0, 0, 0.06);
}

@media (max-width: 768px) {
    #master-panel .master-panel-layout {
        flex-direction: column;
        flex: 1;
        min-height: 0;
        overflow: hidden;
    }

    #master-panel .master-panel-sidebar {
        width: 100%;
        flex-shrink: 0;
        border-right: none;
        border-bottom: 1px solid var(--ui-border);
        padding-bottom: 8px;
        overflow: visible;
    }

    #master-panel .master-panel-main {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    #master-panel .master-panel-tabs {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
    }

    #master-panel .master-tab-btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
        font-size: 12px;
        padding: 7px 10px;
    }

    #master-panel .master-content-header {
        padding-left: 20px;
        padding-right: 20px;
        flex-shrink: 0;
    }

    #master-panel .master-content-title {
        margin-bottom: 16px;
    }

    #master-panel .panel-body {
        flex: 1 1 auto;
        min-height: 0;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: max(20px, env(safe-area-inset-bottom, 0));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #master-panel .master-tab-pane.is-active {
        display: block;
        min-height: 0;
    }

    #master-panel .admin-section {
        min-height: 0;
        overflow: visible;
    }

    #master-panel .admin-list {
        min-height: 0;
        max-height: none;
        overflow: visible;
        flex-grow: 0;
    }
}

/* ===== ОТСТУПЫ: панели задач, HUD, тулбар ===== */
.side-panel .panel-header {
    padding: 16px 24px;
}

#info-bar {
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 11px;
}

#tasks-panel .works-panel-toolbar {
    margin-bottom: 8px;
    gap: 8px 12px;
}

#tasks-panel .tasks-panel-header-tabs {
    gap: 8px;
}

.tasks-panel-content {
    gap: 8px;
}

#top-toolbar .search-wrapper {
    margin-right: 4px;
}

#top-toolbar .divider {
    margin: 0 4px;
}

/* ===== Единый шрифт Inter (как в рабочей области) ===== */
.side-panel,
#task-modal-box,
#modal-box,
#cable-modal-box,
#demo-request-box,
#object-card-modal-box,
.toolbar-dropdown,
#tools-menu,
#context-menu,
#groups-dropdown,
#bom-panel,
#help-panel,
#layers-panel,
#admin-panel {
    font-family: var(--font-ui);
}

.side-panel .panel-header,
.side-panel .panel-body,
.bom-section-title,
.bom-label-main,
.bom-label-sub,
.bom-total,
#bom-content {
    font-family: var(--font-ui);
}

#task-modal-box input,
#task-modal-box select,
#task-modal-box textarea,
#task-modal-box button,
.side-panel input,
.side-panel select,
.side-panel textarea,
.side-panel button {
    font-family: var(--font-ui) !important;
}

#master-panel input,
#master-panel select,
#master-panel button,
#master-panel .admin-list-item,
#master-panel .master-user-login,
#master-panel .master-user-label {
    font-family: var(--font-ui) !important;
}
