.fs-account-page { min-height: calc(100vh - 128px); padding: clamp(2rem, 6vw, 5rem) 1rem; background: radial-gradient(circle at 50% 0, rgba(36,71,198,.13), transparent 40%), var(--color-background, #f6f8fc); color: var(--color-text, #172033); }
body[data-account-page="login"][data-auth-pending] .fs-auth-shell { visibility: hidden; }
.fs-auth-shell, .fs-account-shell { width: min(100%, 1040px); margin: 0 auto; }
.fs-auth-shell { max-width: 520px; }
.fs-auth-card, .fs-account-hero, .fs-product-card { border: 1px solid rgba(87,104,145,.22); background: var(--color-surface, #fff); box-shadow: 0 10px 30px rgba(22,35,73,.07); }
.fs-auth-card { padding: clamp(1.4rem, 5vw, 2.5rem); border-radius: 22px; }
.fs-auth-head h1, .fs-account-hero h1 { margin: .25rem 0 .7rem; font-size: clamp(1.8rem, 5vw, 2.55rem); line-height: 1.08; }
.fs-auth-head > p:last-child, .fs-account-hero p { color: var(--color-text-muted, #5d6678); line-height: 1.55; }
.fs-account-eyebrow { margin: 0; color: #2447c6; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fs-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; margin: 1.8rem 0 .8rem; padding: .3rem; border-radius: 12px; background: rgba(90,110,150,.1); }
.fs-auth-tabs button { min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.fs-auth-tabs button[aria-selected="true"] { color: #183da9; background: var(--color-surface, #fff); box-shadow: 0 2px 9px rgba(25,45,90,.11); }
.fs-auth-mode-help, .fs-auth-privacy { color: var(--color-text-muted, #626c7e); font-size: .9rem; line-height: 1.45; }
.fs-auth-form { display: grid; gap: 1rem; margin-top: 1.4rem; }
.fs-auth-field { display: grid; gap: .45rem; }
.fs-auth-field label { font-weight: 700; }
.fs-auth-field input { width: 100%; min-height: 48px; box-sizing: border-box; padding: .75rem .9rem; border: 1px solid #aeb8ca; border-radius: 10px; background: var(--color-surface, #fff); color: inherit; font: inherit; }
.fs-auth-field input[readonly] { background: rgba(120,135,165,.09); }
.fs-auth-primary, .fs-account-secondary { min-height: 48px; border-radius: 10px; padding: .7rem 1.1rem; font: inherit; font-weight: 800; cursor: pointer; }
.fs-auth-primary { border: 1px solid #2447c6; background: #2447c6; color: #fff; }
.fs-account-secondary { border: 1px solid #2447c6; background: transparent; color: #2447c6; white-space: nowrap; }
.fs-auth-primary:disabled, .fs-account-secondary:disabled, .fs-auth-tabs button:disabled { cursor: wait; opacity: .62; }
.fs-auth-code-step { display: grid; gap: .7rem; }
.fs-auth-inline-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; }
.fs-auth-link { border: 0; padding: .2rem 0; color: #2447c6; background: transparent; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.fs-auth-link:disabled { color: #788296; cursor: default; text-decoration: none; }
.fs-auth-message { min-height: 1.4em; margin: 0; color: var(--color-text-muted, #566174); line-height: 1.45; }
.fs-auth-message[data-kind="error"] { color: #b42318; }
.fs-auth-message[data-kind="success"] { color: #176b43; }
.fs-auth-privacy { margin: 1.5rem 0 0; padding-top: 1.2rem; border-top: 1px solid rgba(87,104,145,.18); }
.fs-account-hero { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.3rem, 4vw, 2rem); border-radius: 16px; }
.fs-account-hero h1 { margin: .15rem 0 .45rem; }
.fs-account-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.fs-account-avatar { display: grid; flex: none; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(36,71,198,.12); color: #2447c6; font-size: 1.25rem; font-weight: 800; text-transform: uppercase; }
.fs-account-avatar:empty::before { content: "•"; opacity: .4; }
.fs-account-idtext { min-width: 0; }
.fs-account-idmeta { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0; }
.fs-account-idmeta > span:first-child { overflow-wrap: anywhere; color: var(--color-text-muted, #5d6678); font-size: .92rem; }
.fs-status-pill { display: inline-flex; align-items: center; gap: .3rem; width: fit-content; margin: 0; padding: .22rem .7rem; border-radius: 999px; background: rgba(90,110,150,.12); color: var(--color-text-muted, #566174); font-size: .78rem; font-weight: 800; line-height: 1.3; }
.fs-status-pill[data-state="on"] { background: rgba(22,163,74,.13); color: #15803d; }
.fs-status-pill[data-state="warn"] { background: rgba(217,119,6,.14); color: #92400e; }
.fs-status-pill[data-state="off"] { background: rgba(90,110,150,.12); color: var(--color-text-muted, #566174); }
[data-theme="dark"] .fs-status-pill { background: rgba(148,163,184,.16); color: #cbd5e1; }
[data-theme="dark"] .fs-status-pill[data-state="on"] { background: rgba(74,222,128,.16); color: #86efac; }
[data-theme="dark"] .fs-status-pill[data-state="warn"] { background: rgba(251,191,36,.16); color: #fcd34d; }
[data-theme="dark"] .fs-status-pill[data-state="off"] { background: rgba(148,163,184,.16); color: #cbd5e1; }
[data-theme="dark"] .fs-account-avatar { background: rgba(96,165,250,.18); color: #93c5fd; }
#account-page-message { margin: 1rem .2rem; }
.fs-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.fs-product-card { display: flex; flex-direction: column; align-items: flex-start; padding: 1.3rem; border-radius: 16px; transition: transform .16s, box-shadow .16s; }
.fs-product-card:hover { box-shadow: 0 14px 34px rgba(22,35,73,.11); transform: translateY(-2px); }
.fs-product-card--featured { grid-column: 1 / -1; border: 2px solid #2447c6; box-shadow: 0 14px 40px rgba(36,71,198,.13); }
.fs-product-head { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; width: 100%; }
.fs-product-head h2 { margin: 0 !important; }
.fs-product-head .fs-status-pill { margin-left: auto; }
.fs-product-desc { margin-top: .6rem !important; }
.fs-product-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; width: 100%; }
.fs-product-icon svg { width: 18px; height: 18px; display: block; }
.fs-product-card-priority { order: -1; border-color: #c47a00; background: linear-gradient(135deg, rgba(255,247,224,.96), var(--color-surface, #fff)); box-shadow: 0 12px 34px rgba(157,93,0,.14); }
.fs-product-card-priority #account-api-status { color: #7a4300; font-weight: 800; }
[data-theme="dark"] .fs-product-card-priority { border-color: #fbbf24; background: linear-gradient(135deg, rgba(120,74,0,.28), var(--color-surface, #111827)); }
[data-theme="dark"] .fs-product-card-priority #account-api-status { color: #fde68a; }
.fs-product-card h2 { margin: .9rem 0 .5rem; font-size: 1.05rem; }
.fs-product-card p { margin: 0; color: var(--color-text-muted, #626c7e); font-size: .9rem; line-height: 1.45; }
.fs-product-card > .fs-status-pill { margin-top: .7rem; }
.fs-product-action { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 40px; margin: 1rem .45rem 0 0; padding: .45rem .9rem; border: 1px solid #2447c6; border-radius: 10px; background: transparent; color: #2447c6; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .15s, color .15s; }
.fs-product-action:hover { background: rgba(36,71,198,.08); }
.fs-product-action:disabled { cursor: wait; opacity: .62; }
.fs-product-action--primary { border-color: #2447c6; background: #2447c6; color: #fff; }
.fs-product-action--primary:hover { background: #1d3aa3; color: #fff; }
.fs-product-action small { font-size: .72rem; font-weight: 800; color: #15803d; }
[data-theme="dark"] .fs-product-action small { color: #86efac; }
.fs-premium-offers { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }
.fs-premium-offers .fs-product-action { margin: 0; }
.fs-product-actions .fs-product-action { margin: 1rem .45rem 0 0; }
.fs-product-detail { margin-top: .55rem !important; color: var(--color-text, #172033) !important; font-weight: 700; }
.fs-product-note { margin-top: .8rem !important; font-size: .78rem !important; }
.fs-product-note[data-kind="error"] { color: #b42318 !important; }
.fs-product-note[data-kind="success"] { color: #176b43 !important; }
.fs-product-icon { display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 .25rem; border-radius: 8px; background: rgba(36,71,198,.1); color: #2447c6; font-size: .7rem; font-weight: 900; }
.fs-auth-tabs button:focus-visible, .fs-auth-field input:focus-visible, .fs-auth-primary:focus-visible, .fs-auth-link:focus-visible, .fs-account-secondary:focus-visible, .fs-product-action:focus-visible, .fs-danger-button:focus-visible, .fs-delete-close:focus-visible { outline: 3px solid rgba(36,71,198,.35); outline-offset: 2px; }
[hidden] { display: none !important; }
@media (max-width: 700px) { .fs-account-page { padding-top: 1.5rem; } .fs-account-hero { align-items: flex-start; flex-direction: column; } .fs-account-secondary { width: 100%; } .fs-product-grid { grid-template-columns: 1fr; } .fs-premium-offers { width: 100%; } .fs-premium-offers .fs-product-action { flex: 1 1 100%; } .fs-account-avatar { width: 48px; height: 48px; font-size: 1.1rem; } .fs-product-head .fs-status-pill { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
.fs-danger-zone{margin-top:2rem;padding:0;border:0;border-top:1px solid rgba(87,104,145,.18);border-radius:0}
.fs-danger-zone summary{display:inline-flex;align-items:center;gap:.35rem;margin-top:.9rem;padding:.3rem .2rem;color:#b42318;font-size:.88rem;font-weight:700;cursor:pointer;list-style:none}
.fs-danger-zone summary::-webkit-details-marker{display:none}
.fs-danger-zone summary::before{content:"›";display:inline-block;font-weight:800;transition:transform .15s}
.fs-danger-zone[open] summary::before{transform:rotate(90deg)}
.fs-danger-zone summary:focus-visible{outline:3px solid rgba(180,35,24,.3);outline-offset:2px}
[data-theme="dark"] .fs-danger-zone summary{color:#fca5a5}
.fs-danger-body{margin-top:.6rem;padding:1.1rem 1.2rem;border:1px solid rgba(220,38,38,.45);border-radius:12px}
.fs-danger-body p{margin:0 0 .9rem;color:var(--color-text-muted,#626c7e);font-size:.9rem;line-height:1.5}
.fs-danger-button{min-height:42px;padding:.6rem .9rem;border:1px solid #b42318;border-radius:10px;background:#b42318;color:#fff;font:inherit;font-weight:800;cursor:pointer}.fs-delete-modal{position:relative;max-width:36rem;padding:1.5rem}.fs-delete-close{position:absolute;right:.5rem;top:.5rem;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.fs-delete-modal input{display:block;width:100%;box-sizing:border-box;margin:.5rem 0 1rem;padding:.75rem;font:inherit}dialog{max-width:calc(100% - 2rem);border:0;border-radius:15px}dialog::backdrop{background:rgba(0,0,0,.55)}
#account-delete-billing{margin:1rem 0 1.25rem;padding:1rem;border:1px solid #2447c6;border-radius:12px;background:rgba(36,71,198,.07)}#account-delete-billing p{margin:0}#account-delete-billing .fs-product-action{width:100%;margin-right:0}@media(max-width:480px){.fs-delete-modal{padding:1.25rem .9rem}.fs-delete-modal .fs-danger-button{width:100%}}

/* Account profile (pseudonym + represented country) */
.fs-account-profile { margin-top: 1rem; }
.fs-profile-form { display: grid; gap: .9rem; padding: 1.3rem; border: 1px solid rgba(87,104,145,.22); border-radius: 15px; background: var(--color-surface, #fff); box-shadow: 0 18px 55px rgba(22,35,73,.09); }
.fs-profile-form h2 { margin: 0; }
.fs-account-profile .fs-auth-field { display: grid; gap: .35rem; }
.fs-account-profile label { font-weight: 700; }
.fs-profile-form input, .fs-profile-form select { width: 100%; min-height: 48px; box-sizing: border-box; padding: .75rem .9rem; border: 1px solid #aeb8ca; border-radius: 10px; background: var(--color-surface, #fff); color: inherit; font: inherit; }
.fs-profile-form .fs-auth-primary { border: 1px solid #2447c6; background: #2447c6; color: #fff; justify-self: start; }
.fs-profile-card { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; padding: 1.3rem; border: 1px solid rgba(87,104,145,.22); border-radius: 15px; background: var(--color-surface, #fff); box-shadow: 0 18px 55px rgba(22,35,73,.09); }
.fs-profile-card strong { font-size: 1.15rem; overflow-wrap: anywhere; }
.fs-leaderboard-choice{flex:1 1 100%;margin-top:.45rem;padding-top:.85rem;border-top:1px solid rgba(87,104,145,.16)}.fs-leaderboard-choice label{display:flex;align-items:flex-start;gap:.55rem;font-weight:850;cursor:pointer}.fs-leaderboard-choice input{width:1.15rem;height:1.15rem;margin-top:.1rem;accent-color:#2447c6}.fs-leaderboard-choice p{margin:.35rem 0;color:#5e687b;font-size:.82rem;line-height:1.4}.fs-leaderboard-choice a{display:inline-block;margin-top:.25rem;color:#2447c6;font-size:.82rem;font-weight:800}.fs-leaderboard-choice input:focus-visible{outline:3px solid rgba(36,71,198,.3);outline-offset:2px}
.fs-profile-country { display: inline-flex; align-items: center; gap: .4rem; color: var(--color-text-muted, #566174); }
#account-profile-card-flag { font-size: 1.3rem; line-height: 1; }

/* Activation block: compact next-step CTA shown post-creation or while zero pick */
.fs-activation { margin-top: 1rem; padding: 1.1rem 1.3rem; border: 1px solid rgba(36,71,198,.25); border-radius: 15px; background: linear-gradient(135deg, var(--color-surface, #fff) 0%, rgba(36,71,198,.06) 100%); }
.fs-activation-title { margin: 0 0 .3rem; font-size: 1.02rem; }
.fs-activation-body { margin: 0 0 .2rem; color: var(--color-text-muted, #5e687b); font-size: .9rem; line-height: 1.45; }
.fs-activation .fs-activation-cta { min-height: 44px; margin: .7rem 0 0; }
[data-theme="dark"] .fs-activation { border-color: rgba(147,180,255,.32); background: linear-gradient(135deg, var(--color-surface, #111827) 0%, rgba(36,71,198,.18) 100%); }

@media (max-width: 700px) { .fs-profile-form .fs-auth-primary { width: 100%; justify-self: stretch; } .fs-activation .fs-activation-cta { width: 100%; } }
