*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--surface: #1e293b;--border: #334155;--accent: #6366f1;--accent-hover: #4f46e5;--text: #f1f5f9;--muted: #64748b;--error-bg: #450a0a;--error-border: #7f1d1d;--error-text: #fca5a5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:48px 40px;width:100%;max-width:400px;box-shadow:0 25px 50px #0006}.logo{text-align:center;font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:32px}.logo span{color:var(--accent)}.logo p{font-size:13px;font-weight:400;color:var(--muted);margin-top:6px}.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field span{font-size:13px;font-weight:500;color:var(--muted)}.field input{padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;outline:none;transition:border-color .2s;width:100%}.field input:focus{border-color:var(--accent)}.field input::placeholder{color:#475569}.field input:disabled{opacity:.6}.btn-primary{width:100%;padding:13px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}
