/* ==========================================================================
   FF/14-DASHBOARD.CSS — "Chatbotlar" → "Dashboardlar" almashuvi
   Otabek, 2026-08-07.

   Eng OXIRGI qatlam (13-tuzatish.css dan keyin yuklanadi). Ichida faqat
   YANGI sinflar bor — mavjud hech bir qoida qayta yozilmaydi, shuning
   uchun bu <link> olib tashlansa sayt eski holatiga qaytadi (faqat
   4-xizmat kartasining demosi bezaksiz qoladi).

   A. .mini-dash — 4-xizmat kartasidagi jonli panel demosi
   B. .wv-5 / .wv-6 — portfoliodagi ikki yangi dashboard keysi uchun yuza
   ========================================================================== */


/* ==========================================================================
   A. MINI-DASH — "Savdo paneli" demosi

   Boshqa demolar bilan bir tilda: oq "ekran", 10 soniyalik tsikl,
   `.svc-card.is-live` ko'rinishga kirganda uyg'onadi.

   Ustunlar `clip-path` bilan pastdan yuqoriga ochiladi — `height` yoki
   `scaleY` emas. Sababi ikkita: (1) burchak radiusi cho'zilib ellipsga
   aylanmaydi, (2) parts/03-xizmatlar.css:888 dagi statik rejimlar
   (.no-anim / .qa-flat / .qa-show / .works-static) va prefers-reduced-
   motion bloki `clip-path:none !important` ni ALLAQACHON beradi — ya'ni
   qo'shimcha bekor qilish qoidasi yozish shart emas.
   ========================================================================== */

/* Sahna bolalari sukut bo'yicha `opacity:0` (parts/03:161) — bu demoda
   qatorlar animatsiyalanmaydi, faqat ustunlar ochiladi. */
.svc-stage .scene-dash > *{ opacity:1; }

.svc-stage .scene-dash{ gap:10px; }


/* --- A.1 Panel sarlavhasi ----------------------------------------------- */
.dash-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex:none;
  margin-bottom:12px;
  font-family:var(--body);
}

.dash-name{
  font-size:14px;
  font-weight:500;
  letter-spacing:normal;
  color:var(--ink);
}

/* "jonli" belgisi — mini-ai dagi `.ai-on` bilan bir og'irlikda */
.dash-live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:500;
  letter-spacing:normal;
  color:var(--ink-mut);
}


/* --- A.2 KPI plitalari --------------------------------------------------- */
.dash-kpis{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  flex:none;
}

.dash-kpi{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:baseline;
  column-gap:8px;
  padding:9px 11px;
  border-radius:12px;
  background:var(--panel-2);
  box-shadow:inset 0 0 0 1px rgba(46,15,69,.05);
  min-width:0;
}

