@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/montserrat-cyrillic-ext-wght-normal.2o1we4cyifizp.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/montserrat-cyrillic-wght-normal.02nrdwvzz4n33.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/montserrat-vietnamese-wght-normal.0qwmmqx7nw3cz.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/montserrat-latin-ext-wght-normal.1639pre6tojhv.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/montserrat-latin-wght-normal.0hdmpb0t8jz-y.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f4f1eb;--surface:#fff;--ink:#1c2433;--ink-soft:#6b6459;--ink-faint:#9a9388;--gold:#b9965f;--gold-ink:#8a6a3c;--line:#ddd6ca;--line-soft:#efeae2;--food:#1c2433;--on-food:#fff;--drink:#b9965f;--on-drink:#1c2433;--disc:#c9c2b6;--flash:#b9965f59;--up:#2f6b4a;--down:#9c3b3b;--below:#c0564b80;--above:#5c7ba680}:root[data-theme=dark]{--bg:#0e1118;--surface:#171c27;--ink:#f1ebdf;--ink-soft:#aaa49a;--ink-faint:#7d786f;--gold:#cdb087;--gold-ink:#cdb087;--line:#2f3545;--line-soft:#242a38;--food:#3d4f7a;--on-food:#f1ebdf;--drink:#cdb087;--on-drink:#171c27;--disc:#5a5750;--flash:#cdb0874d;--up:#7cc49a;--down:#e59090}@media (prefers-color-scheme:dark){:root[data-theme=auto]{--bg:#0e1118;--surface:#171c27;--ink:#f1ebdf;--ink-soft:#aaa49a;--ink-faint:#7d786f;--gold:#cdb087;--gold-ink:#cdb087;--line:#2f3545;--line-soft:#242a38;--food:#3d4f7a;--on-food:#f1ebdf;--drink:#cdb087;--on-drink:#171c27;--disc:#5a5750;--flash:#cdb0874d;--up:#7cc49a;--down:#e59090}}*{box-sizing:border-box}html{background:var(--bg);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font:400 13px/1.5 Montserrat Variable,Montserrat,system-ui,sans-serif}main{max-width:1180px;padding:24px max(20px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto}h1{margin:0;font-size:22px;font-weight:500}h2{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 10px;font-size:12px;font-weight:600}h2.section{margin:28px 0 12px}h3{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:10px;font-weight:600}input,select,button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:8px 12px;font-weight:500}button{cursor:pointer}button.small{padding:4px 10px;font-size:12px}button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg);letter-spacing:.16em;text-transform:uppercase;padding:12px 22px;font-size:11px}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button,.topbar a,.step,.day summary{transition:background-color .5s ease-out}button:active,.topbar a:active,.step:active,.day summary:active{background-color:var(--flash);transition:none}label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);flex-direction:column;gap:4px;font-size:10px;font-weight:500;display:flex}label input{letter-spacing:normal;text-transform:none;font-size:14px}.note{color:var(--ink-soft);margin:4px 0 0;font-size:12px}.empty{color:var(--ink-faint);margin:0}.error{color:var(--down);margin:0}.success{color:var(--up);margin:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:env(safe-area-inset-top) max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left))}.topbar-inner{align-items:center;gap:36px;max-width:1140px;margin:0 auto;display:flex}.brand{letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;font-size:13px;font-weight:600}.topbar nav{flex:1;gap:26px;display:flex}.topbar a{min-height:52px;color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;border-top:2px solid #0000;border-bottom:2px solid #0000;align-items:center;gap:10px;padding:0 4px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.topbar a[aria-current=page]{color:var(--ink);border-bottom-color:var(--gold)}.topbar a.account-link{padding:0 10px}.nav-icon{display:flex}.nav-icon.is-pending{color:var(--gold-ink);animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:22px;display:flex}.controls{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.stepper{align-items:center;gap:4px;display:flex}.step{background:var(--surface);border:1px solid var(--line);width:40px;height:36px;color:var(--ink);border-radius:2px;justify-content:center;align-items:center;font-size:18px;line-height:1;text-decoration:none;display:flex}.step[aria-disabled=true]{color:var(--ink-faint);opacity:.5}.period-caption{white-space:nowrap;margin:0;font-size:13px;font-weight:500}.period-caption .bar{color:var(--gold);padding:0 8px}.period-caption .year{color:var(--ink-soft)}.legend{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:10px 0 16px;font-size:12px;display:flex}.legend>span:last-child{margin-left:8px}.swatch{width:10px;height:10px}.swatch+.swatch,.swatch~.swatch{margin-left:8px}.swatch.below{background:var(--below)}.swatch.above{background:var(--above)}.swatch.food{background:var(--food)}.swatch.drink{background:var(--drink)}.swatch.disc{background:var(--disc)}.low-sample{color:var(--ink-faint)}.hero{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.metric{background:var(--surface);border-top:2px solid var(--gold);padding:16px 18px}.metric-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:10px;font-weight:500}.metric-label span{color:var(--ink-faint);letter-spacing:.08em}.metric-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:500;line-height:1.15}.metric-extra{color:var(--ink-soft);font-size:12px}.split{gap:2px;margin:14px 0 26px;display:flex}.seg{white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.split .seg{flex-basis:0;min-width:fit-content;padding:8px 14px}.seg.food{background:var(--food);color:var(--on-food)}.seg.drink{background:var(--drink);color:var(--on-drink)}.seg.disc{background:var(--disc)}.boxes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:14px;display:grid}.box{background:var(--surface);padding:20px 22px}.lines{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.lines th,.lines td{border-top:1px solid var(--line-soft)}.lines th{text-align:left;padding:8px 12px 8px 0;font-weight:400}.lines td{text-align:right;white-space:nowrap;width:1%;padding:8px 0 8px 12px;font-weight:500}.lines tfoot th,.lines tfoot td{border-top:1px solid var(--line);font-weight:600}.discounts .lines th{text-transform:capitalize}.lines td.change{color:var(--ink-faint);font-size:11px;font-weight:400}.change.up,.lines td.change.up{color:var(--up)}.change.down,.lines td.change.down{color:var(--down)}.legend .change{font-size:11px}.day{background:var(--surface);border-top:1px solid var(--line-soft);padding:0 18px}.day summary{cursor:pointer;font-variant-numeric:tabular-nums;grid-template-columns:96px 84px minmax(80px,1fr) 64px 100px;align-items:center;gap:10px;padding:10px 0;list-style:none;display:grid}.day summary::-webkit-details-marker{display:none}.day-name{font-weight:500}.day-covers,.day-sph{color:var(--ink-soft)}.day-sph,.day-total{text-align:right}.day-total{font-weight:600}.track{gap:2px;height:20px;display:flex}.track .seg{text-align:center;font-size:11px;line-height:20px}.day-detail{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;padding:6px 0 18px;display:grid}.hours{align-items:flex-end;gap:3px;height:90px;display:flex}.hour{height:100%;color:var(--ink-faint);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;font-size:10px;display:flex}.hour-bar{background:var(--drink);width:100%}.table-scroll{background:var(--surface);padding:8px 14px 14px;overflow-x:auto}.heatmap{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;font-size:12px}.heatmap th,.heatmap td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft);padding:7px 8px}.heatmap thead th{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);vertical-align:bottom;border-bottom:1px solid var(--line);font-size:10px;font-weight:600}.heatmap th.vertical{writing-mode:vertical-rl;text-align:left;color:var(--gold-ink);border-bottom:none;border-top:1px solid var(--line);padding:8px 4px;transform:rotate(180deg)}.heatmap th:first-child{z-index:1;background:var(--surface);text-align:left;position:sticky;left:0}.heatmap tbody th{font-weight:500}.heatmap .group-start{border-left:1px solid var(--line)}.heatmap tr.restaurant th,.heatmap tr.restaurant td{border-bottom:1px solid var(--line);font-weight:600}button.sort{all:unset;cursor:pointer;white-space:nowrap;border-radius:2px;padding:2px 4px;transition:background-color .5s ease-out}button.sort:hover{color:var(--ink)}button.sort:active{background-color:var(--flash);transition:none}button.sort:focus-visible{outline:2px solid var(--gold)}.sort-arrow{width:.9em;color:var(--gold-ink);font-size:9px;display:inline-block}button.hide{all:unset;cursor:pointer;text-align:center;width:16px;color:var(--ink-faint);border-radius:2px;margin-right:4px}button.hide:hover{color:var(--ink)}button.hide:active{background-color:var(--flash)}.hidden-names{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;display:flex}.login{max-width:340px;margin:14vh auto 0}.login .brand{border-bottom:2px solid var(--gold);margin-bottom:26px;padding-bottom:14px;font-size:15px;display:block}.account{max-width:340px}.account h2{margin-top:30px}.stack{flex-direction:column;gap:14px;display:flex}.stack button{align-self:flex-start}.segmented{display:flex}.segmented button{letter-spacing:.14em;text-transform:uppercase;min-height:44px;color:var(--ink-soft);flex:1;font-size:11px}.segmented button+button{border-left:0}.segmented button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sign-out{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}@media (max-width:640px){.topbar .brand,.nav-label{display:none}.topbar-inner{gap:0}.topbar nav{justify-content:space-around;gap:0}.topbar a{padding:0 18px}.hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-value{font-size:22px}.day{padding:0 12px}.day summary{grid-template-columns:96px 1fr 100px}.day summary .track{grid-area:2/1/auto/-1}.day-sph{display:none}}@media (pointer:coarse){input,select,textarea,label input{font-size:16px}}
