:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#103a62;background:#dceefa}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 10%,#f8fcff 0,#dceefa 42%,#c7e3f5 100%)}button,input,a{font:inherit}.shell{width:min(940px,calc(100% - 32px));margin:36px auto}.brand,.card{background:#fff;border:1px solid #bdd8eb;border-radius:26px;box-shadow:0 22px 70px #164d7826}.brand{display:flex;align-items:center;gap:18px;padding:26px 30px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.logo{width:78px;height:78px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#071c36,#0b3e6b);color:#f6c44a;font-size:34px;font-weight:1000;border:3px solid #dcae36;box-shadow:inset 0 0 20px #0008}.eyebrow{font-weight:900;letter-spacing:.14em;color:#a66b00}.brand h1{margin:2px 0;font-size:34px;line-height:1}.brand p{margin:8px 0 0;font-size:18px;color:#56718a}.version{margin-left:auto;align-self:flex-start;padding:10px 14px;border-radius:12px;background:#eaf6ff;border:1px solid #aad1e9;font-weight:900}.card{padding:28px 34px;margin-top:14px}.trust,.privacy,.success{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border-radius:18px;background:#eef8ff;border-left:6px solid #1682bb;font-size:17px}.success{background:#eafbf2;border-color:#13985e}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#e6f0f7;padding:7px;border-radius:16px;margin:22px 0}.tabs button{border:0;background:transparent;padding:13px;font-weight:900;color:#547089;border-radius:12px}.tabs button.active{background:#fff;color:#0c416b;box-shadow:0 4px 12px #164d7818}form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:850;font-size:17px}input{width:100%;padding:15px 16px;border-radius:14px;border:1px solid #acd0e8;background:#f8fcff;color:#102f4a;font-weight:650;font-size:17px;outline:none}input:focus{border-color:#198bd1;box-shadow:0 0 0 4px #1c8dd022}.password{position:relative}.password input{padding-right:86px}.password button{position:absolute;right:7px;top:7px;bottom:7px;border:1px solid #9bc6e1;background:#eaf6ff;color:#064775;border-radius:10px;font-weight:900;padding:0 14px}.primary,.secondary,.button{border:0;border-radius:14px;padding:15px 20px;text-align:center;text-decoration:none;font-weight:950;cursor:pointer}.primary{background:linear-gradient(180deg,#278ed0,#126ba3);color:white;box-shadow:0 8px 18px #126ba32d}.secondary,.button.secondary{background:#edf6fc;color:#0c4a76;border:1px solid #a9cce3}.links{display:flex;justify-content:center;gap:28px}.links button,.links a,.link{border:0;background:transparent;color:#07558c;text-decoration:underline;font-weight:900;cursor:pointer}.status{min-height:28px;font-weight:800;color:#b33a22}.privacy{margin-top:18px;background:#edfaf5;border-color:#149863;font-size:15px}.hidden{display:none!important}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#roles{margin-top:18px;font-weight:800}@media(max-width:650px){.shell{width:min(100% - 16px,940px);margin:10px auto}.brand{padding:18px;align-items:flex-start}.logo{width:58px;height:58px;font-size:25px}.brand h1{font-size:25px}.brand p{font-size:15px}.version{font-size:13px}.card{padding:20px}.links{flex-direction:column;gap:10px;align-items:center}}

