/* ELYRAON account portal. Extends foundry.css cards/forms; CSP-safe (class-only). */
.acct-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0 72px}
.acct-loading{display:flex;align-items:center;gap:12px;padding:60px 0;color:var(--muted,#F4F6F9)}
.acct-pulse{width:10px;height:10px;border-radius:50%;background:var(--cyan,#EFB933);box-shadow:0 0 12px var(--cyan,#EFB933);animation:acct-pulse 1.2s ease-in-out infinite}
@keyframes acct-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.acct-pulse{animation:none}}
.acct-auth{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start;padding-top:12px}
.acct-auth h1,.acct-dash h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.12;margin:.2em 0 .4em}
.acct-lead{color:var(--muted,#F4F6F9);max-width:60ch}
.acct-steps{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.acct-steps li{display:flex;gap:12px;align-items:flex-start;color:var(--ink,#FFFFFF)}
.acct-steps li span{flex:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--rule-strong,rgba(239,185,51,.42));border-radius:6px;font:700 12px ui-monospace,Menlo,Consolas,monospace;color:var(--cyan,#EFB933)}
.acct-steps code,.acct-list code,.acct-copy code{overflow-wrap:anywhere}
.acct-card{padding:24px}
.acct-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:22px;border:1px solid var(--line,rgba(182,194,212,.14));border-radius:12px;padding:4px}
.acct-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted,#F4F6F9);font-weight:600;cursor:pointer}
.acct-tabs button[aria-selected="true"]{background:rgba(239,185,51,.14);color:#fff;box-shadow:inset 0 0 0 1px var(--rule-strong,rgba(239,185,51,.42))}
.acct-tabs button:focus-visible,.acct-link-btn:focus-visible,.acct-subnav a:focus-visible,.acct-switch a:focus-visible{outline:2px solid var(--starlight,#EFB933);outline-offset:2px}
.acct-form .foundry-input{min-height:46px;font-size:16px}
.acct-submit{width:100%;min-height:48px;justify-content:center}
.acct-hint,.acct-fine,.acct-muted{font-size:.82rem;color:var(--faint,#B6C2D4)}
.acct-fine a,.acct-switch a,.acct-muted a{color:var(--cyan-soft,#EFB933);text-decoration:underline}
.acct-switch{margin:16px 0 0;text-align:center;font-size:.9rem;color:var(--muted,#F4F6F9)}
.acct-error{margin:0 0 14px;padding:10px 12px;border-radius:10px;border:1px solid rgba(198,56,55,.5);background:rgba(198,56,55,.1);color:#C63837;font-size:.9rem}
.acct-banner{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:14px 0;padding:12px 14px;border-radius:12px;border:1px solid var(--line,rgba(182,194,212,.14));font-size:.9rem}
.acct-banner code{flex:1 1 100%;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.35);overflow-wrap:anywhere;user-select:all}
.acct-banner-info{border-color:var(--rule-strong,rgba(239,185,51,.42));background:rgba(239,185,51,.07)}
.acct-banner-ok{border-color:rgba(46,158,107,.45);background:rgba(46,158,107,.07)}
.acct-banner-warn{border-color:var(--rule-gold,rgba(239,185,51,.62));background:rgba(239,185,51,.07)}
.acct-dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.acct-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 22px}
.acct-subnav a{padding:8px 14px;border-radius:999px;border:1px solid var(--line,rgba(182,194,212,.14));font-size:.85rem;color:var(--muted,#F4F6F9)}
.acct-subnav a:hover{color:#fff;border-color:var(--rule-strong,rgba(239,185,51,.42))}
.acct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.acct-panel{padding:22px;min-width:0}
.acct-panel h2{margin:0 0 12px;font-size:1.15rem}
.acct-panel h3{margin:18px 0 8px;font-size:.95rem;color:var(--muted,#F4F6F9)}
#sec-overview,#sec-keys,#sec-billing,#sec-usage{grid-column:1/-1}
.acct-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.acct-stats>div{padding:14px;border-radius:12px;border:1px solid var(--line,rgba(182,194,212,.14));background:rgba(7,19,38,.6)}
.acct-stats dt,.acct-kv dt{font:11px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--faint,#B6C2D4)}
.acct-stats dd{margin:6px 0 0;font-size:1.3rem;font-weight:700;color:var(--starlight,#EFB933)}
.acct-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;margin:0 0 12px}
.acct-kv dd{margin:2px 0 0;overflow-wrap:anywhere}
.acct-list{padding-left:20px;display:grid;gap:10px}
.acct-copy{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.acct-copy code{flex:1 1 220px;padding:9px 12px;border-radius:8px;background:rgba(0,0,0,.35);user-select:all}
.acct-inline-form{display:grid;grid-template-columns:1fr minmax(180px,2fr) auto;gap:10px;align-items:center;margin-top:16px}
.acct-link-btn{background:none;border:0;padding:6px 4px;color:var(--cyan-soft,#EFB933);text-decoration:underline;cursor:pointer;font-size:.85rem}
.acct-link-btn:disabled{color:var(--faint,#B6C2D4);text-decoration:none;cursor:default}
.acct-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;padding:12px 18px;border-radius:12px;background:rgba(7,19,38,.97);border:1px solid var(--rule-strong,rgba(239,185,51,.42));box-shadow:0 18px 40px rgba(0,0,0,.5)}
.acct-toast[hidden]{display:none}
.acct-panel .foundry-table-wrap{overflow-x:auto}
.acct-buy-cta{margin-top:10px;padding:8px 16px;font-size:.85rem;border-radius:8px}
.acct-checkout-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;margin-bottom:20px;font-size:.95rem;line-height:1.4}
.acct-checkout-alert span{font-size:1.25rem;flex:none}
.acct-checkout-pending{background:rgba(239,185,51,.08);border:1px solid var(--rule-strong,rgba(239,185,51,.42));color:var(--cyan,#EFB933)}
.acct-checkout-success{background:rgba(46,158,107,.08);border:1px solid rgba(46,158,107,.45);color:#2E9E6B}
.acct-checkout-error{background:rgba(198,56,55,.08);border:1px solid rgba(198,56,55,.5);color:#C63837}
.acct-checkout-cancelled{background:rgba(239,185,51,.08);border:1px solid var(--rule-gold,rgba(239,185,51,.62));color:var(--starlight,#EFB933)}
.acct-package-hero{padding:20px;border-radius:14px;border:1px solid var(--rule-strong,rgba(239,185,51,.42));background:linear-gradient(180deg,rgba(7,19,38,.75),rgba(7,19,38,.85));margin-bottom:20px}
.acct-package-badge{display:inline-block;padding:3px 8px;border-radius:6px;font:700 11px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;background:rgba(239,185,51,.15);border:1px solid var(--rule-strong,rgba(239,185,51,.42));color:var(--cyan,#EFB933);margin-bottom:10px}
.acct-package-title-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.acct-package-price{font-size:1.75rem;font-weight:700;color:var(--starlight,#EFB933)}
.acct-package-price small{font-size:.9rem;color:var(--muted,#F4F6F9);font-weight:400;margin-left:4px}
.acct-package-desc{color:var(--muted,#F4F6F9);font-size:.9rem;margin:0 0 16px;line-height:1.45}
.acct-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:14px}
.acct-package-card{padding:16px;border-radius:12px;border:1px solid var(--line,rgba(182,194,212,.14));background:rgba(7,19,38,.6);display:flex;flex-direction:column;justify-content:space-between}
.acct-package-card h4{margin:0 0 6px;font-size:1rem}
.acct-package-card .price{font-size:1.35rem;font-weight:700;color:var(--starlight,#EFB933);margin-bottom:6px}
.acct-package-card .credits{font-size:.85rem;color:var(--cyan-soft,#EFB933);margin-bottom:14px}
.acct-buy-btn{width:100%;min-height:40px;justify-content:center;font-size:.85rem}
.acct-entitlements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.acct-entitlement-card{padding:16px;border-radius:12px;border:1px solid var(--line,rgba(182,194,212,.14));background:rgba(7,19,38,.6)}
.acct-entitlement-status{display:inline-block;padding:2px 8px;border-radius:4px;font:700 10px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em}
.acct-status-active{background:rgba(46,158,107,.15);border:1px solid rgba(46,158,107,.4);color:#2E9E6B}
@media (max-width:860px){
  .acct-auth{grid-template-columns:minmax(0,1fr);gap:24px}
  .acct-grid{grid-template-columns:minmax(0,1fr)}
  .acct-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acct-inline-form{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .acct-tabs{grid-template-columns:minmax(0,1fr)}
  .acct-stats{grid-template-columns:minmax(0,1fr)}
}