.dash-kpi em{
  grid-column:1 / -1;
  margin-bottom:3px;
  font-style:normal;
  font-family:var(--body);
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:normal;
  color:var(--ink-mut);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dash-kpi b{
  grid-column:1;
  font-family:var(--display);
  font-size:19px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-0.04em;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* O'lchov birligi ("mln") — raqamdan past ohangda */
.dash-kpi b span{
  font-size:11.5px;
  font-weight:500;
  letter-spacing:normal;
  color:var(--ink-mut);
}

/* O'sish chipi — mayda matn, shuning uchun `--blue-ink` (oqda 7.14:1) */
.dash-up{
  grid-column:2;
  justify-self:end;
  padding:3px 7px;
  border-radius:100px;
  background:var(--blue-lo);
  font-family:var(--body);
  font-style:normal;
  font-size:10.5px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:normal;
  color:var(--blue-ink);
  white-space:nowrap;
}


/* --- A.3 Ustunli diagramma ----------------------------------------------
   Balandlik ANIQ berilgan (flex:1 emas): ustunlarning `height:var(--h)`
   foizi hisoblanishi uchun ota-element balandligi aniq bo'lishi shart.
   Pastdagi tasdiq chipi `margin-top:auto` bilan sahna tagiga bosiladi va
   qolgan bo'sh joyni o'zi yutadi. */
.dash-chart{
  flex:none;
  height:92px;
  display:flex;
  align-items:flex-end;
  gap:6px;
  padding:10px 11px;
  border-radius:12px;
  background:var(--panel-2);
  box-shadow:inset 0 0 0 1px rgba(46,15,69,.05);
}

.dash-chart i{
  flex:1 1 0;
  min-width:0;
  height:var(--h);
  border-radius:5px 5px 2px 2px;
  background:rgba(124,58,237,.20);
  clip-path:inset(100% 0 0 0);
  animation:dashBar 10s cubic-bezier(.33, 1, .68, 1) infinite;
}

/* Bugungi ustun — to'liq aksent + qisqa halo */
.dash-chart i.is-now{
  background:linear-gradient(180deg, var(--blue-2) 0%, var(--blue) 100%);
  box-shadow:0 4px 10px -6px rgba(124,58,237,.75);
}

@keyframes dashBar{
  0%        { clip-path:inset(100% 0 0 0); }
  16%, 88%  { clip-path:inset(0 0 0 0); }
  100%      { clip-path:inset(100% 0 0 0); }
}

.dash-chart i:nth-child(1){ animation-delay:0s }
.dash-chart i:nth-child(2){ animation-delay:.09s }
.dash-chart i:nth-child(3){ animation-delay:.18s }
.dash-chart i:nth-child(4){ animation-delay:.27s }
.dash-chart i:nth-child(5){ animation-delay:.36s }
.dash-chart i:nth-child(6){ animation-delay:.45s }
.dash-chart i:nth-child(7){ animation-delay:.54s }


/* --- A.4 Tasdiq chipi ---------------------------------------------------- */
/* mini-ai dagidek: sahna tagiga bosiladi (.scene-ai .mini-chip bilan bir xil) */
.scene-dash .mini-chip{ margin-top:auto; }


/* --- A.5 Responsiv ------------------------------------------------------- */
@media (max-width:1079px){
  /* Planshetda sahna 266px — diagramma bir oz pasayadi */
  .dash-chart{ height:84px; }
}

@media (max-width:767px){
  /* Mobilda sahna 274px, mini padding 14px */
  .dash-chart{ height:88px; padding:9px 10px; gap:5px; }
  .dash-kpi{ padding:8px 10px; }
  .dash-kpi b{ font-size:18px; }
  .dash-kpi em{ font-size:10.5px; }
}

@media (max-width:420px){
  /* Ikki KPI plitasi 302px kartada yonma-yon siqilib qolmasin */
  .dash-kpis{ gap:6px; }
  .dash-kpi{ padding:8px 9px; }
  .dash-kpi b{ font-size:17px; }
}


/* ==========================================================================
   B. #trust — "1,5 yil+" raqami
   `#trust .stat-num` flex + `gap:2px` bilan yig'iladi; bu "30+" uchun
   to'g'ri, lekin qo'shimcha SO'Z bo'lganda ("yil+") raqamga yopishib
   qoladi. Faqat shu bitta plita uchun nafas kengaytiriladi.
   ========================================================================== */
#trust .stat-num small.unit{ margin-left:3px; }


/* ==========================================================================
   C. PORTFOLIO — ikki yangi dashboard keysining yuzasi
   ff/11-rang-final.css:423 `.wv-1…4` ni `!important` bilan qaytargan;
   5 va 6 undan oldingi fayllarda umuman yo'q, lekin bir xil kuch bilan
   yozamiz — kelajakda ff/11 kengaysa ham naqsh buzilmasin.
   ========================================================================== */
.wv-5{ background:linear-gradient(150deg, rgba(124,58,237,.18), rgba(46,15,69,.06)) !important; }
.wv-6{ background:linear-gradient(150deg, rgba(46,15,69,.11),  rgba(124,58,237,.15)) !important; }
