html[data-lms-page] { --lms-font-weight-medium: 400; --lms-font-weight-semibold: 700; }
body.lms-auth-page { min-height:100vh; margin:0; color:var(--lms-color-text-primary); background:var(--lms-color-canvas); display:flex; flex-direction:column; }
.lms-auth-header { min-height:4.75rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem clamp(1rem,4vw,4rem); border-bottom:1px solid var(--lms-color-border); background:var(--lms-color-surface); }
.lms-auth-brand { display:flex; align-items:center; gap:.75rem; color:var(--lms-color-text-primary); text-decoration:none; min-width:0; }
.lms-auth-brand img { width:2.625rem; height:2.625rem; object-fit:contain; }
.lms-auth-brand span { display:grid; min-width:0; }
.lms-auth-brand strong { font-size:1rem; }
.lms-auth-brand small { color:var(--lms-color-text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:36rem; }
.lms-auth-header__actions { display:flex; align-items:center; gap:.5rem; }
.lms-auth-header .lms-header-action { width:2.75rem; height:2.75rem; min-width:2.75rem; min-height:2.75rem; }
.lms-auth-main { flex:1; width:100%; }
.lms-auth-shell { width:min(100% - 2rem, 74rem); margin:0 auto; padding:clamp(2rem,7vw,5rem) 0; }
.lms-auth-shell--compact { width:min(100% - 2rem, 31rem); }
.lms-auth-card { padding:clamp(1.25rem,4vw,2rem); border:1px solid var(--lms-color-border); border-radius:var(--lms-radius-xl); background:var(--lms-color-surface); box-shadow:var(--lms-shadow-card); }
.lms-auth-card__header { margin-bottom:1.5rem; }
.lms-auth-card h1 { margin:.25rem 0 .5rem; font-size:clamp(1.55rem,5vw,2rem); }
.lms-auth-card p { color:var(--lms-color-text-secondary); }
.lms-auth-eyebrow { margin:0; color:var(--lms-color-link)!important; font-weight:700; }
.lms-auth-card .lms-form { display:grid; gap:1.15rem; }
.lms-field__label-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.4rem; }
.lms-field__label-row a,.lms-auth-links a { color:var(--lms-color-link); }
.lms-auth-divider { display:flex; align-items:center; gap:.75rem; margin:1.25rem 0; color:var(--lms-color-text-secondary); font-size:.9rem; }
.lms-auth-divider::before,.lms-auth-divider::after { content:""; flex:1; border-top:1px solid var(--lms-color-divider); }
.lms-auth-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem 1.25rem; margin-top:1.25rem; font-size:.9rem; }
.lms-form-summary { margin-bottom:1rem; padding:1rem; border:1px solid var(--lms-color-danger-border); border-radius:var(--lms-radius-md); color:var(--lms-color-danger-text); background:var(--lms-color-danger-bg); }
.lms-form-summary h2 { margin:0 0 .5rem; font-size:1rem; color:inherit; }
.lms-form-summary ul { margin:0; padding-inline-start:1.25rem; }
.lms-form-summary a { color:inherit; text-decoration:underline; }
.lms-auth-card--status { text-align:center; }
.lms-auth-status-icon { display:grid; place-items:center; width:3.5rem; height:3.5rem; margin:0 auto 1rem; border-radius:50%; color:var(--lms-color-success-text); background:var(--lms-color-success-bg); }
.lms-auth-card--status .lms-btn + .lms-btn { margin-top:.65rem; }
html[data-lms-design-system] body.lms-auth-page[data-lms-primitives="u1-p2"] .lms-password-control {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:.5rem;
}
html[data-lms-design-system] body.lms-auth-page[data-lms-primitives="u1-p2"] .lms-password-control > input {
  min-width:0;
  padding-inline-end:var(--lms-space-3);
}
html[data-lms-design-system] body.lms-auth-page[data-lms-primitives="u1-p2"] .lms-password-toggle {
  position:static;
  inset:auto;
  transform:none;
  min-width:4.75rem;
  min-height:2.75rem;
  margin:0;
  padding:0 var(--lms-space-3);
  border:1px solid var(--lms-color-border);
  border-radius:var(--lms-radius-sm);
  color:var(--lms-color-link);
  background:var(--lms-color-surface-subtle);
}
html[data-lms-design-system] body.lms-auth-page[data-lms-primitives="u1-p2"] .lms-password-toggle:hover,
html[data-lms-design-system] body.lms-auth-page[data-lms-primitives="u1-p2"] .lms-password-toggle:focus-visible {
  background:var(--lms-color-surface-elevated);
}
.lms-public-footer { margin-top:auto; }
@media (max-width:600px) { .lms-auth-header { align-items:flex-start; padding:.75rem 1rem; } .lms-auth-brand small { display:none; } .lms-auth-header__actions .lms-btn { display:none; } .lms-auth-shell { width:min(100% - 1rem, 74rem); padding:1.25rem 0 2rem; } .lms-auth-card { border-radius:var(--lms-radius-lg); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
