/* =========================================================================
   KABINET — fuqarolar shaxsiy kabineti.
   main.css'dagi dizayn tokenlari (--c-*, --ff-*, --r-*, --s-*) va komponentlar
   (.btn, .field, .dropdown, .chips, .dropzone, .check, .review) ustiga quriladi.
   ========================================================================= */

body{background:var(--grad-bg)}

/* Header (.nav / .nav--solid / .cab-user-menu*) lives in main.css now — it's
   part of the shared site-header partial used on every page, not just cabinet
   ones (see resources/views/partials/site-header.blade.php). */

.cab-main{padding-block:var(--s-6)}
.cab-head{margin-bottom:var(--s-5)}
.cab-head h1{font-size:clamp(1.35rem,2.4vw,1.8rem);margin-bottom:5px}
.cab-head p{color:var(--c-ink-soft);font-size:var(--fs-15);line-height:1.5}

/* Modifier for headers with a right-aligned action (back/create button) —
   align to the top so the button doesn't drift away from a 2-line title. */
.cab-head--split{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cab-head--split .btn{flex:none}

/* `--ff-mono` hech qachon eʼlon qilinmagan token edi — natijada bu blok
   brauzerning tizim monospace shriftiga (Windows'da Consolas/Cascadia)
   tushib qolar va kabinetda UCHINCHI, brendga aloqasi yoʻq garnitura
   paydo boʻlardi. Raqamli koʻrinish endi garnitura bilan emas, tabular
   raqamlar + treking bilan beriladi. */
.cab-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff-body);font-size:12.5px;font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;color:var(--c-ink-faint);margin-bottom:6px;
}
.cab-head__meta{display:flex;align-items:center;gap:6px;color:var(--c-ink-faint);font-size:var(--fs-14)}

/* ---------- Card ---------- */
.cab-card{background:var(--c-surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:var(--s-5)}
.cab-card__head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.cab-card__head h3{font-size:1.0625rem;margin:0}
/* Karta sarlavhasidagi amallar — kengda oʻngga tortiladi, telefonda esa
   pastga tushib toʻliq kenglikni egallaydi (≤480px qoidasiga qarang). */
.cab-card__head-actions{margin-left:auto;display:flex;gap:10px}
.cab-card__sub{color:var(--c-ink-faint);font-size:13px;font-weight:500;margin:3px 0 0;line-height:1.45}
.cab-card__body{padding:22px}

/* ---------- Stat tiles ---------- */
.cab-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-4);margin-bottom:var(--s-5)}
.cab-stat{background:var(--c-surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px var(--s-5);box-shadow:var(--sh-sm)}
.cab-stat__val{font-family:var(--ff-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);
  font-size:1.7rem;line-height:1;color:var(--c-ink);font-variant-numeric:tabular-nums}
/* Holat rangi yorliqdagi nuqtaga koʻchirildi (raqamning oʻziga emas).
   Avval "0" qiymati qizil/binafsha rangda katta shrift bilan yozilib,
   xatolik yoki ogohlantirishdek oʻqilardi — aslida u shunchaki "hech narsa
   yoʻq" degani. Endi raqam neytral, rang esa yorliqni belgilaydi. */
.cab-stat__label{color:var(--c-ink-faint);font-size:var(--fs-14);margin-top:7px;font-weight:600;
  display:flex;align-items:center;gap:7px}
.cab-stat__label::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--stat-c,var(--c-primary))}

/* ---------- Badge ---------- */
/* Holat ranglari butun tizim boʻylab bir xil:
   qoralama = neytral, kutilmoqda = moviy, qaytarilgan = AMBER,
   tasdiqlangan = yashil, rad etilgan = qizil.
   "Qaytarilgan" ilgari brend binafshasida edi — ammo binafsha ayni paytda
   sahifadagi bezakning ham rangi (ikonkalar, teglar, gradientlar), shuning
   uchun signal bezakdan ajralmasdi. Amber faqat shu maʼnoda ishlatiladi:
   "eʼtiboringiz kerak, ammo bu xato emas". Qizil esa yakuniy rad etish. */
/* Matn tuslari ataylab "-700": nishon matni 11.5px, yaʼni kichik — oʻz yumshoq
   foni ustida "-600" tus faqat 2.8–3.9:1 kontrast berardi (WCAG AA 4.5:1 dan
   past). "-700" bilan barchasi 4.9–5.9:1 ga chiqadi, rang esa oʻzgarmaydi. */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;line-height:1;white-space:nowrap}
