/* COMI V4.5 / VISUAL ONLY / Login & inspection, preserves all functions */
:root { --comi-blue:#1d4ed8; --comi-ink:#15233b; }
#screen-login { min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding:clamp(12px,2.5vh,24px) 12px !important; align-items:center; }
#screen-login > div:first-child { max-width:480px; padding:clamp(18px,2.6vw,27px) !important; border-radius:20px; border:1px solid #e2e8f0; box-shadow:0 12px 34px rgba(15,23,42,.09); }
#screen-login .logo-img { height:54px; max-width:84%; }
#screen-login h1 { line-height:1.25; letter-spacing:-.02em; }
#screen-login input:not([type=checkbox]), #screen-login select { min-height:46px; background-color:white; }
#screen-login input:focus-visible, #screen-login select:focus-visible, #screen-login button:focus-visible { outline:3px solid #93c5fd; outline-offset:2px; }
#screen-login label { line-height:1.5; }
#screen-login a { overflow-wrap:anywhere; }
#screen-login a:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
@media (min-width:900px) and (max-height:780px) {
  #screen-login { align-items:flex-start; }
  #screen-login > div:first-child { padding:16px 22px !important; }
  #screen-login .logo-img { height:43px; margin-bottom:5px !important; }
  #screen-login h1 { font-size:19px; margin-top:6px !important; }
  #screen-login .mb-3 { margin-bottom:9px !important; }
  #screen-login input:not([type=checkbox]),#screen-login select { min-height:40px; padding-top:8px; padding-bottom:8px; }
}
@media (max-width:480px) { #screen-login > div:first-child { max-width:100%; padding:18px !important; } #screen-login input:not([type=checkbox]), #screen-login select { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { #screen-login *,#screen-login *::before,#screen-login *::after { animation:none !important; transition:none !important; } }
