/* V10 adds readable, responsive login layout without changing authentication or the startup animation. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-height:100svh; }
.login-shell { max-width: min(1440px,96vw); }
.form-side { min-width:0; }
.login-hero,.form-side { isolation:isolate; }
.form-side .form-label { font-size: 0.94rem; line-height: 1.4; }
.form-side .form-control { min-height: 52px; font-size: 1rem; color: #17324a; background-color: #fff; }
.form-side .form-control[readonly] { background-color: #eef6fc; }
.form-side button,.form-side .btn { min-height: 46px; font-weight: 700; }
.form-side input:focus-visible,.form-side button:focus-visible,.form-side a:focus-visible {
  outline: 3px solid #2087ca; outline-offset:2px;
}
.form-side .login-meta,.form-side .security-note { line-height:1.5; }
.selected-brand-name,.system-title { text-wrap: balance; }
@media(max-width: 1024px) {
  .login-shell { width: min(100%, 900px); }
  .form-side { padding: clamp(18px,3vw,30px); }
  .login-hero { padding: clamp(18px,3vw,30px); }
}
@media(max-width: 900px) {
  body { padding: 0; }
  .login-shell { width:100%; max-width:100%; min-height:100svh; border-radius:0; grid-template-columns:1fr; }
  .login-hero { min-height: 250px; }
  .system-title { margin-top: 15px; font-size: clamp(26px,5vw,36px); }
  .selected-brand { margin-top:18px; margin-bottom:0; }
}
@media(max-width: 560px) {
  .login-hero { min-height: 215px; padding: 18px; }
  .login-shell { box-shadow:none; }
  .hero-top { gap: 8px; }
  .system-title { font-size: 27px; }
  .system-sub { font-size: .9rem; }
  .selected-brand { padding: 10px; gap: 12px; border-radius: 14px; }
  .selected-brand img { width:80px; max-height:65px; object-fit:contain; }
  .selected-brand-name { font-size:1rem; }
  .form-side { padding: 22px 18px 32px; }
  .itc-header img { max-width: 108px; height:auto; }
  .company-picker { gap:8px; }
  .company-picker button { min-width:0; overflow-wrap:anywhere; }
}
@media(min-width:2560px) {
  .login-shell { max-width: 1580px; }
  .form-side { padding: 50px; }
  .form-side .form-control { min-height:58px; font-size: 1.07rem; }
  .form-side .form-label { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) {
  .login-shell :not(.startup-splash),.login-shell :not(.startup-splash)::before,
  .login-shell :not(.startup-splash)::after { transition-duration: .01ms!important; }
}
