/* Оба режима используют общие компоненты и семантические цвета. */
body.light::before {background:linear-gradient(90deg,rgba(236,241,243,.82),rgba(236,241,243,.42) 65%,rgba(236,241,243,.20)),var(--brand-bg) right bottom/cover no-repeat}
body.light .login-screen {background:linear-gradient(90deg,rgba(239,243,243,.76),rgba(239,243,243,.12)),var(--brand-bg) right bottom/cover no-repeat fixed}
body.light .nav-btn.active {color:#153e64;background:#dce9f4;border-color:#c6dcee}
.sidebar,.panel,.employee-card,.task-period,.task-all,.kanban-col,.object-row,.materials-editor,.performers-editor,.admin-editor,.admin-edit-card,.diag-grid div,.health,.event-input-block,.event-list-block,.settings-block,.map-card,.day-card,.plan-calendar,.registry-card,.done-card,.table-wrap {color:var(--text);border-color:var(--line)}
.employee-card,.task-period,.task-all,.object-row,.event-item,.kanban-col,.materials-editor,.performers-editor,.admin-editor,.event-input-block,.event-list-block {background:var(--surface-card);box-shadow:none}
.metric.blue {background:linear-gradient(120deg,rgba(43,77,106,.94),rgba(28,53,76,.86));border-color:rgba(108,175,225,.24)}
.metric.teal {background:linear-gradient(120deg,rgba(34,77,68,.94),rgba(27,54,52,.86));border-color:rgba(107,198,165,.24)}
.metric.violet {background:linear-gradient(120deg,rgba(65,55,90,.94),rgba(44,41,64,.86));border-color:rgba(176,156,229,.24)}
.metric.blue .metric-icon {color:#9bcdff}.metric.teal .metric-icon {color:#96d8bc}.metric.violet .metric-icon {color:#c8b8f5}
.quick-panel {background:linear-gradient(120deg,rgba(77,39,56,.94),rgba(44,32,47,.87));border-color:rgba(229,140,170,.37);box-shadow:inset 3px 0 0 #bc7490,var(--shadow-soft)}
.quick-panel input {background:rgba(29,27,42,.66);border-color:rgba(211,161,184,.28)}
body.light .metric.blue {background:#e7eef4;border-color:#d1dfe9}
body.light .metric.teal {background:#e5f0e9;border-color:#c9dfd2}
body.light .metric.violet {background:#ece8f2;border-color:#dbd3e7}
body.light .metric.blue .metric-icon {color:#346a99}body.light .metric.teal .metric-icon {color:#39775d}body.light .metric.violet .metric-icon {color:#745794}
body.light .quick-panel {background:linear-gradient(120deg,#f7e9ed,#f4eef1);border-color:#e3c4d0;box-shadow:inset 3px 0 0 #ba708c,var(--shadow-soft)}
body.light .quick-panel input {background:rgba(255,255,255,.84);border-color:#d2bdc7}
.mini-day.workday {background:transparent;border-color:transparent;color:var(--text)}
.mini-day.holiday {background:color-mix(in srgb,var(--weekend) 68%,transparent);color:var(--weekend-text);border-color:transparent}
.mini-day.today {background:var(--primary);color:#fff;outline:2px solid var(--warn);outline-offset:1px}
.week-head.holiday,.week-cell.holiday,.week-cell.holiday.empty,.week-cell.holiday.work,.week-cell.holiday.request,.week-cell.holiday.lunch,.day-card.holiday,.plan-weekday.weekend {background:var(--weekend);border-color:var(--line);color:var(--weekend-text)}
.week-cell.workday.work {background:var(--week-work-bg);border-color:var(--line)}
.week-cell.workday.request {background:var(--week-request-bg);border-color:var(--line)}
.week-cell.workday.empty {background:var(--week-empty-bg);border-color:var(--line);color:transparent}
.week-cell.holiday.empty {color:transparent}
body.light .week-cell.lunch {background:#ece0bf;border-color:#d9c698;color:#584416}
.week-cell.manual {color:var(--text);border-color:var(--warn)}
.mini-day.short,.day-card.short {box-shadow:inset 0 0 0 2px var(--warn)}
.day-card.workday,.plan-weekday {background:var(--surface-2);color:var(--text);border-color:var(--line)}
.day-card i {background:var(--surface-card);color:var(--text-2)}
.day-card .more {color:var(--accent)}
.emp-cell {background:var(--paper);color:var(--text)}
.emp-cell span {color:var(--muted)}
.data-table {background:var(--surface-card);color:var(--text)}
.data-table th {background:var(--surface-2);color:var(--text-2);border-color:var(--line)}
.data-table td {color:var(--text);border-color:var(--line)}
.map-caption {background:var(--surface-modal);color:var(--text);border-color:var(--line)}
.map-caption span {color:var(--text-2)}
.sticker.priority-normal {background:#254b40;border-color:#457763}
.sticker.priority-low {background:#29455f;border-color:#4e7897}
.sticker.priority-high {background:#5b4c2f;border-color:#968052}
.sticker.priority-urgent {background:#603440;border-color:#a96979}
body.light .sticker.priority-normal {background:#e5f1e9;border-color:#b3d2bf}
body.light .sticker.priority-low {background:#e5eff5;border-color:#b3cddd}
body.light .sticker.priority-high {background:#f5eedb;border-color:#d9ca9a}
body.light .sticker.priority-urgent {background:#f6e4e8;border-color:#d9b0bb}
.sticker {border-radius:12px;box-shadow:none;padding:12px;font-size:12px}
.sticker select {background:var(--surface-2);border-color:var(--line);color:var(--text);font-size:11px;font-weight:400;min-height:28px}
.sticker .task-assignee label {font-size:10px;font-weight:400}
.sticker .sticker-actions button {font-size:10px;padding:4px 6px;font-weight:500}
.event-item {border-color:var(--line)}
.floating-menu,.tooltip {background:var(--surface-modal);color:var(--text);border-color:var(--line-strong)}
.filter-row .chip.active {background:var(--primary);border-color:transparent;color:#fff;box-shadow:none}
/* Существующая палитра пользовательских и системных меток сохранена. */
.custom-object-tag {background:color-mix(in srgb,var(--object-tag-color) 12%,var(--surface-2));border-color:color-mix(in srgb,var(--object-tag-color) 45%,var(--line));color:var(--text-2)}
.custom-object-tag.active,.filter-row .object-tag-filter.active {background:linear-gradient(180deg,color-mix(in srgb,var(--object-tag-color) 82%,white),var(--object-tag-color));border-color:color-mix(in srgb,var(--object-tag-color) 72%,white);color:var(--object-tag-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
