/* =====================================================================
   GI/Hep Calculator Suite — Fully Scoped CSS (no theme bleed)
   Every rule prefixed with .gh-wrap to beat WordPress theme specificity
   ===================================================================== */

/* ── CSS custom properties on the wrapper ── */
.gh-wrap.gh-theme-light {
  --gh-bg:#F4F6F8; --gh-surface:#ffffff; --gh-sidebar:#ffffff; --gh-result-bg:#F7F9FB;
  --gh-border:#D1D9E0; --gh-text:#1A2332; --gh-muted:#4A5568; --gh-dim:#8A96A3;
  --gh-accent:#2563EB; --gh-accent-fg:#ffffff; --gh-focus-ring:rgba(37,99,235,.18);
  --gh-hover:#EFF4FF; --gh-active-bg:#EFF4FF; --gh-input-bg:#ffffff;
  --gh-ring-track:#E5E9EE; --gh-warn-bg:#FFFBEB; --gh-warn-bd:#FDE68A;
  --gh-low:#16A34A; --gh-low-bg:#F0FDF4; --gh-low-bd:#BBF7D0;
  --gh-mod:#B45309; --gh-mod-bg:#FFFBEB; --gh-mod-bd:#FDE68A;
  --gh-high:#C2410C; --gh-high-bg:#FFF7ED; --gh-high-bd:#FED7AA;
  --gh-crit:#DC2626; --gh-crit-bg:#FEF2F2; --gh-crit-bd:#FECACA;
}
.gh-wrap.gh-theme-ocean {
  --gh-bg:#0D1B2E; --gh-surface:#112240; --gh-sidebar:#0D1B2E; --gh-result-bg:#0A1628;
  --gh-border:rgba(99,179,237,.2); --gh-text:#E8F4FD; --gh-muted:#7EB8D9; --gh-dim:#4A7FA0;
  --gh-accent:#38BDF8; --gh-accent-fg:#0D1B2E; --gh-focus-ring:rgba(56,189,248,.18);
  --gh-hover:rgba(56,189,248,.1); --gh-active-bg:rgba(56,189,248,.14); --gh-input-bg:#081220;
  --gh-ring-track:#1E3A5F; --gh-warn-bg:rgba(251,191,36,.1); --gh-warn-bd:rgba(251,191,36,.3);
  --gh-low:#34D399; --gh-low-bg:rgba(52,211,153,.12); --gh-low-bd:rgba(52,211,153,.3);
  --gh-mod:#FBBF24; --gh-mod-bg:rgba(251,191,36,.12); --gh-mod-bd:rgba(251,191,36,.3);
  --gh-high:#FB923C; --gh-high-bg:rgba(251,146,60,.12); --gh-high-bd:rgba(251,146,60,.3);
  --gh-crit:#F87171; --gh-crit-bg:rgba(248,113,113,.12); --gh-crit-bd:rgba(248,113,113,.3);
}
.gh-wrap.gh-theme-slate {
  --gh-bg:#1C1F26; --gh-surface:#252830; --gh-sidebar:#1A1D23; --gh-result-bg:#181B21;
  --gh-border:rgba(255,255,255,.1); --gh-text:#F0F2F5; --gh-muted:#9CA3AF; --gh-dim:#6B7280;
  --gh-accent:#818CF8; --gh-accent-fg:#ffffff; --gh-focus-ring:rgba(129,140,248,.18);
  --gh-hover:rgba(129,140,248,.1); --gh-active-bg:rgba(129,140,248,.14); --gh-input-bg:#141720;
  --gh-ring-track:#374151; --gh-warn-bg:rgba(251,191,36,.1); --gh-warn-bd:rgba(251,191,36,.25);
  --gh-low:#4ADE80; --gh-low-bg:rgba(74,222,128,.12); --gh-low-bd:rgba(74,222,128,.3);
  --gh-mod:#FACC15; --gh-mod-bg:rgba(250,204,21,.12); --gh-mod-bd:rgba(250,204,21,.3);
  --gh-high:#FB923C; --gh-high-bg:rgba(251,146,60,.12); --gh-high-bd:rgba(251,146,60,.3);
  --gh-crit:#F87171; --gh-crit-bg:rgba(248,113,113,.12); --gh-crit-bd:rgba(248,113,113,.3);
}
.gh-wrap.gh-theme-forest {
  --gh-bg:#0F1F14; --gh-surface:#162B1C; --gh-sidebar:#0F1F14; --gh-result-bg:#0C1910;
  --gh-border:rgba(134,239,172,.18); --gh-text:#ECFDF5; --gh-muted:#6EE7B7; --gh-dim:#4B8B69;
  --gh-accent:#34D399; --gh-accent-fg:#0F1F14; --gh-focus-ring:rgba(52,211,153,.18);
  --gh-hover:rgba(52,211,153,.1); --gh-active-bg:rgba(52,211,153,.14); --gh-input-bg:#0A1A0F;
  --gh-ring-track:#1A3B24; --gh-warn-bg:rgba(251,191,36,.1); --gh-warn-bd:rgba(251,191,36,.25);
  --gh-low:#34D399; --gh-low-bg:rgba(52,211,153,.12); --gh-low-bd:rgba(52,211,153,.3);
  --gh-mod:#FBBF24; --gh-mod-bg:rgba(251,191,36,.12); --gh-mod-bd:rgba(251,191,36,.3);
  --gh-high:#FB923C; --gh-high-bg:rgba(251,146,60,.12); --gh-high-bd:rgba(251,146,60,.3);
  --gh-crit:#F87171; --gh-crit-bg:rgba(248,113,113,.12); --gh-crit-bd:rgba(248,113,113,.3);
}
.gh-wrap.gh-theme-rose {
  --gh-bg:#FFF1F2; --gh-surface:#ffffff; --gh-sidebar:#FFF5F6; --gh-result-bg:#FFF8F9;
  --gh-border:#FECDD3; --gh-text:#2D0E14; --gh-muted:#7F1D2A; --gh-dim:#BE6878;
  --gh-accent:#E11D48; --gh-accent-fg:#ffffff; --gh-focus-ring:rgba(225,29,72,.12);
  --gh-hover:#FFE4E6; --gh-active-bg:#FFE4E6; --gh-input-bg:#ffffff;
  --gh-ring-track:#FFE4E6; --gh-warn-bg:#FFFBEB; --gh-warn-bd:#FDE68A;
  --gh-low:#15803D; --gh-low-bg:#F0FDF4; --gh-low-bd:#BBF7D0;
  --gh-mod:#B45309; --gh-mod-bg:#FFFBEB; --gh-mod-bd:#FDE68A;
  --gh-high:#C2410C; --gh-high-bg:#FFF7ED; --gh-high-bd:#FED7AA;
  --gh-crit:#9F1239; --gh-crit-bg:#FFF1F2; --gh-crit-bd:#FECDD3;
}

