/* UHEB responsive chart and constituent directory, scoped to new components. */
html[data-theme] #uheb-level{font-size:clamp(32px,4vw,46px)!important;line-height:1.15!important;margin:8px 0!important;font-variant-numeric:tabular-nums}
.uheb-chart-frame{position:relative;width:100%;min-width:0;margin-top:20px}
html[data-theme] #uheb-chart{display:block;width:100%;height:360px;touch-action:pan-y;overflow:visible;color:var(--text);cursor:crosshair}
html[data-theme="dark"] #uheb-chart{color:#c5d3df}
html[data-theme="light"] #uheb-chart{color:#314357}
.uheb-tooltip{position:absolute;pointer-events:none;z-index:5;width:220px;max-width:calc(100% - 12px);padding:12px 14px;border:1px solid #73869a;background:#071b2b;color:#f4f8fc;box-shadow:0 8px 30px #0003;font:13px/1.55 Arial,sans-serif;border-radius:4px}
html[data-theme="light"] .uheb-tooltip{background:#fff;color:#122a40}
.uheb-tooltip strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}
.uheb-chart-summary{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0;font-size:13px;font-variant-numeric:tabular-nums}
html[data-theme] #uheb-ranges button{min-width:48px;min-height:44px;padding:10px 14px!important}
html[data-theme] #uheb-ranges button[aria-pressed="true"]{background:#1b548b!important;color:#fff!important;border-color:#4c86b4!important}
.uheb-help{font-size:13px;line-height:1.5;opacity:.85}
.uheb-directory-tools{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.uheb-directory-tools input,.uheb-directory-tools select{font:inherit;min-height:44px;padding:10px 12px;border:1px solid #73869a;border-radius:3px;max-width:100%;background:#fff;color:#172a3b}
html[data-theme="dark"] .uheb-directory-tools input,html[data-theme="dark"] .uheb-directory-tools select{background:#0b2438;color:#eef5fb}
.uheb-directory-tools input{flex:1;min-width:190px}
.uheb-directory-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.uheb-directory-table th,.uheb-directory-table td{text-align:left;padding:14px 12px;border-bottom:1px solid #73869a44}
.uheb-directory-table th:last-child,.uheb-directory-table td:last-child{text-align:right}
.uheb-directory-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
html[data-theme] .institutional-ribbon-group{flex-wrap:wrap;row-gap:10px}
html[data-theme] .institutional-ribbon-item,html[data-theme] .institutional-ribbon-time{line-height:1.5!important}
@media(max-width:640px){
 html[data-theme] #chart>.shell>.card{padding:18px 14px!important;min-width:0}
 html[data-theme] #uheb-chart{height:320px}
 #chart .section-title{display:block!important}
 #chart .section-title p{margin-top:12px}
 #chart .spec-item{grid-template-columns:1fr!important;gap:5px}
 html[data-theme] .institutional-ribbon-inner{display:block;padding-top:12px;padding-bottom:12px}
 html[data-theme] .institutional-ribbon-group{display:flex;gap:8px 12px}
 html[data-theme] .institutional-ribbon-time{display:block;margin-top:10px}
 html[data-theme] .institutional-ribbon-item{white-space:normal!important}
 html[data-theme] .hero-grid>*{min-width:0}
 .uheb-directory-table thead{display:none}
 .uheb-directory-table,.uheb-directory-table tbody,.uheb-directory-table tr,.uheb-directory-table td{display:block;width:100%}
 .uheb-directory-table tr{padding:12px 0;border-bottom:1px solid #73869a55}
 .uheb-directory-table td{border:0;padding:7px 0;text-align:left!important;overflow-wrap:anywhere}
 .uheb-directory-table td::before{content:attr(data-label);display:inline-block;min-width:82px;font-size:12px;font-weight:700;opacity:.8}
}
html[data-theme] #uheb-ranges button{width:auto!important;flex:0 0 auto!important}
html[data-theme] #uheb-chart text{font-family:Arial,sans-serif!important}


/* UHEB mobile ribbon horizontal swipe */
@media (max-width: 640px) {
  html[data-theme] .institutional-ribbon-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 20px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  html[data-theme] .institutional-ribbon-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 14px !important;
  }
  html[data-theme] .institutional-ribbon-item,
  html[data-theme] .institutional-ribbon-time {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-top: 0 !important;
  }
}
