:root{--ocean-950:#06233a;--ocean-900:#083454;--ocean-800:#0b4a72;--ocean-600:#0d75a8;--ocean-500:#1597c9;--ocean-300:#84d7ee;--panel:rgba(255,255,255,.92);--line:rgba(132,215,238,.45);--text:#08263f;--muted:#52708a;--error:#8a2020}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:-webkit-fill-available}
body{margin:0;font-family:"Segoe UI",Tahoma,sans-serif;color:var(--text)}
.auth-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(circle at 20% 15%,rgba(132,215,238,.5),transparent 28%),radial-gradient(circle at 82% 18%,rgba(21,151,201,.32),transparent 30%),linear-gradient(135deg,#f4fbff 0%,#dff5ff 45%,#c9ecf8 100%);overflow:auto}
.auth-page::before{content:"";position:fixed;inset:auto -10vw -28vh;height:48vh;background:linear-gradient(110deg,rgba(8,52,84,.95),rgba(13,117,168,.86),rgba(132,215,238,.55));border-radius:50% 50% 0 0;z-index:-2}
.auth-page::after{content:"";position:fixed;width:520px;height:520px;right:-180px;top:-180px;background:radial-gradient(circle,rgba(255,255,255,.7),rgba(132,215,238,.18) 42%,transparent 70%);z-index:-1}
.auth-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(6,35,58,.18);backdrop-filter:blur(18px)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:25px;color:var(--text);text-decoration:none;font-weight:750}
.auth-brand>span:last-child{display:flex;flex-direction:column}.auth-brand small{margin-top:2px;color:var(--muted);font-size:9px;letter-spacing:.16em}
.auth-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:22px;background:linear-gradient(145deg,var(--ocean-800),var(--ocean-500));box-shadow:0 12px 26px rgba(8,119,185,.28)}
h1{margin:0 0 8px;font-size:40px;line-height:1.05;letter-spacing:-.04em}.auth-lead{margin:0 0 24px;color:var(--muted);font-size:17px}
.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:8px;color:var(--muted);font-size:14px}.auth-form input{width:100%;border:1px solid rgba(13,117,168,.24);border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.94);color:var(--text);font:inherit;outline:none}.auth-form input:focus{border-color:var(--ocean-500);box-shadow:0 0 0 4px rgba(21,151,201,.14)}
.auth-form button{border:0;border-radius:999px;padding:14px 18px;margin-top:6px;background:linear-gradient(135deg,#0877b9,var(--ocean-500));color:#fff;cursor:pointer;font:inherit;font-weight:700;box-shadow:0 16px 32px rgba(8,119,185,.26)}.auth-form button:hover{background:linear-gradient(135deg,#055f96,var(--ocean-600));transform:translateY(-1px)}
.auth-error{padding:12px 14px;border:1px solid #f0b4b4;border-radius:14px;margin-bottom:16px;background:#ffe2e2;color:var(--error);font-size:14px}.auth-error ul{margin:0;padding-left:18px}.field-error{color:var(--error);font-size:13px}.auth-form small{font-size:12px;line-height:1.45}.auth-form small ul{margin:0;padding-left:18px}.auth-security{margin:24px 0 0;text-align:center;color:var(--muted);font-size:12px}.auth-back{display:block;margin-top:20px;text-align:center;color:var(--ocean-600)}
@media(max-width:560px){.auth-page{place-items:start center}.auth-card{padding:26px 22px;border-radius:26px}.auth-form input{font-size:16px}h1{font-size:34px}}

.auth-sso{display:block;text-align:center;padding:12px 16px;border:1px solid #cdd7e5;border-radius:10px;color:#263b5a;text-decoration:none;font-weight:600}.auth-sso:hover{background:#f0edff;border-color:#7253f4}.auth-sso:focus-visible{outline:3px solid #7253f4;outline-offset:3px}
