:root{--bg: #0b1220;--bg-2: #111a2e;--surface: #16213a;--surface-2: #1d2a47;--line: #263354;--line-soft: #1e2a46;--text: #f1f5f9;--muted: #93a3c0;--faint: #64748b;--in: #34d399;--in-dim: #10b981;--out: #fb7185;--warn: #fbbf24;--accent: #60a5fa;--radius: 14px;--radius-sm: 10px;--tap: 52px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}input,select{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app{display:flex;flex-direction:column;height:100%;max-width:780px;margin:0 auto;background:var(--bg)}.topbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.topbar h1{flex:1;min-width:0;margin:0;font-size:15px;font-weight:650;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .brand-dot{width:10px;height:10px;border-radius:50%;background:var(--in)}.icon-btn{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:13px;font-weight:600}.icon-btn:active{background:var(--surface-2)}.icon-btn[disabled]{opacity:.35;cursor:default}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 18px}.tabs{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line-soft)}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;min-width:108px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid transparent;text-align:left}.tab[data-active=true]{background:var(--surface-2);border-color:currentColor}.tab .tab-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:620;color:var(--text)}.tab .swatch{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}.tab .tab-cash{display:block;margin-top:2px;font-size:15px;font-weight:700;color:var(--in)}.tab .tab-cash[data-negative=true]{color:var(--out)}.tab .tab-sub{display:block;font-size:11px;color:var(--faint)}.tab-add{flex:0 0 auto;min-width:44px;border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:20px}.hero{background:linear-gradient(160deg,var(--surface) 0%,var(--bg-2) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--faint);font-weight:650}.hero-cash{font-size:38px;line-height:1.05;font-weight:750;letter-spacing:-1px;margin-top:2px}.hero-cash[data-negative=true]{color:var(--out)}.hero-payday{text-align:right}.hero-payday .v{font-size:22px;font-weight:720;color:var(--in)}.hero-payday .v[data-negative=true]{color:var(--out)}.hero-meta{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap}.hero-meta div{font-size:12px;color:var(--muted)}.hero-meta b{color:var(--text);font-weight:650}.progress{margin-top:12px}.progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:5px}.bar{height:9px;border-radius:99px;background:#0d1526;overflow:hidden;border:1px solid var(--line-soft)}.bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--in-dim),var(--in));transition:width .25s ease}.escaped{margin-top:10px;padding:8px 10px;border-radius:var(--radius-sm);background:#34d3991f;border:1px solid rgba(52,211,153,.35);color:var(--in);font-size:12.5px;font-weight:620}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--faint);font-weight:700}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:340px){.actions{grid-template-columns:repeat(3,1fr)}}.action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;padding:8px 4px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-soft);font-size:11.5px;font-weight:600;color:var(--text);text-align:center;line-height:1.2}.action:active{background:var(--surface-2)}.action .glyph{font-size:19px;line-height:1}.action[data-tone=in] .glyph{color:var(--in)}.action[data-tone=out] .glyph{color:var(--out)}.action[data-tone=neutral] .glyph{color:var(--accent)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.card+.card{margin-top:10px}.card-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;background:var(--surface);text-align:left}.card-head .h-title{font-size:13px;font-weight:700;letter-spacing:.3px}.card-head .h-value{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.chev{color:var(--faint);font-size:11px;transition:transform .15s ease}.chev[data-open=true]{transform:rotate(90deg)}.rows{border-top:1px solid var(--line-soft)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px 14px;text-align:left;border-bottom:1px solid var(--line-soft)}.row:last-child{border-bottom:0}.row:active{background:var(--surface-2)}.row .r-label{font-size:13.5px;color:var(--text)}.row .r-sub{display:block;font-size:11px;color:var(--faint);margin-top:1px}.row .r-value{font-size:14px;font-weight:650;white-space:nowrap}.row[data-tone=in] .r-value{color:var(--in)}.row[data-tone=out] .r-value{color:var(--out)}.row-total{background:var(--bg-2);font-weight:700}.row-total .r-label{font-weight:700}.empty{padding:14px;color:var(--faint);font-size:12.5px;text-align:center}.hist{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-bottom:1px solid var(--line-soft);text-align:left}.hist:active{background:var(--surface-2)}.hist:last-child{border-bottom:0}.hist[data-undone=true]{opacity:.4}.hist .h-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:0 0 auto}.hist .h-main{flex:1;min-width:0}.hist .h-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist .h-note{font-size:11px;color:var(--faint)}.hist .h-amt{font-size:13px;font-weight:650}.amt-in{color:var(--in)}.amt-out{color:var(--out)}.footer{display:flex;gap:8px;padding:10px 12px calc(10px + var(--safe-b));border-top:1px solid var(--line);background:var(--bg-2)}.payday-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:var(--radius);background:linear-gradient(180deg,#34d399,#0f9f74);color:#06281f;font-size:16px;font-weight:800;letter-spacing:.4px;box-shadow:0 6px 18px #10b98140}.payday-btn:active{transform:translateY(1px);box-shadow:none}.payday-btn[data-negative=true]{background:linear-gradient(180deg,#fb7185,#b8384b);color:#2a0a10;box-shadow:none}.payday-btn .pd-amt{font-size:18px}.backdrop{position:fixed;inset:0;background:#030712b3;display:flex;align-items:flex-end;justify-content:center;z-index:40;animation:fade .14s ease}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:780px;max-height:92dvh;display:flex;flex-direction:column;background:var(--bg-2);border-top-left-radius:20px;border-top-right-radius:20px;border:1px solid var(--line);border-bottom:0;animation:rise .18s cubic-bezier(.2,.8,.3,1)}@keyframes rise{0%{transform:translateY(14px)}}.sheet-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid var(--line-soft)}.sheet-head h2{flex:1;margin:0;font-size:16px;font-weight:700}.sheet-body{flex:1;overflow-y:auto;padding:12px 14px}.sheet-foot{display:flex;gap:8px;padding:10px 14px calc(12px + var(--safe-b));border-top:1px solid var(--line-soft)}.btn{flex:1;min-height:var(--tap);border-radius:var(--radius);background:var(--surface-2);font-size:15px;font-weight:650}.btn:active{filter:brightness(1.15)}.btn-primary{background:var(--in);color:#06281f;font-weight:750}.btn-danger{background:#fb718529;color:var(--out)}.btn[disabled]{opacity:.4;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.field{margin-bottom:12px}.field>label,.field-label{display:block;font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:5px}.text-input,.select-input{width:100%;min-height:var(--tap);padding:0 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);outline:none}.text-input:focus,.select-input:focus{border-color:var(--accent)}.money-field{display:flex;align-items:center;width:100%;min-height:56px;padding:0 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);text-align:left}.money-field[data-focused=true]{border-color:var(--in);background:var(--surface-2)}.money-field .mf-value{flex:1;font-size:22px;font-weight:700;letter-spacing:-.3px}.money-field .mf-value[data-empty=true]{color:var(--faint);font-weight:600}.money-field .mf-caret{width:2px;height:24px;background:var(--in);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hint{font-size:11.5px;color:var(--faint);margin-top:6px}.hint b{color:var(--muted)}.derived-line{display:flex;justify-content:space-between;padding:10px 12px;margin-bottom:12px;border-radius:var(--radius-sm);background:#60a5fa14;border:1px solid rgba(96,165,250,.25);font-size:13px}.derived-line b{font-weight:700}.warn-line{background:#fbbf241a;border-color:#fbbf244d;color:var(--warn)}.numpad{border-top:1px solid var(--line-soft);padding:8px 10px calc(10px + var(--safe-b));background:var(--bg)}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:8px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;font-weight:650;color:var(--text)}.chip:active{background:var(--in);color:#06281f}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.key{min-height:50px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-soft);font-size:20px;font-weight:620}.key:active{background:var(--surface-2)}.key-wide{grid-column:span 1}.key-done{background:var(--in);color:#06281f;font-size:15px;font-weight:750;grid-row:span 2}.key-fn{background:var(--surface-2);font-size:15px;color:var(--muted)}.setup{padding:18px 14px calc(18px + var(--safe-b))}.setup h2{margin:0 0 4px;font-size:24px;font-weight:750;letter-spacing:-.4px}.setup p.lede{margin:0 0 18px;color:var(--muted);font-size:13.5px}.seat{display:flex;gap:8px;align-items:center;margin-bottom:8px}.seat .text-input{flex:1 1 40%;min-width:0}.seat .select-input{flex:1 1 55%;min-width:0}.seat .icon-btn{flex:0 0 auto;height:var(--tap)}.prof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.prof{padding:10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);text-align:left}.prof[data-selected=true]{border-color:var(--in);background:var(--surface-2)}.prof .p-name{font-size:13px;font-weight:650}.prof .p-pay{font-size:12px;color:var(--in);font-weight:650;margin-top:2px}.prof .p-salary{font-size:11px;color:var(--faint)}.list-note{font-size:12px;color:var(--faint);margin-top:14px;line-height:1.5}.stack-gap{height:10px}.menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--tap);padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-soft);margin-bottom:8px;text-align:left;font-size:14px}.menu-item span.sub{display:block;font-size:11.5px;color:var(--faint)}.seg{display:flex;gap:6px;margin-bottom:12px}.seg button{flex:1;min-height:46px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:620;color:var(--muted)}.seg button[data-on=true]{background:var(--surface-2);border-color:var(--in);color:var(--text)}.pick-list button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:var(--tap);padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-soft);margin-bottom:8px;text-align:left}.pick-list .pl-sub{display:block;font-size:11.5px;color:var(--faint)}.paper{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.paper-head{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft)}.paper-slot{padding:8px 10px;background:var(--bg-2);min-width:0}.paper-slot span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.9px;color:var(--faint);font-weight:700}.paper-slot b{display:block;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-section{padding:8px 12px;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--text)}.st-sub{padding:7px 12px 3px;font-size:11px;font-weight:750;letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}.st-line{display:flex;align-items:baseline;gap:6px;width:100%;padding:7px 12px;min-height:38px;text-align:left}.st-line:active{background:var(--surface-2)}.st-line .l-label{flex:0 1 auto;font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-line .l-label em{display:block;font-style:normal;font-size:10.5px;color:var(--faint);margin-top:1px}.st-line .l-dots{flex:1 1 auto;min-width:12px;border-bottom:1px dotted var(--line);transform:translateY(-3px)}.st-line .l-value{flex:0 0 auto;font-size:14px;font-weight:680;white-space:nowrap}.st-line .l-value[data-zero=true]{color:var(--faint);font-weight:550}.st-line .l-value[data-negative=true]{color:var(--out)}.st-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);margin-top:4px}.st-total .l-label{font-weight:750;font-size:12.5px;letter-spacing:.4px;text-transform:uppercase}.st-total .l-value{font-weight:800;font-size:15px}.st-callout{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 10px;padding:9px 11px;border-radius:var(--radius-sm);background:#34d3991a;border:1px dashed rgba(52,211,153,.45)}.st-callout span{font-size:12.5px;font-weight:700;color:var(--in)}.st-callout em{display:block;font-style:normal;font-size:10px;font-weight:500;color:var(--muted);margin-top:1px}.st-callout b{font-size:17px;font-weight:800;color:var(--in)}.st-paycheck{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;background:var(--bg-2);border-top:1px solid var(--line)}.st-paycheck span{font-size:12.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.st-paycheck em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--faint);margin-left:5px}.st-paycheck b{font-size:20px;font-weight:800;color:var(--in)}.st-paycheck b[data-negative=true]{color:var(--out)}.bs-grid{display:grid;grid-template-columns:1fr}.bs-col+.bs-col{border-top:1px solid var(--line)}@media(min-width:720px){.bs-grid{grid-template-columns:1fr 1fr}.bs-col+.bs-col{border-top:0;border-left:1px solid var(--line)}}.st-table-head{display:grid;grid-template-columns:minmax(0,1fr) 72px 82px 28px;align-items:end;gap:4px;padding:8px 12px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-weight:700;border-top:1px solid var(--line-soft);margin-top:4px}.st-table-head .c-name{color:var(--muted);font-size:10.5px;letter-spacing:.3px}.st-table-head .c-num{text-align:right}.st-table-head .c-add{justify-self:end;width:26px;height:26px;border-radius:7px;background:var(--surface-2);color:var(--in);font-size:17px;line-height:1}.st-table-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 82px 28px;align-items:center;gap:4px;width:100%;padding:7px 12px;text-align:left;border-top:1px dotted var(--line-soft)}.st-table-row:active{background:var(--surface-2)}.st-table-row .c-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-table-row .c-name em{display:block;font-style:normal;font-size:10.5px;color:var(--in);margin-top:1px}.st-table-row .c-num{text-align:right;font-size:12.5px;font-weight:620}.st-table-empty{padding:6px 12px 8px;font-size:11.5px;color:var(--faint)}.ft-hero{border:1px solid rgba(251,191,36,.4);border-radius:var(--radius);background:linear-gradient(160deg,rgba(251,191,36,.14),var(--bg-2));padding:14px}.ft-hero h3{margin:0 0 2px;font-size:17px;font-weight:780;color:var(--warn)}.ft-hero p{margin:0 0 10px;font-size:12.5px;color:var(--muted)}.ft-calc{display:grid;gap:1px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.ft-calc div{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;background:var(--bg-2);font-size:13px}.ft-calc div b{font-weight:720}.ft-calc div[data-emph=true]{background:var(--surface-2)}.ft-calc div[data-emph=true] b{color:var(--warn);font-size:15px}.win-banner{margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);background:#34d39924;border:1px solid rgba(52,211,153,.45);color:var(--in);font-size:13px;font-weight:700}@media print{body{background:#fff;color:#111}.topbar,.tabs,.footer,.actions,.backdrop,.no-print{display:none!important}.app,.scroll{display:block;height:auto;overflow:visible;max-width:none;padding:0}.paper{border:1px solid #333;background:#fff;break-inside:avoid}.paper-head,.paper-slot,.st-total,.st-paycheck,.st-section{background:#f2f2f2!important;color:#111!important}.st-line .l-label,.st-line .l-value,.st-table-row,.paper-slot b{color:#111!important}.st-sub,.st-callout span,.st-callout b,.st-paycheck b{color:#0a5c44!important}.bs-grid{grid-template-columns:1fr 1fr}@page{size:letter portrait;margin:12mm}}.sync-chip{display:flex;align-items:center;gap:6px;height:40px;padding:0 11px;border-radius:var(--radius-sm);background:var(--surface);font-size:13px;font-weight:700;letter-spacing:1px;color:var(--text)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--in);flex:0 0 auto}.sync-chip[data-status=syncing] .sync-dot{background:var(--warn);animation:pulse 1s ease-in-out infinite}.sync-chip[data-status=offline] .sync-dot,.sync-chip[data-status=unconfigured] .sync-dot{background:var(--out)}@keyframes pulse{50%{opacity:.3}}.tab-you{margin-left:4px;padding:1px 5px;border-radius:99px;background:var(--in);color:#06281f;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.viewing-banner{display:block;width:100%;margin-top:14px;padding:10px 12px;border-radius:var(--radius-sm);background:#60a5fa1a;border:1px solid rgba(96,165,250,.35);color:var(--accent);font-size:12.5px;font-weight:600;text-align:left}.sheet-wrap[data-readonly=true] .paper{opacity:.92}.sheet-wrap[data-readonly=true] .paper button{pointer-events:none}.sheet-wrap[data-readonly=true] .c-add{visibility:hidden}.code-card{padding:12px;margin-bottom:12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.code-big{display:block;margin:2px 0 6px;font-size:34px;font-weight:800;letter-spacing:6px;color:var(--in)}.code-inline{letter-spacing:2px;color:var(--in)}.code-input{font-size:26px;font-weight:750;letter-spacing:8px;text-align:center;text-transform:uppercase;min-height:64px}.share-qr{display:grid;place-items:center;padding:14px;border-radius:var(--radius);background:#fff;margin-bottom:14px}.qr{display:block;border-radius:4px}.share-code{text-align:center;margin-bottom:12px}.share-code .code-big{margin-top:2px}.share-link{padding:11px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);font-size:12.5px;color:var(--muted);word-break:break-all;cursor:pointer;text-align:center}.share-link:active{border-color:var(--in)}.chip-share{color:var(--faint);font-size:12px}
