:root{
  --bhis-blue:#154c66;
  --bhis-blue-dark:#103d52;
  --bhis-pink:#c13da7;
  --bhis-bg:#f7f9fb;
  --bhis-card:#ffffff;
  --bhis-text:#17202a;
  --bhis-muted:#667085;
  --bhis-border:#dfe5ea;
  --bhis-soft:#eaf3f7;
  --bhis-success:#e9f8ef;
  --bhis-warning:#fff5dc;
  --bhis-danger:#fff0ef;
}
.bhis-shell{max-width:1120px;margin:30px auto;color:var(--bhis-text);font-family:inherit}
.bhis-shell *{box-sizing:border-box}
.bhis-hero,.bhis-member-header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:36px;align-items:center;padding:38px 0}
.bhis-hero h1,.bhis-member-header h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.03;margin:.35rem 0 1rem}
.bhis-hero p,.bhis-member-header p{font-size:1.12rem;line-height:1.7;color:var(--bhis-muted)}
.bhis-eyebrow{display:inline-block;color:var(--bhis-pink);font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem}
.bhis-primary,.bhis-secondary,.bhis-danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;text-decoration:none;font-weight:800;cursor:pointer;font-size:1rem}
.bhis-primary{background:var(--bhis-blue);color:#fff}
.bhis-primary:hover{background:var(--bhis-blue-dark);color:#fff}
.bhis-secondary{background:var(--bhis-soft);color:var(--bhis-blue)}
.bhis-danger{background:var(--bhis-danger);color:#9b251d}
.bhis-preview,.bhis-panel,.bhis-wizard-card,.bhis-empty{background:var(--bhis-card);border:1px solid var(--bhis-border);border-radius:20px;padding:25px}
.bhis-preview{background:linear-gradient(145deg,#fff,var(--bhis-soft))}
.bhis-preview ul{padding-left:20px}.bhis-preview li{margin:9px 0}
.bhis-chip{display:inline-block;background:var(--bhis-soft);color:var(--bhis-blue);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
.bhis-wizard-card{margin:24px 0}
.bhis-wizard-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px}
.bhis-stepper{display:flex;gap:9px;margin-bottom:24px}
.bhis-stepper span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf0f3;color:var(--bhis-muted);font-weight:800}
.bhis-stepper span.active{background:var(--bhis-blue);color:#fff}
.bhis-question h2{font-size:clamp(1.55rem,3vw,2.35rem);margin:.45rem 0 1.35rem}
.bhis-field{margin-bottom:16px}
.bhis-field label,.bhis-email-prefs legend{display:block;font-weight:800;margin-bottom:7px}
.bhis-field input,.bhis-field select,.bhis-field textarea{width:100%;border:1px solid #cbd4dc;border-radius:12px;padding:12px 13px;background:#fff;color:var(--bhis-text);font:inherit}
.bhis-field textarea{resize:vertical}
.bhis-nav{display:flex;gap:10px;justify-content:space-between;margin-top:24px;flex-wrap:wrap}
.bhis-live-preview{background:var(--bhis-bg);border:1px solid var(--bhis-border);border-radius:18px;padding:22px;align-self:start;position:sticky;top:20px}
.bhis-live-preview dl{margin:18px 0}
.bhis-live-preview dl div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--bhis-border)}
.bhis-live-preview dt{color:var(--bhis-muted)}.bhis-live-preview dd{margin:0;font-weight:800;text-align:right}
.bhis-progress{height:12px;background:#e8edf1;border-radius:999px;overflow:hidden}
.bhis-progress span{display:block;height:100%;background:var(--bhis-blue)}
.bhis-auth-grid,.bhis-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.bhis-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;line-height:1.45}
.bhis-check input{width:auto;margin-top:4px}
.bhis-email-prefs{border:1px solid var(--bhis-border);border-radius:14px;padding:15px;margin:20px 0}
.bhis-small,.bhis-disclaimer{color:var(--bhis-muted);font-size:.89rem;line-height:1.55}
.bhis-alert{border-radius:12px;padding:13px 15px;margin-bottom:18px}
.bhis-alert.success{background:var(--bhis-success);border:1px solid #b9e0c7}
.bhis-alert.error{background:var(--bhis-danger);border:1px solid #ffc7c2}
.bhis-member-header{grid-template-columns:1fr auto}
.bhis-tabs{display:flex;gap:8px;overflow:auto;border-bottom:1px solid var(--bhis-border);margin-bottom:22px}
.bhis-tabs button{background:transparent;border:0;padding:12px 14px;font-weight:800;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}
.bhis-tabs button.active{color:var(--bhis-blue);border-color:var(--bhis-blue)}
.bhis-progress-number{font-weight:800;color:var(--bhis-blue)}
.bhis-action{border-left:4px solid var(--bhis-blue);background:var(--bhis-bg);padding:12px 14px;border-radius:9px;margin:10px 0;line-height:1.5}
.bhis-action.warning,.bhis-warning{border-left:4px solid #d59600;background:var(--bhis-warning);padding:12px 14px;border-radius:9px;margin:10px 0}
.bhis-resource-list{padding-left:20px}.bhis-resource-list li{margin:8px 0}.bhis-resource-list a{color:var(--bhis-blue);font-weight:800}
.bhis-checklist{display:grid;gap:10px;margin:20px 0}.bhis-checklist label{display:flex;gap:10px;padding:12px;border:1px solid var(--bhis-border);border-radius:10px}
.bhis-empty{text-align:center;margin-top:26px;padding:48px 24px}
.bhis-timeline{display:flex;gap:8px;overflow:auto;padding-bottom:5px}
.bhis-timeline-step{min-width:130px;padding:12px;border:1px solid var(--bhis-border);border-radius:11px;text-align:center;font-size:.88rem}
.bhis-timeline-step.done{background:var(--bhis-success);border-color:#9bd4b2}
.bhis-timeline-step.current{background:var(--bhis-soft);border-color:#9db7e8;font-weight:800}
.bhis-result-box{border:1px solid var(--bhis-border);border-radius:14px;padding:16px;margin:14px 0}
.bhis-status{display:inline-block;padding:8px 11px;border-radius:10px;font-weight:800}
.bhis-status.positive{background:var(--bhis-success);color:#12633a}
.bhis-status.warning{background:var(--bhis-warning);color:#835d00}
.bhis-status.negative{background:var(--bhis-danger);color:#9b251d}
.bhis-status.neutral{background:#eef1f4;color:#4a5560}
@media(max-width:820px){
  .bhis-hero,.bhis-member-header,.bhis-wizard-layout,.bhis-auth-grid,.bhis-dashboard-grid{grid-template-columns:1fr}
  .bhis-member-header{gap:15px}.bhis-live-preview{position:static}
}
@media print{
  .bhis-tabs,.bhis-primary,.bhis-secondary,.bhis-danger,.bhis-member-header a{display:none!important}
  .bhis-panel{border:0;padding:0}
}
