:root{--page-bg:#e8e4f0;--card-bg:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--text:#1f2937;--muted:#6b7280;--border:#d1d5db;--error:#dc2626;--radius:12px;--shadow:0 10px 25px #0f172a14}*,:before,:after{box-sizing:border-box}html,body{background:var(--page-bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.card{background:var(--card-bg);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2rem 2rem 1.75rem}.logo{width:auto;height:48px;margin:0 auto 1.5rem;display:block}.title{text-align:center;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.field{margin-bottom:1rem}.field label{margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.field input{border:1px solid var(--border);border-radius:8px;width:100%;padding:.65rem .75rem;font-size:1rem}.field input:focus{border-color:var(--primary);outline:2px solid #2563eb59}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.footer{text-align:center;color:var(--muted);margin-top:1.25rem;font-size:.9rem}.error{color:var(--error);background:#fef2f2;border-radius:8px;margin:0 0 1rem;padding:.65rem .75rem;font-size:.875rem}
