:root{--nav:60px;--rad:13px;--radsm:9px}

body.dark{
  --bg:#080E1A;--surf:#0D1826;--surf2:#111F33;--surf3:#172844;
  --bdr:rgba(80,160,255,.08);--bdr2:rgba(80,160,255,.18);
  --acc:#F0C040;--acc2:#A07010;--accd:rgba(240,192,64,.1);
  --grn:#38C472;--grnd:rgba(56,196,114,.1);
  --red:#E04A3F;--redd:rgba(224,74,63,.1);
  --blue:#4A9CF5;--blued:rgba(74,156,245,.09);
  --pur:#9B7FE8;--purd:rgba(155,127,232,.1);
  --txt:#C8DCF8;--txt2:#5E80A8;--txt3:#2E4868;
  --shadow:0 1px 8px rgba(0,0,0,.4);--inpbg:#111F33
}
body.light{
  --bg:#F0F2F5;--surf:#FFFFFF;--surf2:#E8ECF0;--surf3:#DDE2E8;
  --bdr:rgba(60,80,120,.1);--bdr2:rgba(60,80,120,.18);
  --acc:#C45C18;--acc2:#8B3A0A;--accd:rgba(196,92,24,.08);
  --grn:#1A7A46;--grnd:rgba(26,122,70,.08);
  --red:#D12B2B;--redd:rgba(209,43,43,.08);
  --blue:#1A5FA0;--blued:rgba(26,95,160,.08);
  --pur:#5E3E9A;--purd:rgba(94,62,154,.08);
  --txt:#1A1E28;--txt2:#5A6278;--txt3:#9AA0B2;
  --shadow:0 1px 8px rgba(30,50,100,.08);--inpbg:#EEF1F5
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--txt);display:flex;flex-direction:column;font-size:14px}

/* LAYOUT */
header{flex-shrink:0;height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--surf);border-bottom:1px solid var(--bdr);box-shadow:var(--shadow)}
.logo{font-family:'Fraunces',serif;font-weight:900;font-size:1.15rem;color:var(--acc);letter-spacing:-.02em}
.hdr-r{display:flex;align-items:center;gap:6px}
.wbadge{font-size:.6rem;font-weight:700;color:var(--txt2);background:var(--surf2);border:1px solid var(--bdr);padding:.2rem .5rem;border-radius:20px}
.wbadge b{color:var(--acc)}
.thbtn{width:28px;height:28px;border-radius:50%;border:1px solid var(--bdr);background:var(--surf2);cursor:pointer;font-size:.88rem;display:flex;align-items:center;justify-content:center;transition:.14s}
.thbtn:active{transform:scale(.88)}
.rpill{font-size:.57rem;font-weight:700;padding:.18rem .48rem;border-radius:20px;letter-spacing:.05em;text-transform:uppercase}
.rp-a{background:var(--accd);color:var(--acc);border:1px solid rgba(139,69,19,.2)}
.rp-l{background:var(--grnd);color:var(--grn);border:1px solid rgba(46,122,70,.2)}
.srv-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}
.srv-card{background:var(--surf2);border:1px solid var(--bdr);border-radius:10px;padding:10px 11px}
.srv-card-full{background:var(--surf2);border:1px solid var(--bdr);border-radius:10px;padding:10px 11px;grid-column:1/-1}
.srv-lbl{font-size:.52rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.srv-val{font-size:1.05rem;font-weight:700;color:var(--txt);font-family:'Fraunces',serif}
.srv-sub{font-size:.6rem;color:var(--txt2);margin-top:2px}
.srv-bar{height:5px;background:var(--bdr);border-radius:3px;margin-top:6px;overflow:hidden}
.srv-fill{height:100%;border-radius:3px;transition:width .4s}
.srv-fill.ok{background:var(--grn)}
.srv-fill.warn{background:var(--acc)}
.srv-fill.crit{background:var(--red)}
.srv-badge{display:inline-flex;align-items:center;gap:4px;font-size:.6rem;font-weight:700;padding:.18rem .5rem;border-radius:20px}
.srv-badge.ok{background:var(--grnd);color:var(--grn)}
.srv-badge.err{background:var(--redd);color:var(--red)}
.srv-status-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--bdr);background:var(--surf2);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:.14s}
.srv-status-btn:active{transform:scale(.88)}
@media(max-width:430px){.hdr-r{gap:4px}.wbadge{font-size:.55rem;padding:.15rem .38rem}.thbtn,.srv-status-btn{width:24px;height:24px;font-size:.75rem}.rpill{font-size:.52rem;padding:.15rem .38rem}.btn.bghost.bsm{padding:.15rem .38rem;font-size:.52rem}.hdr-logo-sub{display:none!important}}

.scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.scroll::-webkit-scrollbar{display:none}
.inner{padding:13px 13px calc(var(--nav) + 14px)}

.bnav{height:var(--nav);flex-shrink:0;background:var(--surf);border-top:1px solid var(--bdr);display:grid;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -1px 8px rgba(0,0,0,.06);position:relative}
.ni{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;position:relative;transition:.18s}
.ni-ico{font-size:1.1rem;transition:transform .18s;position:relative}
.ni-lbl{font-size:.51rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.06em;transition:color .18s}
.ni.on .ni-lbl{color:var(--acc)}
.ni.on .ni-ico{transform:translateY(-2px)}
.ni.on::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--acc);border-radius:0 0 3px 3px}

.sec{display:none}
.sec.on{display:block;animation:fu .18s ease}
@keyframes fu{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* CARDS */
.card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rad);padding:13px;margin-bottom:9px;box-shadow:var(--shadow)}
.ctitle{font-family:'Fraunces',serif;font-size:.82rem;font-weight:700;color:var(--blue);margin-bottom:10px}

/* KPI */
.kg{display:grid;gap:7px;margin-bottom:9px}
.k2{grid-template-columns:1fr 1fr}.k3{grid-template-columns:1fr 1fr 1fr}.k4{grid-template-columns:1fr 1fr 1fr 1fr}
.kpi{background:var(--surf2);border:1px solid var(--bdr);border-radius:var(--radsm);padding:10px 9px}
.kl{font-size:.52rem;color:var(--txt3);font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.kv{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:900;line-height:1}
.ks{font-size:.54rem;color:var(--txt3);margin-top:2px}
.cy{color:var(--acc)}.cg{color:var(--grn)}.cr{color:var(--red)}.cb{color:var(--blue)}.cw{color:var(--txt)}

/* PROFIT */
.pbox{background:linear-gradient(135deg,var(--accd),var(--blued));border:1px solid var(--bdr2);border-radius:var(--rad);padding:16px 15px;margin-bottom:9px;text-align:center;position:relative;overflow:hidden}
.pbox::after{content:'🧀';position:absolute;right:-4px;bottom:-8px;font-size:3rem;opacity:.06;pointer-events:none}
.pb-lbl{font-size:.57rem;color:var(--txt2);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.pb-amt{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.pb-sub{font-size:.63rem;color:var(--txt2);margin-top:4px}

/* PROGRESS */
.progbar{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rad);padding:12px 13px;margin-bottom:9px}
.prg-hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.prg-tr{height:6px;background:var(--surf2);border-radius:3px;overflow:hidden}
.prg-fl{height:100%;border-radius:3px;background:linear-gradient(to right,var(--acc2),var(--acc));transition:width .5s}
.prg-fl.over{background:linear-gradient(to right,#1A6A32,var(--grn))}
.prg-nt{font-size:.57rem;color:var(--txt3);margin-top:4px}

/* CHART */
.chart{display:flex;align-items:flex-end;gap:4px;height:62px;margin-top:7px}
.cc{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.cbar{width:100%;border-radius:3px 3px 0 0;background:linear-gradient(to top,var(--blued),var(--blue));min-height:3px;transition:height .4s}
.cbar.tod{background:linear-gradient(to top,var(--grnd),var(--grn))}
.clbl{font-size:.49rem;color:var(--txt3);font-weight:600}
.cval{font-size:.47rem;color:var(--acc);font-weight:700;min-height:7px}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:2px;padding:.12rem .4rem;border-radius:20px;font-size:.59rem;font-weight:700;white-space:nowrap}
.bg{background:var(--grnd);color:var(--grn);border:1px solid rgba(56,196,114,.2)}
.by{background:var(--accd);color:var(--acc);border:1px solid rgba(139,69,19,.2)}
.br{background:var(--redd);color:var(--red);border:1px solid rgba(192,57,43,.2)}
.bb{background:var(--blued);color:var(--blue);border:1px solid rgba(26,95,160,.18)}
.bp{background:var(--purd);color:var(--pur);border:1px solid rgba(94,62,154,.18)}
.b-cash{background:var(--grnd);color:var(--grn);border:1px solid rgba(56,196,114,.18)}
.b-twint{background:var(--blued);color:var(--blue);border:1px solid rgba(26,95,160,.2)}
.b-later{background:rgba(200,120,0,.1);color:#B06000;border:1px solid rgba(200,120,0,.2)}
body.dark .b-later{color:#E09020;background:rgba(200,120,0,.12)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;padding:.52rem .9rem;border-radius:var(--radsm);border:none;font-family:'DM Sans',sans-serif;font-size:.77rem;font-weight:700;cursor:pointer;transition:.13s;text-decoration:none;white-space:nowrap}
.bf{width:100%;display:flex}
.bacc{background:var(--acc);color:#2C1A06}.bacc:active{filter:brightness(.88);transform:scale(.97)}
.bgrn{background:var(--grnd);color:var(--grn);border:1px solid rgba(56,196,114,.22)}.bgrn:active{filter:brightness(.9)}
.bred{background:var(--redd);color:var(--red);border:1px solid rgba(192,57,43,.2)}.bred:active{filter:brightness(.9)}
.bghost{background:transparent;color:var(--txt2);border:1px solid var(--bdr2)}.bghost:active{background:var(--surf2)}
.bblu{background:var(--blued);color:var(--blue);border:1px solid rgba(26,95,160,.18)}.bblu:active{filter:brightness(.9)}
.bsm{padding:.26rem .58rem;font-size:.69rem;border-radius:7px}

.al{display:inline-flex;align-items:center;gap:.22rem;padding:.22rem .52rem;border-radius:6px;font-size:.67rem;font-weight:700;text-decoration:none;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:.13s}
.al-m{background:var(--blued);color:var(--blue);border:1px solid rgba(26,95,160,.14)}
.al-w{background:rgba(37,211,102,.08);color:#25D366;border:1px solid rgba(37,211,102,.18)}
.al-c{background:var(--blued);color:var(--blue);border:1px solid rgba(26,95,160,.14)}
.al-d{background:var(--redd);color:var(--red);border:1px solid rgba(192,57,43,.15)}
.al-d.conf{background:var(--red);color:#fff;animation:pulse .3s ease}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* FORMS */
.field{margin-bottom:9px}
.field label{display:block;font-size:.59rem;color:var(--txt2);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.inp{width:100%;background:var(--inpbg);border:1px solid var(--bdr2);border-radius:var(--radsm);padding:.52rem .76rem;color:var(--txt);font-family:'DM Sans',sans-serif;font-size:.82rem;outline:none;transition:border .13s;-webkit-appearance:none;appearance:none}
.inp:focus{border-color:var(--acc)}
.inp option{background:var(--surf2)}
textarea.inp{resize:none}
.hint{font-size:.57rem;color:var(--txt3);margin-top:3px}
.frow{display:flex;gap:7px}.frow .field{flex:1}
.sbox{position:relative;margin-bottom:11px}
.sbox .inp{padding-left:2rem}
.sico{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);font-size:.82rem;opacity:.4;pointer-events:none}

/* SEC HEADS */
.sechead{margin-bottom:13px;display:flex;align-items:flex-start;justify-content:space-between}
.sh h2{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:900;letter-spacing:-.02em}
.sh p{font-size:.63rem;color:var(--txt2);margin-top:2px}
.slbl{font-size:.59rem;color:var(--txt2);font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}

/* MISC */
.divider{height:1px;background:var(--bdr);margin:8px 0}
.row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:.77rem}
.row.tot{font-weight:700;font-size:.84rem;border-top:1px solid var(--bdr);padding-top:8px;margin-top:2px}
.empty-st{text-align:center;padding:28px 14px;color:var(--txt3)}
.empty-st .ei{font-size:2rem;margin-bottom:7px}
.empty-st p{font-size:.73rem}
.tag-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:4px 0}

/* DELIVERY ITEMS */
.day-sec{margin-bottom:16px}
.day-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.day-title{font-family:'Fraunces',serif;font-size:.96rem;font-weight:900}
.day-title.tod{color:var(--acc)}
.day-meta{font-size:.63rem;color:var(--txt2);font-weight:600}
.day-empty{font-size:.69rem;color:var(--txt3);padding:9px 12px;background:var(--surf2);border-radius:var(--radsm);border:1px dashed var(--bdr);text-align:center}
.di{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rad);padding:10px 11px;margin-bottom:7px}
.di.done{border-color:rgba(56,196,114,.25)}
.di-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.di-name{font-weight:700;font-size:.85rem}
.di-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
.di-tag{font-size:.63rem;color:var(--txt2)}
.di-btns{display:flex;gap:5px;flex-wrap:wrap;align-items:center}

/* HISTORY */
.htog{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rad);cursor:pointer;margin-bottom:5px}
.hbody{display:none}.hbody.on{display:block}
.hmonth{font-size:.58rem;color:var(--txt3);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:7px 2px 4px}
.hi{background:var(--surf);border:1px solid var(--bdr);border-left:3px solid var(--grn);border-radius:var(--rad);padding:10px 11px;margin-bottom:6px}
.hi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.hi-name{font-weight:700;font-size:.81rem}

/* ══ PLANIFICATION ══ */
.daybtns{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.daybtn{padding:.36rem .68rem;border-radius:8px;border:1px solid var(--bdr);background:var(--surf2);color:var(--txt2);font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;transition:.13s}
.daybtn.sel{border-color:var(--acc);background:var(--accd);color:var(--acc)}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cbtn{background:var(--surf2);border:2px solid var(--bdr);border-radius:var(--radsm);padding:8px 6px;cursor:pointer;transition:.13s;font-family:'DM Sans',sans-serif;text-align:center;position:relative}
.cbtn.sel{border-color:var(--acc);background:var(--accd)}
.cbtn.sel::after{content:'✓';position:absolute;top:3px;right:5px;font-size:.58rem;color:var(--acc);font-weight:900}
.cbn{font-weight:700;font-size:.78rem}.cbp{font-size:.56rem;color:var(--txt3);margin-top:1px}
.qty-row{display:flex;align-items:center;justify-content:space-between;background:var(--surf2);border:1px solid var(--bdr);border-radius:var(--radsm);padding:8px 11px;margin-bottom:7px}
.qnm{font-weight:600;font-size:.8rem;flex:1}
.qaddr{font-size:.58rem;color:var(--txt3);margin-top:1px}
.qctrl{display:flex;align-items:center;gap:8px}
.qbtn{width:30px;height:30px;border-radius:50%;border:2px solid var(--bdr2);background:var(--surf3);color:var(--txt);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;transition:.13s;font-family:'DM Sans',sans-serif}
.qbtn:active{background:var(--acc);color:#2C1A06;border-color:var(--acc)}
.qval{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:900;color:var(--acc);min-width:34px;text-align:center}
.plan-summary{background:var(--grnd);border:1px solid rgba(56,196,114,.2);border-radius:var(--rad);padding:12px 13px;margin-bottom:9px}
.plan-sum-title{font-weight:700;font-size:.82rem;color:var(--grn);margin-bottom:8px}
.plan-sum-row{display:flex;justify-content:space-between;font-size:.77rem;padding:3px 0;border-bottom:1px solid rgba(56,196,114,.12)}
.plan-sum-row:last-child{border-bottom:none}

/* STBAR */
.stbar{height:4px;background:var(--surf3);border-radius:2px;margin-top:5px;overflow:hidden}
.stfill{height:100%;border-radius:2px;transition:width .4s}

/* ITIN */
.itin-st{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rad);padding:10px 11px;margin-bottom:7px;display:flex;gap:9px;align-items:flex-start}
.itin-n{width:24px;height:24px;border-radius:50%;background:var(--acc);color:#2C1A06;font-weight:900;font-size:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.itin-b{flex:1}
.itin-nm{font-weight:700;font-size:.83rem}
.itin-ad{font-size:.63rem;color:var(--txt2);margin-top:2px}
.itin-mt{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}

/* LOGIN */
.loginsc{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.lbox{width:100%;max-width:320px}
.llogo{font-family:'Fraunces',serif;font-weight:900;font-size:1.95rem;color:var(--acc);margin-bottom:3px;letter-spacing:-.03em}
.lsub{font-size:.68rem;color:var(--txt2);margin-bottom:10px}
.trow{display:flex;gap:8px;margin-bottom:22px}
.topt{flex:1;padding:9px 6px;border-radius:10px;border:2px solid var(--bdr);background:var(--surf2);cursor:pointer;text-align:center;transition:.13s}
.topt.sel{border-color:var(--acc);background:var(--accd)}
.toi{font-size:1.3rem;margin-bottom:2px}
.ton{font-size:.7rem;font-weight:700;color:var(--txt2)}
.topt.sel .ton{color:var(--acc)}
.lerr{font-size:.7rem;color:var(--red);margin-top:6px;display:none}

/* MODALS */
.mover{display:none!important;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);align-items:flex-end;justify-content:center}
.mover.on{display:flex!important}
.modal{background:var(--surf);border:1px solid var(--bdr2);border-radius:18px 18px 0 0;padding:0 15px 34px;width:100%;max-width:580px;max-height:91vh;overflow-y:auto;animation:su .22s cubic-bezier(.4,0,.2,1)}
.modal::-webkit-scrollbar{display:none}
@keyframes su{from{transform:translateY(100%)}to{transform:translateY(0)}}
.mhandle{width:30px;height:3px;background:var(--bdr2);border-radius:2px;margin:9px auto 15px}
.mtitle{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:900;margin-bottom:13px}
.mact{display:flex;gap:7px;margin-top:9px}.mact .btn{flex:1}

/* PAY SHEET */
.payover{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.82);backdrop-filter:blur(7px);align-items:flex-end;justify-content:center}
.payover.on{display:flex}
.paysheet{background:var(--surf);border:1px solid var(--bdr2);border-radius:18px 18px 0 0;padding:0 18px 42px;width:100%;max-width:580px;animation:su .22s cubic-bezier(.4,0,.2,1)}
.ph{width:30px;height:3px;background:var(--bdr2);border-radius:2px;margin:9px auto 16px}
.pay-nm{font-family:'Fraunces',serif;font-size:1.12rem;font-weight:900;margin-bottom:2px}
.pay-inf{font-size:.77rem;color:var(--txt2);margin-bottom:15px}
.pay-opts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:15px}
.popt{padding:13px 6px;border-radius:11px;border:2px solid var(--bdr);background:var(--surf2);cursor:pointer;text-align:center;transition:.13s;font-family:'DM Sans',sans-serif}
.popt:active{transform:scale(.96)}
.popt.s-cash{border-color:var(--grn);background:var(--grnd)}
.popt.s-twint{border-color:var(--blue);background:var(--blued)}
.popt.s-later{border-color:#B06000;background:rgba(200,120,0,.1)}
body.dark .popt.s-later{border-color:#D08020}
.poi{font-size:1.65rem;margin-bottom:4px}
.pon{font-size:.78rem;font-weight:700}
.paybtn{width:100%;padding:15px;border-radius:11px;border:none;font-family:'Fraunces',serif;font-size:1rem;font-weight:900;cursor:pointer;transition:.13s}
.paybtn:active{transform:scale(.97)}
.paycancel{width:100%;padding:.55rem;margin-top:7px;border-radius:var(--radsm);border:1px solid var(--bdr);background:transparent;color:var(--txt3);font-family:'DM Sans',sans-serif;font-size:.77rem;font-weight:700;cursor:pointer}

/* ADMIN */
.usr-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bdr)}

/* TOAST */
.toast{position:fixed;top:58px;left:50%;transform:translateX(-50%) translateY(-12px);background:var(--surf);border:1px solid var(--bdr2);border-radius:20px;padding:.4rem .95rem;font-size:.73rem;font-weight:600;color:var(--txt);box-shadow:var(--shadow);opacity:0;transition:all .22s;z-index:400;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.flash-ok{position:fixed;inset:0;z-index:350;background:rgba(56,196,114,.18);pointer-events:none;opacity:0;transition:opacity .15s}
.flash-ok.on{opacity:1}

/* STAT TABS */
.stabs{display:flex;gap:5px;margin-bottom:10px}
.stab{flex:1;padding:.36rem;border-radius:7px;border:1px solid var(--bdr);background:var(--surf2);color:var(--txt2);font-family:'DM Sans',sans-serif;font-size:.69rem;font-weight:700;cursor:pointer;transition:.13s;text-align:center}
.stab.sel{border-color:var(--acc);background:var(--accd);color:var(--acc)}

/* STAT BARS */
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}
.statbar-wrap{background:var(--surf2);border:1px solid var(--bdr);border-radius:var(--radsm);padding:9px 10px}
.statbar-title{font-size:.56rem;color:var(--txt3);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.statbar-chart{display:flex;align-items:flex-end;gap:3px;height:48px}
.sbar{flex:1;border-radius:2px 2px 0 0;min-height:2px;transition:height .4s}
.sbar-lbl{font-size:.44rem;color:var(--txt3);font-weight:600;text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbar-val{font-size:.44rem;color:var(--acc);font-weight:700;text-align:center;min-height:6px}

/* ALPHA TABS */
.alpha-btn{padding:.28rem .45rem;border-radius:6px;border:1px solid var(--bdr);background:var(--surf2);color:var(--txt2);font-size:.68rem;font-weight:700;cursor:pointer;transition:.12s;min-width:28px;text-align:center}
.alpha-btn.sel{background:var(--acc);color:#2C1A06;border-color:var(--acc)}
.alpha-btn.has{color:var(--txt)}
.alpha-sep{font-size:.6rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;padding:7px 2px 3px;border-bottom:1px solid var(--bdr);margin-bottom:5px}
.drag-handle{cursor:grab;color:var(--txt3);font-size:1rem;padding:0 4px;user-select:none;touch-action:none;line-height:1}
.drag-handle:active{cursor:grabbing}
.di.dragging{opacity:.4;border:2px dashed var(--acc)}
.di.drag-over{border-top:2px solid var(--acc)}

/* NOMINATIM AUTOCOMPLETE */
.addr-sugg{position:absolute;top:100%;left:0;right:0;background:var(--surf);border:1px solid var(--bdr2);border-radius:var(--radsm);z-index:250;box-shadow:var(--shadow);max-height:180px;overflow-y:auto;display:none}
.addr-sugg.on{display:block}
.addr-item{padding:8px 11px;font-size:.75rem;cursor:pointer;border-bottom:1px solid var(--bdr);color:var(--txt);transition:.1s}
.addr-item:last-child{border-bottom:none}
.addr-item:hover,.addr-item:active{background:var(--accd);color:var(--acc)}
.addr-field-wrap{position:relative}