/* ── Shell ── */
.gh-wrap {
  all: initial; /* nuclear reset — prevent any parent styles leaking in */
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--gh-text) !important;
  background: var(--gh-bg) !important;
  border: 1px solid var(--gh-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.09) !important;
  overflow: hidden;
  margin: 0 0 24px !important;
  -webkit-font-smoothing: antialiased;
}

/* Reset all children after `all:initial` on wrap */
.gh-wrap *, .gh-wrap *::before, .gh-wrap *::after {
  box-sizing: border-box !important;
  font-family: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Layout ── */
.gh-wrap.gh-multi { display: flex !important; }
.gh-wrap.gh-single { display: block !important; }

/* ── Sidebar ── */
.gh-wrap .gh-sidebar {
  display: flex !important;
  flex-direction: column !important;
  width: 210px !important;
  flex-shrink: 0 !important;
  background: var(--gh-sidebar) !important;
  border-right: 1px solid var(--gh-border) !important;
  border-radius: 10px 0 0 10px !important;
  overflow-y: auto !important;
  max-height: 640px !important;
}
.gh-wrap .gh-sidebar::-webkit-scrollbar { width: 3px !important; }
.gh-wrap .gh-sidebar::-webkit-scrollbar-thumb { background: var(--gh-border) !important; }

.gh-wrap .gh-logo {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 13px 14px 11px !important;
  border-bottom: 1px solid var(--gh-border) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--gh-accent) !important;
  text-decoration: none !important;
}
.gh-wrap .gh-logo-icon {
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--gh-accent) !important;
}
.gh-wrap .gh-logo-text {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--gh-accent) !important;
}
.gh-wrap .gh-logo-count {
  margin-left: auto !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  background: var(--gh-accent) !important;
  color: var(--gh-accent-fg) !important;
  border-radius: 20px !important;
  padding: 1px 7px !important;
  line-height: 1.6 !important;
}

