:root{--palette-white:#f2efea;--palette-black:#1f2421;--palette-red:#b11d31;--palette-orange:#da972b;--palette-blue:#44a6e2;--palette-green:#2d9650;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--lightningcss-light,var(--palette-white))var(--lightningcss-dark,var(--palette-black));--color-fg:var(--lightningcss-light,var(--palette-black))var(--lightningcss-dark,var(--palette-white));--color-surface:var(--lightningcss-light,color-mix(in oklab, var(--palette-white), #fff 55%))var(--lightningcss-dark,color-mix(in oklab, var(--palette-black), var(--palette-white) 6%));--color-text-muted:color-mix(in oklab, var(--color-fg) 65%, var(--color-bg));--color-border:color-mix(in oklab, var(--color-fg) 18%, transparent);--color-border-strong:color-mix(in oklab, var(--color-fg) 45%, transparent);--color-hover:color-mix(in oklab, var(--color-fg) 8%, transparent);--color-selected:color-mix(in oklab, var(--color-fg) 15%, transparent);--color-neutral:color-mix(in oklab, var(--color-fg) 45%, var(--color-bg));--color-accent:var(--palette-blue);--color-accent-text:var(--lightningcss-light,color-mix(in oklab, var(--palette-blue), var(--palette-black) 40%))var(--lightningcss-dark,var(--palette-blue));--color-accent-subtle:color-mix(in oklab, var(--palette-blue) 16%, transparent);--color-on-accent:var(--palette-black);--color-danger:var(--palette-red);--color-danger-text:var(--lightningcss-light,var(--palette-red))var(--lightningcss-dark,color-mix(in oklab, var(--palette-red), var(--palette-white) 40%));--color-danger-subtle:color-mix(in oklab, var(--palette-red) 16%, transparent);--color-on-danger:var(--palette-white);--color-warning:var(--palette-orange);--color-warning-text:var(--lightningcss-light,color-mix(in oklab, var(--palette-orange), var(--palette-black) 45%))var(--lightningcss-dark,var(--palette-orange));--color-warning-subtle:color-mix(in oklab, var(--palette-orange) 20%, transparent);--color-on-warning:var(--palette-black);--color-success:var(--palette-green);--color-success-text:var(--lightningcss-light,color-mix(in oklab, var(--palette-green), var(--palette-black) 25%))var(--lightningcss-dark,color-mix(in oklab, var(--palette-green), var(--palette-white) 20%));--color-success-subtle:color-mix(in oklab, var(--palette-green) 16%, transparent);--color-on-success:var(--palette-white);--radius:8px;--radius-sm:4px;--font-sans:system-ui, Avenir, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[data-theme]{color:var(--color-fg);background-color:var(--color-bg);scrollbar-color:var(--color-border-strong) var(--color-bg)}body{margin:0}a{color:var(--color-accent-text);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{text-decoration:underline}button{border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;color:inherit;background-color:var(--color-surface);cursor:pointer;padding:.4em .9em;font-weight:500;transition:border-color .2s,background-color .2s}button:hover{border-color:var(--color-accent)}button:disabled{opacity:.5;cursor:default}button:disabled:hover{border-color:var(--color-border)}button.primary{border-color:var(--color-accent);color:var(--color-on-accent);background-color:var(--color-accent)}button.primary:not(:disabled):hover{background-color:color-mix(in oklab, var(--color-accent), var(--color-fg) 12%)}button.danger{border-color:var(--color-danger);color:var(--color-on-danger);background-color:var(--color-danger)}button.danger:not(:disabled):hover{background-color:color-mix(in oklab, var(--color-danger), var(--color-fg) 12%)}input,select,textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:inherit;background-color:var(--color-surface)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--color-accent)}::selection{background-color:var(--color-accent-subtle)}main{max-width:960px;margin:0 auto;padding:24px 16px}h1{margin:0 0 16px;font-size:1.6rem}h2{margin:32px 0 12px;font-size:1.15rem}.error{color:var(--color-danger-text)}.notice{border-radius:var(--radius-sm);color:var(--color-success-text);background:var(--color-success-subtle);padding:8px 12px}.muted,.empty{color:var(--color-text-muted)}.auth-screen{box-sizing:border-box;place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius);box-sizing:border-box;background:var(--color-surface);width:100%;max-width:400px;box-shadow:0 8px 32px color-mix(in oklab, var(--color-fg) 10%, transparent);text-align:center;flex-direction:column;gap:12px;padding:32px;display:flex}.auth-card h1{margin:0;font-size:1.4rem}.auth-card p{margin:0}.auth-card>button.primary{width:100%;margin-top:8px}.auth-form{text-align:left;flex-direction:column;gap:6px;margin-top:8px;display:flex}.auth-form label{font-weight:500}.auth-form input{font:inherit;padding:8px 10px}.auth-form button.primary{width:100%;margin-top:10px;padding-block:.6em}.link-button{color:var(--color-text-muted);background:0 0;border:none;align-self:center;padding:2px 6px;font-weight:400}.link-button:hover{color:var(--color-fg);background:0 0;text-decoration:underline}@media (width<=480px){.auth-card{padding:24px 20px}}.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.shell main{box-sizing:border-box;width:100%}.sidebar{border-right:1px solid var(--color-border);box-sizing:border-box;background:var(--color-surface);flex-direction:column;gap:16px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar-title{padding:0 10px;font-weight:600}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar nav a{border-radius:var(--radius-sm);color:var(--color-fg);padding:6px 10px}.sidebar nav a:hover{background:var(--color-hover);text-decoration:none}.sidebar nav a.router-link-active{background:var(--color-selected)}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px 10px 0;display:flex}.signed-in{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.9em;overflow:hidden}@media (width<=640px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-flow:wrap;align-items:center;height:auto;position:static}.sidebar nav{flex-direction:row}.sidebar-footer{border-top:none;flex-direction:row;align-items:center;padding:0}}.page-heading{align-items:baseline;gap:8px;display:flex}.count{color:var(--color-text-muted);background:var(--color-selected);border-radius:10px;padding:0 8px;font-size:.8rem;font-weight:500}.chip{background:var(--color-selected);border-radius:12px;margin:0 4px 0 0;padding:0 8px;font-size:12px;display:inline-block}.filter{width:100%;max-width:360px;font:inherit;box-sizing:border-box;margin-bottom:12px;padding:6px 10px}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:8px 10px}.table th{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.table tbody tr:hover{background:var(--color-hover)}.table .numeric{text-align:right;font-variant-numeric:tabular-nums}.table .actions{white-space:nowrap;text-align:right}.table .actions button+button{margin-left:6px}.back{margin-bottom:12px;display:inline-block}.code{border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-mono);background:var(--color-surface);padding:16px;font-size:13px;overflow:auto}.invite{flex-direction:column;gap:6px;max-width:480px;margin-bottom:16px;display:flex}.invite label{font-weight:500}.invite-row{gap:8px;display:flex}.invite-row input{font:inherit;flex:1;padding:6px 10px}.field-error{margin:0;font-size:.9em}
