/* WA LMS — monoxrom minimal uslub (Figma «LMS and Course dashboard» asosida) */
:root{--bg:#f4f4f5;--card:#fff;--ink:#141414;--ink2:#3a3a3a;--mut:#8b8b8f;--line:#ececee;--soft:#f4f4f5;
--pri:#141414;--pri-ink:#fff;--ok:#15803d;--okbg:#ecfdf3;--bad:#dc2626;--badbg:#fef2f2;--warn:#b45309;--warnbg:#fffbeb;
--r:16px;--r2:12px;--sh:0 1px 2px rgba(20,20,20,.04),0 8px 24px rgba(20,20,20,.05);
/* shriftlar: sarlavha (katta) va matn (kichik) */
--f-head:"Sora",-apple-system,"Segoe UI",sans-serif;--f-body:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
/* o'lchamlar shkalasi — boshqa o'lcham ishlatilmaydi */
--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:30px}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;font:400 var(--fs-base)/1.5 var(--f-body);background:var(--bg);color:var(--ink);
-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}
.mut{color:var(--mut)}.neg{color:var(--bad)}.pos{color:var(--ok)}
h1,h2,h3,.brand b,.hello b,.kpi .v,.side a,.tabs a,button,.btn{font-family:var(--f-head)}
h1{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:4px 0 16px}
h2{font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px}

/* ---- yon menyu ---- */
.side{position:fixed;inset:12px auto 12px 12px;width:236px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);
padding:18px 14px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px}
.brand .lg{width:44px;height:44px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font:700 var(--fs-md) var(--f-head)}
.brand b{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;line-height:1.2}.brand small{display:block;color:var(--mut);font-size:var(--fs-xs);font-weight:500}
.side a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink2);font-size:var(--fs-base);font-weight:500}
.side a svg{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.side a:hover{background:var(--soft);text-decoration:none}
.side a.on{background:var(--soft);color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}
.side .gap{flex:1}
.main{margin-left:260px;padding:20px 28px 48px}

/* ---- yuqori panel ---- */
.top{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.top form{flex:1;min-width:200px}
.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--mut);fill:none;stroke-width:2}
.search input{width:100%;padding:11px 14px 11px 40px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.user{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);text-decoration:none!important}
.av{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 var(--fs-base) var(--f-head);flex:none}
.hello{display:flex;align-items:center;gap:14px;margin:4px 0 18px}.hello .av{width:52px;height:52px;font-size:var(--fs-lg)}
.hello b{font-size:var(--fs-lg);font-weight:600;display:block;letter-spacing:-.01em}.hello span{color:var(--mut);font-size:var(--fs-sm)}