.badge--draft{background:rgba(14,26,61,.07);color:var(--c-ink-soft)}
.badge--pending{background:var(--c-cyan-soft);color:var(--c-cyan-700)}
.badge--returned{background:var(--c-amber-soft);color:var(--c-amber-700)}
.badge--approved{background:var(--c-emerald-soft);color:var(--c-emerald-700)}
.badge--rejected{background:var(--c-coral-soft);color:var(--c-coral-700)}

/* ---------- Alert ---------- */
.alert{padding:13px 16px;border-radius:12px;font-size:13.5px;font-weight:600;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.alert--success{background:var(--c-emerald-soft);color:var(--c-emerald-700)}
.alert--error{background:var(--c-coral-soft);color:var(--c-coral-700)}
/* Ogohlantirish oʻz oilasiga qaytarildi — ammo bu safar toʻliq va oʻlchangan
   holda: fon ham, matn ham bitta amber oilasidan (5.65:1). Ilgari jigarrang
   matn (#B4740A) ochiq MOVIY fon ustida turar va 3.3:1 berardi — rang ham
   palitrada yoʻq edi, fon ham boshqa oiladan olingan edi. */
.alert--warning{background:var(--c-amber-soft);color:var(--c-amber-700)}

/* ---------- Alert block (koʻp qatorli xabar) ----------
   .alert bir qatorli holat xabari uchun. Xizmat nosozligi esa uch narsani
   aytishi kerak: NIMA boʻldi · foydalanuvchi aybdor EMASligi · NIMA qilish
   kerak. Bu bir qatorga sigʻmaydi, shuning uchun alohida blok:
   ikonka plitasi + sarlavha + izoh + maslahat.
   Rang amber — vaqtinchalik nosozlik, forma xatosi emas. */
.alert-block{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;margin-bottom:20px;border-radius:var(--r-lg);
  background:var(--c-amber-soft);
  border:1px solid rgba(232,147,8,.34);
  border-left:4px solid var(--c-amber);
  text-align:left;
}
.alert-block__icon{
  flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.72);color:var(--c-amber-700);font-size:16px;
}
.alert-block__body{min-width:0}
.alert-block__title{margin:0;font-size:var(--fs-15);font-weight:var(--fw-ui);
  letter-spacing:var(--ls-ui);color:var(--c-amber-700);line-height:1.35}
.alert-block__text{margin:4px 0 0;font-size:13.5px;font-weight:500;line-height:1.55;color:var(--c-ink-soft)}
/* Maslahat qatori — asosiy izohdan bir pogʻona pastroq, ammo baribir AA. */
.alert-block__hint{margin:8px 0 0;font-size:12.5px;font-weight:600;line-height:1.5;color:var(--c-ink-faint);
  display:flex;align-items:flex-start;gap:6px}
.alert-block__hint i{margin-top:.18em;flex:none;color:var(--c-amber-600)}
/* Yakuniy (qaytarib boʻlmaydigan) nosozlik uchun qizil variant. */
.alert-block--danger{background:var(--c-coral-soft);border-color:rgba(244,71,106,.34);border-left-color:var(--c-coral)}
.alert-block--danger .alert-block__icon,
.alert-block--danger .alert-block__title{color:var(--c-coral-700)}
.alert-block--danger .alert-block__hint i{color:var(--c-coral-600)}

@media (max-width:480px){
  .alert-block{padding:14px;gap:12px}
  .alert-block__icon{width:34px;height:34px;font-size:15px}
}

/* ---------- Table ---------- */
/* Wrap every <table class="cab-table"> in <div class="cab-table-wrap"> — on
   narrow screens the table scrolls horizontally inside the card instead of
   breaking the page's own width. */
.cab-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cab-table{width:100%;min-width:560px;border-collapse:collapse}
.cab-table th,.cab-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);font-size:var(--fs-15);white-space:nowrap}
/* Tashabbus nomi — yagona uzun ustun. U oʻralishi mumkin, aks holda jadval
   keng ekranda ham kartadan chiqib, "Sana" ustuni kesilib qolardi. */
