
  .cathlab-scope {
    --bg:#0f172a; --panel:#1e293b; --panel2:#334155; --text:#f1f5f9;
    --muted:#94a3b8; --accent:#38bdf8; --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
    --art:#ef4444; --ven:#3b82f6;
  }
  .cathlab-scope *, .cathlab-scope {box-sizing:border-box;}
  .cathlab-scope {margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
       background:var(--bg);color:var(--text);line-height:1.45;}
  .cathlab-scope header {padding:14px 22px;background:#020617;border-bottom:1px solid #334155;
         display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .cathlab-scope header h1 {margin:0;font-size:20px;font-weight:600;}
  .cathlab-scope header .sub {color:var(--muted);font-size:13px;}
  .cathlab-scope .container {display:grid;grid-template-columns:310px 1fr 320px;gap:12px;padding:12px;min-height:calc(100vh - 60px);}
  @media (max-width:1280px){.cathlab-scope .container {grid-template-columns:1fr;}}
  .cathlab-scope .panel {background:var(--panel);border-radius:10px;padding:12px;}
  .cathlab-scope .panel h2 {margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);}
  .cathlab-scope .panel h3 {margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);}
  .cathlab-scope .slider-row {margin-bottom:10px;}
  .cathlab-scope .slider-row label {display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:3px;}
  .cathlab-scope .slider-row label .val {font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;}
  .cathlab-scope .slider-row input[type=range] {width:100%;accent-color:var(--accent);}
  /* Sliders-verborgen modus: alleen labels + waardes zichtbaar */
  .cathlab-scope .panel.sliders-hidden .slider-row input[type=range] {display:none;}
  .cathlab-scope .panel.sliders-hidden .slider-row {margin-bottom:4px;}
  .cathlab-scope .panel.sliders-hidden .slider-row label {font-size:12px;}
  .cathlab-scope .slider-toggle-btn {
    padding:5px 9px;
    background:var(--panel2);
    color:var(--muted);
    border:1px solid #475569;
    border-radius:5px;
    cursor:pointer;
    font-size:11px;
    margin:0 0 10px 0;
    letter-spacing:.3px;
  }
  .cathlab-scope .slider-toggle-btn:hover {border-color:var(--accent);color:var(--text);}
  .cathlab-scope .derived-row {display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0;border-bottom:1px dotted #334155;}
  .cathlab-scope .derived-row .k {color:var(--muted);}
  .cathlab-scope .derived-row .v {font-weight:600;font-variant-numeric:tabular-nums;}
  .cathlab-scope .presets, .cathlab-scope .treatments {display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px;}
  .cathlab-scope .presets button, .cathlab-scope .treatments button {padding:6px 5px;background:var(--panel2);color:var(--text);border:1px solid #475569;
                  border-radius:5px;cursor:pointer;font-size:11.5px;transition:.15s;text-align:center;}
  .cathlab-scope .presets button:hover, .cathlab-scope .treatments button:hover {background:#475569;border-color:var(--accent);}
  .cathlab-scope .presets button.active {background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:600;}
  .cathlab-scope .treatments button.active {background:#10b981;color:#0f172a;border-color:#10b981;font-weight:600;}
  .cathlab-scope .diagram-wrap {background:var(--panel);border-radius:10px;padding:10px;display:flex;flex-direction:column;}
  .cathlab-scope svg {width:100%;height:auto;display:block;}
  .cathlab-scope .values {display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;}
  .cathlab-scope .val-card {background:var(--panel2);padding:7px 9px;border-radius:6px;font-size:12.5px;}
  .cathlab-scope .val-card .k {color:var(--muted);font-size:10.5px;}
  .cathlab-scope .val-card .v {font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;}
  .cathlab-scope .val-card.ok {border-left:3px solid var(--ok);}
  .cathlab-scope .val-card.warn {border-left:3px solid var(--warn);}
  .cathlab-scope .val-card.bad {border-left:3px solid var(--bad);}
  .cathlab-scope .quiz-q {background:var(--panel2);padding:9px;border-radius:6px;margin-bottom:8px;font-size:12.5px;}
  .cathlab-scope .quiz-options {display:flex;flex-direction:column;gap:5px;}
  .cathlab-scope .quiz-options button {padding:7px 9px;background:#0f172a;color:var(--text);
                       border:1px solid #475569;border-radius:5px;text-align:left;cursor:pointer;font-size:12.5px;}
  .cathlab-scope .quiz-options button:hover {border-color:var(--accent);}
  .cathlab-scope .quiz-options button.correct {background:#14532d;border-color:var(--ok);}
  .cathlab-scope .quiz-options button.wrong {background:#7f1d1d;border-color:var(--bad);}
  .cathlab-scope .quiz-feedback {margin-top:8px;padding:9px;border-radius:6px;font-size:12.5px;display:none;line-height:1.5;}
  .cathlab-scope .quiz-feedback.show {display:block;}
  .cathlab-scope .quiz-feedback.good {background:#14532d;border-left:4px solid var(--ok);}
  .cathlab-scope .quiz-feedback.bad {background:#7f1d1d;border-left:4px solid var(--bad);}
  .cathlab-scope .btn-primary {padding:8px 12px;background:var(--accent);color:#0f172a;border:none;
               border-radius:6px;cursor:pointer;font-weight:600;font-size:12.5px;margin-top:6px;width:100%;}
  .cathlab-scope .btn-primary:hover {background:#0ea5e9;}
  .cathlab-scope .btn-secondary {padding:6px 10px;background:var(--panel2);color:var(--text);border:1px solid #475569;
               border-radius:5px;cursor:pointer;font-size:11.5px;margin-top:4px;}
  .cathlab-scope .legend {font-size:11px;color:var(--muted);margin-top:10px;line-height:1.55;}
  .cathlab-scope .legend .ref {color:var(--text);font-family:monospace;}
  .cathlab-scope .score {font-size:13px;color:var(--muted);}
  .cathlab-scope .score b {color:var(--accent);}
  .cathlab-scope .explain {background:#0b1220;padding:10px;border-radius:6px;font-size:12px;color:var(--text);margin-top:8px;line-height:1.5;}
  .cathlab-scope .explain b {color:var(--accent);}
  .cathlab-scope .tx-active {background:#052e16;border:1px solid #14532d;padding:8px;border-radius:6px;margin-top:6px;font-size:11.5px;color:#86efac;}
  .cathlab-scope .tab-bar {display:flex;gap:4px;margin-bottom:8px;}
  .cathlab-scope .tab-bar button {flex:1;padding:5px;background:var(--panel2);color:var(--text);border:none;
                  border-radius:4px;cursor:pointer;font-size:11.5px;}
  .cathlab-scope .tab-bar button.active {background:var(--accent);color:#0f172a;font-weight:600;}
  .cathlab-scope .formula {font-size:10.5px;color:var(--muted);font-family:monospace;margin-top:2px;}

  /* === Main-tab navigation === */
  .cathlab-scope .main-tabs {display:flex;gap:2px;background:#020617;padding:0 22px;border-bottom:1px solid #334155;}
  .cathlab-scope .main-tab {padding:10px 18px;background:transparent;border:none;color:var(--muted);cursor:pointer;
            font-size:13px;font-weight:500;border-bottom:3px solid transparent;transition:.15s;}
  .cathlab-scope .main-tab:hover {color:var(--text);}
  .cathlab-scope .main-tab.active {color:var(--accent);border-bottom-color:var(--accent);}
  .cathlab-scope .page {display:none;}
  .cathlab-scope .page.active {display:block;}

  /* === Clinical simulator === */
  .cathlab-scope .sim-layout {display:grid;grid-template-columns:290px 1fr 260px;gap:12px;padding:12px;min-height:calc(100vh - 100px);}
  @media (max-width:1280px){.cathlab-scope .sim-layout {grid-template-columns:1fr;}}
  .cathlab-scope .patient-card {background:#0b1220;border-left:4px solid var(--accent);padding:10px;border-radius:6px;font-size:12.5px;line-height:1.55;}
  .cathlab-scope .patient-card h4 {margin:0 0 6px;color:var(--accent);font-size:13px;}
  .cathlab-scope .patient-card .presentation {color:var(--text);font-size:13px;}
  .cathlab-scope .diag-actions {display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}
  .cathlab-scope .diag-actions button {padding:9px 6px;background:var(--panel2);border:1px solid #475569;color:var(--text);
                       border-radius:6px;cursor:pointer;font-size:11.5px;text-align:center;transition:.15s;}
  .cathlab-scope .diag-actions button:hover {border-color:var(--accent);background:#475569;}
  .cathlab-scope .diag-actions button.done {background:#052e16;border-color:#14532d;color:#86efac;}
  .cathlab-scope .diag-results {background:#0b1220;padding:10px;border-radius:6px;margin-top:8px;font-size:12px;line-height:1.6;max-height:400px;overflow-y:auto;}
  .cathlab-scope .diag-results .finding {margin-bottom:8px;padding-bottom:8px;border-bottom:1px dotted #334155;}
  .cathlab-scope .diag-results .finding:last-child {border-bottom:none;}
  .cathlab-scope .diag-results .finding b {color:var(--accent);display:block;margin-bottom:3px;}
  .cathlab-scope .diag-results .abnormal {color:#fca5a5;}
  .cathlab-scope .diag-results .normal-val {color:#86efac;}

  /* === Monitor === */
  .cathlab-scope .monitor {background:#020617;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:3px;}
  .cathlab-scope .strip {position:relative;background:#0a0f1a;border-radius:4px;overflow:hidden;}
  .cathlab-scope .strip .label {position:absolute;top:4px;left:6px;color:#86efac;font-size:11px;font-weight:600;z-index:2;text-shadow:0 0 3px #000;}
  .cathlab-scope .strip .vals {position:absolute;top:4px;right:6px;color:var(--text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;z-index:2;text-shadow:0 0 3px #000;}
  .cathlab-scope .strip canvas {display:block;width:100%;height:auto;}
  .cathlab-scope .strip.locked {opacity:.25;pointer-events:none;}
  .cathlab-scope .strip.locked::after {content:"🔒 Swan-Ganz nodig";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fbbf24;font-size:13px;font-weight:600;background:rgba(2,6,23,.7);}
  .cathlab-scope .resp-indicator {font-size:11px;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:8px;}
  .cathlab-scope .resp-bar {flex:1;height:8px;background:#0b1220;border-radius:4px;overflow:hidden;}
  .cathlab-scope .resp-bar-fill {height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .1s;}

  .cathlab-scope .sim-therapy-panel h3 {margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);}
  .cathlab-scope .case-actions {display:flex;flex-direction:column;gap:6px;margin-top:10px;}
  .cathlab-scope .case-actions button {padding:9px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600;border:none;}
  .cathlab-scope .btn-case-new {background:var(--accent);color:#0f172a;}
  .cathlab-scope .btn-case-new:hover {background:#0ea5e9;}
  .cathlab-scope .btn-reveal {background:var(--panel2);color:var(--text);border:1px solid #475569 !important;}
  .cathlab-scope .btn-reveal:hover {border-color:var(--accent) !important;}
  .cathlab-scope .dx-reveal {background:#052e16;border:1px solid #14532d;padding:10px;border-radius:6px;margin-top:8px;font-size:12.5px;display:none;line-height:1.5;}
  .cathlab-scope .dx-reveal.show {display:block;}

  /* Therapy feedback states on buttons */
  .cathlab-scope .treatments button.tx-good {background:#14532d !important;border-color:#22c55e !important;color:#bbf7d0 !important;}
  .cathlab-scope .treatments button.tx-ok {background:#713f12 !important;border-color:#f59e0b !important;color:#fde68a !important;}
  .cathlab-scope .treatments button.tx-bad {background:#7f1d1d !important;border-color:#ef4444 !important;color:#fecaca !important;}

  /* === Compensatie-tab === */
  .cathlab-scope .comp-layout {display:grid;grid-template-columns:310px 1fr;gap:12px;padding:12px;}
  @media (max-width:1000px){.cathlab-scope .comp-layout {grid-template-columns:1fr;}}
  .cathlab-scope .comp-right-stack {display:flex;flex-direction:column;gap:12px;}
  .cathlab-scope .comp-steps {display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
  .cathlab-scope .comp-steps button {padding:10px;background:var(--panel2);border:1px solid #475569;color:var(--text);
                     border-radius:6px;cursor:pointer;font-size:12.5px;text-align:left;}
  .cathlab-scope .comp-steps button.active {background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:600;}
  .cathlab-scope .comp-metrics-panel {display:flex;flex-direction:column;}
  .cathlab-scope .comp-metrics {display:grid;grid-template-columns:130px 100px 1fr 70px;gap:12px 16px;align-items:center;font-size:14.5px;}
  .cathlab-scope .comp-metric-lbl {color:var(--muted);font-weight:500;}
  .cathlab-scope .comp-metric-val {font-weight:700;font-variant-numeric:tabular-nums;text-align:right;font-size:16px;}
  .cathlab-scope .comp-metric-bar {height:22px;background:#0b1220;border-radius:4px;overflow:hidden;position:relative;}
  .cathlab-scope .comp-metric-bar-fill {height:100%;transition:width .25s, background .25s;}
  .cathlab-scope .comp-metric-bar-ref {position:absolute;top:-2px;bottom:-2px;width:2px;background:#38bdf8;}
  .cathlab-scope .comp-metric-delta {text-align:right;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;}
  .cathlab-scope .comp-narr {background:#0b1220;padding:12px;border-radius:6px;font-size:12.5px;line-height:1.55;margin-top:12px;min-height:120px;}
  .cathlab-scope .comp-narr h4 {margin:0 0 6px;color:var(--accent);font-size:13px;}
  .cathlab-scope .comp-canvas-wrap {background:var(--panel);border-radius:10px;padding:14px;}
  .cathlab-scope .comp-canvas-wrap canvas {display:block;width:100%;max-width:720px;margin:0 auto;background:#020617;border-radius:6px;}
  .cathlab-scope .comp-intro {background:#0b1220;padding:10px;border-radius:6px;font-size:12.5px;line-height:1.55;margin-bottom:10px;color:var(--text);}
  .cathlab-scope .comp-intro b {color:var(--accent);}
  .cathlab-scope .comp-meds {display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:4px;}
  .cathlab-scope .comp-meds button {padding:7px 6px;background:var(--panel2);border:1px solid #475569;color:var(--text);
                    border-radius:5px;cursor:pointer;font-size:11.5px;transition:.15s;}
  .cathlab-scope .comp-meds button:hover {border-color:var(--accent);}
  .cathlab-scope .comp-meds button.active {background:#10b981;color:#0f172a;border-color:#10b981;font-weight:600;}

  /* === PV loops === */
  .cathlab-scope .pv-layout {display:grid;grid-template-columns:1fr 320px;gap:12px;padding:12px;}
  @media (max-width:1000px){.cathlab-scope .pv-layout {grid-template-columns:1fr;}}
  .cathlab-scope .pv-canvas-wrap {background:var(--panel);border-radius:10px;padding:12px;}
  .cathlab-scope .pv-canvas-wrap canvas {display:block;width:100%;max-width:720px;margin:0 auto;background:#020617;border-radius:6px;}
  .cathlab-scope .pv-legend {font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px;}
  .cathlab-scope .pv-controls .pv-preset-group {display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px;}
  .cathlab-scope .pv-controls .pv-preset-group button {padding:7px 6px;background:var(--panel2);border:1px solid #475569;
    color:var(--text);border-radius:5px;cursor:pointer;font-size:11.5px;}
  .cathlab-scope .pv-controls .pv-preset-group button.active {background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:600;}
  .cathlab-scope .pv-info {background:#0b1220;padding:10px;border-radius:6px;font-size:12px;line-height:1.55;margin-top:10px;}

  /* === CATHLAB START (verwijderbaar) === */
  .cathlab-scope .cath-layout {display:grid;grid-template-columns:1fr;gap:10px;padding:10px;}
  @media (max-width:900px){.cathlab-scope .cath-layout {grid-template-columns:1fr;}}
  /* Grid-layout: sidebar (model-knoppen) | angio+azurion | hemomonitor.
     Alle drie de kolommen schalen responsief. Onder 1100px stapelt alles. */
  .cathlab-scope .cath-main-col {display:grid;grid-template-columns:180px minmax(500px, 820px) 340px;grid-template-rows:auto auto;gap:10px;justify-content:start;align-items:start;}
  @media (max-width:1300px){.cathlab-scope .cath-main-col {grid-template-columns:170px minmax(460px, 820px) minmax(270px, 340px);}}
  @media (max-width:1100px){.cathlab-scope .cath-main-col {grid-template-columns:160px minmax(400px, 1fr);}.cathlab-scope .hemo-monitor {grid-column:1 / span 2 !important;grid-row:3 !important;}}
  @media (max-width:760px){.cathlab-scope .cath-main-col {grid-template-columns:1fr;}.cathlab-scope .cath-model-sidebar {grid-column:1 !important;grid-row:auto !important;}.cathlab-scope .hemo-monitor {grid-column:1 !important;grid-row:auto !important;}}
  .cathlab-scope .cath-screens-row {display:contents;}
  /* Model-sidebar links: vaste kolom, volledige hoogte */
  .cathlab-scope .cath-model-sidebar {grid-column:1;grid-row:1 / span 2;background:linear-gradient(180deg,#1c1e22 0%,#0b0c0e 100%);border:1px solid #2a2d32;border-radius:10px;padding:10px 10px 12px 10px;display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);min-width:0;}
  .cathlab-scope .cath-model-sidebar .sidebar-sec-label {font-size:9px;color:#64748b;text-transform:uppercase;letter-spacing:1.2px;font-weight:600;margin:8px 0 3px 0;padding-bottom:2px;border-bottom:1px solid #334155;}
  .cathlab-scope .cath-model-sidebar .sidebar-sec-label:first-child {margin-top:0;}
  .cathlab-scope .cath-model-sidebar button {width:100%;padding:7px 6px;font-size:11.5px;}
  .cathlab-scope .cath-model-sidebar .cath-injectors {display:flex;gap:4px;}
  .cathlab-scope .cath-model-sidebar .cath-injectors button {flex:1;padding:8px 4px;font-size:12px;font-weight:600;}
  .cathlab-scope .cath-model-sidebar .gamepad-status {background:#14532d;border:1px solid #22c55e;color:#86efac;border-radius:4px;padding:5px 6px;font-size:10.5px;font-weight:600;text-align:center;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;user-select:none;}
  .cathlab-scope .cath-model-sidebar .gamepad-status.gp-off {background:#3f2517;border-color:#78350f;color:#fbbf24;}
  .cathlab-scope .cath-model-sidebar .gamepad-status:hover {filter:brightness(1.15);}
  .cathlab-scope .cath-canvas-wrap {grid-column:2;grid-row:1;background:#000;border-radius:8px;padding:6px;position:relative;min-width:0;justify-self:center;width:100%;max-width:612px;}
  .cathlab-scope .cath-canvas-wrap canvas {display:block;width:100%;max-width:600px;aspect-ratio:1/1;max-height:calc(100vh - 220px);margin:0 auto;background:#0a0a0a;border-radius:4px;cursor:grab;object-fit:contain;}
  .cathlab-scope .hemo-monitor {grid-column:3;grid-row:1 / span 2;min-width:0;}
  .cathlab-scope .hemo-monitor canvas {width:100% !important;height:auto;}
  .cathlab-scope .hemo-monitor #hemoECG, .cathlab-scope .hemo-monitor #hemoABP {aspect-ratio:320 / 140;}
  .cathlab-scope .hemo-monitor #hemoSnapshot {aspect-ratio:1 / 1;}
  /* === Hemodynamisch beeldscherm === */
  .cathlab-scope .hemo-monitor {background:#0a0a0a;border-radius:8px;padding:8px 10px;border:1px solid #2a2d32;display:flex;flex-direction:column;gap:4px;}
  .cathlab-scope .hemo-monitor .hemo-head {display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 0 4px;}
  .cathlab-scope .hemo-monitor .hemo-row-title {font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#22ff77;font-weight:600;font-family:monospace;}
  .cathlab-scope .hemo-monitor canvas {background:#050505;border-radius:2px;display:block;width:100%;max-width:320px;}
  .cathlab-scope .hemo-monitor .hemo-hr-box, .cathlab-scope .hemo-monitor .hemo-bp-box {color:#e4e4e7;font-family:monospace;font-size:11px;display:flex;align-items:baseline;gap:4px;}
  .cathlab-scope .hemo-monitor .hemo-lbl {color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:1px;}
  .cathlab-scope .hemo-monitor .hemo-val {font-size:22px;font-weight:600;color:#22ff77;line-height:1;font-variant-numeric:tabular-nums;}
  .cathlab-scope .hemo-monitor .hemo-bp-box .hemo-val {color:#ff6b6b;}
  .cathlab-scope .hemo-monitor .hemo-unit {font-size:9px;color:#64748b;text-transform:uppercase;}
  .cathlab-scope .hemo-monitor .hemo-map {font-size:11px;color:#c9a876;margin-left:4px;}
  .cathlab-scope .hemo-monitor .hemo-snap {margin-top:4px;padding-top:6px;border-top:1px solid #2a2d32;}
  .cathlab-scope .hemo-monitor .hemo-snap .hemo-row-title {color:#fbbf24;}
  .cathlab-scope .hemo-monitor .hemo-snap-frame {position:relative;background:#050505;border-radius:2px;overflow:hidden;max-width:320px;}
  .cathlab-scope .hemo-monitor .hemo-snap-empty {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#475569;font-size:10px;font-style:italic;pointer-events:none;}
  .cathlab-scope .hemo-monitor .hemo-snap-ts {font-size:9px;color:#64748b;font-family:monospace;margin-top:2px;min-height:11px;}
  /* Snapshot button in azurion-bar */
  .cathlab-scope #snapshotBtn {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 10px;background:linear-gradient(180deg,#2a2d32,#1a1c1f);border:1px solid #3f3f46;color:#fbbf24;border-radius:4px;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.5px;min-width:60px;min-height:64px;}
  .cathlab-scope #snapshotBtn:hover {background:linear-gradient(180deg,#3a3d42,#2a2c2f);border-color:#fbbf24;}
  .cathlab-scope #snapshotBtn:active {background:#fbbf24;color:#1a1a1a;}
  .cathlab-scope #snapshotBtn svg {width:28px;height:28px;}
  .cathlab-scope .cath-canvas-wrap canvas.hidden {display:none;}
  .cathlab-scope .cath-canvas-wrap #cathCanvas3D {position:relative;z-index:1;}
  .cathlab-scope .cath-canvas-wrap #cathOverlay2D {position:absolute;top:6px;left:0;right:0;margin:0 auto;pointer-events:none;z-index:2;background:transparent;}
  /* FOV-pill: twee ronde knoppen (−/+) met icoon ertussen, zoals Azurion */
  .cathlab-scope .fov-pill {display:inline-flex;align-items:center;gap:0;background:linear-gradient(180deg,#2a2d32,#1a1c1f);border:1px solid #4b5563;border-radius:14px;padding:2px 4px;height:26px;}
  .cathlab-scope .fov-pill .fov-btn {background:transparent;border:none;color:#e4e4e7;font-size:15px;font-weight:700;padding:0 7px;line-height:1;cursor:pointer;min-width:20px;display:flex;align-items:center;justify-content:center;}
  .cathlab-scope .fov-pill .fov-btn:hover {color:#fbbf24;}
  .cathlab-scope .fov-pill .fov-btn:active {color:#fbbf24;transform:scale(0.92);}
  .cathlab-scope .fov-pill .fov-icon {width:16px;height:12px;color:#94a3b8;display:flex;align-items:center;justify-content:center;pointer-events:none;}
  .cathlab-scope .fov-pill .fov-icon svg {width:100%;height:100%;display:block;}
  .cathlab-scope .fov-label {font-size:10px;font-weight:600;color:#fde4c4;letter-spacing:.4px;margin-top:2px;}
  .cathlab-scope .exercise-btn {background:#1a2e44;border-color:#3b6ca0;color:#c4d8ec;}
  .cathlab-scope .exercise-btn:hover {background:#244568;border-color:#5a8cc3;}
  .cathlab-scope .exercise-btn.active {background:#b91c1c;border-color:#fca5a5;color:#fff;font-weight:600;}
  .cathlab-scope #exerciseStop {background:#1a1f26;border-color:#475569;color:#94a3b8;font-size:10.5px;}
  .cathlab-scope #exerciseStop:hover {background:#252c36;color:#cbd5e1;}
  .cathlab-scope #exerciseHint {font-size:10px;color:#fbbf24;margin-top:4px;min-height:12px;line-height:1.3;word-break:break-word;}
  .cathlab-scope .cath-view-label {position:absolute;top:18px;left:244px;color:#fbbf24;font-size:13px;font-weight:600;font-family:monospace;background:rgba(0,0,0,.5);padding:4px 8px;border-radius:3px;z-index:3;}
  /* C-arm status widget (mini 3D-view met tube/detector/tafel) */
  .cathlab-scope .carm-widget {
    position:absolute; top:12px; left:12px;
    width:220px; height:180px;
    z-index:4;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(100,116,139,.35);
    border-radius:6px;
    backdrop-filter: blur(3px);
    pointer-events:none;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,.45);
  }
  .cathlab-scope .carm-widget canvas { width:100%; height:calc(100% - 26px); display:block; }
  .cathlab-scope .carm-widget-header {
    position:absolute; top:0; left:0; right:0;
    padding:3px 8px 0 8px;
    font-size:9px; text-transform:uppercase; letter-spacing:1px;
    color:#94a3b8; font-family:monospace; font-weight:600;
    pointer-events:none;
  }
  .cathlab-scope .carm-widget-label {
    position:absolute; bottom:6px; left:8px; right:8px;
    color:#fbbf24; font-family:monospace; font-size:14px; font-weight:700;
    letter-spacing:.3px; line-height:1.3;
    text-shadow:0 1px 2px rgba(0,0,0,.7);
  }
  .cathlab-scope .carm-widget-label .cw-pan { color:#cbd5e1; font-size:12px; font-weight:600; }
  /* Widget in fullscreen: groter + grotere labels */
  .cathlab-scope #cathFlexvision:fullscreen .carm-widget {
    top:18px; left:18px;
    width:330px; height:265px;
    z-index:10;
  }

  .cathlab-scope #cathFlexvision:fullscreen .carm-widget canvas {
    width:100% !important; height:calc(100% - 34px) !important;
    max-width:none !important; max-height:none !important;
    aspect-ratio:auto !important;
    margin:0 !important; background:transparent !important;
    border-radius:0 !important;
  }
  .cathlab-scope #cathFlexvision:fullscreen .carm-widget-header {
    font-size:11px; padding:5px 10px 0 10px;
  }
  .cathlab-scope #cathFlexvision:fullscreen .carm-widget-label {
    font-size:18px; bottom:9px; left:12px; right:12px;
  }
  .cathlab-scope #cathFlexvision:fullscreen .carm-widget-label .cw-pan { font-size:15px; }
  .cathlab-scope .cath-info {position:absolute;top:14px;right:14px;color:#94a3b8;font-size:11px;font-family:monospace;background:rgba(0,0,0,.5);padding:4px 8px;border-radius:3px;z-index:2;}
  .cathlab-scope .cath-question {position:absolute;left:14px;right:14px;bottom:16px;background:rgba(0,0,0,0.55);color:#e5e7eb;font-size:14px;font-weight:500;text-align:center;padding:10px 14px;border-radius:4px;pointer-events:none;z-index:4;line-height:1.35;border:1px solid rgba(100,116,139,0.35);backdrop-filter:blur(2px);}
  .cathlab-scope .cath-question.in-range {color:#fde047;border-color:rgba(253,224,71,0.6);}
  .cathlab-scope .cath-question .cath-q-snap {display:block;margin-top:6px;font-size:13px;font-weight:700;letter-spacing:1.2px;color:#fde047;}
  .cathlab-scope .cath-question .cath-q-warn {display:block;margin-top:6px;font-size:12px;font-weight:600;color:#ef4444;}
  .cathlab-scope .cath-question .cath-q-num {display:block;font-size:10px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
  .cathlab-scope .cath-presets {display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px;}
  .cathlab-scope .cath-presets button {padding:7px 5px;background:var(--panel2);border:1px solid #475569;color:var(--text);border-radius:5px;cursor:pointer;font-size:11.5px;}
  .cathlab-scope .cath-presets button:hover {border-color:var(--accent);}
  .cathlab-scope .cath-presets button.active {background:var(--accent);color:#0f172a;border-color:var(--accent);font-weight:600;}
  .cathlab-scope .cath-injectors {display:flex;gap:6px;margin-top:10px;}
  .cathlab-scope .cath-injectors button {flex:1;padding:8px;background:var(--panel2);border:1px solid #475569;color:#94a3b8;border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;}
  .cathlab-scope .cath-injectors button:hover {border-color:#fbbf24;color:#fbbf24;}
  .cathlab-scope .cath-injectors button.active {background:#14532d;border-color:#22c55e;color:#86efac;}
  .cathlab-scope #toggleBones.active {background:#3f3f46;border-color:#a1a1aa;color:#e4e4e7;}
  .cathlab-scope #toggleAorta.active {background:#4a3a2a;border-color:#c9a876;color:#f3e4c4;}
  .cathlab-scope .cath-intro {background:#0b1220;padding:10px;border-radius:6px;font-size:12px;line-height:1.55;margin-top:10px;color:var(--text);}
  .cathlab-scope .cath-intro b {color:var(--accent);}

  /* Philips-achtige tableside controller */
  .cathlab-scope .philips-panel {background:linear-gradient(180deg,#1c1e22 0%,#0b0c0e 100%);
                 padding:10px;border-radius:8px;border:1px solid #2a2d32;
                 box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
  .cathlab-scope .philips-section {margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #24262a;}
  .cathlab-scope .philips-section:last-child {border-bottom:none;margin-bottom:0;padding-bottom:0;}
  .cathlab-scope .philips-label {font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#64748b;margin-bottom:8px;font-weight:600;}
  .cathlab-scope .philips-joystick {position:relative;width:160px;height:160px;margin:0 auto;
                    background:radial-gradient(circle at 30% 30%,#1a1a1a,#050505 70%);
                    border-radius:50%;border:2px solid #2a2d32;cursor:pointer;
                    user-select:none;box-shadow:inset 0 4px 8px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.04);}
  .cathlab-scope .joy-ring {position:absolute;inset:12px;border-radius:50%;border:1px dashed #2a2d32;}
  .cathlab-scope .joy-cross-h {position:absolute;left:14px;right:14px;top:50%;height:1px;background:#24262a;}
  .cathlab-scope .joy-cross-v {position:absolute;top:14px;bottom:14px;left:50%;width:1px;background:#24262a;}
  .cathlab-scope .joy-lbl {position:absolute;font-size:9px;color:#475569;font-weight:600;letter-spacing:.5px;pointer-events:none;}
  .cathlab-scope .joy-lbl-cra {top:4px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .joy-lbl-cau {bottom:4px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .joy-lbl-lao {right:5px;top:50%;transform:translateY(-50%);}
  .cathlab-scope .joy-lbl-rao {left:5px;top:50%;transform:translateY(-50%);}
  .cathlab-scope .joy-handle {position:absolute;width:32px;height:32px;left:50%;top:50%;
              background:radial-gradient(circle at 30% 25%,#5b6470,#2a2f38 60%,#1a1d22);
              border-radius:50%;border:1px solid #4b5563;
              transform:translate(-50%,-50%);pointer-events:none;
              box-shadow:0 3px 6px rgba(0,0,0,.7),inset 0 1px 1px rgba(255,255,255,.15);
              transition:box-shadow .12s;}
  .cathlab-scope .philips-joystick:hover .joy-handle {box-shadow:0 3px 10px rgba(251,191,36,.35),inset 0 1px 1px rgba(255,255,255,.2);}
  .cathlab-scope .philips-angle {text-align:center;margin-top:8px;color:#fbbf24;font-family:monospace;font-size:12px;font-weight:600;letter-spacing:.5px;}

  .cathlab-scope .philips-pad {display:grid;grid-template-columns:36px 36px 36px;grid-template-rows:36px 36px 36px;gap:5px;justify-content:center;}
  .cathlab-scope .philips-btn {background:linear-gradient(180deg,#3a3d42 0%,#1e2024 100%);
               border:1px solid #475569;color:#cbd5e1;border-radius:5px;
               cursor:pointer;font-size:13px;font-weight:600;
               box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.5);
               transition:.1s;}
  .cathlab-scope .philips-btn:hover {background:linear-gradient(180deg,#4b5563 0%,#2a2d32 100%);color:#fbbf24;border-color:#fbbf24;}
  .cathlab-scope .philips-btn:active {background:linear-gradient(180deg,#1e2024,#3a3d42);transform:translateY(1px);}
  .cathlab-scope .philips-btn-center {background:#0b0c0e !important;color:#475569;font-size:10px;}
  .cathlab-scope .philips-btn-wide {flex:0 0 44px;height:32px;}
  .cathlab-scope .philips-zoom {display:flex;gap:8px;align-items:center;justify-content:center;}
  .cathlab-scope .philips-zoom-disp {flex:1;text-align:center;color:#fbbf24;font-family:monospace;font-size:13px;font-weight:600;}
  .cathlab-scope .philips-mem {display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;}
  .cathlab-scope .philips-mem-btn {padding:8px 4px;background:linear-gradient(180deg,#3a3d42 0%,#1e2024 100%);
                   border:1px solid #475569;color:#94a3b8;border-radius:4px;cursor:pointer;
                   font-size:11px;font-weight:600;letter-spacing:.5px;transition:.12s;
                   box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.4);}
  .cathlab-scope .philips-mem-btn:hover {border-color:#fbbf24;color:#fbbf24;}
  .cathlab-scope .philips-mem-btn.stored {color:#22c55e;border-color:#16a34a;}
  .cathlab-scope .philips-mem-btn.stored::before {content:"● ";}
  .cathlab-scope .philips-mem-hint {font-size:9px;color:#475569;margin-top:4px;text-align:center;font-style:italic;}
  .cathlab-scope .philips-joystick-sm {width:120px;height:120px;}
  .cathlab-scope .philips-rockers {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .cathlab-scope .rocker {display:grid;grid-template-rows:auto 1fr 1fr;gap:4px;}
  .cathlab-scope .rocker-sublbl {font-size:10px;color:#64748b;text-align:center;font-weight:600;letter-spacing:.5px;}
  .cathlab-scope .rocker-btn {padding:8px;background:linear-gradient(180deg,#3a3d42 0%,#1e2024 100%);
              border:1px solid #475569;color:#cbd5e1;border-radius:4px;cursor:pointer;
              font-size:14px;font-weight:600;
              box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.5);
              transition:.08s;user-select:none;}
  .cathlab-scope .rocker-btn:hover {color:#fbbf24;border-color:#fbbf24;}
  .cathlab-scope .rocker-btn.active {background:linear-gradient(180deg,#1e2024 0%,#3a3d42 100%);
                     color:#fbbf24;border-color:#fbbf24;
                     box-shadow:inset 0 2px 4px rgba(0,0,0,.5);transform:translateY(1px);}
  .cathlab-scope .philips-wedges {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .cathlab-scope .wedge-block {background:#0b0c0e;padding:7px;border-radius:5px;border:1px solid #1f2024;}
  .cathlab-scope .wedge-row {display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:4px 0;}
  .cathlab-scope .philips-btn-small {width:100%;padding:5px;font-size:10px;letter-spacing:.5px;}
  .cathlab-scope .philips-btn-home {flex:1;padding:10px;font-size:12px;letter-spacing:1px;color:#fbbf24;
                    background:linear-gradient(180deg,#2a1f0a 0%,#1a1206 100%);
                    border-color:#78350f;}
  .cathlab-scope .philips-btn-home:hover {color:#fde047;border-color:#fbbf24;}
  .cathlab-scope .philips-row-split {display:flex;gap:8px;align-items:center;}

  /* === Azurion-achtige bedieningsbalk onder het canvas === */
  .cathlab-scope .azurion-bar {grid-column:2;grid-row:2;justify-self:stretch;min-width:0;
               background:linear-gradient(180deg,#1c1e22 0%,#0b0c0e 100%);
               border:1px solid #2a2d32;border-radius:10px;padding:8px 12px;
               display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;
               box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
  .cathlab-scope .az-group {display:flex;flex-direction:column;align-items:center;gap:4px;}
  .cathlab-scope .az-group.az-util {gap:6px;}
  .cathlab-scope .az-lbl-grp {font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#64748b;font-weight:600;}
  .cathlab-scope .az-lbl-row {display:flex;gap:10px;font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;}
  .cathlab-scope .az-lbl-row span {width:60px;text-align:center;}
  .cathlab-scope .az-top-row {display:flex;gap:8px;align-items:flex-end;}
  .cathlab-scope .az-btm-row {display:flex;gap:8px;margin-top:2px;}
  .cathlab-scope .az-img-row {display:flex;gap:12px;}

  /* Discs — basis metallic look */
  .cathlab-scope .az-big-disc, .cathlab-scope .az-med-disc {
    position:relative;user-select:none;
    background:radial-gradient(circle at 30% 28%, #1a1a1a 0%, #050505 75%);
    border:2px solid #2a2d32;border-radius:50%;
    box-shadow:inset 0 3px 8px rgba(0,0,0,.85), 0 1px 0 rgba(255,255,255,.04);
  }
  .cathlab-scope .az-big-disc {width:80px;height:80px;}
  .cathlab-scope .az-med-disc {width:60px;height:60px;}
  .cathlab-scope .az-ctrl {cursor:pointer;}
  .cathlab-scope .az-ctrl:hover {border-color:#475569;}
  .cathlab-scope .az-ctrl:hover .az-disc-handle, .cathlab-scope .az-ctrl:hover .az-oval-handle, .cathlab-scope .az-ctrl:hover .az-disc-sqhandle {
    box-shadow:0 3px 10px rgba(251,191,36,.35),inset 0 1px 1px rgba(255,255,255,.2);}

  .cathlab-scope .az-disc-cross-h {position:absolute;left:12%;right:12%;top:50%;height:1px;background:rgba(255,255,255,.05);}
  .cathlab-scope .az-disc-cross-v {position:absolute;top:12%;bottom:12%;left:50%;width:1px;background:rgba(255,255,255,.05);}
  .cathlab-scope .az-arrow {position:absolute;font-size:9px;color:#475569;pointer-events:none;font-weight:700;}
  .cathlab-scope .az-arrow-up {top:4px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .az-arrow-dn {bottom:4px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .az-arrow-lf {left:4px;top:50%;transform:translateY(-50%);}
  .cathlab-scope .az-arrow-rt {right:4px;top:50%;transform:translateY(-50%);}
  .cathlab-scope .az-pos-lbl {position:absolute;font-size:7.5px;color:#64748b;font-weight:600;pointer-events:none;letter-spacing:.3px;}
  .cathlab-scope .az-pos-top {top:3px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .az-pos-bottom {bottom:3px;left:50%;transform:translateX(-50%);}
  .cathlab-scope .az-pos-left {left:4px;top:50%;transform:translateY(-50%);}
  .cathlab-scope .az-pos-right {right:4px;top:50%;transform:translateY(-50%);}

  /* Round handle */
  .cathlab-scope .az-disc-handle {position:absolute;left:50%;top:50%;width:20px;height:20px;
                  background:radial-gradient(circle at 30% 25%,#5b6470,#2a2f38 60%,#1a1d22);
                  border:1px solid #4b5563;border-radius:50%;
                  transform:translate(-50%,-50%);pointer-events:none;
                  box-shadow:0 2px 5px rgba(0,0,0,.8),inset 0 1px 1px rgba(255,255,255,.15);}
  .cathlab-scope .az-big-disc .az-disc-handle {width:24px;height:24px;}

  /* Oval handle voor wiggen */
  .cathlab-scope .az-oval-handle {position:absolute;left:50%;top:50%;width:30px;height:15px;
                  background:radial-gradient(ellipse at 30% 25%,#5b6470,#2a2f38 60%,#1a1d22);
                  border:1px solid #4b5563;border-radius:11px;
                  transform:translate(-50%,-50%) rotate(0deg);pointer-events:none;
                  box-shadow:0 2px 5px rgba(0,0,0,.8),inset 0 1px 1px rgba(255,255,255,.15);}

  /* Vierkant handle voor kleppen */
  .cathlab-scope .az-disc-sqhandle {position:absolute;left:50%;top:50%;width:22px;height:22px;
                    background:radial-gradient(circle at 30% 25%,#5b6470,#2a2f38 60%,#1a1d22);
                    border:1px solid #4b5563;border-radius:3px;
                    transform:translate(-50%,-50%);pointer-events:none;
                    display:flex;align-items:center;justify-content:center;
                    box-shadow:0 2px 5px rgba(0,0,0,.8),inset 0 1px 1px rgba(255,255,255,.15);}
  .cathlab-scope .az-sq-gfx {width:11px;height:11px;border:1.4px solid #94a3b8;background:transparent;}
  /* Diafragma-icoon onder de knop */
  .cathlab-scope .az-diaphragm-icon {width:30px;height:12px;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;}
  .cathlab-scope .az-diaphragm-icon svg {width:100%;height:100%;display:block;}

  /* Decoratieve elementen */
  .cathlab-scope .az-square {width:24px;height:24px;background:linear-gradient(180deg,#2e3136,#1a1c1f);
             border:1px solid #3a3d42;border-radius:3px;
             display:flex;align-items:center;justify-content:center;
             opacity:.55;cursor:not-allowed;}
  .cathlab-scope .az-oval {width:38px;height:20px;background:linear-gradient(180deg,#2e3136,#1a1c1f);
           border:1px solid #3a3d42;border-radius:10px;
           display:flex;align-items:center;justify-content:center;
           opacity:.55;cursor:not-allowed;
           box-shadow:inset 0 2px 4px rgba(0,0,0,.4);}
  .cathlab-scope .az-square svg, .cathlab-scope .az-oval svg {max-width:14px;max-height:14px;}
  .cathlab-scope .az-deco:hover {opacity:.6;}

  .cathlab-scope .az-angle-disp {color:#fbbf24;font-family:monospace;font-size:10px;font-weight:600;letter-spacing:.5px;}
  .cathlab-scope .az-zoom-disp {color:#fbbf24;font-family:monospace;font-size:11px;font-weight:600;text-align:center;letter-spacing:.5px;}

  /* === Azurion FlexVision: continu beeldcluster (fluoro + hemo aaneengesloten) === */
  .cathlab-scope .cath-flexvision {
    grid-column: 2 / span 2;
    grid-row: 1;
    display:flex;
    gap:0;
    background:#000;
    border:1px solid #2a2d32;
    border-radius:10px;
    padding:6px;
    min-width:0;
    position:relative;
    align-items:stretch;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  .cathlab-scope .cath-flexvision > .cath-canvas-wrap {
    grid-column:auto; grid-row:auto;
    border-radius:0;
    background:#000;
    padding:0;
    max-width:none;
    width:auto;
    justify-self:stretch;
    flex:1 1 auto;
    min-width:0;
  }
  .cathlab-scope .cath-flexvision > .hemo-monitor {
    grid-column:auto; grid-row:auto;
    border-radius:0;
    border:none;
    border-left:1px solid #1a1c1f;
    max-width:none;
    flex:0 0 340px;
    padding:8px 10px;
  }
  .cathlab-scope .cath-flexvision > .hemo-monitor canvas { max-width:none; }
  .cathlab-scope .cath-flexvision > .hemo-monitor .hemo-snap-frame { max-width:none; }
  /* Binnen FlexVision heeft cath-canvas-wrap geen padding meer, dus overlay op top:0 zodat
     het diafragma-kader exact over het 3D-beeld valt (anders piekt er een strip boven uit). */
  .cathlab-scope .cath-flexvision .cath-canvas-wrap #cathOverlay2D { top:0; }
  /* Azurion-bar onder het volledige beeldcluster */
  .cathlab-scope .cath-main-col > .azurion-bar { grid-column:2; }

  /* Floating overlay-knoppen op het beeldcluster (FS + controls) */
  .cathlab-scope .cath-flex-controls {
    position:absolute;
    top:10px; right:12px;
    display:flex;
    gap:6px;
    z-index:6;
  }
  .cathlab-scope .cath-flex-controls button {
    background:rgba(20,22,26,.75);
    color:#cbd5e1;
    border:1px solid #3f3f46;
    border-radius:4px;
    padding:6px 9px;
    font-size:15px;
    line-height:1;
    cursor:pointer;
    backdrop-filter: blur(3px);
    transition: all .15s ease;
    min-width:34px;
  }
  .cathlab-scope .cath-flex-controls button:hover {
    background:rgba(60,63,70,.9);
    border-color:#fbbf24;
    color:#fbbf24;
  }
  .cathlab-scope .cath-flex-controls button.active {
    background:#1e3a5f; border-color:#60a5fa; color:#bfdbfe;
  }

  /* Menu (links) en bediening (onderin) apart togglebaar - beide standaard verborgen */
  .cathlab-scope .cath-layout.menu-hidden .cath-model-sidebar { display:none !important; }
  .cathlab-scope .cath-layout.azbar-hidden .azurion-bar { display:none !important; }
  .cathlab-scope .cath-layout.menu-hidden .cath-main-col { grid-template-columns:1fr !important; }
  .cathlab-scope .cath-layout.menu-hidden .cath-flexvision { grid-column:1 / -1 !important; }
  .cathlab-scope .cath-layout.menu-hidden .azurion-bar { grid-column:1 / -1 !important; }

  /* Oefening-hint overlay bovenop het fluoro-beeld (ook zichtbaar als menu dicht is) */
  .cathlab-scope .cath-exercise-overlay {
    position:absolute;
    top:14px;
    left:50%;
    transform:translateX(-50%);
    max-width:75%;
    background:rgba(0,0,0,0.62);
    color:#fbbf24;
    padding:8px 14px;
    border-radius:6px;
    font-size:13px;
    text-align:center;
    z-index:4;
    pointer-events:none;
    backdrop-filter: blur(2px);
    border:1px solid rgba(251,191,36,0.35);
    line-height:1.35;
    display:none;
    box-shadow:0 4px 14px rgba(0,0,0,.45);
  }
  .cathlab-scope .cath-exercise-overlay.visible { display:block; }

  /* Volledig scherm - FlexVision vult alles */
  .cathlab-scope #cathFlexvision:fullscreen {
    width:100vw; height:100vh;
    padding:0; border-radius:0; border:none;
    background:#000;
    display:flex;
    align-items:stretch;
    justify-content:center;
  }
  .cathlab-scope #cathFlexvision:fullscreen > .cath-canvas-wrap {
    max-width:none;
    flex:1 1 auto;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .cathlab-scope #cathFlexvision:fullscreen > .cath-canvas-wrap > canvas {
    max-width:none; max-height:100vh;
    width:auto; height:100vh; aspect-ratio:1/1;
    margin:0 auto;
  }
  .cathlab-scope #cathFlexvision:fullscreen > .hemo-monitor {
    flex:0 0 460px;
    max-width:none;
    padding:14px 18px;
  }
  .cathlab-scope #cathFlexvision:fullscreen > .hemo-monitor canvas {
    max-width:none; width:100% !important;
  }
  .cathlab-scope #cathFlexvision:fullscreen .cath-flex-controls { top:14px; right:14px; }

  /* Bediening als overlay op het angio-scherm (onderin), met pan-readout eronder */
  .cathlab-scope .cath-bottom-overlay {
    position:absolute;
    left:0; right:0; bottom:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    padding:6px 12px 8px 62px;  /* linker-padding laat ruimte voor exercise-dock */
    z-index:5;
    pointer-events:none;
  }
  .cathlab-scope .cath-bottom-overlay .azurion-bar {
    grid-column:auto !important; grid-row:auto !important;
    justify-self:auto; min-width:0;
    pointer-events:auto;
    background:linear-gradient(180deg, rgba(28,30,34,.62), rgba(11,12,14,.82));
    backdrop-filter: blur(6px);
    border:1px solid rgba(100,116,139,.45);
    border-radius:10px;
    padding:5px 10px;
    display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap;
    box-shadow:0 6px 18px rgba(0,0,0,.55);
    max-width:calc(100% - 12px);
  }
  .cathlab-scope .cath-bottom-overlay .cath-info {
    position:static;
    pointer-events:auto;
    background:rgba(10,12,14,.78);
    color:#fbbf24;
    border:1px solid rgba(100,116,139,.35);
    border-radius:5px;
    padding:3px 10px;
    font-size:11.5px; font-family:monospace; font-weight:600;
    letter-spacing:.3px;
    backdrop-filter: blur(4px);
    margin:0;
    top:auto; right:auto; z-index:auto;
  }

  /* Doorschijnende overlays in fullscreen — zichtbaar zolang menu/azbar niet verborgen zijn */
  .cathlab-scope #cathFlexvision:fullscreen > .cath-model-sidebar {
    position:absolute; top:300px; left:14px;
    z-index:7;
    width:200px;
    max-height:calc(100vh - 420px);
    overflow-y:auto;
    background:rgba(20,22,26,.55);
    backdrop-filter: blur(8px);
    border:1px solid rgba(71,85,105,.5);
    border-radius:10px;
    padding:10px;
    box-shadow:0 8px 28px rgba(0,0,0,.55);
  }
  .cathlab-scope #cathFlexvision:fullscreen > .azurion-bar {
    position:absolute; left:50%; bottom:14px;
    transform:translateX(-50%);
    z-index:7;
    max-width:calc(100vw - 40px);
    background:linear-gradient(180deg, rgba(28,30,34,.55), rgba(11,12,14,.72));
    backdrop-filter: blur(8px);
    border:1px solid rgba(71,85,105,.5);
    border-radius:12px;
    box-shadow:0 10px 32px rgba(0,0,0,.6);
    padding:8px 14px;
  }
  /* Zorg dat de hemo-monitor in FS niet onder de bottom-bar wegvalt */
  .cathlab-scope #cathFlexvision:fullscreen > .hemo-monitor { padding-bottom:120px; }
  /* Hover-dock links onder in beeld voor snelle toegang tot oefeningen */
  .cathlab-scope .cath-exercise-dock {
    position:absolute; bottom:14px; left:14px;
    z-index:5;
    pointer-events:auto;
    font-family:inherit;
  }
  .cathlab-scope .cath-exercise-dock .dock-btn {
    background:rgba(20,22,26,.78);
    color:#fbbf24;
    border:1px solid rgba(251,191,36,.45);
    border-radius:50%;
    width:38px; height:38px;
    padding:0;
    font-size:22px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    backdrop-filter: blur(4px);
    box-shadow:0 4px 14px rgba(0,0,0,.45);
    display:flex; align-items:center; justify-content:center;
  }
  .cathlab-scope .cath-exercise-dock:hover .dock-btn, .cathlab-scope .cath-exercise-dock.open .dock-btn {
    background:rgba(30,58,95,.92);
    border-color:#60a5fa;
    color:#bfdbfe;
  }
  .cathlab-scope .cath-exercise-dock .dock-menu {
    position:absolute;
    left:0; bottom:calc(100% + 8px);
    display:none;
    flex-direction:column;
    gap:4px;
    min-width:210px;
    background:rgba(18,20,24,.88);
    border:1px solid rgba(100,116,139,.55);
    border-radius:8px;
    padding:7px;
    backdrop-filter: blur(8px);
    box-shadow:0 8px 24px rgba(0,0,0,.6);
  }
  /* Onzichtbare brug over de 8px gap zodat :hover niet afbreekt bij muis van knop → menu */
  .cathlab-scope .cath-exercise-dock .dock-menu::after {
    content:'';
    position:absolute;
    left:0; right:0; bottom:-10px; height:12px;
  }
  .cathlab-scope .cath-exercise-dock:hover .dock-menu, .cathlab-scope .cath-exercise-dock.open .dock-menu { display:flex; }
  /* Na selectie blijft de dock "force-closed" tot muis er weer over beweegt */
  .cathlab-scope .cath-exercise-dock.force-closed .dock-menu { display:none !important; }
  .cathlab-scope .cath-exercise-dock .dock-menu button {
    background:#334155;
    color:#f1f5f9;
    border:1px solid #475569;
    border-radius:5px;
    padding:8px 10px;
    font-size:12px;
    cursor:pointer;
    text-align:left;
    letter-spacing:.2px;
  }
  .cathlab-scope .cath-exercise-dock .dock-menu button:hover {
    border-color:#fbbf24;
    background:#3f516b;
    color:#fde4c4;
  }
  .cathlab-scope .cath-exercise-dock .dock-menu .dock-stop {
    background:#1a1f26; color:#94a3b8; font-size:11px; margin-top:2px;
  }
  .cathlab-scope .cath-exercise-dock .dock-menu .dock-sep {
    height:1px; background:rgba(100,116,139,.3); margin:3px 0;
  }
  /* === CATHLAB END === */
/* =========================================================
   Site-integratie: licht-thema overrides (past bij CRZ-site)
   ========================================================= */
.cathlab-scope {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --panel2: #eef2f7;
  --text: #1a2638;
  --muted: #5a6b7b;
  --accent: #00B5DD;
  --ok: #2a9d63;
  --warn: #e67e22;
  --bad: #ef4444;
  --art: #ef4444;
  --ven: #498DC7;

  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #dce4ee;
  box-shadow: 0 2px 8px rgba(10,61,122,.10);
  margin-top: 18px;
}

/* Panelen krijgen een randje + zachtere schaduw (ipv pure dark vlakken) */
.cathlab-scope .panel,
.cathlab-scope .card {
  background: var(--panel);
  border: 1px solid #dce4ee;
  box-shadow: 0 1px 3px rgba(10,61,122,.06);
}
.cathlab-scope .panel h2,
.cathlab-scope .card h2,
.cathlab-scope h2 { color: #0a3d7a !important; }
.cathlab-scope h1 { color: #0a3d7a; }

/* App-header verbergen (onze site heeft al een header) */
.cathlab-scope > header { display: none; }

/* Tabs-nav verbergen — elke module heeft zijn eigen pagina */
.cathlab-scope .main-tabs { display: none; }

/* Pages standaard verbergen; tonen afhankelijk van scope class.
   !important nodig omdat de originele app-CSS een regel heeft
   ".page.active { display:block }" die anders wint. */
.cathlab-scope .page { display: none !important; }
.cathlab-scope.show-phys #page-phys,
.cathlab-scope.show-sim  #page-sim,
.cathlab-scope.show-comp #page-comp,
.cathlab-scope.show-pv   #page-pv,
.cathlab-scope.show-cath #page-cath { display: block !important; }

/* Fysiologie-only: verberg de quiz-sectie (die wordt bij pageload gewrapped) */
.cathlab-scope.fys-only .cathlab-quiz-section { display: none !important; }

/* Quiz-only: verberg alles in het linkerpaneel behalve de quiz-sectie */
.cathlab-scope.quiz-only #physPanel > *:not(.cathlab-quiz-section) { display: none !important; }
.cathlab-scope.quiz-only #physPanel > .cathlab-quiz-section > :first-child { margin-top: 0; }

/* Knoppen volgen onze primary-kleur i.p.v. donker */
.cathlab-scope .btn-primary {
  background: #0a3d7a;
  color: #fff;
  border-color: #0a3d7a;
}
.cathlab-scope .btn-primary:hover { background: #062a57; }

/* Range-sliders met accent-kleur van de site */
.cathlab-scope input[type=range] { accent-color: #00B5DD; }


/* =========================================================
   Breedte-optimalisatie: centrale figuur moet lucht krijgen
   ========================================================= */

/* Alleen op pagina's die de cathlab-app insluiten, mag <main>
   breder zijn dan de standaard 1100px van de site. Body:has()
   is ruim ondersteund in moderne browsers (Chrome 105+, Safari,
   Firefox 121+). Op oudere browsers valt het simpelweg terug
   op de standaardbreedte. */
body:has(.cathlab-scope) main {
  max-width: 1500px;
}

/* Kolombreedtes compacter maken: zo krijgt de middenkolom
   (diagram-wrap) bij gelijke schermbreedte ~200-400px extra. */
.cathlab-scope .container {
  grid-template-columns: 270px 1fr 290px;
  padding: 16px;
  gap: 14px;
  /* De originele min-height van 100vh-60px hield geen rekening
     met onze eigen header/nav; wat kleiner maken zodat er geen
     gigantische lege ruimte onderaan verschijnt. */
  min-height: auto;
}

/* Diagram/visualisatie-kolom: geef een minimale hoogte zodat
   het hart-figuur altijd ruim zichtbaar is. */
.cathlab-scope .diagram-wrap {
  min-height: 520px;
}
.cathlab-scope .diagram-wrap > svg,
.cathlab-scope .diagram-wrap > canvas {
  width: 100%;
  height: auto;
  max-height: 70vh;
}

/* Op nóg bredere schermen: geef de middenkolom nog ruimere
   kolommen, want het hart-figuur is het belangrijkste element. */
@media (min-width: 1400px) {
  .cathlab-scope .container {
    grid-template-columns: 280px 1fr 300px;
  }
}

/* Smallere schermen (tablet/mobiel) — blijf netjes stapelen.
   De bestaande @media (max-width:1280px) regel doet dit al,
   maar zorg dat onze padding dan wat lichter is. */
@media (max-width: 1280px) {
  .cathlab-scope .container { padding: 12px; gap: 10px; }
}


/* =========================================================
   Hart-diagram: oorspronkelijk donker ontwerp behouden zodat
   de SVG leesbaar blijft (rectangles zijn donker, text gebruikt
   var(--text) die in dit gebied licht moet zijn).
   ========================================================= */
.cathlab-scope .diagram-wrap {
  --bg: #0f172a;
  --panel: #1e293b;
  --text: #f1f5f9;
  --muted: #94a3b8;
  background: #0f172a;
  color: #f1f5f9;
  border: 1px solid rgba(255,255,255,.06);
}

/* Subtiel kader om het donkere blok, past beter bij de lichte context */
.cathlab-scope .diagram-wrap {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

/* Zelfde principe voor cathlab-canvas (3D-view): donker ontwerp is juist wenselijk */
.cathlab-scope .cath-flexvision,
.cathlab-scope .cath-canvas-wrap,
.cathlab-scope #cathCanvas,
.cathlab-scope #cathCanvas3D {
  --text: #f1f5f9;
  --muted: #94a3b8;
}


/* =========================================================
   Value-cards donker — in lijn met het centrale hart-diagram
   ========================================================= */

/* De val-cards zijn de kleine blokjes met drukmetingen (MAP, RR, SPAP, ...) —
   die waren licht-grijs en maakten het geheel onrustig. Donker met lichte
   cijfers past bij het SVG-hart en maakt ze prominenter leesbaar. */
.cathlab-scope .val-card {
  background: #1e293b;
  color: #f1f5f9;
  border: 1px solid rgba(255,255,255,.06);
  padding: 8px 10px;
}
.cathlab-scope .val-card .k {
  color: #94a3b8;
  font-size: 10.5px;
  letter-spacing: .3px;
}
.cathlab-scope .val-card .v {
  color: #f1f5f9;
  font-size: 15px;
  font-weight: 600;
}

/* Status-gekleurde borders (ok/warn/bad) mogen blijven, maar iets dimmer op donker */
.cathlab-scope .val-card.ok   { border-left: 3px solid #22c55e; }
.cathlab-scope .val-card.warn { border-left: 3px solid #f59e0b; }
.cathlab-scope .val-card.bad  { border-left: 3px solid #ef4444; }

/* De 'explain'-tekst boven de val-cards staat ook op het rechter paneel —
   bewust licht laten zodat het paneel niet overal donker wordt. */

/* Compensatie-cards in het Compensatie-tab gebruiken dezelfde stijl */
.cathlab-scope #compMetrics .val-card,
.cathlab-scope #compMeds    .val-card {
  background: #1e293b;
  color: #f1f5f9;
}

/* Kleine extra: PV-loops en andere numerieke weergaves met id v-* of eindigend op Disp
   — dit is defensief, pak ze mee als ze ergens visueel uit de toon vallen. */
.cathlab-scope [id^="v-"] { color: inherit; }


/* =========================================================
   Donkere panels — consistentie met het diagram
   ========================================================= */

/* Alle panels iets donkerder maken zodat de app als geheel
   samenhangend oogt met het hart-diagram in het midden. */
.cathlab-scope .panel {
  /* Kleurstelling van de hero-gradiënt: diep site-navy met subtiele verloop */
  background: linear-gradient(135deg, #0a3d7a 0%, #062a57 100%);
  color: #e5e7eb;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 2px 8px rgba(6,42,87,.25);
}

/* Tekst binnen panels: licht */
.cathlab-scope .panel label,
.cathlab-scope .panel .slider-row label,
.cathlab-scope .panel p,
.cathlab-scope .panel span,
.cathlab-scope .panel .explain {
  color: #e5e7eb;
}

/* Koppen op panels: lichtblauw accent (ipv donkerblauw dat nu onleesbaar wordt) */
.cathlab-scope .panel h2 { color: #7dd3fc !important; }
.cathlab-scope .panel h3 { color: #cbd5e1; }

/* Quiz — leesbaarheid op de donkere buttons forceren */
.cathlab-scope .quiz-q { color: #f1f5f9; background: #1e293b; }
.cathlab-scope .quiz-options button {
  color: #f1f5f9 !important;
  background: #1e293b;
  border: 1px solid #475569;
}
.cathlab-scope .quiz-options button:hover { border-color: #00B5DD; background: #334155; }
.cathlab-scope .quiz-options button.correct { background: #14532d; color: #bbf7d0 !important; }
.cathlab-scope .quiz-options button.wrong   { background: #7f1d1d; color: #fecaca !important; }
.cathlab-scope .quiz-feedback { color: #f1f5f9; }
.cathlab-scope .quiz-feedback.good { color: #bbf7d0; background: #14532d; }
.cathlab-scope .quiz-feedback.bad  { color: #fecaca; background: #7f1d1d; }

/* Slider value-display blijft duidelijk blauw */
.cathlab-scope .slider-row label .val { color: #38bdf8; }

/* Behandelmodaliteiten / presets — leesbare donkere buttons */
.cathlab-scope .presets button,
.cathlab-scope .treatments button {
  background: #1e293b;
  color: #e5e7eb;
  border: 1px solid #475569;
}
.cathlab-scope .presets button:hover,
.cathlab-scope .treatments button:hover {
  background: #334155;
  border-color: #00B5DD;
}
.cathlab-scope .treatments button.active { background: #10b981; color: #0f172a; border-color: #10b981; font-weight: 600; }

/* Primary button: site-cyan met donkere tekst — springt eruit op donker paneel */
.cathlab-scope .btn-primary {
  background: #00B5DD;
  color: #0f172a;
  border-color: #00B5DD;
  font-weight: 600;
}
.cathlab-scope .btn-primary:hover { background: #0891b2; }

/* Secondary / sliders-toggle / reset: subtiel donker */
.cathlab-scope .btn-secondary,
.cathlab-scope .slider-toggle-btn {
  background: #1e293b;
  color: #e5e7eb;
  border: 1px solid #475569;
}
.cathlab-scope .btn-secondary:hover,
.cathlab-scope .slider-toggle-btn:hover { background: #334155; border-color: #00B5DD; }

/* Actieve medicatie-weergave (groene 'tx-active' box) */
.cathlab-scope .tx-active { color: #86efac; background: #052e16; border: 1px solid #14532d; }

/* Explain-text blok boven de val-cards */
.cathlab-scope #explainText { color: #e5e7eb; background: #1e293b; border: 1px solid rgba(255,255,255,.06); }

/* Verplaatste treatments-sectie: scheidslijn aan de onderkant */
.cathlab-scope .cathlab-treatments-section {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Val-cards op donker paneel: nog iets donkerder voor laagjes-effect */
.cathlab-scope .val-card {
  background: #1e293b;
}


/* =========================================================
   Quiz-sectie in het rechter paneel — visuele scheidslijn
   ========================================================= */
.cathlab-scope .cathlab-quiz-section {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}


/* =========================================================
   Contrast in donkere panels — losse oude variabelen fixen
   ========================================================= */

/* Binnen een donker .panel moet var(--muted) en var(--text) een
   lichte waarde krijgen. De oude app-regels gebruiken die overal
   (derived-row, legend, val-card .k, enz.) — zo werken die allemaal
   automatisch met goed contrast. */
.cathlab-scope .panel {
  --text: #f1f5f9;
  --muted: #94a3b8;
  --panel: #1e293b;     /* voor geneste .val-card enz. die var(--panel) gebruiken */
  --panel2: #334155;
  --accent: #38bdf8;    /* slider-value en kop-accent */
}

/* Expliciete fallbacks voor regels die niet via variabelen gaan */
.cathlab-scope .panel .legend { color: #94a3b8; }
.cathlab-scope .panel .legend .ref { color: #e5e7eb; }
.cathlab-scope .panel .derived-row { border-bottom-color: rgba(255,255,255,.10); }
.cathlab-scope .panel .derived-row .k { color: #94a3b8; }
.cathlab-scope .panel .derived-row .v { color: #f1f5f9; }
.cathlab-scope .panel .pv-legend { color: #94a3b8; }

/* Extra leesbaarheid van kleine secondary texts */
.cathlab-scope .panel .quiz-q { color: #f1f5f9; background: #1e293b; border: 1px solid #334155; }

/* Referentiewaarden / extra tabellen die in de panels kunnen staan */
.cathlab-scope .panel table,
.cathlab-scope .panel td,
.cathlab-scope .panel th,
.cathlab-scope .panel li {
  color: #e5e7eb;
}
.cathlab-scope .panel th { color: #7dd3fc; }
.cathlab-scope .panel td.k,
.cathlab-scope .panel .row .k { color: #94a3b8; }

/* Geforceerde leesbaarheid van alle button-teksten binnen panels */
.cathlab-scope .panel button { color: inherit; }
.cathlab-scope .panel button:not(.btn-primary):not(.active) {
  color: #e5e7eb;
}


/* Scenarios-sectie in linker paneel krijgt dezelfde visuele scheiding */
.cathlab-scope .cathlab-scenarios-section {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

/* In het linker paneel, laat de h2-kopjes wat meer ademen zodat de
   ordening scenarios → medicatie → sliders → afgeleide keten helder is */
.cathlab-scope #physPanel > h2,
.cathlab-scope #physPanel > .cathlab-scenarios-section > h2:first-child,
.cathlab-scope #physPanel > .cathlab-treatments-section > h2:first-child {
  margin-top: 6px;
}

/* Active treatment-knop: bij donker thema hogere contrast-groen */
.cathlab-scope .treatments button.active {
  background: #10b981;
  color: #0f172a;
  border-color: #10b981;
}




/* =========================================================
   Azurion-balk ONDER het beeld in non-fullscreen
   =========================================================
   De balk (.cath-bottom-overlay) zit in .cath-canvas-wrap als
   absolute overlay over de onderkant van het 3D-beeld. Bij
   inbedding in onze pagina vinden we 'm in de weg.
   Fix: buiten fullscreen maken we 'm static, waardoor hij
   in de flow van cath-canvas-wrap onder de canvas verschijnt.
   Bij fullscreen (:fullscreen op #cathFlexvision) valt de
   :not() weg en is het oorspronkelijke gedrag terug. */

.cathlab-scope #cathFlexvision:not(:fullscreen) .cath-bottom-overlay {
  position: static;
  padding: 10px 6px 2px 6px;        /* geen grote linker-inspring meer nodig */
  pointer-events: auto;
  margin-top: 6px;
}

/* Balk-styling iets rustiger maken: de donker-glassy look was vooral nodig
   om het te laten contrasteren tegen het fluoro-beeld. Onder het beeld
   mag het strakker. */
.cathlab-scope #cathFlexvision:not(:fullscreen) .cath-bottom-overlay .azurion-bar {
  background: linear-gradient(180deg, #1e293b, #0f172a);
  backdrop-filter: none;
  border: 1px solid rgba(100,116,139,.35);
  box-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.cathlab-scope #cathFlexvision:not(:fullscreen) .cath-bottom-overlay .cath-info {
  background: #0f172a;
  border: 1px solid rgba(100,116,139,.35);
}

/* Zorg dat de wrap geen overflow:hidden heeft dat de balk afkapt */
.cathlab-scope #cathFlexvision:not(:fullscreen) .cath-canvas-wrap {
  overflow: visible;
}
