/* Authentication surfaces follow the supplied Hostoo mockup: Onest, calm white
   panels, violet controls and the original green/ink cube wordmark. */
.refined-brand{display:inline-flex;align-items:center;color:#1a1730;text-decoration:none;flex:none}
.refined-brand:hover{color:#1a1730}
.refined-brand-logo{width:128px;height:36px;overflow:visible}
.refined-brand-logo text{fill:currentColor;font-family:'Onest','Segoe UI',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em}
.hostoo-auth.auth-refined{min-height:100vh;display:flex;flex-direction:column;padding:0;background:radial-gradient(700px 400px at 95% 8%,rgba(124,92,255,.07),transparent 70%),#f7f6fb;color:#1a1730}
.auth-refined .auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px;padding:22px max(24px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid #e9e6f2}
.auth-refined .auth-back,.auth-refined .auth-context{font-size:13px;color:#6e6a8a;font-weight:500}
.auth-refined .auth-back:hover{color:#5236c4}
.auth-refined .auth-content{display:grid;place-items:center;flex:1;padding:64px 24px 48px}
.auth-refined .auth-panel{width:100%;max-width:470px;margin:0;padding:38px 38px 30px;border:1px solid #e9e6f2;border-radius:18px;background:#fff;box-shadow:0 18px 40px -24px rgba(26,23,48,.2),0 2px 6px rgba(26,23,48,.025)}
.auth-refined .auth-panel-wide{max-width:540px}
.auth-refined .auth-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#5236c4}
.auth-refined .auth-eyebrow::before{content:'';width:17px;height:2px;border-radius:2px;background:#5b3fd0}
.auth-refined .auth-panel h1{font-family:'Onest','Segoe UI',sans-serif;font-size:30px;line-height:1.18;letter-spacing:-.025em;font-weight:700;color:#1a1730;margin:0 0 12px}
.auth-refined .auth-intro{font-size:14px;line-height:1.6;color:#6e6a8a;margin:0 0 30px}
.auth-refined .auth-field{min-width:0;margin-bottom:19px;text-align:left}
.auth-refined .auth-field label{display:block;margin:0 0 7px;font-size:13px;line-height:1.5;font-weight:600;color:#3a3656}
.auth-refined .auth-field .form-control{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d8d3e6;border-radius:10px;background:#fff;font-size:14px;line-height:1.5;color:#1a1730;box-shadow:none}
.auth-refined .auth-field .form-control::placeholder{color:#a29eba}
.auth-refined .auth-field .form-control:focus{border-color:#a897f5;box-shadow:0 0 0 3px #f1edff}
.auth-refined .auth-field .form-control.invalid{border-color:#b4232a}
.auth-refined .auth-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.auth-refined .auth-hint{margin:7px 0 0;font-size:12px;line-height:1.45;color:#6e6a8a}
.auth-refined .auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin-top:8px;padding:11px 16px;border:1px solid #5b3fd0;border-radius:10px;background:#5b3fd0;color:#fff;font-family:inherit;font-size:14px;line-height:1.5;font-weight:600;box-shadow:0 1px 2px rgba(26,23,48,.1),0 6px 16px -10px rgba(91,63,208,.6);cursor:pointer;transition:background .2s}
.auth-refined .auth-submit:hover{background:#4a30b5;border-color:#4a30b5}
.auth-refined .auth-submit span{font-size:18px;line-height:1}
.auth-refined .auth-submit:disabled{opacity:.5;cursor:wait}
.auth-refined .auth-links{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:23px;margin-top:25px;border-top:1px solid #e9e6f2;font-size:12.5px;line-height:1.5}
.auth-refined .auth-links a{color:#5236c4;font-weight:500;text-decoration:none}
.auth-refined .auth-links a:hover{text-decoration:underline}
.auth-refined .auth-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 24px 27px;font-size:12px;line-height:1.5;color:#a29eba}
.auth-refined .auth-footer span{color:#d8d3e6}
.auth-refined .alert{border-radius:10px;padding:12px 14px;margin:0 0 20px;font-size:13px;line-height:1.6}
.auth-refined .alert-danger{color:#b4232a;background:#fdecec;border-color:#f8d0d0}
.auth-refined .alert-success{color:#168445;background:#ebf8f0;border-color:#cfeddc}
.auth-refined .validation-message{font-size:12px;line-height:1.5;color:#b4232a;margin-top:7px}
.auth-refined .auth-captcha{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:16px}
.auth-refined .auth-captcha .auth-field{margin-bottom:0}
.auth-refined .auth-captcha-image{max-width:100%;overflow:hidden;border:1px solid #e9e6f2;border-radius:10px;background:#f7f6fb;padding:5px;margin-top:25px}
.auth-refined .auth-captcha-image canvas,.auth-refined .auth-captcha-image img{display:block;max-width:100%;height:auto}
.auth-refined .auth-captcha-image .btn-refresh{display:none}
.auth-refined .auth-text-button{display:block;padding:0;margin:13px 0 23px;border:0;background:none;color:#5236c4;font-size:12.5px;font-weight:500;text-align:left;cursor:pointer}
.auth-refined a:focus-visible,.auth-refined button:focus-visible{outline:3px solid #a897f5;outline-offset:3px;border-radius:6px}
@media(max-width:540px){.auth-refined .auth-topbar{min-height:72px;padding:18px 20px;gap:16px}.refined-brand-logo{width:114px;height:32px}.auth-refined .auth-content{padding:32px 16px}.auth-refined .auth-panel{padding:28px 23px 24px;border-radius:16px}.auth-refined .auth-panel h1{font-size:28px}.auth-refined .auth-intro{margin-bottom:26px}.auth-refined .auth-field-grid{grid-template-columns:1fr;gap:0}.auth-refined .auth-captcha{grid-template-columns:minmax(0,1fr) 125px;gap:10px}.auth-refined .auth-footer{padding-bottom:22px}}

.mfa-note{padding:16px;background:#f1edff;border-radius:12px;margin:18px 0;color:#3a3656}.mfa-note p{margin:6px 0 0}.mfa-key{display:block;padding:16px;background:#f7f6fb;border:1px solid #e9e6f2;border-radius:10px;overflow-wrap:anywhere;font-size:17px;letter-spacing:.08em;color:#5236c4;user-select:all}.mfa-help{font-size:13px;margin-top:12px;overflow-wrap:anywhere}.mfa-check{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:14px}.mfa-check input{margin-top:3px;flex:none}.mfa-cancel{display:block;border:0;background:transparent;color:#5236c4;text-decoration:underline;padding:8px 0;margin:0 0 14px}.mfa-code-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:20px 0}.mfa-code-list li{padding:10px;background:#f7f6fb;border:1px solid #e9e6f2;border-radius:8px;overflow-wrap:anywhere}.mfa-recovery-notice h2{font-size:22px;margin-top:20px}