.cab-table td.is-title{white-space:normal;min-width:22ch}
.cab-table th{color:var(--c-ink-faint);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.cab-table tr:last-child td{border-bottom:none}
.cab-empty{padding:var(--s-6);text-align:center;color:var(--c-ink-faint)}

/* ---------- Initiative cards (replaces the horizontally-scrolling table) ---------- */
.cab-initiative-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-4)}
.cab-initiative-card{
  display:flex;flex-direction:column;
  background:var(--c-surface);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-sm);overflow:hidden;position:relative;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.cab-initiative-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
/* Chap chetdagi holat chizigʻi — roʻyxatda holatni bir qarashda ajratadi. */
.cab-initiative-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}
.cab-initiative-card--draft::before{background:var(--c-ink-faint)}
.cab-initiative-card--pending::before{background:var(--c-cyan)}
.cab-initiative-card--returned::before{background:var(--c-amber)}
.cab-initiative-card--approved::before{background:var(--c-emerald)}
.cab-initiative-card--rejected::before{background:var(--c-coral)}

.cab-initiative-card__link{
  display:flex;flex-direction:column;gap:12px;flex:1;
  padding:var(--s-5);text-decoration:none;color:inherit;
}
.cab-initiative-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cab-initiative-card__num{
  font-family:var(--ff-body);font-size:12px;font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--c-ink-faint);letter-spacing:.02em;
}
.cab-initiative-card__title{font-size:1rem;font-weight:var(--fw-ui);line-height:1.4;letter-spacing:var(--ls-ui);color:var(--c-ink)}
.cab-initiative-card__meta{display:flex;flex-direction:column;gap:6px;margin-top:auto;font-size:13.5px;font-weight:500;color:var(--c-ink-soft)}
.cab-initiative-card__meta span{display:flex;align-items:center;gap:8px}
.cab-initiative-card__meta i{color:var(--c-ink-faint);width:14px;text-align:center}
.cab-initiative-card__meta .is-urgent{color:var(--c-amber-600);font-weight:700}
.cab-initiative-card__meta .is-urgent i{color:inherit}
.cab-initiative-card__meta .is-overdue{color:var(--c-coral-600);font-weight:700}
.cab-initiative-card__meta .is-overdue i{color:inherit}

.cab-initiative-card__foot{
  display:flex;align-items:center;justify-content:flex-end;gap:6px;
  padding:12px var(--s-5);border-top:1px solid var(--line-soft);background:rgba(14,26,61,.015);
}
.cab-initiative-card__inline{display:inline-flex}
.cab-initiative-card__action{
  display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  font-size:13px;font-weight:700;color:var(--c-ink-soft);background:transparent;border:none;
  text-decoration:none;cursor:pointer;transition:background .16s ease,color .16s ease;
}
.cab-initiative-card__action:hover{background:var(--c-bg-1);color:var(--c-ink)}
.cab-initiative-card__action.is-primary{color:var(--c-primary)}
.cab-initiative-card__action.is-primary:hover{background:var(--c-primary-soft);color:var(--c-primary-700)}