.gh-wrap .gh-search-wrap { padding: 8px 10px 4px !important; }
.gh-wrap .gh-search {
  display: block !important;
  width: 100% !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--gh-text) !important;
  background: var(--gh-input-bg) !important;
  border: 1px solid var(--gh-border) !important;
  border-radius: 6px !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}
.gh-wrap .gh-search:focus { border-color: var(--gh-accent) !important; }
.gh-wrap .gh-search::placeholder { color: var(--gh-dim) !important; }

.gh-wrap .gh-nav-group { padding: 4px 0 !important; }
.gh-wrap .gh-nav-cat {
  display: block !important;
  padding: 5px 13px 2px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--gh-dim) !important;
  line-height: 1.4 !important;
}
.gh-wrap .gh-nav-btn {
  display: block !important;
  width: 100% !important;
  padding: 7px 13px 7px 14px !important;
  background: transparent !important;
  border: none !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  text-align: left !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--gh-muted) !important;
  cursor: pointer !important;
  line-height: 1.35 !important;
  transition: background .12s, color .12s !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.gh-wrap .gh-nav-btn:hover {
  background: var(--gh-hover) !important;
  color: var(--gh-text) !important;
}
.gh-wrap .gh-nav-btn.gh-active {
  background: var(--gh-active-bg) !important;
  color: var(--gh-accent) !important;
  border-left-color: var(--gh-accent) !important;
  font-weight: 600 !important;
}

/* ── Main ── */
.gh-wrap .gh-main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ── Header ── */
.gh-wrap .gh-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px 18px 12px !important;
  background: var(--gh-surface) !important;
  border-bottom: 1px solid var(--gh-border) !important;
  border-radius: 0 10px 0 0 !important;
}
.gh-wrap.gh-single .gh-header { border-radius: 10px 10px 0 0 !important; }

.gh-wrap .gh-header-text { flex: 1 !important; min-width: 0 !important; }
.gh-wrap .gh-title {
  display: block !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--gh-text) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  text-decoration: none !important;
}
.gh-wrap .gh-subtitle {
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--gh-dim) !important;
  margin-top: 3px !important;
  line-height: 1.4 !important;
}
.gh-wrap .gh-disclaimer {
  flex-shrink: 0 !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  color: var(--gh-dim) !important;
  background: var(--gh-warn-bg) !important;
  border: 1px solid var(--gh-warn-bd) !important;
  border-radius: 5px !important;
  padding: 3px 9px !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

/* ── Body ── */
.gh-wrap .gh-body {
  display: flex !important;
  align-items: flex-start !important;
  flex: 1 !important;
}

/* ── Input column ── */
.gh-wrap .gh-inputs {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  background: var(--gh-surface) !important;
  border-right: 1px solid var(--gh-border) !important;
}

.gh-wrap .gh-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  list-style: none !important;
}

.gh-wrap .gh-section {
  display: block !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--gh-dim) !important;
  padding-top: 8px !important;
  padding-bottom: 4px !important;
  border-top: 1px solid var(--gh-border) !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}

.gh-wrap .gh-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.gh-wrap .gh-field-label {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 8px !important;
}
.gh-wrap .gh-field-name {
  display: inline !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--gh-text) !important;
  line-height: 1.4 !important;
}
.gh-wrap .gh-field-unit {
  display: inline !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--gh-dim) !important;
  font-family: 'SFMono-Regular', Consolas, monospace !important;
  flex-shrink: 0 !important;
}
.gh-wrap .gh-hint {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--gh-dim) !important;
  line-height: 1.45 !important;
  font-style: italic !important;
}

