/* Shared header and content rhythm across account, support and setup pages. */
.portal-account-page [hidden]:not([hidden="until-found"]) { display:none !important; }
.portal-account-page .account-content { margin:32px auto; padding:0 20px 40px; }
.account-page-heading { margin-bottom:24px; }
.account-page-heading > a { display:inline-flex; align-items:center; min-height:44px; color:var(--text-muted); font-size:14px; text-decoration:none; }
.account-page-heading h1 { margin:8px 0; font-size:28px; }
.account-page-heading p { margin:0; font-size:14px; color:var(--text-muted); line-height:1.8; }
.account-content .card { border-radius:16px; }
.account-content :is(input,textarea,select,button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.portal-account-page :target { scroll-margin-top:calc(var(--portal-header-height,88px) + 16px); }
.portal-account-page { padding:0; --accent:#08783f; --accent-hover:#065a30; --accent-contrast:#ffffff; }
.portal-account-page .portal-top { position:sticky; top:0; z-index:30; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; width:100%; margin:0; padding:14px clamp(16px,4vw,64px); background:var(--surface); border-bottom:1px solid var(--border); }
.portal-account-page .portal-top .brand { flex:none; margin:0; }
.home-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; min-width:0; margin-left:auto; }
.home-header-link { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:64px; min-height:48px; color:var(--text-muted); text-decoration:none; font-size:12px; }
.home-header-link svg,.home-avatar svg { width:22px; height:22px; }
.home-header-link:hover { color:var(--accent); }
.home-account { position:relative; min-width:0; }
.home-account-trigger { display:flex; align-items:center; gap:10px; min-height:48px; max-width:240px; padding:8px 12px; border:1px solid var(--border); border-radius:12px; background:var(--bg); color:var(--text); font:inherit; cursor:pointer; }
.home-avatar { flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--surface); color:var(--text-muted); }
.home-account-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; }
.home-account-chevron { flex:none; color:var(--text-muted); }
.home-account-trigger[aria-expanded=true] { border-color:var(--accent); }
.home-account-panel { position:absolute; top:calc(100% + 12px); right:0; width:min(340px,calc(100vw - 48px)); max-height:calc(100dvh - var(--portal-header-height,88px) - 24px); overflow:auto; padding:12px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); }
.home-account-panel[hidden] { display:none; }
.home-account-heading { margin:0 0 8px; padding:12px; overflow-wrap:anywhere; font-size:16px; font-weight:650; }
.home-account-heading small { display:block; margin-top:4px; color:var(--text-muted); font-size:12px; font-weight:400; }
.home-account-panel a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:12px; border-radius:8px; color:var(--text); text-decoration:none; font-size:14px; }
.home-account-panel a:hover { background:var(--bg); }
.home-section-nav { display:flex; flex-wrap:wrap; gap:4px 16px; min-width:0; }
.home-section-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px; border-radius:8px; font-size:14px; font-weight:600; color:var(--text-muted); text-decoration:none; }
.home-section-nav a:hover { color:var(--accent); background:var(--bg); }
@media(max-width:800px) {
  .dashboard-page .portal-top { gap:8px 16px; }
  .home-section-nav { order:3; flex-basis:100%; justify-content:center; border-top:1px solid var(--border); }
  .home-section-nav a { font-size:13px; }
}
.home-account-section { margin:8px 12px 4px; color:var(--text-muted); font-size:12px; font-weight:600; }
.home-account-panel [role="group"] + [role="group"] { border-top:1px solid var(--border); margin-top:8px; padding-top:8px; }
.home-account-panel a span { color:var(--text-muted); }
.home-account-panel [data-logout] { border-top:1px solid var(--border); border-radius:0; margin-top:8px; }
.portal-account-page .portal-top a:focus-visible,.portal-account-page .portal-top button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.home-account-panel a[aria-current="page"] { background:var(--bg); color:var(--accent); font-weight:600; }
:root[data-theme=dark] .portal-account-page { --accent:#79dba0; --accent-hover:#a2edbf; --accent-contrast:#102a1b; }
@media(prefers-color-scheme:dark) { :root:not([data-theme=light]) .portal-account-page { --accent:#79dba0; --accent-hover:#a2edbf; --accent-contrast:#102a1b; } }
@media(max-width:700px) {
  .portal-account-page .portal-top { gap:12px; padding:12px 16px; }
  .home-header-actions { gap:4px; }
  .home-header-link { min-width:48px; font-size:10px; }
  .home-account-trigger { max-width:160px; }
}
@media(max-width:479px) {
  .home-account-trigger { padding:6px; width:44px; min-height:44px; justify-content:center; }
  .home-account-name,.home-account-chevron { display:none; }
  .portal-account-page .portal-top .brand { font-size:21px; gap:5px; }
  .portal-account-page .portal-top .brand__mark { width:26px; height:26px; }
}
