.tf-login{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.tf-login__card{gap:var(--space-4);width:100%;max-width:24rem;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex}.tf-login__title{font-size:var(--font-size-xl);font-weight:600;line-height:1.1}.tf-login__error{color:var(--color-danger-500);font-size:var(--font-size-sm);font-weight:500}.tf-setup{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.tf-setup__card{gap:var(--space-4);width:100%;max-width:30rem;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex}.tf-setup__title{font-size:var(--font-size-xl);font-weight:600;line-height:1.1}.tf-setup__subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:calc(var(--space-2) * -1)}.tf-setup__section{color:var(--color-text-muted);font-size:var(--font-size-sm);letter-spacing:0;text-transform:uppercase;margin-top:var(--space-2);font-weight:500}.tf-setup__row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.tf-setup__error{color:var(--color-danger-500);font-size:var(--font-size-sm);font-weight:500}@media (width<=520px){.tf-setup__row{grid-template-columns:1fr}}.tf-user-menu{min-width:0;position:relative}.tf-user-menu__trigger{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:2.75rem;padding:var(--space-2);border-radius:var(--radius-md);color:#e8f5f4d1;font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:background-color .16s ease, color .16s ease, gap var(--tf-rail-motion,.26s cubic-bezier(.2, .8, .2, 1)), padding var(--tf-rail-motion,.26s cubic-bezier(.2, .8, .2, 1));background:#ffffff0f;border:1px solid #ffffff14;font-weight:500;display:flex;overflow:hidden}.tf-user-menu__avatar{border-radius:var(--radius-md);color:#061314;width:1.8rem;height:1.8rem;font-size:var(--font-size-xs);background:linear-gradient(135deg,#5ff4e9,#9cff7b);flex:none;place-items:center;font-weight:600;display:grid}.tf-user-menu__label{text-overflow:ellipsis;white-space:nowrap;text-align:left;opacity:1;min-width:0;max-width:9rem;transition:max-width var(--tf-rail-motion,.26s cubic-bezier(.2, .8, .2, 1)), opacity .18s ease, transform var(--tf-rail-motion,.26s cubic-bezier(.2, .8, .2, 1));flex:1;overflow:hidden;transform:translate(0)}.tf-user-menu--compact .tf-user-menu__trigger{padding:var(--space-2);justify-content:center;gap:0}.tf-user-menu--compact .tf-user-menu__label,.tf-user-menu--compact .tf-user-menu__chevron{opacity:0;pointer-events:none;max-width:0;overflow:hidden;transform:translate(-.25rem)}.tf-user-menu__trigger:hover,.tf-user-menu__trigger[aria-expanded=true]{color:#fff;background:#ffffff1a}.tf-user-menu__chevron{max-width:1rem;color:var(--color-accent);transition:max-width var(--tf-rail-motion,.26s cubic-bezier(.2, .8, .2, 1)), opacity .18s ease, transform .15s ease;flex:none;font-size:.7rem;display:inline-block;overflow:hidden}.tf-user-menu__chevron--open{transform:rotate(180deg)}.tf-user-menu__panel{right:0;bottom:calc(100% + var(--space-2));z-index:20;min-width:12rem;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;overflow:hidden}.tf-user-menu--compact .tf-user-menu__panel{bottom:0;right:auto;left:calc(100% + var(--space-2))}.tf-user-menu__item{text-align:left;width:100%;font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;display:block}.tf-user-menu__item:hover{background:var(--color-surface-tint)}.tf-user-menu__item--danger:hover{background:var(--color-danger-100);color:var(--color-danger-500)}.tf-user-menu__divider{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border)}@media (width<=800px){.tf-user-menu__trigger{width:auto}.tf-user-menu__panel{top:calc(100% + var(--space-2));bottom:auto;left:auto;right:0}.tf-user-menu--compact .tf-user-menu__label,.tf-user-menu--compact .tf-user-menu__chevron{opacity:1;pointer-events:auto;max-width:9rem;overflow:visible;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.tf-user-menu__trigger,.tf-user-menu__label,.tf-user-menu__chevron{transition-duration:.01ms}}.tf-shell{--tf-rail-motion:.26s cubic-bezier(.2, .8, .2, 1);min-height:100vh;transition:grid-template-columns var(--tf-rail-motion);grid-template-columns:minmax(13.5rem,15rem) minmax(0,1fr);display:grid}.tf-shell--collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.tf-shell__rail{gap:var(--space-6);height:100vh;padding:var(--space-4);color:#e8f5f4;background:radial-gradient(circle at 28% 0%, #00a6a63d, transparent 18rem), linear-gradient(180deg, var(--color-graphite-2) 0%, var(--color-graphite) 100%);transition:gap var(--tf-rail-motion), padding var(--tf-rail-motion);grid-template-rows:auto 1fr auto;display:grid;position:sticky;top:0;box-shadow:inset -1px 0 #ffffff0f}.tf-shell--collapsed .tf-shell__rail{padding:var(--space-3)}.tf-shell__rail-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.tf-shell__brand{gap:var(--space-3);min-width:0;transition:gap var(--tf-rail-motion), grid-template-columns var(--tf-rail-motion);grid-template-columns:2.75rem minmax(0,1fr);align-items:center;display:grid}.tf-shell__brand-mark{border-radius:var(--radius-lg);color:#061314;background:radial-gradient(circle at 26% 20%,#ffffffd1,#0000 32%),linear-gradient(135deg,#5ff4e9,#9cff7b 48%,#fff 100%);place-items:center;width:2.75rem;height:2.75rem;font-weight:600;display:grid;box-shadow:0 18px 34px #00a6a638}.tf-shell__brand-copy{opacity:1;min-width:0;max-width:9rem;transition:max-width var(--tf-rail-motion), opacity .18s ease, transform var(--tf-rail-motion);flex-direction:column;line-height:1.1;display:flex;overflow:hidden;transform:translate(0)}.tf-shell__brand-copy strong{font-size:var(--font-size-base)}.tf-shell__brand-copy span{color:#e8f5f494;font-size:var(--font-size-xs);margin-top:.2rem;font-weight:500}.tf-shell__rail-toggle{width:100%;height:1.45rem;padding:0 var(--space-2);border-radius:var(--radius-md);color:#e8f5f494;transition:background-color .16s ease, border-color .16s ease, color .16s ease, gap var(--tf-rail-motion), padding var(--tf-rail-motion), transform .16s ease;background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;gap:.35rem;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex}.tf-shell__rail-toggle:hover{color:#e8f5f4db;background:#ffffff13;border-color:#ffffff24}.tf-shell__rail-toggle-icon{flex:none;width:.68rem;height:.68rem}.tf-shell__rail-toggle-label{text-overflow:ellipsis;white-space:nowrap;opacity:1;min-width:0;max-width:8rem;transition:max-width var(--tf-rail-motion), opacity .18s ease, transform var(--tf-rail-motion);overflow:hidden;transform:translate(0)}.tf-shell__rail-footer{gap:var(--space-2);min-width:0;transition:gap var(--tf-rail-motion);flex-direction:column;display:flex}.tf-shell__nav{gap:var(--space-2);flex-direction:column;display:flex}.tf-shell__nav a{gap:var(--space-2);min-height:2.75rem;padding:var(--space-2);border-radius:var(--radius-md);color:#e8f5f4ad;font-size:var(--font-size-sm);transition:background-color .16s ease, color .16s ease, gap var(--tf-rail-motion), grid-template-columns var(--tf-rail-motion), padding var(--tf-rail-motion);grid-template-columns:2rem minmax(0,1fr);align-items:center;font-weight:500;display:grid;position:relative;overflow:hidden}.tf-shell__nav-label{text-overflow:ellipsis;white-space:nowrap;opacity:1;min-width:0;max-width:9rem;transition:max-width var(--tf-rail-motion), opacity .18s ease, transform var(--tf-rail-motion);overflow:hidden;transform:translate(0)}.tf-shell__nav a:hover,.tf-shell__nav a.active{color:#fff;background:#ffffff14}.tf-shell__nav a.active:after{content:"";right:calc(var(--space-4) * -1);border-radius:var(--radius-full);background:var(--color-accent);width:3px;height:1.5rem;position:absolute;box-shadow:0 0 18px #00a6a6cc}.tf-shell__nav-icon{border-radius:var(--radius-lg);color:#e8f5f4d1;background:#ffffff0f;place-items:center;width:2rem;height:2rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.tf-shell__nav-fa{width:1rem;height:1rem}.tf-shell__nav a.active .tf-shell__nav-icon{color:#061314;background:linear-gradient(135deg,#5ff4e9,#9cff7b)}.tf-shell__main{min-width:0}.tf-shell--collapsed .tf-shell__brand{grid-template-columns:2.75rem minmax(0,0fr);justify-content:center;gap:0}.tf-shell--collapsed .tf-shell__brand-copy,.tf-shell--collapsed .tf-shell__nav-label{opacity:0;pointer-events:none;max-width:0;transform:translate(-.35rem)}.tf-shell--collapsed .tf-shell__rail-toggle{gap:0;padding:0}.tf-shell--collapsed .tf-shell__rail-toggle-label{opacity:0;pointer-events:none;max-width:0;transform:translate(-.25rem)}.tf-shell--collapsed .tf-shell__rail-head{flex-direction:column}.tf-shell--collapsed .tf-shell__nav a{padding:var(--space-2);grid-template-columns:2rem minmax(0,0fr);justify-content:center;gap:0}.tf-shell--collapsed .tf-shell__nav a.active:after{right:calc(var(--space-3) * -1)}@media (width<=800px){.tf-shell{flex-direction:column;display:flex}.tf-shell__rail{align-items:center;gap:var(--space-3);height:auto;padding:var(--space-3);grid-template-rows:auto;grid-template-columns:auto 1fr auto;position:static}.tf-shell--collapsed .tf-shell__rail-head{flex-direction:row}.tf-shell__brand-copy,.tf-shell__rail-toggle{display:none}.tf-shell__rail-footer{align-self:center}.tf-shell__nav{flex-direction:row;min-width:0;padding-bottom:2px;overflow-x:auto}.tf-shell__nav a{padding-right:var(--space-3);flex:none;grid-template-columns:2rem auto}.tf-shell--collapsed .tf-shell__nav a{gap:var(--space-2);padding-right:var(--space-3);grid-template-columns:2rem auto;justify-content:start}.tf-shell--collapsed .tf-shell__nav-label{opacity:1;pointer-events:auto;max-width:9rem;transform:translate(0)}.tf-shell__nav a.active:after{right:auto;left:var(--space-2);width:calc(100% - var(--space-4));height:3px;bottom:-3px}}@media (prefers-reduced-motion:reduce){.tf-shell,.tf-shell__rail,.tf-shell__brand,.tf-shell__brand-copy,.tf-shell__rail-toggle,.tf-shell__rail-toggle-label,.tf-shell__rail-footer,.tf-shell__nav a,.tf-shell__nav-label{transition-duration:.01ms}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}#root{min-height:100vh}:root{--color-primary-50:#e2eef0;--color-primary-100:#c9e4e6;--color-primary-300:#79c9c9;--color-primary-500:#00a6a6;--color-primary-600:#007a82;--color-primary-700:#0c5266;--color-rust:#ff5a3d;--color-rust-rgb:255 90 61;--color-graphite:#14181b;--color-graphite-2:#20272b;--color-violet:#7c5cff;--color-lime:#84cc16;--color-neutral-0:#fff;--color-neutral-50:#f6f7f8;--color-neutral-100:#eef2f4;--color-neutral-200:#dde4e8;--color-neutral-300:#c8d2d8;--color-neutral-500:#66717a;--color-neutral-600:#4e5961;--color-neutral-700:#333a40;--color-neutral-800:#252a2e;--color-neutral-900:#101214;--color-ink-rgb:16 18 20;--color-success-500:#3f7457;--color-success-100:#dbece2;--color-danger-500:#ff5a3d;--color-danger-100:#ffe5df;--color-warning-500:#9b6d21;--color-warning-100:#fff3cf;--color-bg:var(--color-neutral-50);--color-surface:#ffffffe0;--color-surface-raised:#fff;--color-surface-tint:#eef9f8;--color-border:var(--color-neutral-200);--color-border-strong:var(--color-neutral-300);--color-text:var(--color-neutral-900);--color-text-muted:var(--color-neutral-500);--color-accent:var(--color-primary-500);--color-accent-strong:var(--color-primary-700);--color-accent-contrast:#fff;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--radius-full:9999px;--shadow-sm:0 1px 2px #14181b0f;--shadow-md:0 16px 40px #14181b14;--shadow-lg:0 24px 70px #14181b24;--focus-ring:0 0 0 3px #00a6a63d}@media (prefers-color-scheme:dark){:root{--color-primary-50:#0e2f36;--color-primary-100:#123f48;--color-primary-300:#46bfc0;--color-primary-500:#5ff4e9;--color-primary-600:#7fecea;--color-primary-700:#a7fbf5;--color-rust:#ff7a63;--color-rust-rgb:255 122 99;--color-lime:#a3e635;--color-violet:#9b87ff;--color-ink-rgb:242 251 251;--color-neutral-0:#161b1e;--color-neutral-50:#0f1315;--color-neutral-100:#161b1e;--color-neutral-200:#273137;--color-neutral-300:#38454d;--color-neutral-500:#9aaaae;--color-neutral-600:#b9c5c8;--color-neutral-700:#d5e0e2;--color-neutral-800:#e9f0f1;--color-neutral-900:#f2fbfb;--color-success-500:#94d6ad;--color-success-100:#163024;--color-danger-500:#ff8a75;--color-danger-100:#3c201b;--color-warning-500:#f5c35b;--color-warning-100:#382910;--color-bg:#0f1315;--color-surface:#161b1ee6;--color-surface-raised:#1a2024;--color-surface-tint:#102529;--color-border:#273137;--color-border-strong:#38454d;--color-text:#f2fbfb;--color-text-muted:#9aaaae;--color-accent:var(--color-primary-500);--color-accent-strong:var(--color-primary-700);--color-accent-contrast:#061314;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 16px 40px #00000052;--shadow-lg:0 24px 70px #00000073}}body{background:radial-gradient(circle at 14% 0%, #00a6a621, transparent 30rem), radial-gradient(circle at 90% 8%, #7c5cff1f, transparent 28rem), radial-gradient(circle at 82% 88%, #ff5a3d14, transparent 24rem), linear-gradient(180deg, #fbfcfd 0%, var(--color-bg) 42%, var(--color-neutral-100) 100%);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);letter-spacing:0}@media (prefers-color-scheme:dark){body{background:radial-gradient(circle at 14% 0%, #5ff4e921, transparent 30rem), radial-gradient(circle at 90% 8%, #7c5cff24, transparent 28rem), linear-gradient(180deg, #111719 0%, var(--color-bg) 58%, #0b0f11 100%)}}
