*{box-sizing:border-box}body:has(#loginRoot){margin:0;font-family:'Segoe UI','Malgun Gothic',sans-serif;background:#102530;color:#233f49;min-height:100vh}body:has(#loginRoot){display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#285a60,transparent 65%),#102530}#loginRoot{width:100%;padding:24px}.auth-card{width:min(480px,100%);margin:auto;background:#f9fcfa;border:1px solid #cde3dc;border-radius:24px;padding:34px;box-shadow:0 30px 90px #0005}.auth-symbol{display:grid;place-items:center;width:58px;height:58px;background:#e0f2e9;border:1px solid #bcd8cd;border-radius:18px;color:#198875;margin-bottom:22px}.auth-symbol svg{width:30px;height:30px}.auth-eyebrow{color:#4c8276;font-size:13px;letter-spacing:.2px;font-weight:700}.auth-card h1{font-size:26px;letter-spacing:-1px;margin:12px 0}.auth-copy{color:#61777b;line-height:1.8;font-size:14px;margin:0 0 24px}.auth-field{display:flex;flex-direction:column;gap:8px;margin:17px 0;font-size:13px;font-weight:600}.auth-field input,.auth-field select{width:100%;font:inherit;font-weight:400;font-size:16px;min-height:46px;border:1px solid #cbdcd7;border-radius:10px;background:white;color:#1c3941;padding:10px 12px}.auth-field input:focus{outline:3px solid #23927a22;border-color:#218b74}.auth-field input[readonly]{background:#eef4f0}.auth-submit{border:0;border-radius:10px;min-height:46px;background:linear-gradient(100deg,#198d79,#136a65);color:white;font-size:15px;font-weight:700;width:100%;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-error{font-size:13px;line-height:1.6;color:#aa342e;min-height:22px}.auth-note{background:#eaf3ee;border-radius:12px;padding:14px;font-size:12px;line-height:1.8;color:#53746a;margin-top:22px}.auth-footer{font-size:11px;color:#7f948b;border-top:1px solid #dce8e2;padding-top:18px;margin-top:24px;display:flex;justify-content:space-between}.auth-password-note{color:#6b817c;font-size:12px;font-weight:400}.auth-return{display:block;margin-top:16px;text-align:center;color:#386b60;font-size:13px}.auth-card{animation:auth-enter .3s ease both}@keyframes auth-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:540px){#loginRoot{padding:16px}.auth-card{padding:26px 22px;margin:10px auto}.auth-card h1{font-size:24px}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}}
