/* X-crm — «tungi shahar» dizayn tili.
   Ranglar ma'noli: oltin = sotilgan/faol, ko'k = kutilmoqda/bo'sh, qizil = muammo/bekor, binafsha = obyekt/kelajak/AI, oq = bugun. */
:root{
  --bg:#050C17; --bg2:#0A2540; --panel:#0E1F36; --panel2:#13263F; --line:#1F3E66; --line2:#16304F;
  --tx:#EAF1F8; --tx2:#C9D6E3; --mut:#8FA9C2; --mut2:#5E7894;
  --gold:#FFC832; --gold2:#FFD866; --goldbg:rgba(255,200,50,.14);
  --blue:#39B6FF; --blue2:#7CCBFF; --bluebg:rgba(57,182,255,.14);
  --red:#FF4D5E; --red2:#FF9AA2; --redbg:rgba(255,77,94,.13);
  --pur:#C77DFF; --pur2:#DDB4FF; --purbg:rgba(199,125,255,.13);
  --grn:#7EE2B0;
  --rad:18px; --shadow:0 12px 30px rgba(0,0,0,.35);
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#F2F5F9; --bg2:#E4ECF5; --panel:#FFFFFF; --panel2:#F3F6FA; --line:#D5DFEA; --line2:#E6EDF4;
  --tx:#0A2540; --tx2:#22405F; --mut:#5A7490; --mut2:#8AA0B6;
  --goldbg:rgba(230,165,0,.14); --gold2:#B07800; --bluebg:rgba(20,130,210,.12); --blue2:#1477C2; --redbg:rgba(230,50,70,.10); --red2:#C8283B; --purbg:rgba(140,70,200,.10); --pur2:#7A35B8;
  --shadow:0 10px 26px rgba(10,37,64,.10);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font-family:var(--font);font-size:15px;-webkit-tap-highlight-color:transparent}
body{overflow:hidden}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
a{color:var(--blue2);text-decoration:none}
::selection{background:var(--gold);color:#2A1C00}
.mono{font-family:var(--mono)}
.mut{color:var(--mut)} .mut2{color:var(--mut2)} .gold{color:var(--gold)} .blue{color:var(--blue2)} .red{color:var(--red2)} .pur{color:var(--pur2)}
.tag{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--mut);text-transform:uppercase}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.01em}
h1{font-size:28px} h2{font-size:22px} h3{font-size:17px}
.row{display:flex;align-items:center;gap:10px} .col{display:flex;flex-direction:column;gap:10px} .wrap{flex-wrap:wrap} .grow{flex:1;min-width:0} .end{margin-left:auto}
.gap4{gap:4px}.gap6{gap:6px}.gap14{gap:14px}.gap18{gap:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px} .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:700px){.grid4{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}}
.hide{display:none!important}