/* ── Number input ── */
.gh-wrap input.gh-num {
  display: block !important;
  width: 100% !important;
  padding: 9px 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace !important;
  color: var(--gh-text) !important;
  background: var(--gh-input-bg) !important;
  border: 1.5px solid var(--gh-border) !important;
  border-radius: 7px !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.gh-wrap input.gh-num::-webkit-inner-spin-button,
.gh-wrap input.gh-num::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
.gh-wrap input.gh-num:focus {
  border-color: var(--gh-accent) !important;
  box-shadow: 0 0 0 3px var(--gh-focus-ring) !important;
}
.gh-wrap input.gh-num::placeholder { color: var(--gh-dim) !important; font-weight: 400 !important; font-size: 13px !important; }

/* ── Toggle buttons ── */
.gh-wrap .gh-toggle {
  display: flex !important;
  border: 1.5px solid var(--gh-border) !important;
  border-radius: 7px !important;
  overflow: hidden !important;
  background: var(--gh-input-bg) !important;
}
.gh-wrap button.gh-tog-btn {
  flex: 1 !important;
  display: block !important;
  padding: 8px 6px !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid var(--gh-border) !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--gh-muted) !important;
  text-align: center !important;
  cursor: pointer !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  transition: background .12s, color .12s !important;
}
.gh-wrap button.gh-tog-btn:last-child { border-right: none !important; }
.gh-wrap button.gh-tog-btn:hover {
  background: var(--gh-hover) !important;
  color: var(--gh-text) !important;
}
.gh-wrap button.gh-tog-btn.gh-on {
  background: var(--gh-accent) !important;
  color: var(--gh-accent-fg) !important;
  font-weight: 700 !important;
}

/* ── Slider ── */
.gh-wrap .gh-srow {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.gh-wrap input[type=range].gh-sld {
  flex: 1 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  height: 4px !important;
  background: var(--gh-border) !important;
  border-radius: 2px !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.gh-wrap input[type=range].gh-sld::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: var(--gh-accent) !important;
  border: 2px solid var(--gh-surface) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.2) !important;
  cursor: pointer !important;
}
.gh-wrap input[type=range].gh-sld::-moz-range-thumb {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--gh-accent) !important;
  border: 2px solid var(--gh-surface) !important;
  cursor: pointer !important;
}
.gh-wrap .gh-sval {
  font-family: 'SFMono-Regular', Consolas, monospace !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gh-accent) !important;
  min-width: 22px !important;
  text-align: right !important;
  line-height: 1 !important;
}
.gh-wrap .gh-slbl {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--gh-accent) !important;
  min-height: 15px !important;
  line-height: 1.4 !important;
}

