:root{--bg:#fff;--surface:#f4f5f4;--surface-2:#e9ebe9;--line:#e2e4e2;--text:#0a0a0a;--text-dim:#5f6368;--green:#1db954;--green-ink:#12813a;--lime:#a3e635;--red:#d93025;--amber:#b45309;--logo-brown:#2d1b12;--logo-red:#d9412b;--bar-h:68px;--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.app{flex-direction:column;max-width:520px;min-height:100%;margin:0 auto;display:flex}.topbar{z-index:5;background:var(--bg);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.brand{color:var(--logo-brown);letter-spacing:-.01em;align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.brand img{width:32px;height:32px}.brand b{color:var(--logo-red);font-weight:600}.content{padding:4px 16px calc(var(--bar-h) + var(--safe-bottom) + 110px);flex:1}.screen-title{letter-spacing:-.02em;margin:8px 0 16px;font-size:25px;font-weight:600}.bottombar{z-index:10;max-width:520px;height:calc(var(--bar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--bg);border-top:1px solid var(--line);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--green-ink)}.mic{right:max(16px,50vw - 244px);bottom:calc(var(--bar-h) + var(--safe-bottom) + 16px);z-index:11;background:var(--green);color:#000;border-radius:50%;place-items:center;width:72px;height:72px;transition:transform .1s;display:grid;position:fixed;box-shadow:0 6px 20px #1db95466}.mic:active{transform:scale(.94)}.totals{grid-template-columns:1fr 1fr;gap:12px;display:grid}.total-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:16px;display:flex}.total-label{color:var(--text-dim);align-items:center;gap:4px;font-size:14px;font-weight:500;display:flex}.total-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(17px,6.2vw,23px);font-weight:600}.money-in{color:var(--green-ink)}.money-out{color:var(--red)}.actions{gap:12px;margin-top:20px;display:grid}.action{background:var(--surface-2);text-align:left;border-radius:18px;align-items:center;gap:14px;min-height:72px;padding:0 22px;font-size:18px;font-weight:600;transition:transform .1s;display:flex}.action:active{transform:scale(.98)}.action-primary{background:var(--green);color:#000}.card{background:var(--surface);border-radius:16px;margin-bottom:12px;padding:16px}.card-title{color:var(--text-dim);margin:0 0 12px;font-size:14px;font-weight:500}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segment{background:var(--surface-2);border-radius:12px;min-height:52px;font-weight:600}.segment-on{background:var(--green);color:#000}.row{align-items:center;gap:10px;margin:0;display:flex}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot-on{background:var(--green)}.dot-warn{background:var(--amber)}.pill{border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill-warn{color:var(--amber);background:#fef3c7}.footnote{color:var(--text-dim);text-align:center;margin-top:24px;font-size:13px}.empty{text-align:center;padding:56px 16px}.empty-icon{background:var(--surface);width:84px;height:84px;color:var(--text-dim);border-radius:50%;place-items:center;margin-bottom:16px;display:inline-grid}.empty h2{margin:0 0 6px;font-size:17px}.empty p{max-width:28ch;color:var(--text-dim);margin:0 auto}.toast{left:50%;bottom:calc(var(--bar-h) + var(--safe-bottom) + 104px);z-index:20;color:#fff;text-align:center;background:#0a0a0a;border-radius:999px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:15px;font-weight:600;position:fixed;transform:translate(-50%)}.btn{border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:60px;margin-top:12px;padding:0 20px;font-size:17px;font-weight:600;transition:transform .1s;display:flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4}.btn-primary{background:var(--green);color:#000}.btn-quiet{background:var(--surface)}.btn-danger{background:var(--red);color:#fff}.icon-btn{border-radius:50%;place-items:center;width:44px;height:44px;margin:-6px;display:grid}.link-danger{min-height:44px;color:var(--red);padding:0 4px;font-size:15px;font-weight:600}.field{margin-bottom:16px;display:block}.field>span{color:var(--text-dim);margin-bottom:6px;font-size:15px;font-weight:500;display:block}.field input{border:2px solid var(--line);background:var(--bg);width:100%;height:58px;color:var(--text);font:inherit;border-radius:14px;padding:0 16px;font-size:17px}.field input:focus{border-color:var(--green);outline:none}.field .code-input{letter-spacing:.3em;text-align:center;font-size:21px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-2);border-radius:999px;min-height:48px;padding:0 16px;font-size:15px;font-weight:500}.chip-on{background:var(--green);color:#000}.gate-body{flex-direction:column;flex:1;padding:8px 20px 32px;display:flex}.gate-center{text-align:center;align-items:center}.gate-center .btn{margin-top:28px}.gate-logo{width:96px;height:96px;margin-top:12vh}.gate-brand{color:var(--logo-brown);letter-spacing:-.02em;margin:20px 0 6px;font-size:30px;font-weight:600}.gate-brand b{color:var(--logo-red);font-weight:600}.gate-tagline{color:var(--text-dim);margin:0;font-size:16px}.gate-name{margin:12px 0 4px;font-size:21px;font-weight:600}.gate-note{min-height:1.4em;color:var(--text-dim);margin:0 0 20px}.gate-error{color:var(--red);font-weight:500}.gate-form{text-align:left;width:100%;margin-top:12px}.lang-toggle{background:var(--surface);border-radius:999px;min-height:40px;padding:0 14px;font-size:15px;font-weight:600}.pinpad{width:100%;max-width:300px}.pin-dots{justify-content:center;gap:18px;margin-bottom:28px;display:flex}.pin-dot{border:2px solid var(--text-dim);border-radius:50%;width:18px;height:18px}.pin-dot-on{border-color:var(--green);background:var(--green)}.pin-keys{grid-template-columns:repeat(3,1fr);justify-items:center;gap:14px;display:grid}.pin-key{background:var(--surface);border-radius:50%;place-items:center;width:76px;height:76px;font-size:23px;font-weight:600;display:grid}.pin-key:active:not(:disabled){background:var(--surface-2)}.pin-key:disabled{opacity:.4}.pin-key-plain{background:0 0}.list{gap:8px;display:grid}.list-gap{margin-bottom:16px}.list-row{background:var(--surface);width:100%;min-height:68px;color:var(--text);text-align:left;border-radius:16px;align-items:center;gap:14px;padding:10px 16px;text-decoration:none;display:flex}.list-row[aria-current]{background:var(--surface-2)}.list-main{flex-direction:column;flex:1;min-width:0;display:flex}.list-title{overflow-wrap:anywhere;font-size:16px;font-weight:600}.list-sub{color:var(--text-dim);font-size:14px}.avatar{background:var(--text);width:44px;height:44px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:600;display:grid}.avatar-lg{width:72px;height:72px;margin-top:8px;font-size:25px}.ctx-btn{text-align:left;align-items:center;gap:6px;min-width:0;min-height:44px;display:flex}.ctx-text{flex-direction:column;min-width:0;display:flex}.ctx-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.ctx-sub{color:var(--text-dim);font-size:13px;font-weight:500}.sheet-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;max-height:90vh;padding:16px 16px calc(20px + var(--safe-bottom));background:var(--bg);border-radius:24px 24px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sheet-head h2{margin:0;font-size:19px;font-weight:600}.sheet-text{margin:0 0 8px;font-size:16px}.worker-card{background:var(--surface);border-radius:16px;padding:12px 16px}.worker-head{align-items:center;gap:14px;display:flex}.invite{background:var(--bg);text-align:center;border-radius:12px;margin-top:12px;padding:12px}.invite-label{color:var(--text-dim);font-size:13px;font-weight:500;display:block}.invite-code{letter-spacing:.2em;-webkit-user-select:all;user-select:all;font-size:25px;font-weight:600;display:block}.invite p{color:var(--text-dim);margin:6px 0 0;font-size:14px}.field .amount-input{font-variant-numeric:tabular-nums;height:72px;font-size:27px;font-weight:600}.field-error{color:var(--red);margin:-8px 0 16px;font-size:15px;font-weight:500}.day-nav{background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px 12px;display:flex}.day-nav .icon-btn{margin:0}.day-nav .icon-btn:disabled{opacity:.25}.day-label{font-size:16px;font-weight:600}.day-sums{font-variant-numeric:tabular-nums;justify-content:space-between;margin:0 4px 12px;font-size:16px;font-weight:600;display:flex}.row-icon{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.row-end{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.row-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:600}.row-cancelled .list-title,.row-cancelled .row-icon{opacity:.5}.struck{color:var(--text-dim);text-decoration:line-through}.tag{background:var(--surface-2);color:var(--text-dim);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.tag-red{color:var(--red);background:#fde8e6}.tag-amber{color:var(--amber);background:#fef3c7}.ink-red{color:var(--red)}.recent{margin-top:20px}.alert-row{color:var(--amber);background:#fef3c7;margin-top:12px}.alert-row .list-title{color:#7c3a06}.detail-amount{font-variant-numeric:tabular-nums;margin:0;font-size:30px;font-weight:600}.detail-line{margin:4px 0 0;font-size:16px;font-weight:500}.detail-note{margin:8px 0 0;font-size:16px}.detail-meta{color:var(--text-dim);margin:8px 0 4px;font-size:14px}.btn-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.history h3{color:var(--text-dim);margin:0 0 10px;font-size:14px;font-weight:500}.history ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.history li{background:var(--surface);border-radius:12px;flex-direction:column;padding:10px 14px;display:flex}.history-who{font-weight:600}.history-when{color:var(--text-dim);font-size:13px}.history-what{font-variant-numeric:tabular-nums;margin-top:4px}.ink-amber{color:var(--amber)}.field small,.check small{color:var(--text-dim);margin-top:4px;font-size:13px;font-weight:400;display:block}.check{align-items:flex-start;gap:12px;margin-bottom:16px;font-weight:500;display:flex}.check input{width:26px;height:26px;accent-color:var(--green);flex:none;margin:0}.detail-unit{font-size:19px;font-weight:600}.detail-lines{gap:4px;margin:10px 0 0;padding:0;font-size:15px;list-style:none;display:grid}.detail-lines li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.history .move{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.move>span:first-child{flex-direction:column;display:flex}.remove-link{margin:16px auto 0;display:block}.line{background:var(--surface);border-radius:14px;margin-bottom:10px;padding:10px 12px 12px}.line-head{justify-content:space-between;align-items:center;display:flex}.line-head .icon-btn{margin:0 -6px 0 0}.line-name{overflow-wrap:anywhere;font-size:16px;font-weight:600}.line-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.line-inputs span{color:var(--text-dim);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.field .line-inputs input{font-variant-numeric:tabular-nums;height:50px;font-weight:600}.picker-toggle{min-height:52px;margin-top:0;font-size:15px}.picker{gap:6px;max-height:264px;margin-top:8px;display:grid;overflow-y:auto}.field .picker-search{height:48px;font-size:15px}.picker-row{border:2px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:12px;min-height:56px;padding:6px 14px;display:flex}.picker-row:active{background:var(--surface)}.picker-name{font-size:15px;font-weight:600}.picker-plus{background:var(--green);color:#000;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:19px;font-weight:600;line-height:1;display:grid}.picker-empty{color:var(--text-dim);margin:10px 0 0}.ink-dim{color:var(--text-dim);font-size:14px}.owed-card{margin-bottom:12px}.picked{background:var(--surface);border-radius:14px;align-items:center;gap:12px;min-height:58px;padding:8px 14px;display:flex}.link-btn{min-height:44px;color:var(--green-ink);padding:0 4px;font-size:15px;font-weight:600}.picker-new{border-style:dashed}.warn-note{color:#7c3a06;background:#fef3c7;border-radius:12px;margin:-6px 0 16px;padding:10px 14px;font-size:15px;font-weight:500}.hint-note{color:var(--text-dim);text-align:center;margin:12px 0 0;font-size:14px}.back-link{min-height:44px;color:var(--text-dim);align-items:center;gap:6px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.customer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-head .screen-title{overflow-wrap:anywhere;margin-top:0}.customer-head .icon-btn{flex:none;margin:0 0 12px}a.btn{color:var(--text);text-decoration:none}.btn-small{text-align:center;min-height:52px;padding:0 10px;font-size:15px}.gate-center .gate-second{margin-top:12px}.card .btn{margin-top:14px}.card-note{color:var(--text-dim);overflow-wrap:anywhere;margin:8px 0 0;font-size:13px}.pill-quiet{background:var(--surface);color:var(--text-dim);text-decoration:none}.worker-card>.link-btn{margin:4px 0 0 58px;display:block}.card-gap{margin-top:12px}.card>.total-value{margin:0}.summary-text{margin:0;font-size:16px;line-height:1.5}.see-more{min-height:40px;color:var(--green-ink);justify-content:flex-end;align-items:center;gap:2px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.rank{gap:12px;margin:0;padding:0;list-style:none;display:grid}.rank li{grid-template-columns:1fr auto;gap:2px 12px;display:grid}.rank-label{overflow-wrap:anywhere;font-weight:600}.rank-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.rank-detail{color:var(--text-dim);grid-column:1/-1;font-size:13px}.rank-track{background:var(--surface-2);border-radius:4px;grid-column:1/-1;height:8px}.rank-fill{background:var(--green);border-radius:4px;height:100%;display:block}.chart-readout{font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:15px}.columns{border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;height:112px;display:flex}.column{flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.column-bar{background:var(--green);opacity:.45;border-radius:4px 4px 0 0;width:100%;display:block}.column-on .column-bar,.column:hover .column-bar{opacity:1}.columns-axis{color:var(--text-dim);gap:2px;margin-top:4px;font-size:12px;display:flex}.columns-axis span{text-align:center;white-space:nowrap;flex:1;min-width:0}.compare{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}.compare th,.compare td{border-top:1px solid var(--line);text-align:right;padding:8px 0;font-weight:500}.compare thead th{color:var(--text-dim);border-top:0;font-size:13px}.compare th:first-child{text-align:left;overflow-wrap:anywhere}.report-intro{margin:0 0 12px}.report{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin-bottom:12px;padding:20px 18px}.report header{border-bottom:2px solid var(--text);padding-bottom:12px}.report header h2{margin:2px 0 4px;font-size:23px;font-weight:600}.report header p{color:var(--text-dim);margin:0;font-size:13px}.report .report-kicker{color:var(--green-ink);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.report h3{margin:18px 0 4px;font-size:15px;font-weight:600}.report-figures{gap:10px;margin:14px 0 6px;display:grid}.report-figures div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-figures span{color:var(--text-dim);font-size:14px}.report-figures b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:21px;font-weight:600}.report-table th{color:var(--text-dim);padding-right:12px;font-size:14px}.report-table td{font-size:14px}.report-empty{margin:16px 0}.report footer{border-top:1px solid var(--line);color:var(--text-dim);margin-top:18px;padding-top:10px;font-size:12px}@media print{.topbar,.bottombar,.mic,.toast,.no-print{display:none!important}.app{max-width:none}.content{padding:0}.report{border:0;padding:0}.report .warn-note{color:#000;background:0 0;border:1px solid #999}}.order-group+.order-group{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.order-group h3{margin:0 0 6px;font-size:15px;font-weight:600}.order-row{align-items:center;gap:8px;padding:6px 0;display:flex}.order-qty{border:2px solid var(--line);background:var(--bg);width:72px;height:46px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right;border-radius:12px;flex:none;padding:0 8px;font-size:17px;font-weight:600}.order-qty:focus{border-color:var(--green);outline:none}.order-unit{width:44px;color:var(--text-dim);flex:none;font-size:13px}.order-text{background:var(--surface);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;margin:0 0 4px;padding:14px;font-size:15px}.cash-sum th{text-align:left}.cash-sum tr:first-child th,.cash-sum tr:first-child td{border-top:0}.cash-strong th,.cash-strong td{font-weight:600}.cash-gap{text-align:center;margin:14px 0;font-size:23px;font-weight:600}.list-row>.row-amount{flex:none;font-size:14px}.inbox-amount{font-size:23px}.inbox-suggest{background:var(--bg);border-radius:12px;align-items:center;gap:10px;margin:10px 0 0;padding:10px 12px;font-size:15px;display:flex}.inbox-suggest span{flex:1;min-width:0}.inbox-suggest .btn{width:auto;margin:0;padding:0 18px}.inbox-ignore{color:var(--text-dim);margin:6px auto 0;display:block}.tag-green{color:var(--green-ink);background:#dcf5e4}.ink-green{color:var(--green-ink)}.btn-trio{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dot-bad{background:var(--red)}.mpesa-status{margin:8px 0 12px}.mpesa-note{margin:0 0 12px}.segmented-4{grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.segmented-4 .segment{padding:0 4px;font-size:14px}.segmented-3{grid-template-columns:repeat(3,1fr);margin:12px 0}.platform-note{margin:10px 2px 0}.platform-filter{margin-bottom:12px}.platform-key{margin-top:14px}.dot-off{background:var(--line)}.totals:has(>:nth-child(3)){grid-template-columns:1fr}@media (width>=420px){.totals:has(>:nth-child(3)){grid-template-columns:repeat(3,1fr)}}.voice-stage{text-align:center;flex-direction:column;align-items:center;padding:8px 0 4px;display:flex}.voice-mic{background:var(--green);color:#000;border-radius:50%;place-items:center;width:104px;height:104px;display:grid;box-shadow:0 6px 20px #1db95466}.voice-mic:disabled{opacity:.4}.voice-mic-on{background:var(--red);color:#fff;animation:1.4s infinite voice-pulse;box-shadow:0 0 #d9302580}@keyframes voice-pulse{70%{box-shadow:0 0 0 22px #d9302500}to{box-shadow:0 0 #d9302500}}.voice-status{min-height:1.4em;margin:16px 0 0;font-size:17px;font-weight:600}.voice-problem{text-align:center;margin:12px 0 0}.voice-type{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.voice-type .field{margin-bottom:0}.voice-heard{color:var(--text-dim);margin:0 0 10px;font-size:14px}.voice-card{background:var(--surface);border-radius:16px;gap:4px;margin:0 0 14px;padding:14px 16px;font-size:19px;font-weight:600;list-style:none;display:grid}.voice-card li:first-child{color:var(--text-dim);font-size:14px}.voice-ask{text-align:center;margin:0;font-size:17px;font-weight:600}@media (prefers-reduced-motion:reduce){.voice-mic-on{animation:none}*{transition:none!important}}.install{text-align:center;min-height:100%;padding:32px 24px calc(32px + var(--safe-bottom));flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.install-logo{border-radius:22px;box-shadow:0 8px 24px #0000001f}.install h1{margin:8px 0 0;font-size:26px;font-weight:600}.install-tag{color:var(--text-dim);margin:0 0 12px}.install-btn{justify-content:center;align-items:center;gap:8px;width:100%;max-width:320px;text-decoration:none;display:inline-flex}.install-fine,.install-msg{color:var(--text-dim);max-width:320px;margin:4px 0 0}.install-steps{text-align:left;gap:10px;max-width:320px;margin:0;padding-left:20px;display:grid}.install-steps .inline{vertical-align:-3px}.install-skip{color:var(--green-ink);margin-top:16px;font-size:14px}
