:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-hover:#18181be6;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-hover:#eaeaec;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--border:#e4e4e7;--input:#e4e4e7;--ring:#a1a1aa;--ring-soft:#a1a1aa80;--radius:.5rem;--destructive:#dc2626;--destructive-hover:#dc2626e6;--destructive-foreground:#fafafa;--destructive-text:#b91c1c;--destructive-muted:#fef2f2;--destructive-border:#fecaca;--success:#16a34a;--success-hover:#15803d;--success-foreground:#fafafa;--success-text:#15803d;--success-muted:#f0fdf4;--success-border:#bbf7d0;--warning-text:#b45309;--warning-muted:#fffbeb;--warning-border:#fde68a;--sidebar:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-accent:#f4f4f5;--sidebar-border:#e5e7eb;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(.23, 1, .32, 1);--font-sans:"Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Menlo", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}*{box-sizing:border-box;border-color:var(--border)}body{margin:0}h1,h2,h3{text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}::selection{background:#18181b1f}.icon{flex-shrink:0}.shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.index{background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);flex-direction:column;gap:8px;height:100vh;padding:8px;display:flex;position:sticky;top:0;overflow-y:auto}.mark{align-items:center;gap:10px;padding:8px;display:flex}.logo{border-radius:var(--radius-lg);background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);flex-shrink:0;place-items:center;font-size:15px;font-weight:600;display:grid}.mark-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.mark-text strong{color:var(--foreground);font-size:14px;font-weight:600}.mark-text span{color:var(--muted-foreground);font-size:12px}.tabs{flex-direction:column;gap:2px;padding-top:4px;display:flex}.tab{border-radius:var(--radius-md);height:32px;color:var(--sidebar-foreground);align-items:center;gap:8px;padding:0 8px;font-size:14px;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.tab .icon{color:var(--muted-foreground);transition:color .15s}.tab:hover{background:var(--sidebar-accent);color:var(--foreground)}.tab:hover .icon{color:var(--foreground)}.tab[aria-current=page]{background:var(--sidebar-accent);color:var(--foreground);font-weight:500}.tab[aria-current=page] .icon{color:var(--foreground)}.tab-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tab .count{border-radius:var(--radius-sm);background:var(--primary);min-width:20px;height:20px;color:var(--primary-foreground);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;font-size:11.5px;font-weight:500;line-height:1;display:inline-grid}.tab .count.alarm{background:var(--destructive);color:var(--destructive-foreground)}.who{border-top:1px solid var(--sidebar-border);align-items:center;gap:8px;margin-top:auto;padding:8px;display:flex}.avatar{border-radius:var(--radius-lg);background:var(--secondary);width:32px;height:32px;color:var(--secondary-foreground);flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.who-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.who .name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.who .role{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.page{width:100%;max-width:1200px;padding:32px 40px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head>div:first-child{flex:360px;min-width:0}.page-head>.row{flex-wrap:nowrap}.page-head h1{letter-spacing:-.025em;font-size:24px;font-weight:600;line-height:1.25}.page-head .sub{color:var(--muted-foreground);margin-top:4px}.sub a{color:var(--muted-foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px}.sub a:hover{color:var(--foreground);text-decoration-color:currentColor}.section{margin-top:32px}.section>h2{letter-spacing:-.01em;color:var(--foreground);margin-bottom:12px;font-size:16px;font-weight:600}.fig{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9em}.fig.out{color:var(--destructive-text)}.fig.quiet,.quiet{color:var(--muted-foreground)}.hero-fig{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:30px;font-weight:600;line-height:1.2}.hero-fig .fig{font-family:var(--font-sans);font-size:1em}.hero-label{color:var(--muted-foreground);font-size:13px;font-weight:500}table.ledger{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);width:100%;font-size:14px}.ledger th{white-space:nowrap;text-align:left;height:40px;color:var(--muted-foreground);border-bottom:1px solid var(--border);vertical-align:middle;padding:0 12px;font-size:12.5px;font-weight:500}.ledger td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.ledger tbody tr:last-child td{border-bottom:0}.ledger th.num,.ledger td.num{text-align:right;font-variant-numeric:tabular-nums}.ledger tbody tr{transition:background-color .12s}.ledger tbody tr:hover td{background:#f4f4f580}.ledger tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.ledger tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.ledger tr.link{cursor:pointer}.ledger td a{text-underline-offset:4px;font-weight:500;text-decoration:none}.ledger td a:hover{text-decoration:underline}.ledger td.meta{color:var(--muted-foreground);font-size:13px}.ledger tr.total td,.ledger tfoot td{border-top:1px solid var(--border);background:#f4f4f580;font-weight:500}.ledger tr.total:hover td{background:#f4f4f580}.ledger tfoot td{border-bottom:0}.ledger td.nowrap{white-space:nowrap}.ledger .empty td{color:var(--muted-foreground);text-align:center;padding:32px 12px}.btn{white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--input);background:var(--background);height:36px;color:var(--foreground);cursor:pointer;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--accent);color:var(--accent-foreground)}.btn:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft);outline:none}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.secondary{background:var(--secondary);color:var(--secondary-foreground);box-shadow:none;border-color:#0000}.btn.secondary:hover:not(:disabled){background:var(--secondary-hover)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--accent)}.btn.destructive{background:var(--destructive);color:var(--destructive-foreground);border-color:#0000}.btn.destructive:hover:not(:disabled){background:var(--destructive-hover)}.btn.destructive:focus-visible,.btn.danger:focus-visible{border-color:var(--destructive);box-shadow:0 0 0 3px #dc262633}.btn.danger{color:var(--destructive-text);border-color:var(--destructive-border)}.btn.danger:hover:not(:disabled){background:var(--destructive-muted);color:var(--destructive-text)}.btn.settle{background:var(--success);color:var(--success-foreground);border-color:#0000}.btn.settle:hover:not(:disabled){background:var(--success-hover)}.btn.small{gap:6px;height:32px;padding:0 12px;font-size:13px}.btn.icon-only{width:36px;padding:0}.btn.small.icon-only{width:32px}.btn.link{height:auto;box-shadow:none;color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;background:0 0;border:0;padding:0}.btn.link:hover{background:0 0;text-decoration-color:currentColor}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--foreground);font-size:14px;font-weight:500;line-height:1.3}.field small{color:var(--muted-foreground);font-size:12.5px}.input,select.input,textarea.input{border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);height:36px;box-shadow:var(--shadow-xs);padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted-foreground)}.input:focus,.input:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft);outline:none}.input:disabled{opacity:.5;cursor:not-allowed}.input.fig{font-family:var(--font-mono);font-size:13.5px}select.input{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}textarea.input{resize:vertical;height:auto;min-height:72px;padding:8px 12px;line-height:1.5}input[type=file].input{padding:0 6px 0 4px;line-height:34px}input[type=file].input::file-selector-button{font:inherit;vertical-align:middle;border:1px solid var(--input);border-radius:var(--radius-sm);background:var(--secondary);height:26px;color:var(--secondary-foreground);cursor:pointer;margin-right:10px;padding:0 10px;font-size:13px;font-weight:500}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px;margin:0}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.meta{color:var(--muted-foreground);font-size:13px}.row+.meta,.row+p{margin-top:8px}.search{gap:8px;margin-bottom:16px;display:flex}.search .input{flex:1;max-width:460px}.note{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);color:var(--foreground);padding:12px 16px;font-size:14px}.note+.note,.note+table,.note+.section{margin-top:12px}.note.error{border-color:var(--destructive-border);background:var(--destructive-muted);color:var(--destructive-text)}.note.ok{border-color:var(--success-border);background:var(--success-muted);color:var(--success-text)}.note.caution{border-color:var(--warning-border);background:var(--warning-muted);color:var(--warning-text)}.badge{border-radius:var(--radius-md);background:var(--secondary);height:22px;color:var(--secondary-foreground);white-space:nowrap;vertical-align:middle;border:1px solid #0000;align-items:center;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.badge.outline{border-color:var(--border);color:var(--foreground);background:0 0}.badge.default{background:var(--primary);color:var(--primary-foreground)}.badge.destructive{background:var(--destructive);color:var(--destructive-foreground)}.badge.good{background:var(--success-muted);border-color:var(--success-border);color:var(--success-text)}.badge.wait{background:var(--warning-muted);border-color:var(--warning-border);color:var(--warning-text)}.badge.bad{background:var(--destructive-muted);border-color:var(--destructive-border);color:var(--destructive-text)}.stamp{white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--success-border);background:var(--success-muted);height:28px;color:var(--success-text);align-items:center;gap:6px;padding:0 10px 0 8px;font-size:13px;font-weight:500;display:inline-flex}.stamp:before{content:"";width:16px;height:16px;-webkit-mask:var(--stamp-icon) center / contain no-repeat;-webkit-mask:var(--stamp-icon) center / contain no-repeat;mask:var(--stamp-icon) center / contain no-repeat;--stamp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16 9-5.5 5.5L8 12'/%3E%3C/svg%3E");background:currentColor;flex-shrink:0}.stamp.broken{border-color:var(--destructive-border);background:var(--destructive-muted);color:var(--destructive-text)}.stamp.broken:before{--stamp-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E")}.today>div,.balances>div,.callout,.action{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-xs)}.player-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid}.player-head .sub{font-size:13.5px}.player-head h1{overflow-wrap:anywhere;margin-top:2px}.balances{grid-template-columns:minmax(200px,1.3fr) repeat(2,minmax(160px,1fr));gap:12px;margin-top:20px;display:grid}.balances>div{flex-direction:column;gap:4px;padding:16px 20px;display:flex}.balances .minor .hero-fig{letter-spacing:-.02em;font-size:22px;font-weight:600}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.actions{flex-direction:column;gap:12px;display:flex;position:sticky;top:20px}.action{flex-direction:column;gap:10px;padding:16px;display:flex}.action h3{font-size:14px;font-weight:600}.action p{color:var(--muted-foreground);font-size:13px}.today{grid-template-columns:1.4fr 1fr 1fr;gap:16px;display:grid}.today>div{flex-direction:column;gap:4px;padding:20px 24px;display:flex}.today .hero-fig{font-size:32px}.today .hero-fig.small{font-size:24px}.today+table,.today+.section{margin-top:16px}.callouts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}@media (width<=1280px){.callouts{grid-template-columns:repeat(2,minmax(0,1fr))}}.callout{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.callout:hover{border-color:var(--ring-soft);background:#f4f4f580}.callout strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:600}.gate{background:var(--sidebar);place-items:center;min-height:100vh;padding:24px;display:grid}.gate form{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);width:min(380px,100%);box-shadow:var(--shadow-xs);flex-direction:column;gap:16px;padding:24px;display:flex}.gate .logo{margin-bottom:4px}.gate h1{letter-spacing:-.025em;font-size:22px;font-weight:600}.gate .lead{color:var(--muted-foreground);margin-top:-10px}.gate .btn{width:100%}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);width:min(480px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}dialog::backdrop{background:#00000080}dialog[open]{animation:dialog-in .2s var(--ease-out)}dialog[open]::backdrop{animation:fade-in .2s var(--ease-out)}dialog h2{letter-spacing:-.015em;font-size:18px;font-weight:600;line-height:1.3}dialog h2+p,dialog h2+.meta{color:var(--muted-foreground);margin-top:-8px}dialog .buttons{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes fade-in{0%{opacity:0}}.toaster{z-index:50;width:min(360px,100vw - 32px);position:fixed;bottom:24px;right:24px}.toast{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--shadow-lg);animation:toast-in .24s var(--ease-out);padding:14px 16px;font-size:13.5px;font-weight:500;line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=1180px){.split{grid-template-columns:minmax(0,1fr);gap:8px}.actions{order:-1;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid;position:static}}@media (width<=1000px){.today,.balances{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);overflow-x:auto}.table-scroll>table.ledger{border:0;border-radius:0;min-width:max-content}
