body:has(main.login-box){min-height:100dvh;margin:0;padding:24px;box-sizing:border-box;background:radial-gradient(ellipse at 20% 0%,#244957 0%,#152b36 35%,#101c25 75%);color:#e7f3fa;font-family:'Segoe UI',sans-serif;display:grid;place-items:center}
body main.box.login-box{box-sizing:border-box;width:min(100%,490px);margin:0;padding:32px 36px;background:linear-gradient(145deg,#253e4c,#192d39);border:1px solid #648b9e;border-radius:22px;box-shadow:inset 0 1px 1px #c5edff35,0 24px 64px #0005}
body .login-box .portal-logo{display:block;width:255px;max-width:100%;height:auto;max-height:115px;object-fit:contain;margin:0 auto 28px}
body .login-box h1{text-align:center;font-size:27px;line-height:1.2;margin:0 0 12px;color:#eef8ff}
body .login-box .login-intro{text-align:center;color:#bdd3df;line-height:1.5;margin:0 0 24px;font-size:15px}
body .login-box form{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:18px;margin:20px 0}
body .login-box label{display:block;margin:0;color:#c4dce7;font-size:14px;font-weight:600}
body .login-box input:not([type=hidden]){box-sizing:border-box;display:block;width:100%;margin:8px 0 0;padding:13px 14px;min-height:48px;border:1px solid #648698;border-radius:10px;background:#152b36;color:#eff8fc;font:16px 'Segoe UI',sans-serif}
body .login-box button,body .login-box a.login-return{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;width:100%;padding:12px 16px;border:1px solid #79b8c7;border-radius:11px;background:linear-gradient(145deg,#238c9c,#126477);box-shadow:inset 0 1px 2px #dbfbff55,0 4px 8px #0004;color:#f0fbff;font:600 15px 'Segoe UI',sans-serif;cursor:pointer;text-decoration:none}
body .login-box button:hover{background:linear-gradient(145deg,#2a9aaa,#187c8d)}
body .login-box button svg,body .login-box a svg{width:22px;height:22px;flex-shrink:0;stroke:#b6efff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .login-box a.login-return{background:linear-gradient(145deg,#36596b,#193441);margin-top:16px}
body .login-box .login-forgot{display:block;text-align:center;color:#99dfea;font-weight:600;font-size:14px;margin-top:18px;text-underline-offset:4px}
body .login-box .login-help,body .login-box .login-footer{color:#a9c5d3;font-size:13px;line-height:1.5;margin:0}
body .login-box .login-footer{text-align:center;border-top:1px solid #486b7d;margin-top:26px;padding-top:18px}
body .login-box .login-notice{padding:13px 15px;margin:18px 0;background:#1b3745;border:1px solid #83c1d2;border-radius:10px;color:#e1f3fa;line-height:1.5;font-size:14px}
body .login-box :focus-visible{outline:2px solid #82e0eb;outline-offset:3px}
@media(max-width:520px){body:has(main.login-box){padding:16px}body main.box.login-box{padding:26px 22px}body .login-box h1{font-size:24px}}
