.sidebar-slot[data-v-ec9f92c9]{position:relative;flex-shrink:0;width:var(--shell-rail);transition:width var(--duration-base) var(--ease-standard);z-index:100}.sidebar-slot--full[data-v-ec9f92c9]{width:var(--shell-sidebar)}.sidebar-slot--none[data-v-ec9f92c9]{width:0}.sidebar[data-v-ec9f92c9]{position:absolute;inset:0 auto 0 0;width:var(--shell-rail);display:flex;flex-direction:column;background:var(--bg);overflow:hidden;transition:width var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-slow) var(--ease-standard)}.sidebar--expanded[data-v-ec9f92c9]{width:var(--shell-sidebar)}.sidebar--overlay[data-v-ec9f92c9]{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:0 var(--radius-xl) var(--radius-xl) 0}.sidebar--drawer[data-v-ec9f92c9]{position:fixed;inset:0 auto 0 0;width:min(304px,86vw);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:0 var(--radius-xl) var(--radius-xl) 0;transform:translate(-104%);z-index:300;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.sidebar--drawer.sidebar--open[data-v-ec9f92c9]{transform:translate(0)}.drawer-scrim[data-v-ec9f92c9]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:290}.scrim-enter-active[data-v-ec9f92c9],.scrim-leave-active[data-v-ec9f92c9]{transition:opacity var(--duration-slow) var(--ease-standard)}.scrim-enter-from[data-v-ec9f92c9],.scrim-leave-to[data-v-ec9f92c9]{opacity:0}.sidebar-brand[data-v-ec9f92c9]{height:var(--shell-topbar);display:flex;align-items:center;gap:var(--space-2);padding:0 20px;flex-shrink:0}.brand-link[data-v-ec9f92c9]{display:flex;align-items:center;border-radius:var(--radius-sm)}.brand-mark[data-v-ec9f92c9]{width:36px;height:36px;border-radius:var(--radius-md);background:#fff;-o-object-fit:contain;object-fit:contain;padding:3px}.brand-wordmark[data-v-ec9f92c9]{height:36px;width:auto;max-width:180px;border-radius:var(--radius-md);background:#fff;-o-object-fit:contain;object-fit:contain;padding:4px 8px}.drawer-close[data-v-ec9f92c9]{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:var(--surface-hi);color:var(--text-muted);cursor:pointer}.drawer-close svg[data-v-ec9f92c9]{width:18px;height:18px}.sidebar-nav[data-v-ec9f92c9]{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.nav-group-label[data-v-ec9f92c9]{padding:16px 12px 6px;font-size:var(--text-xs);font-weight:500;color:var(--text-faint);white-space:nowrap}.nav-group-rule[data-v-ec9f92c9]{height:1px;margin:10px 12px;background:var(--border)}.nav-group-rule[data-v-ec9f92c9]:first-child{display:none}.nav-item[data-v-ec9f92c9]{display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;text-decoration:none;text-align:left;white-space:nowrap;width:100%;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.nav-item[data-v-ec9f92c9]:hover{color:var(--text);background:var(--surface-hi)}.sidebar:not(.sidebar--overlay):not(.sidebar--drawer) .nav-item[data-v-ec9f92c9]:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}.nav-item--active[data-v-ec9f92c9],.nav-item--active[data-v-ec9f92c9]:hover{color:var(--text);font-weight:600;background:var(--surface);box-shadow:var(--shadow-sm)}.sidebar--overlay .nav-item--active[data-v-ec9f92c9],.sidebar--drawer .nav-item--active[data-v-ec9f92c9]{background:var(--accent-dim);box-shadow:none}.nav-item--active .nav-icon[data-v-ec9f92c9]{color:var(--accent)}.nav-item--pending[data-v-ec9f92c9]{color:var(--text)}.nav-item--pending .nav-icon[data-v-ec9f92c9]{color:var(--accent);animation:nav-pending-ec9f92c9 1s var(--ease-standard) infinite}@keyframes nav-pending-ec9f92c9{0%,to{opacity:1}50%{opacity:.35}}.nav-icon[data-v-ec9f92c9]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-standard)}.nav-icon[data-v-ec9f92c9] svg{width:19px;height:19px}.nav-label[data-v-ec9f92c9]{flex:1;overflow:hidden;text-overflow:ellipsis;opacity:1;transition:opacity var(--duration-fast) var(--ease-standard)}.sidebar:not(.sidebar--expanded) .nav-label[data-v-ec9f92c9]{opacity:0;pointer-events:none}.nav-count[data-v-ec9f92c9]{min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:var(--radius-full);background:var(--accent);color:var(--accent-text);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;transition:opacity var(--duration-fast) var(--ease-standard)}.sidebar:not(.sidebar--expanded) .nav-count[data-v-ec9f92c9]{opacity:0}.nav-icon[data-v-ec9f92c9]{position:relative}.nav-icon--dot[data-v-ec9f92c9]:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--surface);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.sidebar:not(.sidebar--expanded) .nav-icon--dot[data-v-ec9f92c9]:after{opacity:1}.sidebar:not(.sidebar--expanded) .nav-item[data-v-ec9f92c9]{padding:0 14px}.sidebar-footer[data-v-ec9f92c9]{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 14px var(--space-4);flex-shrink:0}.collapse-btn[data-v-ec9f92c9]{color:var(--text-faint)}@media (pointer: coarse){.nav-item[data-v-ec9f92c9]{height:48px}}@media (prefers-reduced-motion: reduce){.nav-item--pending .nav-icon[data-v-ec9f92c9]{animation:none}}.theme-toggle[data-v-861e20ec]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.theme-toggle[data-v-861e20ec]:hover{color:var(--text);background:var(--surface-hi)}.theme-toggle svg[data-v-861e20ec]{width:17px;height:17px}.topbar[data-v-f23c73f8]{height:var(--shell-topbar);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-8);background:var(--bg);flex-shrink:0;position:sticky;top:0;z-index:50;width:100%;max-width:1480px;margin:0 auto}.topbar--tablet[data-v-f23c73f8]{padding:0 var(--space-6)}.topbar--mobile[data-v-f23c73f8]{padding:0 var(--space-4);padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top))}.topbar-left[data-v-f23c73f8]{display:flex;align-items:center;gap:var(--space-3);min-width:0}.title-block[data-v-f23c73f8]{min-width:0}.page-title[data-v-f23c73f8]{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar--mobile .page-title[data-v-f23c73f8]{font-size:var(--text-lg)}.topbar-right[data-v-f23c73f8]{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.icon-circle[data-v-f23c73f8]{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.icon-circle svg[data-v-f23c73f8]{width:20px;height:20px}.who[data-v-f23c73f8]{display:flex;align-items:center;gap:10px;cursor:default;text-decoration:none;color:inherit;border-radius:var(--radius-full);padding-right:var(--space-2)}.who:hover .avatar[data-v-f23c73f8],.who--active .avatar[data-v-f23c73f8]{outline:2px solid var(--accent);outline-offset:2px}.who[data-v-f23c73f8]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.avatar[data-v-f23c73f8]{width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-dim);color:var(--accent);font-size:var(--text-sm);font-weight:700;display:grid;place-items:center;flex-shrink:0}.topbar--mobile .avatar[data-v-f23c73f8]{width:36px;height:36px}.who-text[data-v-f23c73f8]{display:grid;line-height:1.25;max-width:200px}.who-text b[data-v-f23c73f8]{font-size:var(--text-base);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-text small[data-v-f23c73f8]{font-size:var(--text-sm);color:var(--text-faint)}.toast-host[data-v-366ff701]{position:fixed;top:var(--space-5, 1.25rem);right:var(--space-5, 1.25rem);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2, .5rem);pointer-events:none}.toast-stack[data-v-366ff701]{display:flex;flex-direction:column;gap:var(--space-2, .5rem)}.toast[data-v-366ff701]{display:flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-3, .75rem) var(--space-4, 1rem);border-radius:var(--radius-lg, .75rem);font-family:var(--font-sans, system-ui, sans-serif);font-size:.875rem;font-weight:500;box-shadow:0 4px 20px #0000002e;pointer-events:auto;cursor:pointer;max-width:380px;word-break:break-word}.toast--success[data-v-366ff701]{background:color-mix(in srgb,var(--color-success-500, var(--color-success-500)) 12%,white);border:1px solid color-mix(in srgb,var(--color-success-500, var(--color-success-500)) 30%,transparent);color:var(--color-success-700, var(--color-success-700))}.toast--error[data-v-366ff701]{background:color-mix(in srgb,var(--color-danger-500, var(--color-danger-500)) 12%,white);border:1px solid color-mix(in srgb,var(--color-danger-500, var(--color-danger-500)) 30%,transparent);color:var(--color-danger-700, var(--color-danger-700))}.toast--warning[data-v-366ff701]{background:color-mix(in srgb,var(--color-warning-500, var(--color-warning-500)) 12%,white);border:1px solid color-mix(in srgb,var(--color-warning-500, var(--color-warning-500)) 30%,transparent);color:var(--color-warning-700, var(--color-warning-700))}.toast--info[data-v-366ff701]{background:color-mix(in srgb,var(--color-info-500, #3b82f6) 12%,white);border:1px solid color-mix(in srgb,var(--color-info-500, #3b82f6) 30%,transparent);color:var(--color-info-700, #1d4ed8)}.toast-icon[data-v-366ff701]{width:14px;height:14px;flex-shrink:0}.toast-message[data-v-366ff701]{flex:1}.toast-enter-active[data-v-366ff701]{transition:opacity .22s ease,transform .22s ease}.toast-leave-active[data-v-366ff701]{transition:opacity .18s ease,transform .18s ease}.toast-enter-from[data-v-366ff701],.toast-leave-to[data-v-366ff701]{opacity:0;transform:translate(24px)}.toast-move[data-v-366ff701]{transition:transform .22s ease}.nav-progress[data-v-27c40733]{position:fixed;top:0;left:0;right:0;height:2px;z-index:1000;background:transparent;pointer-events:none}.nav-progress-fill[data-v-27c40733]{height:100%;background:var(--accent);border-radius:0 2px 2px 0;transition:width var(--duration-base) var(--ease-decelerate);box-shadow:0 0 8px var(--accent)}.navbar-fade-leave-active[data-v-27c40733]{transition:opacity var(--duration-base) var(--ease-accelerate)}.navbar-fade-leave-to[data-v-27c40733]{opacity:0}@media (prefers-reduced-motion: reduce){.nav-progress-fill[data-v-27c40733]{transition:none}}.page-enter-active{transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-decelerate)}.page-leave-active{transition:opacity var(--duration-fast) var(--ease-accelerate)}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}.app-shell[data-v-7d80fea2]{display:flex;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}.main-area[data-v-7d80fea2]{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);scroll-padding-top:var(--shell-topbar)}.page-content[data-v-7d80fea2]{flex:1;width:100%;max-width:1480px;margin:0 auto;padding:var(--space-2) var(--space-8) var(--space-12)}.page-content[data-v-7d80fea2]:focus{outline:none}@media (max-width: 1199px){.page-content[data-v-7d80fea2]{padding:var(--space-2) var(--space-6) var(--space-12)}}@media (max-width: 767px){.page-content[data-v-7d80fea2]{padding:var(--space-1) var(--space-4) var(--space-8)}}:root{--brand-primary: #0A6518;--brand-secondary: #E13124;--brand-accent: #0094D8;--bg: #121216;--surface: #1C1C22;--surface-hi: #24242B;--border: #2A2A32;--border-hi: #34343D;--border-strong: #70707E;--card-border: #2A2A32;--text: #ECECF1;--text-muted: #A0A0AC;--text-faint: #8A8A96;--accent: #7CCB93;--accent-hover: #98D8AB;--accent-dim: rgba(124, 203, 147, .14);--accent-text: #0B1A10;--focus-ring: #7CCB93;--ink: #ECECF1;--ink-hover: #FFFFFF;--on-ink: #16161D;--link: #57B4E6;--link-hover: #86CCEF;--info: #57B4E6;--error: #F08A82;--error-fill: #E13124;--on-error: #FFFFFF;--warning: #F29B6E;--warning-fill: #F29B6E;--on-warning: #241300;--success: #5FC98E;--shadow-sm: none;--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 20px 50px rgba(0,0,0,.55);--shadow-ac: 0 0 0 3px var(--accent-dim);--scrim: rgba(0, 0, 0, .55);--font-display: "Figtree", "Segoe UI", system-ui, sans-serif;--font-sans: "Figtree", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--tracking-tight: -.015em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .26s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--shell-rail: 76px;--shell-sidebar: 248px;--shell-topbar: 64px}[data-theme=light]{--bg: #F0F0F7;--surface: #FFFFFF;--surface-hi: #F6F6FB;--border: #E6E6EF;--border-hi: #D9D9E4;--border-strong: #7A7A8C;--card-border: transparent;--text: #16161D;--text-muted: #5E5E6E;--text-faint: #66667A;--accent: #0A6518;--accent-hover: #084F13;--accent-dim: rgba(10, 101, 24, .08);--accent-text: #FFFFFF;--focus-ring: #0A6518;--ink: #16161D;--ink-hover: #2E2E38;--on-ink: #FFFFFF;--link: #0B6DA1;--link-hover: #084F77;--info: #0B6DA1;--error: #C2372F;--error-fill: #E13124;--on-error: #FFFFFF;--warning: #A24A17;--warning-fill: #F08A5D;--on-warning: #FFFFFF;--success: #167A45;--shadow-sm: 0 1px 2px rgba(22, 22, 29, .04);--shadow-md: 0 6px 20px rgba(22, 22, 29, .08);--shadow-lg: 0 18px 48px rgba(22, 22, 29, .14), 0 2px 6px rgba(22, 22, 29, .06);--scrim: rgba(22, 22, 29, .32)}:root{--color-surface: var(--surface);--color-surface-elevated: var(--surface);--color-surface-overlay: var(--surface-hi);--color-surface-subtle: var(--surface-hi);--color-border: var(--border);--color-border-strong: var(--border-strong);--color-text-strong: var(--text);--color-text-base: var(--text);--color-text-muted: var(--text-muted);--color-text-subtle: var(--text-faint);--color-text-inverse: var(--accent-text);--color-text-brand: var(--accent);--color-primary: var(--accent);--color-primary-hover: var(--accent-hover);--color-primary-active: var(--accent-hover);--color-focus-ring: var(--focus-ring);--color-success-500: var(--success);--color-warning-500: var(--warning);--color-danger-500: var(--error);--color-danger-700: var(--error-fill);--color-danger-800: var(--error-fill);--color-brand-100: color-mix(in srgb, var(--accent) 12%, transparent);--color-brand-500: var(--accent);--color-brand-600: var(--accent);--color-brand-700: var(--accent);--color-neutral-100: var(--surface-hi);--color-neutral-400: var(--text-faint);--color-neutral-600: var(--text-muted);--color-neutral-700: var(--text-muted);--color-neutral-900: var(--text);--color-success-50: color-mix(in srgb, var(--success) 12%, transparent);--color-success-200: color-mix(in srgb, var(--success) 28%, transparent);--color-success-600: var(--success);--color-success-700: var(--success);--color-warning-50: color-mix(in srgb, var(--warning) 12%, transparent);--color-warning-600: var(--warning);--color-warning-700: var(--warning);--color-danger-50: color-mix(in srgb, var(--error) 12%, transparent);--color-danger-600: var(--error);--color-success: var(--success);--color-danger: var(--error)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:1.25;text-wrap:balance}code,pre,kbd,samp{font-family:var(--font-mono)}table,.tabular,[data-tabular]{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.4}}@keyframes sweep{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.2}}.sk{background-image:linear-gradient(90deg,var(--surface-hi) 0%,color-mix(in srgb,var(--surface-hi) 55%,var(--surface)) 50%,var(--surface-hi) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:sweep 1.4s var(--ease-standard) infinite}.sk--text{height:.8em}.sk--line{height:1px}.spinner{width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;vertical-align:-.15em;animation:spin .7s linear infinite;flex:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn-primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border-hi)}.btn-ghost:hover:not(:disabled){background:var(--surface-hi)}.btn-danger{background:var(--error-fill);color:var(--on-error);border-color:var(--error-fill)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--error-fill) 85%,black)}.btn-warning{background:var(--warning);color:var(--on-warning);border-color:var(--warning)}.btn-warning:hover:not(:disabled){background:color-mix(in srgb,var(--warning) 85%,black)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:background .12s,color .12s;padding:0}.icon-btn:hover{background:var(--surface-hi);color:var(--text)}.icon-btn--danger:hover{background:var(--color-danger-50);color:var(--color-danger-700)}.icon-btn svg{width:14px;height:14px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--success{background:var(--color-success-50);color:var(--color-success-700)}.badge--neutral{background:var(--surface-hi);color:var(--text-muted)}.badge--warning,.badge--warn{background:var(--color-warning-50);color:var(--color-warning-700)}.badge--danger{background:var(--color-danger-50);color:var(--color-danger-700)}.badge--info{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.text-base{font-size:1rem;line-height:1.5rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background:var(--bg);box-sizing:border-box}.auth-page .auth-card{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-7) var(--space-6);background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box}.auth-page .auth-card--wide{max-width:480px}.auth-page .auth-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.auth-page .brand-logo{height:44px;width:auto;max-width:230px;-o-object-fit:contain;object-fit:contain;background:#fff;border-radius:var(--radius-md);padding:4px 10px}.auth-page .brand-monogram{width:48px;height:48px;border-radius:var(--radius-md);background:#fff;-o-object-fit:contain;object-fit:contain;padding:3px}.auth-page .brand-wordmark{font-weight:700;color:var(--text)}.auth-page .auth-title{margin:var(--space-2) 0 0;font-size:var(--text-xl);font-weight:700;color:var(--text);text-wrap:balance}.auth-page .auth-sub{margin:0;max-width:34ch;color:var(--text-muted);font-size:var(--text-sm);line-height:1.55}.auth-page .auth-header>.brand-logo+.auth-sub{margin-top:var(--space-1)}.auth-page .auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-page .auth-form .field{display:flex;flex-direction:column;gap:6px}.auth-page .auth-form .field-label{font-size:var(--text-sm);color:var(--text-muted)}.auth-page .auth-form .field-input{width:100%;height:46px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-base);box-sizing:border-box}.auth-page .auth-form .field-input::-moz-placeholder{color:var(--text-faint)}.auth-page .auth-form .field-input::placeholder{color:var(--text-faint)}.auth-page .auth-form .field-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.auth-page .auth-form .field-input--error{border-color:var(--error)}.auth-form .field-input:-webkit-autofill,.auth-page .auth-form .field-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-transition:background-color 9999s ease-out;transition:background-color 9999s ease-out}.auth-page .auth-form .field-input.mono,.auth-page .auth-form .field-input.code-input{font-family:var(--font-mono);letter-spacing:.12em}.auth-page .auth-form .code-input{text-align:center;font-size:var(--text-xl)}.auth-page .auth-form .row{display:flex;gap:var(--space-3)}.auth-page .auth-form .row>.field{flex:1}.auth-page .label-row{display:flex;align-items:center;gap:6px}.auth-page .field-err,.auth-page .error-msg{margin:0;font-size:var(--text-sm);color:var(--error)}.auth-page .field-hint{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--space-2))}.auth-page .auth-form>.btn-primary,.auth-page .auth-card>.btn-primary{height:46px;width:100%;font-size:var(--text-base)}.auth-page .btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.auth-page .error-banner,.auth-page .alert{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.auth-page .error-banner,.auth-page .alert--error{background:color-mix(in srgb,var(--error) 10%,var(--surface));color:var(--error)}.auth-page .alert--success{background:color-mix(in srgb,var(--success) 10%,var(--surface));color:var(--success)}.auth-page .error-dismiss{border:0;background:transparent;color:inherit;font-size:var(--text-lg);line-height:1;cursor:pointer;padding:0}.auth-page .forgot-link,.auth-page .back-link,.auth-page .retry-link,.auth-page .link-btn,.auth-page .backup-toggle{color:var(--link);font-size:var(--text-sm);text-decoration:none;background:none;border:0;padding:0;font-family:inherit;cursor:pointer}.auth-page .forgot-link:hover,.auth-page .back-link:hover,.auth-page .retry-link:hover,.auth-page .link-btn:hover,.auth-page .backup-toggle:hover{text-decoration:underline}.auth-page .backup-toggle{align-self:flex-start;margin-top:4px}.auth-page .auth-footer,.auth-page .parent-signup,.auth-page .alt{margin:0;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.auth-page .check{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);cursor:pointer}.auth-page .check input{margin-top:3px;accent-color:var(--accent)}.auth-page .code-line{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:8px var(--space-3);border-radius:var(--radius-md);background:var(--surface-hi);font-size:var(--text-sm);color:var(--text-muted)}.auth-page .code-line .mono{font-family:var(--font-mono);color:var(--text)}.auth-page .code-line .link-btn{margin-left:auto}.auth-page .done{display:flex;flex-direction:column;gap:var(--space-4)}.auth-page .done-text{margin:0;color:var(--text);line-height:1.6}.auth-page .invite-email{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.auth-page .loading-state,.auth-page .error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;text-align:center;color:var(--text-muted)}.auth-page .error-state h2{margin:0;font-size:var(--text-lg);color:var(--text)}.auth-page .error-state p{margin:0;font-size:var(--text-sm);line-height:1.55}.auth-page .error-icon{width:40px;height:40px;color:var(--error)}.auth-page .qr-loading{text-align:center;color:var(--text-muted)}.auth-page .qr-container{display:flex;justify-content:center}.auth-page .qr-img{width:180px;height:180px;border-radius:var(--radius-md);background:#fff;padding:8px}.auth-page .secret-row{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-muted)}.auth-page .secret-code{padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-hi);font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere}.auth-page .backup-info{display:flex;flex-direction:column;gap:var(--space-3)}.auth-page .backup-desc{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.55}.auth-page .backup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.auth-page .backup-code{padding:8px;border-radius:var(--radius-sm);background:var(--surface-hi);font-family:var(--font-mono);text-align:center;color:var(--text)}.auth-page .btn-download{align-self:flex-start}.auth-page .dialog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-radius:inherit;background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-page .dialog-box{width:100%;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-lg)}.auth-page .dialog-icon{color:var(--warning)}.auth-page .dialog-title{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text)}.auth-page .dialog-body,.auth-page .dialog-sub{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.auth-page .displaced-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.auth-page .displaced-item{display:flex;justify-content:space-between;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--radius-md);background:var(--surface-hi);font-size:var(--text-sm)}.auth-page .displaced-label{font-weight:600;color:var(--text)}.auth-page .displaced-time{color:var(--text-muted);font-size:var(--text-xs)}.auth-page .dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.auth-page .auth-form .spinner,.auth-page .auth-card .spinner{width:16px;height:16px;animation:auth-spin .75s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-page--split{padding:0;align-items:stretch}.auth-page .auth-panel{display:none}.auth-page .auth-side{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4)}.auth-page .auth-header--left{align-items:flex-start;text-align:left}.auth-page .auth-only-phone{align-self:center;margin-bottom:var(--space-2)}.auth-page .field-with-action{position:relative}.auth-page .field-with-action .field-input{padding-right:64px}.auth-page .field-action{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:32px;padding:0 10px;border:0;border-radius:var(--radius-full);background:var(--surface-hi);color:var(--text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer}.auth-page .field-action:hover{color:var(--text)}.auth-page .auth-divider{display:flex;align-items:center;gap:12px;margin:var(--space-2) 0 calc(-1 * var(--space-2));color:var(--text-faint);font-size:var(--text-xs)}.auth-page .auth-divider:before,.auth-page .auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-page .auth-ghost{height:44px;width:100%;text-decoration:none}@media (min-width: 900px){.auth-page--split{display:grid;grid-template-columns:5fr 6fr}.auth-page .auth-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px;background:var(--auth-panel, #0E3F16);color:#f1f7f2}.auth-page .auth-panel:before{content:"";position:absolute;right:-160px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:#0a6518;opacity:.55}.auth-page .auth-panel:after{content:"";position:absolute;left:-140px;top:-140px;width:340px;height:340px;border-radius:50%;background:#0a6518;opacity:.35}.auth-page .auth-crest{position:relative;display:flex;align-items:center;gap:12px}.auth-page .auth-crest-mark{width:46px;height:46px;border-radius:12px;background:#fff;-o-object-fit:contain;object-fit:contain;padding:3px}.auth-page .auth-crest-text{display:flex;flex-direction:column;line-height:1.15}.auth-page .auth-crest-text b{font-size:var(--text-base)}.auth-page .auth-crest-text small{color:#b9d4be;font-size:var(--text-xs)}.auth-page .auth-panel-copy{position:relative}.auth-page .auth-panel-copy h2{margin:0 0 10px;font-size:32px;line-height:1.15;font-weight:700;letter-spacing:-.01em;text-wrap:balance;max-width:16ch}.auth-page .auth-panel-copy p{margin:0;max-width:34ch;color:#b9d4be;line-height:1.55}.auth-page .auth-stats{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap}.auth-page .auth-stat b{display:block;font-size:var(--text-2xl);font-variant-numeric:tabular-nums;line-height:1.1}.auth-page .auth-stat span{font-size:var(--text-xs);color:#b9d4be}.auth-page .auth-panel-foot{position:relative;margin:0;font-size:var(--text-xs);color:#b9d4be}.auth-page .auth-only-phone{display:none}.auth-page .auth-side{padding:var(--space-8) var(--space-6)}.auth-page .auth-card--bare{max-width:440px;box-shadow:none;border:0;background:transparent;padding:0}}:root{--auth-panel: #0E3F16}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--auth-panel: #0B2A10}}:root[data-theme=dark]{--auth-panel: #0B2A10}@media (max-width: 767px){.auth-page{align-items:flex-start;padding:var(--space-4) var(--space-3)}.auth-page .auth-card{padding:var(--space-6) var(--space-4);border-radius:var(--radius-lg)}.auth-page .auth-form .row{flex-direction:column}.auth-page .dialog-actions{flex-direction:column-reverse}.auth-page .dialog-actions .btn{width:100%}}@media (prefers-reduced-motion: reduce){.auth-page .spinner{animation:none}}
