.portal-sample{background:var(--olive);color:var(--paper);text-align:center;padding:8px var(--gutter);font-size:var(--step--1);font-weight:600}.portal-head{border-bottom:1px solid var(--line);padding-block:40px 28px}.portal-head h1{font-size:var(--step-4);letter-spacing:-.01em;margin-top:10px}.portal-head p{max-width:62ch;margin-top:12px}.portal-tabs{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.portal-tab{border:1px solid var(--ink);min-height:44px;color:var(--ink);font:600 .92rem var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:8px 18px}.portal-tab[aria-selected=true]{background:var(--olive);border-color:var(--olive);color:var(--paper)}.portal-tab .cur{letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-left:8px;font-size:.7rem}.portal-panel{padding-block:40px 56px}.portal-banner{background:var(--olive);color:var(--paper);padding:28px}.portal-banner .eyebrow{color:var(--onDark-muted)}.portal-banner h2{font-size:var(--step-3);color:var(--paper);margin-top:10px}.portal-banner .tag{font-style:italic;font-family:var(--font-display);font-size:var(--step-1);color:var(--onDark-muted);margin-top:6px}.portal-banner p.sum{max-width:70ch;margin-top:14px}.portal-jump{flex-wrap:wrap;gap:6px 18px;margin:20px 0 0;padding:0;list-style:none;display:flex}.portal-jump a{color:var(--accent);padding-block:8px;font-size:.92rem;font-weight:600;display:inline-block}.portal-section{margin-top:40px}.portal-section h3{font-size:var(--step-2);margin-bottom:8px}.portal-section>p.intro{color:var(--muted);max-width:70ch}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:18px;display:grid}.kpi{border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;padding:20px}.kpi.good{border-top-color:var(--olive)}.kpi.watch{border-top-color:var(--highlight)}.kpi .lab{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:700}.kpi .val{font:600 clamp(1.9rem, 1.4rem + 1.6vw, 2.5rem)/1.1 var(--font-display);color:var(--ink);margin-top:8px}.kpi .sub{color:var(--muted);margin-top:6px;font-size:.88rem}.kpi .delta{color:var(--accent-dark);margin-top:8px;font-size:.88rem;font-weight:700}.glance{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:18px;display:grid}.glance div{background:var(--paper);border:1px solid var(--line);padding:14px 16px}.glance b{font:600 1.5rem/1.2 var(--font-display);display:block}.glance span{color:var(--muted);font-size:.85rem}.changes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:18px;display:grid}.change{border:1px solid var(--line);background:#fff;padding:18px}.change .lab{font-size:.85rem;font-weight:700}.change .flow{font:600 1.35rem/1.3 var(--font-display);margin-top:6px}.change .flow i{color:var(--muted);padding-inline:6px;font-style:normal}.change .pct{color:var(--accent-dark);margin-top:6px;font-size:.9rem;font-weight:700}.change.watch .pct{color:var(--highlight-text)}.table-wrap{border:1px solid var(--line);background:#fff;margin-top:16px;overflow-x:auto}.portal-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}.portal-table th,.portal-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.portal-table thead th{background:var(--paper);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.portal-table td:first-child{font-weight:600}.badge{letter-spacing:.06em;text-transform:uppercase;color:#2e4459;background:#e4e9ee;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-block}.badge.good{color:#3a391f;background:#e3e7d2}.badge.warn{color:#7c3a19;background:#f6e1d6}.badge.flat{color:#4b463b;background:#ece8df}.portal-note{color:var(--muted);margin-top:10px;font-size:.88rem}.findings,.recs{gap:14px;margin-top:18px;display:grid}.finding{border:1px solid var(--line);border-left:4px solid var(--accent);background:#fff;padding:22px}.finding .n{font:600 1.1rem var(--font-display);color:var(--accent)}.finding h4{margin:4px 0 6px;font-size:1.1rem}.finding blockquote{border-left:3px solid var(--highlight);color:var(--muted);margin:10px 0 0;padding-left:14px;font-style:italic}.rec{border:1px solid var(--line);background:#fff;padding:22px}.rec h4{margin:0 0 8px;font-size:1.1rem}.rec ul{margin:0;padding-left:20px}.portal-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding-top:16px;font-size:.88rem}.portal-login{max-width:460px;margin-top:28px}.portal-clients{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:24px;display:grid}.portal-clients a{border:1px solid var(--line);background:#fff;padding:22px;text-decoration:none;display:block}.portal-clients a:hover{border-color:var(--accent)}.portal-clients b{font:600 1.3rem var(--font-display);display:block}@media print{.portal-tabs,.portal-jump,.portal-sample{display:none}.portal-panel[hidden]{display:block!important}}.portal-body .mobile-cta,.portal-body [class*=sticky]{display:none!important}.channels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px;display:grid}.channel{border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;padding:20px}.channel header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.channel h4{font:600 1.25rem var(--font-display);margin:0}.channel .handle{color:var(--muted);font-size:.85rem}.channel .chan-status{color:var(--accent-dark);margin-top:8px;font-size:.9rem;font-weight:600}.channel dl{gap:0;margin:14px 0 0;display:grid}.channel dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-block:8px;font-size:.95rem;display:flex}.channel dt{color:var(--muted)}.channel dd{text-align:right;margin:0;font-weight:700}.channel dd small{color:var(--accent-dark);font-size:.78rem;font-weight:600;display:block}.channel .chan-top{margin-top:12px;font-size:.9rem}.portal-sample-inline{color:#7c3a19;background:#f6e1d6;margin:0 0 16px;padding:10px 14px;font-size:.88rem;font-weight:600}.portal-signout{margin-top:16px}.portal-end{padding-block:8px 48px}.portal-end .portal-note{margin-top:10px}
