:root{--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, system-ui, sans-serif;--font-heading:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--accent:#f07450;--accent-hover:#f07450d9;--accent-soft:#f074501a;--accent-glow:#f0745066;--accent-border:#f0745040;--accent-ink:#c2410c;--danger:#c0392b;--danger-ink:#a3271b;--danger-soft:#c0392b12;--danger-border:#c0392b3d;--warn:#e0a300;--warn-ink:#8a5a00;--warn-soft:#e0a3001a;--warn-border:#e0a30052;--ok:#2f7a4d;--ok-ink:#2a6b44;--ok-soft:#2f7a4d17;--ok-border:#2f7a4d42;--event-call:#6c7fd8;--event-call-soft:#6c7fd824;--event-in-person:#d08a4c;--event-in-person-soft:#d08a4c24;--event-solo:#5fa67b;--event-solo-soft:#5fa67b24;--event-hatch:repeating-linear-gradient(135deg, #ffffff8c 0 5px, #fff0 5px 10px);--event-hatch-light:repeating-linear-gradient(135deg, var(--event-solo-soft) 0 5px, #fff0 5px 10px);--material-code:#fbfaf6;--ink-rgb:28, 25, 20;--text-primary:#1c1914;--text-secondary:#1c1914b8;--text-tertiary:#1c191499;--text-quaternary:#1c191466;--text-muted:var(--text-tertiary);--text-faint:var(--text-quaternary);--bg:#f3f1e8;--material-card:#fff;--material-chrome:#faf9f4b8;--material-popover:#ffffffdb;--material-affirm:#eef6efdb;--material-panel:#ffffffd1;--material-blur:saturate(180%) blur(30px);--fill-1:#1c19140b;--fill-2:#1c191413;--fill-3:#1c19141c;--separator:#1c191414;--separator-strong:#1c191424;--ink-fill:#201d18;--ink-fill-hover:#353028;--surface:#1c191409;--surface-hover:#1c19140e;--surface-active:#1c191416;--border-color:#1c191417;--border-strong:#1c191429;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius-2xl:36px;--radius-pill:999px;--radius-card:26px;--radius-nested:14px;--pad-card:12px;--radius-inner:8px;--radius-control:14px;--control-h:44px;--elev-1:0 .5px 1px #231e140d, 0 2px 6px -2px #231e1412;--elev-2:0 1px 2px #231e140d, 0 8px 24px -8px #231e141f;--elev-3:0 2px 6px #231e140f, 0 20px 50px -12px #231e142e;--shadow-sm:var(--elev-1);--shadow-md:var(--elev-2);--shadow-lg:var(--elev-3);--tracking-display:-.022em;--tracking-title:-.015em;--tracking-body:-.006em;--tracking-caps:.06em;--text-2xs:.5625rem;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--z-base:1;--z-above:10;--z-sticky:100;--z-overlay:1000;--z-modal:2000;--z-toast:9999;--spring-move:linear(0, .0256, .0874, .1685, .2575, .3472, .433, .5123, .584, .6476, .7032, .7513, .7925, .8276, .8572, .8821, .9029, .9203, .9347, .9466, .9564, .9645, .9711, .9765, .9809, .9846, .9875, .9899, .9918, .9934, .9947, .9957, .9966, .9972, .9978, .9982, .9986);--spring-move-dur:.562s;--spring-pop:linear(0, .0327, .1144, .2246, .3475, .4714, .5885, .6938, .7844, .8595, .9194, .9653, .9987, 1.0216, 1.0359, 1.0435, 1.046, 1.0448, 1.0413, 1.0364, 1.0308, 1.025, 1.0196, 1.0147, 1.0104, 1.0069, 1.004, 1.0018, 1.0002, .9991, .9984, .998, .9979, .9979, .9981, .9983, .9986);--spring-pop-dur:.625s;--spring-sheet:linear(0, .0324, .1135, .223, .3453, .4687, .5856, .6907, .7814, .8568, .9171, .9633, .9972, 1.0205, 1.0352, 1.0431, 1.0459, 1.045, 1.0417, 1.0368, 1.0313, 1.0256, 1.0201, 1.0152, 1.0108, 1.0072, 1.0043, 1.0021, 1.0004, .9992, .9985, .9981, .9979, .9979, .998, .9983, .9985);--spring-sheet-dur:.467s;--ease-out-apple:cubic-bezier(.32, .72, 0, 1);--ease-in-out-apple:cubic-bezier(.65, 0, .35, 1);--dur-instant:90ms;--dur-fast:.16s;--dur-base:.24s;--dur-slow:.4s;--transition-fast:all var(--dur-fast) var(--ease-out-apple);--transition-base:all var(--dur-base) var(--ease-out-apple);--transition-smooth:all var(--dur-base) var(--ease-out-apple);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--border:var(--border-color);--text-on-fill:#fff;--avatar-fill:linear-gradient(150deg, #f0885c, #c2410c);--material-sheet:#ffffffe6;--material-sheet-bar:#ffffffe0;--material-solid:#fff;--sheet-edge:#fff3;--scrim:#0009;--scrim-soft:#0006;--material-group:#ffffffc7;--material-group-hover:#ffffffeb;--material-group-focus:#fff;--sheet-shadow:0 20px 40px #1c191417, 0 1px 2px #00000005;--field-bg:transparent;--field-bg-focus:#fff;--accent-ring:#f0745080;--chevron-down:url("data:image/svg+xml;charset=UTF-8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.45)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--info-ink:#3b82f6;--info-soft:#3b82f60d;--info-border:#3b82f633;--chrome-rail-fill:linear-gradient(180deg, #ffffff9e 0%, #ffffff75 100%);--chrome-rail-edge:inset 0 1px 0 #ffffffd9, inset 1px 0 0 #ffffff80, inset 0 -1px 0 #fff3, inset 0 0 0 .5px #ffffff73, 0 12px 36px -14px #231e1447;--chrome-rail-paper:#f6f4ee;--chrome-bar-fill:linear-gradient(180deg, #ffffffa8 0%, #ffffff80 100%);--chrome-bar-fill-scrolled:linear-gradient(180deg, #fffffff0 0%, #ffffffe6 100%);--chrome-bar-edge:inset 0 1px 0 #ffffffd9, inset 1px 0 0 #ffffff80, inset 0 -1px 0 #fff3, inset 0 0 0 .5px #ffffff73, 0 8px 28px -14px #231e1440;--chrome-bar-paper:#faf9f4;--tooltip-bg:#201d18eb;--shell-glow:radial-gradient(58vw 42vh at 24% -8%, #f0745038, transparent 68%), radial-gradient(64vw 46vh at 84% 0%, #ffc47842, transparent 70%), radial-gradient(54vw 44vh at 66% 104%, #96a8ec1f, transparent 72%);--window-bg:var(--bg);--panel-edge:#ffffffb8;--now-line:#ef4444;--cal-label:var(--text-tertiary);--cal-today-ink:var(--accent);--event-solo-opacity:.88;--shade-rgb:0, 0, 0;--shadow-rgb:0, 0, 0;--on-fill-rgb:255, 255, 255;--accent-rgb:240, 116, 80;--media-bg:#000;--ink-button:var(--text-primary);--chevron-down-strong:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(0, 0, 0, 0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pal-red-500-rgb:239, 68, 68;--pal-red-600-rgb:220, 38, 38;--pal-red-light-rgb:238, 85, 85;--pal-red-soft-rgb:214, 75, 75;--pal-red-dusk-rgb:180, 80, 80;--pal-red-alarm-rgb:220, 50, 50;--pal-red-hot-rgb:255, 50, 50;--pal-m-red-rgb:244, 67, 54;--pal-sand-rgb:212, 160, 90;--pal-sand-ink-rgb:160, 107, 46;--pal-amber-500-rgb:245, 158, 11;--pal-amber-700-rgb:180, 83, 9;--pal-m-orange-rgb:255, 152, 0;--pal-green-500-rgb:34, 197, 94;--pal-green-600-rgb:22, 163, 74;--pal-green-ink-rgb:34, 160, 75;--pal-emerald-500-rgb:16, 185, 129;--pal-m-green-rgb:76, 175, 80;--pal-blue-500-rgb:59, 130, 246;--pal-m-blue-rgb:33, 150, 243;--pal-violet-400-rgb:167, 139, 250;--pal-slate-500-rgb:100, 116, 139;--pal-grey-rgb:120, 120, 120;--pal-grey-cool-rgb:120, 120, 140;--pal-slate-50:#f8fafc;--pal-slate-400:#94a3b8;--pal-slate-500:#64748b;--pal-slate-600:#475569;--pal-slate-800:#1e293b;--pal-grey-ink:#666}html.theme-dark{--inner:#0000003d;--line:#ffffff17;--fill:#ffffff12;--fill-hover:#ffffff1f;--ink-rgb:255, 255, 255;--text-primary:#fff;--text-secondary:#ffffffb3;--text-tertiary:#ffffff73;--text-quaternary:#ffffff4d;--text-muted:var(--text-tertiary);--text-faint:var(--text-quaternary);--bg:#232120;--material-card:var(--inner);--material-panel:var(--inner);--material-chrome:#1e1c1aeb;--material-popover:#2a2826;--material-affirm:#1e3026;--material-code:#00000052;--fill-1:var(--fill);--fill-2:var(--fill-hover);--fill-3:#ffffff2e;--separator:var(--line);--separator-strong:#ffffff29;--surface:#ffffff0d;--surface-hover:#ffffff14;--surface-active:#ffffff1f;--border-color:var(--line);--border-strong:#ffffff29;--border:var(--border-color);--accent-ink:#ff9b7a;--accent-soft:#f074502e;--accent-border:#f0745080;--accent-ring:#f07450b3;--ink-fill:var(--accent);--ink-fill-hover:#f2876a;--danger:#ff7a6e;--danger-ink:#ff8f84;--danger-soft:#ff6b5e24;--danger-border:#ff6b5e66;--warn-ink:#f5c451;--warn-soft:#f5c45124;--warn-border:#f5c45166;--ok:#34c77b;--ok-ink:#5dd69a;--ok-soft:#34c77b24;--ok-border:#34c77b66;--info-ink:#9cc0ff;--info-soft:#4f8ef733;--info-border:#4f8ef766;--elev-1:0 1px 2px #0000002e;--elev-2:0 1px 2px #0003, 0 8px 24px -8px #00000059;--elev-3:0 2px 6px #00000040, 0 20px 50px -12px #00000073;--shadow-sm:var(--elev-1);--shadow-md:var(--elev-2);--shadow-lg:var(--elev-3);--material-sheet:#23211f;--material-sheet-bar:#23211feb;--material-solid:#2a2826;--sheet-edge:var(--line);--scrim:#00000073;--scrim-soft:#00000073;--material-group:var(--inner);--material-group-hover:var(--inner);--material-group-focus:var(--inner);--sheet-shadow:0 30px 80px #0009;--field-bg:#0000004d;--field-bg-focus:#0000004d;--chevron-down:url("data:image/svg+xml;charset=UTF-8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--chrome-rail-fill:var(--inner);--chrome-rail-edge:inset 0 0 0 1px var(--line);--chrome-rail-paper:#2a2826;--chrome-bar-fill:var(--material-chrome);--chrome-bar-fill-scrolled:var(--material-chrome);--chrome-bar-edge:inset 0 0 0 1px var(--line);--chrome-bar-paper:#2a2826;--tooltip-bg:#3a3734;--shell-glow:none;--window-bg:#16141280;--panel-edge:var(--line);--now-line:#ff5a5f;--cal-label:var(--text-secondary);--cal-today-ink:var(--accent-ink);--event-solo-opacity:1;--event-plate:#262422;--shade-rgb:255, 255, 255;--ink-button:var(--ink-fill);--chevron-down-strong:var(--chevron-down);--event-hatch:repeating-linear-gradient(135deg, #ffffff12 0 5px, #fff0 5px 10px);--pal-red-500-rgb:255, 143, 132;--pal-red-600-rgb:255, 143, 132;--pal-red-light-rgb:255, 143, 132;--pal-red-soft-rgb:255, 143, 132;--pal-red-dusk-rgb:255, 143, 132;--pal-red-alarm-rgb:255, 122, 110;--pal-red-hot-rgb:255, 122, 110;--pal-m-red-rgb:255, 122, 110;--pal-sand-rgb:245, 196, 81;--pal-sand-ink-rgb:245, 196, 81;--pal-amber-500-rgb:245, 196, 81;--pal-amber-700-rgb:245, 196, 81;--pal-m-orange-rgb:224, 163, 0;--pal-green-500-rgb:93, 214, 154;--pal-green-600-rgb:93, 214, 154;--pal-green-ink-rgb:93, 214, 154;--pal-emerald-500-rgb:93, 214, 154;--pal-m-green-rgb:52, 199, 123;--pal-blue-500-rgb:156, 192, 255;--pal-m-blue-rgb:156, 192, 255;--pal-violet-400-rgb:200, 168, 255;--pal-slate-500-rgb:255, 255, 255;--pal-grey-rgb:255, 255, 255;--pal-grey-cool-rgb:255, 255, 255;--pal-slate-50:var(--fill);--pal-slate-400:var(--text-tertiary);--pal-slate-500:var(--text-secondary);--pal-slate-600:var(--text-secondary);--pal-slate-800:var(--text-primary);--pal-grey-ink:var(--text-tertiary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-size:15px;line-height:1.47}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:var(--tracking-title);font-optical-sizing:auto;line-height:1.2}h1{letter-spacing:var(--tracking-display);line-height:1.08}h2{letter-spacing:var(--tracking-display);line-height:1.12}html,body{width:100%;max-width:100%;position:relative;overflow-x:clip}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}#app{width:100%;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow-x:clip}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root{--dur-instant:.01ms;--dur-fast:.01ms;--dur-base:.01ms;--dur-slow:.01ms}}@media (prefers-reduced-transparency:reduce){:root{--material-chrome:#faf9f4;--material-popover:#fff;--material-affirm:#eef6ef;--material-panel:#fff;--material-blur:none}}@media (prefers-contrast:more){:root{--separator:#1c191438;--separator-strong:#1c191461;--border-color:#1c19143d;--border-strong:#1c19146b;--text-tertiary:#1c1914ad;--text-quaternary:#1c191480;--material-chrome:#faf9f4;--material-popover:#fff;--material-affirm:#eef6ef;--material-panel:#fff;--material-blur:none}}@media (prefers-reduced-transparency:reduce){html.theme-dark{--window-bg:#1c1a18;--material-chrome:#23211f}}@media (prefers-contrast:more){html.theme-dark{--window-bg:#1c1a18;--material-chrome:#23211f;--line:#ffffff4d;--separator-strong:#ffffff6b;--border-strong:#ffffff6b;--text-secondary:#ffffffe0;--text-tertiary:#ffffffb8;--text-quaternary:#ffffff8f}}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--text-primary)}.ui-group{background:var(--material-group);border-radius:16px;overflow:hidden}.ui-group-label{border-bottom:1px solid var(--separator);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:6px;padding:7px 12px 5px;font-size:10px;font-weight:700;display:flex}.ui-row{text-align:left;width:100%;min-height:34px;font:inherit;color:inherit;transition:background var(--dur-fast) var(--ease-out-apple);background:0 0;border:0;align-items:flex-start;gap:9px;padding:7px 12px;display:flex;position:relative}.ui-row+.ui-row:before{content:"";left:var(--row-inset,12px);background:var(--separator);height:1px;position:absolute;top:0;right:0}.ui-row .ui-group,.ui-group .ui-group{background:var(--fill-1);border-radius:var(--radius-inner)}.ui-row.is-clickable{cursor:pointer}.ui-row.is-clickable:hover{background:var(--fill-1)}.ui-row.is-clickable:active{background:var(--fill-2)}@keyframes surface-in{0%{opacity:0;transform:translateY(6px)}}.app-card{background:var(--material-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--elev-1);transition:box-shadow var(--dur-base) var(--ease-out-apple), border-color var(--dur-base) var(--ease-out-apple), transform var(--dur-base) var(--ease-out-apple);padding:24px}.app-card:hover{border-color:var(--accent-border);box-shadow:var(--elev-2)}.btn-primary,.btn-secondary{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;height:40px;transition:background var(--dur-fast) var(--ease-out-apple), box-shadow var(--dur-fast) var(--ease-out-apple), transform var(--dur-instant) var(--ease-out-apple);justify-content:center;align-items:center;gap:8px;padding:0 24px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--text-primary);border:none}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;height:40px;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out-apple), color var(--dur-fast) var(--ease-out-apple), transform var(--dur-instant) var(--ease-out-apple);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.btn-ghost:hover:not(:disabled){background:var(--fill-1);color:var(--text-primary)}.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost.danger{color:var(--danger)}.btn-ghost.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.btn-primary.btn-sm,.btn-secondary.btn-sm,.btn-ghost.btn-sm{height:30px;font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 14px}.app-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:var(--tracking-caps);background:var(--fill-2);color:var(--text-tertiary);border:1px solid #0000;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.app-badge.active{color:#22c55e;background:#22c55e1f;border-color:#22c55e40}.app-input{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;height:44px;color:var(--text-primary);appearance:none;outline:none;padding:0 16px;font-family:inherit;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.app-input:focus{background:var(--field-bg-focus);border-color:var(--accent-ring);box-shadow:0 0 0 4px var(--accent-soft)}select.app-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.app-input--sm{border-radius:var(--radius-md);height:32px;padding:0 12px;font-size:13px}select.app-input.app-input--sm{background-position:right 10px center;padding-right:32px}.app-modal-backdrop{-webkit-backdrop-filter:blur(16px)saturate(120%);z-index:2000;background:#18140e52;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.app-modal{-webkit-backdrop-filter:blur(40px)saturate(180%);border-radius:var(--radius-2xl);width:100%;max-width:520px;max-height:calc(100vh - 64px);box-shadow:var(--elev-3);background:#fffffff0;border:1px solid #fff9;padding:40px;overflow-y:auto}.app-modal-title{color:var(--text-primary);margin:0 0 32px;font-size:24px;font-weight:700}.app-modal-actions{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.app-label{text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.mt-xs{margin-top:4px}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px}.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px}.ml-xs{margin-left:4px}.ml-sm{margin-left:8px}.ml-md{margin-left:16px}.ml-lg{margin-left:24px}.ml-xl{margin-left:32px}.mr-xs{margin-right:4px}.mr-sm{margin-right:8px}.mr-md{margin-right:16px}.mr-lg{margin-right:24px}.mr-xl{margin-right:32px}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:4px}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.auth-layout{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-card{background:var(--material-card);border:1px solid var(--border-color);border-radius:var(--radius-2xl);width:100%;max-width:400px;box-shadow:var(--elev-3);z-index:2;padding:48px 36px;position:relative}.auth-logo{justify-content:center;align-items:center;gap:14px;margin-bottom:8px;display:flex}.auth-logo h1{font-size:var(--text-3xl);font-weight:var(--weight-extrabold);color:var(--text-primary);letter-spacing:-1px;margin:0}.auth-subtitle{text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:32px}.auth-form{flex-direction:column;gap:16px;width:100%;display:flex}.auth-input{box-sizing:border-box;width:100%;font-size:var(--text-md);background:var(--fill-1);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-out-apple), background var(--dur-fast) var(--ease-out-apple), box-shadow var(--dur-fast) var(--ease-out-apple);outline:none;padding:16px;font-family:inherit}.auth-input:focus{background:var(--material-card);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.auth-input::placeholder{color:var(--text-quaternary)}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-btn{width:100%;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);background:var(--accent);border-radius:var(--radius-pill);cursor:pointer;min-height:54px;transition:box-shadow var(--dur-fast) var(--ease-out-apple), transform var(--dur-instant) var(--ease-out-apple);border:none;justify-content:center;align-items:center;padding:16px 24px;font-family:inherit;display:flex}.auth-btn:hover:not(:disabled){box-shadow:0 6px 18px var(--accent-glow)}.auth-btn:active:not(:disabled){transform:scale(.985)}.auth-btn:disabled{cursor:not-allowed;background:#f0745080}.auth-btn-text{color:var(--text-tertiary);font-size:var(--text-sm);cursor:pointer;text-align:center;background:0 0;border:none;font-family:inherit;transition:color .2s}.auth-btn-text:hover{color:var(--text-primary)}.auth-error{border-radius:var(--radius-md);color:#dc2626;font-size:var(--text-sm);text-align:center;background:#ef444414;border:1px solid #ef444433;padding:12px 16px}.auth-footer{text-align:center;color:var(--text-quaternary);font-size:var(--text-xs);margin-top:36px}.auth-otp-container{justify-content:center;align-items:center;width:100%;height:64px;margin:8px 0;display:flex;position:relative}.auth-otp-inputs{opacity:1;justify-content:center;gap:12px;width:100%;transition:all .5s cubic-bezier(.25,1,.5,1);display:flex;transform:scale(1)}.auth-otp-container.is-loading .auth-otp-inputs{opacity:0;pointer-events:none;gap:0;transform:scale(.6)}.auth-otp-cell{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--fill-1);width:56px;height:64px;font-size:var(--text-2xl);font-weight:var(--weight-bold);text-align:center;color:var(--text-primary);outline:none;font-family:inherit;transition:all .2s}.auth-otp-cell:focus{border-color:var(--accent);background:#f074500d}.auth-otp-loading{opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.4,0,.2,1) .1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.auth-otp-container.is-loading .auth-otp-loading{opacity:1;transform:translate(-50%,-50%)scale(1)}.auth-spinner{border:2px solid var(--fill-3);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-bg-glow{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.auth-bg-glow-1{background:var(--accent-soft);width:500px;height:500px;top:-100px;right:-100px}.auth-bg-glow-2{background:#f074500d;width:400px;height:400px;bottom:-100px;left:-100px}.is-desktop-mac{--desktop-traffic-lights:96px}html.is-desktop-mac .desktop-titlebar{padding-left:var(--desktop-traffic-lights);-webkit-app-region:drag}html.is-desktop-mac .sb-head.desktop-titlebar{padding-top:24px;padding-left:7px}html.is-desktop-mac .shell-toolbar.desktop-titlebar{padding-left:clamp(14px,1.6vw,22px)}html.is-desktop-mac .desktop-titlebar :where(a,button,input,select,textarea,[contenteditable],[role=button],[role=menu],[role=listbox],[role=dialog],[class*=dropdown],[class*=picker],[class*=menu],[class*=popup]){-webkit-app-region:no-drag}html.is-desktop-mac .auth-layout:before{content:"";-webkit-app-region:drag;z-index:1;height:38px;position:fixed;top:0;left:0;right:0}.is-desktop-mac{--desktop-window-radius:30px}html.is-ipad-app,html.is-ipad-app body{overscroll-behavior:none}html.is-desktop-mac,html.is-desktop-mac body{background-color:#0000}html.is-desktop-mac #app{clip-path:inset(0 round var(--desktop-window-radius));position:fixed;inset:0;overflow:hidden auto}html.is-desktop-mac body:before{content:"";z-index:-1;background-color:var(--window-bg);border-radius:var(--desktop-window-radius);pointer-events:none;position:fixed;inset:0}html.is-desktop-mac .shell,html.is-desktop-mac .portal-view,html.is-desktop-mac .auth-layout{background-color:#0000}html.is-desktop-mac .shell:before,html.is-desktop-mac .modal-backdrop{border-radius:var(--desktop-window-radius)}
