/* MATCHSIK v32.12 — direct teacher login screen */
:root{--t3212-navy:#071b36;--t3212-blue:#1769ff;--t3212-ink:#10233f;--t3212-muted:#718099;--t3212-line:#dbe5f2;--t3212-soft:#f5f8fc}
html[data-teacher-auth='login'],html[data-teacher-auth='login'] body{min-height:100%;background:#eef4fb!important}
body.teacher-login-open{overflow:hidden!important}
body.teacher-login-open>.t28-header,
body.teacher-login-open>.t28-layout,
body.teacher-login-open>.v31-footer{visibility:hidden!important;pointer-events:none!important}
.t286-login-backdrop{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;overflow-y:auto!important;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;background:radial-gradient(circle at 50% -12%,rgba(23,105,255,.12),transparent 38%),linear-gradient(180deg,#f7faff 0%,#edf3fb 100%)!important;opacity:1!important;visibility:visible!important}
.t286-login-dialog{position:relative!important;width:min(460px,100%)!important;max-width:100%!important;margin:auto!important;padding:34px!important;border:1px solid var(--t3212-line)!important;border-radius:28px!important;background:#fff!important;color:var(--t3212-ink)!important;box-shadow:0 26px 70px rgba(7,27,54,.14)!important;text-align:left!important;overflow:hidden!important}
.t286-login-dialog:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--t3212-blue),#54b6ff)}
.t286-login-close{position:absolute!important;right:18px!important;top:18px!important;width:38px!important;height:38px!important;border:1px solid var(--t3212-line)!important;border-radius:12px!important;background:#f5f8fc!important;color:#36516f!important;font-size:22px!important;line-height:1!important}
.t286-login-backdrop.is-direct .t286-login-close{display:none!important}
.t286-login-topline{display:flex!important;align-items:center!important;gap:11px!important;margin:0 0 24px!important;color:#2c6bd9!important;font-size:11px!important;font-weight:950!important;letter-spacing:.15em!important}
.t286-login-mark{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:15px!important;background:#173f38 url('/icons/matchsik-app-icon.svg') center/cover no-repeat!important;color:transparent!important;box-shadow:0 10px 24px rgba(7,27,54,.13)!important}
.t286-login-dialog h2{margin:0!important;color:var(--t3212-navy)!important;font-size:clamp(30px,6vw,40px)!important;line-height:1.12!important;letter-spacing:-.055em!important;font-weight:950!important}
.t286-login-description{margin:12px 0 20px!important;color:var(--t3212-muted)!important;font-size:14px!important;line-height:1.7!important;word-break:keep-all!important}
.t286-login-dialog .v288-server-state{display:inline-flex!important;align-items:center!important;min-height:31px!important;margin:0 0 20px!important;padding:0 11px!important;border:1px solid #cfe3d9!important;border-radius:999px!important;background:#eff9f4!important;color:#267355!important;font-size:11px!important;font-weight:900!important}
.t286-login-dialog form{display:grid!important;gap:16px!important;margin:0!important}
.t286-field{display:grid!important;gap:8px!important;margin:0!important;color:#27415f!important;font-size:12px!important;font-weight:900!important}
.t286-field>span:first-child{display:block!important}
.t286-field input{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:52px!important;margin:0!important;padding:0 14px!important;border:1px solid #cedbeb!important;border-radius:14px!important;background:#fff!important;color:var(--t3212-ink)!important;font-size:16px!important;outline:none!important;box-shadow:none!important}
.t286-field input:focus{border-color:#6e9fff!important;box-shadow:0 0 0 4px rgba(23,105,255,.10)!important}
.t286-password-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:8px!important;align-items:center!important}
.t286-password-wrap>button{height:52px!important;margin:0!important;border:1px solid #cedbeb!important;border-radius:14px!important;background:#f7f9fc!important;color:#35506d!important;font-size:12px!important;font-weight:900!important}
.t286-login-error{padding:11px 13px!important;border:1px solid #ffd0cb!important;border-radius:12px!important;background:#fff4f2!important;color:#b8382d!important;font-size:12px!important;line-height:1.55!important}
.t286-login-submit{width:100%!important;min-height:54px!important;margin:2px 0 0!important;border:0!important;border-radius:15px!important;background:linear-gradient(135deg,#1769ff,#1d7aff)!important;color:#fff!important;font-size:16px!important;font-weight:950!important;letter-spacing:-.02em!important;box-shadow:0 14px 30px rgba(23,105,255,.22)!important}
.t286-login-submit:disabled{opacity:.62!important;cursor:wait!important}
.t286-login-note{display:grid!important;gap:5px!important;margin:22px 0 0!important;padding:14px 15px!important;border-radius:14px!important;background:var(--t3212-soft)!important;color:#6d7d91!important;font-size:11px!important;line-height:1.6!important}
.t286-login-note b{color:#314c69!important;font-size:11px!important}
@media(max-width:520px){
  .t286-login-backdrop{place-items:start center!important;padding-top:max(26px,env(safe-area-inset-top))!important}
  .t286-login-dialog{margin:auto 0!important;padding:26px 20px!important;border-radius:24px!important}
  .t286-login-topline{margin-bottom:20px!important}
  .t286-login-mark{width:44px!important;height:44px!important;flex-basis:44px!important}
  .t286-login-dialog h2{font-size:32px!important}
  .t286-login-description{font-size:13px!important;margin-bottom:17px!important}
  .t286-login-dialog .v288-server-state{margin-bottom:17px!important}
}
@media(prefers-reduced-motion:reduce){.t286-login-backdrop,.t286-login-dialog,.t286-login-submit{transition:none!important;animation:none!important}}