/* ---------- SHELL ---------- */
#app{height:100%;display:flex}
.side{width:236px;flex-shrink:0;background:#081629;border-right:1px solid var(--line2);display:flex;flex-direction:column;padding:18px 12px;gap:3px;overflow-y:auto}
:root[data-theme="light"] .side{background:#FFFFFF}
.logo{display:flex;align-items:center;gap:10px;padding:0 8px 16px}
.logo b{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--gold),#E89B0C);display:flex;align-items:center;justify-content:center;font-weight:800;color:#2A1C00}
.navb{height:42px;border:none;border-radius:12px;background:transparent;color:var(--tx2);display:flex;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:700;cursor:pointer;text-align:left;width:100%}
.navb:hover{background:rgba(255,255,255,.04)} .navb.on{background:var(--goldbg);color:var(--gold2)}
.navb .ic{width:22px;text-align:center;font-size:16px}
.navs{display:flex;flex-direction:column;gap:1px;padding:2px 0 6px 34px}
.navs button{height:32px;border:none;border-radius:9px;background:transparent;color:var(--mut);font-size:13px;font-weight:700;cursor:pointer;text-align:left;padding:0 10px}
.navs button.on{background:rgba(255,255,255,.07);color:var(--tx)}
.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%}
.top{height:62px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid var(--line2)}
.content{flex:1;overflow-y:auto;padding:22px;-webkit-overflow-scrolling:touch}
.content.full{padding:0}
.chip{height:34px;padding:0 13px;border-radius:11px;background:var(--panel);border:1px solid var(--line);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;cursor:pointer;color:var(--tx)}
.iconb{position:relative;width:38px;height:38px;border-radius:12px;background:var(--panel);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--tx)}
.iconb .badge{position:absolute;top:-5px;right:-5px}
.aib{background:linear-gradient(135deg,#7A3FC0,#C77DFF);border:none;color:#fff}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:13px;background:var(--panel)}
.seg button{height:30px;padding:0 13px;border:none;border-radius:9px;background:transparent;color:var(--mut);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.seg button.on{background:var(--gold);color:#2A1C00}
.subtabs{display:none}
.tabbar{display:none}
@media(max-width:899px){
  .side{display:none}
  .top{height:56px;padding:0 14px}
  .content{padding:14px 14px 96px}
  .subtabs{display:flex;gap:4px;padding:4px;margin:10px 14px 0;border-radius:13px;background:var(--panel);overflow-x:auto;flex-shrink:0;scrollbar-width:none}
  .subtabs button{flex:1;min-width:max-content;height:32px;padding:0 12px;border:none;border-radius:10px;background:transparent;color:var(--mut);font-size:12px;font-weight:800;cursor:pointer}
  .subtabs button.on{background:var(--gold);color:#2A1C00}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:74px;background:rgba(6,15,30,.97);border-top:1px solid var(--line2);padding:6px 4px calc(10px + env(safe-area-inset-bottom));z-index:40}
  :root[data-theme="light"] .tabbar{background:rgba(255,255,255,.97)}
  .tabbar button{flex:1;border:none;background:transparent;color:var(--mut2);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:800;cursor:pointer;position:relative}
  .tabbar button .ic{font-size:20px;filter:grayscale(1) opacity(.75)}
  .tabbar button.on{color:var(--gold)} .tabbar button.on .ic{filter:none}
  .tabbar .badge{position:absolute;top:-2px;right:calc(50% - 22px)}
  .hide-m{display:none!important}
  .fab{bottom:88px!important}
}
@media(min-width:900px){.hide-d{display:none!important}}
.fab{position:fixed;right:18px;bottom:22px;width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,#7A3FC0,#C77DFF);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 10px 30px rgba(122,63,192,.5);z-index:41}

/* ---------- KOMPONENTLAR ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:16px}
.card.tight{padding:12px}
.card.click{cursor:pointer;transition:transform .12s, border-color .12s}
.card.click:hover{border-color:var(--blue)}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.tile .k{font-size:12px;font-weight:700;color:var(--mut)} .tile .v{font-size:30px;font-weight:800;line-height:1.1} .tile .f{font-size:12px;font-weight:800}
.up{color:var(--gold2)} .down{color:var(--red2)}
.btn{height:44px;padding:0 18px;border:none;border-radius:14px;font-size:14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--panel2);color:var(--tx);white-space:nowrap}
.btn.sm{height:34px;padding:0 12px;border-radius:11px;font-size:13px}
.btn.lg{height:54px;border-radius:16px;font-size:16px}
.btn.gold{background:var(--gold);color:#2A1C00} .btn.blue{background:var(--blue);color:#04203A} .btn.red{background:var(--red);color:#fff} .btn.pur{background:var(--pur);color:#1A0B2A}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--tx2)}
.btn.dash{background:transparent;border:1px dashed var(--line);color:var(--tx)}
.btn:disabled{opacity:.45;cursor:default}
.btn.block{width:100%}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--tx2);white-space:nowrap}
.pill.gold{background:var(--goldbg);color:var(--gold2)} .pill.blue{background:var(--bluebg);color:var(--blue2)} .pill.red{background:var(--redbg);color:var(--red2)} .pill.pur{background:var(--purbg);color:var(--pur2)}
.pill.btnp{cursor:pointer;border:1px solid transparent} .pill.btnp.on{border-color:currentColor}
.inp,select.inp,textarea.inp{width:100%;height:46px;border-radius:13px;border:1px solid var(--line);background:var(--panel2);color:var(--tx);padding:0 14px;font-size:15px;outline:none}
textarea.inp{height:auto;min-height:80px;padding:12px 14px;resize:vertical}
.inp:focus{border-color:var(--blue)}
.lbl{font-size:12px;font-weight:800;color:var(--mut);margin-bottom:6px;display:block}
.fld{display:flex;flex-direction:column;gap:6px}
.list{display:flex;flex-direction:column;gap:8px}
.li{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:15px;background:var(--panel);border:1px solid var(--line2);cursor:pointer}
.li:hover{border-color:var(--line)}
.av{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:linear-gradient(135deg,#1E5F8C,#39B6FF);color:#fff}
.ring{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ring span{width:30px;height:30px;border-radius:50%;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.bar{height:8px;border-radius:99px;background:var(--panel2);overflow:hidden} .bar>i{display:block;height:100%;border-radius:99px;background:var(--blue)}
.empty{padding:34px 10px;text-align:center;color:var(--mut);font-weight:700}
.sep{height:1px;background:var(--line2);margin:6px 0}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--mut2);text-align:left;padding:8px 10px;text-transform:uppercase}
table.t td{padding:10px;border-top:1px solid var(--line2)}
table.t tr.click{cursor:pointer} table.t tr.click:hover td{background:rgba(255,255,255,.02)}
.num{text-align:right;font-family:var(--mono)}
.scroll-x{overflow-x:auto}

/* ---------- MODAL / SHEET ---------- */
.ovl{position:fixed;inset:0;background:rgba(2,6,14,.62);backdrop-filter:blur(4px);z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.sheet{width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:var(--bg2);border-radius:26px 26px 0 0;border-top:1px solid var(--line);padding:18px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px rgba(0,0,0,.5);animation:up .25s cubic-bezier(.2,.8,.2,1)}
@media(min-width:700px){.ovl{align-items:center}.sheet{border-radius:26px;border:1px solid var(--line)}}
.sheet.wide{max-width:900px}
.grab{width:42px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:90;padding:12px 18px;border-radius:14px;background:#0B2A49;border:1px solid var(--line);color:#EAF1F8;font-weight:700;font-size:14px;box-shadow:var(--shadow);max-width:90vw;animation:up .2s}
.toast.err{background:#3A0F18;border-color:var(--red)}
@media(min-width:900px){.toast{bottom:30px}}

/* ---------- JONLI animatsiyalar ---------- */
@keyframes milt{0%,100%{box-shadow:0 0 0 0 rgba(255,200,50,.8)}50%{box-shadow:0 0 0 6px rgba(255,200,50,0)}}
@keyframes sonish{0%,100%{opacity:1}40%{opacity:.25}}
@keyframes nafas{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ding{0%,100%{transform:rotate(0)}15%{transform:rotate(-16deg)}30%{transform:rotate(14deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(0)}}
@keyframes kutish{0%,100%{box-shadow:0 0 0 0 rgba(255,77,94,.6)}50%{box-shadow:0 0 0 7px rgba(255,77,94,0)}}
@keyframes chiq{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes yon{0%,100%{box-shadow:0 0 30px 6px rgba(255,200,50,.45)}50%{box-shadow:0 0 60px 16px rgba(255,200,50,.7)}}
@keyframes oqish{from{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}
.anim-in{animation:chiq .3s ease-out}
.pulse-gold{animation:milt 1.8s infinite}
.fade-red{animation:sonish 2s infinite}

/* ---------- KARTA ---------- */
.heat{position:relative;width:86px;height:86px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.heat .in{width:70px;height:70px;border-radius:50%;background:var(--bg2);display:flex;flex-direction:column;align-items:center;justify-content:center}
.heat b{font-size:22px} .heat small{font-size:10px;color:var(--mut);font-weight:700}
.steps{display:flex;gap:4px} .steps i{flex:1;height:6px;border-radius:3px;background:var(--panel2)} .steps i.on{background:var(--gold)}
.tl{position:relative;padding-left:18px;display:flex;flex-direction:column;gap:10px}
.tl:before{content:'';position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line2)}
.tl .e{position:relative;font-size:13px;line-height:1.45}
.tl .e:before{content:'';position:absolute;left:-17px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--mut2)}
.tl .e.tashrif:before{background:var(--blue)} .tl .e.shartnoma:before{background:var(--gold)} .tl .e.bekor:before{background:var(--red)} .tl .e.obyekt:before{background:var(--pur)}
.tl .e.xato{opacity:.45;text-decoration:line-through}

/* ---------- LOGIN ---------- */
.login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse at 50% 0%,#0F2A4A,#050C17 70%);overflow:auto}
.login .box{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}
.skyline{position:fixed;left:0;right:0;bottom:0;height:34vh;display:flex;align-items:flex-end;gap:6px;padding:0 8px;opacity:.55;pointer-events:none}
.skyline div{flex:1;background:#0E2340;border-radius:3px 3px 0 0;display:flex;flex-wrap:wrap;gap:4px;padding:6px 5px;align-content:flex-start;overflow:hidden}
.skyline span{width:calc(33% - 3px);height:7px;border-radius:1px}
.pill.btnp:not(.on){background:rgba(255,255,255,.05);color:var(--tx2);border-color:var(--line2)}
:root[data-theme="light"] .pill.btnp:not(.on){background:#fff}
.pill.btnp.on{box-shadow:0 0 0 1px currentColor inset}
.pill.btnp:disabled{opacity:.6;cursor:default}
