:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e8ebf0;--ink:#14171e;--ink-2:#5c6779;--ink-3:#8a93a3;--line:#e3e6eb;--line-strong:#d5dae2;--accent:#2563eb;--accent-ink:#fff;--accent-soft:#e8effd;--good:#0e9f6e;--good-bg:#e7f6ef;--warn:#b4700e;--warn-bg:#fdf4e6;--crit:#d92d20;--crit-bg:#fdecea;--s-cash:#2563eb;--s-card:#7c5ce0;--s-labor:#0e9f6e;--s-cost:#b4700e;--s-rest:#2563eb;--s-muted:#c3c9d4;--grid:#edeff3;--axis:#d5dae2;--shadow:0 1px 2px #1018280d, 0 1px 3px #10182814;--shadow-lg:0 4px 6px -2px #1018280d, 0 12px 16px -4px #1018281a;--t-c2:11px;--t-c1:12px;--t-foot:13px;--t-sub:15px;--t-call:16px;--t-body:17px;--t-t3:20px;--t-t2:22px;--t-t1:28px;--t-large:34px;--spring-touch:cubic-bezier(.34,1.36,.36,1);--spring-touch-ms:.24s;--spring-ui:cubic-bezier(.34,1.36,.36,1);--spring-ui-ms:.42s;--glass:#fffffff0;--glass-blur:#ffffff9e;--glass-rim:#ffffffe6;--glass-rim-b:#1018280f;--lens:#ffffffeb;--lens-held:#fff;--seg-bg:#e9ecf1b3;--glass-sheen:#ffffff80;--font-num:"IBM Plex Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--dock:calc(64px + max(10px, env(safe-area-inset-bottom)));--r-card:16px;--r-tile:14px;--r-btn:14px;--r-chip:999px;--gutter:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d11;--surface:#14171e;--surface-2:#1b1f28;--surface-3:#232833;--ink:#fff;--ink-2:#9aa5b8;--ink-3:#626c7d;--line:#232833;--line-strong:#2c323e;--accent:#4c9aff;--accent-ink:#0b0d11;--accent-soft:#152238;--good:#3dbe8b;--good-bg:#10281f;--warn:#e8a33d;--warn-bg:#2a2113;--crit:#ff5a52;--crit-bg:#2a1614;--s-cash:#4c9aff;--s-card:#9b8afa;--s-labor:#3dbe8b;--s-cost:#e8a33d;--s-rest:#4c9aff;--s-muted:#3a414f;--grid:#1a1e26;--axis:#2c323e;--shadow:none;--shadow-lg:0 8px 24px -12px #000c;--glass:#1a1e26f0;--glass-blur:#161a2199;--glass-rim:#ffffff1a;--glass-rim-b:#00000059;--lens:#ffffff1a;--lens-held:#ffffff2b;--seg-bg:#1b1f28b3;--glass-sheen:#ffffff12}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d11;--surface:#14171e;--surface-2:#1b1f28;--surface-3:#232833;--ink:#fff;--ink-2:#9aa5b8;--ink-3:#626c7d;--line:#232833;--line-strong:#2c323e;--accent:#4c9aff;--accent-ink:#0b0d11;--accent-soft:#152238;--good:#3dbe8b;--good-bg:#10281f;--warn:#e8a33d;--warn-bg:#2a2113;--crit:#ff5a52;--crit-bg:#2a1614;--s-cash:#4c9aff;--s-card:#9b8afa;--s-labor:#3dbe8b;--s-cost:#e8a33d;--s-rest:#4c9aff;--s-muted:#3a414f;--grid:#1a1e26;--axis:#2c323e;--shadow:none;--shadow-lg:0 8px 24px -12px #000c;--glass:#1a1e26f0;--glass-blur:#161a2199;--glass-rim:#ffffff1a;--glass-rim-b:#00000059;--lens:#ffffff1a;--lens-held:#ffffff2b;--seg-bg:#1b1f28b3;--glass-sheen:#ffffff12}@supports (transition-timing-function:linear(0, 1)){:root{--spring-touch:linear(0,.0262,.091,.1779,.2751,.3743,.47,.5586,.6383,.7082,.7683,.8191,.8612,.8956,.9233,.9451,.9622,.9752,.9849,.9921,.9971,1.0006,1.0028,1.0041,1.0048,1.005,1.0049,1.0046,1.0042,1.0037,1.0032,1.0027,1.0022,1.0018,1.0015,1.0012,1);--spring-touch-ms:.211s;--spring-ui:linear(0,.0254,.0889,.175,.2721,.3721,.4692,.5597,.6416,.7136,.7757,.8281,.8715,.9068,.935,.957,.9738,.9864,.9955,1.0018,1.006,1.0085,1.0098,1.0102,1.01,1.0093,1.0085,1.0075,1.0065,1.0055,1.0046,1.0037,1.003,1.0023,1.0018,1.0013,1);--spring-ui-ms:.759s}}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none}body{color:var(--ink);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;touch-action:manipulation;margin:0;font-family:IBM Plex Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,system-ui,sans-serif;font-size:15px;line-height:1.5}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{background:var(--bg);max-width:430px;min-height:100dvh;margin:0 auto;position:relative}.topbar{z-index:30;background:var(--bg);padding:calc(14px + env(safe-area-inset-top)) var(--gutter) 10px;align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:8px;min-width:0;display:flex}.brand b{letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:700}.brand span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}main{padding:0 var(--gutter)}@keyframes slidein-l{0%{opacity:.55;transform:translate(34px)}to{opacity:1;transform:none}}@keyframes slidein-r{0%{opacity:.55;transform:translate(-34px)}to{opacity:1;transform:none}}main.slide-l{animation:.2s cubic-bezier(.32,.72,0,1) slidein-l}main.slide-r{animation:.2s cubic-bezier(.32,.72,0,1) slidein-r}.view{display:none}.view.on{display:block}.savechip{color:var(--ink-3);background:var(--surface-2);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;align-items:center;gap:6px;min-height:36px;margin-left:auto;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.savedot{background:var(--ink-3);border-radius:50%;flex:none;width:6px;height:6px}.savechip[data-s=saving]{background:var(--surface-2);color:var(--ink-2)}.savechip[data-s=saving] .savedot{background:var(--warn)}.savechip[data-s=saved]{background:var(--good-bg);color:var(--good)}.savechip[data-s=saved] .savedot{background:var(--good)}.savechip[data-s=local] .savedot{background:var(--warn)}.savechip[data-s=error]{background:var(--crit-bg);color:var(--crit)}.savechip[data-s=error] .savedot{background:var(--crit)}.savechip .num{font-size:11px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.card>h2{letter-spacing:.01em;color:var(--ink);margin:0 0 2px;font-size:13px;font-weight:600}.card>h2+.sub{color:var(--ink-3);margin:0 0 14px;font-size:12px;line-height:1.45}.cardhead{align-items:center;gap:10px;margin-bottom:10px;display:flex}.cardhead h2{min-width:0;color:var(--ink);flex:1;margin:0;font-size:13px;font-weight:600}.cardhead+.sub{color:var(--ink-3);margin:0 0 12px;font-size:12px}.eyebrow{color:var(--ink-2);font-size:12px;font-weight:600}.sechead{align-items:center;gap:8px;margin:20px 0 8px;display:flex}.sechead .t{color:var(--ink-2);font-size:12px;font-weight:600}.sechead .l{background:var(--line);flex:1;height:1px}.sechead .n{color:var(--ink-3);font-size:11px}.hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:12px;padding:16px 16px 14px}.hero .label{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.hero .big{letter-spacing:-.03em;font-size:clamp(30px,9.6vw,38px);font-weight:600;line-height:1.05;font-family:var(--font-num);font-variant-numeric:tabular-nums;margin:2px 0 14px}.hero .big.neg{color:var(--crit)}.fbig{letter-spacing:-.03em;font-size:clamp(24px,7.4vw,30px);font-weight:600;line-height:1.1;font-family:var(--font-num);font-variant-numeric:tabular-nums;margin-top:6px}.fbig.neg{color:var(--crit)}.heroSplit{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:12px;display:grid}.heroSplit.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.heroSplit .k{color:var(--ink-3);font-size:11px}.heroSplit .v{font-size:17px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums}.mixbar{border-radius:999px;gap:2px;height:8px;display:flex;overflow:hidden}.mixlegend{color:var(--ink-2);flex-wrap:wrap;gap:13px;margin-top:10px;font-size:11px;display:flex}.mixlegend span{align-items:center;gap:5px;display:flex}.mixlegend b{font-family:var(--font-num);color:var(--ink);font-weight:500}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);padding:12px 14px}.tile .k{color:var(--ink-2);align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:500;display:flex}.tile .v{overflow-wrap:anywhere;font-size:20px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:2px}.tile .n{color:var(--ink-3);overflow-wrap:anywhere;font-size:11px}.tile .n.ok{color:var(--good)}.tile.link{text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;display:block;position:relative}.tile.link:active{background:var(--surface-2)}.tile .k .chevt{color:var(--ink-3);flex:none;margin-left:auto}.swatch{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.titlebar{touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:flex-end;gap:10px;padding:2px 0 14px;display:flex}.mstep{background:var(--surface-2);border-radius:12px;flex:none;display:flex;overflow:hidden}.mstep button{width:44px;height:44px;color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;display:grid}.mstep button:active{background:var(--surface-3)}.mstep button+button{box-shadow:inset 1px 0 0 var(--line)}.titlebar .y{font-family:var(--font-num);color:var(--ink-3);font-size:12px;font-weight:500}.titlebar .m{letter-spacing:-.01em;font-size:28px;font-weight:700;line-height:1.1}.titlebar .sp{color:var(--ink-3);margin-left:auto;font-size:12px}.monthbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.monthbar .lbl{letter-spacing:-.01em;font-size:22px;font-weight:700}.monthbar .sp{color:var(--ink-3);text-align:right;margin-left:auto;font-size:12px}.monthbar .sp b{color:var(--ink);font-size:20px;font-weight:600;font-family:var(--font-num);display:block}.mb.today{width:auto;color:var(--accent);background:var(--accent-soft);padding:0 14px;font-size:13px;font-weight:600}.seg{background:var(--seg-bg);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;padding:3px;transition:box-shadow .22s;display:flex;position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.seg{-webkit-backdrop-filter:blur(14px)saturate(170%);backdrop-filter:blur(14px)saturate(170%)}}.seg.held{box-shadow:0 3px 12px -3px #10182833}.seglens{z-index:0;background:var(--lens);transform-origin:50%;box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 1px 4px -1px #1018282e;transition:transform var(--spring-touch-ms) var(--spring-touch), background-color .2s ease, box-shadow .2s ease;border-radius:9px;position:absolute;top:3px;bottom:3px;left:0}.seglens.held{background:var(--lens-held);box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 3px 10px -2px #10182842}.seg button{z-index:1;min-height:38px;color:var(--ink-3);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:12px;font-weight:500;transition:color .2s;position:relative}.seg button.on{color:var(--ink);font-weight:600}.seg.wide{width:100%}.seg.wide button{flex:1;justify-content:center;align-items:center;gap:6px;height:40px;padding:0;display:flex}.seg.menuseg .seglens{display:none}.seg.menuseg button[aria-pressed=true]{background:var(--lens);color:var(--ink);box-shadow:var(--shadow);font-weight:600}@media (prefers-reduced-motion:reduce){.seglens,.seg{transition:none}}.field{margin-bottom:12px;display:block}.field .lbl{color:var(--ink-2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.inp{background:var(--surface-2);width:100%;min-width:0;color:var(--ink);border:1px solid #0000;border-radius:12px;min-height:46px;padding:12px 13px;font-size:16px}.inp:focus{border-color:var(--accent);background:var(--surface)}.inp.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.inp:disabled{opacity:.5}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.row3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.row3 .inp{padding:11px 9px;font-size:15px}.hint{color:var(--ink-3);margin-top:6px;font-size:12px;line-height:1.45}.hint b{color:var(--ink);font-weight:600}.btn{background:var(--surface-2);cursor:pointer;min-height:44px;color:var(--ink-2);border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.btn:active{opacity:.75}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{border:1px solid var(--line-strong);background:0 0}.btn.danger{color:var(--crit);background:var(--crit-bg)}.btn.wide{width:100%}.btn.sm{border-radius:11px;min-height:40px;padding:0 14px;font-size:13px}.btnrow{flex-wrap:wrap;gap:8px;display:flex}.todo{margin-bottom:14px}.chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.chiplbl{color:var(--ink-3);flex:none;font-size:12px;font-weight:500}.chip{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-chip);min-height:36px;color:var(--ink-2);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:0 13px;font-size:12px;font-weight:500;display:inline-flex}.chip:active{background:var(--surface-2)}.btn.chip{background:var(--surface-2);min-height:44px;color:var(--ink-2);border:0;font-size:15px}.btn.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.mb{background:var(--surface-2);cursor:pointer;width:44px;height:44px;color:var(--ink-2);-webkit-tap-highlight-color:transparent;border:0;border-radius:13px;flex:none;place-items:center;display:grid}.mb:active{background:var(--surface-3)}.lrow{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.lrow:last-child{border-bottom:0}.lrow .g{flex:1;min-width:0}.lrow .t{font-size:15px;font-weight:500}.lrow .s{color:var(--ink-3);font-size:12px}.lrow .a{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600}.total{border-top:1px solid var(--line-strong);margin-top:4px}.total .a{font-size:20px}.neg{color:var(--crit)}.muted{color:var(--ink-3)}.sec{margin-top:18px}.setrow{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:12px;min-height:56px;padding:13px 0;display:flex}.setrow:last-of-type{border-bottom:0}.setrow:active{opacity:.7}.setrow .g{flex:1;min-width:0;display:block}.setrow .t{font-size:15px;font-weight:500;display:block}.setrow .s{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.chevi{color:var(--ink-3);flex:none}.tw{-webkit-overflow-scrolling:touch;margin:0 -2px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:9px 8px}th{letter-spacing:.02em;color:var(--ink-3);text-align:right;font-size:11px;font-weight:600}th:first-child,td:first-child{text-align:left;padding-left:2px}td.n{font-family:var(--font-num);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}tfoot td{border-top:1px solid var(--line-strong);color:var(--ink-2);border-bottom:0;font-weight:600}.tr-link{cursor:pointer}.tr-link:active td{background:var(--surface-2)}.empty{text-align:center;color:var(--ink-3);padding:26px 12px;font-size:13px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.legend{color:var(--ink-2);flex-wrap:wrap;gap:11px;margin:10px 0 2px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.xaxis{font-family:var(--font-num);color:var(--ink-3);justify-content:space-between;margin-top:3px;font-size:11px;display:flex}.tip{pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);opacity:0;border-radius:10px;min-width:124px;padding:8px 10px;font-size:12px;transition:opacity .1s;position:absolute}.tip.on{opacity:1}.tip .d{margin-bottom:5px;font-size:12px;font-weight:600}.tip .r{align-items:center;gap:10px;display:flex}.tip .r span:last-child{font-family:var(--font-num);font-variant-numeric:tabular-nums;margin-left:auto}.cal-head{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:5px;display:grid}.cal-head span{text-align:center;color:var(--ink-3);font-size:11px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{background:var(--surface-2);cursor:pointer;text-align:left;min-height:54px;font:inherit;color:inherit;border:0;border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:5px 4px 6px;display:flex;position:relative;overflow:hidden}.cal-cell.blank{pointer-events:none;background:0 0}.cal-cell .cd{color:var(--ink-3);font-size:11px;font-family:var(--font-num);line-height:1.2}.cal-cell .cv{font-size:11px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;word-break:break-all;line-height:1.25}.cal-cell .cv.neg{color:var(--crit)}.cal-cell .cb{border-radius:2px;gap:1px;height:3px;margin-top:auto;display:flex;overflow:hidden}.cal-cell .cb i{border-radius:2px;height:100%;display:block}.cal-cell.has{background:var(--surface);border:1px solid var(--line)}.cal-cell.sel{box-shadow:0 0 0 2px var(--accent) inset}.cal-cell:not(.has) .cd{opacity:.6}.caldetail{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.cdhead{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:baseline;gap:10px;margin-bottom:6px;padding:6px 0;display:flex}.cdhead:active{opacity:.6}.cdhead .chevi{color:var(--ink-3);flex:none;align-self:center}.cdhead b{font-size:15px}.cdhead .num{margin-left:auto;font-size:20px;font-weight:600}.cdhead .num.neg{color:var(--crit)}nav.tabs{z-index:40;padding:0 12px max(10px,env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs .glass{pointer-events:auto;background:var(--glass);width:100%;max-width:406px;box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 -1px 0 0 var(--glass-rim-b) inset, 0 10px 30px -8px #10182838, 0 2px 8px -2px #1018281f;border-radius:26px;position:relative;overflow:hidden}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){nav.tabs .glass{-webkit-backdrop-filter:blur(30px)saturate(190%);backdrop-filter:blur(30px)saturate(190%);background:var(--glass-blur)}}nav.tabs .glass:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(180deg, var(--glass-sheen) 0%, transparent 42%);position:absolute;inset:0}nav.tabs .in{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:grid;position:relative}nav.tabs .lens{z-index:0;background:var(--lens);transform-origin:50%;box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 1px 6px -1px #1018282e;transition:transform var(--spring-touch-ms) var(--spring-touch), box-shadow .2s ease, background-color .2s ease, top .2s ease, bottom .2s ease;border-radius:19px;position:absolute;top:5px;bottom:5px;left:0}nav.tabs .lens.held{background:var(--lens-held);box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 4px 14px -2px #10182847;top:3px;bottom:3px}nav.tabs .glass{transition:box-shadow .22s,transform .22s}nav.tabs .glass.held{box-shadow:0 1px 0 0 var(--glass-rim) inset, 0 -1px 0 0 var(--glass-rim-b) inset, 0 16px 40px -10px #1018284d, 0 3px 10px -2px #10182829;transform:translateY(-1px)}nav.tabs button{z-index:1;height:54px;color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;transition:color .2s;display:flex;position:relative}nav.tabs button svg{width:22px;height:22px;transition:transform var(--spring-touch-ms) var(--spring-touch)}nav.tabs button.on{color:var(--accent);font-weight:600}nav.tabs button.on svg{transform:translateY(-1px)scale(1.06)}nav.tabs button:active svg{transform:scale(.92)}@media (prefers-reduced-motion:reduce){nav.tabs .lens,nav.tabs button svg,nav.tabs .glass{transition:none}nav.tabs .glass.held{transform:none}}.app{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.pill{border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.pill.ok{color:var(--good);background:var(--good-bg)}.pill.bad{color:var(--crit);background:var(--crit-bg)}.pill.warn{color:var(--warn);background:var(--surface-2)}.notice{border-radius:var(--r-tile);background:var(--surface-2);color:var(--ink-2);border:0;align-items:flex-start;gap:11px;margin-bottom:12px;padding:13px 14px;font-size:12px;line-height:1.6;display:flex}.notice .ic{background:var(--surface);width:22px;height:22px;color:var(--warn);border-radius:999px;flex:none;place-items:center;margin-top:-1px;display:grid}.notice .ic svg{width:14px;height:14px}.notice .g{flex:1;min-width:0}.notice .t{color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:600;display:block}.notice b{color:var(--ink);font-weight:600}.notice.bad{background:var(--crit-bg)}.notice.bad .ic,.notice.bad .t{color:var(--crit)}.hintlist{color:var(--ink-2);flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:12px;line-height:1.6;list-style:none;display:flex}.hintlist li{padding-left:14px;position:relative}.hintlist li:before{content:"";opacity:.45;background:currentColor;border-radius:999px;width:5px;height:5px;position:absolute;top:.62em;left:2px}.hintlist li.strong{color:var(--ink);font-weight:600}.hintlist li.strong:before{opacity:1;background:var(--warn)}.divider{background:var(--line);height:1px;margin:16px -16px}.toast{z-index:60;background:var(--ink);width:max-content;max-width:calc(100vw - 32px);color:var(--surface);opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);border-radius:14px;align-items:center;gap:12px;padding:11px 14px 11px 16px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast.on{opacity:1;transform:translate(-50%)translateY(-4px)}.toast.act{pointer-events:auto}.toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast .undo{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:4px 6px;font-size:13px;font-weight:700}.iconbtn{cursor:pointer;width:42px;height:42px;color:var(--ink-3);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.iconbtn:active{color:var(--crit);background:var(--crit-bg)}.flash{animation:1.8s flashcard}@keyframes flashcard{0%,12%{box-shadow:0 0 0 2px var(--accent)}to{box-shadow:var(--shadow)}}@media (prefers-reduced-motion:reduce){.flash{box-shadow:0 0 0 2px var(--accent);animation:none}}.numwrap{min-width:0;display:block;position:relative}.numwrap .inp{padding-right:34px}.numwrap .clr{background:var(--surface-3);width:24px;height:24px;color:var(--ink-3);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:13px;line-height:1;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.numwrap .clr:active{background:var(--line-strong)}.numwrap .clr:before{content:"";position:absolute;inset:-10px}.inp.big{min-height:56px;padding:14px 13px;font-size:22px;font-weight:600}.numwrap .inp.big{padding-right:40px}.datebar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.datebar,.monthbar{touch-action:pan-y;-webkit-user-select:none;user-select:none}.datebar .mid{text-align:center;flex-direction:column;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.todaybtn{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-chip);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;min-height:34px;padding:0 14px;font-size:12px;font-weight:600}.todaybtn:active{opacity:.7}.datebar .mid .d{letter-spacing:-.01em;font-size:20px;font-weight:700}.datebar .mid .s{color:var(--ink-3);font-size:11px;font-family:var(--font-num);margin-top:-2px}.datebar input[type=date]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.datebar .pick{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;padding:0}.steps{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px;display:grid}.steps button{cursor:pointer;color:var(--ink-3);text-align:center;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;gap:6px;min-height:44px;padding:0 0 14px;font-size:11px;font-weight:500;display:flex}.steps button i{background:var(--line-strong);border-radius:2px;width:100%;height:3px;display:block}.steps button.done i{background:var(--accent)}.steps button.done{color:var(--ink-2)}.steps button[aria-current=step]{color:var(--accent);font-weight:600}.steps button[aria-current=step] i{background:var(--accent)}.stephead{align-items:baseline;gap:9px;margin:20px 0 12px;display:flex}.stephead h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.stephead .n{color:var(--ink-3);font-size:12px}.daysum{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:2px;padding:11px 14px;display:grid}.daysum .k{color:var(--ink-3);font-size:11px;font-weight:500}.daysum .v{font-size:16px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums}.wizfoot{left:0;right:0;bottom:var(--dock);z-index:35;width:100%;max-width:430px;padding:10px var(--gutter) 12px;background:var(--bg);border-top:1px solid var(--line);gap:9px;margin:0 auto;display:flex;position:fixed}.wizfoot .btn{border-radius:var(--r-btn);min-height:52px;font-size:15px}.wizfoot .btn.primary{flex:1}.wizfoot .btn.back{flex:none;width:88px}.wizspacer{height:88px}.chipgrid{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.cchip{font:inherit;color:var(--ink-2);background:var(--surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;align-items:center;gap:6px;height:44px;padding:0 16px;font-size:15px;font-weight:500;display:inline-flex}.cchip.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.cchip:active{opacity:.8}.wrow{text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);cursor:pointer;box-shadow:var(--shadow);align-items:center;gap:12px;min-height:64px;margin-bottom:9px;padding:12px 14px;display:flex}.wrow:active{background:var(--surface-2)}.wrow.alert{border-color:var(--crit)}.wrow .g{flex:1;min-width:0}.wrow .t{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.wrow .s{color:var(--ink-3);font-size:12px;font-family:var(--font-num);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wrow .s.jp{font-family:inherit}.wrow .s.warn{color:var(--crit);font-family:inherit;font-weight:500}.wrow .r{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:1px;display:flex}.wrow .a{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;line-height:1.25;display:block}.wrow .n{font-size:12px;font-weight:500;line-height:1.3;display:block}.wrow .n.ok{color:var(--good)}.wrow .n.due{color:var(--warn)}.avatar{background:var(--surface-2);width:38px;height:38px;color:var(--ink-2);border-radius:999px;flex:none;place-items:center;font-size:15px;font-weight:600;display:grid}.sheetwrap{z-index:80;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:430px;max-height:90dvh;display:flex;box-shadow:0 -8px 30px #0000004d}.sheethead{align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.sheethead b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.sheetbody{-webkit-overflow-scrolling:touch;padding:4px 16px 8px;overflow-y:auto}.sheetfoot{padding:12px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;display:flex}.sheetfoot .sum{color:var(--ink-3);flex:1;font-size:12px;line-height:1.4}.sheetfoot .sum b{font-size:20px;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;display:block}.quick{flex-wrap:wrap;gap:7px;margin:2px 0 12px;display:flex}.quick .btn{border-radius:11px;min-height:40px;padding:0 13px;font-size:12px}.backrow{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.backrow:last-child{border-bottom:0}.backrow .bn{font-size:13px;font-weight:500;line-height:1.3}.backrow .br{color:var(--ink-3);font-size:11px}.backrow .ctl{flex:none;align-items:center;gap:9px;margin-left:auto;display:flex}.backrow .sum{color:var(--ink-3);font-size:12px;font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:54px}.stepper{background:var(--surface-2);border-radius:11px;align-items:center;display:flex;overflow:hidden}.stepper button{cursor:pointer;width:38px;height:44px;color:var(--ink-2);background:0 0;border:0;font-size:17px;font-weight:500}.stepper button:active{background:var(--surface-3)}.stepper input{text-align:center;width:42px;height:44px;font-size:15px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums;background:0 0;border:0}.itemcard{background:var(--surface-2);border-radius:var(--r-tile);margin-bottom:9px;padding:12px}.owe{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);box-shadow:var(--shadow);align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px 10px 14px;display:flex}.owe .g{flex:1;min-width:0}.owe .t{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.owe .a{font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:none;font-size:16px;font-weight:600}.payrow{align-items:center;gap:9px;margin:-4px 0 12px;padding:0 2px;display:flex}.payrow .lbl{color:var(--ink-2);flex:none;font-size:12px;font-weight:500}.payrow .numwrap{flex:1;min-width:0}.filebtn{position:relative;overflow:hidden}.filebtn input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.snap{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;font-size:12px;display:flex}.snap:last-child{border-bottom:0}.snap .g{flex:1;min-width:0}.snap .s{color:var(--ink-3);font-size:11px}.stack>*+*{margin-top:8px}.timefield{background:var(--surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;width:100%;min-width:0;min-height:46px;padding:0 13px;display:flex;position:relative}.timefield:active{background:var(--surface-3)}.timefield:focus-within{border-color:var(--accent);background:var(--surface)}.timefield .tv{letter-spacing:.02em;min-width:0;color:var(--ink);flex:1;font-size:17px;font-weight:600}.timefield .tv.ph{color:var(--ink-3);font-weight:500}.timefield .ti{color:var(--ink-3);flex:none}.timefield input{opacity:0;cursor:pointer;appearance:none;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.steprow{align-items:center;gap:11px;padding:9px 0;display:flex}.steprow .g{flex:1;min-width:0}.steprow .t{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.steprow .s{color:var(--ink-3);font-size:12px}.stepno{background:var(--surface-2);width:24px;height:24px;color:var(--ink-3);font-size:12px;font-weight:700;font-family:var(--font-num);border-radius:999px;flex:none;place-items:center;display:grid}.stepno.now{background:var(--accent);color:var(--accent-ink)}.stepno.done{background:var(--good-bg);color:var(--good)}.help{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.help summary{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;min-height:32px;font-size:12px;font-weight:500;list-style:none;display:flex}.help summary::-webkit-details-marker{display:none}.help summary:before{content:"？";background:var(--surface-2);width:18px;height:18px;color:var(--ink-3);border-radius:999px;flex:none;place-items:center;font-size:11px;display:grid}.help[open] summary{margin-bottom:4px}.help ul{color:var(--ink-3);margin:0;padding-left:18px;font-size:12px;line-height:1.6}.help li+li{margin-top:4px}.cal-cell.shiftcell{justify-content:center;align-items:center;gap:3px;min-height:48px;padding:4px}.cal-cell.shiftcell .cd{color:var(--ink-2);font-size:12px;font-weight:500}.cal-cell.shiftcell .cn{color:var(--ink-3);font-size:11px;font-weight:600}.cal-cell.shiftcell.planned{box-shadow:inset 0 0 0 1.5px var(--accent);background:0 0}.cal-cell.shiftcell.planned .cd{color:var(--accent)}.cal-cell.shiftcell.worked{background:var(--accent)}.cal-cell.shiftcell.worked .cd,.cal-cell.shiftcell.worked .cn{color:var(--accent-ink)}.cal-cell.shiftcell.today .cd{text-underline-offset:3px;text-decoration:underline}.cal-cell.shiftcell.sel{box-shadow:0 0 0 2px var(--accent)}.cchip.add{box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--ink-3);background:0 0;font-weight:500}.cchip.add:active{background:var(--surface-2)}.addcast{background:var(--surface-2);border-radius:var(--r-tile);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px;display:flex}.addcast .inp{flex:1;min-width:96px}.addcast .btn{flex:none}.addcast .hint{flex-basis:100%;margin:0}.planrow{border-bottom:1px solid var(--line)}.planrow:last-child{border-bottom:0}.planrow>.lrow{border-bottom:0;width:100%}.planrow.open{background:var(--surface-2);border-radius:var(--r-tile);margin:2px -10px;padding:0 10px}.planrow .timepill{background:var(--surface-2);border-radius:var(--r-chip);color:var(--ink);flex:none;padding:5px 11px;font-size:13px;font-weight:600}.planrow.open .timepill{background:var(--surface);color:var(--accent)}.planrow .chevi{color:var(--ink-3);flex:none;transition:transform .15s}.planrow .chevi.up{transform:rotate(180deg)}.planedit{padding:2px 0 12px}.planedit .quick{gap:6px;margin:4px 0 12px}.planedit .quick .btn{min-height:40px;font-size:12px;font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;border-radius:11px;padding:0 8px}.planedit .quick .btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.tstep{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tstep .k{width:34px;color:var(--ink-2);flex:none;font-size:12px;font-weight:500}.tstep .sbtn{background:var(--surface-3);color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;border:0;border-radius:11px;flex:none;min-height:44px;padding:0 11px;font-size:12px;font-weight:600}.tstep .sbtn:active{opacity:.7}.tstep .timefield{flex:1;justify-content:center;min-width:0}.tstep .timefield .tv{text-align:center;flex:none}.cal-cell.shiftcell{gap:2px;min-height:54px}.cal-cell.shiftcell .cwho{color:var(--ink-2);white-space:nowrap;justify-content:center;align-items:baseline;gap:1px;max-width:100%;font-size:11px;font-weight:600;line-height:1.15;display:flex;overflow:hidden}.cal-cell.shiftcell .cwho i{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:500}.cal-cell.shiftcell.planned .cwho,.cal-cell.shiftcell.planned .cwho i{color:var(--accent)}.cal-cell.shiftcell.worked .cwho,.cal-cell.shiftcell.worked .cwho i{color:var(--accent-ink);opacity:.9}.rankrow{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:9px 0;display:flex}.rankrow:last-child{border-bottom:0}.rankrow .rk{background:var(--surface-2);width:24px;height:24px;color:var(--ink-3);font-size:12px;font-weight:700;font-family:var(--font-num);border-radius:8px;flex:none;place-items:center;display:grid}.rankrow .g{flex:1;min-width:0}.rankrow .t{align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:500;display:flex}.rankrow .t .tag{color:var(--ink-3);background:var(--surface-2);border-radius:5px;flex:none;padding:1px 5px;font-size:11px;font-weight:600}.rankrow .t .tag.me{color:var(--accent);background:var(--accent-soft)}.rankrow .bar{background:var(--surface-2);border-radius:2px;height:4px;margin-top:5px;display:block;overflow:hidden}.rankrow .bar i{background:var(--accent);border-radius:2px;height:100%;display:block}.rankrow .a{flex:none;font-size:15px;font-weight:600}.sheet.welcome{border-radius:20px;max-width:390px;max-height:92dvh;margin:0 12px 12px}.sheet.welcome .sheetbody{padding:26px 22px max(26px,env(safe-area-inset-bottom))}.wmark{background:var(--accent-soft);border-radius:24px;place-items:center;width:82px;height:82px;margin:8px auto 18px;display:grid}.wtitle{text-align:center;letter-spacing:.01em;margin:0;font-size:28px;font-weight:700}.wsub{text-align:center;color:var(--ink-2);margin:6px 0 0;font-size:13px}.whint{color:var(--ink-3);text-align:center;margin:8px 2px 0;font-size:12px;line-height:1.55}.iconbtn.gear,.iconbtn.back{width:42px;height:42px;color:var(--ink-2);background:var(--surface-2);border-radius:12px;flex:none}.iconbtn.gear:active,.iconbtn.back:active{color:var(--ink);background:var(--surface-3)}.iconbtn.gear svg,.iconbtn.back svg{width:20px;height:20px}.topbar .savechip{margin-left:auto}.app.setpage{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.pie .pielabel text{fill:#fff;paint-order:stroke;stroke:#0000006b;stroke-width:2.6px;stroke-linejoin:round;pointer-events:none}.pie svg{width:168px;height:168px}.qrbox{background:#fff;border-radius:16px;place-items:center;margin-bottom:12px;padding:14px;display:grid}.qrbox img{width:100%;max-width:240px;height:auto;image-rendering:pixelated;display:block}.qrmeta{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.qrmeta .t{font-size:15px;font-weight:600}.qrmeta .s{color:var(--ink-2);margin-left:auto;font-size:13px;font-weight:600}.seatgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;display:grid}.seat{text-align:left;border-radius:var(--r-tile);cursor:pointer;border:1.5px solid var(--line);background:var(--surface-2);min-height:78px;color:inherit;font:inherit;align-items:stretch;gap:8px;padding:10px 12px;display:flex}.seat .seatL{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.seat b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.seat span{color:var(--ink-3);font-size:12px}.seat em{white-space:nowrap;font-size:13px;font-style:normal;font-weight:600;font-family:var(--font-num);margin-top:auto}.seat .seatR{border-left:1px solid var(--line);flex-direction:column;flex:none;justify-content:center;align-items:flex-end;padding-left:12px;display:flex}.seat .seatR strong{letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1;font-family:var(--font-num)}.seat .seatR span{margin-top:2px;font-size:11px}.seat .seatR .till{white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font-num)}.seat.empty{border-style:dashed;border-color:var(--line);background:0 0;min-height:56px}.seat.empty .seatL{flex-direction:row;align-items:baseline;gap:10px}.seat.empty b{color:var(--ink-3);font-weight:500}.seat.empty span{color:var(--ink-3)}.seat.busy{background:var(--surface)}.seat.ok{border-color:var(--accent)}.seat.ok .seatR strong{color:var(--accent)}.seat.ok .seatR{border-left-color:var(--accent)}.seat.soon{border-color:var(--warn);background:var(--warn-bg)}.seat.soon b,.seat.soon em,.seat.soon .seatR strong,.seat.soon .seatR .till,.seat.soon span{color:var(--warn)}.seat.soon .seatR{border-left-color:var(--warn)}.seat.over{border-color:var(--crit);background:var(--crit-bg)}.seat.over b,.seat.over em,.seat.over .seatR strong,.seat.over .seatR .till,.seat.over span{color:var(--crit)}.seat.over .seatR{border-left-color:var(--crit)}.seat:active{transform:scale(.985)}.pricerow{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.pricerow .btn{min-height:46px;padding:0 16px}.pricerow .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.pricechip{align-items:center;gap:4px;display:inline-flex}.pricechip .numwrap{width:110px}.guestgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.guestgrid .btn{min-height:52px;font-size:15px}.checkview{padding-bottom:130px}.timecard.soon{border-color:var(--warn)}.timecard.over{border-color:var(--crit)}.menuseg{-webkit-overflow-scrolling:touch;margin-bottom:10px;overflow-x:auto}.menuseg button{white-space:nowrap}.menugrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.menubtn{border-radius:var(--r-tile);cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-2);min-height:62px;color:inherit;font:inherit;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 6px;display:flex}.menubtn b{text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:12px;font-weight:600;line-height:1.25}.menubtn span{color:var(--ink-3);font-size:11px;font-family:var(--font-num)}.menubtn.cast{border-color:var(--accent)}.menubtn:active{transform:scale(.97)}.chipgrid{flex-wrap:wrap;gap:8px;display:flex}.chipgrid .chip{min-height:46px}.paybar{left:0;right:0;bottom:var(--dock);z-index:5;padding:10px var(--gutter);background:var(--surface);border-top:1px solid var(--line-strong);align-items:center;gap:12px;display:flex;position:fixed}.paybar>span{color:var(--ink-2);flex:1;font-size:13px}.paybar b{color:var(--ink);font-size:20px;font-weight:600;font-family:var(--font-num);margin-left:6px}.paybar .btn{min-width:120px}.paybar .btn.show{white-space:nowrap;min-width:0;padding:0 12px;font-size:13px}.paybarspacer{height:76px}.cashrow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.cashrow .btn{padding:0 6px;font-size:12px}.cashrow .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.paygrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.paygrid .btn{min-height:54px;font-size:15px}.card.flat{box-shadow:none;background:var(--surface-2);margin-bottom:12px;padding:12px}.lrow.total.warn .a{color:var(--crit)}button.lrow{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}button.lrow:last-child{border-bottom:0}button.lrow:active{background:var(--surface-2)}.timebig{align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.timebig>div{min-width:0}.timebig .k{color:var(--ink-2);font-size:12px;font-weight:500}.timebig b{letter-spacing:-.01em;font-size:34px;font-weight:600;line-height:1.05;font-family:var(--font-num);display:block}.timebig .timeend{text-align:right;margin-left:auto}.timebig .timeend b{color:var(--ink-2);font-size:22px}.timecard.soon .timebig b{color:var(--warn)}.timecard.over .timebig b{color:var(--crit)}.posbadge{vertical-align:middle;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:4px 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.posbadge.auto{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.posbadge.manual{background:var(--surface-2);color:var(--ink-2);border-color:var(--line-strong);cursor:pointer;font:inherit;min-height:26px;font-size:11px;font-weight:600}button.posbadge.manual:active{background:var(--surface)}.cchip .chiptime{opacity:.75;font-size:11px;font-weight:500;font-family:var(--font-num);margin-top:1px;display:block}.linepreview{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border-radius:var(--r-tile);font-family:var(--font-num);color:var(--ink-2);margin:0 0 12px;padding:12px 14px;font-size:12px;line-height:1.7}.lrow.voided .t,.lrow.voided .a{color:var(--ink-3);text-decoration:line-through}.lrow.voided .s{color:var(--crit)}.checklog{margin:0;padding:0;list-style:none}.checklog li{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;padding:7px 0;font-size:12px;display:flex}.checklog li:last-child{border-bottom:0}.checklog .at{color:var(--ink-3);font-family:var(--font-num);flex:none;font-size:11px}.checklog .act{flex:none;font-weight:600}.checklog .detail{min-width:0;color:var(--ink-2);overflow-wrap:anywhere;flex:1}.checklog .by{color:var(--ink-3);flex:none;margin-left:auto;font-size:11px}.pinwrap{place-items:center;padding:40px 0;display:grid}.pinbox{text-align:center;width:100%;max-width:300px}.pinbox>b{font-size:16px;font-weight:600}.pindots{justify-content:center;gap:12px;margin:20px 0 8px;display:flex}.pindots span{background:var(--surface-2);border:1.5px solid var(--line-strong);border-radius:999px;width:13px;height:13px}.pindots span.on{background:var(--accent);border-color:var(--accent)}.pindots.err span{border-color:var(--crit)}.pingrid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;display:grid}.pingrid .btn{min-height:58px;font-size:20px;font-weight:600}.hint.neg{color:var(--crit)}.btn.line{color:#fff;background:#06c755;border-color:#06c755;font-weight:600}.btn.line:active{opacity:.85}.ordiv{color:var(--ink-3);align-items:center;gap:10px;margin:16px 0 6px;font-size:12px;display:flex}.ordiv:before,.ordiv:after{content:"";background:var(--line);flex:1;height:1px}.billwrap{z-index:120;background:var(--bg);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0;overflow-y:auto}.bill{width:100%;max-width:520px;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));flex-direction:column;display:flex}.billhead{text-align:center;border-bottom:2px solid var(--line-strong);padding:10px 0 16px}.billhead .shop{color:var(--ink-3);letter-spacing:.04em;font-size:13px}.billhead h1{letter-spacing:.1em;margin:4px 0 6px;font-size:22px;font-weight:700}.billhead .meta{color:var(--ink-2);font-size:13px}.billbody{padding:6px 0}.billrow{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:13px 2px;display:flex}.billrow .n{flex:1;min-width:0;font-size:17px;font-weight:500;line-height:1.35}.billrow .q{color:var(--ink-3);font-size:13px;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:none}.billrow .a{text-align:right;min-width:96px;font-size:20px;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:none}.billrow .a.neg{color:var(--good)}.billtotal{border-top:2px solid var(--line-strong);align-items:baseline;gap:12px;margin-top:14px;padding:16px 2px;display:flex}.billtotal span{flex:1;font-size:20px;font-weight:600}.billtotal b{letter-spacing:-.02em;font-size:34px;font-weight:700;font-family:var(--font-num);font-variant-numeric:tabular-nums}.billnote{color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-tile);padding:12px 14px;font-size:13px;line-height:1.6}.billnote b{color:var(--ink);margin-top:4px;font-size:16px;display:block}.billclose{min-height:52px;margin-top:auto;margin-bottom:0;font-size:16px}.receipt{color:#14171e;border:1px solid var(--line-strong);border-radius:var(--r-tile);background:#fff;margin-top:14px;padding:18px 16px}.receipt .rhead{text-align:center;padding-bottom:10px;position:relative}.receipt .rhead h1{letter-spacing:.22em;margin:0 0 8px;font-size:22px;font-weight:700}.receipt .rno{color:#5c6779;font-size:11px;position:absolute;top:2px;left:0}.receipt .rdate{color:#5c6779;font-size:11px;position:absolute;top:2px;right:0}.receipt .rto{align-items:flex-end;gap:6px;margin:6px 0 14px;display:flex}.receipt .rto .v{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #14171e;flex:1;min-width:0;padding:0 4px 3px;font-size:16px;overflow:hidden}.receipt .rto .sama{flex:none;font-size:13px}.receipt .ramt{border:1px solid #14171e;border-radius:6px;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.receipt .ramt span{flex:none;font-size:13px}.receipt .ramt b{text-align:right;font-size:28px;font-weight:700;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:1}.receipt .rpurpose{margin:12px 0 4px;font-size:13px;line-height:1.8}.receipt .rpurpose u{text-underline-offset:3px}.receipt .rtax{color:#5c6779;margin-bottom:14px;font-size:12px}.receipt .rtax .note{margin-top:3px;font-size:11px;line-height:1.5;display:block}.receipt .rshop{border-top:1px solid var(--line);text-align:right;padding-top:10px}.receipt .rshop .nm{font-size:13px;font-weight:600}.receipt .rshop .ad{color:#5c6779;margin-top:2px;font-size:11px}.receipt .rdetail{border-top:1px dashed var(--line-strong);margin-top:14px;padding-top:10px}.receipt .rdetail .dh{color:#5c6779;margin-bottom:5px;font-size:11px}.receipt .drow{gap:10px;padding:3px 0;font-size:12px;display:flex}.receipt .drow span{flex:1;min-width:0}.receipt .drow b{font-weight:500;font-family:var(--font-num);font-variant-numeric:tabular-nums;flex:none}.receipt .drow.tot{border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-weight:600}.receipt .rstamp{color:#8a93a3;border:1px dashed #8a93a3;border-radius:4px;justify-content:center;align-items:center;width:78px;height:78px;margin-top:12px;font-size:11px;display:flex}.warnhint{color:var(--warn)}.printarea{display:none}@media print{body{background:#fff}#root{display:none!important}.printarea{display:block}.printarea .receipt{page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0;border-radius:0;max-width:110mm;margin:0;padding:0}}.card.setgrp{padding:0;overflow:hidden}.setgrphead{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:12px;padding:14px 16px;display:flex}.setgrphead:active{background:var(--surface-2)}.setgrphead .g{flex:1;min-width:0}.setgrphead .t{font-size:15px;font-weight:600;line-height:1.35;display:block}.setgrphead .s{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.45;display:block;overflow:hidden}.setgrphead .a{color:var(--ink-3);flex:none;font-size:12px;font-weight:600}.setgrpbody{border-top:1px solid var(--line);padding:0 16px 16px}.setgrpbody>.card{box-shadow:none;background:var(--surface-2);border-color:#0000;margin-top:14px}.setsearch{margin-bottom:12px}.setsearchbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);box-shadow:var(--shadow);align-items:center;gap:9px;padding:0 12px;display:flex;position:relative}.setsearchbox svg{color:var(--ink-3);flex:none}.setsearchbox:focus-within{border-color:var(--accent)}.setsearchbox .inp{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;min-height:48px;padding:0;font-size:15px}.setsearchbox .inp:focus{outline:none}.setsearchbox .inp::-webkit-search-cancel-button{display:none}.setsearchbox .clr{background:var(--surface-3);width:24px;height:24px;color:var(--ink-3);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:13px;line-height:1;display:grid}.setsearchres{margin-top:10px;padding:0 16px}.setsearchres .lrow{width:100%}.setsearchres .lrow:last-child{border-bottom:0}.setsearchres .a.grp{color:var(--ink-3);flex:none;align-items:center;gap:3px;font-size:12px;font-weight:500;display:flex}:root{--spring:cubic-bezier(.34,1.36,.36,1);--ease:cubic-bezier(.32,.72,0,1)}.btn,.cchip,.chip,.tile.link,.setrow,.menubtn,.mb,.todaybtn{transition:transform .16s var(--ease), background-color .16s var(--ease), opacity .16s var(--ease)}.btn:active,.cchip:active,.chip:active,.tile.link:active,.setrow:active,.menubtn:active,.mb:active,.todaybtn:active{transform:scale(.97)}.btn.wide:active,.paygrid .btn:active{transform:scale(.985)}.sheet{animation:sheetin .34s var(--spring)}@keyframes sheetin{0%{transform:translateY(40px)}to{transform:none}}.sheetwrap{animation:fadein .2s var(--ease)}@keyframes fadein{0%{opacity:0}to{opacity:1}}.planedit{animation:openin .26s var(--ease)}@keyframes openin{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hero .big,.tile .v,.daysum .v{transition:color .3s var(--ease)}@media (prefers-reduced-motion:reduce){.btn:active,.cchip:active,.chip:active,.tile.link:active,.setrow:active,.menubtn:active,.mb:active,.todaybtn:active{transform:none}.sheet,.sheetwrap,.planedit{animation:none}}.setupcard .pill.warn{flex:none}.setupbar{background:var(--surface-3);border-radius:2px;height:4px;margin:2px 0 6px;overflow:hidden}.setupbar i{background:var(--accent);height:100%;transition:width .3s var(--ease);border-radius:2px;display:block}.setuprow{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:11px 0;display:flex}.setuprow:last-of-type{border-bottom:0}.setuprow .g{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.setuprow .g:active{opacity:.6}.setuprow .t{font-size:15px;font-weight:600;line-height:1.35;display:block}.setuprow .s{color:var(--ink-3);margin-top:1px;font-size:12px;line-height:1.5;display:block}.setuprow .btn.sm{flex:none}.setuprow .chevi{color:var(--ink-3);flex:none}.bulkrow{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:7px 0;display:flex}.bulkrow:last-of-type{border-bottom:0}.bulkrow .n{text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:500;line-height:1.35;overflow:hidden}.bulkrow .n i{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:400;display:block}.bulkrow .numwrap{flex:none;width:104px}.bulkrow .numwrap .inp{padding-right:26px}.bulkrow .numwrap .clr{width:20px;height:20px;font-size:12px;right:5px}
