/* Reuse site tokens; keep page styling scoped to avoid changing chat rendering. */
.site-page { width:min(1080px,100%); margin:0 auto; padding:28px 32px 80px; }
.site-page-header { position:relative; padding:30px 36px 34px; overflow:hidden; border:1px solid var(--forest-3); border-radius:10px 36px 10px 10px; background:radial-gradient(circle at 94% 8%,rgba(220,230,110,.12),transparent 20rem),linear-gradient(135deg,var(--forest-2),var(--forest)); color:var(--cream); box-shadow:var(--shadow-soft); }
.site-page-header::after { position:absolute; right:-46px; bottom:-120px; width:330px; height:330px; border:1px solid rgba(255,253,247,.1); border-radius:50%; content:""; pointer-events:none; }
.site-page-top { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.site-page-brand { display:inline-flex; align-items:center; gap:11px; color:var(--cream); text-decoration:none; }
.site-page-brand strong { font-family:var(--serif); font-weight:500; font-size:17px; }
.site-page-brand .brand-mark { width:36px; height:36px; }
.site-page-back { display:inline-flex; align-items:center; min-height:44px; color:rgba(255,253,247,.78); font-size:13px; text-decoration:none; white-space:nowrap; }
.site-page-back:hover { color:var(--lime); }
.site-page-header .eyebrow { position:relative; z-index:1; color:var(--lime); font-size:11px; }
.site-page h1 { position:relative; z-index:1; margin:10px 0 12px; font:500 clamp(30px,4vw,44px)/1.25 var(--serif); letter-spacing:-.035em; }
.site-page-header > p:not(.eyebrow) { position:relative; z-index:1; max-width:620px; margin:0; color:rgba(255,253,247,.72); font-size:14px; line-height:1.85; }
.site-page-links { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.site-page-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 20px; border:1px solid var(--line); border-radius:7px 17px 7px 7px; background:var(--surface); color:var(--forest); font-size:14px; font-weight:700; text-decoration:none; transition:background .15s,border-color .15s; }
.site-page-links a:hover { background:var(--cream); border-color:var(--forest-3); }
.site-page-links a[aria-current="page"] { background:var(--forest); border-color:var(--forest); color:var(--cream); }
.account-shell { counter-reset:account-section; }
.account-shell > section { padding:28px 30px; margin:22px 0; scroll-margin-top:20px; border:1px solid var(--line); border-radius:9px 28px 9px 9px; background:var(--surface); box-shadow:0 6px 24px rgba(18,32,24,.035); counter-increment:account-section; }
.account-shell h2 { display:flex; align-items:center; gap:12px; margin:0 0 22px; font:500 26px/1.3 var(--serif); color:var(--forest); }
.account-shell h2::before { content:counter(account-section,decimal-leading-zero); font:500 13px/1 var(--serif); color:var(--coral-dark); }
.account-shell h3 { margin:28px 0 12px; font:500 19px/1.4 var(--serif); color:var(--forest); }
.account-shell p { color:var(--muted); line-height:1.8; font-size:14px; }
.account-shell form { display:flex; align-items:end; flex-wrap:wrap; gap:14px; }
.account-shell label { display:grid; gap:8px; min-width:160px; flex:1; color:var(--muted); font-size:13px; }
.account-shell :is(input,select,textarea,button) { font:inherit; border-radius:7px; min-height:44px; max-width:100%; padding:11px 14px; border:1px solid var(--line); }
.account-shell :is(input,select,textarea) { background:var(--cream); color:var(--ink); width:100%; min-width:0; font-size:14px; }
.account-shell input::file-selector-button { margin:-4px 10px -4px -6px; padding:7px 10px; border:0; border-radius:4px; background:var(--paper-2); color:var(--forest); font:inherit; cursor:pointer; }
.account-shell button { background:var(--forest); color:var(--cream); cursor:pointer; font-size:14px; font-weight:700; transition:background .15s; }
.account-shell button:hover:not(:disabled) { background:var(--forest-3); }
.account-shell button:disabled { opacity:.46; cursor:default; }
.account-shell button.secondary { background:var(--cream); color:var(--forest); }
.account-shell button.secondary:hover:not(:disabled) { background:var(--paper-2); }
.account-shell .metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.account-shell .metric { min-width:0; padding:20px; border:1px solid var(--line); border-radius:7px 19px 7px 7px; background:var(--cream); }
.account-shell .metric strong { display:block; margin:9px 0 7px; overflow-wrap:anywhere; font-size:clamp(23px,2.5vw,30px); font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.04em; color:var(--forest); }
.account-shell .metric span { display:block; color:var(--muted); font-size:12px; line-height:1.6; }
.account-shell #balances .metric:nth-child(2) { border-top:2px solid var(--sage); }
.account-shell #balances .metric:first-child { border-top:2px solid var(--coral); }
.account-shell .list-row { padding:15px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.account-shell .list-row:last-child { border-bottom:0; }
.account-shell .list-row p { margin:6px 0; font-size:13px; }
.account-shell .list-row strong { font-size:14px; font-weight:700; }
.account-shell .order { padding:20px; margin:16px 0; border:1px solid var(--line); border-radius:7px 20px 7px 7px; background:var(--cream); }
.account-shell .order img { display:block; width:230px; height:230px; object-fit:contain; background:white; max-width:100%; margin:16px 0; }
.account-shell .order form { margin-top:18px; }
.account-shell .tier-grid { display:flex; gap:12px; flex-wrap:wrap; }
.account-shell .tier-grid button { white-space:normal; }
.account-shell .pager { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px; font-size:13px; color:var(--muted); }
.account-shell .pager:empty,.site-page #notice:empty,.site-page #announcementStatus:empty { display:none; }
.account-shell #notice:not(:empty) { padding:14px 18px; border:1px solid rgba(49,80,65,.18); border-radius:7px; background:#e7eddf; color:var(--forest); }
.account-shell #notice.error { background:#f8e7de; color:var(--coral-dark); border-color:rgba(185,75,53,.2); }
.account-shell details { margin-top:16px; }
.account-shell summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:13px; color:var(--forest); }
.account-shell time { color:var(--muted); font-size:12px; }
.account-shell pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.announcement-page #announcementStatus:not(:empty) { padding:28px 20px; border:1px solid var(--line); border-radius:9px 28px 9px 9px; background:var(--surface); color:var(--muted); text-align:center; line-height:1.8; }
.site-page .site-pagination button { min-height:44px; }
.site-page :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--coral-dark); outline-offset:3px; }
@media(max-width:600px) {
 .site-page { padding:16px 14px max(48px,env(safe-area-inset-bottom)); }
 .site-page-header { padding:20px; border-radius:8px 28px 8px 8px; }
 .site-page-top { gap:10px; margin-bottom:25px; }
 .site-page-brand { gap:8px; }.site-page-brand strong { font-size:14px; }.site-page-brand .brand-mark { width:30px; height:30px; }
 .site-page-back { font-size:12px; }.site-page h1 { font-size:30px; }.site-page-header > p:not(.eyebrow) { font-size:13px; }
 .site-page-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0; }
 .site-page-links a { justify-content:center; padding:10px; font-size:13px; }
 .account-shell > section { padding:22px 16px; margin:18px 0; }.account-shell h2 { font-size:23px; gap:10px; }
 .account-shell form { display:grid; grid-template-columns:minmax(0,1fr); }.account-shell form button { width:100%; }.account-shell label { min-width:0; }
 .account-shell .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.account-shell .metric { padding:14px 12px; }.account-shell .metric strong { font-size:24px; }
 .account-shell .order { padding:14px; }
}
@media(prefers-reduced-motion:reduce) { .site-page-links a,.account-shell button { transition:none; } }
