@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url(fonts/inter-latin-ext.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url(fonts/inter-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
body.portal-login-page { --window:#0b1b32; --panel:#102746; --field:#0d213a; --border:#284564; --text:#edf4fc; --muted:#afbed1; --accent:#e4c77d; color:#edf4fc; background:#0b1b32; font-family:'Inter','Segoe UI',system-ui,sans-serif; font-size:14px; }
.portal-login-page .app-shell { width:100%; max-width:1250px; min-height:100svh; margin:0 auto; padding:0 32px; }
.portal-login-page .login-site-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:100px; border-bottom:1px solid #284564; }
.portal-login-page .login-brand { display:inline-flex; flex-direction:column; gap:7px; color:#e4c77d; text-decoration:none; }
.portal-login-page .login-brand strong { font-size:25px; line-height:1; font-weight:650; letter-spacing:-.8px; }
.portal-login-page .login-brand small { color:#afbed1; font-size:8px; letter-spacing:1.8px; font-weight:500; }
.portal-login-page .login-site-label { color:#afbed1; font-size:11px; }
.portal-login-page .edumatfiz-login-layout { display:grid; grid-template-columns:minmax(0,1fr) 420px; place-items:initial; align-items:center; gap:85px; width:100%; max-width:1050px; min-height:calc(100svh - 100px); padding:55px 0 70px; margin:0 auto; }
.portal-login-page .login-eyebrow { display:block; color:#e4c77d; font-size:9px; line-height:1.7; font-weight:550; letter-spacing:1.5px; }
.portal-login-page .login-intro h2 { color:#edf4fc; font-size:38px; line-height:1.25; font-weight:550; letter-spacing:-1px; margin:18px 0; }
.portal-login-page .login-intro > p { color:#afbed1; font-size:14px; line-height:1.85; max-width:360px; margin:0; }
.portal-login-page .login-features { display:grid; gap:20px; list-style:none; padding:28px 0 0; margin:28px 0 0; border-top:1px solid #284564; max-width:340px; }
.portal-login-page .login-features li { display:flex; align-items:center; gap:17px; color:#d9e5f4; font-size:12px; }
.portal-login-page .login-features li > span { color:#e4c77d; font-size:10px; font-variant-numeric:tabular-nums; }
.portal-login-page .edumatfiz-login-panel { width:100%; min-width:0; padding:32px; border:1px solid #35506d; border-radius:12px; background:#102746; box-shadow:0 18px 50px #030b151f; }
.portal-login-page .edumatfiz-login-panel h1 { color:#edf4fc; font-size:29px; line-height:1.3; font-weight:550; letter-spacing:-.6px; margin:9px 0; }
.portal-login-page .login-description { color:#afbed1; font-size:12px; line-height:1.7; margin:0 0 27px; }
.portal-login-page .login-form { display:grid; gap:0; }
.portal-login-page .login-form > label { display:block; color:#dce7f5; font-size:12px; font-weight:500; margin:0 0 9px; }
.portal-login-page .login-form input { display:block; width:100%; min-width:0; height:48px; padding:12px 14px; border:1px solid #35506d; border-radius:7px; background:#0d213a; color:#edf4fc; font-family:inherit; font-size:14px; line-height:1.5; box-shadow:none; }
.portal-login-page .login-form input::placeholder { color:#8299b3; opacity:1; }
.portal-login-page .login-form > input { margin-bottom:21px; }
.portal-login-page .login-form input:focus-visible { outline:2px solid #e4c77d; outline-offset:2px; border-color:#e4c77d; }
.portal-login-page .login-password-field { position:relative; margin-bottom:24px; }
.portal-login-page .login-password-field input { padding-right:52px; }
.portal-login-page .login-password-toggle { position:absolute; top:3px; right:3px; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; min-width:0; padding:10px; border:0; border-radius:5px; background:transparent; color:#afbed1; cursor:pointer; }
.portal-login-page .login-password-toggle:hover { color:#e4c77d; background:#17365a; }
.portal-login-page .login-password-toggle svg { width:21px; height:21px; }
.portal-login-page .login-eye-slash { display:none; }
.portal-login-page .login-password-toggle[aria-pressed="true"] .login-eye-slash { display:block; }
.portal-login-page .login-submit { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:48px; padding:12px 16px; border:1px solid #e4c77d; border-radius:7px; background:#e4c77d; color:#0b1b32; font-family:inherit; font-size:14px; line-height:1.5; font-weight:600; cursor:pointer; }
.portal-login-page .login-submit:hover { background:#f1dca3; border-color:#f1dca3; }
.portal-login-page .login-submit > span { font-size:20px; line-height:1; font-weight:400; }
.portal-login-page .login-password-toggle:focus-visible,
.portal-login-page .login-submit:focus-visible,
.portal-login-page .login-brand:focus-visible { outline:2px solid #f1dca3; outline-offset:4px; }
.portal-login-page .login-help { color:#afbed1; font-size:10px; line-height:1.7; margin:22px 0 0; padding-top:18px; border-top:1px solid #284564; text-align:center; }
.portal-login-page .login-message { padding:12px 14px; margin:0 0 20px; border:1px solid #59718c; border-radius:7px; color:#d9e6f6; background:#17365a; font-size:12px; line-height:1.7; }
.portal-login-page .login-message.error { color:#ffd0bd; background:#392a2c; border-color:#995f50; }
@media (max-width:950px) {
  .portal-login-page .edumatfiz-login-layout { grid-template-columns:minmax(0,1fr) 380px; gap:35px; }
  .portal-login-page .login-intro h2 { font-size:32px; }
}
@media (max-width:760px) {
  .portal-login-page .app-shell { padding:0 20px; }
  .portal-login-page .login-site-header { min-height:85px; }
  .portal-login-page .login-brand strong { font-size:23px; }
  .portal-login-page .login-site-label { font-size:10px; }
  .portal-login-page .edumatfiz-login-layout { display:flex; justify-content:center; align-items:center; min-height:calc(100svh - 85px); padding:32px 0 45px; }
  .portal-login-page .login-intro { display:none; }
  .portal-login-page .edumatfiz-login-panel { max-width:420px; padding:26px; border-radius:10px; }
  .portal-login-page .edumatfiz-login-panel h1 { font-size:27px; }
  .portal-login-page .login-form input { font-size:16px; }
}
@media (max-width:380px) {
  .portal-login-page .app-shell { padding:0 14px; }
  .portal-login-page .edumatfiz-login-panel { padding:23px 20px; }
  .portal-login-page .login-site-label { max-width:90px; text-align:right; line-height:1.6; }
}

/* The same EduMatFiz identity on the sign-in screen. */
.portal-login-page .login-brand { display: inline-flex; flex-direction: row; align-items: center; gap: 11px; }
.portal-login-page .edumatfiz-brand-symbol { display: block; flex: 0 0 38px; width: 38px; height: 43px; color: #e4c77d; }
.portal-login-page .login-brand-copy { display: flex; flex-direction: column; gap: 7px; }
.portal-login-page .login-brand strong { display: block; color: #edf4fc; font-size: 25px; line-height: 1; font-weight: 550; letter-spacing: -.8px; }
.portal-login-page .login-brand strong > span { color: #e4c77d; font-weight: 700; }
.portal-login-page .login-brand small { color: #afbed1; font-size: 7.5px; font-weight: 500; line-height: 1.2; letter-spacing: 1.45px; }
.portal-login-page .login-brand:hover strong > span { color: #f1dca3; }
@media (max-width: 760px) {
  .portal-login-page .login-brand { gap: 9px; }
  .portal-login-page .edumatfiz-brand-symbol { flex-basis: 33px; width: 33px; height: 38px; }
  .portal-login-page .login-brand strong { font-size: 22px; }
  .portal-login-page .login-brand small { font-size: 6.5px; letter-spacing: 1.1px; }
}
