/* Login-only reference layout. Register, reset and Admin retain their own styles. */
.auth-login-page{background:radial-gradient(ellipse at 50% 45%,#fff 0,#f1f7ff 70%,#f7fbff 100%);min-height:100svh}
.login-stage{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px 28px}
.login-reference{width:100%;max-width:540px;padding:42px 44px 34px;border:1px solid #dce8fc;border-radius:22px;background:linear-gradient(125deg,#fff,#fcfdff);box-shadow:0 22px 65px #2477e914}
.login-reference [hidden]{display:none!important}
.login-reference .ui-icon{display:block;width:24px;height:24px;flex:0 0 24px}
.login-reference .login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;line-height:1.1;font-size:42px;font-weight:800;letter-spacing:-1.4px}
.login-reference .login-brand .robot-logo{width:76px;height:76px;object-fit:contain}
.login-reference .login-brand .wordmark{white-space:nowrap}
.login-tagline{text-align:center;padding-left:86px;margin:-8px 0 34px;color:#344a75;font-size:12px;font-weight:600;letter-spacing:.5px}
.login-heading{text-align:center;margin:0 0 26px}
.login-heading h1{font-size:28px;letter-spacing:-.5px;line-height:1.45;margin:0 0 8px;color:#102347}
.login-heading p{font-size:16px;line-height:1.5;color:#798caa;margin:0}
.login-providers{display:flex;flex-direction:column;gap:12px}
.login-reference .login-provider{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:60px;padding:12px 16px;border:1px solid #d8e4f8;border-radius:12px;font-size:17px;font-weight:600;background:white;line-height:1.5}
.login-provider img{flex:none;object-fit:contain}
.login-reference .login-line{background:#06c755;color:white;border-color:#06c755}
.login-reference .login-line:hover:not(:disabled){background:#05b74e;border-color:#05b74e}
.login-reference .google-button{color:#20385c;background:#fff;font-size:16px;font-weight:500}
.login-reference .google-button:hover:not(:disabled){background:#f7faff;border-color:#a4c4f6}
.login-reference .login-provider:disabled{opacity:.58;cursor:not-allowed}
.login-provider-note{font-size:12px;text-align:center;line-height:1.5;color:#7c8dab;margin:-5px 0 2px}
.login-divider{display:flex;align-items:center;gap:16px;margin:22px 0 18px;color:#6a7f9f;font-size:15px}
.login-divider:before,.login-divider:after{content:"";height:1px;background:#dae5f5;flex:1}
.login-form{display:flex;flex-direction:column;gap:14px;margin:0}
.login-reference .login-field{display:flex;flex-direction:row;align-items:center;position:relative;gap:12px;min-height:56px;border:1px solid #d8e4f8;border-radius:12px;background:white;padding:0 14px;margin:0}
.login-field:focus-within{border-color:#77aaf6;box-shadow:0 0 0 3px #1769f510}
.login-field-icon{display:flex;align-items:center;justify-content:center;flex:0 0 24px;color:#7e91b0}
.login-reference .login-field input{display:block;flex:1;min-width:0;width:100%;min-height:54px;padding:12px 0;border:0;border-radius:0;background:transparent;font-size:16px;color:#233f6c;box-shadow:none;outline:none}
/* Preserve browser autofill while painting over its user-agent background. */
.login-reference .login-field input:autofill,
.login-reference .login-field input:-webkit-autofill{
 -webkit-box-shadow:0 0 0 1000px #fff inset;
 box-shadow:0 0 0 1000px #fff inset;
 -webkit-text-fill-color:#233f6c;
 caret-color:#233f6c;
}
.login-field input::placeholder{color:#92a1ba;opacity:1}
.login-reference .password-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;flex:0 0 44px;padding:10px;margin-right:-8px;border:0;border-radius:8px;background:transparent;color:#7d90b1}
.login-reference .password-toggle:hover{background:#f2f7ff}
.login-options{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:14px;min-width:0;margin:2px 0 4px}
.login-reference .auth-remember{display:flex;align-items:center;flex-direction:row;gap:8px;margin:0;min-height:44px;font-size:14px;color:#1c355c;white-space:nowrap}
.auth-remember input{width:20px;height:20px;margin:0;padding:0;accent-color:var(--primary);flex:0 0 20px}
.login-recovery{position:relative;min-width:0}
.login-recovery>summary{display:flex;align-items:center;justify-content:flex-end;min-height:44px;color:var(--primary);text-decoration:underline;list-style:none;cursor:pointer;white-space:nowrap}
.login-recovery>summary::-webkit-details-marker{display:none}
.login-recovery>p{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:290px;max-width:calc(100vw - 70px);padding:16px;margin:0;border:1px solid #d8e4f8;border-radius:12px;background:white;box-shadow:0 12px 32px #10234718;color:#526c92;font-size:13px;line-height:1.7}
.login-reference .login-submit{min-height:58px;width:100%;border:0;border-radius:12px;background:linear-gradient(105deg,#1682ff,#145df5);font-size:18px;font-weight:600;gap:12px}
.login-submit>span{font-size:24px;line-height:1}
.login-foot{margin:30px 0 0;padding:22px 0 0;border-top:1px solid #dce6f5;text-align:center;color:#4c658c;font-size:15px}
.login-foot a{color:var(--primary);font-weight:600;margin-left:4px}
.login-foot a:hover{text-decoration:underline}
.login-home-link{margin-top:20px;font-size:13px;color:#6c85a9;min-height:44px;display:flex;align-items:center}
.login-reference .notice{font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.login-stage{padding:24px 16px 16px;justify-content:flex-start}.login-reference{max-width:480px;padding:30px 24px 26px;border-radius:20px}.login-reference .login-brand{font-size:37px}.login-reference .login-brand .robot-logo{width:64px;height:64px}.login-tagline{padding-left:74px;font-size:11px;margin-bottom:28px}.login-heading h1{font-size:24px}.login-heading p{font-size:15px}.login-heading{margin-bottom:22px}.login-reference .login-provider{min-height:56px;font-size:16px}.login-options{font-size:13px}.login-reference .auth-remember{font-size:13px}.login-reference .login-submit{min-height:56px;font-size:17px}.login-foot{font-size:14px}}
@media(max-width:360px){.login-stage{padding:16px 10px}.login-reference{padding:26px 18px 24px}.login-heading h1{font-size:22px}.login-reference .login-brand{font-size:34px}.login-options{gap:6px;font-size:12px}.login-reference .auth-remember{font-size:12px}.auth-remember input{width:18px;height:18px;flex-basis:18px}.login-reference .login-provider{font-size:15px;gap:10px}}
.login-legacy{margin-top:18px;border-top:1px solid var(--line,#e3e9f2);padding-top:6px}
.login-legacy>summary{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--primary);text-decoration:underline;list-style:none;cursor:pointer;font-size:14px}
.login-legacy>summary::-webkit-details-marker{display:none}
.login-legacy[open]>summary{margin-bottom:12px}
.register-line-form{display:grid;gap:16px}
