@font-face{font-family:"Archivo";src:url(../fonts/archivo-wght.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root,[data-theme=light]{--bg:#fafafa;--pn:#ffffff;--pn2:#f2f2f2;--bd:#e6e6e6;--bd2:#d2d2d2;--tx:#1a1a1a;--mu:#676767;--ac:#1a1a1a;--ok:#2f7d4f;--wa:#9a6b1c;--er:#b23b3b;--pu:#555555;--onac:#fff;--tint:rgba(0,0,0,.05)}
[data-theme=dark]{--bg:#0d0d0d;--pn:#141414;--pn2:#1c1c1c;--bd:#262626;--bd2:#3a3a3a;--tx:#ececec;--mu:#a3a3a3;--ac:#ececec;--ok:#6cc08b;--wa:#d4a656;--er:#e07a7a;--pu:#b5b5b5;--onac:#0d0d0d;--tint:rgba(255,255,255,.07)}
body{font-family:-apple-system,ui-sans-serif,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg)}
h2,h3,.kpi .v,.stat,.ag .num,.logo,.abs b,.mc .pm{font-family:"Archivo",sans-serif}h2{font-weight:300;font-size:26px;letter-spacing:-.02em}.card h3{font-weight:500}.kpi .v{font-weight:300;font-size:32px;letter-spacing:-.02em}.stat,.ag .num{font-weight:400}
.logo .u{color:var(--tx)}.logo .u:before{color:var(--tx)}
header{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.card,.ap,.veh,.col,.tk,.mc,.cal,.layers div,dialog,#tip,#toast,.gs,.inp,.tbar input,dialog input,.int .ic{border-radius:2px}
.card{border-color:var(--bd);box-shadow:none}.ap{background:var(--pn)}.col{background:var(--pn2)}
.btn{border-radius:0;background:var(--tint);border-color:transparent;color:var(--tx);min-height:32px}.btn:hover{border-color:var(--bd2)}
.btn.p{background:var(--ac);border-color:var(--ac);color:var(--onac)}.btn.p:hover{opacity:.88}
.filters .btn.on,.ctl .btn.on,.tbar .btn.on{background:var(--ac);border-color:var(--ac);color:var(--onac)}
.tag{border-radius:2px;background:var(--tint);border-color:transparent;color:var(--mu)}.tag.g{color:var(--ok);border-color:transparent;background:color-mix(in srgb,var(--ok) 10%,transparent)}.tag.y{color:var(--wa);border-color:transparent;background:color-mix(in srgb,var(--wa) 12%,transparent)}.tag.r{color:var(--er);border-color:transparent;background:color-mix(in srgb,var(--er) 10%,transparent)}.tag.b{color:var(--tx);border-color:transparent}
.ev code{color:var(--tx)}.layers b{color:var(--mu)}.ap .who{color:var(--mu)}
#nav{background:var(--bg)}#nav button{border-radius:0}#nav button.on{color:var(--tx);background:var(--tint)}#nav .cnt{background:var(--tx);color:var(--bg);border-radius:2px}
.tabs button.on{color:var(--tx);border-color:var(--tx)}.lnk{color:var(--tx);border-bottom-color:var(--mu)}
.meter i.on{background:var(--tx)}.int .ic{background:var(--tx)!important;color:var(--bg)}.sw.on{background:var(--tx)}.sw:after{background:var(--bg)}.sw{background:var(--bd2)}
.tk.me{border-color:var(--tx);box-shadow:0 0 0 1px var(--tx)}.mc.on{border-color:var(--tx);box-shadow:0 0 0 1px var(--tx)}.pay td.on{background:var(--ac);color:var(--onac)}
.hb .b{background:var(--tx)}.hb .b+.b{background:var(--mu)}.prog i{background:var(--tx)}.ap2{background:var(--tint);border-left-color:var(--tx)}.chk input{accent-color:var(--tx)}
#toast{border-color:var(--bd2)}.col.over{outline-color:var(--tx)}
.banner{background:var(--pn2);color:var(--mu)}
#mbtn,#sbtn{display:none}
@media(max-width:900px){
 header{gap:8px;padding:6px 10px;flex-wrap:nowrap}header .tag{display:none}
 #mbtn,#sbtn{display:inline-grid;place-items:center;min-width:40px;min-height:40px;padding:0;font-size:18px}
 .gs{display:none;position:absolute;left:10px;right:10px;top:100%;width:auto!important;min-height:42px;margin-top:6px;z-index:30}body.srch .gs{display:block}
 #theme{min-height:40px}
 #nav{position:fixed!important;top:0;left:0;bottom:0;height:100vh!important;width:min(80vw,300px)!important;z-index:60;transform:translateX(-102%);transition:transform .25s;box-shadow:0 0 40px rgba(0,0,0,.2);padding-top:18px}
 body.nav-open #nav{transform:none}#scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:55;display:none}body.nav-open #scrim{display:block}
 #nav button{min-height:42px;font-size:15px}
 main{padding:14px!important;width:100%}
 .grid.k5,.grid.c4,.kb5{grid-template-columns:repeat(2,1fr)!important}.grid.c2,.grid.c3,.c2e,.c13,.c31,.menu3{grid-template-columns:1fr!important}
 .tb,.pay{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.cal{overflow-x:auto;min-width:0}
 .card{min-width:0;overflow-x:auto}.chart{overflow:visible}
 .kb{display:flex!important;overflow-x:auto;gap:10px;padding-bottom:6px;scroll-snap-type:x mandatory}.kb .col{flex:0 0 72%;scroll-snap-align:start}
 .ev{flex-wrap:wrap}.ev code{min-width:0}.ev .t{margin-left:0}
 .card h3{flex-wrap:wrap;gap:6px}.ctl .btn,.tbar .btn,.filters .btn,.btn{min-height:40px}.filters{flex-wrap:wrap}.tbar input{width:100%}
 #cw{height:220px}.abs{flex-wrap:wrap;gap:10px}.layers div{min-width:calc(50% - 6px)}
 dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;border:0}
 .chart.big{inset:0}.fld{grid-template-columns:1fr}.tech{grid-template-columns:70px 1fr}
 #toast{left:10px;right:10px;bottom:10px}
 h2{font-size:22px}.kv{grid-template-columns:1fr}.kv span:nth-child(odd){margin-top:6px}
}
@media(max-width:480px){.grid.k5 .kpi:last-child{grid-column:1/-1}}
@media(max-width:360px){.grid.k5,.grid.c4,.kb5{grid-template-columns:1fr!important}}
.grid>*{min-width:0}
.card:has(.tb),.card:has(.pay),.card:has(.cal){overflow-x:auto}
.row{display:flex;gap:6px;align-items:center}.row.wrap{flex-wrap:wrap}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mu);margin-right:4px}.dot.g{background:var(--ok)}.dot.y{background:var(--wa)}.dot.r{background:var(--er)}
.chat{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;max-height:260px;overflow:auto}.chat.tall{max-height:420px;min-height:200px}
.bub{max-width:85%;padding:8px 10px;font-size:13px;border-radius:2px;background:var(--tint);line-height:1.45}.bub.me{align-self:flex-end;background:var(--ac);color:var(--onac)}.bub .btn{margin-top:6px;display:block;background:var(--pn);color:var(--tx)}
.shopg{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.btn.sv,.btn.thr{text-align:left;line-height:1.4;padding:8px 10px;height:auto;white-space:normal;display:block;width:100%;margin-bottom:6px}
.big{font-family:"Archivo",sans-serif;font-weight:300;font-size:34px;margin:8px 0 2px}.big .small{font-family:inherit;margin-left:6px}
.phone{max-width:340px;width:100%;margin:0 auto;border:1px solid var(--bd2);border-radius:18px;padding:14px;background:var(--pn);display:flex;flex-direction:column;gap:8px}.pbar{font-weight:600;border-bottom:1px solid var(--bd);padding-bottom:8px;margin-bottom:4px}
.steps{padding-left:18px;line-height:1.9}.steps2{display:flex;gap:6px;flex-wrap:wrap}.steps2>div{flex:1 1 140px;padding:10px;border:1px solid var(--bd);font-size:13px;color:var(--mu)}.steps2 span{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;background:var(--tint);font-size:11px}.steps2 .done{color:var(--tx)}.steps2 .done span{background:var(--ok);color:#fff}.steps2 .on{border-color:var(--tx);color:var(--tx)}
pre.code{background:var(--pn2);padding:12px;font-size:12px;overflow-x:auto;white-space:pre}
select.inp,input.inp{background:var(--pn);color:var(--tx);border:1px solid var(--bd2);padding:6px 8px;min-height:34px;font:inherit;font-size:13px;max-width:100%}
.kp4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.shopg{grid-template-columns:1fr}.kp4{grid-template-columns:repeat(2,1fr)!important}select.inp,input.inp{min-height:40px}.veh{flex-wrap:wrap;gap:6px}}

#nav .ngrp.top{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--bd)}
#nav .grp{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#8a8a8a;margin:14px 0 4px;padding:4px 10px;cursor:pointer;user-select:none}
#nav .grp:hover{color:var(--tx)}#nav .grp .chev{font-size:10px;transition:transform .15s}
#nav .ngrp{height:auto;min-height:0;flex:none}#nav .ngrp.is-collapsed .gi{display:none}#nav .ngrp.is-collapsed .chev{transform:rotate(-90deg)}
#nav .ngrp.top{border-bottom:0;margin-bottom:0;padding-bottom:8px}
#nav .ngrp+.ngrp{border-top:1px solid var(--bd);margin-top:8px;padding-top:8px}
#nav .ngrp+.ngrp .grp{margin:0 0 4px}#nav .ngrp.is-collapsed .grp{margin-bottom:0}

#nav .ic{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
#nav button[data-v]{display:flex;align-items:center;gap:10px;white-space:nowrap}#nav .lb{flex:1;overflow:hidden;text-overflow:ellipsis}#nav .cnt{float:none}
#mbtn{display:inline-grid;place-items:center;min-width:36px;min-height:36px;padding:0}
@media(min-width:901px){
 #nav{transition:width .2s ease,padding .2s ease;overflow-x:hidden}
 body.rail #nav{width:60px;padding:14px 8px}
 body.rail #nav .grp,body.rail #nav .lb{display:none}
 body.rail #nav .ngrp.is-collapsed .gi{display:block}
 body.rail #nav button[data-v]{justify-content:center;padding:9px 0;position:relative}
 body.rail #nav .cnt{position:absolute;top:2px;right:2px;font-size:9px;padding:0 4px}
 body.rail #nav .ngrp+.ngrp{border-top:0;margin-top:6px;padding-top:6px;position:relative}
 body.rail #nav .ngrp+.ngrp:before{content:"";position:absolute;top:0;left:12px;right:12px;border-top:1px solid var(--bd)}
}
/* dark mode: Open WebUI neutral buttons */
[data-theme=dark] .filters .btn,[data-theme=dark] .ctl .btn,[data-theme=dark] .tbar .btn{background:transparent;border:1px solid #262626;color:#9b9b9b}
[data-theme=dark] .filters .btn:hover,[data-theme=dark] .ctl .btn:hover,[data-theme=dark] .tbar .btn:hover{background:#1f1f1f;color:#ececec}
[data-theme=dark] .filters .btn.on,[data-theme=dark] .ctl .btn.on,[data-theme=dark] .tbar .btn.on,[data-theme=dark] .pay td.on{background:#262626!important;border-color:#3a3a3a;color:#fff}
[data-theme=dark] .btn.p{background:#262626;border:1px solid #3a3a3a;color:#ececec}[data-theme=dark] .btn.p:hover{background:#2e2e2e;opacity:1}
[data-theme=dark] .sw{background:#262626}[data-theme=dark] .sw.on{background:#5a5a5a}[data-theme=dark] #nav .cnt{background:#262626;color:#ececec;border:1px solid #3a3a3a}
.rcb{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:8px;overflow-x:auto}.rcc{background:var(--pn2);padding:8px;min-width:0}.rcc h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--mu);display:flex;justify-content:space-between}
.rct{background:var(--pn);border:1px solid var(--bd);padding:8px;margin-bottom:6px;font-size:13px}.rct a,.tb a{color:var(--tx);text-decoration:underline}
@media(max-width:900px){.rcb{grid-template-columns:repeat(6,78vw);scroll-snap-type:x mandatory}.rcc{scroll-snap-align:start}}
.tabs{overflow-x:auto}.tabs [role=tab]:focus-visible{outline:2px solid var(--tx);outline-offset:-2px}
[data-theme=dark] .tabs button.on{background:#262626;color:#fff;border-bottom-color:#ececec}[data-theme=dark] .tabs button:not(.on){color:#9b9b9b}[data-theme=dark] .tabs button:not(.on):hover{background:#1f1f1f;color:#ececec}
.crt{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.crt button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:var(--pn2);border:1px solid var(--bd);color:var(--tx);cursor:pointer;font:inherit;text-align:left}
.crt .n{font-size:26px;line-height:1.1}.crt .l{font-size:12px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px}.crt .od{font-size:11px;color:var(--er)}
.crt button.on{background:var(--ac);color:var(--onac);border-color:var(--ac)}.crt button.on .l{color:inherit}
[data-theme=dark] .crt button{background:transparent;border-color:#262626}[data-theme=dark] .crt button:hover{background:#1f1f1f}[data-theme=dark] .crt button.on{background:#262626;border-color:#3a3a3a;color:#fff}
@media(max-width:900px){.crt{grid-template-columns:repeat(3,1fr)}.crt button[aria-selected]:first-child{grid-column:1/-1}}
.crt button.on .od{color:inherit;opacity:.85}
#ibtn{position:relative;display:inline-grid;place-items:center;min-width:36px;min-height:36px;padding:0}#ibcnt{position:absolute;top:-4px;right:-4px;background:var(--tx);color:var(--bg);font-size:10px;line-height:16px;min-width:16px;padding:0 4px;border-radius:8px}
[data-theme=dark] #ibcnt{background:#262626;color:#fff;border:1px solid #3a3a3a}
.ibn{font-size:10px;background:var(--pn2);border:1px solid var(--bd);padding:0 5px;border-radius:8px;margin-left:4px}
.ib{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.ibl{padding:6px;display:flex;flex-direction:column;gap:2px}
.ibi{display:flex;flex-direction:column;gap:3px;text-align:left;background:none;border:0;border-bottom:1px solid var(--bd);padding:10px;color:var(--tx);cursor:pointer;font:inherit}.ibi:hover{background:var(--pn2)}.ibi.on{background:var(--tint,var(--pn2))}
.ibh{display:flex;justify-content:space-between;align-items:center;gap:8px}.ibd{width:8px;height:8px;border-radius:50%;background:var(--tx);display:inline-block}
.ibtop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--bd)}.ibmsgs{display:flex;flex-direction:column;gap:8px;padding:12px 0;min-height:160px}
.ibm{max-width:80%;padding:8px 12px;background:var(--pn2);border:1px solid var(--bd);font-size:14px}.ibm.out{align-self:flex-end;background:var(--bg)}
.ibai{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px;border:1px dashed var(--bd2,var(--bd));margin-bottom:10px}.ibrow{display:flex;gap:8px}.ibrow textarea{flex:1;min-width:0;resize:vertical;font:inherit}
.ibback{display:none}
@media(max-width:900px){.ib{grid-template-columns:1fr}.ib.sel .ibl{display:none}.ib:not(.sel) .ibt{display:none}.ibback{display:inline-block}.ibai{flex-direction:column;align-items:stretch}}
#askbtn{display:inline-flex;align-items:center;gap:6px;min-height:36px}#askbtn[aria-expanded=true]{background:var(--pn2)}
#askp{position:fixed;top:64px;right:12px;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;z-index:70;background:var(--pn);border:1px solid var(--bd);box-shadow:0 12px 40px rgba(0,0,0,.18);padding:14px}
#askp[hidden]{display:none}.askhd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}#askx{min-width:32px;min-height:32px;padding:0}
#askp .grid{grid-template-columns:1fr!important;gap:10px}#askp .card{margin:0}#askp .chat.tall{max-height:40vh;overflow:auto}
[data-theme=dark] #askp{box-shadow:0 12px 40px rgba(0,0,0,.6)}[data-theme=dark] #askbtn[aria-expanded=true]{background:#262626;border-color:#3a3a3a}
@media(max-width:900px){#askbtn .al{display:none}#askbtn{min-width:40px;justify-content:center;padding:0}#askp{inset:0;top:0;right:0;width:auto;max-height:none;height:100vh;border:0;z-index:80;padding:16px}#askp .chat.tall{max-height:none}}
#theme{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0}
#theme .ti-sun,[data-theme=dark] #theme .ti-moon{display:none}[data-theme=dark] #theme .ti-sun{display:block}
.dok{color:#2f7d3a;white-space:nowrap}[data-theme=dark] .dok{color:#7fcf8a}
#dskp table button{white-space:nowrap}
#fip td:first-child,#dskp td:first-child{white-space:nowrap}
/* Light-mode neutral toggles + primary (mirrors dark) */
:root:not([data-theme=dark]) .filters .btn,:root:not([data-theme=dark]) .ctl .btn,:root:not([data-theme=dark]) .tbar .btn,:root:not([data-theme=dark]) .crt button{background:transparent;border:1px solid #e5e5e5;color:#6b6b6b}
:root:not([data-theme=dark]) .filters .btn:hover,:root:not([data-theme=dark]) .ctl .btn:hover,:root:not([data-theme=dark]) .tbar .btn:hover,:root:not([data-theme=dark]) .crt button:hover{background:#f2f2f2;color:#1a1a1a}
:root:not([data-theme=dark]) .filters .btn.on,:root:not([data-theme=dark]) .ctl .btn.on,:root:not([data-theme=dark]) .tbar .btn.on,:root:not([data-theme=dark]) .crt button.on,:root:not([data-theme=dark]) .pay td.on{background:#ececec!important;border-color:#d4d4d4;color:#1a1a1a}
:root:not([data-theme=dark]) .crt button.on .l,:root:not([data-theme=dark]) .crt button.on .od{color:inherit}
:root:not([data-theme=dark]) .btn.p{background:#ececec;border:1px solid #d4d4d4;color:#1a1a1a;font-weight:600}:root:not([data-theme=dark]) .btn.p:hover{background:#e2e2e2;opacity:1}
:root:not([data-theme=dark]) .bub.me{background:#ececec;color:#1a1a1a;border:1px solid #d4d4d4}
:root:not([data-theme=dark]) #nav .cnt{background:#ececec;color:#1a1a1a;border:1px solid #d4d4d4}

.logo .d{font-weight:300;margin-left:.18em}