/* ---------- Filter tabs (status) ---------- */
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-5)}
.filter-tab{
  display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;
  background:var(--c-surface);border:1px solid var(--line);box-shadow:var(--sh-sm);
  font-size:13.5px;font-weight:700;color:var(--c-ink-soft);text-decoration:none;
  transition:border-color .16s ease,color .16s ease,background .16s ease;
}
.filter-tab:hover{border-color:var(--c-primary);color:var(--c-primary-700)}
.filter-tab.is-active{background:var(--grad-btn);color:#fff;border-color:transparent;box-shadow:var(--sh-btn,var(--sh-md))}
.filter-tab__count{
  display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:0 6px;height:20px;
  border-radius:999px;background:rgba(14,26,61,.07);font-size:11.5px;font-weight:800;color:var(--c-ink-faint);
}
/* rgba(255,255,255,.24) fonida oq raqam atigi 2.8:1 berardi — sanoq deyarli
   oʻqilmasdi. Teskari yechim: deyarli toʻliq oq yostiq + quyuq indigo raqam
   (8.7:1). Nofaol holatdagi naqsh ham shu — yostiq + quyuq matn. */
.filter-tab.is-active .filter-tab__count{background:rgba(255,255,255,.92);color:var(--c-primary-700)}

/* ---------- Flow stepper ---------- */
.flow-steps{
  display:flex;align-items:stretch;gap:0;list-style:none;margin:0 0 var(--s-5);padding:14px 18px;
  background:var(--c-surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.flow-step{display:flex;align-items:center;gap:10px;flex:1;min-width:max-content;position:relative;padding-right:18px}
.flow-step:not(:last-child)::after{
  content:"";flex:1;height:2px;min-width:24px;margin-left:2px;border-radius:2px;background:var(--line);
}
.flow-step__dot{
  display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;
  background:var(--c-bg-1);color:var(--c-ink-faint);font-size:13px;
}
.flow-step__label{font-size:13.5px;font-weight:700;color:var(--c-ink-faint);white-space:nowrap}
.flow-step.is-done .flow-step__dot{background:var(--c-emerald-soft);color:var(--c-emerald-700)}
.flow-step.is-done .flow-step__label{color:var(--c-emerald-700)}
.flow-step.is-done:not(:last-child)::after{background:var(--c-emerald)}
.flow-step.is-active .flow-step__dot{background:var(--grad-btn);color:#fff;box-shadow:0 0 0 4px var(--c-primary-soft)}
.flow-step.is-active .flow-step__label{color:var(--c-ink)}
.flow-step.is-warn .flow-step__dot{background:var(--c-amber-soft);color:var(--c-amber-700);box-shadow:0 0 0 4px rgba(232,147,8,.14)}
.flow-step.is-warn .flow-step__label{color:var(--c-amber-600)}
.flow-step.is-danger .flow-step__dot{background:var(--c-coral-soft);color:var(--c-coral-700)}
.flow-step.is-danger .flow-step__label{color:var(--c-coral-700)}

/* ---------- Status panel (show page hero) ---------- */
.status-panel{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:20px 22px;border-radius:var(--r-lg);margin-bottom:var(--s-5);
  border:1px solid var(--line);background:var(--c-surface);box-shadow:var(--sh-sm);
}
.status-panel__main{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:240px}
.status-panel__main h3{font-size:1.05rem;margin:0 0 4px}
.status-panel__main p{margin:0;color:var(--c-ink-soft);font-size:13.5px;font-weight:500;line-height:1.55}
.status-panel__icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;font-size:16px}
.status-panel__actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.status-panel__quote{
  margin:8px 0 0;padding:10px 14px;border-left:3px solid currentColor;border-radius:0 10px 10px 0;
  background:rgba(14,26,61,.03);color:var(--c-ink-soft);font-size:var(--fs-14);line-height:1.6;font-style:normal;
}
.status-panel--draft{border-color:rgba(14,26,61,.12);background:linear-gradient(180deg,rgba(14,26,61,.02),transparent)}
.status-panel--draft .status-panel__icon{background:rgba(14,26,61,.07);color:var(--c-ink-soft)}
.status-panel--pending{border-color:rgba(22,197,236,.35);background:linear-gradient(180deg,rgba(22,197,236,.07),transparent)}
.status-panel--pending .status-panel__icon{background:var(--c-cyan-soft);color:var(--c-cyan-700)}
.status-panel--returned{border-color:rgba(232,147,8,.38);background:linear-gradient(180deg,rgba(232,147,8,.08),transparent)}
.status-panel--returned .status-panel__icon{background:var(--c-amber-soft);color:var(--c-amber-700)}
.status-panel--rejected{border-color:rgba(244,71,106,.32);background:linear-gradient(180deg,rgba(244,71,106,.06),transparent)}
.status-panel--rejected .status-panel__icon{background:var(--c-coral-soft);color:var(--c-coral-700)}

/* ---------- Revision notice (moderator qaytargan) ---------- */
.revision-notice{
  border:1px solid rgba(232,147,8,.34);border-left:4px solid var(--c-amber);
  background:linear-gradient(180deg,rgba(232,147,8,.07),transparent);
  border-radius:var(--r-lg);padding:20px 22px;margin-bottom:var(--s-5);
}
.revision-notice.is-overdue{border-color:rgba(244,71,106,.36);border-left-color:var(--c-coral);
  background:linear-gradient(180deg,rgba(244,71,106,.06),transparent)}
.revision-notice__head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.revision-notice__icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;
  background:var(--c-amber-soft);color:var(--c-amber-700)}
.revision-notice.is-overdue .revision-notice__icon{background:var(--c-coral-soft);color:var(--c-coral-700)}
.revision-notice__title{font-size:1rem;margin:0 0 2px}
.revision-notice__meta{margin:0;font-size:12.5px;color:var(--c-ink-faint);font-weight:600}
.revision-notice__deadline{
  margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:2px;
  padding:8px 14px;border-radius:12px;background:var(--c-surface);border:1px solid var(--line);
}
.revision-notice__deadline-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--c-ink-faint)}
.revision-notice__deadline-date{font-family:var(--ff-body);font-weight:var(--fw-ui-strong);font-size:1.05rem;line-height:1.2;letter-spacing:var(--ls-ui)}
.revision-notice__deadline-left{font-size:12px;font-weight:700;color:var(--c-amber-600)}
.revision-notice.is-overdue .revision-notice__deadline-left{color:var(--c-coral-600)}
.revision-notice__comment{
  margin:14px 0 0;padding:12px 16px;border-radius:12px;background:var(--c-surface);
  border:1px solid var(--line-soft);color:var(--c-ink);font-size:var(--fs-15);line-height:1.65;white-space:pre-line;
}
.revision-notice__warn{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--c-coral-600);display:flex;align-items:center;gap:8px}