/* ---- forma elementlari ---- */
input,select,textarea{font:400 var(--fs-base) var(--f-body);padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,20,20,.06)}
button,.btn{font-size:var(--fs-sm);font-weight:600;padding:9px 16px;border-radius:10px;border:1px solid var(--pri);background:var(--pri);color:var(--pri-ink);cursor:pointer;display:inline-block;line-height:1.3}
.btn.out,button.out{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn.out:hover,button.out:hover{border-color:var(--ink)}
.btn.red,button.red{background:var(--bad);border-color:var(--bad);color:#fff}
.btn:hover,button:hover{text-decoration:none;opacity:.92}

/* ---- kartalar ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{background:var(--card);border-radius:var(--r);padding:18px;box-shadow:var(--sh);display:block}
a.card:hover{text-decoration:none;box-shadow:0 1px 2px rgba(20,20,20,.05),0 12px 28px rgba(20,20,20,.09)}
.kpi{position:relative;min-height:112px}
.kpi .l{color:var(--ink2);font-size:var(--fs-sm);font-weight:500;padding-right:44px}
.kpi .v{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kpi .ic{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:9px;background:var(--ink);display:grid;place-items:center}
.kpi .ic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chip{display:inline-block;font:600 var(--fs-xs)/1.5 var(--f-body);padding:2px 9px;border-radius:999px;background:var(--okbg);color:var(--ok);letter-spacing:0}
.chip.m{background:var(--badbg);color:var(--bad)}.chip.w{background:var(--warnbg);color:var(--warn)}.chip.g{background:var(--soft);color:var(--ink2)}
.chip.lg{font-size:var(--fs-sm);padding:4px 12px}
.bar{height:8px;border-radius:99px;background:var(--soft);overflow:hidden;flex:1}.bar i{display:block;height:100%;background:var(--ink);border-radius:99px}

/* ---- jadvallar ---- */
table{width:100%;border-collapse:collapse}
th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
td{font-size:var(--fs-base)}th{font-size:var(--fs-xs);color:var(--mut);font-weight:600;letter-spacing:.02em;background:var(--card)}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right;white-space:nowrap}
.tw{overflow:auto;background:var(--card);border-radius:var(--r);box-shadow:var(--sh)}
.card .tw{box-shadow:none;border-radius:0}
.tw tr:hover td{background:#fafafa}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-top:14px}

/* ---- tablar ---- */
.tabs{display:inline-flex;gap:4px;background:var(--card);padding:4px;border-radius:12px;box-shadow:var(--sh)}
.tabs a{padding:7px 14px;border-radius:9px;color:var(--ink2);font-weight:500;font-size:var(--fs-sm)}
.tabs a:hover{background:var(--soft);text-decoration:none}
.tabs a.on{background:var(--ink);color:#fff}

.msg{padding:11px 14px;border-radius:12px;margin-bottom:14px;background:var(--okbg);color:var(--ok);font-weight:500}
.msg.error{background:var(--badbg);color:var(--bad)}
form.f p{margin:0 0 12px}form.f label{display:block;font-size:var(--fs-xs);color:var(--mut);font-weight:500;margin-bottom:4px}
form.f input,form.f select,form.f textarea{width:100%}
.inl{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.inl>*{flex:1;min-width:120px}
details summary{cursor:pointer;font-weight:600;color:var(--ink2);padding:4px 0}details summary:hover{color:var(--ink)}

/* ---- davomat jurnali ---- */
.dav td,.dav th{padding:6px 4px;text-align:center;min-width:36px}
.dav td:first-child,.dav th:first-child{text-align:left;min-width:190px;position:sticky;left:0;background:#fff;padding-left:14px}
.k{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font:600 var(--fs-xs) var(--f-body);padding:0;color:var(--ink)}
.k:hover{border-color:var(--ink)}
.k.keldi{background:var(--ink);border-color:var(--ink);color:#fff}
.k.kelmadi{background:var(--badbg);border-color:#fca5a5;color:var(--bad)}
.k.kechikdi{background:var(--warnbg);border-color:#fcd34d;color:var(--warn)}
.k.sababli{background:var(--soft);color:var(--mut)}

/* ---- lidlar ---- */
.kanban{display:flex;gap:14px;overflow:auto;align-items:flex-start;padding-bottom:6px}
.kanban .col{min-width:270px;flex:1;background:#ebebed;border-radius:var(--r);padding:12px}
.kanban .col h2{display:flex;justify-content:space-between;font-size:var(--fs-base);padding:2px 4px 6px}
.lid{background:#fff;border-radius:12px;padding:12px;margin-bottom:10px;font-size:var(--fs-sm);box-shadow:0 1px 2px rgba(0,0,0,.04)}

@media(max-width:900px){.side{position:static;width:auto;margin:10px;flex-direction:row;overflow:auto;padding:10px}
.side a{flex-direction:column;gap:4px;font-size:var(--fs-xs);min-width:76px;text-align:center}.brand,.side .gap{display:none}
.main{margin:0;padding:12px 16px}}

/* yordamchi o'lcham klasslari (inline font-size o'rniga) */
small,.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-md{font-size:var(--fs-md)}

/* ---- lidlar doskasi ---- */
.lid-bar{display:flex;gap:12px;align-items:center;margin-bottom:16px;padding:12px 14px}
.dg{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0}.dg span{font-size:var(--fs-xs);color:var(--mut)}
.fp{display:flex;gap:8px;flex-wrap:wrap;flex-basis:100%;padding-top:4px}.fp select{flex:1;min-width:150px}
.ibtns{display:flex;gap:8px}
.ib{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;padding:0;cursor:pointer;color:var(--ink)}
.ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ib:hover{border-color:var(--ink)}.ib.on{background:var(--ink);color:#fff;border-color:var(--ink)}
button.sm,.btn.sm{padding:6px 12px;font-size:var(--fs-xs)}
.chk{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);flex:0 0 auto}.chk input{width:auto}
.kanban .col{display:flex;flex-direction:column;max-height:calc(100vh - 210px)}
.kanban .col h2{align-items:center;gap:8px}
.kanban .col .drop,.kanban .col.avto{overflow:auto}
.kanban .col .drop{min-height:80px;flex:1;border-radius:10px}
.kanban .col.ust{outline:2px dashed var(--ink);outline-offset:-4px}
.kanban .col.avto{background:#e4e4e7}
.lc{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:grab}
.lc.sudr{opacity:.4}.col.avto .lc{cursor:default}
.lc-r{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}
.lc svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;margin-right:6px}
.lc .nm{font-weight:600;color:var(--ink)}.lc .nm.link{text-decoration:underline;text-underline-offset:3px}
.lc .tel{color:var(--ink2);font-size:var(--fs-sm)}
.dots{width:28px;height:28px;padding:0;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink2);font-size:var(--fs-md);line-height:1;display:grid;place-items:center}
.dots svg{margin:0}.dots:hover{border-color:var(--ink)}.dots.flag{background:var(--warnbg);border-color:#fcd34d;color:var(--warn)}
.tag{font-size:var(--fs-xs);border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--ink2);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.lc-b{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.dd{position:absolute;z-index:40;background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:6px;min-width:200px;display:flex;flex-direction:column}
.dd button{background:none;border:0;color:var(--ink);text-align:left;font:500 var(--fs-sm) var(--f-body);padding:9px 12px;border-radius:8px}
.dd button:hover{background:var(--soft)}.dd button:disabled{color:var(--mut);cursor:not-allowed}
/* ---- o'ng panel va oyna ---- */
.ov{position:fixed;inset:0;background:rgba(20,20,20,.28);z-index:50}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:#fff;z-index:60;box-shadow:-12px 0 40px rgba(0,0,0,.12);display:flex;flex-direction:column}
.drawer>div{flex:1;min-height:0;display:flex;flex-direction:column}
.drawer form{display:flex;flex-direction:column;flex:1;min-height:0}
#drawer-panel{overflow:auto;display:block}#drawer-panel:empty{display:none}
.dh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 14px;border-bottom:1px solid var(--line)}
.db{padding:18px 24px;overflow:auto;flex:1}
.df{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--line)}
.modal{position:fixed;inset:0;z-index:70;background:rgba(20,20,20,.35);display:grid;place-items:center;padding:16px}
.mbox{width:min(480px,100%);padding:0}.mbox>div[data-a]{padding:0 24px}.mbox .dh{border:0;padding-bottom:4px}.mbox>p{padding:0 24px}
.fg{margin:0 0 14px}.fg>label{display:block;font-size:var(--fs-xs);color:var(--mut);font-weight:500;margin-bottom:6px}
.rg{display:flex;flex-wrap:wrap;gap:6px}
.rc{display:inline-flex;align-items:center;cursor:pointer}.rc input{position:absolute;opacity:0;width:0;height:0}
.rc span{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:var(--fs-sm);background:#fff}
.rc input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.rc input:focus-visible+span{box-shadow:0 0 0 3px rgba(20,20,20,.15)}
.rg ul,.rg li{list-style:none;margin:0;padding:0;display:contents}
.note{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:var(--fs-sm)}
.note.due{border-color:#fcd34d;background:var(--warnbg)}
.note form{margin-top:6px}

/* ---- CRM voronka ---- */
.vor-sum{margin:-4px 0 10px 2px}
.kanban .col{border-top:4px solid var(--rang,#94a3b8);padding-top:10px}
.ch{padding:2px 4px 10px}
.ch-t{display:flex;justify-content:space-between;align-items:center;gap:8px;font:600 var(--fs-base)/1.3 var(--f-head)}
.ch-s{display:flex;gap:10px;align-items:baseline;margin-top:6px;font-size:var(--fs-xs);color:var(--ink2)}
.ch-s .n{font:700 var(--fs-md) var(--f-head);color:var(--ink)}
.lc{border-left:3px solid var(--rang,transparent)}
.lc-f{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.nx{background:var(--soft);color:var(--ink);border:1px solid var(--line);font:600 var(--fs-xs) var(--f-body);padding:4px 10px;border-radius:8px;
max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.nx.won{background:var(--okbg);color:var(--ok);border-color:#86efac}.nx.won:hover{background:var(--ok);color:#fff}
.zonalar{position:fixed;left:272px;right:24px;bottom:16px;z-index:45;display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}
.zona{border:2px dashed var(--line);background:rgba(255,255,255,.95);border-radius:14px;padding:22px;text-align:center;
font:600 var(--fs-base) var(--f-head);color:var(--ink2);box-shadow:var(--sh)}
.zona.red{border-color:#fca5a5;color:var(--bad)}.zona.won{border-color:#86efac;color:var(--ok)}
.zona.ust{background:var(--ink);color:#fff;border-style:solid;border-color:var(--ink)}
.zona.red.ust{background:var(--bad);border-color:var(--bad)}.zona.won.ust{background:var(--ok);border-color:var(--ok)}
.etaplar{display:flex;gap:3px;margin-bottom:4px}.etaplar form{flex:1;min-width:0}
.et{width:100%;border:0;border-radius:6px;padding:8px 6px;background:var(--soft);color:var(--ink2);font:600 var(--fs-xs) var(--f-body);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:3px solid var(--rang)}
.et.otdi{background:color-mix(in srgb,var(--rang) 18%,#fff)}
.et.on{background:var(--rang);color:#fff}
.et:hover{filter:brightness(.95)}
@media(max-width:900px){.zonalar{left:12px;right:12px;grid-template-columns:1fr}}

/* ustunlar ekran balandligi bo'yicha to'liq (LC-UP kabi) */
.kanban{align-items:stretch;height:calc(100vh - 236px);min-height:420px}
.kanban .col{max-height:none;height:100%;min-height:0}
.kanban .col .drop{flex:1;min-height:0;overflow-y:auto}
.kanban .col.avto{overflow:visible}
@media(max-width:900px){.kanban{height:auto}.kanban .col{height:auto;max-height:70vh}}

/* ---- «Dan – gacha» tanlagich ---- */
.dr{position:relative;flex:0 0 auto}
.dr-btn{display:flex;align-items:center;gap:10px;min-width:260px;background:var(--card);color:var(--ink);border:1px solid var(--line);
border-radius:12px;padding:10px 14px;font:500 var(--fs-sm) var(--f-body);text-align:left}
.dr-btn:hover{border-color:var(--ink);opacity:1}
.dr-btn svg{width:17px;height:17px;stroke:var(--ink2);fill:none;stroke-width:1.8;stroke-linecap:round;flex:none}
.dr-t{flex:1;white-space:nowrap}
.dr-x{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--ink2);font-size:var(--fs-md);line-height:1}
.dr-x:hover{background:var(--ink);color:#fff}
.dr-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:80;background:#fff;border-radius:16px;box-shadow:0 18px 48px rgba(20,20,20,.16);
display:flex;overflow:hidden;border:1px solid var(--line)}
.dr-pre{display:flex;flex-direction:column;gap:2px;padding:12px;border-right:1px solid var(--line);background:#fafafa;min-width:150px}
.dr-pre button{background:none;border:0;color:var(--ink2);text-align:left;font:500 var(--fs-sm) var(--f-body);padding:8px 10px;border-radius:8px}
.dr-pre button:hover{background:var(--card);color:var(--ink);box-shadow:var(--sh)}
.dr-cal{padding:14px 16px 12px;width:316px}
.dr-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dr-h b{font:600 var(--fs-md) var(--f-head)}
.dr-nav{width:32px;height:32px;padding:0;border-radius:9px;background:var(--soft);color:var(--ink);border:0;font-size:var(--fs-lg);line-height:1}
.dr-nav:hover{background:var(--ink);color:#fff}
.dr-g{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.dr-k{text-align:center;font:600 var(--fs-xs) var(--f-body);color:var(--mut);padding:4px 0 6px}
.dr-d{height:38px;border:0;background:none;color:var(--ink);font:500 var(--fs-sm) var(--f-body);border-radius:10px;padding:0;position:relative}
.dr-d:hover{background:var(--soft)}
.dr-d.boshqa{color:#c4c4c8}
.dr-d.bugun{box-shadow:inset 0 0 0 1.5px var(--ink)}
.dr-d.ora{background:var(--soft);border-radius:0}
.dr-d.chet{background:var(--ink);color:#fff}
.dr-d.chap:not(.ong){border-radius:10px 0 0 10px}.dr-d.ong:not(.chap){border-radius:0 10px 10px 0}
.dr-f{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-xs)}
@media(max-width:700px){.dr-pop{flex-direction:column}.dr-pre{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.dr-cal{width:300px}}

/* ---- filtr paneli ---- */
.fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}
.fq{position:relative;flex:0 1 260px}.fq svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--mut);fill:none;stroke-width:2}
.fq input{width:100%;padding:10px 12px 10px 36px;border-radius:12px}
.fchips{display:flex;gap:6px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;border-radius:999px;padding:5px 6px 5px 12px;font:500 var(--fs-xs) var(--f-body)}
.fchip a{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;text-decoration:none;font-size:var(--fs-sm);line-height:1}
.fchip a:hover{background:#fff;color:var(--ink)}
.fpop{position:relative}
.fpanel{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:340px;background:#fff;border:1px solid var(--line);border-radius:16px;
box-shadow:0 18px 48px rgba(20,20,20,.16);padding:16px}
.fpanel h3{font:600 var(--fs-md) var(--f-head);margin:0 0 12px}
.fpanel label.fl{display:block;font-size:var(--fs-xs);color:var(--mut);font-weight:500;margin:10px 0 4px}
.fpanel select{width:100%}
.fpanel .df{padding:14px 0 0;margin-top:14px}
.ib .cnt{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--bad);color:#fff;font:600 var(--fs-xs)/18px var(--f-body);padding:0 4px}
.ib{position:relative}

/* ---- tartibli forma (lid) ---- */
.fs{padding:4px 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.fs:last-child{border-bottom:0;margin-bottom:0}
.fs-t{font:600 var(--fs-sm) var(--f-head);margin:0 0 12px;color:var(--ink)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.g2>p{margin:0 0 12px}
.telw{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.telw:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,20,20,.06)}
.telw>span{display:grid;place-items:center;padding:0 10px;background:var(--soft);color:var(--ink2);font:500 var(--fs-sm) var(--f-body);border-right:1px solid var(--line)}
.telw input{border:0!important;box-shadow:none!important;border-radius:0;flex:1;min-width:0;letter-spacing:.02em}
.rg.grid{display:grid;gap:6px}.rg.g3{grid-template-columns:repeat(3,1fr)}.rg.g5{grid-template-columns:repeat(5,1fr)}
.rg.g6{grid-template-columns:repeat(6,1fr)}
.rg.grid .rc{display:block}.rg.grid .rc span{display:block;text-align:center;border-radius:10px;padding:8px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc span:hover{border-color:var(--ink2)}
.vaqt{display:grid;grid-template-columns:120px repeat(3,1fr);gap:6px;align-items:center}
.vh{font-size:var(--fs-xs);color:var(--mut);text-align:center}
.vr{font:500 var(--fs-sm) var(--f-body);color:var(--ink)}.vr small{display:block;color:var(--mut)}
.vc span{display:grid!important;place-items:center;height:40px;border-radius:10px!important;color:transparent;font-size:var(--fs-md)}
.vc input:checked+span{color:#fff}
.fg>label .mut{font-weight:400}
@media(max-width:560px){.g2{grid-template-columns:1fr}.rg.g6{grid-template-columns:repeat(4,1fr)}.rg.g5,.rg.g3{grid-template-columns:repeat(2,1fr)}}

/* ---- rangli dashboard ---- */
.dsec{display:flex;align-items:center;gap:10px;margin:22px 0 12px;font-size:var(--fs-md)}
.dsec i{width:10px;height:10px;border-radius:3px;background:var(--c);display:inline-block}
.kpi[class*="rc-"]{background:var(--cbg);box-shadow:none;border:1px solid var(--cln)}
a.kpi[class*="rc-"]:hover{box-shadow:0 10px 26px var(--csh)}
.kpi[class*="rc-"] .ic{background:var(--c)}
.kpi[class*="rc-"] .v{color:var(--cv)}
.kpi[class*="rc-"] .l{color:var(--cv);opacity:.85}
.kpi .s{font-size:var(--fs-xs);color:var(--cv);opacity:.65;margin-top:4px}
.kbar{height:8px;border-radius:99px;background:rgba(255,255,255,.7);margin-top:10px;overflow:hidden}
.kbar i{display:block;height:100%;border-radius:99px;background:var(--c)}
.rc-blue{--c:#2563eb;--cbg:#eff6ff;--cln:#dbeafe;--cv:#1e3a8a;--csh:rgba(37,99,235,.18)}
.rc-violet{--c:#7c3aed;--cbg:#f5f3ff;--cln:#ede9fe;--cv:#4c1d95;--csh:rgba(124,58,237,.18)}
.rc-sky{--c:#0284c7;--cbg:#f0f9ff;--cln:#e0f2fe;--cv:#0c4a6e;--csh:rgba(2,132,199,.18)}
.rc-indigo{--c:#4f46e5;--cbg:#eef2ff;--cln:#e0e7ff;--cv:#312e81;--csh:rgba(79,70,229,.18)}
.rc-amber{--c:#d97706;--cbg:#fffbeb;--cln:#fef3c7;--cv:#78350f;--csh:rgba(217,119,6,.18)}
.rc-orange{--c:#ea580c;--cbg:#fff7ed;--cln:#ffedd5;--cv:#7c2d12;--csh:rgba(234,88,12,.18)}
.rc-pink{--c:#db2777;--cbg:#fdf2f8;--cln:#fce7f3;--cv:#831843;--csh:rgba(219,39,119,.18)}
.rc-rose{--c:#e11d48;--cbg:#fff1f2;--cln:#ffe4e6;--cv:#881337;--csh:rgba(225,29,72,.18)}
.rc-green{--c:#16a34a;--cbg:#f0fdf4;--cln:#dcfce7;--cv:#14532d;--csh:rgba(22,163,74,.18)}
.rc-emerald{--c:#059669;--cbg:#ecfdf5;--cln:#d1fae5;--cv:#064e3b;--csh:rgba(5,150,105,.18)}
.rc-yellow{--c:#ca8a04;--cbg:#fefce8;--cln:#fef9c3;--cv:#713f12;--csh:rgba(202,138,4,.18)}
.rc-red{--c:#dc2626;--cbg:#fef2f2;--cln:#fee2e2;--cv:#7f1d1d;--csh:rgba(220,38,38,.18)}
.rc-cyan{--c:#0891b2;--cbg:#ecfeff;--cln:#cffafe;--cv:#164e63;--csh:rgba(8,145,178,.18)}
/* kurs chiziqlari — har qator o'z rangi */
.rbar tr{--c:#2563eb}
.rbar tr:nth-child(5n+2){--c:#16a34a}.rbar tr:nth-child(5n+3){--c:#f59e0b}.rbar tr:nth-child(5n+4){--c:#db2777}.rbar tr:nth-child(5n+5){--c:#7c3aed}
.rbar .bar i{background:var(--c)}
.rbar .dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:8px;vertical-align:0}
.medal{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;margin-right:10px;font:700 var(--fs-xs) var(--f-head);color:#fff}
.medal.m1{background:linear-gradient(135deg,#fbbf24,#d97706)}.medal.m2{background:linear-gradient(135deg,#cbd5e1,#64748b)}.medal.m3{background:linear-gradient(135deg,#fdba74,#c2410c)}
.vaqt.toliq{animation:silk .35s 2}.vaqt.toliq+small,.vaqt.toliq~.vaqt-ogoh{display:block}
.vaqt-ogoh{display:none;color:var(--bad);font-size:var(--fs-xs);margin-top:6px}
@keyframes silk{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* dashboard soddalashtirildi: bo'limga bitta rang, karta oq, rang faqat ikonka va chiziqda */
.kpi[class*="rc-"]{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh)}
.kpi[class*="rc-"] .v{color:var(--ink)}
.kpi[class*="rc-"] .l{color:var(--ink2);opacity:1}
.kpi .s{color:var(--mut);opacity:1}
.kpi.rc-red .v,.kpi.zarar .v{color:var(--bad)}
.kpi[class*="rc-"]::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--c)}
/* ko'zga yengil: ikonka och fonda, rangli chiziq yo'q */
.kpi[class*="rc-"] .ic{background:var(--cbg);border:1px solid var(--cln)}
.kpi[class*="rc-"] .ic svg{stroke:var(--c)}
.kpi[class*="rc-"]::before{display:none}
.grid{gap:16px}.dsec{margin:28px 0 14px}

/* ---- chiroyli tanlov ro'yxati (tanlov.js) ---- */
.cs{position:relative;display:inline-block;min-width:160px;vertical-align:middle}
.cs.toliq{display:block;width:100%}
.cs-asl{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;
left:50%;bottom:0;padding:0!important;border:0!important}
.cs-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);color:var(--ink);
border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:400 var(--fs-base) var(--f-body);text-align:left;cursor:pointer}
.cs-btn:hover{border-color:var(--ink2);opacity:1}
.cs.ochiq .cs-btn,.cs-btn:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,20,20,.06);outline:none}
.cs-btn:disabled{background:var(--soft);color:var(--mut);cursor:not-allowed}
.cs-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-btn svg{width:16px;height:16px;flex:none;stroke:var(--mut);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.cs.ochiq .cs-btn svg{transform:rotate(180deg)}
.cs-pop{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;z-index:95;background:#fff;border:1px solid var(--line);border-radius:12px;
box-shadow:0 16px 40px rgba(20,20,20,.14);padding:6px;max-width:360px}
.cs.tepaga .cs-pop{top:auto;bottom:calc(100% + 6px)}
.cs-q{width:100%;margin-bottom:6px;padding:8px 10px;border-radius:8px;font-size:var(--fs-sm)}
.cs-l{max-height:280px;overflow-y:auto}
.cs-o{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:0;color:var(--ink);
padding:8px 10px;border-radius:8px;font:400 var(--fs-sm) var(--f-body);text-align:left;cursor:pointer}
.cs-o span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-o svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.cs-o.faol{background:var(--soft)}
.cs-o.tanlangan{font-weight:600}.cs-o.tanlangan svg{visibility:visible}
.cs-o.bosh{color:var(--mut)}
.cs-o:disabled{color:#c4c4c8;cursor:not-allowed}
.cs-o:hover{opacity:1}
form.f .chk{display:flex;align-items:center;gap:8px}form.f .chk input{width:auto;margin:0}

/* lidlar: filtrlar bar ichida bir qatorda */
.lid-bar .fbar{gap:8px}
.lid-bar .dr-btn{min-width:230px}
.lid-bar .fq{flex:1 1 200px;max-width:280px}
.lid-bar .cs{min-width:0;flex:0 1 170px}
.lid-bar .cs.qiymatli .cs-btn{border-color:var(--ink);background:var(--soft);font-weight:500}
.fchk{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--card);
font:500 var(--fs-sm) var(--f-body);color:var(--ink2);cursor:pointer;white-space:nowrap}
.fchk input{position:absolute;opacity:0;width:0;height:0}
.fchk svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.fchk:hover{border-color:var(--ink2)}
.fchk.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.lid-bar .dr-btn{min-width:200px}.lid-bar .fq{flex:1 1 180px;max-width:240px}.lid-bar .cs{flex:0 1 150px}
.lid-bar .fbar{flex-wrap:nowrap}.lid-bar .cs{flex:1 1 120px;max-width:170px}.lid-bar .fq{flex:1 1 160px;max-width:260px}
.lid-bar .dr-btn{min-width:0;width:auto}.lid-bar .dr{flex:0 0 auto}
@media(max-width:1200px){.lid-bar .fbar{flex-wrap:wrap}}
.dav th.bekor{color:var(--bad);text-decoration:line-through}
.k.bekor{display:inline-grid;place-items:center;background:var(--badbg);border-color:#fecaca;color:var(--bad);cursor:not-allowed}
.lc.yangi{animation:yangi .7s ease}@keyframes yangi{0%{box-shadow:0 0 0 3px var(--rang,#141414)}100%{box-shadow:0 1px 2px rgba(0,0,0,.05)}}

/* sahifalararo silliq o'tish (oq miltillashsiz) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}
.side{view-transition-name:yon-menyu}

/* ---- bitim (lid) sahifasi ---- */
.bitim{display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:16px;align-items:start}
.bitim-chap{padding:20px}
.bh{display:flex;align-items:center;gap:10px}
.bh .ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bism{flex:1;margin:0;font-size:var(--fs-lg);outline:none;border-radius:8px;padding:2px 6px}
.bism[contenteditable]:hover{background:var(--soft)}.bism[contenteditable]:focus{background:var(--soft);box-shadow:0 0 0 2px var(--ink)}
.btel{display:flex;justify-content:space-between;align-items:center;margin:8px 0 4px;font:600 var(--fs-md) var(--f-head)}
.btel a{color:var(--ink)}
.bmeta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0 14px}
.maydonlar{margin:14px 0 0;display:flex;flex-direction:column;gap:6px}
.mq{display:grid;grid-template-columns:44% 1fr;gap:10px;align-items:center;background:var(--soft);border-radius:10px;padding:10px 12px;min-height:44px;
border:1px solid transparent;transition:border-color .15s,background .15s}
.mq dt{color:var(--ink2);font-size:var(--fs-sm)}
.mq dd{margin:0;font-size:var(--fs-sm);font-weight:500;min-width:0}
.mq .mk{display:block;word-break:break-word}
.mq .me{width:100%}
.bitim .mq:hover{border-color:var(--line);background:#fff;cursor:pointer}
.mq.tahrir{background:#fff;border-color:var(--ink);cursor:default}
.mq.saqlandi{border-color:var(--ok);background:var(--okbg)}
.vt{display:flex;flex-direction:column;gap:6px}.vt .rc span{display:block;border-radius:8px;padding:6px 10px}
.vt-f{display:flex;justify-content:space-between;align-items:center}
.bamal{display:flex;gap:8px;margin-top:16px}.bamal button{flex:1}
.bitim-ong{padding:0;min-height:calc(100vh - 140px)}
.btab{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 16px;overflow-x:auto}
.btab button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ink2);padding:16px 12px 14px;
font:600 var(--fs-sm) var(--f-head);white-space:nowrap}
.btab button.on{color:var(--ink);border-bottom-color:var(--ink)}
.btab button:hover{color:var(--ink);opacity:1}
.tabp{padding:18px 20px}
.yeslat{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px}
.yeslat textarea{width:100%;border:0;padding:4px;resize:vertical;box-shadow:none!important}
.bosh-holat{border:1px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--mut);font-size:var(--fs-sm)}
.vaqt-chizig{list-style:none;margin:0;padding:0}
.vaqt-chizig li{display:flex;gap:12px;padding:8px 0;position:relative;font-size:var(--fs-sm)}
.vaqt-chizig li::before{content:"";position:absolute;left:4px;top:22px;bottom:-8px;width:2px;background:var(--line)}
.vaqt-chizig li:last-child::before{display:none}
.vaqt-chizig .nuqta{width:10px;height:10px;border-radius:50%;background:var(--ink);margin-top:5px;flex:none}
@media(max-width:1000px){.bitim{grid-template-columns:1fr}}
/* bitim: joyida tahrirlash (popover) */
.mq dd{position:relative}
.mq .pp{position:absolute;top:calc(100% + 8px);left:-12px;right:-12px;min-width:220px;max-width:none;z-index:60}
.mq .pp.vtp{padding:10px}.vtp .rc{display:block;margin-bottom:6px}.vtp .rc span{display:block;border-radius:8px;padding:7px 10px}
.vtp .vt-f{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.mq.saqlanmoqda{opacity:.7;pointer-events:none}
.mq .me.matn{width:100%;font:500 var(--fs-sm) var(--f-body)}
.mbtn{display:flex;gap:6px;margin-top:6px}
.mq .me.vt{display:none!important}
#bxabar{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:200;
background:var(--ink);color:#fff;padding:10px 18px;border-radius:12px;font:500 var(--fs-sm) var(--f-body);box-shadow:0 10px 30px rgba(0,0,0,.2);transition:.2s}
#bxabar.kor{opacity:1;transform:translate(-50%,0)}#bxabar.xato{background:var(--bad)}
/* yagona sana tanlagich */
.ss{position:relative;display:block}
.ss .ss-btn{width:100%;min-width:0}
.ss .dr-pop{z-index:96}
.ss.tepaga .dr-pop{top:auto;bottom:calc(100% + 8px)}
.ss .dr-pre{min-width:150px}
/* ---- guruhlar ---- */
.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}
.gtop{margin-bottom:14px}
.tabs .tn{font-weight:600;opacity:.6;margin-left:4px}
.gfbar{margin-bottom:14px}
.fchk.diqqat:not(.on){border-color:#fca5a5;color:var(--bad)}
.fchk-n{background:var(--bad);color:#fff;border-radius:999px;padding:0 7px;font-size:var(--fs-xs);line-height:18px}
.fchk.on .fchk-n{background:#fff;color:var(--ink)}
.tozala{font-size:var(--fs-sm);color:var(--ink2)}
.gjad th{font-size:var(--fs-xs);text-transform:none;color:var(--mut);font-weight:500}
.gjad td{vertical-align:middle;padding-top:12px;padding-bottom:12px}
.gjad tr.qator{cursor:pointer}
.gnom{font:600 var(--fs-base) var(--f-head);color:var(--ink)}
.ust{display:flex;align-items:center;gap:10px}
.av.sm{width:30px;height:30px;font-size:var(--fs-xs);text-transform:uppercase}
.kun{display:inline-block;font:600 var(--fs-xs) var(--f-body);background:var(--soft);border-radius:6px;padding:2px 8px;letter-spacing:.02em}
.oq{display:flex;align-items:center;gap:4px;font-size:var(--fs-base)}
.oq .bar{display:inline-block;width:56px;height:5px;border-radius:9px;background:var(--soft);margin-left:8px;overflow:hidden}
.oq .bar i{display:block;height:100%;background:var(--ink);border-radius:9px;max-width:100%}
.oqd{display:flex;gap:8px;margin-top:2px;color:var(--ok)}.oqd .w{color:var(--warn)}.oqd .g{color:var(--mut)}
.dv{font:600 var(--fs-xs) var(--f-body);padding:3px 9px;border-radius:999px;white-space:nowrap}
.dv.ok{background:var(--okbg);color:var(--ok)}.dv.yoq{background:var(--badbg);color:var(--bad)}
.orqaga{display:inline-block;color:var(--ink2);font-size:var(--fs-sm);margin-bottom:10px}
.ghead{padding:22px 24px;margin-bottom:14px}
.gh-1{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ghead h1{margin:0 0 8px}
.gchips{display:flex;gap:6px;flex-wrap:wrap}
.gchips span{background:var(--soft);border-radius:8px;padding:4px 10px;font-size:var(--fs-sm);color:var(--ink2)}
.gh-amal{display:flex;gap:8px}
.arx-izoh{background:var(--soft);border-radius:10px;padding:10px 14px;font-size:var(--fs-sm);margin:14px 0 0}
.gfakt{display:flex;gap:28px;flex-wrap:wrap;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.gfakt dt{font-size:var(--fs-xs);color:var(--mut)}.gfakt dd{margin:2px 0 0;font-weight:500;font-size:var(--fs-sm)}
.gson{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:16px}
.gson>div{border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.gson b{display:block;font:700 var(--fs-lg) var(--f-head);letter-spacing:-.02em}
.gson span{font-size:var(--fs-xs);color:var(--ink2)}
.gson .w b{color:var(--warn)}.gson .g b{color:var(--mut)}.gson .m b{color:var(--bad)}
.gtab{min-height:0}
.oybar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.oybar b{min-width:120px;text-align:center;font-family:var(--f-head)}
.dav-iz{margin-left:auto;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.k.mini{width:20px;height:20px;border-radius:6px;display:inline-grid;place-items:center;font-size:11px;cursor:default;margin-left:6px}
span.k{display:inline-grid;place-items:center;cursor:default}
.tw.ichki{box-shadow:none;border:1px solid var(--line)}
.dav th.bugun{color:var(--ink);font-weight:700}
.dav th.bekor{color:var(--mut);text-decoration:line-through}
.oqj td{vertical-align:middle}
.dd button.xavf{color:var(--bad)}
.gforma{max-width:760px}
.rg.g4{grid-template-columns:repeat(4,1fr)}.rg.g7{grid-template-columns:repeat(7,1fr)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.g3>p{margin:0 0 12px}
.fg{margin-bottom:14px}.fg>label{display:block;margin-bottom:6px}
.maosh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.maosh .rg{display:flex;gap:6px;flex-wrap:wrap}.maosh input{max-width:180px}
.maosh .rc span{border-radius:10px}
.fbtn{display:flex;gap:8px;margin-top:6px}
@media(max-width:760px){.m-yoq{display:none}.g3,.g2{grid-template-columns:1fr}.rg.g4{grid-template-columns:1fr 1fr}.ghead{padding:18px}.dav-iz{display:none}}
.rg.g2k{grid-template-columns:repeat(2,1fr)}
/* ---- o'qituvchilar ---- */
.gchip{display:inline-block;font:500 var(--fs-xs) var(--f-body);border:1px solid var(--line);border-radius:7px;padding:2px 8px;margin:2px 4px 2px 0;color:var(--ink);background:#fff;white-space:nowrap}
a.gchip:hover{border-color:var(--ink);text-decoration:none}
.dv.or{background:var(--warnbg);color:var(--warn)}
.ust.katta{gap:14px}.ust.katta .av{width:52px;height:52px;font-size:var(--fs-md);text-transform:uppercase}
/* ---- guruh ichi (LC-UP tuzilishi) ---- */
.gsah{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;align-items:start}
.gchap{padding:20px 20px 16px;position:sticky;top:16px}
.gc-bosh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.gc-bosh h1{font-size:var(--fs-lg);margin:0 0 12px;line-height:1.3}
button.ikon{padding:4px 10px;font-size:var(--fs-md);line-height:1;flex:none}
.gmal{margin:0;display:grid;gap:7px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.gmal>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-sm)}
.gmal dt{color:var(--ink2)}.gmal dd{margin:0;font-weight:500;text-align:right}
.gleg{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink2);padding:12px 0 6px}
.gleg span{display:inline-flex;align-items:center;gap:5px}
.nq{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;background:var(--ok)}
.nq.m{background:var(--bad)}.nq.s{background:#3b82f6}.nq.z{background:#eab308}.nq.f{background:var(--ok)}
.groy{list-style:none;margin:0;padding:0;counter-reset:n;max-height:calc(100vh - 470px);min-height:120px;overflow:auto}
.groy li{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--soft);counter-increment:n}
.groy li::before{content:counter(n);width:18px;font-size:var(--fs-xs);color:var(--mut);text-align:right;flex:none}
.groy li.bosh-holat::before{display:none}
.gr-ism{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:500}
.gr-ism a{color:var(--ink)}.groy li.h-sinov .gr-ism a{color:#2563eb}.groy li.h-muzlatilgan .gr-ism a{color:#a16207}
.gr-ism small{display:block;color:var(--mut);font-weight:400;font-size:var(--fs-xs)}
.gc-oyoq{display:flex;justify-content:space-between;gap:8px;padding-top:12px}
.yilsel{width:auto;min-width:90px}
.oypill{display:flex;gap:4px;flex-wrap:wrap}
.oypill a{padding:6px 12px;border:1px solid var(--line);border-radius:9px;font:600 var(--fs-xs) var(--f-head);color:var(--ink2);text-transform:capitalize}
.oypill a:hover{border-color:var(--ink);text-decoration:none}.oypill a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.dav.katta th{font-weight:500;min-width:52px;padding:8px 4px}
.dav.katta th span{display:block;font:600 var(--fs-xs) var(--f-body);color:var(--ink);white-space:nowrap}
.dav.katta th small{display:block;color:var(--mut);font-size:11px}
.dav.katta th.bugun span{color:#fff;background:var(--ink);border-radius:6px;padding:1px 4px}
.dav.katta td{padding:6px 4px}
.dav.katta td:first-child{min-width:200px;font-weight:500;font-size:var(--fs-sm)}
.tr-n{display:inline-block;width:20px;color:var(--mut);font-size:var(--fs-xs)}
.dav.katta .k{width:38px;height:30px;border-radius:999px;font-size:var(--fs-sm)}
.dav.katta .k.keldi{background:#2563eb;border-color:#2563eb}
.dav.katta .k.kelmadi{background:var(--bad);border-color:var(--bad);color:#fff}
.oybar .k.mini.keldi{background:#2563eb;border-color:#2563eb}.oybar .k.mini.kelmadi{background:var(--bad);border-color:var(--bad);color:#fff}
.ochiq-f{margin-bottom:12px}
tr.ochgan td{opacity:.45}
.cheg-q{display:flex;gap:6px}.cheg-q .cs{flex:0 0 90px}.cheg-q input{flex:1}
@media(max-width:1000px){.gsah{grid-template-columns:1fr}.gchap{position:static}.groy{max-height:none}}
.oybar .cs{flex:0 0 96px;width:96px}
/* ---- guruhlar ro'yxati v2 ---- */
.orqaga{display:inline-flex;align-items:center;gap:6px;font:600 var(--fs-sm) var(--f-head);color:var(--ink2);background:var(--card);
border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 10px;margin-bottom:14px;transition:border-color .15s,color .15s}
.orqaga:hover{text-decoration:none;color:var(--ink);border-color:var(--ink)}
.korinish{display:inline-flex;background:var(--card);border-radius:10px;padding:3px;box-shadow:var(--sh)}
.korinish button{background:none;border:0;padding:6px 9px;border-radius:8px;color:var(--mut)}
.korinish button.on{background:var(--soft);color:var(--ink)}
.korinish svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;display:block}
.gstat{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}
.gstat>div{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:14px 18px}
.gstat span{display:block;font-size:var(--fs-xs);color:var(--ink2)}
.gstat b{font:700 var(--fs-xl) var(--f-head);letter-spacing:-.02em;margin-right:6px}
.gstat small{font-size:var(--fs-xs);color:var(--mut)}
.gstat .diq{background:var(--badbg)}.gstat .diq b,.gstat .diq span{color:var(--bad)}
.gjad.lc td{padding-top:14px;padding-bottom:14px}
.gjad.lc tr.qator td:first-child{box-shadow:inset 3px 0 0 var(--c)}
.gsoni{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.gsoni span{font:600 11px/1.6 var(--f-body);padding:0 7px;border-radius:6px;background:var(--soft);color:var(--ink2)}
.gsoni .s{background:#eff6ff;color:#2563eb}.gsoni .z{background:#fefce8;color:#a16207}.gsoni .f{background:none;padding:0;color:var(--mut);font-weight:400}
.gk-kurs{display:inline-block;font:600 var(--fs-xs) var(--f-body);color:var(--cv);background:var(--cbg);border:1px solid var(--cln);border-radius:7px;padding:2px 8px}
.xona{font:600 var(--fs-xs) var(--f-body);color:var(--ok)}
.vaqt{font:600 var(--fs-sm) var(--f-head);white-space:nowrap}
.kunlar{display:flex;gap:4px;flex-wrap:wrap}
.kunlar span{font:500 11px/1.7 var(--f-body);padding:0 7px;border-radius:6px;background:var(--soft);color:var(--ink2)}
.fchk .nq{width:9px;height:9px}
/* kartochkalar */
.gkartalar{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.gk{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px;color:var(--ink);
border-top:3px solid var(--c);transition:transform .12s,box-shadow .12s}
.gk:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.gk-1{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:24px}
.gk h3{font:700 var(--fs-md) var(--f-head);margin:10px 0 8px;letter-spacing:-.01em}
.gk-jad{display:flex;gap:6px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink2);align-items:center}
.gk-jad span{display:inline-flex;align-items:center;gap:4px;background:var(--soft);border-radius:7px;padding:3px 8px}
.gk-jad svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.gk-jad .kun{font-weight:600}.gk-jad .mut{background:none;padding:0}
.gk-ust{display:flex;align-items:center;gap:10px;margin:14px 0;padding:10px 0;border-top:1px solid var(--soft);border-bottom:1px solid var(--soft)}
.gk-ust b{display:block;font-size:var(--fs-sm);font-weight:600}.gk-ust small{display:block;font-size:var(--fs-xs);color:var(--mut)}
.gk-oyoq{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto}
.gk-oq{flex:1;font-size:var(--fs-xs);color:var(--mut)}.gk-oq b{font:700 var(--fs-lg) var(--f-head);color:var(--ink)}
.gk-bar{height:5px;background:var(--soft);border-radius:9px;margin:6px 0 4px;overflow:hidden}.gk-bar i{display:block;height:100%;background:var(--c);border-radius:9px}
.gk-narx{text-align:right}.gk-narx b{display:block;font:700 var(--fs-md) var(--f-head)}.gk-narx span{font-size:var(--fs-xs);color:var(--mut)}
.bosh-katta{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px;text-align:center;color:var(--ink2)}
/* ---- vazifalar ---- */
.side a .nb{margin-left:auto;background:var(--bad);color:#fff;border-radius:999px;font:600 11px/18px var(--f-body);padding:0 7px}
.vkanban{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;align-items:start}
.vcol{background:#ebebed;border-radius:var(--r);padding:12px;min-height:200px}
.vcol h2{font-size:var(--fs-base);margin:2px 4px 10px;display:flex;justify-content:space-between}
.vcol[data-holat="todo"]{border-top:4px solid #94a3b8}.vcol[data-holat="jarayon"]{border-top:4px solid #f59e0b}.vcol[data-holat="bajarildi"]{border-top:4px solid #22c55e}
.vcol.ust{outline:2px dashed var(--ink);outline-offset:-4px}
.vdrop{display:flex;flex-direction:column;gap:8px;min-height:80px}
.vk{display:block;background:#fff;border-radius:12px;padding:10px 12px;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05);border-left:3px solid transparent;cursor:grab}
.vk:hover{text-decoration:none;box-shadow:0 6px 16px rgba(0,0,0,.08)}.vk.sudr{opacity:.4}
.vk.kech{border-left-color:var(--bad)}.vk.tugagan p{text-decoration:line-through;color:var(--mut)}
.vk p{margin:6px 0;font-size:var(--fs-sm);line-height:1.45}
.vk-1{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.vmud{margin-left:auto;font:600 11px var(--f-body);color:var(--ink2)}.vk.kech .vmud{color:var(--bad)}
.vteg{font:600 11px/1.7 var(--f-body);padding:0 7px;border-radius:6px;background:var(--soft);color:var(--ink2)}
.vteg.t-zarur{background:var(--badbg);color:var(--bad)}.vteg.t-tolov{background:var(--okbg);color:var(--ok)}.vteg.t-lid{background:#eff6ff;color:#2563eb}
.vteg.t-oquv{background:#f5f3ff;color:#7c3aed}.vteg.t-avto{background:#fff7ed;color:#c2410c}
.vk-oyoq{display:flex;align-items:center;gap:4px;margin-top:6px}.av.xs{width:22px;height:22px;font-size:10px;text-transform:uppercase}
.vbosh{color:var(--mut);font-size:var(--fs-sm);text-align:center;padding:16px}
.vkim{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:auto}
.vsah{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
.vmatn{font-size:var(--fs-md);line-height:1.5;margin:10px 0 16px}
.vholat{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.vkanban,.vsah{grid-template-columns:1fr}}
/* ---- dars jadvali ---- */
.jtw{overflow:auto}.jadval{border-collapse:separate;border-spacing:0}
.jadval th,.jadval td{border-bottom:1px solid var(--line);border-right:1px solid var(--soft);vertical-align:top;padding:8px}
.jadval thead th{font:600 var(--fs-xs) var(--f-head);color:var(--ink2);text-align:left;white-space:nowrap;background:#fafafa}
.jadval .jx{position:sticky;left:0;background:#fff;min-width:130px;z-index:1}.jadval thead .jx{background:#fafafa}
.jadval .jx b{display:block;font-size:var(--fs-sm)}.jadval .jx small{color:var(--mut);font-size:11px;font-weight:400}
.jadval td{min-width:170px}.jadval td.toq{background:var(--badbg)}
.jk{display:block;background:var(--cbg);border:1px solid var(--cln);border-left:4px solid var(--c);border-radius:10px;padding:7px 9px;color:var(--cv);margin-bottom:4px}
.jk:hover{text-decoration:none;box-shadow:0 4px 12px var(--csh)}
.jk b{display:block;font-size:var(--fs-xs);line-height:1.3}.jk span{display:block;font-size:11px;opacity:.85}.jk .jk-n{font-weight:600;opacity:1}
.jbosh{display:grid;place-items:center;height:54px;border:1.5px dashed var(--line);border-radius:10px;color:var(--mut);font-size:18px}
a.jbosh:hover{border-color:var(--ink);color:var(--ink);text-decoration:none}
.jband{display:flex;align-items:center;gap:8px;justify-content:flex-end}.jband .bar{width:60px;height:6px;background:var(--soft);border-radius:9px;overflow:hidden;display:inline-block}
.jband .bar i{display:block;height:100%;background:var(--ink)}
/* ---- KPI ---- */
.kpi-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.kpik-1{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.kpik-1 small{display:block;font-size:var(--fs-xs)}.kpik-jami{font:700 var(--fs-lg) var(--f-head)}
.kpik td{font-size:var(--fs-sm);padding:6px 0}
/* ---- formalar, eksport, chek ---- */
.havola{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.havola code{font-size:var(--fs-xs);background:var(--soft);padding:4px 8px;border-radius:6px}
.kmenyu{position:relative}.kmenyu summary{list-style:none;cursor:pointer}.kmenyu summary::-webkit-details-marker{display:none}
.kmenyu .dd{right:0;top:calc(100% + 6px);position:absolute}.kmenyu .dd a{padding:9px 12px;border-radius:8px;color:var(--ink);font:500 var(--fs-sm) var(--f-body);white-space:nowrap}
.kmenyu .dd a:hover{background:var(--soft);text-decoration:none}
.btn.xls{margin-left:4px}
.chekbar{display:flex;align-items:center;gap:12px}
.msg.warning{background:var(--warnbg);color:var(--warn)}
.dav.katta th.kochma span{background:#eff6ff;color:#2563eb;border-radius:6px;padding:1px 4px}
/* ---- moliya: menyu va pastki navigatsiya ---- */
.mguruh{position:relative}
.mfly{display:none;position:absolute;left:calc(100% + 6px);top:-6px;z-index:80;background:#fff;border-radius:14px;box-shadow:0 14px 36px rgba(0,0,0,.14);padding:8px;min-width:230px}
.mfly::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:12px}
.mfly b{display:block;font:700 var(--fs-sm) var(--f-head);padding:8px 12px;background:var(--soft);border-radius:9px;margin-bottom:4px}
.mfly a{display:block;padding:8px 12px;border-radius:8px;font-size:var(--fs-sm);color:var(--ink2)}
.mfly a:hover{background:var(--soft);color:var(--ink);text-decoration:none}
.mguruh:hover .mfly,.mguruh:focus-within .mfly{display:block}
.mnav{display:flex;gap:4px;flex-wrap:wrap;background:var(--card);padding:4px;border-radius:12px;box-shadow:var(--sh);margin-bottom:16px;width:fit-content;max-width:100%}
.mnav a{padding:7px 13px;border-radius:9px;color:var(--ink2);font:600 var(--fs-sm) var(--f-head);white-space:nowrap}
.mnav a:hover{background:var(--soft);text-decoration:none}.mnav a.on{background:var(--ink);color:#fff}
@media(max-width:760px){.mfly{display:none!important}.mnav{overflow-x:auto;flex-wrap:nowrap;width:100%}}
@media(min-width:761px) and (min-height:720px){.side{overflow:visible}}
@media(max-height:719px){.mfly{display:none!important}}
/* moliya sahifalari */
.usulk div{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px}.usulk p{margin:0;font-size:var(--fs-xs)}
.usulk p i{font-style:normal;color:var(--ink2);margin-right:5px}.usulk p b{font:600 var(--fs-sm) var(--f-head);letter-spacing:0}
.tbal{border-radius:10px;padding:9px 12px;font-size:var(--fs-sm);margin-bottom:12px}.tbal.qarz{background:var(--badbg);color:var(--bad)}.tbal.haq{background:var(--okbg);color:var(--ok)}
.xsah{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.xstat h2{margin-top:0}.xs-q{margin-bottom:12px}.xs-1{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-sm)}
.xs-bar{height:6px;background:var(--soft);border-radius:9px;margin:4px 0 2px;overflow:hidden}.xs-bar i{display:block;height:100%;background:var(--bad);border-radius:9px}
.zz{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.zz p{margin:6px 0 0;color:var(--ink2)}
@media(max-width:1000px){.xsah{grid-template-columns:1fr}}
/* ish haqi: batafsil qatorlar */
.mjad .mq-det{display:none}.mjad .mq-bl.ochiq .mq-det{display:table-row}
.mjad .mq-bl.ochiq>tr.qator td{background:#fafafa}
.mq-det>td{background:#fafafa;padding:4px 14px 14px}
.ichjad{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.ichjad th,.ichjad td{padding:7px 10px;font-size:var(--fs-sm)}.ichjad th{font-size:var(--fs-xs);color:var(--mut);font-weight:500}
/* ---- talabalar ---- */
.tgr{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm)}
.sahifalar{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:14px}
.tchap .ust.katta h1{margin:0;font-size:var(--fs-lg)}
.tbalans{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--soft);border-radius:12px;padding:12px 14px;margin:12px 0}
.tbalans span{font-size:var(--fs-xs);color:var(--ink2);width:100%}.tbalans b{font:700 var(--fs-xl) var(--f-head);flex:1;letter-spacing:-.02em}
.tbalans.qarz{background:var(--badbg)}.tbalans.qarz b{color:var(--bad)}.tbalans.haq{background:var(--okbg)}.tbalans.haq b{color:var(--ok)}
.tizoh{background:var(--soft);border-radius:10px;padding:8px 10px;margin:10px 0 0}
.tgr-sar{display:flex;justify-content:space-between;align-items:center;margin:16px 0 6px;font:600 var(--fs-sm) var(--f-head)}
.tguruh{list-style:none;margin:0;padding:0}.tguruh li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--soft)}
.tguruh li .chip{font-size:11px;padding:0 7px}
.tamallar{white-space:nowrap}.tamallar .btn,.tamallar button{margin-left:4px}
