*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{text-rendering:optimizelegibility;min-height:100vh}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:inherit;text-decoration:none}table{border-collapse:collapse}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--background:0 0% 100%;--surface:0 0% 100%;--surface-2:220 14% 96%;--foreground:222 38% 14%;--text-muted:220 14% 42%;--text-muted-2:220 12% 58%;--border-subtle:220 14% 94%;--border:220 14% 88%;--border-strong:220 14% 80%;--primary:222 38% 14%;--primary-foreground:0 0% 100%;--primary-soft:245 28% 94%;--ring:245 30% 60%;--brand-lavender:245 28% 62%;--brand-lavender-bg:245 28% 94%;--status-red:0 72% 51%;--status-red-bg:0 72% 96%;--status-amber:38 92% 50%;--status-amber-bg:38 92% 95%;--status-green:142 62% 38%;--status-green-bg:142 52% 94%;--status-blue:210 100% 50%;--status-blue-bg:210 100% 96%;--status-violet:262 52% 55%;--status-violet-bg:262 52% 96%;--status-slate:215 14% 47%;--status-slate-bg:215 16% 95%;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--font-display:"DM Sans", system-ui, sans-serif;--font-size-xs:10.5px;--font-size-sm:11.5px;--font-size-base:13.5px;--font-size-md:13px;--font-size-lg:18px;--font-size-xl:26px;--font-size-2xl:32px;--font-size-3xl:40px;--line-height-tight:1.25;--line-height-normal:1.5;--letter-spacing-tight:-.022em;--letter-spacing-normal:-.005em;--letter-spacing-wide:.07em;--letter-spacing-wider:.1em;--space-1:4px;--space-2:8px;--space-3:10px;--space-4:12px;--space-5:14px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:40px;--space-11:48px;--space-12:64px;--radius-sm:.25rem;--radius:.375rem;--radius-lg:.625rem;--radius-xl:1rem;--radius-full:999px;--shadow-xs:0 1px 0 0 #0f162408;--shadow-sm:0 1px 2px #0f16240a, 0 1px 0 #0f162405;--shadow-md:0 4px 14px #0f162414, 0 1px 0 #0f16240a;--shadow-lg:0 10px 32px #0f16241a, 0 2px 6px #0f16240d;--shadow-xl:0 24px 60px #0f162429, 0 6px 16px #0f162412;--transition:.12s ease;--transition-slow:.2s ease;--ease-out-quart:cubic-bezier(.165, .84, .44, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--card:var(--surface);--card-foreground:var(--foreground);--popover:var(--surface);--popover-foreground:var(--foreground);--secondary:var(--primary-soft);--secondary-foreground:var(--foreground);--muted:var(--surface-2);--muted-foreground:var(--text-muted);--accent:var(--brand-lavender-bg);--accent-foreground:var(--brand-lavender);--destructive:var(--status-red);--destructive-foreground:0 0% 100%;--input:var(--border);--sidebar-background:220 14% 98.5%;--sidebar-foreground:var(--foreground);--sidebar-primary:var(--primary);--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:var(--brand-lavender-bg);--sidebar-accent-foreground:var(--brand-lavender);--sidebar-border:var(--border);--sidebar-ring:var(--ring)}.dark{--background:222 30% 9%;--surface:222 28% 12%;--surface-2:222 22% 15%;--foreground:220 20% 94%;--text-muted:220 14% 62%;--text-muted-2:220 12% 50%;--border-subtle:222 18% 16%;--border:222 18% 20%;--border-strong:222 18% 28%;--primary:220 20% 94%;--primary-foreground:222 38% 14%;--primary-soft:245 30% 20%;--ring:245 50% 72%;--brand-lavender:245 50% 72%;--brand-lavender-bg:245 30% 20%;--status-red-bg:0 50% 16%;--status-amber-bg:38 60% 15%;--status-green-bg:142 40% 14%;--status-blue-bg:210 60% 16%;--status-violet-bg:262 40% 18%;--status-slate-bg:215 14% 20%;--shadow-xs:0 1px 0 0 #0000004d;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 40px #00000080;--shadow-xl:0 32px 72px #0009;--destructive-foreground:0 0% 100%;--sidebar-background:var(--surface-2);--sidebar-foreground:var(--foreground);--sidebar-primary:var(--brand-lavender);--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:var(--brand-lavender-bg);--sidebar-accent-foreground:var(--brand-lavender);--sidebar-border:var(--border);--sidebar-ring:var(--ring)}
body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";font-size:var(--font-size-base);line-height:var(--line-height-normal);color:hsl(var(--foreground));background:hsl(var(--background));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:var(--letter-spacing-tight);margin:0;font-weight:600}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}::selection{background:hsl(var(--primary) / .2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border-strong));border:2px solid hsl(var(--background));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--text-muted-2))}.topbar{padding:var(--space-3) var(--space-7);border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface));z-index:20;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-5);display:flex}.brand-wordmark{width:auto;height:22px;display:block}.brand-sep-v{background:hsl(var(--border-strong));width:1px;height:24px;display:inline-block}.brand-product{font-family:var(--font-display);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:hsl(var(--foreground));font-size:13px;font-weight:600;line-height:1}.tabs{padding:0 var(--space-7);border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface));align-items:center;gap:0;display:flex}.tab{padding:var(--space-3) var(--space-5);font-size:var(--font-size-md);color:hsl(var(--text-muted));cursor:pointer;transition:color var(--transition), border-color var(--transition);letter-spacing:var(--letter-spacing-normal);border-bottom:2px solid #0000;align-items:center;gap:7px;font-weight:500;display:inline-flex}.tab:hover{color:hsl(var(--foreground))}.tab.active{color:hsl(var(--foreground));border-bottom-color:hsl(var(--primary))}.tab .count{font-size:var(--font-size-xs);border-radius:var(--radius-full);background:hsl(var(--surface-2));color:hsl(var(--text-muted));text-align:center;font-variant-numeric:tabular-nums;min-width:18px;padding:1px 6px;font-weight:500}.tab.active .count{background:hsl(var(--brand-lavender-bg));color:hsl(var(--brand-lavender))}.btn{padding:5px var(--space-3);border-radius:var(--radius);background:hsl(var(--surface));color:hsl(var(--foreground));border:1px solid hsl(var(--border));cursor:pointer;transition:all var(--transition);align-items:center;gap:6px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.btn:hover{border-color:hsl(var(--border-strong));background:hsl(var(--surface-2))}.btn:focus-visible{box-shadow:0 0 0 3px hsl(var(--ring) / .3);outline:none}.btn-primary{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.btn-primary:hover{filter:brightness(1.08);background:hsl(var(--primary))}.btn-ghost{color:hsl(var(--text-muted));background:0 0;border-color:#0000}.btn-ghost:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground));border-color:#0000}.input,.select{padding:5px var(--space-3);border-radius:var(--radius);background:hsl(var(--surface));color:hsl(var(--foreground));border:1px solid hsl(var(--border));min-height:28px;transition:border-color var(--transition), box-shadow var(--transition);outline:none;font-family:inherit;font-size:12.5px;font-weight:500}.input:focus,.select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15)}.input{min-width:220px}.input::placeholder{color:hsl(var(--text-muted-2))}.card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xs)}.card+.card{margin-top:var(--space-3)}.card-table{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--font-size-md)}thead th{text-align:left;font-size:var(--font-size-xs);color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-3) var(--space-4);border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface));font-weight:600;position:sticky;top:0}tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid hsl(var(--border));vertical-align:middle;color:hsl(var(--foreground))}tbody tr{cursor:pointer;transition:background .1s}tbody tr:hover td{background:hsl(var(--surface-2))}tbody tr:last-child td{border-bottom:none}.t-muted{color:hsl(var(--text-muted))}.t-num{font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:hsl(var(--text-muted));font-size:12px}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);white-space:nowrap;letter-spacing:var(--letter-spacing-normal);align-items:center;gap:5px;font-size:11px;font-weight:500;display:inline-flex}.badge:before{content:"";border-radius:50%;width:6px;height:6px}.badge.red{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.badge.red:before{background:hsl(var(--status-red))}.badge.amber{background:hsl(var(--status-amber-bg));color:hsl(var(--status-amber))}.badge.amber:before{background:hsl(var(--status-amber))}.badge.green{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.badge.green:before{background:hsl(var(--status-green))}.badge.blue{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue))}.badge.blue:before{background:hsl(var(--status-blue))}.badge.violet{background:hsl(var(--status-violet-bg));color:hsl(var(--status-violet))}.badge.violet:before{background:hsl(var(--status-violet))}.badge.slate{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.badge.slate:before{background:hsl(var(--status-slate))}.status-pill{padding:4px var(--space-3);border-radius:var(--radius-full);background:hsl(var(--status-green-bg));color:hsl(var(--status-green));font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-normal);align-items:center;gap:6px;font-weight:500;display:inline-flex}.status-pill .dot{background:hsl(var(--status-green));width:6px;height:6px;box-shadow:0 0 0 3px hsl(var(--status-green) / .18);border-radius:50%;animation:2.4s ease-in-out infinite breathe}.status-pill.off{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.status-pill.off .dot{background:hsl(var(--status-slate));box-shadow:none;animation:none}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}.delta{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.delta.up{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.delta.down{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.delta.flat{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.chip{border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums;background:hsl(var(--surface-2));color:hsl(var(--foreground));align-items:center;gap:5px;padding:2px 7px 2px 6px;font-weight:600;display:inline-flex}.chip:before{content:"";background:hsl(var(--text-muted));border-radius:50%;width:5px;height:5px}.chip.red{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.chip.red:before{background:hsl(var(--status-red))}.chip.amber{background:hsl(var(--status-amber-bg));color:hsl(var(--status-amber))}.chip.amber:before{background:hsl(var(--status-amber))}.chip.green{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.chip.green:before{background:hsl(var(--status-green))}.chip.blue{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue))}.chip.blue:before{background:hsl(var(--status-blue))}.chip.violet{background:hsl(var(--status-violet-bg));color:hsl(var(--status-violet))}.chip.violet:before{background:hsl(var(--status-violet))}.chip.slate{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.chip.slate:before{background:hsl(var(--status-slate))}.pill{padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:hsl(var(--surface-2));color:hsl(var(--foreground));border:1px solid hsl(var(--border));align-items:center;gap:5px;font-weight:500;line-height:1.25;display:inline-flex}.pill.running{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue));border-color:hsl(var(--status-blue) / .25)}.pill.running:before{content:"";background:hsl(var(--status-blue));width:6px;height:6px;box-shadow:0 0 0 3px hsl(var(--status-blue) / .2);border-radius:50%;animation:1.2s ease-in-out infinite breathe}.pill.ok{background:hsl(var(--status-green-bg));color:hsl(var(--status-green));border-color:hsl(var(--status-green) / .22)}.pill.fail{background:hsl(var(--status-red-bg));color:hsl(var(--status-red));border-color:hsl(var(--status-red) / .22)}.section-title{color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.08em;margin:22px 0 var(--space-3);align-items:center;gap:var(--space-2);font-size:11px;font-weight:600;display:flex}.section-title:first-child{margin-top:0}.section-title .line{background:hsl(var(--border));flex:1;height:1px}.panel-title{font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight);font-weight:600}.panel-sub{color:hsl(var(--text-muted));margin-top:2px;font-size:12.5px}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:hsl(var(--text-muted));cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:relative}.icon-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground));border-color:hsl(var(--border))}.icon-btn[data-tooltip]:hover:after{content:attr(data-tooltip);background:hsl(var(--foreground));color:hsl(var(--background));padding:4px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;z-index:30;box-shadow:var(--shadow-md);font-size:11px;font-weight:500;position:absolute;top:calc(100% + 6px);right:0}.kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);border-radius:var(--radius-sm);background:hsl(var(--surface-2));border:1px solid hsl(var(--border));color:hsl(var(--text-muted));padding:1px 5px}.toast{bottom:var(--space-7);padding:var(--space-2) var(--space-5);background:hsl(var(--foreground));color:hsl(var(--background));border-radius:var(--radius);opacity:0;transition:all var(--transition-slow);z-index:100;box-shadow:var(--shadow-md);font-size:12.5px;font-weight:500;position:fixed;left:50%;transform:translate(-50%)translateY(10px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.filters{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.flex{display:flex}.items-center{align-items:center}.between{justify-content:space-between}.ml-auto{margin-left:auto}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-4)}.hide{display:none!important}.tabular{font-variant-numeric:tabular-nums}.sign-in-shell{min-height:100vh;padding:0 var(--space-5);background:hsl(var(--background));justify-content:center;align-items:center;display:flex}.sign-in-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);width:100%;max-width:360px;padding:var(--space-8);box-shadow:var(--shadow-sm)}.sign-in-logo{width:auto;height:24px;margin-bottom:var(--space-6);display:block}.sign-in-title{font-family:var(--font-sans);letter-spacing:var(--letter-spacing-tight);color:hsl(var(--foreground));margin:0;font-size:20px;font-weight:600}.sign-in-subtitle{font-size:var(--font-size-md);color:hsl(var(--text-muted));margin-top:var(--space-1)}.sign-in-form{margin-top:var(--space-7);gap:var(--space-4);flex-direction:column;display:flex}.sign-in-field{flex-direction:column;gap:6px;display:flex}.sign-in-label{font-size:var(--font-size-sm);color:hsl(var(--foreground));font-weight:500}.sign-in-input{width:100%;height:36px;padding:0 var(--space-4);color:hsl(var(--foreground));background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color var(--transition), box-shadow var(--transition);outline:none;font-family:inherit;font-size:12.5px}.sign-in-input::placeholder{color:hsl(var(--text-muted-2))}.sign-in-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15)}.sign-in-input:disabled{opacity:.6;cursor:not-allowed}.sign-in-submit{width:100%;height:36px;margin-top:var(--space-1);border-radius:var(--radius);font-family:inherit;font-size:var(--font-size-md);background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary));cursor:pointer;transition:filter var(--transition);font-weight:500}.sign-in-submit:hover:not(:disabled){filter:brightness(1.08)}.sign-in-submit:disabled{opacity:.6;cursor:not-allowed}.sign-in-confirm{margin-top:var(--space-7);padding:var(--space-4);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--surface-2) / .6);color:hsl(var(--text-muted));font-size:var(--font-size-md);line-height:var(--line-height-normal)}.sign-in-confirm-email{color:hsl(var(--foreground));font-weight:500}.sign-in-error{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid hsl(var(--status-red) / .3);background:hsl(var(--status-red-bg));color:hsl(var(--status-red));border-radius:var(--radius);font-size:var(--font-size-md)}.sign-in-hint{margin-top:var(--space-2);font-size:var(--font-size-sm);color:hsl(var(--text-muted));line-height:var(--line-height-normal)}.sign-in-check{margin-top:var(--space-4);align-items:center;gap:var(--space-3);font-size:var(--font-size-md);color:hsl(var(--text-muted));cursor:pointer;display:flex}.sign-in-check input{width:15px;height:15px;accent-color:hsl(var(--primary));cursor:pointer;margin:0}.sign-in-qr{margin-top:var(--space-6);padding:var(--space-5);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--surface-2) / .6);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.sign-in-qr img{border-radius:var(--radius-sm);padding:var(--space-3);background:#fff}.sign-in-secret{font-size:var(--font-size-sm);color:hsl(var(--text-muted));text-align:center;line-height:var(--line-height-normal);margin:0}.sign-in-secret code{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:hsl(var(--surface));border:1px solid hsl(var(--border));font-family:var(--font-mono);font-size:var(--font-size-sm);color:hsl(var(--foreground));word-break:break-all;display:inline-block}.sign-in-links{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid hsl(var(--border));align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.sign-in-link{font-family:inherit;font-size:var(--font-size-md);color:hsl(var(--foreground));text-underline-offset:3px;cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.sign-in-link:hover{color:hsl(var(--brand-lavender))}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding:var(--space-8) var(--space-7) var(--space-7);border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));flex-wrap:wrap;display:flex}.page-header-lead{align-items:center;gap:var(--space-5);min-width:0;display:flex}.page-header-icon{border-radius:var(--radius-lg);background:hsl(var(--brand-lavender-bg));width:36px;height:36px;color:hsl(var(--brand-lavender));box-shadow:inset 0 0 0 1px hsl(var(--brand-lavender) / .2);flex-shrink:0;place-items:center;display:grid}.page-header-icon svg{width:16px;height:16px}.page-header-title{letter-spacing:var(--letter-spacing-tight);font-size:20px;font-weight:600;line-height:1.15}.page-header-description{font-size:var(--font-size-md);color:hsl(var(--text-muted));line-height:var(--line-height-normal);margin-top:4px}.page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.empty-state{text-align:center;padding:var(--space-11) var(--space-7);border:1px dashed hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface-2) / .4);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:hsl(var(--surface));width:48px;height:48px;box-shadow:inset 0 0 0 1px hsl(var(--border));color:hsl(var(--text-muted-2));margin-bottom:var(--space-4);place-items:center;display:grid}.empty-state-icon svg{stroke-width:1.5px;width:22px;height:22px}.empty-state-title{font-size:var(--font-size-md);color:hsl(var(--foreground));font-weight:600}.empty-state-description{max-width:28rem;font-size:var(--font-size-md);color:hsl(var(--text-muted));line-height:var(--line-height-normal);margin-top:4px}.empty-state-actions{margin-top:var(--space-5);gap:var(--space-2);display:flex}.empty-state.sm{padding:var(--space-8) var(--space-6)}.empty-state.sm .empty-state-icon{width:36px;height:36px;margin-bottom:var(--space-3)}.empty-state.lg{padding:var(--space-12) var(--space-8)}.card-interactive{cursor:pointer;transition:transform var(--transition) var(--ease-out-quart), box-shadow var(--transition) var(--ease-out-quart), border-color var(--transition)}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:hsl(var(--brand-lavender) / .4);transform:translateY(-2px)}.card-interactive:focus-visible{box-shadow:var(--shadow-md), 0 0 0 3px hsl(var(--ring) / .3);border-color:hsl(var(--brand-lavender) / .4);outline:none}.segmented{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);align-items:center;gap:2px;padding:2px;display:inline-flex}.segmented-item{padding:4px var(--space-3);color:hsl(var(--text-muted));border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:color var(--transition), background var(--transition), box-shadow var(--transition);background:0 0;border:0;align-items:center;gap:6px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.segmented-item:hover{color:hsl(var(--foreground))}.segmented-item.active,.segmented-item[aria-selected=true],.segmented-item[data-state=active]{background:hsl(var(--surface));color:hsl(var(--foreground));box-shadow:var(--shadow-xs)}.segmented-item svg{width:14px;height:14px}.input-search{display:inline-block;position:relative}.input-search .input{padding-left:32px}.input-search-icon{width:14px;height:14px;color:hsl(var(--text-muted-2));pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.btn-sm{padding:3px var(--space-2);min-height:24px;font-size:11.5px}.btn-lg{padding:8px var(--space-5);min-height:36px;font-size:13.5px}.btn-icon{place-items:center;width:28px;height:28px;padding:0;display:grid}.btn-icon.btn-sm{width:24px;height:24px}.btn-icon.btn-lg{width:36px;height:36px}.btn-icon svg{width:14px;height:14px}.card-hero{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.card-flat{background:hsl(var(--surface));border:1px solid hsl(var(--border-subtle));border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:none}
html,body{overscroll-behavior:none;height:100%}body{background:hsl(var(--background))}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-shell>.topbar{padding:6px var(--space-6);flex:none;position:static}.app-main{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative;overflow:hidden}.app-main.is-centered{padding:var(--space-8) var(--space-6);justify-content:center;align-items:center;overflow-y:auto}.top-actions{align-items:center;gap:var(--space-2);color:hsl(var(--text-muted));font-size:12px;display:flex}.top-actions form{margin:0;display:inline-flex}.top-who{color:hsl(var(--foreground));font-weight:600}.top-sep{color:hsl(var(--text-muted-2))}.top-link{color:hsl(var(--text-muted));text-decoration:underline;-webkit-text-decoration-color:hsl(var(--border-strong));text-decoration-color:hsl(var(--border-strong));text-underline-offset:3px;border-radius:var(--radius-sm);transition:color var(--transition);padding:2px 0;font-size:12px;font-weight:500}.top-link:hover{color:hsl(var(--foreground));text-decoration-color:currentColor}.top-link:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.picker{text-align:center;width:100%;max-width:560px}.picker-title{font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight)}.picker-subtitle{margin-top:var(--space-1);font-size:var(--font-size-md);color:hsl(var(--text-muted))}.picker-options{margin-top:var(--space-8);gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.picker-option{justify-content:center;align-items:center;gap:var(--space-2);min-height:132px;padding:var(--space-6) var(--space-4);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface));box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex}.picker-option:hover{border-color:hsl(var(--brand-lavender));box-shadow:var(--shadow-md);transform:translateY(-1px)}.picker-option:focus-visible{border-color:hsl(var(--brand-lavender));box-shadow:0 0 0 3px hsl(var(--ring) / .3);outline:none}.picker-number{font-size:var(--font-size-2xl);color:hsl(var(--foreground));font-weight:600;line-height:1}.picker-label{font-size:var(--font-size-md);color:hsl(var(--text-muted));font-weight:500}@media (max-width:520px){.picker-options{grid-template-columns:1fr}.picker-option{flex-direction:row;min-height:72px}}.sign-in-stack{width:100%;max-width:360px}.sign-in-footnote{margin-top:var(--space-5);text-align:center;font-size:var(--font-size-sm)}.sign-in-footnote a{color:hsl(var(--text-muted));text-underline-offset:3px;text-decoration:underline}.sign-in-footnote a:hover{color:hsl(var(--foreground))}.app-error{text-align:center;max-width:420px}.app-error-title{font-size:16px}.app-error-text{margin-top:var(--space-2);color:hsl(var(--text-muted));font-size:var(--font-size-md)}.app-error-text a{color:hsl(var(--foreground));text-underline-offset:3px;text-decoration:underline}
