/* MCpos Mobile — واجهة الويب. متغيّرات فاتح/داكن، RTL/LTR عبر الخصائص المنطقية */
@font-face{font-family:Tajawal;font-weight:300;src:url(../assets/fonts/Tajawal-Light.ttf) format('truetype');font-display:swap}
@font-face{font-family:Tajawal;font-weight:400;src:url(../assets/fonts/Tajawal-Regular.ttf) format('truetype');font-display:swap}
@font-face{font-family:Tajawal;font-weight:700;src:url(../assets/fonts/Tajawal-Bold.ttf) format('truetype');font-display:swap}
@font-face{font-family:Tajawal;font-weight:800;src:url(../assets/fonts/Tajawal-ExtraBold.ttf) format('truetype');font-display:swap}
:root{--gold:#C9A24B;--gold-deep:#9C7A2E;--gold-soft:#F3E7C9;--ink:#17181B;--ink2:#2A2C31;--success:#16A34A;--danger:#DC2626;--warning:#D97706;--info:#2563EB;
 --bg:#F4F5F7;--surface:#fff;--surface2:#F1F2F5;--outline:#E6E7EB;--text:#17181B;--muted:#6B6F78;--primary:#17181B;--on-primary:#fff;--shadow:0 1px 2px rgba(16,18,24,.05),0 4px 14px rgba(16,18,24,.05);--r:18px;--nav-h:64px;color-scheme:light}
:root[data-theme=dark]{--bg:#0C0D0F;--surface:#16171A;--surface2:#1D1F23;--outline:#2E3036;--text:#ECEDEF;--muted:#9A9EA8;--primary:#C9A24B;--on-primary:#17181B;--shadow:0 1px 2px rgba(0,0,0,.4);color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{font-family:Tajawal,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;overscroll-behavior-y:contain}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0;text-align:inherit}
button:disabled{opacity:.5;cursor:default}
input,select,textarea{font:inherit;color:inherit}
h3{margin:10px 0 6px;font-size:19px}
img{max-width:100%}
.ic{display:block;flex:none}.icw{display:inline-flex;align-items:center;justify-content:center;flex:none}
#app{max-width:640px;margin:0 auto;min-height:100%;position:relative;background:var(--bg)}
@media(min-width:700px){body{background:#0c0d0f}:root[data-theme=light] body{background:#dcdde1}#app{box-shadow:0 0 0 1px var(--outline),0 10px 40px rgba(0,0,0,.2)}}
#view{min-height:100vh;min-height:100dvh}
.enter{animation:enter .22s ease}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* helpers */
.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.muted{color:var(--muted)}.small{font-size:12.5px}.tiny{font-size:11.5px}.strong{font-weight:800}.big{font-size:17px}.center-text{text-align:center}.gold{color:var(--gold)}
.pad{padding:16px}.pad-s{padding:12px}.pad-list{padding:8px 0}
.row-gap{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.row-center{display:flex;align-items:center;justify-content:center}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.divider{height:1px;background:var(--outline);margin:4px 0}
.center-fill{display:flex;align-items:center;justify-content:center;padding:60px 0;min-height:200px}
.center-box{display:flex;align-items:center;justify-content:center;padding:30px}
.btn-row{flex-wrap:wrap}.btn-row>.btn{flex:1}
.spin{border:3px solid var(--outline);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
.scroll-in>*+*{margin-top:12px}.scroll-in{padding:12px}
/* screen shell */
.screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.scroll{flex:1;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;padding:8px 8px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--outline)}
.appbar.dark{background:#0F1012;color:#fff;border-color:#1f2023}
.ab-title{flex:1;min-width:0}.ab-t{font-weight:800;font-size:18px;line-height:1.2}.ab-s{font-size:12px;color:var(--muted)}.appbar.dark .ab-s{color:rgba(255,255,255,.6)}
.ab-sp{width:8px}.ab-actions{display:flex;gap:2px}
.icon-btn{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}
.icon-btn:hover{background:var(--surface2)}.icon-btn.tonal{background:var(--surface2)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:14px;font-weight:700;border:1.5px solid transparent;transition:.15s;text-align:center}
.btn.filled{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.btn.tonal{background:color-mix(in srgb,var(--gold) 18%,var(--surface));color:var(--text)}
.btn.outlined,.btn.outline{border-color:var(--outline);background:transparent}
.btn.text{padding:0 12px;color:var(--gold-deep)}:root[data-theme=dark] .btn.text{color:var(--gold)}
.btn.full{width:100%}.btn:active:not(:disabled){transform:scale(.98)}
.link-btn{color:var(--gold-deep);font-weight:700;font-size:13px}:root[data-theme=dark] .link-btn{color:var(--gold)}
/* cards & forms */
.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--outline)}
button.card{width:100%;text-align:inherit}
.inp,select.inp,textarea.inp{width:100%;min-height:46px;padding:10px 14px;border-radius:14px;border:1.5px solid transparent;background:var(--surface2);outline:none}
.inp:focus{border-color:var(--gold)}
.fld{display:block;margin:8px 0}.fld>span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px;font-weight:700}
.form-err{color:var(--danger);font-size:13px;font-weight:700;min-height:18px;margin:6px 0}
.code-inp{text-align:center;font-size:26px;letter-spacing:8px;font-weight:800;margin:14px 0}
.pass-row{display:flex;gap:4px;align-items:center;margin-top:8px}
.section-label{font-weight:800;font-size:14px;color:var(--muted);margin:16px 4px 8px}
.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid;font-size:13.5px;margin:10px 0}.banner .ic{margin-top:2px}
.pill,.pill-s,.mini-chip,.perm-chip,.sec-badge,.score-pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;font-weight:700;font-size:12px;padding:3px 10px;white-space:nowrap}
.pill-s{background:var(--surface2)}.pill-s.ok{background:rgba(22,163,74,.13);color:var(--success)}.pill-s.warn{background:rgba(217,119,6,.14);color:var(--warning)}.pill-s.danger{background:rgba(220,38,38,.12);color:var(--danger)}
.mini-chip{border:1px solid}.perm-chip{border:1px solid rgba(22,163,74,.35);background:rgba(22,163,74,.08)}
.chip-wrap,.chips,.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-row{overflow-x:auto;flex-wrap:nowrap;padding:4px 0;scrollbar-width:none}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;border:1.5px solid var(--outline);background:var(--surface);font-weight:700;font-size:13px;white-space:nowrap}
.chip.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip.on-tonal{background:var(--surface2);border-color:transparent}
.seg,.segmented{display:flex;background:var(--surface2);border-radius:12px;padding:3px;flex:1}.seg button,.segmented button{flex:1;padding:8px;border-radius:10px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px}
.seg button.on,.segmented button.on{background:var(--surface);box-shadow:var(--shadow)}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;font-size:18px;flex:none}
.avatar.lg{width:52px;height:52px;font-size:22px}.avatar.xl{width:62px;height:62px;font-size:26px;border:2px solid rgba(201,162,75,.6)}
.icon-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:30%;flex:none}
.list-row,.list-tile{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:inherit}
.list-tile{margin-bottom:8px}.list-row+.list-row{border-top:1px solid var(--outline)}
.kv{display:flex;align-items:center;gap:8px;padding:6px 0}.kv>span:first-child,.kv-l{flex:1;color:var(--muted)}.kv b,.kv-v{font-weight:700}.kv.strong .kv-v,.kv.strong .kv-l{font-weight:800;color:var(--text)}
.kv-sign{width:16px;text-align:center;color:var(--muted);font-weight:800}
.toast{position:fixed;inset-inline:16px;bottom:calc(86px + env(safe-area-inset-bottom));margin:0 auto;max-width:560px;background:#26272B;color:#fff;padding:12px 16px;border-radius:14px;opacity:0;transform:translateY(12px);transition:.25s;z-index:200;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.3);text-align:center}
.toast.show{opacity:1;transform:none}
/* modal / sheet / dialog / drawer */
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,0);transition:background .25s;display:flex}
.modal.show{background:rgba(0,0,0,.5)}
.sheetwrap{align-items:flex-end;justify-content:center}.dlgwrap{align-items:center;justify-content:center;padding:20px}
.sheet{width:100%;max-width:640px;max-height:88vh;max-height:88dvh;background:var(--surface);border-radius:26px 26px 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom)}
.sheet.tall{height:88vh;height:88dvh}.modal.show .sheet{transform:none}
.grab{width:40px;height:4px;border-radius:4px;background:var(--outline);margin:10px auto 6px}
.sheet-head{display:flex;gap:12px;align-items:center;padding:6px 20px 12px}.sheet-t{font-weight:800;font-size:18px}.sheet-s{font-size:12.5px;color:var(--muted)}
.sheet-body{overflow:auto;padding:0 8px 20px;flex:1}.sheet-body>.pad-s,.sheet-body>div>.pad-s{padding:4px 12px}
.dlg{width:100%;max-width:380px;background:var(--surface);border-radius:24px;padding:22px;transform:scale(.92);opacity:0;transition:.2s}.modal.show .dlg{transform:none;opacity:1}
.dlg-ic{display:flex;justify-content:center;margin-bottom:8px}.dlg-t{font-weight:800;font-size:18px;text-align:center}.dlg-m{margin-top:8px;color:var(--muted);white-space:pre-line;text-align:center}.dlg-a{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.drawerwrap{justify-content:flex-start}
.drawer{width:min(320px,86vw);height:100%;background:var(--surface);transform:translateX(100%);transition:transform .28s;display:flex;flex-direction:column;overflow:hidden}
[dir=ltr] .drawer{transform:translateX(-100%)}.modal.show .drawer{transform:none!important}
.dr-head{display:flex;gap:12px;align-items:center;padding:calc(22px + env(safe-area-inset-top)) 18px 18px;background:linear-gradient(135deg,#0F1012,#2B2C30);color:#fff}
.dr-name{font-weight:800;font-size:20px}.dr-ver{font-size:12px;opacity:.7}.dr-dev{font-size:12px;color:var(--gold)}
.dr-list{overflow:auto;padding:6px 10px 24px;flex:1}.dr-group{font-size:12px;font-weight:800;color:var(--muted);margin:14px 10px 4px}
.dr-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:14px}.dr-item.sel{background:color-mix(in srgb,var(--gold) 18%,transparent)}.dr-item:hover{background:var(--surface2)}
.dr-ic{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}.dr-t{flex:1;font-weight:700}.dr-v{font-size:12.5px;color:var(--muted)}
.theme-sw{display:flex;background:var(--surface2);border-radius:99px;padding:2px}.theme-sw button{width:30px;height:28px;border-radius:99px;display:flex;align-items:center;justify-content:center}.theme-sw button.on{background:var(--gold);color:#17181B}
/* home shell */
.home-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));background:linear-gradient(135deg,#0F1012,#2B2C30);color:#fff}
.brand-logo{width:38px;height:38px;border-radius:10px}.tb-name{font-weight:800;font-size:19px}.tb-sub{font-size:11.5px;opacity:.7}
.tb-l,.tb-v{min-width:0}.tb-badge-wrap{position:relative}
.topbar .icon-btn:hover{background:rgba(255,255,255,.1)}
.tab-body{flex:1;padding:12px 14px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}.tab-body>*+*{margin-top:12px}.tab-pad>*+*{margin-top:12px}
.bottomnav{position:fixed;bottom:0;inset-inline:0;max-width:640px;margin:0 auto;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--outline);display:flex;z-index:30}
.bn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11.5px;font-weight:700;color:var(--muted)}
.bn-ic{display:flex;padding:4px 18px;border-radius:99px;transition:.2s}.bn.on{color:var(--text)}.bn.on .bn-ic{background:color-mix(in srgb,var(--gold) 28%,transparent)}
.greet{position:relative;overflow:hidden;border-radius:24px;padding:18px;color:#fff;background:linear-gradient(135deg,#17181B,#2A2417 60%,#4A3A16)}
.greet-bg{position:absolute;inset-inline-end:-10px;top:-10px}.greet-row{display:flex;gap:12px;align-items:center;position:relative}
.greet .avatar{background:rgba(255,255,255,.12);border:2px solid rgba(201,162,75,.6)}
.greet-name{display:flex;align-items:center;gap:6px;font-weight:800;font-size:20px;text-align:inherit}.greet-date{font-size:13px;opacity:.7}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;position:relative}
.home-pill,.glass-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:12.5px;font-weight:700;color:#fff}
.sec-head{display:flex;align-items:center;gap:10px;margin:18px 2px 8px}.sec-ic{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center}.sec-t{font-weight:800;font-size:16px}.sec-h{font-size:12px;color:var(--muted)}
.reminder{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;border:1px solid}.rem-ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex:none}.rem-t{font-weight:800;font-size:14px}.rem-s{font-size:12.5px;font-weight:700}
.reminder .btn{min-height:36px;padding:0 14px;font-size:13px}
.kpi{padding:14px;text-align:inherit}.kpi.tap{cursor:pointer}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-ic{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.kpi-l{margin-top:10px;font-size:12.5px;color:var(--muted);font-weight:700}.kpi-v{font-size:21px;font-weight:800;margin-top:2px;overflow-wrap:anywhere}.kpi-s{font-size:12px;color:var(--muted)}
.purch-hl{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#6366F1,#4F46E5);width:100%}
.ph-ic{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex:none}.ph-t{font-weight:800;font-size:16px}.ph-s{font-size:12.5px;opacity:.85}.ph-urgent{background:#EF4444;border-radius:99px;padding:3px 10px;font-weight:800;font-size:12px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:16px;background:var(--surface);border:1px solid var(--outline);box-shadow:var(--shadow)}
.q-ic{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center}.q-l{font-size:11.5px;font-weight:700;text-align:center;line-height:1.25}
@media(max-width:380px){.quick-grid{grid-template-columns:repeat(3,1fr)}}
.verline{text-align:center;color:var(--muted);font-size:12px;margin:18px 0 6px}
.tile{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:10px}.tile.hl{background:linear-gradient(135deg,#17181B,#4A3A16);color:#fff}.tile.hl .muted{color:#fff}
.tile-ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--gold-deep);flex:none}.tile-t{font-weight:800}.tile-s{font-size:12.5px;color:var(--muted)}.tile.hl .tile-s{color:rgba(255,255,255,.7)}
.store-av{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex:none}
.status-strip{display:flex;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#17181B,#2B2C30);color:#fff;border-radius:20px}.hero-stat{display:flex;gap:10px;align-items:center;flex:1;min-width:0}
.hs-ic{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}.hs-l{font-size:11.5px;opacity:.65}.hs-v{font-weight:800;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-card{display:block;width:100%;padding:16px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#047857,#10B981)}
.pc-row{display:flex;align-items:center;gap:12px}.pc-t{font-weight:800;font-size:20px}.pc-s{font-size:13px;opacity:.85}.pc-wifi{padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.2);font-size:12px;font-weight:800}
.pc-pills{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.pc-status{display:flex;align-items:center;gap:8px;font-size:12.5px;opacity:.95}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:20px;color:#fff;min-height:112px;text-align:start}
.f-ic{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;margin-bottom:6px}.f-t{font-weight:800;font-size:16px}.f-s{font-size:12px;opacity:.9;line-height:1.3}
.tool{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--outline);box-shadow:var(--shadow)}.tool-ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.tool-t{font-weight:800}.tool-s{font-size:12px;color:var(--muted)}
.reports-card{display:flex;width:100%;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#5B21B6,#7C3AED);padding:16px;gap:12px;min-height:140px}
.rcard-l{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.rcard-t{font-weight:800;font-size:19px}.rcard-s{font-size:12.5px;opacity:.85}
.rcard-chart{display:flex;align-items:flex-end;gap:5px;width:110px}.rcard-chart i{flex:1;background:rgba(255,255,255,.35);border-radius:4px 4px 0 0}
.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));inset-inline-end:20px;display:flex;align-items:center;gap:8px;padding:14px 20px;border-radius:18px;background:var(--primary);color:var(--on-primary);font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:40}
.store-row{display:flex;align-items:center;gap:12px;padding:12px 14px}
/* reports */
.hero{border-radius:24px;padding:18px;color:#fff;background:linear-gradient(135deg,#3B1782,#7C3AED)}.hero.rose{background:linear-gradient(135deg,#9F1239,#E11D48)}.hero.indigo{background:linear-gradient(135deg,#312E81,#4F46E5)}
.hero-l{font-size:13px;opacity:.8}.hero-v{font-size:30px;font-weight:800;margin:2px 0}.hero-u{font-size:15px;opacity:.8}.hero-dates,.hero-src,.hero-prev{font-size:12px;opacity:.75}
.hero-stats{display:flex;gap:10px;margin-top:12px}.hero-stat2{flex:1;background:rgba(255,255,255,.12);border-radius:14px;padding:10px}.hs2-l{font-size:11.5px;opacity:.75}.hs2-v{font-weight:800}
.hero-warn{margin-top:10px;background:rgba(255,255,255,.16);padding:8px 12px;border-radius:12px;font-size:12.5px}
.periods{display:flex;gap:6px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}.period{padding:8px 16px;border-radius:99px;border:1.5px solid var(--outline);background:var(--surface);font-weight:700;font-size:13px;white-space:nowrap}
.period.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.periods.dark .period{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.periods.dark .period.on{background:var(--gold);color:#17181B;border-color:var(--gold)}
.syncline{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:4px 2px}.sl-t{font-weight:700}.sl-r{color:var(--muted)}
.rc{padding:14px}.rc-head{margin-bottom:10px}.rc-row{display:flex;align-items:center;gap:8px}.rc-title{flex:1;font-weight:800}.rc-note{font-size:12px;color:var(--muted);margin-top:2px}
.hbar{margin:10px 0}.hbar-top{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.hbar-l{flex:1;font-weight:700;font-size:13.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-sub{font-size:11.5px;color:var(--muted)}.hbar-v{font-size:13px}
.hbar-track{height:9px;border-radius:9px;overflow:hidden}.hbar-fill{height:100%;border-radius:9px}
.delta{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:800}
.analytics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.an-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.an-t{font-weight:800}.an-s{font-size:12px;color:var(--muted)}.an-fwd{margin-inline-start:auto}
.sub-h{font-weight:800;font-size:14px;margin:6px 0}.legend-wrap{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0;font-size:12.5px}.lg{display:inline-flex;align-items:center;gap:5px}.lg i,.donut-row i{width:10px;height:10px;border-radius:3px;display:inline-block}
.dev-card{padding:14px;margin-top:12px;text-align:inherit;display:block}.mini-row{margin:12px 0}.mini-v{font-weight:800}
.stacked{display:flex;overflow:hidden;width:100%;background:var(--surface2)}.stacked>*{height:100%}
.chart-area-wrap{position:relative}.chart-area{width:100%}.chart-area svg{width:100%;height:100%;display:block}.area-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--c);border:2px solid var(--d);transform:translate(-50%,-50%)}.area-pt{position:absolute;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%)}
.bars{display:flex;align-items:stretch}.bar-col{flex:1;display:flex;flex-direction:column;min-width:0}.bar-fill-wrap{flex:1;display:flex;align-items:flex-end}.bar-fill{width:100%;min-height:2px}.bar-lbl{font-size:10px;text-align:center;color:var(--muted);height:14px;white-space:nowrap}
.donut{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.donut-box{position:relative;flex:none}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.donut-top{font-weight:800;font-size:16px}.donut-bot{font-size:11px;color:var(--muted)}
.donut-legend{flex:1;min-width:150px}.donut-row{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:13px}.dl-name{flex:1}
.gauge{position:relative;display:inline-block}.gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-num{font-weight:800;font-size:22px}.gauge-lbl{font-size:11px;color:var(--muted)}
.heat{display:grid;grid-template-columns:repeat(24,1fr);gap:2px}.heat-cell{aspect-ratio:1;border-radius:4px}.heat-lbl{display:grid;grid-template-columns:repeat(24,1fr);font-size:9px;color:var(--muted);text-align:center;margin-top:2px}
.detail-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px}.dr-title{font-weight:700}
.rc-row .dot{margin-inline-end:2px}
/* bi */
.bi-screen,.dark-screen,.center-dark{background:#0C0D0F;color:#ECEDEF;min-height:100vh}.bi-body{padding:12px}.bi-body>*+*{margin-top:12px}
.bi-head{padding:6px 2px}.bi-t{font-weight:800;font-size:18px}.bi-s{font-size:12px;opacity:.7}.bi-bar{display:flex;gap:6px}
.bi-screen .card,.dark-screen .card{background:#16171A;border-color:#26282D;color:#ECEDEF}.bi-screen .muted,.dark-screen .muted{color:#9A9EA8}
.bi-gauge{display:flex;gap:12px;align-items:center}.bi-gt{font-weight:800}.bi-gd,.bi-gp{font-size:12px;color:#9A9EA8}.bi-sync{font-size:12px;color:#9A9EA8;text-align:center}
.center-dark{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}
.score-pill{background:rgba(255,255,255,.1)}
/* sync sheet */
.sync-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;text-align:center}.sync-ring{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.spin-ring{position:absolute;inset:0;border-radius:50%;border:4px solid var(--outline);border-top-color:var(--gold);animation:spin 1s linear infinite}
.sync-t{font-weight:800;font-size:17px}.sync-s{font-size:13px;color:var(--muted)}.sync-secs,.ss-time{font-size:12px;color:var(--muted)}
.sync-steps{margin:10px 0}.sync-step,.prog-step{display:flex;align-items:center;gap:10px;padding:7px 4px}.ss-ic{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface2)}.ss-t{flex:1;font-weight:700}.ss-h{font-size:12px;color:var(--muted)}
.sync-step.done .ss-ic,.prog-step.done .ss-ic{background:rgba(22,163,74,.15)}.sync-actions{display:flex;gap:8px;margin-top:10px}.sync-note,.sync-body{font-size:13px}.sync-prog{height:6px;background:var(--surface2);border-radius:6px;overflow:hidden}.prog{height:6px;background:var(--surface2);border-radius:6px;overflow:hidden}.prog>*{height:100%;background:var(--gold)}
.bar-busy{height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:200% 100%;animation:bb 1s linear infinite;border-radius:3px;margin:6px 0}@keyframes bb{to{background-position:-200% 0}}
/* empty */
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px;gap:8px}.empty-ic{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-t{font-weight:800;font-size:18px;margin-top:6px}.empty-m{color:var(--muted);max-width:420px}.empty-a{margin-top:10px}
/* misc screens */
.log-row{display:flex;gap:12px;padding:12px;margin-bottom:8px;align-items:center}.log-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}.day-sep{font-weight:800;color:var(--muted);margin:14px 4px 6px;font-size:13px}
.dark-card{display:flex;gap:14px;align-items:center;padding:18px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#17181B,#4A3A16)}.dc-ic{width:56px;height:56px;border-radius:18px;background:rgba(201,162,75,.18);display:flex;align-items:center;justify-content:center}.dc-t{font-weight:800;font-size:18px}.dc-s{font-size:13px;opacity:.8}
.channels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.channel{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:18px;background:var(--surface);border:1px solid var(--outline);text-align:center;user-select:none}.ch-circle{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.about-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 8px 8px}.ab-name{font-size:28px;font-weight:800;margin-top:8px}.ab-ver{color:var(--muted)}.ab-desc{color:var(--muted);margin-top:8px;max-width:420px}
.feat{display:flex;gap:12px;padding:8px 0;align-items:flex-start}
/* scanning & stores */
.scan-page{position:relative;min-height:100vh;display:flex;flex-direction:column;background:#000;color:#fff}.cam-box{position:relative;flex:1;min-height:60vh;overflow:hidden;background:#111}
.scan-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scan-stage{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#111}.scan-stage.compact{aspect-ratio:16/9}.scan-stage.off{display:none}
.scan-frame{position:absolute;inset:18% 12%;border:3px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:0 0 0 999px rgba(0,0,0,.35);pointer-events:none}.laser{position:absolute;inset-inline:6%;height:2px;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:laser 2s ease-in-out infinite alternate;top:10%}@keyframes laser{to{top:88%}}
.scan-hint{position:absolute;bottom:18px;inset-inline:0;text-align:center;font-weight:700;text-shadow:0 1px 4px #000}.scan-torch{position:absolute;top:14px;inset-inline-end:14px;width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}.scan-torch.on{background:var(--gold)}
.cam-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background:#111}.cam-host:empty{display:none}.cam-host{margin:8px 0}
.guide{background:var(--bg);color:var(--text);border-radius:26px 26px 0 0;padding:18px;margin-top:-22px;position:relative}.guide-head{display:flex;gap:10px;align-items:center;font-weight:800}.guide-step{display:flex;gap:10px;align-items:center;padding:7px 0}.gs-n{width:24px;height:24px;border-radius:50%;background:var(--gold);color:#17181B;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}
.guide-alt{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.guide-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface2)}
.pair-code{display:flex;gap:8px;justify-content:center;margin:12px 0}.pair-code span{width:46px;height:58px;border-radius:12px;background:#1E1F23;border:1.5px solid var(--gold);color:var(--gold);font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pair-lbl{color:rgba(255,255,255,.75);font-size:14px}.pair-warn{display:flex;gap:10px;align-items:center;background:rgba(201,162,75,.12);padding:12px;border-radius:14px;margin-top:10px;color:#fff;text-align:start}
.err-circle{width:84px;height:84px;border-radius:50%;background:rgba(220,38,38,.14);display:flex;align-items:center;justify-content:center}.err-msg{max-width:340px}
.price-card{padding:16px;margin:10px 0}.price-v{font-size:26px;font-weight:800}.receipt-img{max-width:100%;border-radius:14px}.slot-n{font-size:20px;font-weight:800}
/* account */
.profile-hd{display:flex;gap:14px;align-items:center;padding:18px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#1C1D21,#2A2417 60%,#4A3A16)}.ph-name{font-size:19px;font-weight:800}
.perm-head{display:flex;justify-content:space-between;margin:12px 0 4px}.perm-row{display:flex;align-items:center;gap:10px;padding:4px 0;color:var(--muted);font-size:13.5px}.perm-row.ok{color:var(--text);font-weight:700}
.store-acc{margin-bottom:10px}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:99px;border:1.5px solid var(--outline);font-weight:700}.user-chip.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent)}.uc-av{width:30px;height:30px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.login-form{padding:4px 12px 12px}.login-form .chips{margin-bottom:10px}
/* LAN */
.gate-box{min-height:50vh}.big-action{display:flex;gap:14px;align-items:center;padding:18px}
.sale-body{display:flex;flex-direction:column;min-height:calc(100dvh - 64px);padding:10px 12px}.sale-top{margin-bottom:8px}.sale-cart{flex:1;overflow:auto}.sale-foot{position:sticky;bottom:0;background:var(--bg);padding:10px 0 4px;border-top:1px solid var(--outline);display:flex;flex-direction:column;gap:8px}
.cart-line{display:flex;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--outline)}.cl-main{flex:1;min-width:0;text-align:start}
.prod-tile{border-bottom:1px solid var(--outline)}.prod-img{width:46px;height:46px;border-radius:12px;background:var(--surface2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;color:var(--muted)}.prod-img img{width:100%;height:100%;object-fit:cover}.tl{text-align:end}
.picker-list{margin-top:8px}.dc-card{margin-bottom:10px}.log-list>*+*{margin-top:6px}.log-i{font-size:13px;font-weight:700}
.stepper{display:flex;gap:6px;justify-content:center;margin:10px 0}.step{width:30px;height:30px;border-radius:50%;background:var(--surface2);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.step.cur{outline:2px solid var(--gold)}.step.done{background:var(--success);color:#fff}.step.skipped{background:var(--warning);color:#fff}
.step-foot{position:sticky;bottom:0;background:var(--bg);padding:10px 0;margin-top:10px}
.photo-prev{aspect-ratio:1;max-width:320px;margin:0 auto 10px;overflow:hidden;border-radius:16px;background:#fff;border:1px solid var(--outline)}.photo-prev img{width:100%;height:100%}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;border:2px solid transparent;background:var(--surface2)}.photo.primary{border-color:var(--gold)}.photo img{width:100%;height:100%;object-fit:cover}.photo .pill-s{position:absolute;top:6px;inset-inline-start:6px}.photo-act{position:absolute;bottom:4px;inset-inline:4px;display:flex;justify-content:space-between}.photo-act .icon-btn{width:34px;height:34px;background:rgba(0,0,0,.55);color:#fff}
.log-i,.scan-box{display:block}.scan-box .row-gap{margin-top:8px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.log-list:empty{display:none}.topbar .tb-badge-wrap .sec-badge{position:absolute;top:-2px;inset-inline-end:-2px}
