@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Delius;src:url(/fonts/Delius-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--jt-black: #000000;--jt-indigo: #2201b1;--jt-white: #ffffff;--jt-violet: #7a4df4;--jt-lilac: #cc82ff;--jt-ink-900: #0b0b10;--jt-ink-600: #26262f;--jt-gray-500: #6b6b73;--jt-gray-200: #e2e2e6;--jt-gray-100: #eeeef0;--jt-gray-50: #f7f7f8;--surface-base: var(--jt-gray-100);--surface-raised: var(--jt-white);--surface-card: var(--jt-white);--surface-inset: var(--jt-gray-50);--surface-brand: var(--jt-indigo);--text-primary: var(--jt-ink-900);--text-secondary: var(--jt-ink-600);--text-muted: var(--jt-gray-500);--text-on-brand: var(--jt-white);--border-subtle: rgba(11, 11, 16, .1);--border-strong: rgba(11, 11, 16, .2);--accent: var(--jt-violet);--accent-hover: #6a3ce8;--accent-press: #5a2fd0;--link: var(--jt-violet);--link-hover: var(--jt-indigo);--focus-ring: var(--jt-lilac);--danger-bg: #fdecef;--danger-text: #8a1538;--jt-gradient-indigo: linear-gradient(160deg, #2201b1 0%, #1a0a5e 55%, #05030f 100%);--jt-gradient-brand: linear-gradient(120deg, #116af8 0%, #7a4df4 38%, #be3e79 72%, #e75f3a 100%);--font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;--font-display: "Delius", "Comic Sans MS", cursive;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--radius-arch: 140px;--shadow-md: 0 8px 24px rgba(5, 5, 7, .1);--focus-width: 3px;--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .14s;--dur-base: .24s}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased}#root{min-height:100%}h1,h2,h3{font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0 0 .4em;text-wrap:balance}p{margin:0 0 1em;text-wrap:pretty}a{color:var(--link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--link-hover)}::selection{background:var(--jt-violet);color:#fff}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:2px}.label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-6);border:1px solid transparent;border-radius:var(--radius-pill);font:inherit;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn-primary{background:var(--accent);color:var(--text-on-brand)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--accent-press);transform:translateY(1px)}.btn-primary:disabled{background:var(--jt-gray-200);color:var(--text-muted);cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{border-color:var(--text-primary)}.btn-block{width:100%}.link-btn{background:none;border:0;padding:var(--space-2) 0;min-height:44px;font:inherit;font-size:15px;font-weight:600;color:var(--link);cursor:pointer}.link-btn:hover{color:var(--link-hover)}.link-btn:disabled{color:var(--text-muted);cursor:default}.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-5)}.field label{font-size:14px;font-weight:600;color:var(--text-primary)}.field input{width:100%;min-height:56px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:17px;transition:border-color var(--dur-fast) var(--ease-out)}.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 var(--focus-width) #cc82ff73}.field input.code-input{font-size:26px;font-weight:700;letter-spacing:.4em;text-align:center}.field .hint{font-size:14px;color:var(--text-muted);margin:0}.alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);font-size:15px;line-height:1.5}.alert-error{background:var(--danger-bg);color:var(--danger-text)}.alert-info{background:var(--surface-inset);color:var(--text-secondary);border:1px solid var(--border-subtle)}.signin{display:grid;grid-template-columns:1fr;min-height:100vh}.signin-brand{display:none;position:relative;overflow:hidden;background:var(--jt-gradient-indigo);color:var(--text-on-brand);padding:var(--space-8);border-bottom-right-radius:var(--radius-arch)}.signin-brand:after{content:"";position:absolute;width:420px;height:420px;right:-140px;bottom:-140px;border-radius:50% 50% 0;background:var(--jt-gradient-brand);opacity:.55;filter:blur(4px)}.signin-brand-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;justify-content:flex-end;max-width:520px}.signin-brand h2{font-size:44px;color:var(--text-on-brand)}.signin-brand p{font-size:18px;color:#ffffffdb;max-width:440px}.signin-brand .label{color:var(--jt-lilac);margin-bottom:var(--space-5)}.signin-main{display:flex;flex-direction:column;justify-content:center;padding:var(--space-6) var(--space-4)}.signin-card{width:100%;max-width:480px;margin:0 auto;background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5)}.signin-logo{display:block;height:36px;width:auto;margin-bottom:var(--space-6)}.signin-card .label{color:var(--text-muted);margin-bottom:var(--space-3);display:block}.signin-card h1{font-size:30px}.signin-card .lead{color:var(--text-secondary);font-size:16px;margin-bottom:var(--space-6)}.signin-foot{margin-top:var(--space-5);font-size:14px;color:var(--text-muted)}.signin-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3)}@media (min-width: 960px){.signin{grid-template-columns:1fr 1fr}.signin-brand{display:block}.signin-main{padding:var(--space-8)}.signin-card{padding:var(--space-7) var(--space-6)}}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--border-subtle)}.topbar-logo{height:32px;width:auto;display:block}.topbar nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}.topbar nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.topbar nav a:hover{color:var(--text-primary);background:var(--surface-inset)}.topbar nav a.active{background:var(--accent);color:var(--text-on-brand)}.topbar-user{display:flex;align-items:center;gap:var(--space-3);font-size:14px;color:var(--text-muted)}.page{padding:var(--space-6) var(--space-5)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.card h1{font-size:30px}.card .label{color:var(--text-muted);display:block;margin-bottom:var(--space-3)}.muted{color:var(--text-muted)}.center-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-muted)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
