:root{--surface: #fbf9f8;--surface-dim: #dbdad9;--surface-bright: #fbf9f8;--surface-lowest: #ffffff;--surface-low: #f5f3f3;--surface-container: #efeded;--surface-high: #e9e8e7;--surface-highest: #e4e2e2;--surface-variant: #e4e2e2;--on-surface: #1b1c1c;--on-surface-variant: #5b4137;--inverse-surface: #303031;--inverse-on-surface: #f2f0f0;--outline: #8f7065;--outline-variant: #e4beb1;--primary: #a73a00;--on-primary: #ffffff;--primary-container: #ff5c00;--on-primary-container: #521800;--primary-fixed: #ffdbce;--inverse-primary: #ffb59a;--secondary: #5f5e5e;--on-secondary: #ffffff;--secondary-container: #e5e2e1;--error: #ba1a1a;--on-error: #ffffff;--error-container: #ffdad6;--on-error-container: #93000a;--ok: #2f6f4f;--warn: #8a6d00;--xs: 4px;--sm: 8px;--md: 16px;--lg: 24px;--xl: 40px;--xxl: 64px;--gutter: 16px;--margin-mobile: 20px;--margin-desktop: 64px;--content-max: 1280px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--surface);color:var(--on-surface);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}.display{font-size:64px;font-weight:700;line-height:1.1;letter-spacing:-.04em;margin:0}.headline-lg{font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:0}@media(min-width:768px){.headline-lg{font-size:32px}}.headline-md{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.01em;margin:0}.body-lg{font-size:18px;line-height:1.6}.body-md{font-size:16px;line-height:1.6}.label{font-size:12px;font-weight:700;line-height:1;letter-spacing:.05em;text-transform:uppercase}.label-sm{font-size:12px;font-weight:500;line-height:1}.muted{color:var(--on-surface-variant)}.small{font-size:14px;line-height:1.5}.err{color:var(--error)}.ok{color:var(--ok)}.tnum{font-variant-numeric:tabular-nums lining-nums}button,.btn{font:inherit;font-weight:600;border:2px solid var(--on-surface);background:var(--surface-lowest);color:var(--on-surface);padding:12px var(--md);border-radius:0;cursor:pointer;min-height:48px;transition:background 80ms linear,color 80ms linear}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--on-surface);color:var(--inverse-on-surface)}button.primary,.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}button.primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){background:var(--on-primary-container);border-color:var(--on-primary-container);color:var(--on-primary)}button.solid,.btn.solid{background:var(--on-surface);border-color:var(--on-surface);color:var(--inverse-on-surface)}button.ghost,.btn.ghost{border-color:var(--outline-variant);background:transparent;font-weight:500}button.quiet,.btn.quiet{border:0;background:transparent;color:var(--on-surface-variant);min-height:36px;padding:var(--sm) 0;text-decoration:underline;text-underline-offset:3px}button.quiet:hover:not(:disabled),.btn.quiet:hover:not(:disabled){background:transparent;color:var(--on-surface)}button:disabled,.btn:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}input,select,textarea{font:inherit;padding:12px var(--sm);border:1px solid var(--outline);border-radius:0;background:var(--surface-lowest);color:var(--on-surface);width:100%;min-height:48px}input:focus,select:focus{border-color:var(--on-surface)}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--primary)}input[type=color]{padding:4px;height:48px}.field{display:block}.field>.label{display:block;color:var(--on-surface-variant);margin-bottom:var(--xs)}.help{display:block;font-size:13px;line-height:1.45;color:var(--on-surface-variant)}.field>.help{margin-top:var(--xs)}a{color:var(--on-surface);text-underline-offset:3px}.stack>*+*{margin-top:var(--md)}.stack-sm>*+*{margin-top:var(--sm)}.row{display:flex;gap:var(--sm);align-items:center}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sm)}.grow{flex:1}.card{background:var(--surface-lowest);border:1px solid var(--outline-variant);padding:var(--lg)}.card-flush{background:var(--surface-lowest);border:1px solid var(--outline-variant)}.rule{border:0;border-top:1px solid var(--outline-variant);margin:0}.tag{display:inline-block;padding:4px var(--sm);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-highest);color:var(--on-surface-variant)}.tag.accent{background:var(--primary);color:var(--on-primary)}.tag.ok{background:var(--ok);color:#fff}.tag.warn{background:var(--warn);color:#fff}.tag.danger{background:var(--error-container);color:var(--on-error-container)}.chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--outline-variant);background:var(--surface-low);font-size:12px;font-weight:700;letter-spacing:.02em}.chip.me{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.chip.paid{background:var(--ok);border-color:var(--ok);color:#fff}.chip.host{border-color:var(--primary);color:var(--primary)}.meter{height:8px;background:var(--surface-highest);overflow:hidden}.meter>span{display:block;height:100%;background:var(--primary);transition:width .2s linear}.banner{border:1px solid var(--outline-variant);background:var(--primary-fixed);color:var(--on-primary-container);padding:var(--sm) var(--md);font-size:14px;line-height:1.5}.banner.danger{background:var(--error-container);color:var(--on-error-container);border-color:var(--error-container)}.diner{min-height:100dvh;display:flex;flex-direction:column;background:var(--surface)}.appbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:var(--sm) var(--md);border-bottom:1px solid var(--on-surface);background:var(--surface);position:sticky;top:0;z-index:10}.appbar h1{grid-column:2;text-align:center;font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0}.diner main{flex:1;padding:var(--lg) var(--margin-mobile);padding-bottom:140px;max-width:34rem;width:100%;margin:0 auto}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;gap:var(--md);padding:var(--md) var(--margin-mobile);padding-bottom:max(var(--md),env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--on-surface)}.actionbar .amount{flex:1;min-width:0}.actionbar .amount .label{display:block;color:var(--on-surface-variant);margin-bottom:6px}.actionbar .amount .value{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1}.actionbar button{flex:0 0 auto;min-width:9.5rem}.stepper{margin-bottom:var(--lg)}.stepper .rail{display:flex;gap:4px}.stepper .rail span{flex:1;height:4px;background:var(--outline-variant)}.stepper .rail span.on{background:var(--primary)}.stepper .spread{min-height:40px;margin-top:var(--xs)}.stepper h2{margin:var(--xs) 0 0}.lines{border-top:1px solid var(--on-surface)}.line{display:flex;align-items:center;gap:var(--md);padding:var(--md) 0;border-bottom:1px solid var(--outline-variant)}.line.mine{background:var(--surface-lowest);padding-inline:var(--md);margin-inline:calc(var(--md) * -1)}.line .what{flex:1;min-width:0}.line .name{font-size:17px;font-weight:600;letter-spacing:-.01em}.line.spent .name{text-decoration:line-through;color:var(--on-surface-variant)}.line .price{font-size:15px;color:var(--on-surface-variant);margin-top:2px}.line button{min-width:6.5rem;min-height:44px;padding:var(--sm)}.dash{min-height:100dvh;display:grid;grid-template-columns:1fr;background:var(--surface-low)}@media(min-width:900px){.dash{grid-template-columns:240px 1fr}}.dash-nav{background:var(--inverse-surface);color:var(--inverse-on-surface);padding:var(--md);display:flex;flex-direction:column;gap:var(--xs)}@media(min-width:900px){.dash-nav{position:sticky;top:0;height:100dvh;padding:var(--lg) var(--md)}}.dash-nav .brand{font-size:18px;font-weight:700;letter-spacing:-.01em;padding:0 var(--sm) var(--md)}.dash-nav .brand small{display:block;font-size:12px;font-weight:500;letter-spacing:0;opacity:.6;margin-top:2px}.dash-nav a,.dash-nav button.navitem{display:block;width:100%;text-align:left;padding:10px var(--sm);border:0;background:transparent;color:inherit;font-size:14px;font-weight:500;min-height:0;text-decoration:none;cursor:pointer}.dash-nav a:hover,.dash-nav button.navitem:hover{background:#ffffff14;color:inherit}.dash-nav .navitem.on{background:var(--primary);color:var(--on-primary);font-weight:700}.dash-nav .spacer{flex:1}.dash-main{min-width:0;padding:var(--lg) var(--md)}@media(min-width:900px){.dash-main{padding:var(--xl) var(--xl)}}.dash-main>*+*{margin-top:var(--xl)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--md);flex-wrap:wrap}.page-head p{margin:var(--xs) 0 0;color:var(--on-surface-variant);font-size:15px;max-width:46ch}.stats{display:grid;gap:1px;background:var(--outline-variant);border:1px solid var(--outline-variant);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.stat{background:var(--surface-lowest);padding:var(--md) var(--lg)}.stat .label{color:var(--on-surface-variant)}.stat .value{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-top:var(--sm)}.stat .sub{font-size:13px;color:var(--on-surface-variant);margin-top:2px}.stat.accent .value{color:var(--primary)}.section>h2{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);margin:0 0 var(--sm)}.table-wrap{overflow:auto;max-height:70vh;border:1px solid var(--outline-variant);background:var(--surface-lowest)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data thead th{position:sticky;top:0;background:var(--surface-high);text-align:left;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);padding:var(--sm) var(--md);border-bottom:1px solid var(--outline);white-space:nowrap}table.data td{padding:12px var(--md);border-bottom:1px solid var(--outline-variant);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.clickable:hover{background:var(--surface-low)}table.data tbody tr.dimmed{opacity:.5}table.data .num{text-align:right;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}.floor{display:grid;gap:var(--md);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.tablecard{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-left:4px solid var(--outline-variant);padding:var(--md);display:flex;flex-direction:column;gap:var(--sm)}.tablecard.seated{border-left-color:var(--primary)}.tablecard.owing{border-left-color:var(--warn)}.tablecard.settled{border-left-color:var(--ok)}.tablecard .code{font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1}.empty{padding:var(--xl) var(--lg);text-align:center;color:var(--on-surface-variant);border:1px dashed var(--outline-variant)}.center{min-height:100dvh;display:grid;place-items:center;padding:var(--md)}.center>*{width:100%;max-width:26rem}