/* ---------- Timeline (jarayon tarixi) ---------- */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline__item{display:flex;gap:14px;padding-bottom:22px;position:relative}
.timeline__item:last-child{padding-bottom:0}
.timeline__item:not(:last-child)::before{
  content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--line);border-radius:2px;
}
.timeline__dot{
  display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;
  background:var(--c-bg-1);color:var(--c-ink-faint);font-size:12px;z-index:1;
}
.timeline__item--draft .timeline__dot{background:rgba(14,26,61,.07);color:var(--c-ink-soft)}
.timeline__item--pending .timeline__dot{background:var(--c-cyan-soft);color:var(--c-cyan-700)}
.timeline__item--returned .timeline__dot{background:var(--c-amber-soft);color:var(--c-amber-700)}
.timeline__item--approved .timeline__dot{background:var(--c-emerald-soft);color:var(--c-emerald-700)}
.timeline__item--rejected .timeline__dot{background:var(--c-coral-soft);color:var(--c-coral-700)}
.timeline__body{flex:1;min-width:0;padding-top:4px}
.timeline__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.timeline__title{font-weight:var(--fw-ui);font-size:var(--fs-15);color:var(--c-ink)}
.timeline__time{font-size:12.5px;color:var(--c-ink-faint);font-weight:600;white-space:nowrap}
.timeline__actor{margin:2px 0 0;font-size:12.5px;color:var(--c-ink-faint);font-weight:600}
/* Qaror sababining qisqa yorligʻi — izoh matnidan oldin turadi. */
.timeline__reason{margin:7px 0 0}
.timeline__reason .badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;
  padding:4px 10px;border-radius:99px;background:rgba(14,26,61,.06);color:#414A6B}
.timeline__comment{
  margin:10px 0 0;padding:10px 14px;border-radius:10px;background:var(--c-bg-1);
  color:var(--c-ink-soft);font-size:var(--fs-14);font-weight:500;line-height:1.6;white-space:pre-line;
}
.timeline__deadline{margin:8px 0 0;font-size:12.5px;color:var(--c-ink-soft);display:flex;align-items:center;gap:7px}

/* ---------- Form actions (qoralama / yuborish) ---------- */
/* Yuborish tugmasi DOM'da birinchi (Enter uni tanlaydi), vizual jihatdan esa
   oʻngda turadi — shuning uchun "order" bilan almashtiramiz. */
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.form-actions__draft{order:1;flex:1 1 220px}
.form-actions__submit{order:2;flex:2 1 260px}
.form-actions__hint{
  margin-top:12px;font-size:12.5px;color:var(--c-ink-faint);line-height:1.6;
  display:flex;align-items:flex-start;gap:8px;
}
.form-actions__hint i{margin-top:2px}

/* ---------- Mavjud biriktirilgan fayl (tahrirlash) ---------- */
.file-current{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;
  padding:10px 14px;border-radius:12px;background:var(--c-bg-1);border:1px solid var(--line-soft);
}
.file-current__icon{color:var(--c-ink-faint)}
.file-current__name{font-size:var(--fs-14);font-weight:700;color:var(--c-primary);text-decoration:none;word-break:break-all}
.file-current__remove{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12.5px;font-weight:600;color:var(--c-coral-600);cursor:pointer}

