.account-page { background:#f6f9fc; min-height:100vh; font-family:'DM Sans',sans-serif; }
.account-page [hidden] { display:none!important; }
.account-header { background:white; border-bottom:1px solid var(--line); }
.account-header>.aiaas-shell { display:flex; justify-content:space-between; align-items:center; min-height:84px; gap:24px; }
.account-header-actions { display:flex; align-items:center; gap:28px; font-size:14px; }
.account-main { max-width:1100px; padding:48px 0 64px; }
.account-intro { max-width:790px; }
.account-intro h1 { font-family:'Outfit',sans-serif; font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-.03em; margin:0 0 14px; }
.account-intro>p { font-size:16px; line-height:1.8; margin:0; color:var(--muted); }
.account-journey { list-style:none; display:flex; gap:32px; counter-reset:step; padding:0; margin:30px 0; font-size:13px; color:var(--muted); }
.account-journey li { display:flex; align-items:center; gap:10px; }
.account-journey li::before { counter-increment:step; content:counter(step); display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1px solid #bfcfdf; color:var(--blue); font-weight:700; background:white; }
.account-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; align-items:start; }
.account-plans h2,.account-access h2 { font-family:'Outfit',sans-serif; font-size:24px; margin:0 0 22px; letter-spacing:-.02em; }
.account-plan-options { display:grid; padding:0; margin:0 0 22px; border:0; gap:12px; }
.account-plan { display:flex; align-items:center; gap:12px; background:white; border:1px solid var(--line); border-radius:7px; padding:18px; cursor:pointer; }
.account-plan:has(input:checked) { border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); background:#f3f7ff; }
.account-plan input { accent-color:var(--blue); width:17px; height:17px; flex-shrink:0; }
.account-plan>span { min-width:0; }.account-plan strong { display:block; font-size:17px; }.account-plan small { display:block; color:var(--muted); font-size:11px; line-height:1.6; margin-top:5px; }
.account-plan-price { margin-left:auto; text-align:right; white-space:nowrap; font-weight:700; font-size:17px; }
.account-plan-price small { font-weight:400; white-space:normal; }
.account-cycle-field { display:flex; gap:20px; justify-content:space-between; align-items:center; margin:20px 0; font-size:14px; }
.account-cycle-field select { border:1px solid #c4d1de; border-radius:5px; background:white; padding:11px 12px; color:var(--ink); max-width:65%; font:inherit; }
.account-order { border-top:1px solid var(--line); padding:23px 0 0; }
.account-order h3 { font-size:13px; color:var(--muted); margin:0 0 14px; font-weight:500; }.account-order-price { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }.account-order-price strong { font-size:26px; font-family:'Outfit',sans-serif; }.account-order>p { font-size:13px; color:var(--muted); line-height:1.8; margin:9px 0; }
.account-pay { width:100%; margin-top:18px; font-size:14px; }
.account-enterprise { border-top:1px solid var(--line); margin:24px 0 0; padding-top:20px; font-size:13px; line-height:1.8; color:var(--muted); }.account-enterprise a { color:var(--blue); text-decoration:underline; }
.account-access { background:white; border:1px solid var(--line); border-radius:9px; padding:30px; }
.account-auth-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:28px; }.account-auth-tabs button { padding:0 0 13px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:14px; font-weight:600; }.account-auth-tabs button[aria-pressed=true] { border-bottom-color:var(--blue); color:var(--blue); }
.account-field { display:flex; flex-direction:column; margin-bottom:20px; gap:9px; }.account-field label { font-size:13px; font-weight:500; }.account-field input { min-width:0; width:100%; box-sizing:border-box; border:1px solid #c4d1de; border-radius:5px; background:white; padding:12px; font:inherit; color:var(--ink); }.account-field small { color:var(--muted); font-size:11px; line-height:1.7; }
.account-auth-submit { width:100%; margin-top:4px; }
.account-message { border:1px solid #c4d4f5; background:#edf3ff; border-radius:7px; color:var(--ink); padding:16px 20px; margin-bottom:26px; line-height:1.7; font-size:14px; }.account-message[data-kind=success] { border-color:#a7d8c0; background:#eef9f3; }.account-message[data-kind=error] { border-color:#e5b7b7; background:#fff2f2; color:#8b2525; }
.account-page button { cursor:pointer; font-family:inherit; }.account-page button:disabled,.account-page select:disabled { cursor:default; opacity:.5; }.account-page :is(a,button,input,select):focus-visible { outline:3px solid #86a9ff; outline-offset:3px; }
.account-signed-in { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:26px; }.account-signed-in p { margin:0; font-size:14px; overflow-wrap:anywhere; }.account-signed-in button,.account-refresh { color:var(--blue); border:0; background:none; padding:8px 0; font-size:13px; white-space:nowrap; }
.account-limits { display:grid; grid-template-columns:1fr 1fr; gap:16px; border-block:1px solid var(--line); padding:20px 0; margin:20px 0; }.account-limits dt { font-size:12px; color:var(--muted); }.account-limits dd { margin:6px 0 0; font-family:'Outfit',sans-serif; font-size:26px; font-weight:600; }
.account-subscription-status { line-height:1.8; font-size:13px; color:var(--muted); }.account-portal { width:100%; font-size:13px; }.account-refresh { display:block; margin:12px auto; }.account-workspace { border-top:1px solid var(--line); margin-top:22px; padding-top:24px; }.account-workspace .aiaas-button { width:100%; }.account-workspace p { font-size:12px; line-height:1.8; color:var(--muted); margin:12px 0 0; }
.account-footer { border-top:1px solid var(--line); background:white; }.account-footer>.aiaas-shell { display:flex; justify-content:space-between; gap:24px; padding-block:25px; font-size:12px; color:var(--muted); }
.account-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.account-google-login,.account-google-bind { display:flex; justify-content:center; margin-top:20px; }
.account-google-bind[hidden] { display:none; }
.account-google-hint { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
@media(max-width:800px) { .account-main { padding-top:32px; }.account-layout { grid-template-columns:1fr; gap:30px; }.account-access { padding:26px; }.account-journey { gap:18px; flex-wrap:wrap; font-size:12px; }.account-header-actions { gap:15px; }.account-header-actions>a { display:none; }.account-plans { order:1; }.account-access { order:0; } }
@media(max-width:480px) { .account-header>.aiaas-shell { min-height:72px; }.account-plan { padding:15px 12px; gap:9px; }.account-plan-price { font-size:15px; }.account-plan small { font-size:10px; }.account-plan strong { font-size:16px; }.account-access { padding:23px 20px; }.account-journey { gap:13px; }.account-journey li { gap:6px; }.account-journey li::before { width:22px; height:22px; }.account-cycle-field { align-items:flex-start; flex-direction:column; gap:10px; }.account-cycle-field select { max-width:none; width:100%; }.account-pay { white-space:normal; } }
