/* KUBIY Lite — simu kwanza. Kwenye skrini pana programu inakaa katikati (upana 480px).
 * Rangi za duka (html[data-team]): kawaida = bluu na nyeupe (default), mnyama = nyekundu na nyeupe, mwananchi = njano, kijani na nyeusi.
 * --acc = rangi ya timu (vitufe vya juu, tab, viungo); --green/--red/--amber zinabaki kwa maana (faida, deni, onyo). */
:root{
  --bg:#e6ebf3; --app:#f5f7fb; --surface:#ffffff; --ink:#111a2b; --muted:#5a6779; --line:#dbe2ee;
  --brand:#0d3b78; --brand-ink:#ffffff; --acc:#1d5fd1; --acc-soft:#e3ecfb; --btn:#1d5fd1; --btn-ink:#ffffff; --stripe:transparent; --art:none;
  --bad-bg:var(--red-soft); --bad-ink:var(--red); --pill:rgba(255,255,255,.14); --net:#5fe0a6; --net-off:#f0b544; --wa:#e3ecfb; --wa-ink:#111a2b; --scan:#ff4d4d;
  --green:#12805c; --green-soft:#e2f2e9;
  --amber:#a86a00; --amber-soft:#fbf0d8; --red:#c63d3d; --red-soft:#fbe4e2; --blue:#2c63c6; --blue-soft:#e4ecfa;
  --f-ui:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-num:'IBM Plex Mono',ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#060a11; --app:#0c121d; --surface:#131b29; --ink:#e3e9f3; --muted:#93a0b5; --line:#243046;
  --brand:#0b1f3d; --brand-ink:#e6eefb; --acc:#82aaf7; --acc-soft:#1a2842; --btn:#82aaf7; --btn-ink:#071226; --wa:#1a2842; --wa-ink:#e3e9f3;
  --green:#4fd19a; --green-soft:#173a2c;
  --amber:#f0b544; --amber-soft:#3a2d12; --red:#f07b72; --red-soft:#3d1d1b; --blue:#7aa5f5; --blue-soft:#1a2740; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#060a11; --app:#0c121d; --surface:#131b29; --ink:#e3e9f3; --muted:#93a0b5; --line:#243046;
  --brand:#0b1f3d; --brand-ink:#e6eefb; --acc:#82aaf7; --acc-soft:#1a2842; --btn:#82aaf7; --btn-ink:#071226; --wa:#1a2842; --wa-ink:#e3e9f3;
  --green:#4fd19a; --green-soft:#173a2c;
  --amber:#f0b544; --amber-soft:#3a2d12; --red:#f07b72; --red-soft:#3d1d1b; --blue:#7aa5f5; --blue-soft:#1a2740; color-scheme:dark}

/* Mnyama: nyekundu na nyeupe TU (hata "faida" na tahadhari ni vivuli vya nyekundu) */
:root[data-team="mnyama"]{--bg:#f6e3e5; --app:#fff7f8; --surface:#ffffff; --ink:#3a0309; --muted:#8c3a43; --line:#f0cfd3;
  --brand:#c8102e; --brand-ink:#ffffff; --acc:#c8102e; --acc-soft:#fde3e6; --btn:#c8102e; --btn-ink:#ffffff;
  --green:#8f0a1a; --green-soft:#fbe0e3; --amber:#b5162b; --amber-soft:#fde8ea; --red:#e00022; --red-soft:#fdd9dd; --blue:#a50e22; --blue-soft:#fde3e6;
  --bad-bg:#e00022; --bad-ink:#ffffff; --pill:rgba(255,255,255,.22); --net:#ffffff; --net-off:#ffc2ca; --wa:#fde3e6; --wa-ink:#3a0309; --scan:#ffffff;
  --stripe:repeating-linear-gradient(90deg,#c8102e 0 18px,#ffffff 18px 36px);
  --art:repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0 6px,transparent 6px 20px)}
@media (prefers-color-scheme:dark){:root[data-team="mnyama"]:not([data-theme="light"]){--bg:#1a0205; --app:#24040a; --surface:#33070e; --ink:#fff1f2; --muted:#f3b3bb; --line:#5a1520;
  --brand:#8a0716; --brand-ink:#ffffff; --acc:#ff6b7c; --acc-soft:#4a0d17; --btn:#e00022; --btn-ink:#ffffff;
  --green:#ffb3bd; --green-soft:#4a0d17; --amber:#ff8a98; --amber-soft:#4a0d17; --red:#ff6b7c; --red-soft:#5c0a16; --blue:#ffc2c9; --blue-soft:#4a0d17;
  --bad-bg:#e00022; --bad-ink:#ffffff; --wa:#4a0d17; --wa-ink:#fff1f2; color-scheme:dark}}
:root[data-team="mnyama"][data-theme="dark"]{--bg:#1a0205; --app:#24040a; --surface:#33070e; --ink:#fff1f2; --muted:#f3b3bb; --line:#5a1520;
  --brand:#8a0716; --brand-ink:#ffffff; --acc:#ff6b7c; --acc-soft:#4a0d17; --btn:#e00022; --btn-ink:#ffffff;
  --green:#ffb3bd; --green-soft:#4a0d17; --amber:#ff8a98; --amber-soft:#4a0d17; --red:#ff6b7c; --red-soft:#5c0a16; --blue:#ffc2c9; --blue-soft:#4a0d17;
  --bad-bg:#e00022; --bad-ink:#ffffff; --wa:#4a0d17; --wa-ink:#fff1f2; color-scheme:dark}

/* Mwananchi: nyeusi, kijani na njano TU — hakuna nyeupe wala nyekundu, hata kwenye tahadhari. Sura moja mchana na usiku. */
:root[data-team="mwananchi"]{--bg:#000000; --app:#030805; --surface:#0b2414; --ink:#ffe45c; --muted:#cfc47a; --line:#1f4a2c;
  --brand:#006b35; --brand-ink:#ffd200; --acc:#ffd200; --acc-soft:#262600; --btn:#ffd200; --btn-ink:#000000;
  --green:#35d775; --green-soft:#0f3d1f; --amber:#ffd200; --amber-soft:#2e2900; --red:#ffd200; --red-soft:#332e00; --blue:#7be3a0; --blue-soft:#0f3d1f;
  --bad-bg:#ffd200; --bad-ink:#000000; --pill:rgba(0,0,0,.35); --net:#ffd200; --net-off:#6b5d00; --wa:#0f3d1f; --wa-ink:#ffe45c; --scan:#ffd200;
  --stripe:linear-gradient(90deg,#ffd200 0 33.3%,#000000 33.3% 66.6%,#00a651 66.6%);
  --art:repeating-linear-gradient(135deg,rgba(255,210,0,.10) 0 2px,transparent 2px 16px),linear-gradient(100deg,transparent 62%,rgba(0,0,0,.28) 62%);
  color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.2px}
a{color:var(--acc)}

.app{position:relative;max-width:480px;margin:0 auto;height:100vh;height:100dvh;background:var(--app);display:flex;flex-direction:column;overflow:hidden}
@media (min-width:600px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 60px rgba(0,0,0,.08)}}

.bar{background:var(--brand);color:var(--brand-ink);padding:14px 16px 12px;padding-top:max(14px,env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px}
.bar .shop{font-weight:800;font-size:17px;line-height:1.15}
.bar .sub{font-size:12.5px;opacity:.78}
.bar .right{margin-left:auto;display:flex;gap:6px;align-items:center}
.pill{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:var(--pill);padding:3px 8px;border-radius:10px}
.net{width:9px;height:9px;border-radius:50%;background:var(--net);flex:none}
.net.off{background:var(--net-off)}
.limit{display:flex;align-items:center;gap:8px;font-size:12.5px;background:var(--amber-soft);color:var(--amber);padding:7px 16px;font-weight:600}
.limit button{margin-left:auto;border:0;background:none;color:inherit;font-weight:800;cursor:pointer;text-decoration:underline}
.screen{flex:1;overflow-y:auto;padding:14px 14px 90px;-webkit-overflow-scrolling:touch}
.view{display:none;flex-direction:column;gap:12px}
.view.on{display:flex}
h2{font-size:21px;margin:2px 0 0;letter-spacing:-.4px}
h3{font-size:15px;margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px}
.pad{padding:14px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.stack{display:flex;flex-direction:column;gap:8px}
.muted{color:var(--muted)}
.small{font-size:13px}
.in{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 13px;min-height:44px}
label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer;min-height:44px}
.btn.p{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.btn.big{width:100%;padding:14px;font-size:16px;border-radius:14px}
.btn.s{padding:6px 11px;font-size:13px;border-radius:10px;min-height:34px}
.btn.ghost{background:none;border-color:transparent;color:var(--acc)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.c-ok{background:var(--green-soft);color:var(--green)} .c-warn{background:var(--amber-soft);color:var(--amber)} .c-bad{background:var(--bad-bg);color:var(--bad-ink)} .c-info{background:var(--blue-soft);color:var(--blue)}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;flex:none}
.chips::-webkit-scrollbar{display:none}
.chips button{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:6px 12px;font-weight:600;font-size:13px;white-space:nowrap;cursor:pointer}
.chips button.on{background:var(--ink);color:var(--app);border-color:var(--ink)}
.search{position:relative}
.search .in{padding-left:38px}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:28px 10px;font-size:14px}

/* Uza */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tile{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-height:88px;position:relative}
.tile b{font-size:13.5px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tile .num{font-size:13px;margin-top:auto}
.tile .q{font-size:11.5px;color:var(--muted)}
.tile.low .q{color:var(--red);font-weight:700}
.tile .n{position:absolute;top:6px;right:6px;background:var(--btn);color:var(--btn-ink);font-size:11px;font-weight:800;border-radius:10px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px}
.tile:active{transform:scale(.97)}
.cartbar{position:absolute;left:10px;right:10px;bottom:76px;background:var(--brand);color:var(--brand-ink);border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;border:0;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:3}
.cartbar .num{margin-left:auto;font-size:17px}
.line{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 0}
.line+.line{border-top:1px solid var(--line)}
.line .nm{flex:1;min-width:0}
.line .nm b{display:block;font-weight:600}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px}
.qty button{border:0;background:none;width:34px;height:34px;font-weight:800;cursor:pointer;font-size:16px}
.qty input{width:44px;border:0;text-align:center;background:none;padding:0}
.pay{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pay button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 4px;font-weight:700;font-size:13px;cursor:pointer}
.pay button.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc)}
.tot{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:18px}

/* orodha */
.list .it{display:flex;align-items:center;gap:12px;padding:12px 14px;width:100%;background:none;border:0;text-align:left;cursor:pointer}
.list .it+.it{border-top:1px solid var(--line)}
.av{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:var(--acc-soft);color:var(--acc);flex:none}
.av.red{background:var(--red-soft);color:var(--red)}
.av.amber{background:var(--amber-soft);color:var(--amber)}
.it .t{flex:1;min-width:0}
.it .t b{display:block;font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.it .t span{font-size:12.5px;color:var(--muted)}
.amt{font-weight:600;text-align:right;white-space:nowrap}

.kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kpi .card{padding:12px}
.kpi .v{font-size:19px;font-weight:600;margin-top:2px}
.lbl{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.bars{display:flex;flex-direction:column;gap:8px}
.bars .b{display:grid;grid-template-columns:minmax(0,1fr) 1fr 74px;gap:8px;align-items:center;font-size:13px}
.bars .b span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bars i{display:block;height:9px;border-radius:5px;background:var(--acc)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:90px}
.week div{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;font-size:11px;color:var(--muted)}
.week i{display:block;width:100%;max-width:26px;background:var(--acc);border-radius:6px 6px 2px 2px;min-height:3px}
.week .today i{background:var(--brand)}
.wa{background:var(--wa);color:var(--wa-ink);border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:13.5px;white-space:pre-line}

/* tangazo */
.ad{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);background:var(--surface);border-radius:16px;text-decoration:none;color:var(--ink);position:relative}
.ad img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:none;background:var(--acc-soft)}
.ad .t{flex:1;min-width:0}
.ad b{display:block;font-size:14.5px}
.ad span{font-size:13px;color:var(--muted)}
.ad .cta{flex:none;font-size:13px;font-weight:800;color:var(--acc);border:1px solid var(--acc);border-radius:10px;padding:6px 10px}
.ad .who{position:absolute;top:-8px;left:12px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:var(--app);color:var(--muted);padding:0 6px}
.adline{font-size:12px;color:var(--muted);text-align:center;border-top:1px dashed var(--line);padding-top:8px}

.tabs{position:absolute;left:0;right:0;bottom:0;height:66px;background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom,0px);z-index:4}
.tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--muted);font-size:11.5px;font-weight:700;cursor:pointer;position:relative}
.tabs button.on{color:var(--acc)}
.tabs svg{width:22px;height:22px}
.tabs .dot{position:absolute;top:8px;left:calc(50% + 8px);background:var(--bad-bg);color:var(--bad-ink);font-size:10px;border-radius:8px;padding:0 5px;line-height:16px}
.sheet{position:absolute;inset:0;background:rgba(0,0,0,.42);display:flex;align-items:flex-end;z-index:8}
.sheet>.card{width:100%;border-radius:22px 22px 0 0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;max-height:90%;overflow:auto;border-bottom:0}
.sheet .x{margin-left:auto;border:0;background:var(--app);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:18px;line-height:1}
.toast{position:absolute;left:14px;right:14px;bottom:84px;background:var(--ink);color:var(--app);padding:11px 14px;border-radius:12px;font-weight:600;font-size:14px;z-index:9;transition:opacity .2s;opacity:0;pointer-events:none}
.toast.show{opacity:1}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* barcode */
.search .scan{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:0;background:var(--acc-soft);color:var(--acc);width:38px;height:36px;border-radius:10px;display:grid;place-items:center;cursor:pointer}
.search .scan svg{position:static;transform:none;width:20px;height:20px;color:inherit}
.search .in{padding-right:50px}
label.f .search{display:block}
.cam{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:4/3}
.cam video{width:100%;height:100%;object-fit:cover;display:block}
.cam i{position:absolute;left:10%;right:10%;top:50%;height:2px;background:var(--scan);box-shadow:0 0 10px var(--scan);animation:scanl 1.6s ease-in-out infinite alternate}
@keyframes scanl{from{transform:translateY(-38px)}to{transform:translateY(38px)}}
.scanrow{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--green-soft);color:var(--green);padding:8px 10px;border-radius:10px;font-weight:600;font-size:13.5px}
.scanrow.bad{background:var(--amber-soft);color:var(--amber)}
.bcbox{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:1px dashed var(--line);border-radius:14px}
.bcbox svg{max-width:100%;height:auto;color:var(--ink)}
label.f .search .in{padding-left:13px}

