/* ===== Shtab qarorlari — dizayn ===== */
:root {
  color-scheme: light;
  --yuza-2: #f8fafc;
  --fon: #f3f5fa;
  --oq: #ffffff;
  --matn: #0f172a;
  --matn-2: #475569;
  --kulrang: #64748b;
  --chiziq: #e2e8f0;
  --chiziq-2: #cbd5e1;

  --asosiy: #2563eb;
  --asosiy-toq: #1d4ed8;
  --asosiy-och: #eff6ff;
  --yashil: #059669;
  --yashil-och: #ecfdf5;
  --qizil: #dc2626;
  --qizil-och: #fef2f2;
  --sariq: #d97706;
  --sariq-och: #fffbeb;

  --side-fon: #0b1530;
  --side-fon-2: #13224a;
  --side-matn: #a9b6d3;
  --side-kenglik: 264px;

  --radius: 14px;
  --radius-sm: 10px;
  --soya: 0 1px 2px rgba(15, 23, 42, .04), 0 2px 8px rgba(15, 23, 42, .05);
  --soya-lg: 0 10px 30px rgba(15, 23, 42, .10);
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 14px;
  color: var(--matn);
  background: var(--fon);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--asosiy); text-decoration: none; }
a:hover { color: var(--asosiy-toq); }
h1 { font-size: 22px; font-weight: 700; margin: 0; letter-spacing: -.01em; }
h2 { font-size: 16px; font-weight: 650; margin: 0; }
.muted { color: var(--kulrang); }
.mono { font-family: "JetBrains Mono", Consolas, monospace !important; letter-spacing: .03em; }
.ikon { width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ===== Asosiy tuzilma ===== */
.app { display: flex; min-height: 100vh; }

.sidebar {
  position: fixed; inset: 0 auto 0 0;
  width: var(--side-kenglik);
  background: linear-gradient(180deg, var(--side-fon) 0%, #0e1b3d 100%);
  color: var(--side-matn);
  display: flex; flex-direction: column;
  z-index: 40;
  transition: transform .25s ease;
}
.sidebar .logo {
  display: flex; align-items: center; gap: 12px;
  padding: 22px 20px 20px;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.sidebar .logo:hover { color: #fff; }
.logo-belgi {
  width: 40px; height: 40px; border-radius: 12px; flex: none;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  display: grid; place-items: center;
  box-shadow: 0 6px 16px rgba(37, 99, 235, .45);
}
.logo-belgi .ikon { width: 22px; height: 22px; color: #fff; }
.logo b { display: block; font-size: 15px; line-height: 1.2; }
.logo small { display: block; font-size: 12px; color: var(--side-matn); }

.side-nav { flex: 1; overflow-y: auto; padding: 16px 12px; }
.side-nav .bolim { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #64759b; padding: 14px 12px 6px; font-weight: 600; }
.side-nav a {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; margin: 2px 0;
  border-radius: 10px;
  color: var(--side-matn); font-weight: 500;
  transition: background .15s, color .15s;
}
.side-nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.side-nav a.faol { background: var(--asosiy); color: #fff; box-shadow: 0 6px 16px rgba(37, 99, 235, .35); }

.side-user {
  margin: 12px; padding: 12px;
  background: var(--side-fon-2);
  border-radius: 12px;
  display: flex; align-items: center; gap: 10px;
}
.avatar {
  width: 36px; height: 36px; border-radius: 50%; flex: none;
  background: #1e3a8a; color: #fff; display: grid; place-items: center;
  font-weight: 700; text-transform: uppercase;
}
.side-user .info { flex: 1; min-width: 0; }
.side-user .info b { display: block; color: #fff; font-size: 13px; }
.side-user .info span { display: block; font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-user form { margin: 0; }
.ikon-btn {
  width: 34px; height: 34px; border-radius: 9px; border: 0; cursor: pointer;
  display: grid; place-items: center;
  background: rgba(255,255,255,.06); color: var(--side-matn);
}
.ikon-btn:hover { background: var(--qizil); color: #fff; }

.kontent { flex: 1; margin-left: var(--side-kenglik); min-width: 0; display: flex; flex-direction: column; }
.topbar {
  position: sticky; top: 0; z-index: 30;
  height: 64px;
  display: flex; align-items: center; gap: 14px;
  padding: 0 28px;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--chiziq);
}
.topbar .yol { color: var(--kulrang); font-size: 13px; }
.topbar .yol b { color: var(--matn); font-weight: 600; }
.topbar .oraliq { flex: 1; }
.topbar .sana { color: var(--kulrang); font-size: 13px; display: flex; align-items: center; gap: 6px; }
.menyu-btn { display: none; border: 1px solid var(--chiziq); background: #fff; border-radius: 10px; width: 40px; height: 40px; cursor: pointer; place-items: center; color: var(--matn); }

main { padding: 28px; max-width: 1560px; width: 100%; }
.qoplama { display: none; }

/* ===== Sahifa boshi ===== */
.sahifa-bosh {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; flex-wrap: wrap; margin-bottom: 22px;
}
.sahifa-bosh .tavsif { color: var(--kulrang); margin-top: 6px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--oq); border: 1px solid var(--chiziq);
  padding: 3px 10px; border-radius: 999px; font-size: 12.5px; color: var(--matn-2);
}
.chip b { color: var(--matn); }

/* ===== Karta ===== */
.card {
  background: var(--oq);
  border: 1px solid var(--chiziq);
  border-radius: var(--radius);
  box-shadow: var(--soya);
  margin-bottom: 22px;
}
.card-bosh {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 16px 20px; border-bottom: 1px solid var(--chiziq);
}
.card-bosh .izoh { color: var(--kulrang); font-size: 13px; font-weight: 400; }
.card-tana { padding: 20px; }
.card-tana.zich { padding: 0; }

/* KPI kartalari */
.kartalar { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 22px; }
.kpi {
  background: var(--oq); border: 1px solid var(--chiziq); border-radius: var(--radius);
  padding: 18px; box-shadow: var(--soya); position: relative; overflow: hidden;
}
.kpi .tepa { display: flex; align-items: center; justify-content: space-between; }
.kpi .nom { color: var(--kulrang); font-size: 13px; font-weight: 500; }
.kpi .belgi-ikon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; }
.kpi .qiymat { font-size: 26px; font-weight: 750; margin: 10px 0 2px; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.kpi .ijro { font-size: 12.5px; color: var(--kulrang); display: flex; justify-content: space-between; }
.kpi .ijro b { color: var(--matn-2); }
.progress { height: 6px; background: #eef2f7; border-radius: 99px; margin-top: 8px; overflow: hidden; }
.progress span { display: block; height: 100%; border-radius: 99px; }
.rang-blue .belgi-ikon { background: #eff6ff; color: #2563eb; } .rang-blue .progress span { background: #2563eb; }
.rang-violet .belgi-ikon { background: #f5f3ff; color: #7c3aed; } .rang-violet .progress span { background: #7c3aed; }
.rang-amber .belgi-ikon { background: #fffbeb; color: #d97706; } .rang-amber .progress span { background: #d97706; }
.rang-green .belgi-ikon { background: #ecfdf5; color: #059669; } .rang-green .progress span { background: #059669; }
.rang-rose .belgi-ikon { background: #fff1f2; color: #e11d48; } .rang-rose .progress span { background: #e11d48; }

/* ===== Tugmalar ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; padding: 0 16px;
  border: 1px solid transparent; border-radius: 10px;
  background: var(--asosiy); color: #fff;
  font: inherit; font-weight: 600; font-size: 13.5px;
  cursor: pointer; white-space: nowrap;
  transition: background .15s, box-shadow .15s, transform .05s;
}
.btn:hover { background: var(--asosiy-toq); color: #fff; }
.btn:active { transform: translateY(1px); }
.btn .ikon { width: 16px; height: 16px; }
.btn.oq { background: var(--oq); color: var(--matn); border-color: var(--chiziq-2); }
.btn.oq:hover { background: #f8fafc; border-color: #94a3b8; }
.btn.yashil { background: var(--yashil); }
.btn.yashil:hover { background: #047857; }
.btn.qizil { background: var(--qizil); }
.btn.qizil:hover { background: #b91c1c; }
.btn.kichik { height: 32px; padding: 0 10px; font-size: 12.5px; border-radius: 8px; font-weight: 500; }
.btn.ikon-faqat { width: 32px; padding: 0; }
.btn.xavfli { color: var(--qizil); }
.btn.xavfli:hover { background: var(--qizil-och); border-color: #fca5a5; }
.btn.keng { width: 100%; height: 46px; font-size: 15px; }
.tugmalar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* ===== Filtr ===== */
.filtr { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; align-items: end; }
.filtr .maydon { margin: 0; }

/* ===== Forma ===== */
.maydon { margin-bottom: 16px; }
.maydon > label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 13px; color: var(--matn-2); }
.maydon .majburiy { color: var(--qizil); }
.maydon .yordam { color: var(--kulrang); font-size: 12px; margin-top: 5px; }
.maydon.xato input, .maydon.xato select, .maydon.xato textarea { border-color: var(--qizil); background: #fffafa; }
.xatolar { color: var(--qizil); font-size: 12.5px; margin: 5px 0 0; padding: 0; list-style: none; }
input[type=text], input[type=password], input[type=number], input[type=date], select, textarea {
  width: 100%; height: 42px;
  padding: 0 12px;
  border: 1px solid var(--chiziq-2); border-radius: 10px;
  font: inherit; background: #fff; color: var(--matn);
  transition: border-color .15s, box-shadow .15s;
}
textarea { height: auto; padding: 10px 12px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--asosiy); box-shadow: 0 0 0 4px rgba(37, 99, 235, .12); }
input[type=number], input.summa { text-align: right; font-variant-numeric: tabular-nums; }
.belgilash { display: flex; align-items: center; gap: 10px; font-weight: 500; cursor: pointer; }
.belgilash input { width: 18px; height: 18px; accent-color: var(--asosiy); }
.panjara { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0 18px; }
.guruh {
  border: 1px solid var(--chiziq); border-radius: 12px;
  padding: 18px 18px 2px; margin-bottom: 18px; position: relative;
}
.guruh-bosh { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-weight: 650; }
.guruh-bosh .nuqta { width: 10px; height: 10px; border-radius: 50%; background: var(--asosiy); box-shadow: 0 0 0 4px var(--asosiy-och); }
.guruh.ijro { background: linear-gradient(180deg, #f6fdf9, #fff 60%); border-color: #c8eedb; }
.guruh.ijro .nuqta { background: var(--yashil); box-shadow: 0 0 0 4px var(--yashil-och); }
.forma-tor { max-width: 620px; }
.parol-qator { display: flex; gap: 8px; }
.parol-qator input { flex: 1; }

/* ===== Jadval ===== */
.jadval-qobiq { overflow-x: auto; margin: 16px 20px 20px; }
table.jadval { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; border: 1px solid var(--chiziq-2); }
.jadval th, .jadval td { padding: 10px 12px; border: 1px solid var(--chiziq-2); }
.jadval thead th {
  background: #f8fafc; color: var(--matn-2);
  font-weight: 600; font-size: 12px; text-align: center; vertical-align: middle;
  border: 1px solid var(--chiziq-2);
}
.jadval thead tr:first-child th { font-size: 12.5px; color: var(--matn); }
.jadval thead th.ijro-sar { background: #f0fbf5; color: #065f46; }
.jadval thead th.chap { text-align: left; }
.jadval td.son { text-align: right; white-space: nowrap; }
.jadval td.tr { text-align: center; color: var(--kulrang); width: 46px; }
.jadval tr.jami td { background: #fffbeb; font-weight: 700; border-bottom: 2px solid #f5c451; }
.jadval tbody tr:not(.jami):hover td { background: #f8fbff; }
.jadval td.nomi { min-width: 250px; font-weight: 500; }
.jadval td.nomi a { color: var(--matn); display: inline-flex; align-items: center; gap: 6px; }
.jadval td.nomi a:hover { color: var(--asosiy); }
.jadval td.nomi a .ikon { width: 14px; height: 14px; opacity: .4; }
.jadval .chegara { border-left: 2px solid #94a3b8; }
.jadval td.amallar { white-space: nowrap; text-align: right; }
.jadval td.nol { color: #b6c0cf; }
.jadval tr.izoh-qator td { text-align: left; background: #fafbfd; font-size: 12.5px; color: var(--kulrang); padding-top: 4px; }

/* ===== Xabarlar va belgilar ===== */
.xabar { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-radius: 12px; margin-bottom: 18px; border: 1px solid; }
.xabar .ikon { margin-top: 1px; }
.xabar.success { background: var(--yashil-och); border-color: #a7f3d0; color: #065f46; }
.xabar.error { background: var(--qizil-och); border-color: #fecaca; color: #991b1b; }
.xabar.info, .xabar.warning { background: var(--sariq-och); border-color: #fde68a; color: #92400e; }

.belgi { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.belgi.admin { background: #fff7ed; color: #c2410c; }
.belgi.tuman { background: var(--asosiy-och); color: var(--asosiy-toq); }
.belgi.yonalish { background: var(--yashil-och); color: #047857; }
.belgi.aralash { background: #f5f3ff; color: #6d28d9; }
.belgi.nofaol { background: #f1f5f9; color: #64748b; }

.sahifalash { display: flex; gap: 8px; align-items: center; justify-content: center; padding: 16px; }
.bosh-holat { text-align: center; padding: 48px 20px; color: var(--kulrang); }
.bosh-holat .ikon { width: 44px; height: 44px; color: #cbd5e1; margin-bottom: 8px; }

/* Parol koʻrsatish oynasi */
.parol-quti {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #0f172a; color: #fff; border-radius: 12px; padding: 14px 18px; margin: 8px 0 16px;
}
.parol-quti .mono { font-size: 20px; }
.malumot-jadval { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
.malumot-jadval td { padding: 8px 0; border-bottom: 1px dashed var(--chiziq); }
.malumot-jadval td:first-child { color: var(--kulrang); width: 120px; }

/* ===== Kirish sahifasi ===== */
.kirish {
  min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr;
  background: var(--oq);
}
.kirish-chap {
  position: relative; overflow: hidden;
  background: radial-gradient(circle at 20% 20%, #1e40af 0%, #0b1530 60%);
  color: #fff; padding: 56px; display: flex; flex-direction: column; justify-content: space-between;
}
.kirish-chap::after {
  content: ""; position: absolute; width: 520px; height: 520px; right: -160px; bottom: -160px;
  border-radius: 50%; background: radial-gradient(circle, rgba(59,130,246,.35), transparent 70%);
}
.kirish-chap h2 { font-size: 34px; line-height: 1.2; font-weight: 750; margin: 0 0 14px; letter-spacing: -.02em; }
.kirish-chap p { color: #b8c4e0; font-size: 15px; max-width: 460px; margin: 0; }
.kirish-chap ul { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; }
.kirish-chap li { display: flex; gap: 10px; align-items: center; color: #dbe4f7; }
.kirish-chap li .ikon { color: #60a5fa; }
.kirish-chap .pastki { color: #7f8db0; font-size: 12.5px; position: relative; z-index: 1; }
.kirish-ong { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.kirish-forma { width: 100%; max-width: 380px; }
.kirish-forma h1 { font-size: 26px; margin-bottom: 6px; }
.kirish-forma > p { color: var(--kulrang); margin: 0 0 28px; }
.kirish-forma .maydon input { height: 48px; padding-left: 42px; }
.input-ikon { position: relative; }
.input-ikon .ikon { position: absolute; left: 14px; top: 15px; color: #94a3b8; }

/* ===== Moslashuvchan ===== */
@media (max-width: 1024px) {
  .sidebar { transform: translateX(-100%); box-shadow: var(--soya-lg); }
  body.menyu-ochiq .sidebar { transform: none; }
  body.menyu-ochiq .qoplama { display: block; position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 35; }
  .kontent { margin-left: 0; }
  .menyu-btn { display: grid; }
  .topbar .sana { display: none; }
}
@media (max-width: 640px) {
  .topbar .texyordam .ty-izoh { display: none; }
  .topbar { gap: 8px; }
  .bildirish-panel { position: fixed; top: 64px; left: 8px; right: 8px; width: auto; }
}
@media (max-width: 860px) {
  .kirish { grid-template-columns: 1fr; }
  .kirish-chap { display: none; }
}
@media (max-width: 640px) {
  main { padding: 16px; }
  .topbar { padding: 0 16px; }
  h1 { font-size: 19px; }
  .card-tana { padding: 16px; }
  .jadval-qobiq { margin: 12px; }
}

/* Masʼul tashkilot yoʻnalishlari (belgilash roʻyxati) */
.belgilashlar #id_yonalishlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 6px 18px; margin-top: 4px; }
.belgilashlar #id_yonalishlar label { display: flex; align-items: center; gap: 9px; font-weight: 500; cursor: pointer; margin: 0; }
.belgilashlar #id_yonalishlar input { width: 17px; height: 17px; accent-color: var(--yashil); }

@media print {
  .sidebar, .topbar, .filtr-card, .tugmalar, .sahifalash, .kartalar { display: none !important; }
  .kontent { margin: 0; }
  main { padding: 0; }
  body { background: #fff; }
  .card { box-shadow: none; border: 0; }
}

/* Faqat koʻrish uchun qiymat (tahrirlab boʻlmaydi) */
.qiymat-faqat {
  height: 42px; display: flex; align-items: center; justify-content: flex-end;
  padding: 0 12px; border: 1px dashed var(--chiziq-2); border-radius: 10px;
  background: #f8fafc; color: var(--matn-2); font-variant-numeric: tabular-nums; font-weight: 600;
}
.belgi.ijrochi { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.ijro-holat { font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.ijro-holat.bor { color: var(--yashil); }
.ijro-holat.yoq { color: var(--sariq); }

/* Bayon PDF yuklash */
.pdf-yuklash {
  position: relative; display: flex !important; align-items: center; justify-content: center; gap: 10px;
  min-height: 64px; padding: 14px; cursor: pointer;
  border: 2px dashed var(--chiziq-2); border-radius: 12px; background: #f8fafc;
  color: var(--matn-2) !important; font-weight: 500 !important; transition: border-color .15s, background .15s;
}
.pdf-yuklash:hover { border-color: var(--asosiy); background: var(--asosiy-och); color: var(--asosiy) !important; }
.pdf-yuklash input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pdf-maydon.tanlangan .pdf-yuklash { border-style: solid; border-color: var(--yashil); background: var(--yashil-och); color: #065f46 !important; }
.pdf-maydon.xato .pdf-yuklash { border-color: var(--qizil); background: #fffafa; }
.pdf-joriy {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 12px; margin-bottom: 8px; border: 1px solid #c7d7f5; border-radius: 10px; background: var(--asosiy-och);
}
.pdf-joriy .belgilash { margin-left: auto; font-size: 12.5px; color: var(--qizil); }
.pdf-belgi {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 7px;
  background: #fef2f2; color: #b91c1c; font-size: 12px; font-weight: 700;
}
.pdf-belgi .ikon { width: 14px; height: 14px; }
.pdf-belgi:hover { background: #fee2e2; color: #991b1b; }
.pdf-yoq { font-size: 11.5px; font-weight: 600; color: var(--sariq); white-space: nowrap; }

/* ===== Qoʻllab-quvvatlash 24/7 ===== */
.texyordam { display: flex; flex-direction: column; gap: 3px; line-height: 1.25; }
.ty-qator { display: flex; align-items: center; gap: 8px; color: var(--matn); font-size: 13px; white-space: nowrap; }
.ty-qator:hover { color: var(--asosiy); }
.ty-qator b { font-weight: 700; }
.ty-izoh { color: var(--matn-2); font-weight: 500; }
.ty-belgi { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; color: #fff; flex: none; }
.ty-belgi.tg { background: #229ed9; }
.ty-belgi.tel { background: #16a34a; }
.ty-belgi .ikon { width: 11px; height: 11px; }
.ty-belgi.tg .ikon { fill: #fff; stroke: #fff; stroke-width: 1; margin-left: -1px; }
.ty-belgi.tel .ikon { fill: #fff; stroke: none; }
.kirish-yordam { margin: 18px auto 0; width: max-content; padding: 10px 14px; border: 1px solid var(--chiziq); border-radius: 12px; gap: 6px; }

/* ===== Kunduzgi / tungi rejim tugmasi ===== */
.mavzu-tugma { display: inline-flex; padding: 3px; gap: 2px; border: 1px solid var(--chiziq); border-radius: 999px; background: var(--yuza-2); }
.mavzu-tugma button { width: 30px; height: 30px; border: 0; border-radius: 50%; background: none; color: var(--kulrang); display: grid; place-items: center; cursor: pointer; }
.mavzu-tugma button:hover { color: var(--matn); }
.mavzu-tugma .ikon { width: 16px; height: 16px; }
[data-theme="light"] .mavzu-tugma [data-mavzu="light"],
[data-theme="dark"] .mavzu-tugma [data-mavzu="dark"] { background: var(--oq); color: var(--asosiy); box-shadow: 0 1px 3px rgba(15, 23, 42, .15); }
[data-theme="light"] .mavzu-tugma [data-mavzu="light"] { color: #d97706; }
.kirish-ong { position: relative; }
.kirish-mavzu { position: absolute; top: 20px; right: 24px; }

/* ===== Bildirishnomalar ===== */
.qongiroq { position: relative; }
.qongiroq-btn { position: relative; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--chiziq); background: #fff; color: var(--matn-2); display: grid; place-items: center; cursor: pointer; }
.qongiroq-btn:hover, .qongiroq-btn[aria-expanded="true"] { background: var(--asosiy-och); color: var(--asosiy); border-color: #bfdbfe; }
.qongiroq-son { position: absolute; top: -4px; right: -4px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--qizil); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; border: 2px solid #fff; }
.qongiroq-son[hidden] { display: none; }
.bildirish-panel { position: absolute; top: calc(100% + 10px); right: 0; width: 380px; background: #fff; border: 1px solid var(--chiziq); border-radius: 16px; box-shadow: var(--soya-lg); overflow: hidden; z-index: 50; }
.bildirish-panel[hidden] { display: none; }
.bp-bosh { display: flex; align-items: center; gap: 10px; padding: 14px 14px 14px 18px; border-bottom: 1px solid var(--chiziq); }
.bp-bosh b { font-size: 16px; flex: 1; }
.bp-bosh form[hidden] { display: none; }
.bp-havola { background: none; border: 0; color: var(--asosiy); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; padding: 4px 6px; border-radius: 6px; }
.bp-havola:hover { background: var(--asosiy-och); }
.bp-yopish { width: 32px; height: 32px; border: 0; background: none; border-radius: 8px; display: grid; place-items: center; cursor: pointer; color: var(--kulrang); }
.bp-yopish:hover { background: #f1f5f9; color: var(--matn); }
.bp-tana { max-height: 420px; overflow-y: auto; }
.bp-xabar { display: flex; gap: 12px; align-items: flex-start; padding: 13px 18px; color: var(--matn); border-bottom: 1px solid #f1f5f9; position: relative; }
.bp-xabar:hover { background: #f8fafc; color: var(--matn); }
.bp-xabar.yangi { background: #f5f9ff; }
.bp-xabar.yangi:hover { background: var(--asosiy-och); }
.bp-ikon { width: 36px; height: 36px; border-radius: 10px; background: var(--yashil-och); color: var(--yashil); display: grid; place-items: center; flex: none; }
.bp-xabar.yangi .bp-ikon { background: var(--asosiy-och); color: var(--asosiy); }
.bp-matn { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.bp-matn b { font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.bp-xabar:not(.yangi) .bp-matn b { font-weight: 500; color: var(--matn-2); }
.bp-matn span { font-size: 12.5px; color: var(--matn-2); }
.bp-matn small { font-size: 11.5px; color: var(--kulrang); }
.bp-nuqta { width: 9px; height: 9px; border-radius: 50%; background: var(--asosiy); flex: none; margin-top: 6px; }
.bp-bosh-holat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 36px 24px; }
.bp-katta-ikon { width: 84px; height: 84px; border-radius: 24px; background: linear-gradient(135deg, #eff6ff, #dbeafe); color: var(--asosiy); display: grid; place-items: center; margin-bottom: 10px; }
.bp-katta-ikon .ikon { width: 38px; height: 38px; stroke-width: 1.7; }
.bp-bosh-holat b { font-size: 16px; }
.bp-bosh-holat span { color: var(--kulrang); font-size: 13px; }
.bp-pastki { display: flex; align-items: center; justify-content: center; gap: 4px; margin: 10px; padding: 11px; border-radius: 10px; background: #f1f5f9; color: var(--matn); font-weight: 500; font-size: 13.5px; }
.bp-pastki:hover { background: #e2e8f0; color: var(--matn); }
.bp-pastki .ikon { width: 15px; height: 15px; }
.bildirish-sahifa { overflow: hidden; }
.bildirish-sahifa .bp-xabar { padding: 16px 22px; }
.bildirish-sahifa .bp-xabar:last-child { border-bottom: 0; }

/* ===== Quyi yoʻnalishlar va bayon raqami ===== */
.jadval tr.ota-qator td { background: #f8fafc; font-weight: 650; }
.jadval tr.ota-qator td.nomi { font-weight: 700; }
.jadval tr.soha-qator td { font-size: 13px; }
.jadval tr.soha-qator td.nomi { padding-left: 30px; font-weight: 400; color: var(--matn-2); min-width: 250px; }
.jadval tr.soha-qator td.tr { color: #94a3b8; }
.jadval-izoh { margin: -8px 20px 18px; font-size: 12.5px; color: var(--kulrang); }
.jadval td.yon-soha { min-width: 190px; }
.jadval td.yon-soha small { display: block; color: var(--kulrang); font-size: 12px; margin-top: 2px; }
.jadval td.bayon-katak { text-align: center; white-space: nowrap; }
.jadval td.bayon-katak b { display: block; margin-bottom: 4px; font-size: 13px; }
.bayon-blok { border: 1px dashed var(--chiziq-2); border-radius: 12px; padding: 16px 16px 4px; margin-bottom: 18px; background: var(--yuza-2); }
.bayon-blok .bayon-izoh { display: flex; gap: 6px; align-items: flex-start; margin: -4px 0 12px; }
.bayon-blok .bayon-izoh .ikon { width: 14px; height: 14px; margin-top: 2px; color: var(--asosiy); }
#bayon-holat { color: var(--yashil); }
.pdf-avval { display: flex; align-items: center; gap: 8px; padding: 10px 12px; margin-bottom: 8px; border-radius: 10px; background: var(--yashil-och); color: var(--yashil); font-weight: 500; }
.pdf-avval[hidden] { display: none; }
select:disabled { opacity: .6; cursor: not-allowed; }

/* ===== Tungi rejim ===== */
:root[data-theme="dark"] {
  color-scheme: dark;
  --fon: #0b1120;
  --oq: #121b2e;
  --yuza-2: #0f172a;
  --matn: #e5eaf3;
  --matn-2: #a9b5c8;
  --kulrang: #8392a8;
  --chiziq: #1f2b42;
  --chiziq-2: #2b3a55;
  --asosiy: #3b82f6;
  --asosiy-toq: #60a5fa;
  --asosiy-och: rgba(59, 130, 246, .14);
  --yashil: #10b981;
  --yashil-och: rgba(16, 185, 129, .13);
  --qizil: #ef4444;
  --qizil-och: rgba(239, 68, 68, .13);
  --sariq: #f59e0b;
  --sariq-och: rgba(245, 158, 11, .12);
  --side-fon: #080e1d;
  --side-fon-2: #121b2e;
  --soya: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);
  --soya-lg: 0 12px 32px rgba(0, 0, 0, .5);
}
[data-theme="dark"] .sidebar { background: linear-gradient(180deg, #080e1d 0%, #0b1328 100%); border-right: 1px solid var(--chiziq); }
[data-theme="dark"] .topbar { background: rgba(18, 27, 46, .88); }
[data-theme="dark"] .menyu-btn,
[data-theme="dark"] .qongiroq-btn { background: var(--oq); border-color: var(--chiziq-2); }
[data-theme="dark"] .qongiroq-son { border-color: var(--oq); }
[data-theme="dark"] input[type=text], [data-theme="dark"] input[type=password], [data-theme="dark"] input[type=number],
[data-theme="dark"] input[type=date], [data-theme="dark"] select, [data-theme="dark"] textarea { background: #0d1526; }
[data-theme="dark"] .maydon.xato input, [data-theme="dark"] .maydon.xato select, [data-theme="dark"] .maydon.xato textarea { background: rgba(239, 68, 68, .08); }
[data-theme="dark"] .btn.oq:hover { background: var(--yuza-2); border-color: #475569; }
[data-theme="dark"] .btn.xavfli:hover { border-color: #7f1d1d; }
[data-theme="dark"] .progress { background: #1f2b42; }
[data-theme="dark"] .rang-blue .belgi-ikon { background: rgba(59, 130, 246, .15); color: #60a5fa; }
[data-theme="dark"] .rang-violet .belgi-ikon { background: rgba(139, 92, 246, .15); color: #a78bfa; }
[data-theme="dark"] .rang-amber .belgi-ikon { background: rgba(245, 158, 11, .14); color: #fbbf24; }
[data-theme="dark"] .rang-green .belgi-ikon { background: rgba(16, 185, 129, .14); color: #34d399; }
[data-theme="dark"] .rang-rose .belgi-ikon { background: rgba(244, 63, 94, .14); color: #fb7185; }
[data-theme="dark"] .jadval thead th { background: #0f1729; }
[data-theme="dark"] .jadval thead th.ijro-sar { background: rgba(16, 185, 129, .10); color: #6ee7b7; }
[data-theme="dark"] .jadval tr.jami td { background: rgba(245, 158, 11, .10); border-bottom-color: #a16207; }
[data-theme="dark"] .jadval tbody tr:not(.jami):hover td { background: rgba(59, 130, 246, .07); }
[data-theme="dark"] .jadval .chegara { border-left-color: #475569; }
[data-theme="dark"] .jadval td.nol { color: #4b5a73; }
[data-theme="dark"] .jadval tr.izoh-qator td { background: #0f1729; }
[data-theme="dark"] .guruh.ijro { background: linear-gradient(180deg, rgba(16, 185, 129, .08), transparent 60%); border-color: rgba(16, 185, 129, .3); }
[data-theme="dark"] .xabar.success { border-color: rgba(16, 185, 129, .35); color: #6ee7b7; }
[data-theme="dark"] .xabar.error { border-color: rgba(239, 68, 68, .35); color: #fca5a5; }
[data-theme="dark"] .xabar.info, [data-theme="dark"] .xabar.warning { border-color: rgba(245, 158, 11, .35); color: #fcd34d; }
[data-theme="dark"] .belgi.admin { background: rgba(249, 115, 22, .14); color: #fdba74; }
[data-theme="dark"] .belgi.tuman { color: #93c5fd; }
[data-theme="dark"] .belgi.yonalish, [data-theme="dark"] .belgi.ijrochi { background: rgba(16, 185, 129, .13); color: #6ee7b7; border-color: rgba(16, 185, 129, .3); }
[data-theme="dark"] .belgi.aralash { background: rgba(139, 92, 246, .15); color: #c4b5fd; }
[data-theme="dark"] .belgi.nofaol { background: #1f2b42; color: #94a3b8; }
[data-theme="dark"] .bosh-holat .ikon { color: #334155; }
[data-theme="dark"] .parol-quti { background: #050a15; border: 1px solid var(--chiziq-2); }
[data-theme="dark"] .qiymat-faqat, [data-theme="dark"] .pdf-yuklash { background: var(--yuza-2); }
[data-theme="dark"] .pdf-maydon.tanlangan .pdf-yuklash { color: #6ee7b7 !important; }
[data-theme="dark"] .pdf-maydon.xato .pdf-yuklash { background: rgba(239, 68, 68, .08); }
[data-theme="dark"] .pdf-joriy { border-color: rgba(59, 130, 246, .35); }
[data-theme="dark"] .pdf-belgi { background: rgba(239, 68, 68, .14); color: #fca5a5; }
[data-theme="dark"] .pdf-belgi:hover { background: rgba(239, 68, 68, .22); color: #fecaca; }
[data-theme="dark"] .bildirish-panel { background: var(--oq); border-color: var(--chiziq-2); }
[data-theme="dark"] .bp-xabar { border-bottom-color: var(--chiziq); }
[data-theme="dark"] .bp-xabar:hover, [data-theme="dark"] .bp-yopish:hover { background: rgba(255, 255, 255, .04); }
[data-theme="dark"] .bp-xabar.yangi { background: rgba(59, 130, 246, .08); }
[data-theme="dark"] .bp-xabar.yangi:hover { background: rgba(59, 130, 246, .14); }
[data-theme="dark"] .bp-katta-ikon { background: linear-gradient(135deg, rgba(59, 130, 246, .18), rgba(59, 130, 246, .06)); color: #60a5fa; }
[data-theme="dark"] .bp-pastki { background: var(--yuza-2); }
[data-theme="dark"] .bp-pastki:hover { background: #1f2b42; }
[data-theme="dark"] .qongiroq-btn:hover, [data-theme="dark"] .qongiroq-btn[aria-expanded="true"] { border-color: rgba(59, 130, 246, .5); }
[data-theme="dark"] .mavzu-tugma [data-mavzu="dark"] { color: #93c5fd; box-shadow: 0 1px 3px rgba(0, 0, 0, .5); }
[data-theme="dark"] .jadval tr.ota-qator td { background: #0f1729; }
[data-theme="dark"] .jadval tr.soha-qator td.tr { color: #4b5a73; }
