/* ===================================
   Login Page — Critical CSS
   Inline-extracted for external loading
   =================================== */

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0feff 0%,#e0f9fd 50%,#b2f0fa 100%)}
.wrap{width:100%;max-width:420px;padding:20px}
.card{background:#fff;border-radius:20px;padding:40px 32px;box-shadow:0 20px 60px rgba(0,80,100,.08)}
.logo{text-align:center;margin-bottom:20px}
.logo img{height:48px}
.title{font-size:22px;text-align:center;margin-bottom:24px;color:#1e293b}
.title .to{color:#0891b2}
.field{margin-bottom:16px}
.input{width:100%;padding:14px 16px;border:1.5px solid #cff8fe;border-radius:12px;font-size:15px;background:#f0feff;transition:border-color .2s}
.input:focus{border-color:#0891b2;outline:none;background:#fff}
.btn{width:100%;padding:14px;background:linear-gradient(135deg,#22d3ee,#0e7490);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer}
.row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px}
.forgot{text-align:center;margin-top:16px}
.forgot a{color:#0891b2;font-size:13px;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.err{color:#ef4444;font-size:12px;margin-top:4px;min-height:0}
.control{position:relative}
.hasToggle .input{padding-right:44px}
.toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#0891b2}

/* Accessibility */
:focus-visible { outline: 2px solid #0891b2; outline-offset: 2px; border-radius: 4px; }
:focus:not(:focus-visible) { outline: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
.skip-link { position: absolute; top: -9999px; left: 0; background: #0891b2; color: #fff; padding: 8px 16px; z-index: 100000; font-size: 14px; border-radius: 0 0 8px 0; }
.skip-link:focus { top: 0; }