/* mstari wa rangi za timu chini ya kichwa */
.bar{position:relative}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--stripe)}
.week .today i{background:var(--brand)}
/* kuingia */
.auth .ahero{background:var(--brand);color:var(--brand-ink);padding:max(28px,env(safe-area-inset-top,0px)) 20px 26px;display:flex;flex-direction:column;gap:6px;position:relative}
.auth .ahero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--stripe)}
.auth .ahero h1{margin:6px 0 0;font-size:28px;letter-spacing:-.6px}
.auth .ahero p{margin:0;opacity:.85;max-width:34ch}
.auth .ahero .pill{align-self:flex-start;margin-top:6px}
.logo{width:48px;height:48px;border-radius:14px;background:var(--brand-ink);color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:24px}
.auth{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}
.method{display:flex;align-items:center;justify-content:center;gap:10px}
.method svg{width:20px;height:20px}
.gwrap{min-height:44px;display:flex;justify-content:center}
.otp{font-size:24px;letter-spacing:10px;text-align:center}
.seg2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.seg2 button{border:0;background:var(--surface);padding:10px;font-weight:700;cursor:pointer}
.seg2 button.on{background:var(--acc-soft);color:var(--acc)}
.msg{padding:10px 12px;border-radius:12px;background:var(--red-soft);color:var(--red);font-weight:600;font-size:14px}
.msg.good{background:var(--green-soft);color:var(--green)}
/* maswali ya mwanzo na rangi */
.wiz{position:absolute;inset:0;background:var(--app);z-index:12;display:flex;flex-direction:column;overflow:auto}
.wiz .in2{padding:20px 16px 28px;display:flex;flex-direction:column;gap:14px;flex:1}
.dots{display:flex;gap:6px}.dots i{width:28px;height:5px;border-radius:3px;background:var(--line)}.dots i.on{background:var(--acc)}
.teams{display:grid;gap:10px}
.team{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;text-align:left;width:100%}
.team.on{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.team .sw{width:54px;height:54px;border-radius:14px;flex:none;border:1px solid rgba(0,0,0,.08)}
.team b{display:block;font-size:15.5px}.team span{font-size:13px;color:var(--muted)}
.sw.kawaida{background:linear-gradient(135deg,#0d3b78 0 50%,#ffffff 50%)}
.sw.mnyama{background:linear-gradient(135deg,#c8102e 0 50%,#ffffff 50%)}
.sw.mwananchi{background:linear-gradient(135deg,#ffc600 0 34%,#006b35 34% 67%,#111111 67%)}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts button{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:8px 13px;font-weight:600;font-size:13.5px;cursor:pointer}
.opts button.on{background:var(--acc-soft);border-color:var(--acc);color:var(--acc)}

/* sanaa ya timu: michirizi kwenye kichwa na kitufe cha kikapu */
.bar,.auth .ahero{background-color:var(--brand);background-image:var(--art)}
.cartbar{background-color:var(--brand);background-image:var(--art);color:var(--brand-ink)}
::placeholder{color:var(--muted);opacity:.75}
.offbar{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;padding:7px 16px;background:var(--acc-soft);color:var(--acc)}
.offbar.off{background:var(--amber-soft);color:var(--amber)}
.offbar::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.offnote{font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:10px;background:var(--amber-soft);color:var(--amber)}
#dock:empty{display:none}

/* ───────── Skrini pana: tablet, kompyuta, TV ─────────
 * ≥900px: tab za pembeni, kikapu kinakaa kulia, gridi zinajaza upana. ≥1800px: kila kitu kinakuzwa (zoom) ili kisomeke kwenye TV kubwa. */
#dock{display:none}
@media (min-width:900px){
  :root{--z:1}
  .app{max-width:none;display:grid;grid-template-columns:104px minmax(0,1fr) auto;grid-template-rows:auto auto auto minmax(0,1fr);border:0;box-shadow:none}
  .bar{grid-column:1/-1;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
  .bar .shop{font-size:20px}
  .limit,.offbar{grid-column:1/-1}
  .tabs{position:static;grid-column:1;grid-row:4;height:auto;display:flex;flex-direction:column;gap:6px;padding:14px 8px;border-top:0;border-right:1px solid var(--line);overflow-y:auto}
  .tabs button{height:76px;border-radius:16px;flex:none}
  .tabs button.on{background:var(--acc-soft)}
  .tabs .dot{top:10px}
  .screen{grid-column:2;grid-row:4;padding:22px 28px 40px}
  .view{max-width:1500px;margin:0 auto;width:100%}
  .app.selling #dock:not(:empty){display:block;grid-column:3;grid-row:4;width:clamp(340px,28vw,460px);border-left:1px solid var(--line);overflow-y:auto;background:var(--surface)}
  .dockcard{border:0;border-radius:0;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:100%}
  .dockcard .x{display:none}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
  .tile{min-height:104px;padding:12px}
  .tile b{font-size:14.5px}
  .kpi{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
  #v-report.on{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  #v-report>.row,#v-report>#ad-report,#v-report>#repOff,#v-report>.kpi{grid-column:1/-1}
  #v-exp.on{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}
  #v-exp>.row{grid-column:1/-1}
  #v-exp>h3{display:none}
  #v-exp>#expList{grid-column:2;grid-row:2}
  #v-stock .list,#v-debts .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
  #v-stock .list .it+.it,#v-debts .list .it+.it{border-top:0}
  #v-stock .list .it,#v-debts .list .it{border-bottom:1px solid var(--line)}
  .sheet{align-items:center;justify-content:center;padding:24px}
  .sheet>.card{max-width:560px;border-radius:22px;border-bottom:1px solid var(--line);max-height:88%}
  .cartbar{left:auto;right:28px;bottom:24px;width:380px}
  .toast{left:auto;right:28px;bottom:24px;width:380px}
  .wiz .in2{width:100%;max-width:620px;margin:0 auto}
  .app.auth{display:flex;max-width:520px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}
}
@media (min-width:1500px){.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
/* TV na skrini kubwa sana: kila kitu kinakua kwa uwiano */
@media (min-width:1800px){:root{--z:1.2}}
@media (min-width:2300px){:root{--z:1.5}}
@media (min-width:3000px){:root{--z:2}}
@media (min-width:4200px){:root{--z:2.8}}
@media (min-width:1800px){.app{zoom:var(--z);height:calc(100vh / var(--z));height:calc(100dvh / var(--z))}}
#sheets{display:contents}

/* ───────── Risiti ───────── */
.three{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px}
.rcpt{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);color:var(--ink)}
.rc-top{background-color:var(--brand);background-image:var(--art);color:var(--brand-ink);padding:14px 16px 16px;position:relative;text-align:center}
.rc-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--stripe)}
.rc-shop{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:17px;line-height:1.2}
.rc-sub{font-size:12px;opacity:.85;margin-top:2px}
.rc-tag{display:inline-block;margin-top:8px;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--brand-ink);color:var(--brand)}
.rc-mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--brand-ink);flex:none}
.rc-mark svg{width:17px;height:17px;fill:var(--brand)}
.rc-mark.tbars{display:inline-flex;gap:2px;width:auto;height:auto;padding:4px 5px;border-radius:6px;background:#000000}
.rc-mark.tbars i{display:block;width:5px;height:16px;border-radius:1px}
.rc-mark.tbars i:nth-child(1){background:#ffd200}.rc-mark.tbars i:nth-child(2){background:#00a651}.rc-mark.tbars i:nth-child(3){background:#ffd200}
.rc-body{padding:12px 16px;font-family:var(--f-num);font-size:13px;display:flex;flex-direction:column;gap:3px}
.rc-body .r{display:flex;justify-content:space-between;gap:10px}
.rc-ln{display:flex;flex-direction:column}
.rc-ln>span:first-child{font-family:var(--f-ui);font-weight:600}
.rc-ln .r{color:var(--muted)} .rc-ln .r b{color:var(--ink)}
.rc-cut{border-top:1px dashed var(--line);margin:6px 0}
.rc-tot{font-size:16px;padding:4px 0}
.rc-hello{text-align:center;font-family:var(--f-ui);font-weight:700;color:var(--acc);margin-top:8px}
.rcpt .adline{margin-top:6px}
.rc-foot{text-align:center;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:0 0 10px}
.rcpt[data-rteam="mwananchi"] .rc-tag{background:#ffd200;color:#000000}
#printArea{display:none}
/* Kuchapisha: risiti peke yake, nyeusi kwenye karatasi; alama ya timu inabaki kama mchoro wa mistari */
@media print{
  @page{margin:3mm}
  body>*:not(#printArea){display:none!important}
  body{background:none!important}
  #printArea{display:block;width:72mm;margin:0 auto;color:#000;font-size:12px}
  #printArea .rcpt{border:0;border-radius:0;background:none;color:#000}
  #printArea .rc-top{background:none!important;color:#000;border-bottom:2px solid #000;padding:4px 0 8px}
  #printArea .rc-top::after{height:4px;bottom:-6px;background:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 10px);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printArea .rcpt[data-rteam="mwananchi"] .rc-top::after{background:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 14px,#000 14px 16px,transparent 16px 18px)}
  #printArea .rcpt[data-rteam="kawaida"] .rc-top::after{display:none}
  #printArea .rc-tag{background:none;color:#000;border:1.5px solid #000}
  #printArea .rc-mark{background:none;border:1.5px solid #000}
  #printArea .rc-mark svg{fill:#000}
  #printArea .rc-mark.tbars{background:none}
  #printArea .rc-mark.tbars i{background:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printArea .rc-body{padding:10px 0;font-size:12px}
  #printArea .rc-ln .r,#printArea .rc-foot,#printArea .adline{color:#000}
  #printArea .rc-hello{color:#000}
  #printArea .rc-cut{border-color:#000}
  #printArea .rcpt,#printArea .rcpt *{color:#000!important}
  #printArea .rcpt .rc-tag{background:none!important;border:1.5px solid #000}
}
.hit{padding:9px 12px;border-radius:12px;font-weight:600;line-height:1.45}
.hit.ok{background:var(--green-soft);color:var(--green)}
.hit.bad{background:var(--amber-soft);color:var(--amber)}
.hit .btn{margin-left:6px;vertical-align:middle}

.instbar{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:8px 10px 8px 16px;background:var(--acc-soft);color:var(--ink)}
.instbar span{flex:1}
.instbar .x{width:30px;height:30px;font-size:16px;margin:0}
@media (min-width:900px){.instbar{grid-column:1/-1}}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15px}

/* Thamani ya biashara, thamani ya stock, njia za malipo */
.lnk{background:none;border:0;padding:2px 0;color:var(--brand-ink,var(--brand));font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
label.f > .row{justify-content:space-between;align-items:center}
.stockval{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stockval .sv{display:flex;flex-direction:column;gap:2px;min-width:0}
.stockval .sv b{font-size:17px}
.worth{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:var(--acc-soft)}
.worth b{font-size:24px}
.wlist{display:flex;flex-direction:column}
.wl{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line)}
.wl span{display:flex;flex-direction:column;min-width:0}
.wl small{font-size:11.5px;color:var(--muted)}
.wl.tot{border-bottom:0;border-top:2px solid var(--ink);font-weight:800;margin-bottom:4px}
.wl:last-child{border-top-width:3px;border-top-style:double}

/* Kulipia Lite */
.mopts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mopts button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.mopts button.on{border-color:var(--btn);box-shadow:0 0 0 2px var(--acc-soft)}
.mopts button span{font-size:15px;font-weight:700}
.mopts button i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--green)}
.paywait{align-items:center;text-align:center}
.paywait.bad b{color:var(--red)}
.spin{width:38px;height:38px;border-radius:50%;border:4px solid var(--acc-soft);border-top-color:var(--btn);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}

/* Miamala: kurekebisha na kufuta */
.hit.warn{background:var(--amber-soft);color:var(--amber);font-weight:600}
.hit.warn .lnk{color:inherit}
.btn.bad{background:var(--bad-bg);color:var(--bad-ink);border-color:transparent}
.it.tx{width:100%;text-align:left}
.it.tx.dead b,.it.tx.dead .amt{opacity:.55}
.it.tx.dead .amt b{text-decoration:line-through}
.it.tx[disabled]{opacity:1;cursor:default}