/* ---------- Dashboard: eʼtibor talab qiladiganlar ---------- */
.cab-card--attention{border-color:rgba(232,147,8,.34);box-shadow:0 10px 30px -18px rgba(232,147,8,.5)}
.cab-card--attention .cab-card__head h3{display:flex;align-items:center;gap:9px}
.cab-card--attention .cab-card__head i{color:var(--c-amber-600)}
.cab-card--muted{background:var(--c-bg-1);border-style:dashed}
.attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.attention-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.attention-item:last-child{padding-bottom:0;border-bottom:none}
.attention-item__title{font-weight:700;font-size:var(--fs-15);color:var(--c-ink);text-decoration:none}
.attention-item__title:hover{color:var(--c-primary)}
.attention-item__deadline{font-size:12.5px;font-weight:700;color:var(--c-amber-600);display:inline-flex;align-items:center;gap:6px}
.attention-item__deadline.is-overdue{color:var(--c-coral-600)}
.attention-item__btn{margin-left:auto}

/* Stat tiles endi havola — bosilganda tegishli filtrni ochadi. */
.cab-stat-grid--6{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
a.cab-stat{display:block;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
a.cab-stat:hover{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:var(--c-primary)}
.cab-stat--draft{--stat-c:var(--c-ink-ghost,#9AA1BC)}
.cab-stat--pending{--stat-c:var(--c-cyan)}
.cab-stat--returned{--stat-c:var(--c-amber)}
.cab-stat--approved{--stat-c:var(--c-emerald)}
.cab-stat--rejected{--stat-c:var(--c-coral)}

/* ---------- Header actions row ---------- */
.cab-head__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ---------- Danger button (kabinetda faqat qoralamani oʻchirish) ---------- */
.btn--danger,
.btn--danger:focus,.btn--danger:active{background:var(--c-coral-soft);color:var(--c-coral-700);border:1px solid rgba(244,71,106,.28)}
.btn--danger:hover,.btn--danger:focus-visible{background:var(--c-coral);color:#fff;border-color:transparent}

/* ---------- Detail grid (initiative show) ---------- */
.cab-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 26px}
.cab-detail-item{padding:12px 0;border-bottom:1px solid var(--line-soft)}
.cab-detail-item.is-full{grid-column:1/-1}
.cab-detail-item dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-ink-faint);font-weight:700;margin-bottom:4px}
.cab-detail-item dd{margin:0;font-size:14.5px;font-weight:600;color:var(--c-ink)}
/* Uzun bayon: fuqaro kiritgan xatboshilar saqlanadi (matn HTML emas, shuning
   uchun \n ni faqat pre-line koʻrsata oladi), uzun soʻz esa qutidan chiqib
   ketmaydi. */
.cab-detail-item.is-prose dd{font-weight:500;line-height:1.6;color:var(--c-ink-soft);
  white-space:pre-line;overflow-wrap:anywhere}
.cab-detail-item__file{display:inline-flex}

/* ---------- Certificate section (initiative show) ---------- */
.cab-cert{text-align:center;padding-block:var(--s-6)}
.cab-cert__eyebrow{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--c-emerald-700);margin-bottom:8px;
}
.cab-cert__lead{color:var(--c-ink-soft);margin-bottom:20px}
.cab-cert__image{
  width:100%;max-width:820px;border-radius:14px;margin:0 auto 22px;display:block;
  box-shadow:var(--sh-md);border:1px solid var(--line-soft);
}
.cab-cert__status{color:var(--c-ink-faint);font-size:var(--fs-14);margin-bottom:20px}
.cab-cert__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
/* Hali tasdiqlanmagan tashabbus — sertifikat yopiq holatda koʻrsatiladi. */
.cab-cert--locked .cab-cert__eyebrow{color:var(--c-ink-faint)}
.cab-cert--locked .cab-cert__status{margin-bottom:0}

/* ---------- Auth card (login/otp) ---------- */
.cab-auth{min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));display:grid;place-items:center;padding:clamp(16px,5vw,32px)}
.cab-auth__card{max-width:440px;width:100%;background:var(--c-surface);border-radius:var(--r-xl);
  box-shadow:0 28px 70px -28px rgba(28,24,80,.26);padding:40px}
.cab-auth__brand{display:flex;align-items:center;gap:10px;
  font-family:var(--ff-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);
  margin-bottom:var(--s-5)}