hr{border:0;border-top:1px solid #c7deec;margin:24px 0}.session-list{display:grid;gap:9px;margin:12px 0}.session-row{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #c1dceb;border-radius:12px;background:#f7fbfe}.session-row span{color:#5b7185;font-size:13px}.security-details{margin-top:18px;border:1px solid #b9d6e8;border-radius:14px;padding:14px;background:#f8fcff}.security-details summary{font-weight:900;cursor:pointer;margin-bottom:12px}@media(max-width:650px){.session-row{flex-direction:column}}

/* HB_ACCOUNT_HUB_100_ZOOM_FIT_R4_START
   Fixed-viewport responsive layout. The page itself never needs vertical scrolling;
   if a very small display cannot show all account controls, only the account card scrolls. */
html,body{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}
body{min-height:100dvh}
.shell{width:min(1180px,calc(100vw - 24px));height:100dvh;max-height:100dvh;margin:0 auto;padding:10px 0;display:grid;grid-template-rows:88px minmax(0,1fr);gap:10px;overflow:hidden}
.brand{height:88px;min-height:0;margin:0;padding:10px 18px;display:flex;align-items:center;gap:14px;border-radius:16px}
.brand .logo{width:56px;height:56px;min-width:56px;font-size:27px;border-radius:14px}
.brand>div:not(.logo){min-width:0}
.brand .eyebrow{font-size:13px;line-height:1.05;letter-spacing:.13em;margin:0 0 3px}
.brand h1{font-size:32px;line-height:1.02;margin:0;letter-spacing:-.02em}
.brand p{font-size:14px;line-height:1.2;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .version,.version{margin-left:auto;align-self:flex-start;padding:8px 11px;font-size:14px;border-radius:10px}
.card{height:100%;min-height:0;margin:0;padding:16px 18px;overflow:auto;overscroll-behavior:contain;border-radius:16px;scrollbar-width:thin}
.trust,.success{padding:12px 14px;margin:0 0 10px;border-radius:12px}
.trust strong,.success strong{font-size:17px}.trust span,.success span{font-size:14px;line-height:1.3;margin-top:3px}
.tabs{margin:0 0 12px;min-height:46px}.tabs button{min-height:42px;padding:8px 12px}
form{gap:10px}label{gap:4px;font-size:13px}input{min-height:42px;padding:8px 12px}
.password button{min-height:36px}
.primary,.secondary,.button{min-height:42px;padding:9px 14px}
.links{margin-top:8px}
.privacy{margin-top:12px;padding:11px 14px;border-radius:12px}.privacy span{font-size:13px;line-height:1.35}
#signedIn.card{padding:14px 18px}
#signedIn .success{margin-bottom:9px}
#signedIn .actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
#signedIn .actions>*{min-height:40px;padding:8px 13px}
#roles{margin:0 0 8px;font-size:14px}
#signedIn>hr{margin:9px 0}
#signedIn>h2{font-size:24px;line-height:1.05;margin:0 0 8px}
.session-list{display:grid;gap:6px;margin:6px 0}.session-row{padding:8px 10px;border-radius:9px;min-height:44px}.session-row span{font-size:12px}
#revokeOthersBtn{min-height:38px;margin-top:2px}
.security-details{margin-top:9px;padding:9px 11px;border-radius:10px}.security-details summary{margin:0;font-size:14px}.security-details[open] summary{margin-bottom:8px}.security-details form{gap:8px}.security-details small{font-size:11px;line-height:1.25}
@media (max-width:760px){
  .shell{width:100%;padding:0;grid-template-rows:72px minmax(0,1fr);gap:0}.brand{height:72px;border-radius:0;padding:8px 12px}.brand .logo{width:46px;height:46px;min-width:46px;font-size:23px}.brand .eyebrow{font-size:10px}.brand h1{font-size:24px}.brand p{font-size:12px}.brand .version,.version{padding:6px 8px;font-size:12px}.card{border-radius:0;padding:12px}
}
@media (max-height:760px) and (min-width:761px){
  .shell{grid-template-rows:72px minmax(0,1fr);padding:7px 0;gap:7px}.brand{height:72px;padding:7px 14px}.brand .logo{width:46px;height:46px;min-width:46px;font-size:23px}.brand .eyebrow{font-size:10px}.brand h1{font-size:26px}.brand p{font-size:12px;margin-top:3px}.brand .version,.version{padding:6px 8px;font-size:12px}.card{padding:12px 16px}.trust,.success{padding:9px 12px;margin-bottom:7px}.tabs{margin-bottom:8px}.session-list{gap:4px;margin:4px 0}.session-row{padding:6px 9px}.security-details{margin-top:6px;padding:8px 10px}
}
@media (max-height:620px){
  .shell{grid-template-rows:60px minmax(0,1fr)}.brand{height:60px}.brand .logo{width:40px;height:40px;min-width:40px;font-size:20px}.brand p{display:none}.card{padding:9px 12px}.trust span,.success span{display:none}#signedIn>h2{font-size:20px}.actions>*{min-height:36px!important}.session-row{min-height:36px}
}
/* HB_ACCOUNT_HUB_100_ZOOM_FIT_R4_END */
