.upbehb {
  --upbehb-accent: #0f6a59;
  --upbehb-accent-dark: #084c40;
  --upbehb-text: #18231f;
  --upbehb-muted: #5d6a64;
  --upbehb-border: #dbe3df;
  --upbehb-bg: #f6f9f7;
  --upbehb-green: #e9f7ef;
  --upbehb-yellow: #fff5da;
  --upbehb-red: #fdeceb;
  color: var(--upbehb-text);
  font-size: 16px;
  line-height: 1.55;
  max-width: 980px;
  margin: 2rem auto;
}
.upbehb *, .upbehb *::before, .upbehb *::after { box-sizing: border-box; }
.upbehb [hidden] { display: none !important; }
.upbehb__meta { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:.8rem; color:var(--upbehb-muted); font-size:.86rem; }
.upbehb__meta span { border:1px solid var(--upbehb-border); border-radius:999px; padding:.35rem .65rem; background:#fff; }
.upbehb__review-warning, .upbehb__noscript { border-left:4px solid #b47800; background:var(--upbehb-yellow); padding:1rem; margin-bottom:1rem; border-radius:10px; }
.upbehb__card { background:#fff; border:1px solid var(--upbehb-border); border-radius:22px; box-shadow:0 14px 40px rgba(23,45,36,.06); overflow:hidden; }
.upbehb__intro { padding:1.5rem 1.5rem .7rem; }
.upbehb__eyebrow { margin:0 0 .35rem; color:var(--upbehb-accent); font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.upbehb__title { margin:0 0 .55rem; font-size:clamp(1.45rem,3vw,2.05rem); line-height:1.2; }
.upbehb__intro p:last-child { color:var(--upbehb-muted); margin-bottom:0; }
.upbehb__progress { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:0; padding:1rem 1.5rem 1.2rem; background:var(--upbehb-bg); border-top:1px solid var(--upbehb-border); border-bottom:1px solid var(--upbehb-border); }
.upbehb__progress li { display:flex; align-items:center; gap:.5rem; color:var(--upbehb-muted); min-width:0; }
.upbehb__progress span { width:1.8rem; height:1.8rem; display:grid; place-items:center; border-radius:50%; border:1px solid var(--upbehb-border); background:#fff; font-weight:800; flex:0 0 auto; }
.upbehb__progress li[aria-current="step"] { color:var(--upbehb-accent-dark); }
.upbehb__progress li[aria-current="step"] span { background:var(--upbehb-accent); color:#fff; border-color:var(--upbehb-accent); }
.upbehb__progress li.is-done span { background:#dff1ea; border-color:#9ccbbb; }
.upbehb__error-summary { margin:1rem 1.5rem 0; padding:.85rem 1rem; border-left:4px solid #b73126; background:var(--upbehb-red); border-radius:10px; }
.upbehb__form { padding:1.35rem 1.5rem 1.5rem; }
.upbehb__step-head { margin-bottom:1rem; }
.upbehb__step-head p { margin:.1rem 0 .25rem; color:var(--upbehb-muted); font-size:.9rem; }
.upbehb__step-head h3 { margin:0; font-size:1.35rem; }
.upbehb__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.upbehb__field { min-width:0; }
.upbehb__field--full { grid-column:1/-1; }
.upbehb label, .upbehb legend { display:block; font-weight:750; margin-bottom:.35rem; }
.upbehb input[type="number"], .upbehb select { width:100%; min-height:46px; padding:.68rem .75rem; border:1px solid #b9c7c0; border-radius:11px; background:#fff; color:var(--upbehb-text); font:inherit; }
.upbehb input:focus, .upbehb select:focus { border-color:var(--upbehb-accent); box-shadow:0 0 0 3px rgba(15,106,89,.12); outline:0; }
.upbehb__hint { display:block; color:var(--upbehb-muted); font-size:.82rem; margin-top:.3rem; }
.upbehb__questions { display:grid; gap:.85rem; }
.upbehb__question { border:1px solid var(--upbehb-border); border-radius:14px; padding:.9rem 1rem; margin:0; }
.upbehb__radio-row { display:flex; flex-wrap:wrap; gap:.55rem; }
.upbehb__radio-row label { margin:0; font-weight:600; }
.upbehb__radio-row input { position:absolute; opacity:0; pointer-events:none; }
.upbehb__radio-row span { display:inline-block; min-width:76px; text-align:center; padding:.52rem .8rem; border:1px solid var(--upbehb-border); border-radius:999px; cursor:pointer; background:#fff; }
.upbehb__radio-row input:checked + span { background:#e8f5f0; border-color:var(--upbehb-accent); color:var(--upbehb-accent-dark); }
.upbehb__radio-row input:focus-visible + span { outline:3px solid rgba(15,106,89,.28); outline-offset:2px; }
.upbehb__nav { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; margin-top:1.3rem; }
.upbehb__button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.7rem 1rem; border:1px solid var(--upbehb-accent); border-radius:11px; background:var(--upbehb-accent); color:#fff !important; font:inherit; font-weight:800; text-decoration:none !important; cursor:pointer; }
.upbehb__button:hover { background:var(--upbehb-accent-dark); border-color:var(--upbehb-accent-dark); color:#fff !important; }
.upbehb__button--secondary { background:#fff; color:var(--upbehb-accent-dark) !important; }
.upbehb__button--secondary:hover { background:#edf6f3; color:var(--upbehb-accent-dark) !important; }
.upbehb button:focus-visible, .upbehb a:focus-visible { outline:3px solid rgba(15,106,89,.28); outline-offset:2px; }
.upbehb__result { padding:1.35rem 1.5rem 1.6rem; }
.upbehb__result-hero { border:1px solid var(--upbehb-border); border-radius:18px; padding:1.15rem; margin-bottom:1rem; }
.upbehb__result-hero[data-level="green"] { background:var(--upbehb-green); border-color:#98ccb4; }
.upbehb__result-hero[data-level="yellow"] { background:var(--upbehb-yellow); border-color:#e1bc66; }
.upbehb__result-hero[data-level="red"] { background:var(--upbehb-red); border-color:#dc8d88; }
.upbehb__result-hero h3 { margin:.1rem 0 .4rem; font-size:clamp(1.35rem,2.7vw,1.9rem); }
.upbehb__result-hero p:last-child { margin-bottom:0; }
.upbehb__kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:1rem 0 1.3rem; }
.upbehb__kpis > div { border:1px solid var(--upbehb-border); border-radius:14px; padding:.9rem; background:#fbfcfc; }
.upbehb__kpis strong { display:block; font-size:1.25rem; line-height:1.15; margin-bottom:.25rem; }
.upbehb__kpis span { color:var(--upbehb-muted); font-size:.82rem; }
.upbehb__result-section { margin-top:1.2rem; }
.upbehb__result-section h4 { margin:0 0 .55rem; }
.upbehb__result-section li + li { margin-top:.4rem; }
.upbehb__rows { margin:0; border:1px solid var(--upbehb-border); border-radius:14px; overflow:hidden; }
.upbehb__rows > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; padding:.72rem .85rem; border-bottom:1px solid #edf0ee; }
.upbehb__rows > div:last-child { border-bottom:0; }
.upbehb__rows dt { color:var(--upbehb-muted); }
.upbehb__rows dd { margin:0; font-weight:800; text-align:right; }
.upbehb__rows .is-total { background:#f2f7f5; }
.upbehb__rows .is-good dd { color:#087a49; }
.upbehb__rows .is-bad dd { color:#b73126; }
.upbehb__rows .is-potential { background:#fff9e8; }
.upbehb__links { display:flex; flex-wrap:wrap; gap:.55rem; }
.upbehb__links a { border:1px solid var(--upbehb-border); border-radius:999px; padding:.48rem .7rem; text-decoration:none; }
.upbehb__cta-row, .upbehb__result-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem; }
.upbehb__text-button { border:0; background:transparent; color:var(--upbehb-accent); padding:.25rem 0; text-decoration:underline; cursor:pointer; font:inherit; }
.upbehb__disclaimer, .upbehb__privacy { color:var(--upbehb-muted); font-size:.86rem; }
.upbehb__disclaimer { margin-top:1.1rem; }

@media (max-width: 820px) {
  .upbehb__progress b { display:none; }
  .upbehb__progress li { justify-content:center; }
  .upbehb__kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .upbehb { margin:1rem auto; }
  .upbehb__intro, .upbehb__form, .upbehb__result { padding-left:1rem; padding-right:1rem; }
  .upbehb__progress { padding-left:1rem; padding-right:1rem; }
  .upbehb__fields { grid-template-columns:1fr; }
  .upbehb__field--full { grid-column:auto; }
  .upbehb__nav { justify-content:stretch; }
  .upbehb__nav .upbehb__button { flex:1 1 120px; }
  .upbehb__kpis { grid-template-columns:1fr 1fr; }
  .upbehb__rows > div { grid-template-columns:1fr; gap:.15rem; }
  .upbehb__rows dd { text-align:left; }
}
@media (max-width: 360px) {
  .upbehb__kpis { grid-template-columns:1fr; }
  .upbehb__radio-row span { min-width:66px; }
}
@media print {
  .upbehb__form, .upbehb__progress, .upbehb__meta, .upbehb__review-warning, .upbehb__result-actions, .upbehb__cta-row { display:none !important; }
  .upbehb__card { box-shadow:none; border:0; }
  .upbehb__result { display:block !important; padding:0; }
  .upbehb a { color:#000 !important; text-decoration:none !important; }
}
