.portal-login {
  margin:0; min-height:100vh; display:grid; place-items:center;
  padding:24px; box-sizing:border-box; background:#f3f6fa; color:#192b3c;
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.portal-login * {box-sizing:border-box}
.login-panel {width:min(100%,420px); background:#fff; border:1px solid #dce4ea; border-radius:18px; overflow:hidden; box-shadow:0 12px 36px #122b3910}
.login-panel header {display:flex; gap:16px; align-items:center; padding:26px; background:linear-gradient(125deg,#142e3b,var(--company-primary)); color:#fff; border-bottom:4px solid var(--company-accent)}
.login-panel h1 {font-size:1.45rem; line-height:1.2; overflow-wrap:anywhere; margin:0}
.portal-mark {display:inline-grid; vertical-align:middle; place-items:center; width:48px; height:48px; flex:none; border-radius:12px; background:#fff; color:var(--company-primary); object-fit:contain; padding:4px; font:bold 24px/1 system-ui}
.login-panel form {padding:25px 26px}
.login-panel h2 {font-size:1.18rem; margin:0 0 18px}
.login-panel label {display:block; font-weight:600; font-size:.9rem; margin:16px 0 5px}
.login-panel input,.login-panel button {width:100%; border-radius:8px; font:inherit; padding:11px 12px}
.login-panel input {border:1px solid #c9d4dc}
.login-panel :focus-visible {outline:3px solid var(--company-accent);outline-offset:2px}
.login-panel button {margin-top:22px; border:0; background:var(--company-primary); color:#fff; font-weight:650; cursor:pointer}
.login-panel footer {border-top:1px solid #e1e7ed; padding:14px 26px; font-size:.8rem; color:#516574}
.login-error {color:#922c37}.portal-home .card-hover:hover {outline:2px solid var(--company-accent)}
.portal-home .card-hover .rounded-full {background:color-mix(in srgb,var(--company-primary) 12%,white)}
.portal-home .card-hover .rounded-full svg,.portal-home h1 {color:var(--company-primary)}
