:root{--color-bg: #0c1118;--color-surface: #141c27;--color-border: #243044;--color-text: #e8eef6;--color-muted: #8fa3bc;--color-accent: #1a9b8f;--color-accent-hover: #22b8aa;--color-accent-soft: rgba(26, 155, 143, .15);--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--radius: 12px;--shadow: 0 24px 48px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-sans);background:radial-gradient(ellipse 120% 80% at 50% -20%,#1a3a45 0%,var(--color-bg) 55%);color:var(--color-text);line-height:1.5}a{color:var(--color-accent-hover);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--radius);border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-muted)}.btn-ghost{background:transparent;color:var(--color-muted);padding:.5rem .75rem;font-weight:500}.btn-ghost:hover{color:var(--color-text)}.landing{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:1.5rem}.landing-header{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.125rem}.brand-mark{color:var(--color-accent);font-size:1.25rem}.landing-main{max-width:640px;margin:auto;padding:3rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--color-accent);margin:0 0 .75rem}.hero-title{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:0 0 1rem;font-weight:700}.hero-subtitle{font-size:1.125rem;color:var(--color-muted);margin:0 0 2rem;max-width:36ch}.cta-row{display:flex;gap:1rem;flex-wrap:wrap}.landing-footer{color:var(--color-muted);font-size:.875rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);padding:2rem;box-shadow:var(--shadow)}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--color-muted);font-size:.875rem}.login-title{margin:0 0 .5rem;font-size:1.5rem}.login-subtitle{margin:0 0 1.5rem;color:var(--color-muted);font-size:.9375rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.field-label{font-size:.875rem;font-weight:600}.field-input{width:100%;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:1rem}.field-input:focus{outline:2px solid var(--color-accent-soft);border-color:var(--color-accent)}.otp-input{letter-spacing:.35em;text-align:center;font-size:1.25rem;font-variant-numeric:tabular-nums}.email-display{margin:0;font-weight:600}.link-btn{align-self:flex-start;background:none;border:none;color:var(--color-accent-hover);cursor:pointer;padding:0;font-size:.875rem}.link-btn:disabled{opacity:.5;cursor:not-allowed}.form-error{margin:0;padding:.75rem 1rem;border-radius:var(--radius);background:#dc35451f;border:1px solid rgba(220,53,69,.35);color:#f5a5ad;font-size:.875rem}.form-success{margin:0;padding:.75rem 1rem;border-radius:var(--radius);background:var(--color-accent-soft);border:1px solid rgba(26,155,143,.35);color:#9de8df;font-size:.875rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:#141c27d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-brand{display:flex;align-items:center;gap:.5rem;font-weight:700}.app-nav{display:flex;align-items:center;gap:1rem}.app-main{flex:1;padding:2rem 1.5rem;max-width:960px;margin:0 auto;width:100%}.app-welcome{color:var(--color-muted)}.placeholder-card{margin-top:1.5rem;padding:2rem;border-radius:var(--radius);border:1px dashed var(--color-border);background:var(--color-surface);color:var(--color-muted)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--color-muted)}@media(max-width:480px){.login-card{padding:1.5rem}}
