﻿/* ================================================================
   AURORA — комплексный слой-редизайн РАДАРа. Грузится ПОСЛЕ style.css/enhance.css.
   НЕ трогает детализацию (.modal-detail и её нутро) — её делаем точечно отдельно.
   Убрать = снять <link href="aurora.css"> в index.html. Обратимо.
   ================================================================ */

/* ============ 1. ТОКЕНЫ ============ */
:root{
  --bg:#0a0a1a;
  --surface:rgba(26,28,54,.60);
  --surface2:rgba(40,42,78,.55);
  --border:rgba(140,150,220,.16);
  --text:#eef0fb;
  --text-muted:#8e93b8;
  --accent:#8b7dff;
  --drop:#ff6b8a;  --drop-bg:rgba(255,107,138,.14);
  --flat:#ffc24d;  --flat-bg:rgba(255,194,77,.14);
  --growth:#34e0a4;--growth-bg:rgba(52,224,164,.14);
  --overtime:#8b7dff; --overtime-bg:rgba(139,125,255,.16);
  --radius:14px; --radius-sm:11px;
  --aur-cyan:#34d6e6;
  --aur-grad:linear-gradient(90deg,rgba(139,125,255,.30),rgba(52,214,230,.16));
  --aur-fill:linear-gradient(90deg,#8b7dff,#34d6e6);
  --glass:blur(16px);
}

/* ============ 2. ФОН ============ */
body{
  background:#0a0a1a !important;
  background-image:
    radial-gradient(900px 600px at 12% -10%,#3a2a78 0,transparent 55%),
    radial-gradient(900px 700px at 100% 0%,#15506b 0,transparent 50%),
    radial-gradient(800px 800px at 60% 120%,#2a1f5e 0,transparent 55%) !important;
  background-attachment:fixed !important;
}
.login-overlay{
  background:#0a0a1a !important;
  background-image:
    radial-gradient(900px 600px at 12% -10%,#3a2a78 0,transparent 55%),
    radial-gradient(900px 700px at 100% 0%,#15506b 0,transparent 50%),
    radial-gradient(800px 800px at 60% 120%,#2a1f5e 0,transparent 55%) !important;
}

/* ============ 3. САЙДБАР ============ */
.sidebar{
  background:rgba(16,16,38,.55) !important;
  backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass);
  border-right:1px solid var(--border) !important;
  gap:20px !important; padding:18px 13px !important;
}
.logo-text{ letter-spacing:2px !important; font-weight:800 !important;
  background:linear-gradient(90deg,#fff,#bfc6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
.nav{ gap:2px !important; }
.nav-item{ border-radius:11px !important; padding:8px 11px !important; font-size:13.5px !important; }
.nav-item:hover{ background:rgba(255,255,255,.05) !important; color:#fff !important; }
.nav-item.active{ background:var(--aur-grad) !important; color:#fff !important; }
.nav-group-label{ font-size:9.5px !important; letter-spacing:1.1px !important; color:#565b80 !important; padding:9px 11px 3px !important; }
.sidebar-actions,.sidebar-footer{ border-top:1px solid var(--border) !important; }
.sidebar-btn{ border-radius:10px !important; padding:7px 11px !important; }
.sidebar-btn:hover{ background:rgba(255,255,255,.06) !important; color:#fff !important; }
/* профиль внизу */
.auth-user{ border-top:1px solid var(--border) !important; padding:11px 6px !important; border-radius:0 !important; }
.auth-user-name{ font-weight:700 !important; }
.last-update{ color:var(--text-muted) !important; }

/* ============ 4. ШАПКА ============ */
.main{ padding:22px 26px !important; gap:20px !important; }
.page-title{ font-size:24px !important; font-weight:800 !important; }
/* срез-селектор как сегмент-пилюля */
.range-btns{ background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; border-radius:12px !important; padding:3px !important; }
.range-btn{ border-radius:9px !important; padding:6px 12px !important; }
.range-btn:hover{ background:rgba(255,255,255,.06) !important; color:#fff !important; }
.range-btn.active{ background:var(--aur-grad) !important; color:#fff !important; }
.filter-select{ background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; border-radius:11px !important; }
.filter-select:hover,.filter-select:focus{ border-color:rgba(139,125,255,.55) !important; }

/* ============ 5. КНОПКИ (единый аврора-формат) ============ */
.btn-applog,.btn-pushlog,.btn-reports,.btn-mgmt-report,.btn-push,.btn-refresh,.btn-users,.btn-send-reports,.btn-add-user{
  border-radius:12px !important; padding:8px 14px !important; gap:7px !important;
  font-weight:600 !important; transition:background .15s,transform .1s !important;
}
/* обычные — стекло */
.btn-applog,.btn-pushlog,.btn-users{
  background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; color:var(--text) !important;
}
.btn-applog:hover,.btn-pushlog:hover,.btn-users:hover{ background:rgba(255,255,255,.09) !important; color:#fff !important; border-color:var(--border) !important; }
/* отчёты — синий контур */
.btn-reports{ background:transparent !important; color:#bfeff6 !important; border:1px solid rgba(52,214,230,.42) !important; }
.btn-reports:hover{ background:rgba(52,214,230,.10) !important; }
/* отчёт руководителю — фиолет контур */
.btn-mgmt-report{ background:transparent !important; color:#b3a9ff !important; border:1px solid rgba(139,125,255,.5) !important; }
.btn-mgmt-report:hover{ background:rgba(139,125,255,.1) !important; }
/* пуш овертайм — янтарь */
.btn-push{ background:transparent !important; color:var(--flat) !important; border:1px solid rgba(255,194,77,.44) !important; }
.btn-push:hover{ background:var(--flat-bg) !important; }
/* Обновить — акцентная градиентная */
.btn-refresh{ background:var(--aur-fill) !important; color:#0a0a1a !important; border:none !important; font-weight:700 !important; }
.btn-refresh:hover{ opacity:.92 !important; }
.btn-refresh:active{ transform:scale(.97) !important; }
/* формы */
.login-btn,.btn-save-user,.btn-add-user,.btn-send-reports{ background:var(--aur-fill) !important; color:#0a0a1a !important; border:none !important; border-radius:12px !important; font-weight:700 !important; }
.btn-cancel-user{ background:rgba(255,255,255,.06) !important; border:1px solid var(--border) !important; border-radius:12px !important; }

/* ============ 6. СТАТ-КАРТЫ (KPI) ============ */
.stats-row{ gap:15px !important; }
.stat-card{
  background:var(--surface) !important; backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass);
  border:1px solid var(--border) !important; border-radius:18px !important; padding:17px 20px !important;
  border-left:1px solid var(--border) !important;
}
.stat-card:hover{ transform:translateY(-2px); border-color:rgba(140,150,220,.3) !important; }
.stat-card-active{ border-color:rgba(139,125,255,.6) !important; box-shadow:0 0 0 1px rgba(139,125,255,.4) inset,0 0 18px rgba(139,125,255,.25) !important; }
.stat-num{ font-size:32px !important; font-weight:800 !important; }
.stat-label{ text-transform:none !important; letter-spacing:.2px !important; font-size:12.5px !important; }

/* ============ 7. ЧИПЫ (пресеты + активность) ============ */
.preset-chip{ border-radius:30px !important; padding:8px 15px !important; background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; font-weight:600 !important; }
.preset-chip:hover{ background:rgba(255,255,255,.09) !important; color:#fff !important; }
.preset-chip.active{ background:var(--aur-grad) !important; color:#fff !important; border-color:transparent !important; }

/* ============ 8. ПОИСК ============ */
.search-box{ background:rgba(255,255,255,.06) !important; border:1px solid var(--border) !important; border-radius:12px !important; }
.search-box:focus-within{ border-color:rgba(139,125,255,.55) !important; }
.search-input{ background:transparent !important; color:var(--text) !important; }

/* ============ 9. ТАБЛИЦА ============ */
.table-wrap{
  background:var(--surface2) !important; backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass);
  border:1px solid var(--border) !important; border-radius:20px !important;
}
.table th{ background:rgba(18,18,42,.97) !important; border-bottom:1px solid var(--border) !important; letter-spacing:.5px !important; }
.table tbody tr{ border-bottom:1px solid var(--border) !important; }
.table tbody tr:hover{ background:transparent !important; }
.badge{ border-radius:30px !important; padding:4px 11px !important; }
.manager-tag{ border-radius:9px !important; font-weight:600 !important; }

/* срез-меню колонки (не детализация) */
.slice-sort-menu{
  background:rgba(18,18,42,.95) !important; backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border) !important; border-radius:16px !important;
}
.slice-sort-menu .ssm-opt{ border-radius:9px !important; }
.slice-sort-menu .ssm-opt:hover{ background:rgba(255,255,255,.06) !important; }

/* ============ 10. МОДАЛКИ (КРОМЕ детализации) ============ */
.modal-overlay{ background:rgba(6,9,15,.6) !important; }
/* детализация ПФ/ГЕО: фон открыт (дашборд виден), САМА модалка = матовое стекло */
#detailModal, #geoDetailModal{ background:rgba(6,9,15,.2) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
#detailModal > .modal, #geoDetailModal > .modal{ background:rgba(17,18,40,.55) !important; backdrop-filter:blur(46px) saturate(1.5) !important; -webkit-backdrop-filter:blur(46px) saturate(1.5) !important; }
.modal:not(.modal-detail),.login-box{
  background:rgba(18,18,42,.94) !important; backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border) !important; border-radius:18px !important;
}
.modal-header{ border-bottom:1px solid var(--border) !important; }
.modal-close:hover{ background:rgba(255,255,255,.06) !important; }
.user-row,.push-row{ border-color:var(--border) !important; }

/* ============ 11. ИНПУТЫ / ФОРМЫ ============ */
.login-input,input[type=text],input[type=password],input[type=number],textarea,select{
  background:rgba(255,255,255,.06) !important; border:1px solid var(--border) !important; border-radius:10px !important; color:var(--text) !important;
}
.login-input:focus{ border-color:rgba(139,125,255,.55) !important; }

/* ============ 12. РОЛИ / ВЫПАДАШКИ / МЕНЮ ============ */
.role-admin{ background:rgba(139,125,255,.15) !important; color:#b3a9ff !important; }
.role-watcher{ background:rgba(52,224,164,.14) !important; color:var(--growth) !important; }
.col-dd,.cmenu,.row-ctx-menu,.chudo-rep{
  background:rgba(18,18,42,.95) !important; backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border) !important; border-radius:14px !important;
}

/* ============ 13. SVG-ИКОНКИ + ТОЧКИ АКТИВНОСТИ ============ */
.ai{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round; vertical-align:-3px; flex:0 0 auto; opacity:.92; }
.nav-icon{ font-size:0 !important; display:inline-flex; }
.nav-icon .ai{ width:17px; height:17px; }
.search-icon .ai{ width:15px; height:15px; opacity:.7; }
.acd{ width:8px; height:8px; border-radius:50%; display:inline-block; vertical-align:0; flex:0 0 auto; }
.acd.on{ background:var(--growth); box-shadow:0 0 7px var(--growth); }
.acd.off{ background:var(--drop); box-shadow:0 0 7px var(--drop); }
.acd.none{ background:#c9cde6; }
.enh-star{ color:var(--flat); }
.enh-fav.on{ color:var(--flat) !important; }

/* ============ 14. ПОПАПЫ — МАТОВОЕ СТЕКЛО (сильный блюр) ============ */
.rcx-menu, #row-ctx-menu, .col-dd, .cmenu, .slice-sort-menu, .enh-pre-menu, .enh-dlg, .chudo-rep, .repcal, .col-dd-portal > *{
  background:rgba(12,13,28,.68) !important;
  backdrop-filter:blur(32px) saturate(1.35) !important; -webkit-backdrop-filter:blur(32px) saturate(1.35) !important;
  border:1px solid rgba(150,160,230,.22) !important; border-radius:16px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.6) !important;
}
.modal:not(.modal-detail), .login-box{
  backdrop-filter:blur(30px) saturate(1.25) !important; -webkit-backdrop-filter:blur(30px) saturate(1.25) !important;
}
.rcx-item{ border-radius:10px !important; }
.rcx-item:hover{ background:rgba(255,255,255,.07) !important; }
.rcx-ico{ display:inline-flex; align-items:center; }

/* ============ 15. ХОВЕР НА ВСЮ СТРОКУ ============ */
.table tbody tr:hover td{ background:rgba(255,255,255,.035) !important; }
.geo-table tbody tr:hover td{ background:rgba(255,255,255,.035) !important; }

/* ============ 16. ОБЗОР — АВРОРА ============ */
.enh-ov-tab{ background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; color:var(--text) !important; border-radius:11px !important; }
.enh-ov-tab:hover{ background:rgba(255,255,255,.09) !important; }
.enh-ov-tab.active{ background:var(--aur-grad) !important; border-color:transparent !important; color:#fff !important; }
.enh-dohod > div, .enh-kpi{ background:var(--surface) !important; backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass); border:1px solid var(--border) !important; border-radius:14px !important; }
.enh-ins{ background:rgba(255,255,255,.04) !important; border:1px solid var(--border) !important; border-radius:11px !important; }
.enh-lb th, .enh-lb td{ border-color:var(--border) !important; }
.enh-sec-title{ display:flex; align-items:center; gap:7px; }
.kpi-g{ color:var(--growth) !important; } .kpi-d{ color:var(--drop) !important; } .kpi-f{ color:var(--flat) !important; } .kpi-o{ color:var(--overtime) !important; }
.acd.flat{ background:var(--flat); } .acd.ot{ background:var(--overtime); }
.mv-dot{ width:6px; height:6px; border-radius:50%; background:var(--text-muted); display:inline-block; vertical-align:1px; margin-right:4px; }

.logo-text small{ display:block; letter-spacing:2.5px; font-size:8.5px; font-weight:700; line-height:1; margin-top:2px; color:var(--aur-cyan) !important; -webkit-text-fill-color:var(--aur-cyan) !important; }


/* детализация · чудо-панель детализации в стиле Авроры */
.chudo-sum{ background:rgba(255,255,255,.05) !important; border:1px solid var(--border) !important; border-radius:12px !important; }
.chudo-sum b{ color:#fff !important; }
.chudo-list{ border:1px solid var(--border) !important; border-radius:12px !important; }
.chudo-proj{ border-bottom:1px solid var(--border) !important; }
.chudo-proj:hover{ background:rgba(255,255,255,.05) !important; }
.chudo-proj.sel{ background:linear-gradient(90deg,rgba(139,125,255,.20),rgba(52,214,230,.08)) !important; box-shadow:inset 2px 0 0 var(--accent) !important; }
.chudo-meta b{ color:#eaecf5 !important; }


/* скроллы в стиле Авроры (глобально, дашборд) */
*{scrollbar-width:thin;scrollbar-color:rgba(140,150,220,.38) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(140,150,220,.30) !important;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:rgba(140,150,220,.5) !important;background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}


/* липкий заголовок списков ключей (ПФ/ГЕО детализация): непрозрачный фон + z-index, чтобы не «вылазило вверх» */
#chudoKeys th, #geoDetKeys th{ background:#12142a !important; z-index:3 !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:0 1px 0 rgba(140,150,220,.16) !important; }

/* Топвизор: кнопка копирования ссылки (правка менеджера 2026-07-06) */
.tpv-copy{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:600;color:#7fe6f2;background:rgba(52,214,230,.1);border:1px solid rgba(52,214,230,.3);border-radius:7px;padding:3px 8px;cursor:pointer;white-space:nowrap}
.tpv-copy:hover{background:rgba(52,214,230,.2)}
.tpv-copy.ok{color:#34e0a4;border-color:rgba(52,224,164,.5);background:rgba(52,224,164,.12)}
.col-topvisor{white-space:normal}
/* Aurora Select — кастомный дропдаун поверх нативного <select> (2026-07-06) */
.asel{position:relative;display:inline-block;vertical-align:middle;min-width:150px}
.asel-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:0;top:0;margin:0!important}
.asel-cur{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(140,150,220,.26);border-radius:10px;padding:9px 12px;color:#eef0fb;font-size:13px;cursor:pointer;white-space:nowrap}
.asel.open .asel-cur{border-color:rgba(139,125,255,.55)}
.asel-cur-txt{overflow:hidden;text-overflow:ellipsis}
.asel-car{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#8e93b8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.asel.open .asel-car{transform:rotate(180deg)}
.asel-pop{position:absolute;left:0;right:0;top:calc(100% + 5px);background:rgba(24,26,52,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(140,150,220,.3);border-radius:11px;padding:5px;z-index:2000;display:none;max-height:264px;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.asel-pop.up{top:auto;bottom:calc(100% + 5px)}
.asel.open .asel-pop{display:block}
.asel-opt{padding:8px 11px;border-radius:8px;font-size:13px;color:#e6e8ff;cursor:pointer;white-space:nowrap}
.asel-opt:hover{background:rgba(139,125,255,.18)}
.asel-opt.on{background:rgba(52,214,230,.16);color:#7fe6f2}
.asel-opt.dis{color:#565b80;cursor:default}
.asel-opt.dis:hover{background:transparent}
.asel-pop::-webkit-scrollbar{width:9px}
.asel-pop::-webkit-scrollbar-track{background:transparent}
.asel-pop::-webkit-scrollbar-thumb{background:rgba(139,125,255,.3);border-radius:8px;border:2px solid transparent;background-clip:content-box}
.asel-pop{scrollbar-color:rgba(139,125,255,.35) transparent;scrollbar-width:thin}
/* Fallback: тёмный нативный <select>/<option>, если скин не применился (кэш и т.п.) */
select option, select optgroup{ background-color:#181a34 !important; color:#e6e8ff !important; }


/* мягкий ховер строки */
.table tbody td,.geo-table tbody td{ transition:background .16s ease !important; }


/* Дропдаун-фильтр колонок (Клиент/Менеджер/Статус): плотный фон + сильный блюр.
   Фикс: раньше фон был var(--surface2)=.55 и без блюра — просвечивал. Содержимое НЕ трогаем. */
#col-dd-portal{
  background:rgba(18,18,42,.9) !important;
  -webkit-backdrop-filter:blur(28px) saturate(1.3) !important;
  backdrop-filter:blur(28px) saturate(1.3) !important;
}
