.login-gateway{width:min(100%,1020px);margin:clamp(24px,5vh,56px) auto;padding:0 24px 24px}
.login-gateway-heading{margin-bottom:24px}.login-gateway-heading h1{font-size:34px;line-height:1.25;margin:0 0 10px}.login-gateway-heading p{font-size:17px;color:#526b76;margin:0}
.login-gateway-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:stretch}
.login-entry{min-width:0;border:1px solid #c5d7dd;border-top:4px solid #008d98;border-radius:12px;background:#fff;padding:26px;box-shadow:0 6px 24px #12353e08;animation:login-enter .25s ease-out}
.login-entry-heading{display:flex;gap:14px;align-items:center}.login-entry-heading h2{font-size:24px;line-height:1.3;margin:0 0 3px}.login-entry-heading p{font-size:15px;font-weight:650;color:#087584;margin:0}
.login-entry-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:#e2f4f2;color:#008693;font-size:25px}
.login-entry-description{font-size:16px;line-height:1.65;color:#536e78;margin:18px 0}
.login-gateway .field{margin:15px 0;font-size:16px}.login-gateway .field input{min-height:48px;font-size:16px;border-radius:6px}
.login-gateway .button{width:100%;min-height:48px;font-size:17px;white-space:normal;gap:12px;border-radius:6px;padding:10px 16px;text-align:center;transition:background .18s,transform .18s}
.login-gateway .button:hover{transform:translateY(-1px)}.login-gateway .button:disabled{opacity:.7;cursor:wait;transform:none}
.login-entry-note{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#536c78;line-height:1.6;margin:15px 0 0}.login-entry-note i{margin-top:4px;flex:none}
.login-gateway #loginError:empty,.login-status:empty{display:none}.login-gateway #loginError{padding:10px 12px;margin:12px 0;color:#a02a26;background:#fff0ed;border-left:3px solid #bc493e;border-radius:4px;font-size:15px;overflow-wrap:anywhere}
.login-status{color:#007986;font-size:15px;margin:12px 0}.login-status:empty{display:none}
.login-entry-admin{display:flex;flex-direction:column;border-top-color:#224a6a}.login-entry-admin .login-entry-icon{background:#e9f0f8;color:#285774}.login-entry-admin .login-entry-heading p{color:#285774}
.login-admin-features{display:grid;gap:17px;list-style:none;padding:10px 0;margin:0 0 24px;color:#244651;font-size:16px}.login-admin-features li{display:flex;gap:12px;align-items:flex-start}.login-admin-features i{width:20px;flex:none;line-height:1.7;color:#3b6985}
.login-admin-button{margin-top:auto;background:#224a6a;color:#fff;border-color:#224a6a}.login-admin-button:hover{background:#15364f;color:#fff}
.login-gateway a:focus-visible,.login-gateway button:focus-visible,.login-gateway input:focus-visible{outline:3px solid #60c4cc;outline-offset:3px}
@keyframes login-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.login-gateway{margin:24px auto;padding:0 16px 24px}.login-gateway-grid{grid-template-columns:minmax(0,1fr);gap:18px}.login-entry{padding:22px}.login-admin-features{gap:12px;margin-bottom:18px}.login-gateway-heading h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.login-entry{animation:none}.login-gateway .button{transition:none;transform:none}}
.login-gateway{box-sizing:border-box;width:min(100%,620px);margin:clamp(28px,7vh,72px) auto}
.login-gateway-grid{display:block}
.login-entry-front{box-sizing:border-box;padding:28px 30px}
.login-role-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:26px;padding:4px;border:1px solid #c8dadd;border-radius:7px;background:#edf4f4}
.login-role-tabs button{min-height:46px;border:0;border-radius:5px;background:transparent;color:#4d6971;font-weight:700;cursor:pointer}
.login-role-tabs button[aria-pressed="true"]{background:#fff;color:#006c70;box-shadow:0 1px 5px #12353e19}
.login-role-tabs button i{margin-right:6px}
.login-entry-front .login-entry-description{margin:18px 0 5px}
.login-entry-front .login-submit{margin-top:10px}
.login-admin-link{margin:20px 0 0;text-align:center;color:#607780;font-size:14px}
.login-admin-link a{color:#23536b;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.login-admin-link i{margin-left:4px}
@media(max-width:700px){.login-entry-front{padding:22px}.login-gateway{margin:24px auto}}
