[hidden] { display:none !important; }
.account-hero { padding:56px 0 42px; }
.account-hero h1 { font-size:clamp(2.4rem,4.5vw,4rem); }
.account-hero p:last-child { max-width:660px; margin:1rem 0 0; color:#c4d1e1; }
.account-section { padding:44px 0 76px; background:var(--paper); }
.account-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.75fr); gap:28px; align-items:start; }
.account-card { min-width:0; padding:32px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:0 18px 48px rgba(7,29,52,.06); }
.account-card h2 { font-size:1.8rem; }
.account-card h3 { font-size:1.15rem; }
.account-card p { color:#51637b; }
.account-card a:not(.button) { color:#315fa9; text-decoration:underline; text-underline-offset:.18em; }
.account-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:26px; padding:5px; border-radius:12px; background:#edf2f8; }
.account-tabs button { flex:1; min-width:110px; padding:10px 8px; border:0; border-radius:8px; background:transparent; color:#51637b; font:inherit; font-weight:700; cursor:pointer; }
.account-tabs button[aria-pressed="true"] { color:var(--navy); background:white; box-shadow:0 2px 7px #071d3410; }
.account-form { display:grid; gap:18px; }
.account-form label { display:grid; gap:7px; color:var(--ink); font-size:.94rem; font-weight:650; }
.account-form input:not([type="checkbox"]) { width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid #b8c7d9; border-radius:8px; background:white; color:var(--ink); font:inherit; }
.account-form input:focus { outline:3px solid #4e83ff40; border-color:#315fa9; }
.account-form .check-label { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.check-label input { margin-top:5px; }
.form-hint { font-size:.85rem; margin:0; }
.account-card .button { border:1px solid transparent; font:inherit; font-weight:750; cursor:pointer; justify-content:center; }
.account-card button:disabled { opacity:.6; cursor:wait; }
.button-secondary { border-color:#b8c7d9 !important; color:var(--ink); background:white; }
.account-status { padding:14px 16px; margin:0 0 22px; border-radius:9px; border:1px solid #c2d3ec; color:#204f9a; background:#edf4ff; overflow-wrap:anywhere; }
.account-status[data-tone="error"] { color:#812a34; border-color:#e7b8be; background:#fff1f2; }
.account-status[data-tone="success"] { color:#14604a; border-color:#abd4c5; background:#effaf5; }
.session-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-bottom:24px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.session-email { display:block; overflow-wrap:anywhere; font-weight:750; }
.session-badge { display:inline-block; color:#14604a; font-size:.85rem; font-weight:700; }
.account-actions { display:grid; gap:14px; }
.account-action { text-align:left; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); cursor:pointer; font:inherit; }
.account-action strong,.account-action span { display:block; }
.account-action span { color:#687991; margin-top:4px; font-size:.9rem; }
.account-action.danger,.button-danger { color:#8a2534; border-color:#e5b8c0 !important; background:#fff4f5; }
.button-danger { background:#922c3e; color:white; }
.account-links { display:grid; gap:12px; margin-top:24px; }
.account-aside .eyebrow { color:#315fa9; }
.account-aside p { font-size:.94rem; }
.account-aside hr { margin:24px 0; border:0; border-top:1px solid var(--line); }
.account-form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.account-form-actions .button { flex:1; }
.danger-note { padding:16px; border-left:3px solid #ab4353; background:#fff4f5; }
:focus-visible { outline:3px solid #4e83ff; outline-offset:3px; }
@media(max-width:900px) { .account-layout { grid-template-columns:minmax(0,1fr); }.account-aside { box-shadow:none; } }
@media(max-width:640px) { .account-hero { padding:36px 0; }.account-section { padding:28px 0 48px; }.account-card { padding:22px; border-radius:13px; }.account-tabs button { min-width:86px; font-size:.87rem; }.account-card h2 { font-size:1.55rem; } }