.cab-auth__title{font-size:1.4rem;margin-bottom:6px}
.cab-auth__lead{color:var(--c-ink-soft);font-size:var(--fs-15);line-height:1.5;margin-bottom:var(--s-5)}
.cab-auth__foot{margin-top:var(--s-5);text-align:center;font-size:var(--fs-14);color:var(--c-ink-faint)}

/* Kirish oqimidagi raqam: foydalanuvchi qaysi hisobga kirayotganini
   koʻrib turishi kerak, lekin uni bu yerda tahrirlay olmaydi — shuning
   uchun input emas, oʻqiladigan qator + "almashtirish" havolasi. */
.cab-auth__phone{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 14px;margin-bottom:var(--s-5);
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--c-bg-soft,rgba(0,0,0,.02))}
.cab-auth__phone-num{font-family:var(--ff-display);font-weight:var(--fw-display);
  font-variant-numeric:tabular-nums;letter-spacing:.01em}
.cab-auth__phone-edit{margin-left:auto;font-size:var(--fs-14);white-space:nowrap}

/* Parol maydoni: koʻrsatish/yashirish tugmasi maydon ichida turadi. */
.field__pw{position:relative;display:flex}
.field__pw .field__input{padding-right:46px}
.pw-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;display:grid;place-items:center;
  border:0;background:transparent;color:var(--c-ink-faint);cursor:pointer;border-radius:var(--r-sm)}
.pw-toggle:hover{color:var(--c-primary);background:var(--c-primary-soft)}
.pw-toggle:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}

.pw-hint{font-size:var(--fs-13,13px);color:var(--c-ink-faint);line-height:1.5;margin-top:6px}
.cab-auth__actions{display:flex;flex-direction:column;gap:10px;margin-top:var(--s-4)}

/* ---------- OTP boxes ---------- */
.otp-boxes{display:flex;gap:8px;justify-content:center;margin-bottom:var(--s-4)}
.otp-boxes input{
  width:48px;height:58px;text-align:center;font-size:1.4rem;
  font-family:var(--ff-display);font-weight:var(--fw-display);letter-spacing:var(--ls-display);
  font-variant-numeric:tabular-nums;
  border-radius:var(--r-sm);border:1px solid var(--line);background:var(--c-surface);color:var(--c-ink);
}
.otp-boxes input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px var(--c-primary-soft)}
.otp-resend{text-align:center;font-size:var(--fs-14);color:var(--c-ink-faint);margin-top:var(--s-3)}

@media (max-width:720px){
  .cab-detail{grid-template-columns:1fr}
  /* Torroq ekranda faqat joriy bosqich yozuvi qoladi — qolganlari nuqta koʻrinishida. */
  .flow-step:not(.is-active):not(.is-warn):not(.is-danger) .flow-step__label{display:none}
  .flow-step{padding-right:10px}
  .revision-notice__deadline{margin-left:0;text-align:left;width:100%}
  .status-panel__actions{margin-left:0;width:100%}
  .status-panel__actions .btn,.status-panel__actions form{flex:1}
  .status-panel__actions .btn{width:100%}
  .attention-item__btn{margin-left:0;width:100%}
  .form-actions__draft,.form-actions__submit{flex:1 1 100%}
}

/* ---------------------------------------------------------------------
   Barmoq bilan boshqariladigan qurilmalar (telefon + planshet): bosish
   nishonlari va matn oʻlchamlari. Kenglikka emas, boshqaruv usuliga
   bogʻlanadi — 768px li planshet ham telefon kabi barmoq bilan ishlatiladi.
   --------------------------------------------------------------------- */
@media (max-width:900px),(pointer:coarse){
  .cab-initiative-card__action{min-height:44px;padding:10px 14px;font-size:13.5px}
  .attention-item__title{display:flex;align-items:center;min-height:44px}
  .filter-tab{min-height:44px;padding:10px 16px}
  .filter-tab__count{font-size:12.5px;height:22px;min-width:22px}
  .cab-detail-item dt{font-size:12.5px}
  .cab-cert__eyebrow{font-size:12.5px}
  .cab-initiative-card__num{font-size:12.5px}
  /* Jadvaldagi havolalar (matn balandligi 21px edi) barmoq uchun kengaytiriladi. */
  .cab-table td a{display:inline-flex;align-items:center;min-height:44px}
}

