/* Shared account presentation. Business rules remain in the PHP routes. */
.portal-page{--portal-bg:#090d14;--portal-panel:#111823;--portal-line:#253044;--portal-muted:#a1aec1;background:#090d14;color:#eff4fc;line-height:1.55}
.portal-page a{color:inherit}.portal-page :focus-visible{outline:2px solid #8eb7ff;outline-offset:4px}
.portal-page .portal-shell{width:min(1120px,calc(100% - 48px))}
.portal-page .portal-header{background:rgba(9,13,20,.96);backdrop-filter:blur(14px);border-color:#202a39}
.portal-page .portal-nav{height:78px}.portal-page .brand{letter-spacing:.12em;font-size:17px}
.portal-page .brand small{display:block;font-size:9px;letter-spacing:.34em;color:#9aacbf;line-height:1}
.portal-page .brand-icon{box-shadow:none;background:#3479f6;border-radius:11px;width:39px;height:39px}
.portal-page .portal-nav nav>a,.portal-page .portal-nav nav button{font-weight:650;font-size:13px;min-height:44px}
.portal-more{position:relative}.portal-more summary{list-style:none;cursor:pointer;border:1px solid #2a3546;border-radius:9px;padding:10px 15px;font-size:13px;color:#c0cce0}
.portal-more summary::-webkit-details-marker{display:none}.portal-more summary:after{content:'⌄';margin-left:15px;color:#95a8c4}
.portal-more[open] summary{background:#182334;color:#fff}.portal-more>div{position:absolute;right:0;top:calc(100% + 12px);z-index:40;min-width:210px;display:grid;gap:4px;border:1px solid #30405a;border-radius:12px;padding:10px;background:#111b2a;box-shadow:0 18px 38px #0007}
.portal-more>div>a,.portal-more>div form button{display:block;min-height:42px;border:0;border-radius:7px;padding:11px 13px;color:#c7d3e5;font-size:13px;text-decoration:none;white-space:nowrap}
.portal-more>div>a:hover{background:#1c2b41;color:#fff}.portal-more form{border-top:1px solid #2a3546;padding-top:5px}
.portal-page .portal-main{padding-block:46px 70px}.portal-page .portal-card{background:#111823;border-color:#273244;box-shadow:none;border-radius:18px}
.portal-page .portal-button{border-radius:10px;box-shadow:none;background:#3479f6;min-height:48px;gap:13px;font-weight:750;letter-spacing:0}
.portal-page .portal-button.secondary{background:#141f2f;border-color:#33435b;color:#dfebff}
.portal-page .portal-button:disabled{opacity:.5;cursor:not-allowed}.portal-page .portal-eyebrow{color:#8bb4ff;letter-spacing:.13em;font-size:10px}
.portal-page .dashboard-hero h1{font-size:clamp(34px,4.5vw,50px);letter-spacing:-.045em;line-height:1.08}
.portal-page .dashboard-hero p{font-size:15px;max-width:610px}.portal-page .portal-section p{color:#aebcd0}
.portal-page .portal-footer{background:#090d14;border-color:#202a39;padding-block:25px}
.portal-page .portal-footer>.portal-shell{display:flex;justify-content:space-between;gap:18px;font-size:11px;color:#91a2ba}
.portal-footer span{letter-spacing:.08em;color:#c5d0e0;font-weight:750}.portal-footer small{letter-spacing:0;color:#8899af;font-weight:400}
.portal-footer a{color:#a4c5ff!important;text-decoration:none}
.portal-skip{position:fixed;top:-80px;left:20px;z-index:100;background:#3479f6;color:#fff;padding:12px 18px;border-radius:9px}
.portal-skip:focus{top:12px}
.portal-page .auth-layout{gap:68px;min-height:610px}.portal-page .auth-copy{padding-block:40px}
.portal-page .auth-copy h1{font-size:clamp(45px,5.7vw,66px);font-weight:780;line-height:1.04;letter-spacing:-.055em;margin-top:22px}
.portal-page .auth-copy h1 strong{background:none;color:#8ab5ff;font-weight:inherit}
.portal-page .auth-copy>p{max-width:420px;font-size:16px;color:#a7b7ce;line-height:1.75}
.portal-page .auth-benefits{font-size:13px;margin-top:30px;gap:13px}
.portal-page .auth-benefits li:before{background:#18304d;color:#9ac1ff;width:24px;height:24px}
.portal-page .auth-card{padding:34px;background:#111923;border-color:#29394f;box-shadow:0 18px 50px #0002}
.portal-page .auth-card h2{font-size:28px;letter-spacing:-.035em;margin-block:0 8px}.portal-page .auth-card>div>p{font-size:13px;line-height:1.65;max-width:310px}
.portal-page .auth-card .portal-form{gap:9px;margin-top:25px}.portal-page .auth-card .portal-form>label{margin-top:9px;font-size:12px;font-weight:650}
.portal-page .auth-card .portal-form input{min-height:51px;border-color:#34425b;border-radius:8px;font-size:15px;background:#0a111c;padding-inline:13px}
.portal-page .auth-card input::placeholder{color:#798ba5;font-size:13px}
.portal-page .auth-card .portal-form>.portal-button{margin-top:14px;min-height:51px;font-size:14px}
.portal-password{position:relative}.portal-page .portal-password input{padding-right:85px}
.portal-password button{position:absolute;right:8px;top:7px;min-height:37px;background:#18263a;border:1px solid #2a3a54;border-radius:6px;color:#bdcdeb;font:600 11px inherit;padding:7px 10px;cursor:pointer}
.portal-page .auth-switch{font-size:12px;margin-top:19px}.portal-page .auth-switch a{color:#a8c9ff}
.auth-help{margin-top:22px;border-block:1px solid #273447;padding-block:15px}
.auth-help summary{font-size:12px;color:#b6c8e1;cursor:pointer}.auth-help p{color:#98acc8;font-size:12px;line-height:1.75;margin-bottom:0}
.portal-page .reset-quota{background:#13243a;border-color:#2e476c;border-radius:14px}
.portal-page .reset-warning{background:#201d16;border-color:#53482e}.portal-page .reset-warning p{color:#c5bdac}
.portal-page .reset-action{border-color:#345681;border-radius:10px}.portal-page .reset-action summary{font-size:13px;padding:15px}
.portal-page .reset-device-row{background:#0c131e}.portal-page .reset-device-summary small{overflow-wrap:anywhere}
.portal-page .portal-alert{margin-block:15px;font-size:13px;line-height:1.6}
@media(max-width:850px){.portal-page .portal-nav{height:68px}.portal-page .portal-main{padding-top:30px}.portal-page .auth-layout{grid-template-columns:1fr;gap:25px;max-width:570px;margin:auto}.portal-page .auth-copy{padding:0}.portal-page .auth-copy h1{font-size:43px}.portal-page .auth-benefits{display:none}.portal-page .auth-copy>p{font-size:14px;max-width:440px}.portal-page .auth-card{padding:27px}.portal-more>div{position:static;box-shadow:none;min-width:0;background:#0c1521;border-color:#25344a;margin-top:8px}.portal-page .portal-more summary{padding:12px 13px}.portal-page .portal-nav nav{padding:12px;background:#101926}.portal-page .portal-nav nav>a{display:flex}.portal-page .portal-main{min-height:calc(100vh - 150px)}}
@media(max-width:560px){.portal-page .portal-shell{width:calc(100% - 32px)}.portal-page .portal-main{padding-bottom:40px}.portal-page .portal-nav{height:65px}.portal-page .brand{font-size:14px}.portal-page .brand-icon{width:34px;height:34px}.portal-page .auth-copy h1{font-size:37px;margin-block:14px}.portal-page .auth-card{padding:22px}.portal-page .auth-card h2{font-size:25px}.portal-page .portal-footer>.portal-shell{flex-direction:column;gap:8px}.portal-page .reset-quota strong{font-size:23px}.portal-page .reset-license-heading{align-items:flex-start;flex-wrap:wrap}.portal-page .portal-section{padding:18px}}
@media(prefers-reduced-motion:reduce){.portal-page *{scroll-behavior:auto!important;transition:none!important}}
