/* Auth routes: full-bleed split screen. Base .ip-auth-* rules live in original-site.css;
   this file only hides the global chrome while html.ip-auth-route is set and adds local-only pieces. */
html.ip-auth-route body { margin-bottom: 0; }
html.ip-auth-route body > header,
html.ip-auth-route body > footer { display: none; }
html.ip-auth-route body > .container-fluid { padding: 0; }
html.ip-auth-route #app { padding: 0 !important; min-height: 0; }

.ip-auth-left canvas { width: 100%; height: 100%; }
.ip-auth-brand svg { flex: 0 0 auto; }
.ip-auth-copyright a { color: inherit; text-decoration: none; }
.ip-auth-copyright a:hover { color: var(--ip-teal); }

.ip-auth-title { font-size: 2rem; font-weight: 600; margin: 0; letter-spacing: -0.02em; color: var(--ip-text-primary); }
.ip-auth-subtitle { font-size: 13px; color: var(--ip-text-secondary); margin-top: 8px; margin-bottom: 0; line-height: 1.5; }

/* Stands in for the reference SSO row: same 24px offset and 40px height, no external providers. */
.ip-auth-local-note { height: 40px; margin-top: 24px; display: flex; align-items: center; justify-content: center; gap: 8px; font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.08em; color: var(--ip-text-muted); border: 1px dashed var(--ip-border-default); border-radius: 4px; text-align: center; padding: 0 12px; }
.ip-auth-local-note-mark { color: var(--ip-teal); }

.ip-auth-form { display: flex; flex-direction: column; gap: 12px; }
.ip-auth-form .ip-alert-error { margin: 0 !important; }
.ip-auth-form .ip-form-input { height: 38px; }
.ip-auth-field-label .ip-auth-field-opt { color: var(--ip-text-muted); opacity: 0.7; }
.ip-auth-hint { display: block; margin-top: 6px; font-size: 11px; color: var(--ip-text-muted); }
.ip-auth-pw-bar.is-partial { background: var(--ip-amber); }
.ip-auth-pw-bar.is-ok { background: var(--ip-green); }
.ip-auth-submit { height: 44px; font-size: 13px; margin-top: 8px; }
.ip-auth-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.ip-auth-actions .ip-btn-primary, .ip-auth-actions .ip-btn-ghost { height: 44px; }

@media (max-width: 991.98px) {
  .ip-auth-shell { grid-template-columns: 1fr; min-height: 100vh; }
  .ip-auth-left { padding: 32px 32px 28px; }
  .ip-auth-left-body { height: auto; }
  .ip-auth-left-main { flex: none; max-width: 560px; padding: 40px 0 32px; }
  .ip-auth-right { padding: 40px 32px 56px; align-items: center; justify-content: flex-start; }
}

@media (max-width: 575.98px) {
  .ip-auth-left { padding: 24px 20px; }
  .ip-auth-left-main { padding: 28px 0 24px; }
  .ip-auth-desc { font-size: 14px; margin-top: 16px; }
  .ip-auth-tiles { gap: 8px; margin-top: 24px; }
  .ip-auth-tile { padding: 10px; }
  .ip-auth-tile-value { font-size: 17px; }
  .ip-auth-right { padding: 28px 20px 40px; }
  .ip-auth-title { font-size: 1.65rem; }
}
