/* Scoped login design; authentication and registration retain their existing routes. */
body.login-page{--canvas:#f5f5f7;--surface:#fff;--surface-2:#f2f2f7;--text:#1d1d1f;--muted:#65656d;--line:#dedee5;--primary:#0869c7;background:var(--canvas);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",sans-serif;font-optical-sizing:auto}
html[data-theme="dark"] body.login-page{--canvas:#141416;--surface:#222225;--surface-2:#2d2d32;--text:#f5f5f7;--muted:#b3b3bd;--line:#424248;--primary:#65b9ff;color-scheme:dark}
body.login-page>main.auth-main{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;max-width:none;min-height:100svh;margin:0;padding:76px 20px 32px}
body.login-page .auth-card{box-sizing:border-box;width:min(440px,100%);padding:32px;border:1px solid var(--line);border-radius:28px;background:var(--surface);color:var(--text);box-shadow:0 16px 60px #00000008;animation:login-arrive 200ms ease-out}
body.login-page .auth-company-logo{margin:0 auto 20px;display:flex;justify-content:center}
body.login-page .company-logo-login{width:64px;height:64px;padding:8px;border-radius:18px;background:#fff;box-sizing:border-box;box-shadow:none}
body.login-page .login-brand-caption{display:block;text-align:center;font-size:.75rem;font-weight:500;line-height:1.5;color:var(--muted);max-width:280px;margin:0 auto 8px}
body.login-page .auth-card h1{margin:0;text-align:center;font-size:clamp(1.5rem,5vw,1.9rem);font-weight:650;letter-spacing:-.035em;line-height:1.15}
body.login-page .auth-card>p{margin:10px 0 24px;text-align:center;color:var(--muted);line-height:1.5;font-size:.9rem}
body.login-page #login-form{display:flex;flex-direction:column;gap:8px;margin:0}
body.login-page #login-form>label:not(.login-remember){margin:12px 0 0;font-size:.85rem;font-weight:600}
body.login-page #login-form input:not([type="checkbox"]):not([type="hidden"]){box-sizing:border-box;width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;box-shadow:none}
body.login-page #login-form input:focus{outline:2px solid var(--primary);outline-offset:2px}
body.login-page #login-form .password-field{display:block;width:100%}
body.login-page #login-form .password-field input{padding-right:52px!important}
body.login-page #login-form .password-visibility{width:44px;height:44px;color:var(--muted)}
body.login-page #login-form .login-remember{display:flex;align-items:center;gap:10px;min-height:44px;margin:10px 0;color:var(--muted);font-size:.8rem;font-weight:400;line-height:1.4;cursor:pointer}
body.login-page #login-form .login-remember input{width:18px;height:18px;min-width:18px;margin:0;accent-color:#0869c7}
body.login-page #login-form>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 18px;border:0;border-radius:14px;color:white;background:#0869c7;font:inherit;font-weight:600;box-shadow:none;transition:background-color 140ms,transform 140ms}
body.login-page #login-form>button:hover{background:#0059ad}
body.login-page #login-form>button:active{transform:scale(.985)}
body.login-page .login-customer{display:grid;gap:4px;text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
body.login-page .auth-register-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:600}
body.login-page .login-help{margin-top:8px;text-align:center;color:var(--muted);font-size:.8rem}
body.login-page .login-help summary{padding:12px;cursor:pointer;list-style:none;min-height:44px;box-sizing:border-box}
body.login-page .login-help summary::-webkit-details-marker{display:none}
body.login-page .login-help summary::after{content:' +';font-weight:600}
body.login-page .login-help[open] summary::after{content:' −'}
body.login-page .login-help p{margin:0;padding:4px 0 12px;line-height:1.55;text-align:left}
body.login-page .auth-card>.auth-password-note{font-size:.72rem;line-height:1.5;margin:16px 0 0}
body.login-page .auth-theme-toggle{top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--text);background:var(--surface);box-shadow:none}
body.login-page .flash-messages{width:min(440px,100%);box-sizing:border-box;margin:0}
body.login-page .flash{border-radius:14px;overflow-wrap:anywhere}
body.login-page a:focus-visible,body.login-page button:focus-visible,body.login-page summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@keyframes login-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:480px){body.login-page>main.auth-main{padding:72px 16px 24px}body.login-page .auth-card{padding:24px 20px;border-radius:24px}}
@media(max-height:700px){body.login-page>main.auth-main{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){body.login-page .auth-card{animation:none}body.login-page #login-form>button{transition:none}}