/* ---------------------------------------------------------------------
   TELEFON (≤640px) — tuzilma va zichlik. Kabinetga asosan telefondan
   kiriladi, shuning uchun bu blok "qoʻshimcha" emas, asosiy holat.
   --------------------------------------------------------------------- */
@media (max-width:640px){
  /* --- Jadval → kartochkalar ---
     Gorizontal skrolli jadval telefonda deyarli oʻqilmaydi (1141px kenglik
     311px oynada). Shuning uchun har bir qator alohida blokka aylanadi:
     ustun nomi td[data-label] dan olinadi, sarlavha esa alohida qatorda. */
  .cab-table-wrap{overflow-x:visible}
  .cab-table{min-width:0}
  .cab-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .cab-table tbody tr{display:block;padding:14px 16px;border-bottom:1px solid var(--line-soft)}
  .cab-table tbody tr:last-child{border-bottom:none}
  .cab-table td{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:5px 0;border:none;white-space:normal;text-align:right;
  }
  .cab-table td::before{
    content:attr(data-label);flex:none;text-align:left;
    font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--c-ink-faint);
  }
  /* Tashabbus nomi — qatorning sarlavhasi: butun kenglikda, chapga tekis. */
  .cab-table td.is-title{display:block;text-align:left;padding:0 0 8px}
  .cab-table td.is-title::before{display:none}
  .cab-table td.is-title a{display:block;min-height:44px;display:flex;align-items:center;
    font-size:var(--fs-16);font-weight:700;color:var(--c-ink)}

  .cab-initiative-card__foot{padding:8px var(--s-4);gap:4px}
  /* Holat filtri: 6 ta chip telefonda 5 qatorni egallardi. Endi ular bitta
     qatorda yon tomonga suriladi (ekran chetigacha "toʻkiladi") — Gmail va
     Telegram'dagi tab-lentaga oʻxshash tanish naqsh. */
  .filter-tabs{
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scrollbar-width:none;
    margin-inline:calc(-1 * clamp(16px,4vw,40px));
    padding-inline:clamp(16px,4vw,40px);padding-block:2px;
  }
  .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tab{flex:none;scroll-snap-align:start}

  /* --- Sarlavha va kartalar ichidagi masofalar --- */
  .cab-card__body{padding:var(--s-4)}
  .cab-card__head{padding:var(--s-4)}
  .cab-head--split{flex-direction:column;align-items:flex-start;gap:12px}
  .cab-head__actions{width:100%}
}

/* Bosqichlar chizigʻi telefonda: nuqtalar oʻz oʻlchamida qoladi, ulagich
   chiziqlar qisqaradi va qolgan butun joy joriy bosqich yozuviga beriladi
   (aks holda "Tasdiqlash kutilmoqda" "T…" ga aylanib qolardi). */
@media (max-width:560px){
  .flow-steps{padding:12px 14px}
  .flow-step{flex:none;min-width:0;padding-right:8px;gap:8px}
  .flow-step.is-active,.flow-step.is-warn,.flow-step.is-danger{flex:1 1 auto;min-width:0}
  .flow-step:not(:last-child)::after{flex:0 0 14px;min-width:14px}
  .flow-step__label{font-size:12.5px;overflow:hidden;text-overflow:ellipsis}
  .flow-step__dot{width:30px;height:30px}
}

/* Tor telefonlar (≤480px): sarlavha yonidagi tugmalar sigʻmay qoladi —
   ular alohida qatorga tushib, kenglikni teng boʻlishadi. */
@media (max-width:480px){
  /* Tugmalar bitta qatorga sigʻmasa (masalan 320px da "Barchasi" +
     "Yangi tashabbus"), ular alohida qatorlarga tushadi. */
  .cab-card__head-actions{margin-left:0;width:100%;flex-wrap:wrap}
  .cab-card__head-actions .btn{flex:1 1 auto;justify-content:center}
}

@media (max-width:420px){
  .cab-auth__card{padding:28px 16px}
  .otp-boxes{gap:6px}
  .otp-boxes input{width:40px;height:50px;font-size:1.2rem}
}

/* Juda tor ekranlarda OTP katakchalari ham siqiladi (6 ta katak + masofa). */
@media (max-width:340px){
  .otp-boxes{gap:4px}
  .otp-boxes input{width:36px;height:46px;font-size:1.05rem}
}
