/* Фирменная гамма DESSA (как dessa-mp.ru / DESSA FBS):
   navy #0B1F3A (шапка/сайдбар), акцент #0D6EFD, фиолетовый чипов #7B2FBE,
   приглушённый синий #9DB4DD, фон #F4F6F9, карточки r14 с мягкой тенью */
:root{
  --dz-sidebar:#0b1f3a; --dz-sidebar-ink:#9db4dd; --dz-sidebar-active:#16325c;
  --dz-accent:#0d6efd; --dz-violet:#7b2fbe;
  --series-1:#0d6efd; --series-2:#7b2fbe; --series-3:#198754; --series-4:#ffc107;
  --surface-1:#fcfdff; --text-secondary:#5b6472; --grid:#e3e7ee;
}
[data-bs-theme="dark"]{
  --series-1:#4d94ff; --series-2:#a05ce6; --series-3:#2fb380; --series-4:#e0aa10;
  --surface-1:#131c2e; --text-secondary:#aab6c8; --grid:#2a3550;
}
body{background:#f4f6f9;}
[data-bs-theme="dark"] body{background:#0e1524;}
/* ---- layout ---- */
.dz-shell{display:flex;min-height:100vh;}
.dz-sidebar{width:232px;flex:0 0 232px;background:var(--dz-sidebar);color:var(--dz-sidebar-ink);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.dz-brand{padding:18px 20px 14px;color:#fff;font-weight:700;letter-spacing:.4px;font-size:1.05rem;}
.dz-brand small{display:block;font-weight:400;color:#6e83a8;letter-spacing:0;margin-top:2px;}
.dz-nav{flex:1;overflow-y:auto;padding:6px 10px;}
.dz-nav .nav-link{color:var(--dz-sidebar-ink);border-radius:8px;padding:8px 12px;margin-bottom:2px;
  font-size:.92rem;display:flex;align-items:center;gap:10px;}
.dz-nav .nav-link i{width:18px;text-align:center;}
.dz-nav .nav-link:hover{background:rgba(255,255,255,.07);color:#fff;}
.dz-nav .nav-link.active{background:var(--dz-sidebar-active);color:#fff;box-shadow:inset 3px 0 0 var(--dz-accent);}
.dz-nav .nav-link .badge{margin-left:auto;}
.dz-nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#5a6f95;padding:14px 12px 4px;}
.dz-sysline{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#6e83a8;}
.dz-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.dz-topbar{background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);
  padding:10px 22px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:100;}
.dz-content{padding:22px;max-width:1500px;}
.page{display:none;}
.page.active{display:block;}
/* ---- widgets ---- */
/* KPI-ряд как grid: равные ширины КОЛОНОК и равные высоты ВСЕХ плиток (grid-auto-rows:1fr),
   в т.ч. между рядами при переносе на узких экранах */
#kpiRow.row{display:grid;margin:0 0 1rem;gap:12px;
  grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;}
#kpiRow.row > *{width:100%;max-width:100%;padding:0;margin:0;min-width:0;}
@media (max-width: 1199.98px){ #kpiRow.row{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width: 575.98px){ #kpiRow.row{grid-template-columns:repeat(2,minmax(0,1fr));} }
.kpi-card{height:100%;}
.kpi-card .card-body{display:flex;flex-direction:column;}
.kpi-card .kpi-v{font-size:1.45rem;font-weight:700;line-height:1.1;}
.kpi-card .kpi-l{font-size:.78rem;color:var(--bs-secondary-color);}
.kpi-delta-up{color:#198754;font-size:.8rem;display:block;line-height:1.25;margin-top:auto;}
.kpi-delta-dn{color:#dc3545;font-size:.8rem;display:block;line-height:1.25;margin-top:auto;}
@media (max-width: 575.98px){ .kpi-card .kpi-v{font-size:1.15rem;} .kpi-card .card-body{padding:.7rem .8rem;} }
.card{border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 2px 4px rgba(0,0,0,.075);} /* карточки как в DESSA FBS */
[data-bs-theme="dark"] .card{border-color:rgba(255,255,255,.09);}
.card .card-header{border-radius:14px 14px 0 0;}
.card-header{background:transparent;font-weight:600;font-size:.95rem;}
.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--bs-secondary-color);font-weight:600;border-bottom-width:1px;}
.table td{vertical-align:middle;font-size:.9rem;}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;}
.dot-g{background:#198754;} .dot-y{background:#eda100;} .dot-r{background:#dc3545;} .dot-0{background:#adb5bd;}
.prio-r{color:#dc3545;} .prio-y{color:#b07503;} .prio-0{color:var(--bs-secondary-color);}
.badge-topic{font-weight:500;font-size:.72rem;}
.ci-item{padding:7px 0;border-bottom:1px dashed var(--bs-border-color);min-width:0;}
.ci-item:last-child{border-bottom:0;}
.ci-name{font-size:.85rem;font-weight:600;overflow-wrap:anywhere;margin-bottom:2px;}
.feed-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--bs-border-color);}
.feed-item:last-child{border-bottom:0;}
.feed-time{flex:0 0 44px;font-size:.78rem;color:var(--bs-secondary-color);padding-top:2px;}
.feed-body{font-size:.87rem;}
.mode-pill .btn{--bs-btn-padding-y:.22rem;--bs-btn-padding-x:.7rem;--bs-btn-font-size:.8rem;}
.spark{width:100%;height:56px;display:block;}
.chart-frame{background:var(--surface-1);border:1px solid var(--bs-border-color);border-radius:10px;padding:14px 16px;}
.exp-arrow-dn{color:#198754;font-weight:600;}
.exp-arrow-up{color:#dc3545;font-weight:600;}
.mini-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bs-secondary-color);}
.decision-actions{flex-wrap:wrap;} /* кнопки не вылезают за карточку на узких экранах */
.decision-actions .btn{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.55rem;--bs-btn-font-size:.82rem;}
.cursor-p{cursor:pointer;}
.legend-chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary);margin-right:14px;}
.legend-chip .sw{width:10px;height:10px;border-radius:3px;display:inline-block;}
.report-tile{border:1px solid var(--bs-border-color);border-radius:10px;padding:16px;height:100%;
  transition:box-shadow .12s;background:var(--bs-body-bg);}
.report-tile:hover{box-shadow:0 3px 10px rgba(16,24,40,.09);}
.kb-rule{border-left:3px solid var(--series-1);padding:8px 12px;background:var(--bs-tertiary-bg);
  border-radius:0 8px 8px 0;margin-bottom:10px;font-size:.88rem;}
.wizard-step{font-size:.85rem;}
/* мобильное меню: сайдбар как выезжающая панель по бургеру */
@media (max-width: 991.98px){
  .dz-sidebar{position:fixed;left:-240px;top:0;z-index:1500;transition:left .18s ease;box-shadow:4px 0 24px rgba(0,0,0,.35);}
  .dz-sidebar.open{left:0;}
}

/* --- подстройка % скидки/наценки (лестница, как pct-кнопки бота) --- */
.pct-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;}
.pct-chip{border:1px solid var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color);
  border-radius:999px;font-size:.76rem;line-height:1;padding:5px 10px;cursor:pointer;
  transition:border-color .12s, background .12s;}
.pct-chip:hover{border-color:var(--dz-accent);color:var(--dz-accent);}
.pct-chip.active{background:var(--dz-accent);border-color:var(--dz-accent);color:#fff;font-weight:600;cursor:default;}
.pct-chip:disabled{opacity:.55;cursor:wait;}
/* кликабельные KPI-плитки */
.kpi-link{cursor:pointer;transition:box-shadow .12s, transform .12s;}
.kpi-link:hover{box-shadow:0 3px 10px rgba(16,24,40,.10);transform:translateY(-1px);}
#dashCards .card{cursor:pointer;transition:box-shadow .12s;}
#dashCards .card:hover{box-shadow:0 3px 10px rgba(16,24,40,.10);}

/* --- дополнения живого UI --- */
.login-overlay{position:fixed;inset:0;background:rgba(11,31,58,.82);display:flex;
  align-items:center;justify-content:center;z-index:2000;}
.card-resolved{opacity:.65;}
.via-badge{font-size:.72rem;}
.flash{animation:flash 1.2s ease-out;}
@keyframes flash{0%{box-shadow:0 0 0 3px rgba(13,110,253,.55);}100%{box-shadow:0 0 0 0 rgba(13,110,253,0);}}
/* активные чипы-фильтры — navy, как чип платформы в шапке DESSA FBS */
.btn-dark{--bs-btn-bg:#0b1f3a;--bs-btn-border-color:#0b1f3a;--bs-btn-hover-bg:#16325c;
  --bs-btn-hover-border-color:#16325c;--bs-btn-active-bg:#16325c;--bs-btn-active-border-color:#16325c;}
