/* ════════════════════════════════════════════════════════════════════
   /control-panel — в стиле страницы SLA: карточки с тенью, плитки «Как
   идём», таблицы. Всё под .cp (main-container), чтобы старые правила
   страницы и dark-theme.css этих блоков не задевали. Тёмная тема — в конце.
   ════════════════════════════════════════════════════════════════════ */

.cp{ --cp-card:#fff; --cp-brd:rgba(165,180,252,.35); --cp-line:#eef0f6; --cp-tx:#0f172a; --cp-tx2:#334155; --cp-mu:#64748b; --cp-mu2:#94a3b8;
  --cp-trk:#eef1f7; --cp-field:#fff; --cp-fieldb:#e3e8f2; --cp-t1:#f5f7ff; --cp-t2:#e0e7ff; --cp-tb:#c7d2fe; --cp-tc:#4f46e5;
  --cp-ok:#16a34a; --cp-bad:#dc2626; --cp-sh:0 2px 6px rgba(15,23,42,.05), 0 12px 32px rgba(15,23,42,.10); }

.cp .content.cp-page{ background:none; border:none; box-shadow:none; padding:0; min-height:0; display:flex; flex-direction:column; gap:16px; }
.cp svg{ fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cp-card{ background:var(--cp-card); border:1px solid var(--cp-brd); border-radius:16px; box-shadow:var(--cp-sh); }
.cp-tile{ flex:none; width:36px; height:36px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; color:var(--cp-tc);
  background:linear-gradient(180deg,var(--cp-t1),var(--cp-t2)); border:1px solid var(--cp-tb); }
.cp-tile svg{ width:17px; height:17px; }
.cp-tile.g{ color:#15803d; background:linear-gradient(180deg,#f0fdf4,#dcfce7); border-color:#bbf7d0; }
.cp-tile.y{ color:#b45309; background:linear-gradient(180deg,#fffbeb,#fef3c7); border-color:#fde68a; }

/* шапка и вкладки */
.cp-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; flex-wrap:wrap; }
.cp-title{ font-size:24px; font-weight:800; color:var(--cp-tx); letter-spacing:-.01em; }
.cp-sub{ margin-top:4px; font-size:13.5px; color:var(--cp-mu); }
.cp .panel-tabs.cp-tabs{ display:flex; gap:8px; padding:5px; margin:0; border:none; border-radius:16px; background:var(--cp-trk); }
.cp .cp-tabs .panel-tab-btn.cp-tab{ display:flex; align-items:center; gap:10px; padding:8px 16px 8px 9px; margin:0; border-radius:12px; border:1px solid transparent; background:transparent;
  font:inherit; color:var(--cp-tx2); cursor:pointer; box-shadow:none; transform:none; transition:background-color .2s, box-shadow .2s; }
.cp .cp-tabs .panel-tab-btn.cp-tab:not(.active):hover{ background:rgba(255,255,255,.6); }
/* выбранная — как на странице SLA: плашка без обводки с короткой тенью */
.cp .cp-tabs .panel-tab-btn.cp-tab.active{ background:var(--cp-card); border-color:transparent; box-shadow:0 1px 2px rgba(15,23,42,.10), 0 2px 6px rgba(79,70,229,.20); }
.cp-tab-ic{ width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:#4f46e5; background:#eef2ff; flex:none; }
.cp-tab-ic.grn{ color:#15803d; background:#dcfce7; } .cp-tab-ic svg{ width:16px; height:16px; }
.cp-tab-tx{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; }
.cp-tab-tx b{ font-size:13.5px; font-weight:600; color:var(--cp-tx); } .cp-tab-tx small{ font-size:11.5px; font-weight:600; color:var(--cp-mu); }

/* разделы */
.cp .panel-view.active{ display:flex; flex-direction:column; gap:14px; }
.cp-sec{ display:flex; align-items:baseline; gap:10px; margin:6px 2px -2px; flex-wrap:wrap; }
.cp-sec > b{ font-size:16px; color:var(--cp-tx); } .cp-sec > span{ font-size:12.5px; color:var(--cp-mu); }
.cp .export-buttons.analytics-actions{ display:flex; justify-content:flex-end; margin:0 0 -4px; }
.cp .btn-export.cp-ghost{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:10px; border:1px solid var(--cp-tb); background:var(--cp-t1);
  color:#3730a3; font:600 13px "Segoe UI",Arial,system-ui,sans-serif; cursor:pointer; box-shadow:none; transform:none; transition:background-color .15s, border-color .15s; }
.cp .btn-export.cp-ghost:hover{ background:#e0e7ff; border-color:#a5b4fc; }
/* «Экспорт в PDF» — с тенью, как карточки страницы */
.cp .btn-export.pdf.cp-ghost{ background:var(--cp-card); box-shadow:0 2px 6px rgba(15,23,42,.06), 0 8px 20px rgba(15,23,42,.10); }
.cp .btn-export.pdf.cp-ghost:hover{ background:#f5f7ff; }
.cp .btn-export svg{ width:14px; height:14px; flex:none; }

/* плитки «Как идём» */
.cp-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.cp-kpi{ padding:14px 16px; display:flex; flex-direction:column; min-height:150px; }
.cp-kpi-top{ display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:13px; font-weight:600; color:var(--cp-tx2); }
.cp-kpi-v{ font-size:28px; font-weight:800; letter-spacing:-.02em; line-height:1.05; color:var(--cp-tx); font-variant-numeric:tabular-nums; }
.cp .cp-kpi .stat-change{ margin-top:4px; padding:0; font-size:12.5px; font-weight:500; color:var(--cp-mu); }
.cp .cp-kpi .stat-change.positive{ color:var(--cp-ok); font-weight:600; } .cp .cp-kpi .stat-change.negative{ color:var(--cp-bad); font-weight:600; }
.cp-cmp{ margin-top:auto; padding-top:14px; display:flex; flex-direction:column; gap:6px; }
.cp-cmp-r{ display:grid; grid-template-columns:104px minmax(0,1fr) 40px; align-items:center; gap:8px; font-size:10.5px; color:var(--cp-mu2); }
.cp-cmp-r em{ font-style:normal; text-align:right; font-weight:700; color:var(--cp-tx2); font-size:11.5px; font-variant-numeric:tabular-nums; }
.cp-bar{ display:block; height:8px; border-radius:999px; background:var(--cp-trk); overflow:hidden; }
.cp-bar b{ display:block; height:100%; border-radius:inherit; }
.cp-bar b.ind{ background:#6366f1; } .cp-bar b.ok{ background:#22c55e; } .cp-bar b.bad{ background:#ef4444; } .cp-bar b.mute{ background:var(--cp-mu2); opacity:.45; }

/* широкие карточки */
.cp-wide{ padding:16px 20px 14px; }
.cp-wh{ display:flex; align-items:center; gap:12px; padding-bottom:8px; }
.cp-wt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; } .cp-wt b{ font-size:15.5px; color:var(--cp-tx); } .cp-wt span{ font-size:12.5px; color:var(--cp-mu); }
.cp-wp{ text-align:right; } .cp-wp b{ display:block; font-size:24px; font-weight:800; line-height:1.1; color:var(--cp-tx); font-variant-numeric:tabular-nums; }
.cp-wp span{ font-size:12px; color:var(--cp-mu); }
.cp .chart-placeholder.cp-chart{ display:block; min-height:0; height:auto; padding:0; border:none; background:none; color:var(--cp-mu); font-size:13px; }
.cp-empty{ padding:24px 0; text-align:center; color:var(--cp-mu2); font-size:13px; }

/* динамика и отделы — в один ряд одной высоты */
.cp-two{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:14px; align-items:stretch; }
.cp-two > .cp-card{ display:flex; flex-direction:column; min-width:0; }
.cp-trend .cp-chart{ flex:1; display:flex; flex-direction:column; }
.cp-tbars{ flex:1; min-height:110px; display:flex; align-items:stretch; gap:4px; padding-top:22px; border-bottom:1px solid var(--cp-line); }
.cp-tb{ position:relative; flex:1; display:flex; align-items:flex-end; }
.cp-tb i{ display:block; width:100%; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,#818cf8,#6366f1); opacity:.85; transition:opacity .15s; }
.cp-tb:hover i{ opacity:1; background:linear-gradient(180deg,#6366f1,#4338ca); }
.cp-tb i.z, .cp-tb:hover i.z{ background:none; }
.cp-tb-tip{ position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); z-index:5; white-space:nowrap; padding:5px 9px; border-radius:7px;
  background:rgba(15,23,42,.94); color:#fff; font-size:11px; font-weight:600; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .12s; }
.cp-tb:hover .cp-tb-tip{ opacity:1; visibility:visible; }
.cp-tb:first-child .cp-tb-tip{ left:0; transform:none; } .cp-tb:last-child .cp-tb-tip{ left:auto; right:0; transform:none; }
.cp-tweeks{ display:grid; margin-top:8px; font-size:10.5px; color:var(--cp-mu2); text-align:center; }

/* таблицы */
.cp-tbl{ width:100%; border-collapse:collapse; font-size:13px; }
.cp-tbl th{ text-align:left; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--cp-mu2); padding:9px 10px 9px 0; border-top:1px solid var(--cp-line); background:var(--cp-card); }
.cp-tbl td{ padding:10px 10px 10px 0; border-top:1px solid var(--cp-line); color:var(--cp-tx2); vertical-align:middle; }
.cp-tbl th:last-child, .cp-tbl td:last-child{ padding-right:0; }
.cp-tbl b{ color:var(--cp-tx); font-variant-numeric:tabular-nums; }
.cp-r{ text-align:right !important; } .cp-c{ text-align:center !important; }
.cp-mu{ color:var(--cp-mu); } .cp-sm{ font-size:12px; margin-left:6px; }
/* отделы: видно 4 строки, остальное — прокруткой внутри карточки */
.cp-dep-scroll{ flex:1; max-height:176px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#cbd5e1 transparent; margin-right:-8px; padding-right:8px; }
.cp-dep-scroll thead th{ position:sticky; top:0; z-index:1; }
.cp-depts .cp-chart{ flex:1; display:flex; flex-direction:column; min-height:0; }
.cp-tbl-dep td{ padding-top:8px; padding-bottom:8px; }
.cp-tbl-dep td:nth-child(2){ width:38%; }
.cp-dep{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--cp-tx); min-width:0; }
.cp-dep i{ width:8px; height:8px; border-radius:50%; flex:none; }
.cp-dep span{ overflow-wrap:anywhere; }
.cp-more{ padding-top:8px; font-size:11.5px; color:var(--cp-mu2); text-align:center; border-top:1px solid var(--cp-line); }
/* топ сотрудников */
.cp .leaders-wrap{ display:block; min-height:0; padding:0; border:none; background:none; max-height:none; overflow:visible; }
.cp-tbl-lead td:first-child, .cp-tbl-lead th:first-child{ width:44px; }
.cp-tbl-lead th:nth-child(3){ width:11%; } .cp-tbl-lead th:nth-child(4){ width:14%; } .cp-tbl-lead th:nth-child(5){ width:17%; } .cp-tbl-lead th:nth-child(6){ width:22%; }
/* места в топе: корона у лидера, кольца у 2 и 3 */
.cp-rank-crown{ display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; }
.cp .cp-crown{ width:24px; height:24px; fill:#f59e0b; stroke:#d97706; stroke-width:1.2; stroke-linejoin:round; }
.cp-ring{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; box-sizing:border-box; border-radius:50%; font-size:12px; font-weight:800; border:2px solid; }
.cp-ring.r1{ color:#64748b; border-color:#94a3b8; } .cp-ring.r2{ color:#c2410c; border-color:#ea7d3c; }
.cp-pct{ font-weight:700; font-variant-numeric:tabular-nums; }
.cp-pct.ok, .cp-score em.ok{ color:var(--cp-ok); } .cp-pct.warn, .cp-score em.warn{ color:#d97706; } .cp-pct.bad, .cp-score em.bad{ color:var(--cp-bad); }
.cp-bar b.warn{ background:#f59e0b; }
/* «Как считается рейтинг»: иконка у заголовка, по нажатию — тултип в стиле
   системных (.sc-tip на странице SLA): тёмная плашка, белый текст */
.cp-wt-r{ display:flex; align-items:center; gap:6px; }
.cp-infow{ position:relative; display:inline-flex; }
.cp-info{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; padding:0; border:none; border-radius:999px;
  background:none; color:#6366f1; cursor:pointer; transition:background-color .15s ease; }
.cp-info svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.cp-info:hover, .cp-info[aria-expanded="true"]{ background:rgba(99,102,241,.1); }
.cp-info:focus-visible{ outline:2px solid #818cf8; outline-offset:2px; }
.cp-tip{ position:absolute; left:-14px; top:calc(100% + 8px); z-index:30; width:340px; display:flex; flex-direction:column; gap:6px; padding:10px 12px;
  border-radius:8px; background:rgba(15,23,42,.94); color:#e2e8f0; font-size:11.5px; font-weight:400; line-height:1.5; text-align:left; white-space:normal;
  box-shadow:0 10px 28px rgba(15,23,42,.28); opacity:0; visibility:hidden; transform:translateY(-4px);
  transition:opacity .15s ease, transform .15s ease, visibility 0s linear .15s; }
.cp-tip::after{ content:""; position:absolute; left:19px; bottom:100%; border:6px solid transparent; border-bottom-color:rgba(15,23,42,.94); }
.cp-tip > b{ color:#fff; font-size:12.5px; font-weight:700; }
.cp-tip p{ margin:0; }
.cp-tip .cp-tip-ft{ margin-top:2px; padding-top:7px; border-top:1px solid rgba(148,163,184,.25); color:#94a3b8; font-size:11px; }
.cp-infow.up .cp-tip{ top:auto; bottom:calc(100% + 8px); transform:translateY(4px); }
.cp-infow.up .cp-tip::after{ bottom:auto; top:100%; border-bottom-color:transparent; border-top-color:rgba(15,23,42,.94); }
html[data-theme="dark"] .cp-infow.up .cp-tip::after{ border-bottom-color:transparent; border-top-color:#0b1220; }
.cp-infow.open .cp-tip{ opacity:1; visibility:visible; transform:none; transition-delay:0s; }
@media (prefers-reduced-motion: reduce){ .cp-tip{ transition:none; transform:none; } }
html[data-theme="dark"] .cp-info{ color:#a5b4fc; }
html[data-theme="dark"] .cp-info:hover, html[data-theme="dark"] .cp-info[aria-expanded="true"]{ background:rgba(129,140,248,.14); }
html[data-theme="dark"] .cp-tip{ background:#0b1220; border:1px solid #2c3a4f; box-shadow:0 12px 30px rgba(0,0,0,.55); }
html[data-theme="dark"] .cp-tip::after{ border-bottom-color:#0b1220; }
/* своя строка (на /statistics) — только подпись «· вы» у имени */
.cp-you{ font-weight:600; color:#6366f1; }
.cp-tbl-lead tr.cp-gap td{ padding:2px 0 2px 18px; color:var(--cp-mu2); font-weight:700; letter-spacing:.2em; }
html[data-theme="dark"] .cp-you{ color:#a5b4fc; }
.cp-few td{ font-size:12.5px; color:var(--cp-mu); padding-top:12px; } .cp-few-t{ font-weight:600; color:var(--cp-tx2); }
.cp-medal{ width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:#fff; }
.cp-medal.m0{ background:linear-gradient(180deg,#fbbf24,#d97706); } .cp-medal.m1{ background:linear-gradient(180deg,#cbd5e1,#94a3b8); } .cp-medal.m2{ background:linear-gradient(180deg,#fdba74,#c2410c); }
.cp-rk{ display:inline-flex; width:26px; justify-content:center; font-weight:700; color:var(--cp-mu); }
.cp-who{ display:flex; align-items:center; gap:10px; min-width:0; }
.cp-av{ flex:none; position:relative; width:32px; height:32px; border-radius:10px; overflow:hidden; display:inline-flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:#fff; background:linear-gradient(135deg,#64748b,#334155); }
.cp-av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cp-who-t{ display:flex; flex-direction:column; min-width:0; } .cp-who-t b{ font-weight:600; } .cp-who-t small{ font-size:12px; color:var(--cp-mu); }
.cp-stars{ display:inline-flex; gap:2px; font-size:15px; line-height:1; vertical-align:middle; }
.cp-star{ position:relative; display:inline-block; color:var(--cp-trk); }
.cp-star-f{ position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; color:#f59e0b; }
.cp-score{ display:flex; align-items:center; gap:10px; } .cp-score .cp-bar{ flex:1; } .cp-score em{ font-style:normal; font-weight:700; color:var(--cp-tx); min-width:28px; text-align:right; }

/* ── отчёты ── */
.cp .reports-wrap{ padding:18px 22px; border:1px solid var(--cp-brd); border-radius:16px; background:var(--cp-card); box-shadow:var(--cp-sh); }
.cp .report-group, .cp .report-group + .report-group{ display:grid; grid-template-columns:170px minmax(0,1fr); gap:16px; padding:14px 0; border-top:1px solid var(--cp-line); }
.cp .report-group-title{ display:flex; align-items:center; gap:8px; margin:0; padding-top:24px; align-self:start; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--cp-mu2); }
.cp .report-group-title::after{ content:none; }
.cp .report-group-title svg{ width:15px; height:15px; color:#6366f1; flex:none; }
.cp .report-filters{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; align-items:end; }
.cp .report-filters.cp-period{ grid-template-columns:96px 96px auto; justify-content:start; }
/* поля дат — по ширине «дд.мм.гггг», дата по центру */
.cp .cp-period .report-input{ padding:0 6px; text-align:center; font-variant-numeric:tabular-nums; }
.cp .report-filters.cp-tagrow{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); }
.cp .report-field.report-field-wide{ grid-column:auto; }
.cp .report-label{ font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--cp-tx2); }
.cp .report-input, .cp .report-rich-select .rich-select-btn, .cp .tags-container{ box-sizing:border-box; height:38px; min-height:38px; border:1px solid var(--cp-fieldb); border-radius:10px;
  background:var(--cp-field); color:var(--cp-tx); font-size:13px; }
.cp .report-input{ padding:0 12px; width:100%; }
.cp .report-input:focus, .cp .report-rich-select .rich-select-btn[aria-expanded="true"]{ border-color:#6366f1; outline:none; box-shadow:0 0 0 3px rgba(99,102,241,.14); }
.cp .tags-container{ height:auto; padding:4px 8px; gap:6px; }
.cp .tags-container .tags-input{ font-size:13px; }
.cp .tag-item{ font-size:12px; font-weight:600; color:#3730a3; background:#eef2ff; border:1px solid #c7d2fe; border-radius:7px; padding:2px 8px; }
/* крестик метки — по центру строки (старое правило опускало его на .7px) */
.cp .tag-item{ line-height:16px; }
.cp .tag-remove{ height:16px; }
.cp .tag-remove svg{ top:.5px; }
/* быстрый период — сегмент как на странице SLA */
.cp .report-group .quick-range{ grid-column:auto; display:inline-flex; flex-wrap:nowrap; width:max-content; align-items:center; gap:2px; height:38px; padding:3px; margin:0; border-radius:10px; background:var(--cp-trk); box-sizing:border-box; }
.cp .quick-range-btn{ height:30px; padding:0 12px; border:none; border-radius:8px; background:transparent; color:var(--cp-mu); font-family:inherit; font-size:12.5px; font-weight:500; box-shadow:none; transform:none; cursor:pointer; }
.cp .quick-range-btn:hover:not(.active){ background:rgba(255,255,255,.75); color:var(--cp-tx2); }
.cp .quick-range-btn.active{ background:linear-gradient(180deg,#6366f1,#4f46e5); color:#fff; box-shadow:0 2px 6px rgba(79,70,229,.3); }
/* строка действий; «Найдено…» — прежняя плашка страницы, только без отступа сверху */
.cp .report-actions .report-meta{ margin:0 auto 0 0; }
.cp .report-actions{ display:flex; align-items:center; gap:12px; margin:0; padding-top:16px; border-top:1px solid var(--cp-line); }
.cp #reportsView .btn-export.cp-primary{ display:inline-flex; align-items:center; justify-content:center; text-align:center; line-height:1.2; gap:8px; padding:10px 20px; border-radius:10px; border:none; background:linear-gradient(180deg,#6366f1,#4f46e5);
  color:#fff; font:600 13.5px "Segoe UI",Arial,system-ui,sans-serif; box-shadow:0 2px 8px rgba(79,70,229,.3); cursor:pointer; transform:none; }
.cp #reportsView .btn-export.cp-primary:hover:not(:disabled){ background:linear-gradient(180deg,#4f46e5,#4338ca); }
.cp #reportsView .btn-export.cp-primary:disabled, .cp #reportsView .btn-export.cp-primary.is-disabled{ opacity:.45; box-shadow:none; cursor:not-allowed; }
/* идёт выгрузка — кнопка того же вида, что активная, без сдвигов */
.cp #reportsView .btn-export.cp-primary.is-busy, html[data-theme="dark"] .cp #reportsView .btn-export.cp-primary.is-busy{ opacity:1; cursor:progress; background:linear-gradient(180deg,#6366f1,#4f46e5); color:#fff; box-shadow:0 2px 8px rgba(79,70,229,.3); }
.cp .btn-export.is-busy > span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cp .btn-export.cp-ghost.is-busy{ opacity:1; cursor:progress; justify-content:center; }

@media (max-width:1200px){
  .cp-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-two{ grid-template-columns:1fr; }
  .cp .report-filters{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp .report-filters.cp-period, .cp .report-filters.cp-tagrow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ═════════ тёмная тема ═════════ */
html[data-theme="dark"] .cp{ --cp-card:#1b2433; --cp-brd:rgba(148,163,184,.2); --cp-line:#2c3a4f; --cp-tx:#e5e7eb; --cp-tx2:#cbd5e1; --cp-mu:#94a3b8; --cp-mu2:#64748b;
  --cp-trk:#243145; --cp-field:#141c29; --cp-fieldb:#2c3a4f; --cp-t1:rgba(99,102,241,.16); --cp-t2:rgba(99,102,241,.1); --cp-tb:rgba(129,140,248,.32); --cp-tc:#c7d2fe;
  --cp-ok:#4ade80; --cp-bad:#f87171; --cp-sh:0 2px 6px rgba(0,0,0,.3), 0 14px 36px rgba(0,0,0,.45); }
html[data-theme="dark"] .cp .content.cp-page{ background:none; border:none; box-shadow:none; }
html[data-theme="dark"] .cp-tile.g{ color:#86efac; background:rgba(34,197,94,.12); border-color:rgba(34,197,94,.3); }
html[data-theme="dark"] .cp-tile.y{ color:#fcd34d; background:rgba(234,179,8,.12); border-color:rgba(234,179,8,.3); }
html[data-theme="dark"] .cp-tab-ic{ background:rgba(99,102,241,.18); color:#c7d2fe; } html[data-theme="dark"] .cp-tab-ic.grn{ background:rgba(34,197,94,.14); color:#86efac; }
html[data-theme="dark"] .cp .cp-tabs .panel-tab-btn.cp-tab:not(.active){ background:transparent; border-color:transparent; color:var(--cp-tx2); }
html[data-theme="dark"] .cp .cp-tabs .panel-tab-btn.cp-tab:not(.active):hover{ background:rgba(255,255,255,.04); }
html[data-theme="dark"] .cp .cp-tabs .panel-tab-btn.cp-tab.active{ background:var(--cp-card); border-color:transparent; color:var(--cp-tx2); box-shadow:0 1px 2px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.40); }
html[data-theme="dark"] .cp .btn-export.cp-ghost{ background:var(--cp-t1); border-color:var(--cp-tb); color:#c7d2fe; box-shadow:none; }
html[data-theme="dark"] .cp .btn-export.cp-ghost:hover{ background:rgba(99,102,241,.24); border-color:rgba(129,140,248,.5); }
html[data-theme="dark"] .cp .btn-export.pdf.cp-ghost{ background:var(--cp-card); box-shadow:0 2px 6px rgba(0,0,0,.3), 0 10px 24px rgba(0,0,0,.4); }
html[data-theme="dark"] .cp .btn-export.pdf.cp-ghost:hover{ background:#243145; }
html[data-theme="dark"] .cp .cp-kpi .stat-change{ color:var(--cp-mu); }
html[data-theme="dark"] .cp .cp-kpi .stat-change.positive{ color:var(--cp-ok); } html[data-theme="dark"] .cp .cp-kpi .stat-change.negative{ color:var(--cp-bad); }
html[data-theme="dark"] .cp-tb-tip{ background:#0b1220; border:1px solid #2c3a4f; }
html[data-theme="dark"] .cp-dep-scroll{ scrollbar-color:#334155 transparent; }
html[data-theme="dark"] .cp-star{ color:#334155; }
html[data-theme="dark"] .cp-ring.r1{ color:#cbd5e1; } html[data-theme="dark"] .cp-ring.r2{ color:#fdba74; }
html[data-theme="dark"] .cp-pct.warn, html[data-theme="dark"] .cp-score em.warn{ color:#fbbf24; }

html[data-theme="dark"] .cp .tbl, html[data-theme="dark"] .cp-tbl td, html[data-theme="dark"] .cp-tbl th{ background:transparent; }
html[data-theme="dark"] .cp-tbl thead th{ background:var(--cp-card); }
html[data-theme="dark"] .cp .reports-wrap{ background:var(--cp-card); border-color:var(--cp-brd); }
html[data-theme="dark"] .cp .report-group-title{ color:var(--cp-mu2); }
html[data-theme="dark"] .cp .report-label{ color:var(--cp-tx2); }
html[data-theme="dark"] .cp .report-input, html[data-theme="dark"] .cp .report-rich-select .rich-select-btn, html[data-theme="dark"] .cp .tags-container{ background:var(--cp-field); border-color:var(--cp-fieldb); color:var(--cp-tx); }
html[data-theme="dark"] .cp .tag-item{ color:#c7d2fe; background:rgba(99,102,241,.18); border-color:rgba(129,140,248,.35); }
html[data-theme="dark"] .cp .report-group .quick-range{ background:#141c29; }
html[data-theme="dark"] .cp .quick-range-btn:not(.active){ background:transparent; border:none; color:var(--cp-mu); }
html[data-theme="dark"] .cp .quick-range-btn:not(.active):hover{ background:#243145; color:var(--cp-tx2); }
html[data-theme="dark"] .cp .quick-range-btn.active{ background:linear-gradient(180deg,#6366f1,#4f46e5); border:none; color:#fff; }
html[data-theme="dark"] .cp #reportsView .btn-export.cp-ghost{ background:var(--cp-t1); border-color:var(--cp-tb); color:#c7d2fe; }
html[data-theme="dark"] .cp #reportsView .btn-export.cp-primary:not(.secondary):not(:disabled):not(.is-disabled), html[data-theme="dark"] .cp #reportsView .btn-export.cp-primary:not(.secondary):not(:disabled):not(.is-disabled):hover{ background:linear-gradient(180deg,#6366f1,#4f46e5); border:none; color:#fff; }
html[data-theme="dark"] .cp #reportsView .btn-export.cp-primary:disabled, html[data-theme="dark"] .cp #reportsView .btn-export.cp-primary.is-disabled{ background:linear-gradient(180deg,#6366f1,#4f46e5); color:#fff; opacity:.4; }
