:root{--accent:#d97706;--accent-light:#fbbf24;--accent-soft:#fffbeb;--accent-dark:#92400e;--bg:#f8fafc;--surface:#fff;--surface-raised:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--text:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--blue:#2563eb;--green:#059669;--gold:#d97706;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000d,0 1px 3px #00000008;--shadow-lg:0 12px 40px #00000014,0 4px 12px #0000000a;--shadow-xl:0 24px 60px #0000001a,0 8px 20px #0000000a;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px}*{box-sizing:border-box}body{color:var(--text);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-shell,body{background:var(--bg)}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:32px}.auth-card h1{color:var(--text);letter-spacing:-.3px;margin:0 0 8px;font-size:22px;font-weight:900}.auth-card .subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.field{margin-bottom:16px}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d977061f}.role-options{gap:12px;display:flex}.role-option{border:1px solid var(--border);text-align:center;cursor:pointer;color:var(--text-secondary);border-radius:10px;flex:1;padding:12px;font-size:14px;transition:all .2s}.role-option.active{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #d9770647}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #d9770652}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:center;background:0 0;border-radius:10px;padding:12px;font-size:15px;text-decoration:none;transition:all .2s;display:inline-block}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.checkbox-row{color:var(--text-secondary);align-items:flex-start;gap:10px;margin-bottom:20px;font-size:13px;display:flex}.checkbox-row input{margin-top:3px}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:13px}.auth-footer a{color:var(--accent);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.placeholder-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.placeholder-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);text-align:center;padding:40px 36px}.placeholder-card h1{color:var(--text);letter-spacing:-.5px;margin:0 0 12px;font-size:24px;font-weight:900}.placeholder-card p{color:var(--text-secondary);margin:0 0 24px;font-size:15px;line-height:1.6}.placeholder-card a{color:var(--accent);font-weight:700;text-decoration:none}.placeholder-card a:hover{text-decoration:underline}
