:root{--brand:#355c95;--brand-dark:#2a4a77;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--red:#dc2626;--green:#16a34a;}*{box-sizing:border-box;margin:0;padding:0;}body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center; background:#312e81 url('../img/bg-1.jpg') no-repeat center center fixed;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;padding:20px;} body::before{content:'';position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:0;}.card{position:relative;z-index:1;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);border-radius:18px;width:100%;max-width:400px;padding:36px 32px;box-shadow:0 20px 60px rgba(0,0,0,.4);}.card h1{font-size:1.4rem;margin-bottom:4px;color:var(--ink);}.card .sub{color:var(--muted);font-size:.9rem;margin-bottom:24px;}label{display:block;font-size:.82rem;font-weight:600;margin:14px 0 6px;color:var(--ink);}input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:.95rem;outline:none;transition:border-color .15s ease;background:rgba(255,255,255,.9);}input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(53,92,149,.12);}button{width:100%;margin-top:22px;padding:12px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-size:.98rem;font-weight:700;cursor:pointer;transition:background .15s ease;}button:hover{background:var(--brand-dark);}.error{background:#fef2f2;border:1px solid #fecaca;color:var(--red);padding:10px 14px;border-radius:10px;font-size:.87rem;margin-bottom:14px;}.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:var(--green);padding:10px 14px;border-radius:10px;font-size:.87rem;margin-bottom:14px;}.foot{text-align:center;margin-top:20px;font-size:.83rem;color:var(--muted);}.foot a{color:var(--brand);text-decoration:none;}.foot a:hover{text-decoration:underline;} /* Accessibility & Responsiveness */ :root { --muted: #4b5563; } *:focus-visible { outline: 3px solid rgba(53,92,149,0.5); outline-offset: 2px; } input, select, textarea { padding: 12px 14px !important; } button, .btn { min-height: 44px; display: flex; align-items: center; justify-content: center; }