*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:14px;line-height:1.45}a{color:var(--text);-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px}button{font:inherit;color:inherit;cursor:pointer}.serif{font-family:var(--font-serif);letter-spacing:-.2px;font-weight:500}.muted{color:var(--text-muted)}.small{font-size:12px}.strong{font-weight:600}.mono{font-variant-numeric:tabular-nums;letter-spacing:.4px}.num{font-variant-numeric:tabular-nums}.accent{color:var(--accent)}.error-text{color:var(--error);margin:0}.wordmark{letter-spacing:6px;font-size:13px;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-xl);border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;font-weight:600;text-decoration:none;transition:transform .12s,opacity .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-pearl{color:var(--on-primary);background:linear-gradient(180deg, var(--pearl-top), var(--pearl-mid) 55%, var(--pearl-bottom));box-shadow:0 6px 18px -8px var(--pearl-reflection)}.btn-ghost{border-color:var(--hairline-strong);background:0 0}.btn-ghost:hover{background:var(--surface)}.btn-danger{border-color:var(--error);color:var(--error);background:0 0}.icon-btn{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:0 0;width:36px;height:36px;font-size:20px;line-height:1}.link{text-decoration:underline;-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px;text-align:left;background:0 0;border:0;padding:0}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{gap:var(--space-xxl);height:100vh;padding:var(--space-xl);border-right:1px solid var(--hairline);background:radial-gradient(120% 40% at 0% 0%, var(--accent-soft), transparent 70%), var(--surface-onyx);flex-direction:column;display:flex;position:sticky;top:0}.brand{gap:var(--space-xs);flex-direction:column;display:flex}.brand-sub{color:var(--text-muted);font-size:12px}.nav{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav a{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;text-decoration:none;display:block}.nav a:hover{background:var(--surface)}.nav a.active{background:var(--surface-pressed);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.sidebar-foot{gap:var(--space-md);flex-direction:column;margin-top:auto;display:flex}.who{overflow-wrap:anywhere;font-size:12px}.lang{border-radius:var(--radius-pill);border:1px solid var(--hairline);align-self:flex-start;padding:3px;display:inline-flex}.lang button{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);color:var(--text-muted);background:0 0;border:0;font-size:12px}.lang button.active{background:var(--text);color:var(--on-primary)}.content{min-width:0;padding:var(--space-xxl) var(--space-xxxl)}.page{gap:var(--space-xl);flex-direction:column;max-width:1180px;display:flex}.page-head{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.page-title{margin:0;font-size:40px;line-height:1.1}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-xl)}.card-title{margin:0 0 var(--space-lg);color:var(--text-secondary);font-size:13px;font-weight:600}.stats{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-value{font-family:var(--font-serif);font-variant-numeric:lining-nums tabular-nums;font-size:40px;line-height:1}.stat-label{margin-top:var(--space-sm);color:var(--text-muted)}.stat-accent{border-color:var(--accent);background:linear-gradient(180deg, var(--accent-soft), transparent)}.stat-accent .stat-value{color:var(--accent)}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bars{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bar-head{justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xs);display:flex}.bar-track{border-radius:var(--radius-pill);background:var(--hairline);height:6px;overflow:hidden}.bar-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent), var(--sun-light));height:100%}.weekly{align-items:end;gap:var(--space-md);grid-template-columns:repeat(8,1fr);height:160px;display:grid}.week{justify-content:flex-end;align-items:center;gap:var(--space-xs);flex-direction:column;height:100%;display:flex}.week-bar{border-radius:var(--radius-sm) var(--radius-sm) 2px 2px;background:linear-gradient(180deg, var(--sun-light), var(--accent));width:100%;max-width:44px;min-height:2px}.week-label{font-size:11px}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.tabs{gap:var(--space-xs);border-radius:var(--radius-pill);border:1px solid var(--hairline);padding:3px;display:inline-flex}.tabs button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);color:var(--text-secondary);background:0 0;border:0;font-weight:500;display:inline-flex}.tabs button.active{background:var(--surface-pressed);color:var(--text)}.tab-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.search{width:320px;max-width:100%;height:38px;padding:0 var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface);color:var(--text);font:inherit}.search:focus,.input input:focus{border-color:var(--accent);outline:none}.table-card{padding:0;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-muted);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--hairline);white-space:nowrap;font-size:12px;font-weight:500}.table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--hairline);vertical-align:middle;white-space:nowrap}.table tbody tr{cursor:pointer}.table tbody tr:hover,.table tbody tr:focus-visible{background:var(--surface);outline:none}.table tbody tr:last-child td{border-bottom:0}.badge{height:22px;padding:0 var(--space-sm);border-radius:var(--radius-pill);border:1px solid var(--hairline-strong);color:var(--text-secondary);white-space:nowrap;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.badge-pending{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.badge-accepted{border-color:var(--hairline-strong);color:var(--text);background:var(--surface-pressed)}.badge-rejected{color:var(--text-muted)}.state{padding:var(--space-xxl) 0;align-items:flex-start;gap:var(--space-md);flex-direction:column;display:flex}.drawer-backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface-onyx);border-left:1px solid var(--hairline);flex-direction:column;width:min(520px,100%);height:100%;animation:.22s cubic-bezier(.2,.8,.2,1) drawer-in;display:flex}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding:var(--space-xl);border-bottom:1px solid var(--hairline);display:flex}.drawer-title{margin:0 0 var(--space-xs);font-size:30px;line-height:1.1}.drawer-sub{align-items:center;gap:var(--space-sm);display:inline-flex}.drawer-body{padding:var(--space-xl);flex:1;overflow-y:auto}.drawer-foot{justify-content:flex-end;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--hairline);display:flex}.drawer-foot .error-text{margin-right:auto}.fields{flex-direction:column;margin:0;display:flex}.field{gap:var(--space-lg);padding:var(--space-sm) 0;border-bottom:1px solid var(--hairline);grid-template-columns:190px 1fr;display:grid}.field dt{color:var(--text-muted)}.field dd{overflow-wrap:anywhere;margin:0}.section-title{margin:var(--space-xxl) 0 var(--space-md);color:var(--text-secondary);font-size:13px;font-weight:600}.watches{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.watch{gap:var(--space-lg);align-items:center;display:flex}.watch-photo{border-radius:var(--radius-pill);object-fit:cover;border:1px solid var(--hairline-strong);background:var(--surface);flex:none;width:72px;height:72px}.confirm{max-width:420px;padding:var(--space-xl);border-radius:var(--radius-md);border:1px solid var(--hairline-strong);background:var(--surface-raised);color:var(--text)}.confirm::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm p{margin:0 0 var(--space-xl)}.confirm-actions{justify-content:flex-end;gap:var(--space-md);display:flex}.toast{bottom:var(--space-xl);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--hairline-strong);z-index:20;position:fixed;left:50%;transform:translate(-50%)}.signin{min-height:100vh;padding:var(--space-xl);place-items:center;display:grid;position:relative;overflow:hidden}.signin-glow{background:radial-gradient(50% 50% at 50% 50%, var(--accent-glow), transparent 70%);pointer-events:none;height:80%;position:absolute;inset:-40% -20% auto}.signin-card{gap:var(--space-lg);flex-direction:column;width:min(380px,100%);display:flex;position:relative}.signin-title{margin:var(--space-lg) 0 0;font-size:40px;line-height:1.1}.signin-card p{margin:0}.signin-card .btn{height:48px;margin-top:var(--space-sm)}.input{gap:var(--space-xs);color:var(--text-muted);flex-direction:column;font-size:12px;display:flex}.input input{height:44px;padding:0 var(--space-lg);border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--surface);color:var(--text);font:inherit;font-size:15px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{align-items:center;gap:var(--space-lg);flex-flow:wrap;height:auto;position:static}.nav{flex-direction:row}.sidebar-foot{flex-direction:row;align-items:center;margin-top:0;margin-left:auto}.content{padding:var(--space-xl) var(--space-lg)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.field{gap:var(--space-xxs);grid-template-columns:1fr}}
