:root{color-scheme:light;--navy:#113f78;--blue:#286aa9;--ink:#15243a;--muted:#617084;--line:#d9e2ec;--field:#f8fafc;--ok:#176738;--ok-bg:#ebf8f0;--danger:#a52424;--danger-bg:#fff0f0}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:28px 16px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% 14%,rgba(92,155,216,.24),transparent 32rem),radial-gradient(circle at 88% 86%,rgba(51,119,179,.16),transparent 30rem),linear-gradient(145deg,#f5f9fd 0%,#edf4fa 52%,#f8fbfd 100%)}
.page{width:min(100%,470px)}
.card{overflow:hidden;background:rgba(255,255,255,.97);border:1px solid rgba(190,207,224,.85);border-radius:22px;box-shadow:0 22px 60px rgba(20,57,94,.14)}
.brand-line{height:6px;background:linear-gradient(90deg,var(--navy),#3f8bc9)}
.content{padding:31px 34px 30px}
.logo{display:block;width:min(100%,250px);max-height:76px;object-fit:contain;margin:0 auto 20px}
h1{margin:0;color:var(--navy);text-align:center;font-size:clamp(1.55rem,6vw,1.9rem);letter-spacing:-.025em}
.subtitle{margin:9px auto 24px;color:var(--muted);text-align:center;font-size:.94rem;line-height:1.5}
.message{margin:0 0 18px;padding:12px 13px;color:var(--ok);background:var(--ok-bg);border:1px solid #bfe2cc;border-radius:10px;font-size:.9rem;line-height:1.45}
.message.error{color:var(--danger);background:var(--danger-bg);border-color:#f2caca}
label{display:block;margin:0 0 7px;font-size:.88rem;font-weight:750;color:#33445a}
.field{position:relative;margin-bottom:17px}
input[type=text],input[type=password]{width:100%;min-height:48px;padding:11px 13px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:11px;font:inherit;font-size:16px;outline:none}
input:focus{background:#fff;border-color:#6ca0ce;box-shadow:0 0 0 4px rgba(49,115,174,.12)}
.submit{width:100%;min-height:50px;padding:12px 18px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue));border:0;border-radius:12px;box-shadow:0 8px 18px rgba(27,84,137,.22);font:inherit;font-weight:800;font-size:1rem;cursor:pointer}
.submit:hover{filter:brightness(1.04)}
.links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:19px;font-size:.88rem}
.links a{color:#175d99}
.note{margin:17px 0 0;color:var(--muted);text-align:center;font-size:.79rem;line-height:1.45}
.footer{margin-top:17px;color:#718096;text-align:center;font-size:.78rem}
@media(max-width:480px){body{padding:16px 11px}.content{padding:27px 21px 24px}.card{border-radius:18px}.logo{width:min(100%,225px)}}
