:root{--thbp-teal:#0d5f63;--thbp-teal-dark:#073f43;--thbp-teal-soft:#e7f4f2;--thbp-blue:#176b87;--thbp-ink:#172b35;--thbp-muted:#61737b;--thbp-line:#cfe2df;--thbp-bg:#f5f8f7}
.thbp-hero,.thbp-application-page,.thbp-status-page,.thbp-dashboard{background:linear-gradient(145deg,#f4f9f8,#eef4f5);color:var(--thbp-ink)}
.thbp-hero{padding:96px 0 78px}.thbp-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:56px;align-items:center}.thbp-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--thbp-teal);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.thbp-hero h1,.thbp-app-header h1,.thbp-status-card h1,.thbp-dashboard-hero h1{font-size:clamp(2.25rem,5vw,4.55rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0;color:var(--thbp-teal-dark)}.thbp-hero p{font-size:1.18rem;line-height:1.75;color:var(--thbp-muted);max-width:720px}.thbp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.thbp-btn{border:1px solid transparent;border-radius:12px;padding:13px 20px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;text-decoration:none}.thbp-btn:hover{transform:translateY(-1px);text-decoration:none}.thbp-btn-primary{background:var(--thbp-teal);color:#fff}.thbp-btn-primary:hover{background:var(--thbp-teal-dark);color:#fff}.thbp-btn-ghost{background:#fff;border-color:var(--thbp-line);color:var(--thbp-teal-dark)}.thbp-btn-light{background:#fff;color:var(--thbp-teal-dark)}.thbp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.thbp-hero-card,.thbp-gate-card,.thbp-form-card,.thbp-help-card,.thbp-status-card,.thbp-empty-panel{background:#fff;border:1px solid var(--thbp-line);border-radius:24px;box-shadow:0 24px 70px rgba(13,95,99,.09)}.thbp-hero-card{padding:36px}.thbp-card-icon,.thbp-status-icon{width:58px;height:58px;border-radius:18px;background:var(--thbp-teal-soft);color:var(--thbp-teal);display:grid;place-items:center;font-size:1.45rem}.thbp-hero-card h2{margin:24px 0 10px;font-size:1.55rem}.thbp-hero-card p,.thbp-help-card p{color:var(--thbp-muted);line-height:1.7}.thbp-checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}.thbp-checks i{color:var(--thbp-teal);margin-right:9px}.thbp-section{padding:82px 0;background:#fff}.thbp-section-muted{background:var(--thbp-bg)}.thbp-heading{max-width:720px;margin-bottom:36px}.thbp-heading>span,.thbp-step-label{color:var(--thbp-teal);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.thbp-heading h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.03em;margin-top:10px}.thbp-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.thbp-audience-card{border:1px solid var(--thbp-line);border-radius:18px;padding:25px;background:#fff}.thbp-audience-card i{color:var(--thbp-teal);font-size:1.35rem}.thbp-audience-card h3{font-size:1rem;margin:16px 0 0}.thbp-process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.thbp-process article{background:#fff;border:1px solid var(--thbp-line);border-radius:20px;padding:26px}.thbp-process b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--thbp-teal);color:#fff}.thbp-process h3{margin:18px 0 8px}.thbp-process p{color:var(--thbp-muted);line-height:1.65}.thbp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.thbp-info-card{display:flex;gap:22px;padding:30px;border:1px solid var(--thbp-line);border-radius:20px}.thbp-info-card>i{color:var(--thbp-teal);font-size:1.7rem}.thbp-info-card h2{font-size:1.3rem}.thbp-info-card p{color:var(--thbp-muted);line-height:1.7}.thbp-cta{background:linear-gradient(135deg,var(--thbp-teal-dark),var(--thbp-teal),var(--thbp-blue));color:#fff;text-align:center;padding:72px 0}.thbp-cta h2{color:#fff;font-size:clamp(2rem,3vw,3.25rem);max-width:780px;margin:12px auto 28px}.thbp-application-page,.thbp-status-page,.thbp-dashboard{padding:68px 0 90px;min-height:70vh}.thbp-gate-card{max-width:760px;margin:30px auto;padding:48px;text-align:center}.thbp-gate-card .thbp-card-icon{margin:0 auto}.thbp-gate-card h1{font-size:2.2rem;margin:20px 0 12px}.thbp-gate-card p{color:var(--thbp-muted);line-height:1.7}.thbp-gate-card .thbp-actions{justify-content:center}.thbp-app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.thbp-app-header h1{font-size:clamp(2rem,4vw,3.5rem);max-width:780px}.thbp-save-state{white-space:nowrap;color:var(--thbp-muted);font-size:.9rem}.thbp-save-state i{color:var(--thbp-teal);margin-right:6px}.thbp-progress{display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border:1px solid var(--thbp-line);border-radius:18px;padding:10px;margin-bottom:24px;overflow:auto}.thbp-progress a{min-width:100px;text-align:center;color:var(--thbp-muted);padding:10px 5px;text-decoration:none;border-radius:12px;font-size:.78rem}.thbp-progress b{display:grid;place-items:center;margin:0 auto 7px;width:28px;height:28px;border-radius:50%;background:#edf2f1}.thbp-progress a.active{color:var(--thbp-teal-dark);background:var(--thbp-teal-soft);font-weight:800}.thbp-progress a.active b,.thbp-progress a.done b{background:var(--thbp-teal);color:#fff}.thbp-app-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.thbp-form-card{padding:38px;min-width:0}.thbp-form-card h2{font-size:2rem;letter-spacing:-.025em;margin:8px 0 12px}.thbp-form-card>p,.thbp-form-card form>p{color:var(--thbp-muted)}.thbp-help-card{padding:26px;position:sticky;top:110px}.thbp-help-card>i{color:var(--thbp-teal);font-size:1.5rem}.thbp-help-card h2{font-size:1.25rem;margin:16px 0 6px}.thbp-help-card a{color:var(--thbp-teal);font-weight:750}.thbp-alert,.thbp-validation:not(:empty){display:flex;gap:10px;padding:14px 18px;border-radius:12px;margin:0 0 18px}.thbp-alert.success{background:#e8f7ef;color:#17603c}.thbp-alert.error,.thbp-validation:not(:empty){background:#fff0f0;color:#9a2d2d}.thbp-account-check,.thbp-ready{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--thbp-line);border-radius:16px;padding:22px;margin:24px 0}.thbp-account-check>i,.thbp-ready>i{font-size:1.6rem;color:var(--thbp-teal)}.thbp-account-check.pending>i{color:#bf7a19}.thbp-account-check p,.thbp-ready p{margin:4px 0 0;color:var(--thbp-muted)}.thbp-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.thbp-type-option{margin:0}.thbp-type-option input{position:absolute;opacity:0}.thbp-type-option span{display:flex;gap:12px;align-items:center;border:1px solid var(--thbp-line);border-radius:14px;padding:17px;cursor:pointer;height:100%}.thbp-type-option input:checked+span{border-color:var(--thbp-teal);background:var(--thbp-teal-soft);box-shadow:0 0 0 2px rgba(13,95,99,.1)}.thbp-type-option i{color:var(--thbp-teal)}.thbp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.thbp-field-grid.one-col{grid-template-columns:1fr}.thbp-field-grid label,.thbp-upload-box label{display:grid;gap:7px;margin:0;font-weight:700}.thbp-field-grid label.wide{grid-column:1/-1}.thbp-field-grid input,.thbp-field-grid textarea,.thbp-upload-box input,.thbp-upload-box select{width:100%;border:1px solid #c9d8d6;border-radius:11px;padding:12px 13px;background:#fbfdfc;color:var(--thbp-ink)}.thbp-field-grid input:focus,.thbp-field-grid textarea:focus,.thbp-upload-box select:focus{outline:3px solid rgba(13,95,99,.12);border-color:var(--thbp-teal)}.thbp-field-grid small{font-weight:400;color:var(--thbp-muted)}.thbp-field-grid [data-valmsg-for]{color:#a82f2f;font-weight:500;font-size:.84rem}.thbp-form-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #e6eeec;padding-top:24px;margin-top:30px}.thbp-form-actions>div{display:flex;gap:10px}.thbp-form-actions form{margin:0}.thbp-requirement-box,.thbp-missing{background:var(--thbp-teal-soft);border:1px solid var(--thbp-line);border-radius:16px;padding:20px;margin:24px 0}.thbp-requirement-box h3,.thbp-missing h3{font-size:1.05rem}.thbp-requirement-box ul,.thbp-missing ul{margin:12px 0 0;padding-left:20px}.thbp-requirement-box li{list-style:none;margin:8px 0}.thbp-requirement-box i{color:var(--thbp-teal);margin-right:9px}.thbp-missing{background:#fff7e8;border-color:#f0d3a2}.thbp-upload-box{display:grid;grid-template-columns:1fr 1.2fr auto;gap:14px;align-items:end;border:1px dashed var(--thbp-teal);border-radius:16px;padding:20px}.thbp-document-list{display:grid;gap:10px;margin-top:20px}.thbp-document-list article{display:flex;align-items:center;gap:13px;border:1px solid var(--thbp-line);border-radius:13px;padding:14px}.thbp-document-list article>i{color:var(--thbp-teal)}.thbp-document-list article>div{display:grid;flex:1;min-width:0}.thbp-document-list article span{color:var(--thbp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thbp-document-list article a,.thbp-document-list article button{border:0;background:none;color:var(--thbp-teal);font-weight:750}.thbp-document-list article button{color:#9a2d2d}.thbp-empty{border:1px dashed var(--thbp-line);border-radius:14px;padding:22px;text-align:center;color:var(--thbp-muted)}.thbp-consent-list{display:grid;gap:14px;margin-top:24px}.thbp-consent-list label{display:flex;gap:14px;border:1px solid var(--thbp-line);border-radius:15px;padding:18px;line-height:1.6}.thbp-consent-list input{width:20px;height:20px;flex:0 0 auto;margin-top:3px;accent-color:var(--thbp-teal)}.thbp-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.thbp-review-grid article{display:grid;gap:5px;border:1px solid var(--thbp-line);border-radius:14px;padding:16px}.thbp-review-grid span{color:var(--thbp-muted);font-size:.82rem}.thbp-status-card{max-width:760px;margin:20px auto;padding:46px;text-align:center}.thbp-status-icon{margin:0 auto}.thbp-status-card h1{font-size:2.6rem}.thbp-status-card>p:not(.thbp-kicker){color:var(--thbp-muted);font-size:1.06rem;line-height:1.7}.thbp-reason{text-align:left;background:#f6f9f8;border:1px solid var(--thbp-line);border-radius:15px;padding:18px;margin:24px 0}.thbp-reason p{margin:7px 0 0}.thbp-status-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.thbp-status-card dl div{border:1px solid var(--thbp-line);border-radius:13px;padding:15px}.thbp-status-card dt{color:var(--thbp-muted);font-size:.8rem}.thbp-status-card dd{margin:5px 0 0;font-weight:750}.thbp-status-card .thbp-actions{justify-content:center}.thbp-dashboard-hero{background:linear-gradient(135deg,var(--thbp-teal-dark),var(--thbp-teal));color:#fff;border-radius:28px;padding:48px}.thbp-dashboard-hero .thbp-kicker,.thbp-dashboard-hero h1{color:#fff}.thbp-dashboard-hero h1{font-size:3.2rem}.thbp-dashboard-hero p{max-width:760px;color:rgba(255,255,255,.82);font-size:1.08rem}.thbp-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.thbp-dashboard-grid article{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--thbp-line);border-radius:18px;padding:22px}.thbp-dashboard-grid i{color:var(--thbp-teal);font-size:1.5rem}.thbp-dashboard-grid div{display:grid}.thbp-dashboard-grid span{color:var(--thbp-muted);font-size:.82rem}.thbp-empty-panel{text-align:center;padding:42px}.thbp-empty-panel>i{color:var(--thbp-teal);font-size:2rem}.thbp-empty-panel h2{margin:14px 0 8px}.thbp-empty-panel p{color:var(--thbp-muted);max-width:680px;margin:0 auto 16px}
@media(max-width:991px){.thbp-hero-grid,.thbp-app-layout{grid-template-columns:1fr}.thbp-help-card{position:static}.thbp-audience-grid,.thbp-process{grid-template-columns:repeat(2,1fr)}.thbp-upload-box{grid-template-columns:1fr}.thbp-progress{justify-content:start}.thbp-app-header{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.thbp-hero{padding:62px 0}.thbp-hero-grid{gap:30px}.thbp-hero-card,.thbp-form-card,.thbp-gate-card,.thbp-status-card{padding:24px}.thbp-section{padding:56px 0}.thbp-audience-grid,.thbp-process,.thbp-two-col,.thbp-field-grid,.thbp-type-grid,.thbp-review-grid,.thbp-status-card dl,.thbp-dashboard-grid{grid-template-columns:1fr}.thbp-info-card{padding:22px}.thbp-form-actions{align-items:stretch;flex-direction:column}.thbp-form-actions>div{display:grid}.thbp-form-actions .thbp-btn{width:100%}.thbp-document-list article{align-items:flex-start;flex-wrap:wrap}.thbp-dashboard-hero{padding:30px 24px}.thbp-dashboard-hero h1{font-size:2.35rem}.thbp-status-card h1{font-size:2rem}}
.thbp-doc-state{width:max-content;margin-top:6px;border-radius:999px;padding:3px 9px;background:#eef2f1;color:#48605d;font-size:.72rem;font-weight:800}.thbp-doc-state.state-verified{background:#e8f7ef;color:#17603c}.thbp-doc-state.state-rejected,.thbp-doc-state.state-needsreplacement{background:#fff0f0;color:#9a2d2d}.thbp-doc-reason{margin-top:5px;color:#9a2d2d;white-space:normal;line-height:1.45}

/* ── Partner Growth Centre portal (Phase 4) ─────────────────────────────────
   Deep-teal identity, deliberately distinct from Student purple, Host green and
   Agency navy. Light cool-grey page, white cards, soft teal borders. Reuses the
   --thbp-* tokens defined at the top of this file. */
.thbp-portal{background:linear-gradient(160deg,#f3f8f8 0%,#eef4f5 100%);padding:38px 0 84px;min-height:78vh;color:var(--thbp-ink)}
.thbp-portal-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}
.thbp-portal-main{min-width:0}
.thbp-portal-nav{background:#fff;border:1px solid var(--thbp-line);border-radius:20px;padding:16px;position:sticky;top:104px;box-shadow:0 14px 40px rgba(13,95,99,.07)}
.thbp-portal-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.thbp-portal-nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;color:var(--thbp-ink);text-decoration:none;font-weight:650;font-size:.93rem;transition:.15s}
.thbp-portal-nav a:hover{background:var(--thbp-teal-soft);color:var(--thbp-teal-dark);text-decoration:none}
.thbp-portal-nav a.active{background:var(--thbp-teal);color:#fff}
.thbp-portal-nav a i{width:18px;text-align:center}
.thbp-nav-heading{margin:18px 0 8px;padding:0 13px;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--thbp-muted)}
.thbp-nav-upcoming li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;color:#93a7a9;font-size:.9rem}
.thbp-nav-upcoming li span{display:flex;align-items:center;gap:11px}
.thbp-nav-upcoming li i{width:18px;text-align:center}
.thbp-nav-upcoming em{font-style:normal;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#eef2f2;color:#7d9295;border-radius:999px;padding:3px 8px}
.thbp-portal-head{margin-bottom:22px}
.thbp-portal-head h1{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.03em;margin:10px 0 8px;color:var(--thbp-teal-dark)}
.thbp-portal-head p{color:var(--thbp-muted);margin:0;font-size:1.02rem}
.thbp-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;background:#fff;border:1px solid var(--thbp-line);border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 14px 40px rgba(13,95,99,.07)}
.thbp-link-card h2{font-size:1.12rem;margin:0 0 6px;display:flex;align-items:center;gap:9px}
.thbp-link-card h2 i{color:var(--thbp-teal)}
.thbp-link-card p{color:var(--thbp-muted);margin:0 0 14px;font-size:.93rem}
.thbp-link-row{display:flex;gap:9px}
.thbp-link-row input{flex:1;min-width:0;border:1px solid #c9d8d6;border-radius:11px;padding:11px 13px;background:#f8fbfa;color:var(--thbp-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}
.thbp-link-code{display:block;margin-top:10px;color:var(--thbp-muted);font-size:.85rem}
.thbp-link-share{display:grid;gap:8px;justify-items:stretch;min-width:150px}
.thbp-link-share>span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--thbp-muted)}
.thbp-share-btn{display:flex;align-items:center;gap:9px;border:1px solid var(--thbp-line);border-radius:11px;padding:10px 13px;color:var(--thbp-teal-dark);text-decoration:none;font-weight:650;font-size:.9rem}
.thbp-share-btn:hover{background:var(--thbp-teal-soft);text-decoration:none;color:var(--thbp-teal-dark)}
.thbp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px;margin-bottom:20px}
.thbp-metrics article{background:#fff;border:1px solid var(--thbp-line);border-radius:17px;padding:19px;box-shadow:0 10px 30px rgba(13,95,99,.05)}
.thbp-metrics span{display:block;color:var(--thbp-muted);font-size:.82rem;font-weight:600}
.thbp-metrics b{display:block;margin-top:7px;font-size:1.95rem;line-height:1.1;letter-spacing:-.03em;color:var(--thbp-teal-dark)}
.thbp-metrics small{display:block;margin-top:5px;color:#93a7a9;font-size:.75rem}
.thbp-panel{background:#fff;border:1px solid var(--thbp-line);border-radius:20px;padding:24px;margin-bottom:18px;box-shadow:0 14px 40px rgba(13,95,99,.06)}
.thbp-panel>h2{font-size:1.12rem;margin:0 0 16px;display:flex;align-items:center;gap:9px}
.thbp-panel>h2 i{color:var(--thbp-teal)}
.thbp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.thbp-panel-head h2{font-size:1.12rem;margin:0;display:flex;align-items:center;gap:9px}
.thbp-panel-head h2 i{color:var(--thbp-teal)}
.thbp-panel-head a{color:var(--thbp-teal);font-weight:700;font-size:.9rem}
.thbp-commission-panel p,.thbp-privacy-panel p{color:var(--thbp-muted);line-height:1.7;margin:0 0 10px}
.thbp-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:11px}
.thbp-pipeline-stage{display:grid;gap:5px;background:var(--thbp-teal-soft);border:1px solid var(--thbp-line);border-radius:14px;padding:15px;text-decoration:none;color:var(--thbp-teal-dark);transition:.15s}
.thbp-pipeline-stage:hover{background:#dcefec;text-decoration:none;color:var(--thbp-teal-dark);transform:translateY(-1px)}
.thbp-pipeline-stage b{font-size:1.55rem;line-height:1;letter-spacing:-.02em}
.thbp-pipeline-stage span{font-size:.8rem;color:var(--thbp-muted);line-height:1.35}
.thbp-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.thbp-filter-row a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--thbp-line);border-radius:999px;padding:8px 14px;color:var(--thbp-ink);text-decoration:none;font-size:.86rem;font-weight:650}
.thbp-filter-row a:hover{background:var(--thbp-teal-soft);text-decoration:none;color:var(--thbp-teal-dark)}
.thbp-filter-row a.active{background:var(--thbp-teal);border-color:var(--thbp-teal);color:#fff}
.thbp-filter-row a b{font-weight:800}
.thbp-referral-list{display:grid;gap:11px}
.thbp-referral{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--thbp-line);border-radius:15px;padding:16px 18px;background:#fff}
.thbp-referral.is-private{background:#fbfcfc}
.thbp-referral-main{min-width:0}
.thbp-referral-main>b{display:block;font-size:1rem;color:var(--thbp-ink)}
.thbp-stage{display:inline-block;margin-top:7px;border-radius:999px;padding:4px 11px;font-size:.76rem;font-weight:750;background:var(--thbp-teal-soft);color:var(--thbp-teal-dark)}
.thbp-stage-private{background:#eef2f2;color:#7d9295}
.thbp-stage-8,.thbp-stage-9{background:#e8f7ef;color:#17603c}
.thbp-stage-11{background:#fff0f0;color:#9a2d2d}
.thbp-referral-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;color:var(--thbp-muted);font-size:.83rem}
.thbp-referral-meta i{margin-right:5px;color:#9db4b5}
.thbp-referral-flags{display:grid;gap:6px;justify-items:end;flex:0 0 auto}
.thbp-flag{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 11px;font-size:.76rem;font-weight:750;white-space:nowrap}
.thbp-flag-good{background:#e8f7ef;color:#17603c}
.thbp-flag-warn{background:#fff7e8;color:#8a5a12}
.thbp-consent-note{display:flex;gap:10px;margin:16px 0 0;padding:14px 16px;border-radius:13px;background:var(--thbp-teal-soft);color:var(--thbp-teal-dark);font-size:.88rem;line-height:1.6}
.thbp-consent-note i{margin-top:2px}
@media(max-width:991px){.thbp-portal-shell{grid-template-columns:1fr}.thbp-portal-nav{position:static}.thbp-portal-nav ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.thbp-link-card{grid-template-columns:1fr}}
@media(max-width:640px){.thbp-portal{padding:24px 0 60px}.thbp-panel,.thbp-link-card{padding:18px}.thbp-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.thbp-metrics b{font-size:1.6rem}.thbp-referral{flex-direction:column}.thbp-referral-flags{justify-items:start}.thbp-link-row{flex-direction:column}.thbp-link-row .thbp-btn{width:100%}}
.thbp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.thbp-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:720px}
.thbp-table th{text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--thbp-muted);border-bottom:1px solid var(--thbp-line);padding:10px 12px;white-space:nowrap}
.thbp-table td{border-bottom:1px solid #eef3f2;padding:12px;vertical-align:top}
.thbp-table tr:last-child td{border-bottom:0}
.thbp-table code{background:#f3f7f6;border-radius:6px;padding:2px 6px;font-size:.8rem;color:var(--thbp-teal-dark)}
.thbp-basis{color:var(--thbp-muted);max-width:320px}
.thbp-row-reason{display:block;margin-top:5px;color:#8a5a12;font-style:normal;font-size:.82rem}
.thbp-amount{font-weight:800;color:var(--thbp-teal-dark);white-space:nowrap}
.thbp-cstatus{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:750;white-space:nowrap;background:#eef2f2;color:#5d7376}
.thbp-cstatus.s-1,.thbp-cstatus.s-2{background:var(--thbp-teal-soft);color:var(--thbp-teal-dark)}
.thbp-cstatus.s-3,.thbp-cstatus.s-4{background:#e6f0fb;color:#1c4f80}
.thbp-cstatus.s-5{background:#e8f7ef;color:#17603c}
.thbp-cstatus.s-6,.thbp-cstatus.s-8{background:#fff0f0;color:#9a2d2d}
.thbp-cstatus.s-7{background:#fff7e8;color:#8a5a12}
.thbp-link-card.has-qr{grid-template-columns:minmax(0,1fr) auto auto}
.thbp-link-qr{display:grid;gap:7px;justify-items:center;min-width:130px;text-align:center}
.thbp-link-qr>span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--thbp-muted)}
.thbp-link-qr img{border:1px solid var(--thbp-line);border-radius:12px;background:#fff;padding:6px}
.thbp-qr-download{font-size:.82rem;font-weight:650;color:var(--thbp-teal)}
.thbp-qr-download:hover{color:var(--thbp-teal-dark);text-decoration:underline}
@media(max-width:991px){.thbp-link-card.has-qr{grid-template-columns:1fr}.thbp-link-qr{justify-items:start;text-align:left}}

/* ── Marketing Centre & campaigns (Phase 6) ────────────────────────────────
   Same deep-teal tokens as the rest of the portal. Grids use auto-fit rather
   than fixed column counts so a card never forces the page to scroll sideways
   on a narrow phone. */
.thbp-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:14px}
.thbp-resource-card{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--thbp-line);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(13,95,99,.05);min-width:0}
.thbp-resource-card h3{font-size:1.03rem;margin:0;letter-spacing:-.01em;color:var(--thbp-teal-dark);overflow-wrap:anywhere}
.thbp-resource-card p{color:var(--thbp-muted);margin:0;font-size:.9rem;line-height:1.6}
.thbp-resource-card .thbp-btn{margin-top:auto;align-self:flex-start}
.thbp-resource-cat{width:max-content;border-radius:999px;padding:4px 11px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--thbp-teal-soft);color:var(--thbp-teal-dark)}
.thbp-resource-meta{display:flex;align-items:center;gap:8px;color:var(--thbp-muted);font-size:.83rem;min-width:0}
.thbp-resource-meta i{color:var(--thbp-teal);flex:0 0 auto}
.thbp-resource-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thbp-template-subject{display:grid;gap:6px}
.thbp-template-subject label{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--thbp-muted)}
.thbp-template-subject textarea,.thbp-template-body{width:100%;max-width:100%;border:1px solid #c9d8d6;border-radius:11px;padding:11px 13px;background:#f8fbfa;color:var(--thbp-ink);font-size:.87rem;line-height:1.6;resize:vertical}
.thbp-template-note{color:var(--thbp-muted);font-size:.8rem;line-height:1.55;margin:0}

.thbp-campaign-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}
.thbp-campaign-form label{display:grid;gap:6px;margin:0;font-weight:700;font-size:.88rem;min-width:0}
.thbp-campaign-form input{width:100%;border:1px solid #c9d8d6;border-radius:11px;padding:11px 13px;background:#fbfdfc;color:var(--thbp-ink);font-weight:400}
.thbp-campaign-form input:focus{outline:3px solid rgba(13,95,99,.12);border-color:var(--thbp-teal)}
.thbp-campaign-list{display:grid;gap:12px}
.thbp-campaign{display:grid;gap:12px;border:1px solid var(--thbp-line);border-radius:16px;padding:18px;background:#fff;min-width:0}
.thbp-campaign.is-inactive{background:#fbfcfc}
.thbp-campaign-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.thbp-campaign-head b{font-size:1.02rem;color:var(--thbp-teal-dark);margin-right:9px;overflow-wrap:anywhere}
.thbp-campaign-head code{background:#f3f7f6;border-radius:6px;padding:2px 7px;font-size:.8rem;color:var(--thbp-teal-dark)}
.thbp-campaign-actions{display:flex;gap:8px;flex:0 0 auto}
.thbp-campaign-actions .thbp-btn{padding:8px 14px;font-size:.85rem}
.thbp-campaign-desc{color:var(--thbp-muted);margin:0;font-size:.9rem;line-height:1.6}
.thbp-campaign-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;border-top:1px solid #eef3f2;padding-top:12px}
.thbp-campaign-stats>div{display:grid;gap:3px}
.thbp-campaign-stats span{color:var(--thbp-muted);font-size:.76rem;font-weight:600}
.thbp-campaign-stats b{font-size:1.2rem;line-height:1.1;color:var(--thbp-teal-dark)}
@media(max-width:640px){.thbp-resource-grid{grid-template-columns:1fr}.thbp-campaign-form{grid-template-columns:1fr}.thbp-campaign-head{flex-direction:column}.thbp-campaign-actions .thbp-btn{width:100%}}
.thbp-campaign-rename summary{cursor:pointer;color:var(--thbp-teal);font-weight:700;font-size:.86rem;width:max-content}
.thbp-campaign-rename form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.thbp-campaign-rename input{flex:1;min-width:180px;border:1px solid #c9d8d6;border-radius:11px;padding:10px 12px;background:#fbfdfc;color:var(--thbp-ink)}
.thbp-campaign-rename small{display:block;margin-top:8px;color:var(--thbp-muted);font-size:.8rem;line-height:1.55}
.thbp-campaign-rename code{background:#f3f7f6;border-radius:6px;padding:2px 6px;color:var(--thbp-teal-dark)}

/* ── Analytics (Phase 7) ───────────────────────────────────────────────────
   auto-fit grids so a narrow phone reflows rather than forcing the page to
   scroll sideways. */
.thbp-range-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid var(--thbp-line);border-radius:16px;padding:14px 18px;margin-bottom:18px}
.thbp-range-form label{display:grid;gap:5px;margin:0;font-size:.8rem;font-weight:700;color:var(--thbp-muted)}
.thbp-range-form input{border:1px solid #c9d8d6;border-radius:10px;padding:9px 11px;background:#fbfdfc;color:var(--thbp-ink);font-weight:400}
.thbp-range-label{color:var(--thbp-muted);font-size:.85rem;align-self:center}
.thbp-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:16px}
.thbp-breakdowns h3{font-size:.95rem;margin:0 0 10px;color:var(--thbp-teal-dark)}
.thbp-breakdowns ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.thbp-breakdowns li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef3f2;padding-bottom:6px;font-size:.9rem;min-width:0}
.thbp-breakdowns li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thbp-breakdowns li b{color:var(--thbp-teal-dark);flex:0 0 auto}
@media(max-width:640px){.thbp-range-form{flex-direction:column;align-items:stretch}.thbp-range-form .thbp-btn{width:100%}.thbp-breakdowns{grid-template-columns:1fr}}

/* ── Help Centre (Phase 8) ─────────────────────────────────────────────────
   auto-fit grids and wrapping search bar so a narrow phone reflows rather
   than forcing the page to scroll sideways. */
.thbp-help-search{display:flex;gap:9px;flex-wrap:wrap;background:#fff;border:1px solid var(--thbp-line);border-radius:16px;padding:14px 16px;margin-bottom:20px;box-shadow:0 10px 30px rgba(13,95,99,.06)}
.thbp-help-search input{flex:1;min-width:0;border:1px solid #c9d8d6;border-radius:11px;padding:12px 14px;background:#f8fbfa;color:var(--thbp-ink);font-size:.95rem}
.thbp-help-search input:focus{outline:3px solid rgba(13,95,99,.12);border-color:var(--thbp-teal)}
.thbp-help-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:12px;margin-bottom:20px}
.thbp-help-category{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--thbp-line);border-radius:16px;padding:18px;color:var(--thbp-ink);text-decoration:none;font-weight:650;transition:.15s;min-width:0}
.thbp-help-category:hover{background:var(--thbp-teal-soft);color:var(--thbp-teal-dark);text-decoration:none;transform:translateY(-1px)}
.thbp-help-category i{color:var(--thbp-teal);flex:0 0 auto}
.thbp-help-category b{overflow-wrap:anywhere}
.thbp-help-results{display:grid;gap:11px}
.thbp-help-result{display:grid;gap:6px;background:#fff;border:1px solid var(--thbp-line);border-radius:16px;padding:18px;text-decoration:none;color:var(--thbp-ink);transition:.15s;min-width:0}
.thbp-help-result:hover{border-color:var(--thbp-teal);text-decoration:none;color:var(--thbp-ink);transform:translateY(-1px)}
.thbp-help-result h3{font-size:1.03rem;margin:0;color:var(--thbp-teal-dark);overflow-wrap:anywhere}
.thbp-help-result p{margin:0;color:var(--thbp-muted);font-size:.9rem;line-height:1.6}
.thbp-help-result small{color:#93a7a9;font-size:.78rem}
.thbp-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px;font-size:.88rem;color:var(--thbp-muted)}
.thbp-breadcrumb a{color:var(--thbp-teal);font-weight:650}
.thbp-help-article h1{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.03em;margin:0 0 12px;color:var(--thbp-teal-dark)}
.thbp-help-article p{line-height:1.75;color:var(--thbp-ink);margin:0 0 14px;overflow-wrap:anywhere}
.thbp-help-summary{font-size:1.04rem;color:var(--thbp-muted)!important;border-left:3px solid var(--thbp-teal);padding-left:14px}
.thbp-help-meta{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #eef3f2;margin-top:18px;padding-top:14px;color:var(--thbp-muted);font-size:.83rem}
.thbp-help-meta i{color:var(--thbp-teal);margin-right:6px}
.thbp-help-feedback-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.thbp-help-feedback-actions form{margin:0}
@media(max-width:640px){.thbp-help-search{flex-direction:column}.thbp-help-search .thbp-btn{width:100%}.thbp-help-categories{grid-template-columns:1fr}.thbp-help-feedback-actions .thbp-btn{width:100%}.thbp-help-feedback-actions form{width:100%}}