/* ── Result column ── */
.gh-wrap .gh-results {
  width: 200px !important;
  flex-shrink: 0 !important;
  padding: 16px 14px !important;
  background: var(--gh-result-bg) !important;
  border-left: 1px solid var(--gh-border) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

/* ── Score ring ── */
.gh-wrap .gh-ring {
  display: block !important;
  width: 120px !important;
  height: 120px !important;
  transform: rotate(-90deg) !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}
.gh-wrap .gh-ring-bg  { fill: none !important; stroke: var(--gh-ring-track) !important; stroke-width: 8 !important; }
.gh-wrap .gh-ring-arc {
  fill: none !important;
  stroke: var(--gh-border) !important;
  stroke-width: 8 !important;
  stroke-linecap: round !important;
  stroke-dasharray: 314.16 !important;
  stroke-dashoffset: 314.16 !important;
  transition: stroke-dashoffset .5s ease, stroke .3s ease !important;
}

.gh-wrap .gh-score {
  display: block !important;
  font-family: 'SFMono-Regular', Consolas, monospace !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: var(--gh-text) !important;
  line-height: 1 !important;
  text-align: center !important;
  word-break: break-word !important;
  max-width: 180px !important;
  margin-top: -8px !important;
  transition: opacity .2s !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
}
.gh-wrap .gh-score-lbl {
  display: block !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: var(--gh-dim) !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

/* ── Severity badge ── */
.gh-wrap .gh-badge {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  border: 1.5px solid !important;
  text-align: center !important;
  width: 100% !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}
.gh-wrap .gh-badge-default { background: var(--gh-bg) !important; color: var(--gh-dim) !important; border-color: var(--gh-border) !important; }
.gh-wrap .gh-badge-low     { background: var(--gh-low-bg)  !important; color: var(--gh-low)  !important; border-color: var(--gh-low-bd)  !important; }
.gh-wrap .gh-badge-mod     { background: var(--gh-mod-bg)  !important; color: var(--gh-mod)  !important; border-color: var(--gh-mod-bd)  !important; }
.gh-wrap .gh-badge-high    { background: var(--gh-high-bg) !important; color: var(--gh-high) !important; border-color: var(--gh-high-bd) !important; }
.gh-wrap .gh-badge-crit    { background: var(--gh-crit-bg) !important; color: var(--gh-crit) !important; border-color: var(--gh-crit-bd) !important; }

/* ── Interpretation & mortality ── */
.gh-wrap .gh-interp {
  display: block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: var(--gh-muted) !important;
  text-align: center !important;
}
.gh-wrap .gh-mort {
  display: block !important;
  width: 100% !important;
  font-size: 11px !important;
  font-family: 'SFMono-Regular', Consolas, monospace !important;
  font-weight: 400 !important;
  color: var(--gh-muted) !important;
  background: var(--gh-surface) !important;
  border: 1px solid var(--gh-border) !important;
  border-radius: 6px !important;
  padding: 6px 9px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  box-shadow: none !important;
}
.gh-wrap .gh-mort:empty { display: none !important; }

/* ── Sub-scores ── */
.gh-wrap .gh-subs {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 100% !important;
  list-style: none !important;
}
.gh-wrap .gh-sub-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  background: var(--gh-surface) !important;
  border: 1px solid var(--gh-border) !important;
  border-radius: 5px !important;
  line-height: 1.4 !important;
}
.gh-wrap .gh-sub-name { color: var(--gh-muted) !important; font-weight: 400 !important; }
.gh-wrap .gh-sub-val  { font-family: 'SFMono-Regular', Consolas, monospace !important; font-weight: 700 !important; color: var(--gh-accent) !important; }

/* ── References drawer ── */
.gh-wrap .gh-drawer {
  display: block !important;
  background: var(--gh-surface) !important;
  border-top: 1px solid var(--gh-border) !important;
  border-radius: 0 0 10px 10px !important;
}
.gh-wrap .gh-drawer-sum {
  display: block !important;
  padding: 11px 18px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--gh-muted) !important;
  cursor: pointer !important;
  outline: none !important;
  user-select: none !important;
  list-style: none !important;
  line-height: 1.5 !important;
  background: none !important;
  border: none !important;
}
.gh-wrap .gh-drawer-sum::-webkit-details-marker { display: none !important; }
.gh-wrap .gh-drawer[open] .gh-drawer-sum {
  color: var(--gh-text) !important;
  border-bottom: 1px solid var(--gh-border) !important;
}
.gh-wrap .gh-drawer-body {
  display: block !important;
  padding: 14px 18px 16px !important;
}
.gh-wrap .gh-info {
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: var(--gh-muted) !important;
  background: var(--gh-hover) !important;
  border: 1px solid var(--gh-border) !important;
  border-radius: 6px !important;
  padding: 11px 14px !important;
  margin-bottom: 12px !important;
}
.gh-wrap .gh-refs {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.gh-wrap .gh-refs li {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--gh-dim) !important;
  line-height: 1.55 !important;
  padding-left: 14px !important;
  position: relative !important;
}
.gh-wrap .gh-refs li::before {
  content: '›' !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--gh-accent) !important;
  font-weight: 700 !important;
}
.gh-wrap .gh-refs a {
  color: var(--gh-accent) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.gh-wrap .gh-refs a:hover { text-decoration: underline !important; }

/* ── Animation ── */
@keyframes gh-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.gh-wrap .gh-pulse { animation: gh-pulse 1s ease-in-out infinite !important; }

/* ── Multiple instances ── */
.gh-wrap + .gh-wrap { margin-top: 28px !important; }

/* ── Empty state ── */
.gihep-empty {
  padding: 16px;
  border: 1px solid #D1D9E0;
  border-radius: 8px;
  color: #4A5568;
  font-family: system-ui, sans-serif;
  font-size: 14px;
  background: #fff;
}

/* ── Responsive ── */
@media (max-width: 620px) {
  .gh-wrap.gh-multi { display: flex !important; flex-direction: column !important; }
  .gh-wrap .gh-sidebar {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid var(--gh-border) !important;
    border-radius: 10px 10px 0 0 !important;
    max-height: none !important;
  }
  .gh-wrap .gh-body { flex-direction: column !important; }
  .gh-wrap .gh-inputs { border-right: none !important; border-bottom: 1px solid var(--gh-border) !important; }
  .gh-wrap .gh-results {
    width: 100% !important;
    border-left: none !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .gh-wrap .gh-ring  { width: 95px !important; height: 95px !important; }
  .gh-wrap .gh-score { font-size: 26px !important; }
  .gh-wrap .gh-header { border-radius: 0 !important; }
  .gh-wrap .gh-disclaimer { display: none !important; }
}
