.portal-theme{--p-bg:#fbf7f1;--p-surface:#fff;--p-ink:#2c2118;--p-muted:#75685a;--p-faint:#a2937f;--p-hairline:#ebe1d2;--p-primary:#b0552b;--p-on-primary:#fbf4ec;--p-accent:#3f5c50;--p-band-bg:#f2e6d6;--p-band-ink:#2c2118;--p-band-muted:#8a7a66;--p-band-line:#2c211824;--p-good:#3f6b52;--p-bad:#a03d2e;--p-r:12px;--p-fd:"Bricolage Grotesque", sans-serif;--p-ft:"Public Sans", sans-serif;background:var(--p-bg);color:var(--p-ink);font-family:var(--p-ft);min-height:100vh}.pt-band{background:var(--p-band-bg);color:var(--p-band-ink);padding:0 24px}@media (width>=640px){.pt-band{padding:0 56px}}.pt-band-top{border-bottom:1px solid var(--p-band-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:8px 0;display:flex}.pt-brand{font:700 22px/1 var(--p-fd);letter-spacing:-.01em}.pt-band-muted{color:var(--p-band-muted)}.pt-hero{padding:36px 0 42px}.pt-kicker{font:600 11px/1 var(--p-ft);letter-spacing:.24em;text-transform:uppercase;color:var(--p-band-muted);margin-bottom:14px}.pt-hero-title{font:600 clamp(30px, 5vw, 44px) / 1.1 var(--p-fd);letter-spacing:-.015em}.pt-hero-sub{font:400 14px/1.5 var(--p-ft);color:var(--p-band-muted);margin-top:10px}.pt-nav{border-bottom:1px solid var(--p-hairline);background:var(--p-bg);gap:28px;padding:0 24px;display:flex;overflow-x:auto}@media (width>=640px){.pt-nav{gap:36px;padding:0 56px}}.pt-nav-item{font:500 14px/1 var(--p-ft);color:var(--p-muted);white-space:nowrap;cursor:pointer;background:0 0;border-bottom:2px solid #0000;padding:18px 0}.pt-nav-item[data-active=true]{color:var(--p-ink);border-bottom-color:var(--p-primary);padding-bottom:16px;font-weight:600}.pt-main{flex-direction:column;gap:44px;max-width:1160px;margin:0 auto;padding:40px 24px 0;display:flex}@media (width>=640px){.pt-main{gap:52px;padding:52px 56px 0}}.pt-section-label{font:600 11px/1 var(--p-ft);letter-spacing:.22em;text-transform:uppercase;color:var(--p-faint);margin-bottom:14px}.pt-card{background:var(--p-surface);border:1px solid var(--p-hairline);border-radius:var(--p-r)}.pt-display{font-family:var(--p-fd);letter-spacing:-.01em}.pt-tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pt-muted{color:var(--p-muted)}.pt-faint{color:var(--p-faint)}.pt-link{font:600 14px/1 var(--p-ft);color:var(--p-primary);cursor:pointer;background:0 0;border:0;padding:0}.pt-pill{border:1px solid var(--p-hairline);font:500 12px/1 var(--p-ft);color:var(--p-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:5px 10px;display:inline-flex}.pt-pill-primary{border-color:var(--p-hairline);color:var(--p-primary);letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;font-weight:600}.pt-dot{background:var(--p-primary);border-radius:50%;width:7px;height:7px;display:inline-block}.pt-strip{border-top:1px solid var(--p-hairline);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=900px){.pt-strip{grid-template-columns:repeat(5,1fr)}}.pt-strip>div{padding:20px 24px 0 0}@media (width>=900px){.pt-strip>div+div{border-left:1px solid var(--p-hairline);padding-left:24px}}.pt-strip-label{font:500 13px/1 var(--p-ft);color:var(--p-muted);margin-bottom:10px}.pt-strip-value{font:600 clamp(20px, 2.4vw, 26px) / 1.1 var(--p-fd);letter-spacing:-.01em;font-feature-settings:"tnum"}.pt-row{border-bottom:1px solid var(--p-hairline);text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;justify-content:space-between;align-items:baseline;gap:24px;width:100%;padding:18px 0;display:flex}.pt-row-date{font:400 12px/1 var(--p-ft);color:var(--p-faint);font-feature-settings:"tnum";min-width:92px}.pt-row-title{font:600 16px/1.3 var(--p-fd);letter-spacing:-.005em}.portal-theme table{font-family:var(--p-ft)}.portal-theme thead th{font:600 11px/1.3 var(--p-ft);letter-spacing:.14em;text-transform:uppercase;color:var(--p-faint)}.portal-theme{--background:var(--p-bg);--foreground:var(--p-ink);--card:var(--p-surface);--card-foreground:var(--p-ink);--popover:var(--p-surface);--popover-foreground:var(--p-ink);--primary:var(--p-primary);--primary-foreground:var(--p-on-primary);--secondary:var(--p-band-bg);--secondary-foreground:var(--p-ink);--muted:var(--p-band-bg);--muted-foreground:var(--p-muted);--accent:var(--p-band-bg);--accent-foreground:var(--p-ink);--destructive:var(--p-bad);--border:var(--p-hairline);--input:var(--p-hairline);--ring:var(--p-primary);--radius:var(--p-r)}.portal-theme .bg-card{box-shadow:none}.pt-progress{background:var(--p-hairline);border-radius:3px;height:6px;display:flex;overflow:hidden}.pt-progress>div{background:var(--p-primary)}.pt-footer{border-top:1px solid var(--p-hairline);font:400 13px/1.6 var(--p-ft);color:var(--p-faint);flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:8px;padding:24px 0 40px;display:flex}.pt-empty{border:1px dashed var(--p-hairline);border-radius:var(--p-r);max-width:560px;padding:28px 32px}.pt-empty-title{font:600 15px/1.4 var(--p-fd);letter-spacing:-.005em}.pt-empty-body{font:400 14px/1.6 var(--p-ft);color:var(--p-muted);margin-top:6px}.pt-statement{border-collapse:collapse;width:100%}.pt-statement td{border-bottom:1px solid var(--p-hairline);font:400 14px/1.4 var(--p-ft);vertical-align:baseline;padding:12px 0}.pt-statement td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:24px}.pt-statement tr.total td{border-bottom:none;border-top:1px solid var(--p-ink);padding-top:14px;font-weight:600}.pt-statement tr.balance td{font-weight:600;font-family:var(--p-fd);font-size:15px}.pt-statement td .date{color:var(--p-faint);font-feature-settings:"tnum";margin-right:14px;font-size:12px}@media (prefers-color-scheme:dark){.portal-theme{--p-bg:#16120e;--p-surface:#1e1913;--p-ink:#ede7de;--p-muted:#a79a89;--p-faint:#7e7364;--p-hairline:#ede7de24;--p-primary:#c87a50;--p-on-primary:#1a120c;--p-accent:#7fa892;--p-band-bg:#211a13;--p-band-ink:#ede7de;--p-band-muted:#9a8c7a;--p-band-line:#ede7de29;--p-good:#7fbd9f;--p-bad:#d98d7a}.pt-statement tr.total td{border-top-color:var(--p-ink)}}@media (width<=480px){.pt-hero{padding:26px 0 30px}.pt-row{flex-direction:column;align-items:flex-start;gap:8px}.pt-row-date{min-width:0}.pt-main{gap:36px}}
