  /* ===== THEME ===== */


  :root{
    --PrimaryColor:#F5F5FA;
    --SecondaryColor:#E7EBF4;
    --bg:var(--SecondaryColor);
    --dock:var(--PrimaryColor);
    --dock-border:#c8d1df;
    --bezel:#e2e8f2;
    --txt:#1f2937;
    --txt-strong:#0f172a;
    --txt-soft:#64748b;
    --text:var(--txt);
    --muted:var(--txt-soft);
    --card:var(--PrimaryColor);
    --surface:#ffffff;
    --surface-soft:#edf2f8;
    --surface-strong:#dde5f0;
    --accent:#36c2ff;
    color-scheme:light;
    --wave-h: clamp(118px, 12.8dvh, 200px);
    --ecg-chart-gap: clamp(8px, 1.4vh, 18px);
    --vitals-w: clamp(150px, 15vw, 260px);
    --left-rail-w: clamp(calc(250px * 1.2), calc(19vw * 1.2), calc(360px * 1.2));
    --control-dock-w: clamp(313px, 25vw, 425px);
    --sim-gap: clamp(10px, 1vw, 16px);
    --main-lower-gap: clamp(10px, 1vh, 12px);
    --support-column-w: clamp(calc(136px * 1.265), calc(10.4vw * 1.265), calc(196px * 1.265));
    --sim-side-gutter-design: 19.2px;
    --topbar-scale:0.8;
    --topbar-h: clamp(70px, 8dvh, 86px);
    --col-ecg:#1FBB27;
    --col-pleth:#89D5EF;
    --col-abp:#DE4F51;
    --col-map:#ffd60a;
    --col-bis:#ffcc00;
  }

  /* ТІЛЬКИ для панелі препаратів */
#drugPanel .field{
  display: grid;            /* можна й flex, але grid ок */
  grid-template-columns: 1fr; /* одна колонка: все стає в стовпчик */
  gap: 6px;                 /* невеликий вертикальний відступ */
}
#drugPanel .field label{
  margin: 0;                /* чисто, без зайвих відступів */
}
#drugPanel .field input,
#drugPanel .field select,
#drugPanel .field button{
  width: 100%;              /* елементи розтягуються по ширині */
}

  html,body{
    height:100%; margin:0; background:var(--bg); color:var(--txt);
    font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans";
  }
  body{
    min-height:100dvh;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    align-items:stretch;
    gap:var(--sim-gap);
    padding:var(--sim-gap);
    box-sizing:border-box;
    overflow:hidden;
  }
  body.trends-modal-open{
    overflow:hidden;
  }

.sim-topbar{
  width:calc(100% - var(--control-dock-w) - var(--sim-gap));
  max-width:calc(1920px - var(--control-dock-w) - var(--sim-gap));
  margin:0;
  justify-self:start;
  padding:0;
  box-sizing:border-box;
  height:var(--topbar-h);
  min-height:var(--topbar-h);
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:0;
  border:1px solid #d8dfeb;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 10px 26px rgba(100,116,139,.14);
  overflow:hidden;
}
.sim-topbar-row{
  width:100%;
  max-width:1920px;
  margin:0 auto;
  display:flex;
  align-items:stretch;
  gap:var(--sim-gap);
}
.control-dock-ad--top{
  width:var(--control-dock-w);
  min-width:var(--control-dock-w);
  max-width:var(--control-dock-w);
  flex:0 0 var(--control-dock-w);
  box-sizing:border-box;
}
.sim-topbar-section{
  min-width:0;
  padding:13px 19px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  gap:10px;
  background:transparent;
  flex:0 0 auto;
  z-index:1;
}
.sim-topbar-section + .sim-topbar-section::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:1px;
  background:#BEC2CA;
  pointer-events:none;
  z-index:0;
}
.sim-topbar-section--logo{
  flex-basis:clamp(66px, 4.8vw, 80px);
  justify-content:center;
}
.sim-topbar-logo-link{
  color:inherit;
  cursor:pointer;
  text-decoration:none;
}
.sim-topbar-logo-link:focus-visible{
  outline:2px solid rgba(88, 117, 217, .65);
  outline-offset:-4px;
}
.sim-topbar-section--welcome{
  flex-basis:clamp(112px, 10.4vw, 144px);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:2px;
}
.sim-topbar-profile-link{
  color:inherit;
  cursor:pointer;
  text-decoration:none;
}
.sim-topbar-profile-link:focus-visible{
  outline:2px solid rgba(88, 117, 217, .65);
  outline-offset:-4px;
}
.sim-topbar-section--score{
  flex-basis:clamp(126px, 11.2vw, 152px);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.sim-topbar-section--timer{
  flex:0 0 auto;
  margin:0 16px;
}
.sim-topbar-timer-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:53px;
  min-width:106px;
  padding:0 19px;
  box-sizing:border-box;
  border:1px solid #d6dbe5;
  border-radius:11px;
  background:#ffffff;
}
.sim-topbar-section--scale{
  flex:0 0 auto;
  width:max-content;
}
.sim-topbar-section--scale::before{
  z-index:0;
}
.sim-topbar-section--trends{
  flex:0 0 auto;
  width:max-content;
}
.sim-topbar-section--hint{
  flex:0 0 auto;
  width:max-content;
}
.sim-topbar-section--icon{
  flex-basis:clamp(60px, 4vw, 66px);
  padding-inline:14px;
}
.sim-topbar-welcome{
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  color:#6f7a89;
}
.sim-topbar-username,
.sim-topbar-rank,
.sim-topbar-value{
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.15;
  color:#213041;
}
.sim-topbar-label,
.sim-topbar-scale-title{
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  color:#6f7a89;
}
.sim-topbar-value{
  font-size:21px;
  letter-spacing:.04em;
}
.sim-topbar-stars{
  display:flex;
  align-items:center;
  gap:3px;
}
.sim-topbar-star{
  width:14px;
  height:14px;
  object-fit:contain;
  display:block;
}
.sim-topbar-action,
.sim-topbar-control-btn,
.sim-topbar-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:53px;
  padding:0 13px;
  border:1px solid #d6dbe5;
  border-radius:11px;
  background:#F8F7FC;
  color:#213041;
  font-size:11px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  position:relative;
  z-index:1;
}
.sim-topbar-section--timer .sim-topbar-value{
  color:#213041;
  font-size:31px;
}
.sim-topbar-action{
  min-width:100%;
}
#topbarTrendsBtn{
  min-width:100%;
  width:100%;
}
.sim-topbar-control-btn,
.sim-topbar-icon-btn{
  width:42px;
  min-width:42px;
  padding:0;
}
.sim-topbar-control-btn{
  width:53px;
  min-width:53px;
  min-height:53px;
}
.sim-topbar-icon-btn{
  min-height:53px;
}
.sim-topbar-control-btn{
  background:#ffffff;
}
.sim-topbar-action-icon,
.sim-topbar-control-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
.sim-topbar-action:active,
.sim-topbar-control-btn:active,
.sim-topbar-icon-btn:active{
  transform:translateY(1px);
}

#topbarLanguageBtn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:4px 0;
}

#topbarLanguageBtn .sim-topbar-action-icon{
  width:14px;
  height:14px;
}

.sim-topbar-language-code{
  font-size:9px;
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  color:inherit;
}
.sim-topbar-scale{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  width:max-content;
  position:relative;
  z-index:1;
}
.sim-topbar-scale-options{
  display:grid;
  grid-template-columns:repeat(3, max-content);
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
}
.sim-topbar-scale-options .third-width{
  flex:0 0 auto;
  min-height:0;
  min-width:0;
  padding:6px 8px;
  font-size:7px;
  border-radius:10px;
}
.logo-image{
    width:clamp(50px, 4vw, 69px);
    height:clamp(50px, 4vw, 69px);
    object-fit:contain;
    display:block;
}
@media (max-width: 1100px){
  .sim-topbar{
    width:100%;
    max-width:1920px;
    padding:0 10px;
    flex-wrap:wrap;
  }
}
@media (max-width: 700px){
  .sim-topbar{
    width:100%;
    min-height:0;
  }
  .sim-topbar-section{
    flex-basis:100%;
    justify-content:flex-start;
  }
  .sim-topbar-section + .sim-topbar-section::before{
    display:none;
  }
}

  /* ===== LAYOUT: monitor сверху, panel снизу ===== */
/* ===== ДВІ КОЛОНКИ: клініка | монітор ===== */
.app{
  display:grid;
  grid-template-columns: var(--left-rail-w) minmax(0, 1fr) var(--control-dock-w);
  grid-template-rows:minmax(0, 1fr) auto;
  column-gap:var(--sim-gap);
  row-gap:0;
  padding:0;
  box-sizing:border-box;
  width:100%;
  max-width:1920px;
  margin: 0 auto;
  height:100%;
  min-height:0;
}
.app > *{ min-width:0; min-height:0; }
.app > main{
  grid-column:2;
  grid-row:1 / span 2;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0, 1.62fr) minmax(0, 1fr);
  gap:clamp(10px, 1vh, 12px);
}
@media (max-width: 1280px){
  .sim-topbar{
    width:calc(100% - clamp(220px, 24vw, 290px) - var(--sim-gap));
    max-width:calc(1920px - clamp(220px, 24vw, 290px) - var(--sim-gap));
  }
  .app{
    grid-template-columns: clamp(220px, 22vw, 300px) minmax(0, 1fr) clamp(220px, 24vw, 290px);
  }
}
@media (max-width: 1100px){
  body{
    display:block;
    overflow:auto;
    padding:12px;
  }
  .sim-topbar{
    margin:0 auto 12px;
  }
  .sim-topbar-row{
    display:block;
  }
  .control-dock-ad--top{
    width:100%;
    margin:0 auto 12px;
  }
  .app{
    height:auto;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    gap:12px;
  }
  .app > main,
  .left-rail,
  .control-dock,
  .blood-tests-panel{
    grid-column:auto;
    grid-row:auto;
    height:auto;
  }
  .app > main{
    grid-template-rows:auto auto;
  }
}
.left-rail{
  grid-column:1;
  grid-row:1 / span 2;
  min-height:0;
  height:100%;
  display:grid;
  grid-template-rows:minmax(0, 1fr) minmax(0, 0.306fr) minmax(0, 1.68fr) auto minmax(0, 3fr);
  gap:clamp(10px, 1vh, 14px);
  align-self:stretch;
}
.left-rail-panel--scenario,
.left-rail-panel--defib{
  display:flex;
  flex-direction:column;
}
.left-rail-subpanel{
  min-height:0;
  border:1px solid #1f2a34;
  border-radius:12px;
  background:rgba(8, 12, 18, .42);
  overflow:hidden;
}
.left-rail-subpanel > .left-rail-subpanel-title{
  padding:clamp(10px, 1vh, 14px) clamp(12px, 1vw, 16px) 0;
  box-sizing:border-box;
}
.left-rail-subpanel > .left-rail-subpanel-divider{
  margin:8px clamp(12px, 1vw, 16px) 10px;
}
.left-rail-subpanel-header{
  padding:clamp(10px, 1vh, 14px) clamp(12px, 1vw, 16px) 0;
  box-sizing:border-box;
  background-color: #F5F5FA;
}
.left-rail-subpanel--scenario{
  min-height:0;
}
.left-rail-subpanel-title{
  margin:0;
  padding:0;
  color:#d7e0ea;
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; 
}
.left-rail-subpanel-divider{
  height:1px;
  margin:8px 0 10px;
  background:#BEC2CA;
}
.left-rail-subpanel--visual,
.left-rail-subpanel--dx{
  display:flex;
  align-items:flex-start;
}
.left-rail-subpanel--visual{
  flex-direction:column;
  min-height:0;
}
.left-rail-visual-body{
  flex:1;
  width:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px clamp(12px, 1vw, 16px) clamp(12px, 1vh, 16px);
  box-sizing:border-box;
}
.left-rail-visual-image{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}
.infusion-visual-panel .left-rail-visual-body{
  --visual-image-x-margin:clamp(8px, 1vw, 16px);
  --visual-image-bottom-margin:clamp(8px, 1vw, 16px);
  background: #F5F5FA;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-rows:auto minmax(0, 1fr);
  padding:0;
  overflow:hidden;
}
.infusion-visual-panel .left-rail-visual-image{
  position:relative;
  grid-column:1;
  grid-row:2;
  z-index:0;
  width:calc(100% - var(--visual-image-x-margin) - var(--visual-image-x-margin));
  height:calc(100% - var(--visual-image-bottom-margin));
  margin:0 var(--visual-image-x-margin) var(--visual-image-bottom-margin);
  max-width:none;
  max-height:none;
  object-fit:cover;
  border-radius:18px;
  overflow:hidden;
}
.infusion-visual-panel .left-rail-visual-overlay{
  position:relative;
  grid-column:1;
  grid-row:2;
  width:calc(100% - var(--visual-image-x-margin) - var(--visual-image-x-margin));
  height:calc(100% - var(--visual-image-bottom-margin));
  margin:0 var(--visual-image-x-margin) var(--visual-image-bottom-margin);
  object-fit:cover;
  pointer-events:none;
  z-index:1;
  padding-left: 10px;
  border-radius:18px;
}
.infusion-visual-health{
  position:relative;
  grid-column:1;
  grid-row:1;
  z-index:3;
  display:grid;
  grid-template-columns:clamp(18px, 1.7vw, 28px) minmax(0, 1fr) minmax(clamp(58px, 5vw, 86px), clamp(68px, 6.5vw, 104px));
  align-items:center;
  gap:clamp(5px, .6vw, 9px);
  min-height:clamp(27px, 2.8vw, 42px);
  width:calc(100% - clamp(16px, 2vw, 28px));
  margin:clamp(8px, 1.1vw, 16px) auto clamp(6px, .8vw, 12px);
  padding:clamp(3px, .45vw, 6px) clamp(6px, .7vw, 10px);
  box-sizing:border-box;
  background:rgba(245,245,250,.94);
  border-radius:18px;
  pointer-events:none;
}
.infusion-visual-health-icon{
  width:100%;
  aspect-ratio:1;
  display:block;
  object-fit:contain;
}
.infusion-visual-health-track{
  position:relative;
  height:clamp(16px, 2vw, 28px);
  min-width:0;
  overflow:hidden;
  background:#053e27;
  border-radius:999px;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.2);
}
.infusion-visual-health-fill{
  width:var(--health-percent, 85%);
  height:100%;
  box-sizing:border-box;
  background:#10ba75;
  border:3px solid #1e9bff;
  border-radius:999px;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.24);
  transition:width .35s ease, background-color .35s ease, border-color .35s ease;
}
.infusion-visual-health-value{
  min-width:0;
  max-width:100%;
  justify-self:stretch;
  color:#344052;
  font-size:clamp(12px, 1.15vw, 18px);
  font-weight:800;
  line-height:1;
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.infusion-visual-health.is-warning .infusion-visual-health-fill{
  background:#f5b942;
  border-color:#ffcf64;
}
.infusion-visual-health.is-danger .infusion-visual-health-fill{
  background:#e4473d;
  border-color:#ff7972;
}
.infusion-visual-bis{
  position:relative;
  grid-column:1;
  grid-row:2;
  align-self:start;
  justify-self:end;
  top:clamp(10px, 1.4vw, 24px);
  right:30px;
  display:grid;
  justify-items:end;
  gap:4px;
  padding:0;
  background:transparent;
  border-radius:10px;
  z-index:2;
}
.infusion-visual-bis .label{
  font-size:6px;
  font-weight:700;
  line-height:1.1;
  color:#64748b;
}
.infusion-visual-bis .value{
  padding:5px;
  background:#B1B6B6;
  border:5px solid #E0E3E4;
  border-radius:10px;
  font-size:clamp(14px, 1.4vw, 20px);
  font-weight:700;
  line-height:1;
  color:#FFFFFF;
  -webkit-text-stroke:1px #000000;
  paint-order:stroke fill;
  text-shadow:none;
}
.treatment-success-modal,
.patient-death-modal{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:clamp(24px, 5vw, 70px);
  box-sizing:border-box;
  background:rgba(15,23,42,.18);
}
.treatment-success-modal[hidden],
.patient-death-modal[hidden]{
  display:none !important;
}
body.patient-death-screen-alert::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1700;
  pointer-events:none;
  border:6px solid rgba(255,47,69,.95);
  box-sizing:border-box;
  box-shadow:
    inset 0 0 28px 12px rgba(255,47,69,.62),
    inset 0 0 76px 24px rgba(185,28,28,.36),
    0 0 34px rgba(255,47,69,.48);
  animation:patient-death-screen-pulse 1.1s ease-in-out infinite;
}
@keyframes patient-death-screen-pulse{
  0%,
  100%{
    opacity:.72;
  }
  50%{
    opacity:1;
  }
}
.sim-xp-float{
  position:fixed;
  z-index:2600;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  color:#25d366;
  font-size:clamp(22px, 2.6vw, 38px);
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  text-shadow:0 2px 8px rgba(0,0,0,.35), 0 0 14px rgba(37,211,102,.35);
  pointer-events:none;
  animation:sim-xp-float-up 2.8s ease-out forwards;
}
@keyframes sim-xp-float-up{
  0%{
    opacity:0;
    transform:translate(-50%, -40%) scale(.86);
  }
  15%{
    opacity:1;
    transform:translate(-50%, -50%) scale(1.08);
  }
  72%{
    opacity:1;
    transform:translate(-50%, -50%) scale(1.08);
  }
  100%{
    opacity:0;
    transform:translate(-50%, -145%) scale(.98);
  }
}
.level-card-modal{
  position:fixed;
  inset:0;
  z-index:1590;
  display:grid;
  place-items:center;
  padding:clamp(24px, 5vw, 70px);
  box-sizing:border-box;
  background:transparent;
}
.level-card-modal[hidden]{
  display:none !important;
}
.patient-stability-modal{
  position:fixed;
  inset:0;
  z-index:1580;
  display:grid;
  place-items:center;
  padding:clamp(18px, 4vw, 52px);
  box-sizing:border-box;
  background:transparent;
}
.patient-stability-modal[hidden]{
  display:none !important;
}
.patient-reward-stack{
  width:min(620px, calc(100vw - 32px));
  display:grid;
  gap:clamp(16px, 2.4vw, 26px);
  transform:translateY(-20vh);
}
.treatment-success-card{
  position:relative;
  width:min(360px, calc(100vw - 40px));
  min-height:clamp(146px, 15vw, 179px);
  margin-top:clamp(21px, 3vw, 39px);
  padding:clamp(32px, 3.5vw, 43px) clamp(21px, 2.5vw, 32px) clamp(17px, 2vw, 24px);
  box-sizing:border-box;
  border:2px solid #8DEFFF;
  border-radius:12px;
  background:#254684;
  color:#ffffff;
  box-shadow:0 18px 42px rgba(15,23,42,.28);
  text-align:center;
}
.treatment-success-card.has-breakdown{
  width:min(520px, calc(100vw - 40px));
}
.patient-death-card{
  position:relative;
  width:min(380px, calc(100vw - 40px));
  min-height:clamp(172px, 17vw, 218px);
  padding:clamp(28px, 3.4vw, 42px) clamp(22px, 2.8vw, 34px) clamp(20px, 2.4vw, 28px);
  box-sizing:border-box;
  border:2px solid #ffb4aa;
  border-radius:12px;
  background:#5f1f2a;
  color:#ffffff;
  box-shadow:0 18px 42px rgba(15,23,42,.32);
  text-align:center;
}
.patient-death-card.has-breakdown{
  width:min(540px, calc(100vw - 40px));
}
.patient-death-warning-card{
  position:relative;
  pointer-events:none;
  transform-origin:center;
  animation:vital-warning-bounce 1.55s ease-in-out infinite;
  width:min(320px, calc(100vw - 32px));
  display:grid;
  justify-items:center;
  gap:10px;
  padding:18px 22px;
  box-sizing:border-box;
  border:2px solid #ff2f45;
  border-radius:10px;
  background:#08090f;
  color:#fff;
  box-shadow:
    0 18px 44px rgba(0,0,0,.48),
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 22px rgba(255,47,69,.28);
  overflow:hidden;
  text-align:center;
}
.patient-death-warning-card h2{
  margin:0;
  color:#ffd6da;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:0;
}
.patient-death-warning-timer{
  position:relative;
  z-index:1;
  padding:0;
  border:0;
  background:transparent;
}
.patient-death-warning-timer span{
  color:#ff2f45;
  font-size:48px;
  font-weight:1000;
  line-height:.95;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 24px rgba(255,47,69,.46);
}
.level-card{
  position:relative;
  width:min(360px, calc(100vw - 40px));
  min-height:clamp(360px, 42vw, 420px);
  padding:clamp(17px, 2vw, 24px) clamp(20px, 2.4vw, 28px) clamp(24px, 3vw, 32px);
  box-sizing:border-box;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#E6E8EE;
  box-shadow:none;
  text-align:center;
  overflow:hidden;
}
.level-card::before{
  content:"";
  position:absolute;
  left:50%;
  top:clamp(7px, 1.2vw, 14px);
  width:clamp(190px, 25vw, 270px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,232,92,.68) 0%, rgba(255,207,46,.32) 34%, rgba(255,207,46,.12) 58%, transparent 72%);
  filter:blur(13px);
  opacity:.82;
  pointer-events:none;
  transform:translateX(-50%) scale(1);
  transform-origin:center;
  animation:level-card-gold-glow 1.8s ease-in-out infinite;
  z-index:0;
}
.level-card-close{
  display:none;
}
.level-card-icon{
  position:relative;
  z-index:1;
  display:block;
  width:clamp(115px, 16vw, 155px);
  height:auto;
  margin:0 auto clamp(9px, 1.2vw, 14px);
  object-fit:contain;
}
.level-card-rule,
.level-card h2,
.level-card-score-card{
  position:relative;
  z-index:1;
}
@keyframes level-card-gold-glow{
  0%, 100%{
    opacity:.58;
    transform:translateX(-50%) scale(.94);
  }
  48%{
    opacity:.98;
    transform:translateX(-50%) scale(1.22);
  }
}
.level-card-rule{
  width:100%;
  height:2px;
  background:#F7EE94;
}
.level-card h2{
  margin:clamp(13px, 1.8vw, 18px) 0 clamp(12px, 1.7vw, 18px);
  color:#E6E8EE;
  font-size:clamp(18px, 2.6vw, 29px);
  font-weight:900;
  line-height:.92;
  letter-spacing:0;
  white-space:nowrap;
}
.level-card-score-card{
  width:min(280px, 100%);
  margin:clamp(18px, 2.2vw, 24px) auto 0;
  padding:clamp(14px, 1.6vw, 18px) clamp(14px, 1.8vw, 18px);
  box-sizing:border-box;
  border:2px solid rgba(141,239,255,.5);
  border-radius:5px;
  background:#1C2B3B;
  color:#C7CFDD;
}
.level-card-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  min-height:44px;
  font-size:clamp(9px, 1.2vw, 14px);
  font-weight:800;
  line-height:1;
  text-align:left;
}
.level-card-row strong{
  color:#D6DCE6;
  font-size:1.02em;
  font-weight:900;
  text-align:right;
}
.level-card-row .level-card-xp{
  color:#D8DF73;
}
.level-card-score-divider{
  height:2px;
  margin:8px 0 6px;
  background:#D9DCE2;
}
.patient-stability-card{
  width:100%;
  min-height:clamp(76px, 10vw, 96px);
  padding:clamp(9px, 1.4vw, 14px) clamp(10px, 1.6vw, 16px);
  box-sizing:border-box;
  display:grid;
  grid-template-columns:clamp(54px, 8vw, 76px) minmax(0, 1fr) clamp(102px, 14vw, 132px);
  align-items:center;
  gap:clamp(10px, 1.6vw, 16px);
  border:0;
  background:transparent;
  color:#ffffff;
  box-shadow:none;
}
.patient-stability-icon{
  width:clamp(54px, 8vw, 76px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 42% 32%, rgba(117,194,172,.9), rgba(42,115,113,.9) 58%, rgba(18,48,63,.98) 100%);
  position:relative;
  box-shadow:0 0 18px rgba(63,222,167,.28);
}
.patient-stability-icon::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:42%;
  height:70%;
  background:#74E253;
  clip-path:polygon(48% 0, 16% 44%, 41% 44%, 24% 100%, 86% 34%, 58% 34%, 77% 0);
  transform:translate(-50%, -50%) rotate(4deg);
  filter:drop-shadow(0 0 6px rgba(116,226,83,.42));
}
.patient-stability-main{
  min-width:0;
}
.patient-stability-main h2{
  margin:0 0 clamp(3px, .6vw, 6px);
  color:#ffffff;
  font-size:clamp(18px, 2.2vw, 26px);
  font-weight:800;
  line-height:1;
  letter-spacing:0;
}
.patient-stability-track{
  position:relative;
  height:clamp(28px, 4.5vw, 42px);
  border:4px solid #1BC6FF;
  border-radius:999px;
  background:#000000;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(84,219,255,.44), inset 0 2px 4px rgba(255,255,255,.12);
}
.patient-stability-fill,
.patient-stability-boost{
  position:absolute;
  top:4px;
  bottom:4px;
  transform:none;
  transform-origin:left center;
}
.patient-stability-fill{
  left:5px;
  width:var(--patient-stability-fill, 0%);
  max-width:calc(100% - 10px);
  border-radius:999px;
  background:linear-gradient(180deg, #62D560 0%, #166924 100%);
  transition:width .7s cubic-bezier(.18, .86, .26, 1);
}
.patient-stability-boost{
  display:none;
  right:5px;
  width:clamp(18px, 8%, 34px);
  border-radius:999px;
  background:linear-gradient(180deg, #FBFFD9 0%, #D8F1A6 100%);
}
.patient-stability-modal.has-bonus .patient-stability-boost{
  display:block;
}
.patient-stability-modal.is-running.has-bonus .patient-stability-boost{
  animation:patient-stability-bonus-pulse 1.25s ease-in-out infinite;
}
@keyframes patient-stability-bonus-pulse{
  0%{
    opacity:.55;
    transform:scaleX(.72);
  }
  50%{
    opacity:1;
    transform:scaleX(1);
  }
  100%{
    opacity:.55;
    transform:scaleX(.72);
  }
}
.patient-stability-score{
  min-height:clamp(44px, 6vw, 58px);
  display:grid;
  place-items:center;
  padding:0 clamp(10px, 1.5vw, 16px);
  box-sizing:border-box;
  border:1px solid rgba(121,171,224,.38);
  border-radius:6px;
  background:linear-gradient(180deg, #1C3558 0%, #182B45 100%);
  color:#ffffff;
  font-size:clamp(12px, 1.7vw, 18px);
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  text-align:center;
}
.xp-boost-card{
  position:relative;
  width:min(373px, 72%);
  min-height:clamp(63px, 8.7vw, 85px);
  margin:0 auto;
  padding:clamp(13px, 2vw, 21px) clamp(92px, 12vw, 125px) clamp(13px, 2vw, 21px) clamp(20px, 3.3vw, 35px);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  border:3px solid rgba(117,180,209,.88);
  border-radius:12px;
  background:#31587B;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  animation:xp-boost-pulse 1.6s ease-in-out infinite;
  transform-origin:center;
}
.xp-boost-card[hidden]{
  display:none;
}
.xp-boost-title{
  color:#E6E8EE;
  font-size:clamp(23px, 4vw, 43px);
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
}
.xp-boost-cup{
  position:absolute;
  right:clamp(-9px, -1vw, -5px);
  top:50%;
  width:clamp(77px, 11.3vw, 113px);
  height:auto;
  transform:translateY(-52%);
  object-fit:contain;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.26));
  pointer-events:none;
}
@keyframes xp-boost-pulse{
  0%, 100%{
    transform:scale(1);
  }
  50%{
    transform:scale(1.035);
  }
}
.xp-booster-modal{
  position:fixed;
  inset:0;
  z-index:2650;
  display:grid;
  place-items:center;
  padding:24px;
  box-sizing:border-box;
  background:rgba(4,10,18,.22);
}
.xp-booster-modal[hidden]{
  display:none !important;
}
.xp-boost-card--booster{
  width:min(420px, calc(100vw - 40px));
  min-height:clamp(76px, 9vw, 104px);
  margin:0;
  padding-right:clamp(104px, 13vw, 136px);
  box-shadow:0 22px 48px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.12);
  opacity:0;
  transform:translateY(18px) scale(.96);
}
.xp-booster-modal.is-running .xp-boost-card--booster{
  animation:
    xp-booster-card-in 520ms cubic-bezier(.18, .86, .26, 1) forwards,
    xp-boost-pulse 1.6s ease-in-out 560ms infinite;
}
.xp-boost-multiplier{
  margin-left:12px;
  color:#ffffff;
  font-size:clamp(24px, 4.4vw, 48px);
  font-weight:900;
  line-height:1;
  letter-spacing:0;
}
.xp-booster-close{
  position:absolute;
  right:8px;
  top:7px;
  z-index:2;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#d9f9e6;
  font-size:22px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
@keyframes xp-booster-card-in{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.96);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
.treatment-success-stars{
  position:absolute;
  left:50%;
  top:0;
  width:min(285px, calc(100% - 42px));
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(0px, .25vw, 3px);
  transform:translate(-50%, -56%);
  pointer-events:none;
}
.treatment-success-star{
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.28));
  opacity:0;
  transform:translateY(12px) scale(.25) rotate(-8deg);
  animation:
    treatment-star-pop .55s cubic-bezier(.2, 1.25, .28, 1) forwards,
    treatment-star-pulse 1.45s ease-in-out infinite;
  animation-delay:var(--star-delay, 0s), calc(var(--star-delay, 0s) + .65s);
  transform-origin:center;
}
.treatment-success-star:nth-child(1){
  --star-delay:.04s;
}
.treatment-success-star:nth-child(2){
  --star-delay:.14s;
}
.treatment-success-star:nth-child(3){
  --star-delay:.24s;
}
.treatment-success-star:nth-child(4){
  --star-delay:.34s;
}
.treatment-success-star:nth-child(5){
  --star-delay:.44s;
}
@keyframes treatment-star-pop{
  0%{
    opacity:0;
    transform:translateY(12px) scale(.25) rotate(-8deg);
  }
  70%{
    opacity:1;
    transform:translateY(-4px) scale(1.12) rotate(3deg);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0deg);
  }
}
@keyframes treatment-star-pulse{
  0%, 100%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0deg);
  }
  50%{
    opacity:1;
    transform:translateY(-2px) scale(1.1) rotate(0deg);
  }
}
.treatment-success-star--small{
  width:clamp(28px, 4vw, 44px);
}
.treatment-success-star--medium{
  width:clamp(40px, 5.2vw, 58px);
}
.treatment-success-star--large{
  width:clamp(54px, 7vw, 76px);
}
.treatment-success-close{
  position:absolute;
  top:-2px;
  right:-2px;
  width:24px;
  height:24px;
  border:2px solid #8DEFFF;
  border-radius:50%;
  background:#254684;
  color:#DDFBFF;
  display:grid;
  place-items:center;
  padding:0;
  font-size:24px;
  font-weight:300;
  line-height:.8;
  cursor:pointer;
}
.treatment-success-card h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(20px, 3vw, 36px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:0;
  text-shadow:0 2px 0 rgba(132,239,255,.25);
}
.patient-death-card h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(22px, 3vw, 36px);
  font-weight:900;
  line-height:1.05;
  letter-spacing:0;
  text-shadow:0 2px 0 rgba(255,180,170,.22);
}
.treatment-success-divider{
  width:100%;
  height:2px;
  margin:clamp(7px, .8vw, 10px) auto 5px;
  background:#8DEFFF;
  opacity:.92;
}
.patient-death-divider{
  width:100%;
  height:2px;
  margin:clamp(10px, 1vw, 14px) auto clamp(11px, 1.3vw, 16px);
  background:#ffb4aa;
  opacity:.92;
}
.patient-death-reason{
  min-height:2.4em;
  margin:0 auto clamp(16px, 2vw, 24px);
  color:#ffe5e0;
  font-size:clamp(14px, 1.5vw, 18px);
  font-weight:700;
  line-height:1.2;
}
.treatment-success-score{
  width:min(290px, 100%);
  margin:0 auto clamp(14px, 1.9vw, 21px);
  padding:2px 9px 4px;
  box-sizing:border-box;
  background:#2C5CAA;
  color:#ffffff;
  font-size:clamp(20px, 3vw, 36px);
  font-weight:800;
  line-height:1;
}
.treatment-success-breakdown{
  width:100%;
  margin:0 0 16px;
  padding:10px 12px;
  box-sizing:border-box;
  border:1px solid rgba(141,239,255,.45);
  border-radius:8px;
  background:rgba(12,32,74,.42);
  text-align:left;
}
.treatment-success-breakdown[hidden]{
  display:none !important;
}
.treatment-success-breakdown-title{
  margin:0 0 8px;
  color:#ffffff;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
}
.treatment-success-breakdown-list{
  display:grid;
  gap:6px;
}
.treatment-success-breakdown-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:start;
  color:#dbeafe;
  font-size:12px;
  line-height:1.2;
}
.treatment-success-breakdown-row strong{
  color:#8DEFFF;
  font-size:13px;
  white-space:nowrap;
}
.patient-death-breakdown{
  width:100%;
  margin:0 0 16px;
  padding:10px 12px;
  box-sizing:border-box;
  border:1px solid rgba(255,180,170,.45);
  border-radius:8px;
  background:rgba(40,10,18,.42);
  text-align:left;
}
.patient-death-breakdown[hidden]{
  display:none !important;
}
.patient-death-breakdown-title{
  margin:0 0 8px;
  color:#ffe5e0;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
}
.patient-death-breakdown-list{
  display:grid;
  gap:6px;
}
.patient-death-breakdown-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:start;
  color:#ffe4e6;
  font-size:12px;
  line-height:1.2;
}
.patient-death-breakdown-row strong{
  color:#ffb4aa;
  font-size:13px;
  white-space:nowrap;
}
.treatment-success-continue{
  min-width:clamp(108px, 14vw, 140px);
  min-height:clamp(27px, 3vw, 34px);
  padding:0 14px;
  border:3px solid #8DEFFF;
  border-radius:11px;
  background:#254684;
  color:#ffffff;
  font-size:clamp(13px, 1.6vw, 19px);
  font-weight:800;
  line-height:1;
  cursor:pointer;
  animation:treatment-continue-pulse 1.25s ease-in-out infinite;
  transform-origin:center;
}
.patient-death-continue{
  min-width:clamp(112px, 15vw, 150px);
  min-height:clamp(30px, 3.2vw, 38px);
  padding:0 16px;
  border:3px solid #ffb4aa;
  border-radius:11px;
  background:#5f1f2a;
  color:#ffffff;
  font-size:clamp(13px, 1.6vw, 19px);
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
@keyframes treatment-continue-pulse{
  0%, 100%{
    transform:scale(1);
    box-shadow:none;
  }
  50%{
    transform:scale(1.07);
    box-shadow:0 0 0 4px rgba(141,239,255,.22), 0 0 16px rgba(141,239,255,.28);
  }
}
.treatment-success-close:hover,
.treatment-success-close:focus-visible,
.treatment-success-continue:hover,
.treatment-success-continue:focus-visible,
.patient-death-continue:hover,
.patient-death-continue:focus-visible,
.level-card-close:hover,
.level-card-close:focus-visible{
  outline:none;
  filter:brightness(1.08);
  box-shadow:0 0 0 3px rgba(141,239,255,.28);
}
@media (max-width: 680px){
  .treatment-success-card{
    width:min(360px, calc(100vw - 28px));
    min-height:180px;
    padding:48px 20px 24px;
    border-width:2px;
  }
  .treatment-success-stars{
    width:calc(100% - 34px);
    gap:0;
  }
  .treatment-success-card h2,
  .treatment-success-score{
    font-size:clamp(24px, 8vw, 36px);
  }
  .treatment-success-star--small{
    width:36px;
  }
  .treatment-success-star--medium{
    width:48px;
  }
  .treatment-success-star--large{
    width:60px;
  }
  .level-card{
    width:min(360px, calc(100vw - 28px));
    min-height:390px;
    padding:22px 20px 26px;
  }
  .level-card-icon{
    width:128px;
  }
  .level-card h2{
    font-size:clamp(19px, 6vw, 26px);
  }
  .level-card-score-card{
    width:100%;
  }
  .level-card-row{
    min-height:42px;
    font-size:clamp(10px, 3vw, 13px);
  }
}
.left-rail-subpanel--scenario{
  display:flex;
  flex-direction:column;
}
.left-rail-subpanel--compressions{
  min-height:0;
}
.left-rail-subpanel--defib-main{
  min-height:0;
  display:flex;
  flex-direction:column;
}
.left-rail-subpanel--vent{
  min-height:0;
  display:flex;
  flex-direction:column;
}
.left-rail-subpanel--diagnosis{
  min-height:0;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  padding:clamp(4px, .65vh, 8px);
  container-type:size;
}
.diagnosis-btn{
  width:100%;
  height:100%;
  min-height:0;
  max-width:100%;
  max-height:100%;
  box-sizing:border-box;
  border:none;
  padding:clamp(3px, .55vh, 7px) clamp(6px, .7vw, 10px);
  padding:clamp(3px, 8cqh, 7px) clamp(6px, 4cqw, 10px);
  border-radius:clamp(8px, 12cqh, 12px);
  background:#ffffff;
  color:#213041;
  font-size:clamp(12px, min(.72vw, 1.45vh), 15px);
  font-size:clamp(12px, min(5.4cqw, 26cqh), 15px);
  font-weight:800;
  letter-spacing:0;
  line-height:1.05;
  text-align:center;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  overflow-wrap:anywhere;
  white-space:normal;
}
.diagnosis-btn:hover{
  box-shadow:none;
}
.diagnosis-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(54,194,255,.22);
}
.diagnosis-btn:active{
  transform:translateY(1px);
}
.left-rail-subpanel--dx{
  min-height:0;
}
.left-rail-subpanel--compressions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
}
.compressions-widget{
  flex:1;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(8px, 1vh, 14px);
  padding:clamp(8px, 1vh, 12px);
  box-sizing:border-box;
  background:#F5F5FA;
  border-radius:12px;
}
.left-rail-subpanel--compressions.compressions-widget{
  grid-template-rows:auto auto minmax(0, 1fr);
  padding:20px clamp(8px, 1vh, 12px) 20px;
  border:2px solid transparent;
  transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.left-rail-subpanel--compressions.compressions-widget > .left-rail-subpanel-title,
.left-rail-subpanel--compressions.compressions-widget > .left-rail-subpanel-divider{
  grid-column:1 / -1;
  margin-left:0;
  margin-right:0;
  padding-left:clamp(4px, .4vw, 6px);
  padding-right:clamp(4px, .4vw, 6px);
}
.left-rail-subpanel--compressions.compressions-widget > .left-rail-subpanel-divider{
  margin-top:8px;
  margin-bottom:0;
}
.compressions-col{
  height:100%;
  min-height:0;
  display:grid;
  gap:clamp(8px, 1vh, 12px);
  align-content:space-between;
  justify-items:center;
}
.left-rail-subpanel--compressions.compressions-widget > .compressions-col{
  grid-row:1 / -1;
}
.compressions-col--primary{
  grid-template-rows:1fr;
  align-content:stretch;
  align-items:stretch;
}
.compressions-col--drugs{
  grid-template-rows:auto auto auto;
  align-content:center;
}
.compression-visual{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  align-self:stretch;
  border-radius:12px;
  overflow:hidden;
  -webkit-user-select:none;
  user-select:none;
}
.compression-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  cursor:pointer;
  border:2px solid transparent;
  border-radius:12px;
  box-sizing:border-box;
  outline:none;
  -webkit-user-drag:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action:manipulation;
}
.compression-image:focus{
  outline:none;
}
.compression-image:focus-visible{
  border-color:#36c2ff;
  box-shadow:0 0 0 2px rgba(54,194,255,.18);
}
.compression-image-hint{
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(92px, 6.2vw, 120px);
  height:clamp(92px, 6.2vw, 120px);
  transform:translate(-50%, -50%);
  border-radius:50%;
  background:rgba(255,210,74,.92);
  border:2px solid rgba(255,210,74,.96);
  box-shadow:0 0 0 2px rgba(255,210,74,.14), 0 0 24px rgba(255,210,74,.42);
  color:#213041;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  pointer-events:none;
  white-space:normal;
  animation:pump-add-drug-pulse 1.25s ease-in-out infinite;
}
.compressions-widget.is-asystole-rate-slow{
  background:#e8f3ff;
  border-color:#38a5ff;
  box-shadow:0 0 0 2px rgba(56,165,255,.18), 0 0 24px rgba(56,165,255,.34);
}
.compressions-widget.is-asystole-rate-target{
  background:#e8fff1;
  border-color:#1fbf66;
  box-shadow:0 0 0 2px rgba(31,191,102,.18), 0 0 24px rgba(31,191,102,.34);
}
.compressions-widget.is-asystole-rate-fast{
  background:#fff2df;
  border-color:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,.2), 0 0 24px rgba(245,158,11,.34);
}
.compression-image-hint[hidden],
.compression-image-hint.is-hidden{
  display:none !important;
}
.compression-btn{
  position:absolute;
  top:10px;
  left:10px;
  width:clamp(46px, 3vw, 62px);
  height:clamp(40px, 2.8vw, 54px);
  border-radius:14px;
  clip-path:polygon(50% 0%, 100% 36%, 82% 100%, 18% 100%, 0% 36%);
  background:#F5F5FA;
  border:1px solid #E5E6ED;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(0,0,0,.35);
  cursor:pointer;
  transition:transform .08s ease, box-shadow .08s ease, background .12s ease, border-color .12s ease;
}
.compression-btn:active{
  transform:translateY(2px);
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  background:linear-gradient(180deg,#2e6f98,#16374b);
  border-color:#72b1dc;
}
.compression-count{
  width:100%;
  margin:8px 0 0;
  text-align:left;
  color:#3d4655;
  font-weight:400;
  letter-spacing:0;
  font-size:16px;
  line-height:1.16;
  white-space:pre-line;
  font-variant-numeric:tabular-nums;
  margin-left: 22px;
}
.compression-drug-btn{
  width:100%;
  padding:12px 12px 12px 26px;
  border-radius:12px;
  border:none;
  background:#F8F7FC center / 100% 100% no-repeat;
  color:#ffffff;
  text-shadow:0 1px 2px rgba(5, 22, 44, .35);
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:left;
  cursor:pointer;
  transition:transform .08s ease, box-shadow .08s ease, filter .12s ease;
  font-size:9px;
}
.compression-drug-btn--blue{
  background-image:url("/static/img/blue_ampula.svg");
}
.compression-drug-btn--black{
  background-image:url("/static/img/navy_ampula.svg");
}
.compression-drug-btn--blue,
.compression-drug-btn--black{
  display:none;
}
.compression-drug-btn:hover{
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
.compression-drug-btn--blue:hover{
  box-shadow:none !important;
  border:none !important;
}
.compression-drug-btn--black:hover{
  box-shadow:none !important;
  border:none !important;
}
.compression-drug-btn:active{
  transform:translateY(2px);
  filter:brightness(.92);
}
.left-rail-panel--defib.is-wiggling{
  animation:defib-panel-wiggle .45s ease-in-out 4;
  transform-origin:center center;
}
.left-rail-panel--defib .defib-image{
  width:min(46%, 212px);
  min-width:118px;
  max-width:212px;
  height:auto;
  object-fit:contain;
  align-self:start;
  filter:drop-shadow(0 6px 10px rgba(74, 85, 104, .24));
}
.left-rail-panel--defib.defib,
.left-rail-panel--defib .defib{
  flex:0 0 auto;
  width:100%;
  min-height:auto;
  height:auto;
  display:grid;
  grid-template-rows:auto auto;
  gap:clamp(8px, .8vh, 12px);
  padding:clamp(8px, .8vh, 12px) clamp(10px, .9vw, 14px) clamp(8px, .8vh, 12px);
  box-sizing:border-box;
  background:#F5F5FA;
  border:1px solid #d8dbe4;
  border-radius:18px;
  box-shadow:0 2px 6px rgba(100,116,139,.18), inset 0 1px 0 rgba(255,255,255,.8);
  color:#394252;
}
#defibGroup{
  font-family:"Inter", "Manrope", "SF Pro Display", system-ui, sans-serif;
  background:#ffffff;
  padding-bottom:clamp(8px, .8vh, 12px);
  align-self:start;
}
.left-rail-panel--defib.defib > .left-rail-subpanel-title,
.left-rail-panel--defib.defib > .left-rail-subpanel-divider{
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
}
.left-rail-panel--defib.defib > .left-rail-subpanel-divider{
  margin-bottom:4px;
}
.left-rail-panel--defib .defib-top-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(118px, .46fr) minmax(0, .54fr);
  align-items:start;
  gap:clamp(8px, .9vw, 14px);
  align-self:start;
}
.left-rail-panel--defib .defib-readout-panel{
  min-width:0;
  container-type:inline-size;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  justify-items:end;
  align-items:start;
  gap:clamp(8px, 1.1vh, 18px);
  padding-top:2px;
}
.left-rail-panel--defib .defib-power-block{
  width:100%;
  display:grid;
  justify-items:end;
  align-items:start;
  text-align:right;
  gap:clamp(4px, .45vw, 7px);
}
.left-rail-panel--defib .defib-power-frame{
  display:grid;
  place-items:center;
  width:clamp(39px, 3.2vw, 50px);
  height:clamp(39px, 3.2vw, 50px);
  border:1px solid #1d7ce8;
  border-radius:8px;
  box-sizing:border-box;
  background:transparent;
}
.left-rail-panel--defib #defibPower{
  width:clamp(21.216px, 1.9968vw, 29.952px);
  height:clamp(21.216px, 1.9968vw, 29.952px);
  min-width:clamp(21.216px, 1.9968vw, 29.952px);
  min-height:clamp(21.216px, 1.9968vw, 29.952px);
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}
.left-rail-panel--defib #defibPower > img{
  width:100%;
  height:100%;
}
.left-rail-panel--defib #defibPower.is-active,
.left-rail-panel--defib #defibPower.on,
.left-rail-panel--defib #defibPower[aria-pressed="true"]{
  border-color:transparent;
  background:transparent;
}
.left-rail-panel--defib .defib-controls{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:clamp(8px, .9vh, 12px);
  min-height:0;
}
.left-rail-panel--defib .defib-energy-readout{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:#3b4453;
  font-size:clamp(46.44864px, 3.483648vw, 75.20256px);
  font-size:min(clamp(46.44864px, 3.483648vw, 75.20256px), 30cqw);
  font-weight:900;
  line-height:.95;
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.left-rail-panel--defib .defib-energy-unit{
  font-size:.5em;
}
.left-rail-panel--defib .defib-charge-row{
  width:100%;
  display:grid;
  grid-template-columns:clamp(74px, 22%, 86px) minmax(0, 1fr);
  align-items:center;
  gap:clamp(8px, .95vw, 14px);
}
.left-rail-panel--defib .defib-progress-wrap{
  width:100%;
  display:grid;
  gap:4px;
  padding:0 4px 0 8px;
  box-sizing:border-box;
}
.left-rail-panel--defib .defib-progress-scale{
  display:flex;
  justify-content:space-between;
  padding:0 0 0 2px;
  color:#1d7ce8;
  font-size:clamp(9px, .7vw, 12px);
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  text-shadow:0 1px 3px rgba(29,124,232,.14);
}
.left-rail-panel--defib .defib-progress{
  position:relative;
  height:clamp(13px, 1.1vh, 16px);
  border-radius:999px;
  background:#f9fcff;
  border:1px solid #9fc7ff;
  box-shadow:inset 0 1px 2px rgba(74,115,180,.08), 0 2px 8px rgba(29,124,232,.08);
  overflow:visible;
}
.left-rail-panel--defib .defib-progress::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-9px;
  height:5px;
  background:
    radial-gradient(circle at 0% 50%, rgba(80,145,232,.32) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 50%, rgba(80,145,232,.42) 0 2px, transparent 3px),
    radial-gradient(circle at 38% 50%, rgba(80,145,232,.42) 0 2px, transparent 3px),
    radial-gradient(circle at 58% 50%, rgba(80,145,232,.42) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 50%, rgba(80,145,232,.42) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 50%, rgba(80,145,232,.28) 0 2px, transparent 3px);
  pointer-events:none;
}
.left-rail-panel--defib .defib-progress-target{
  position:absolute;
  top:50%;
  left:0;
  width:clamp(13px, 1.15vw, 18px);
  height:clamp(13px, 1.15vw, 18px);
  border:1px solid #0b63d8;
  transform:translate(-50%, -50%);
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 3px 9px rgba(29,96,196,.14);
  pointer-events:none;
  z-index:3;
}
.left-rail-panel--defib .defib-progress-fill{
  position:relative;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(53,132,238,.08), rgba(53,132,238,.16));
  box-shadow:none;
  transition:width .08s linear;
}
.left-rail-panel--defib .defib-progress-fill::after{
  content:none;
}
.left-rail-panel--defib .defib-progress.is-charging .defib-progress-fill{
  background:
    linear-gradient(90deg,
      #43c16f 0%,
      #8fca5d 24%,
      #f0c84b 48%,
      #f28b42 72%,
      #e0525e 100%);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.55);
}
.left-rail-panel--defib .defib-pkm{
  width:100%;
  min-width:74px;
  max-width:86px;
  height:auto;
  aspect-ratio:1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid #cde2ff;
  padding:0 5px;
  cursor:pointer;
  user-select:none;
  overflow:hidden;
  box-shadow:0 4px 10px rgba(39,103,184,.08), inset 0 1px 0 rgba(255,255,255,.95);
}
.left-rail-panel--defib .defib-pkm::before{
  content:"1";
  color:#12ce75;
  font-size:clamp(27px, 2.4vw, 38px);
  font-weight:950;
  line-height:.9;
  letter-spacing:0;
  text-shadow:0 2px 7px rgba(18,206,117,.16);
}
.left-rail-panel--defib .defib-pkm-icon{
  width:35px;
  height:35px;
  object-fit:contain;
  flex:0 0 auto;
  display:block;
}
.left-rail-panel--defib .defib-pkm.is-held{
  background:#f8fbff;
  border-color:#93c3ff;
  box-shadow:0 0 0 2px rgba(49,126,232,.14), 0 4px 10px rgba(39,103,184,.10);
}
.left-rail-panel--defib .defib-sequence{
  width:100%;
  display:grid;
  align-items:center;
  grid-template-columns:1fr 1fr;
  gap:clamp(8px, .95vw, 14px);
  min-height:0;
  padding-left:0;
  box-sizing:border-box;
  margin-top:0;
}
.left-rail-panel--defib .defib-sequence-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 0;
  min-width:0;
  min-height:clamp(42px, 4.7vh, 60px);
  gap:clamp(8px, .85vw, 14px);
  padding:0 clamp(7px, .8vw, 12px);
  border-radius:14px;
  background:#ffffff;
  border:1px solid #cde2ff;
  color:#071449;
  box-shadow:0 4px 10px rgba(39,103,184,.08), inset 0 1px 0 rgba(255,255,255,.95);
  font-size:clamp(14px, 1.15vw, 20px);
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .12s ease, background .15s ease;
}
.left-rail-panel--defib .defib-sequence-step::before{
  font-size:clamp(27px, 2.4vw, 38px);
  font-weight:950;
  line-height:.9;
  letter-spacing:0;
}
.left-rail-panel--defib #defibChargeStep::before{
  content:"2";
  color:#ffd21a;
  text-shadow:0 2px 7px rgba(255,210,26,.20);
}
.left-rail-panel--defib #defibShockStep::before{
  content:"3";
  color:#ff2b32;
  text-shadow:0 2px 7px rgba(255,43,50,.18);
}
.left-rail-panel--defib .defib-sequence-step:hover{
  border-color:#93c3ff;
  background:#f8fbff;
}
.left-rail-panel--defib .defib-sequence-step:active{
  transform:translateY(1px);
}
.left-rail-panel--defib #defibChargeStep{
  grid-column:1;
  margin-bottom:0;
}
.left-rail-panel--defib #defibShockStep{
  grid-column:2;
}
.left-rail-panel--defib .defib-inline-divider{
  width:100%;
  height:1px;
  margin:0;
  background:#1d7ce84c;
}
.left-rail-panel--defib .defib-aux-row{
  width:100%;
  display:grid;
  grid-template-columns:auto auto auto minmax(72px, .95fr) auto minmax(58px, .72fr);
  align-items:center;
  justify-content:space-between;
  gap:clamp(4px, .45vw, 8px);
  min-height:0;
}
.left-rail-panel--defib .defib-aux-power-btn{
  position:relative;
  width:clamp(14.976px, 1.3104vw, 21.216px);
  height:clamp(14.976px, 1.3104vw, 21.216px);
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.left-rail-panel--defib .defib-aux-power-icon{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}
.defib-aux-status-light,
.vent-toggle-status-light{
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:clamp(7px, .55vw, 9px);
  height:clamp(7px, .55vw, 9px);
  pointer-events:none;
}
.defib-aux-power-btn.is-on .defib-aux-status-light,
.vent-settings-toggle.icon-toggle-btn.is-active .vent-toggle-status-light,
.vent-settings-toggle.icon-toggle-btn[aria-pressed="true"] .vent-toggle-status-light{
  background:#17A265;
  box-shadow:0 0 8px rgba(23,162,101,.55);
  animation:defib-blink 1s infinite;
}
.left-rail-panel--defib .defib-aux-icon{
  width:24px;
  height:auto;
  flex:0 0 auto;
  object-fit:contain;
}
.left-rail-panel--defib .defib-aux-label{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  min-width:max-content;
  min-height:clamp(34px, 3.5vh, 48px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#4e5666;
  font-size:clamp(8.064px, .6336vw, 13.824px);
  font-weight:400;
  line-height:1;
  white-space:nowrap;
  overflow:visible;
  cursor:pointer;
}
.left-rail-panel--defib .defib-aux-label--tok{
  justify-content:flex-end;
}
.left-rail-panel--defib .defib-aux-toggle{
  width:100%;
  min-height:clamp(30px, 3.4vh, 42px);
  padding:0 clamp(17px, 1.4vw, 22px) 0 clamp(6px, .65vw, 10px);
  border-radius:12px;
  border:1px solid #d7d9e3;
  background:#F7F7FB;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position:
    calc(100% - 12px) 50%,
    calc(100% - 8px) 50%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
  color:#565f6f;
  font-size:clamp(8px, .62vw, 11px);
  font-weight:700;
  line-height:1;
  text-align:center;
  box-shadow:0 3px 7px rgba(70,78,94,.22), inset 0 1px 0 rgba(255,255,255,.85);
  cursor:pointer;
  overflow:hidden;
  appearance:none;
  -webkit-appearance:none;
}
.left-rail-panel--defib .defib-aux-toggle.has-value{
  border-color:#b9c4d4;
  background:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%),
    #ffffff;
  background-position:
    calc(100% - 12px) 50%,
    calc(100% - 8px) 50%,
    0 0;
  background-size:5px 5px, 5px 5px, 100% 100%;
  background-repeat:no-repeat;
}
.vent-settings-card{
  flex:1;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border-radius:14px;
  background:#F7F6FC;
  box-shadow:none;
}
.left-rail-subpanel--vent.vent-settings-card{
  margin:0;
  width:100%;
  align-self:center;
  justify-self:stretch;
  position:relative;
  padding:0 !important;
  height:100%;
  min-height:0;
  display:block;
  text-align:center;
  overflow:hidden;
  border:none;
  border-radius:14px;
}
.oxygen-therapy-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(42px, 30%) minmax(0, 1fr);
  grid-template-rows:auto minmax(0, 1fr);
  column-gap:clamp(5px, .8vw, 14px);
  row-gap:clamp(2px, .45vh, 8px);
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  padding:clamp(6px, .9vh, 14px) clamp(6px, .8vw, 14px) clamp(7px, 1vh, 14px);
  box-sizing:border-box;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid #ffffff !important;
  background:#ffffff;
  color:#4A5362;
  container-type:size;
}
.oxygen-therapy-card *{
  box-sizing:border-box;
  min-width:0;
}
.oxygen-therapy-title{
  grid-column:2;
  grid-row:1;
  align-self:start;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  max-height:none;
  padding:clamp(5px, .65vh, 10px) clamp(24px, 1.8vw, 34px) 0 0;
  color:#454E5D;
  font-size:clamp(13px, min(1.15vw, 1.7vh), 21px);
  font-size:clamp(13px, min(5.8cqw, 9.8cqh), 22px);
  font-weight:400;
  line-height:1.12;
  text-align:center;
  white-space:normal;
  overflow:visible;
  overflow-wrap:anywhere;
  letter-spacing:0;
}
.oxygen-therapy-tank-btn{
  grid-column:1;
  grid-row:1 / 3;
  align-self:stretch;
  justify-self:start;
  width:min(100%, clamp(48px, 95%, 160px));
  height:100%;
  max-height:100%;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  display:grid;
  place-items:center start;
  cursor:pointer;
  overflow:hidden;
}
.oxygen-therapy-tank{
  width:100%;
  height:auto;
  max-width:100%;
  max-height:92%;
  object-fit:contain;
  object-position:center center;
  display:block;
  pointer-events:none;
  transform:translateY(-3%);
}
.oxygen-therapy-tank-btn:hover{
  transform:translateY(-1px);
}
.oxygen-therapy-tank-btn.is-active,
.oxygen-therapy-tank-btn[aria-pressed="true"]{
  filter:drop-shadow(0 0 10px rgba(34,137,92,.42));
}
.vent-settings-toggle.icon-toggle-btn{
  position:absolute;
  top:0;
  left:0;
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  padding:0;
  border:0;
  background:transparent;
  border-radius:50%;
  box-shadow:none;
  z-index:2;
}
.vent-settings-hidden-toggle{
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  opacity:0;
  pointer-events:none;
}
.vent-settings-toggle.icon-toggle-btn > img{
  width:80%;
  height:80%;
}
.oxygen-therapy-power-btn{
  position:absolute;
  top:clamp(5px, .7vh, 11px);
  right:clamp(6px, .8vw, 14px);
  width:clamp(19.5px, 1.6vw, 25px);
  height:clamp(19.5px, 1.6vw, 25px);
  min-width:clamp(19.5px, 1.6vw, 25px);
  min-height:clamp(19.5px, 1.6vw, 25px);
  padding:0;
  background:transparent;
  border:1px solid #1d7ce8;
  border-radius:4px;
  box-sizing:border-box;
  box-shadow:none;
  z-index:3;
}
.oxygen-therapy-power-btn .defib-aux-power-icon{
  width:80%;
  height:80%;
}
.oxygen-therapy-power-btn.is-active,
.oxygen-therapy-power-btn[aria-pressed="true"]{
  filter:drop-shadow(0 0 10px rgba(34,137,92,.5));
}
.vent-settings-toggle.icon-toggle-btn.is-active,
.vent-settings-toggle.icon-toggle-btn.on,
.vent-settings-toggle.icon-toggle-btn[aria-pressed="true"]{
  border-color:transparent;
  background:transparent;
}
.oxygen-therapy-readout{
  grid-column:2;
  grid-row:2;
  align-self:stretch;
  justify-self:stretch;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-auto-rows:minmax(0, auto);
  align-content:center;
  justify-items:center;
  gap:clamp(1px, .28vh, 5px);
  gap:clamp(1px, 1.7cqh, 5px);
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  padding:clamp(1px, .25vh, 5px) 0 0;
  overflow:visible;
}
.oxygen-therapy-label{
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
}
.oxygen-therapy-label,
.oxygen-fio2-label{
  color:#555D6B;
  font-size:clamp(8px, min(.68vw, .95vh), 13px);
  font-size:clamp(8px, min(3.4cqw, 5.2cqh), 13px);
  font-weight:400;
  line-height:1.12;
  max-width:100%;
  white-space:normal;
  text-align:center;
  overflow:visible;
  overflow-wrap:anywhere;
  letter-spacing:0;
}
.oxygen-flow-value{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:clamp(3px, .5vw, 8px);
  gap:clamp(3px, 2.8cqw, 8px);
  max-width:100%;
  color:#4A5362;
  font-variant-numeric:tabular-nums;
  line-height:.9;
  overflow:visible;
}
#ventOxygenFlowValue{
  font-size:clamp(14px, min(1.35vw, 2.25vh), 26px);
  font-size:clamp(14px, min(7cqw, 10cqh), 27px);
  font-weight:400;
}
.oxygen-flow-unit{
  font-size:clamp(7px, min(.65vw, 1vh), 13px);
  font-size:clamp(7px, min(3.2cqw, 4.7cqh), 13px);
  font-weight:400;
  white-space:nowrap;
}
.oxygen-slider-row{
  display:grid;
  grid-template-columns:clamp(18px, min(1.55vw, 2.45vh), 28px) minmax(0, 1fr) clamp(18px, min(1.55vw, 2.45vh), 28px);
  grid-template-columns:clamp(18px, min(8cqw, 11cqh), 28px) minmax(0, 1fr) clamp(18px, min(8cqw, 11cqh), 28px);
  align-items:center;
  gap:clamp(3px, .45vw, 7px);
  gap:clamp(3px, 2.4cqw, 7px);
  width:100%;
  max-width:min(100%, 280px);
  margin-top:clamp(1px, .25vh, 5px);
  margin-top:clamp(1px, 1.8cqh, 4px);
  overflow:hidden;
}
.oxygen-step-btn{
  width:clamp(18px, min(1.55vw, 2.45vh), 28px);
  width:clamp(18px, min(8cqw, 11cqh), 28px);
  height:clamp(18px, min(1.55vw, 2.45vh), 28px);
  height:clamp(18px, min(8cqw, 11cqh), 28px);
  padding:0;
  border:0;
  border-radius:6px;
  background:#D9DCE2;
  color:#111827;
  font-size:clamp(8px, min(.6vw, .9vh), 11px);
  font-size:clamp(8px, min(3cqw, 4cqh), 11px);
  font-weight:700;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.oxygen-range{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  height:clamp(14px, min(1.15vw, 1.95vh), 22px);
  height:clamp(14px, min(6cqw, 9cqh), 22px);
  background:transparent;
  accent-color:#B7BAC1;
  cursor:pointer;
}
.oxygen-range::-webkit-slider-runnable-track{
  height:clamp(4px, min(.45vw, .72vh), 8px);
  height:clamp(4px, min(2.4cqw, 3.5cqh), 8px);
  border-radius:999px;
  background:#D7D8DC;
}
.oxygen-range::-webkit-slider-thumb{
  appearance:none;
  width:clamp(14px, min(1.2vw, 2vh), 22px);
  width:clamp(14px, min(6.2cqw, 9cqh), 22px);
  height:clamp(14px, min(1.2vw, 2vh), 22px);
  height:clamp(14px, min(6.2cqw, 9cqh), 22px);
  margin-top:clamp(-8px, max(-.42vw, -.75vh), -5px);
  border:1px solid #C1C4CA;
  border-radius:50%;
  background:#E7E7E7;
  box-shadow:0 1px 2px rgba(15,23,42,.16);
}
.oxygen-range::-moz-range-track{
  height:clamp(4px, min(.45vw, .72vh), 8px);
  height:clamp(4px, min(2.4cqw, 3.5cqh), 8px);
  border-radius:999px;
  background:#D7D8DC;
}
.oxygen-range::-moz-range-thumb{
  width:clamp(14px, min(1.2vw, 2vh), 22px);
  width:clamp(14px, min(6.2cqw, 9cqh), 22px);
  height:clamp(14px, min(1.2vw, 2vh), 22px);
  height:clamp(14px, min(6.2cqw, 9cqh), 22px);
  border:1px solid #C1C4CA;
  border-radius:50%;
  background:#E7E7E7;
}
.oxygen-fio2-label{
  margin-top:clamp(1px, .18vh, 4px);
  margin-top:clamp(1px, 1.5cqh, 4px);
}
.oxygen-fio2-value{
  color:#4A5362;
  font-size:clamp(10px, min(.95vw, 1.55vh), 19px);
  font-size:clamp(10px, min(5cqw, 7.4cqh), 20px);
  font-weight:400;
  line-height:.94;
  font-variant-numeric:tabular-nums;
  max-width:100%;
  overflow:visible;
}
.vent-status{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.vent-status.is-on #ventStatusText{
  color:#1f5e3b;
  font-weight:700;
}
.vent-settings-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  align-items:center;
  gap:clamp(10px, 1vw, 18px);
  width:100%;
  padding:clamp(8px, 1vh, 14px) clamp(16px, 1.7vw, 28px) clamp(14px, 1.4vh, 22px);
  box-sizing:border-box;
  justify-items:stretch;
  min-height:0;
}
.vent-settings-col{
  display:grid;
  gap:clamp(5px, .7vh, 10px);
  align-content:center;
  justify-items:start;
  text-align:left;
  min-width:0;
  font-size:19px;
}
.vent-settings-grid > .vent-settings-col:last-child{
  justify-self:stretch;
  justify-items:end;
  text-align:right;
  margin-right:0;
}
.vent-settings-grid > .vent-settings-col:last-child .vent-settings-line{
  text-align:right;
}
.vent-settings-line{
  color:#3d4655;
  font-size:inherit;
  font-weight:400;
  line-height:1.16;
  text-align:left;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.icon-toggle-btn{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  padding:0;
  border:1px solid #bcc8d9;
  border-radius:8px;
  background:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  line-height:1;
  flex:0 0 auto;
}
.icon-toggle-btn > img{
  width:16px;
  height:16px;
  object-fit:contain;
  display:block;
  pointer-events:none;
}
.icon-toggle-btn.is-active,
.icon-toggle-btn.on,
.icon-toggle-btn[aria-pressed="true"]{
  border-color:#60A8E7;
  background:#60A8E7;
}
.vent-settings-expand{
  position:absolute;
  right:clamp(8px, .9vw, 12px);
  bottom:clamp(8px, .9vh, 12px);
  width:clamp(22px, 2.2vw, 34px);
  height:clamp(22px, 2.2vw, 34px);
  padding:0;
  border-radius:50%;
  cursor:pointer;
}
.vent-settings-expand-icon{
  width:30px;
  height:30px;
  object-fit:contain;
  display:block;
  margin:auto;
}
.left-rail-panel--defib .defib-sequence-step.is-active{
  border-color:#9fb7d6;
  box-shadow:0 0 0 2px rgba(96,168,231,.18), 0 3px 7px rgba(70,78,94,.22), inset 0 1px 0 rgba(255,255,255,.85);
}
.left-rail-panel--defib .defib-sequence-step.is-shock{
  border-color:#e6a1a7;
  box-shadow:0 0 0 2px rgba(224,81,94,.16), 0 3px 7px rgba(70,78,94,.22), inset 0 1px 0 rgba(255,255,255,.85);
}
@keyframes defib-panel-wiggle{
  0%, 100%{ transform:translateX(0) rotate(0deg); }
  20%{ transform:translateX(-2px) rotate(-0.45deg); }
  40%{ transform:translateX(2px) rotate(0.45deg); }
  60%{ transform:translateX(-1px) rotate(-0.25deg); }
  80%{ transform:translateX(1px) rotate(0.25deg); }
}
.left-rail-panel--defib .defib-sequence-arrow{
  display:none !important;
}
.left-rail-panel--defib .defib-sequence-arrow::after{
  content:"";
  position:absolute;
  right:-1px;
  top:50%;
  transform:translateY(-50%);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:10px solid #f0bb5e;
}
.defib-shock-flash{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.95) 0%, rgba(255,244,190,.88) 28%, rgba(255,220,120,.35) 55%, rgba(255,255,255,0) 100%);
  mix-blend-mode:screen;
  z-index:1200;
}
.defib-shock-flash.is-active{
  animation:defib-shock-flash 1.8s ease-out forwards;
}
@keyframes defib-shock-flash{
  0%{ opacity:0; }
  6%{ opacity:1; }
  18%{ opacity:.92; }
  100%{ opacity:0; }
}
@media (max-width: 1280px){
  .left-rail-panel--defib .defib-top-row{
    align-items:center;
  }
}
/* Ліва колонка з клінічною карткою */
.clinical-pane{
  background:linear-gradient(180deg,#242a31 0%,var(--bezel) 100%);
  border:1px solid #0f1419; border-radius:16px; padding:12px;
}
.clinical-card{
  border:0; border-radius:10px; background:rgba(0,0,0,.35);
  padding:12px 14px; color:#d7e0ea;
  height:100%;
  max-height:none;
  box-sizing:border-box;
  overflow:hidden;
  position:relative;
  top:auto;
}
#clinicalScenario{
  background:#F5F5FA;
  color:#213041;
  padding:0;
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:100%;
  isolation:isolate;
}
#clinicalScenario .clinical-card-label{
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.02em;
  padding:0 clamp(12px, 1vw, 16px) 8px;
  padding-right:calc(clamp(12px, 1vw, 16px) + 38px);
  word-break:break-word;
}
#clinicalScenario .clinical-card-complaints{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  min-height:0;
  flex:0 1 auto;
  padding:0 clamp(12px, 1vw, 16px) clamp(12px, 1vh, 16px);
  padding-right:calc(clamp(12px, 1vw, 16px) + 38px);
  overflow:hidden;
}
#clinicalScenario .clinical-card-complaints-title{
  flex:0 0 auto;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  padding-top:2px;
  letter-spacing:.03em;
  color:#64748b;
}
#clinicalScenario .clinical-card-complaints-text{
  min-width:0;
  max-width:100%;
  min-height:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  color:#213041;
}
#clinicalScenarioComplaints{
  display:block;
  white-space:nowrap !important;
  text-overflow:ellipsis;
  max-height:1.35em;
  overflow:hidden;
}
#clinicalScenario .clinical-scenario-expand{
  position:absolute;
  right:0px;
  bottom:0px;
  width:28px;
  height:28px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
}
#clinicalScenario .clinical-scenario-expand:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(54,194,255,.24);
  border-radius:6px;
}
.left-rail-subpanel--scenario .clinical-card .title{
  display:none;
}
.clinical-card .title{ font-weight:700; font-size:18px; margin-bottom:8px; }
.clinical-card .section{ margin:10px 0; }
.clinical-card .section-title{ color:#9fb0bf; font-size:13px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.clinical-card .section-body{ white-space:pre-wrap; }

/* ===== Препарати (список) ===== */
#drugList{ list-style:none; margin:8px 0 0; padding:0; max-height:220px; overflow:auto; }
#drugList li{
  display:flex; justify-content:space-between; gap:8px;
  padding:6px 8px; border:1px solid #26303a; border-radius:8px; margin-bottom:6px;
  background:#0e141a;
}
#drugList .meta{ color:#9fb0bf; font-size:12px; }

/* ===== ДЕФІБРИЛЯТОР ===== */
.defib{ display:grid; gap:10px; align-items:center; }
.defib .row{ display:flex; align-items:center; gap:10px; }
.defib .power.on{ background:#60A8E7; border-color:#60A8E7; }
.knob-wrap{ display:flex; align-items:center; gap:12px; }
.knob{
  width:184px; height:84px; border-radius:50%; border:2px solid #2a333c; background:#0c1116;
  display:grid; place-items:center; transition:transform .2s ease;
  box-shadow: inset 0 2px 8px rgba(0,0,0,.5);
}
.knob span{ font-size:12px; color:#cfe; text-align:center; }
.defib-status{
  font-size:12px;
  color:#626b79;
  min-height:18px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.defib-status.is-on{
  color:#426050;
}
.defib-status #defibStatusText{
  font-size:20px;
  font-weight:400;
}
.defib-status.is-on #defibStatusText{
  color:#426050;
}
.defib-status-light{
  width:clamp(10px, .85vw, 14px);
  height:clamp(10px, .85vw, 14px);
  border-radius:50%;
  background:#e0515e;
  box-shadow:0 0 7px rgba(224,81,94,.6);
}
.defib-status.is-on .defib-status-light{
  background:#17A265;
  box-shadow:0 0 8px rgba(23,162,101,.55);
  animation:defib-blink 1s infinite;
}
.defib-status-light[hidden]{
  display:none;
}
.defib-status-light.defib-aux-status-light,
.defib-status-light.vent-toggle-status-light{
  width:clamp(7px, .55vw, 9px);
  height:clamp(7px, .55vw, 9px);
}
@keyframes defib-blink{
  0%, 100%{ opacity:1; }
  50%{ opacity:.2; }
}


  /* ===== MONITOR (верхній блок) ===== */
  .monitor-stack{
    grid-row:1;
    grid-column:1;
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, var(--support-column-w));
    grid-template-rows:minmax(0, 1fr) auto;
    gap:10px var(--main-lower-gap);
  }
  .monitor{
    grid-row:1; grid-column:1 / -1;
    background:linear-gradient(180deg,#242a31 0%,var(--bezel) 100%);
    border-radius:16px;
    box-shadow:0 12px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
    padding:0;
    overflow:hidden;
    box-sizing:border-box;
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
  }
  .brandbar{
    display:flex; justify-content:space-between; align-items:center;
    color:#a8b3bf; text-transform:uppercase; letter-spacing:.12em;
    font-weight:700; font-size:12px; margin-bottom:0;
  }

  /* Екран без глобальної міліметровки */
  .screen {
      background: #F5F5FA;
      border-radius: 12px !important;
      overflow: hidden !important; 
      border: 0;
      position: relative;
      box-shadow: none;
      flex:1;
      min-height:0;
      display:flex;
      flex-direction:column;
  }

.screen-grid {
  background-color: #F5F5FA !important;
  border-radius:12px !important;
  border-bottom-left-radius:12px !important;
  overflow:hidden !important;
  border: none !important;
  outline: none;

  display: grid;
  grid-template-columns:minmax(0, 1fr) var(--vitals-w);
  gap: 0;
  padding: 0;
  min-height:0;
  height:auto;
  flex:1;
}
.screen-grid > :first-child{
  border-bottom-left-radius:12px !important;
  overflow:hidden !important;
}
.operation-status{
  grid-column:1;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:4px;
  background:#F5F5FA;
  color:#213041;
  box-sizing:border-box;
  border-radius: 12px;
  border:2px solid #E5E6ED;
}
.monitor-stack .support-bolus-btn{
  grid-column:2;
  align-self:stretch;
  min-height:0;
  border-radius:12px;
  border:2px solid #E5E6ED;
  background:#F5F5FA;
  color:#84d4bd;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px;
  font-size:16px;
  font-weight:800;
  letter-spacing:.04em;
  box-sizing:border-box;
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .12s ease, box-shadow .15s ease;
}
.monitor-stack .support-bolus-btn:hover{
  box-shadow:0 8px 18px rgba(100,116,139,.14);
}
.monitor-stack .support-bolus-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(23,162,101,.24);
}
.monitor-stack .support-bolus-btn:active{
  transform:translateY(1px);
}
.monitor-stack .support-bolus-btn.is-active,
.monitor-stack .support-bolus-btn[aria-pressed="true"]{
  border-color:#0FB96F;
  background:#0FB96F;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(15,185,111,.28);
}
.monitor-stack .support-bolus-btn.is-vibrating{
  animation:support-bolus-vibrate .16s linear infinite;
}
@keyframes support-bolus-vibrate{
  0%,
  100%{
    transform:translateX(0);
  }
  25%{
    transform:translateX(-1px) rotate(-.25deg);
  }
  75%{
    transform:translateX(1px) rotate(.25deg);
  }
}
.operation-status-icon{
  width:52px;
  height:52px;
  margin-left:6px;
  flex:0 0 auto;
  object-fit:contain;
}
.operation-status-label{
  font-size:20px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.operation-status-text{
  font-size:18px;
  font-weight:600;
  line-height:1.3;
  flex:1;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}
.operation-status-lane-track{
  --operation-status-lane-duration:20s;
  display:inline-block;
  white-space:nowrap;
  padding-inline:12px;
  animation-name:operation-status-lane-scroll;
  animation-duration:var(--operation-status-lane-duration);
  animation-timing-function:linear;
  animation-iteration-count:1;
  animation-fill-mode:forwards;
  will-change:transform;
}
@keyframes operation-status-lane-scroll{
  0%{
    transform:translateX(0);
  }
  100%{
    transform:translateX(-100%);
  }
}
@media (prefers-reduced-motion: reduce){
  .operation-status-lane-track{
    animation:none;
    transform:none;
  }
}
  /* Доріжки хвиль */
  .waves{
    display:grid;
    grid-template-rows:minmax(0, 1.08fr) minmax(0, 1fr) minmax(0, 1fr);
    gap:0;
    width:100%;
    max-width:none;
    min-width:0;
    justify-self:center;
    height:100%;
    min-height:0;
    padding:30px;
    background:#000000;
    border-radius:12px;
    border-bottom-left-radius:12px;
    overflow:hidden;
    box-sizing:border-box;
  }

  .wave{
    position:relative; border:none; border-radius:6px;
    background:#000000; overflow:hidden;
    min-height:0;
    margin:0;
    contain:layout paint;
    clip-path:inset(0 round 6px);
  }
  /* Міліметровка тільки всередині .wave */
  .wave::before, .wave::after{ position:absolute; inset:0; pointer-events:none; z-index:0; content:""; }
  .wave::before,
  .wave::after{
    display:none;
  }

  .wave .lead{ position:absolute; top:4px; left:6px; font-size:12px; color:#64748b; letter-spacing:.08em; text-transform:uppercase; z-index:2; }
  .wave .scale{ position:absolute; top:4px; right:6px; font-size:12px; color:#64748b; z-index:2; }
  .wave.ecg .lead,
  .wave.ecg .scale{
    color:var(--col-ecg);
  }
  .wave.pleth .lead{
    color:var(--col-pleth);
  }
  .wave.abp .lead,
  .wave.abp .scale{
    color:var(--col-abp);
  }
  .wave .chart{ position:absolute; inset:0; }
  #ecgChart{ top:min(var(--ecg-chart-gap), 14%); }
  .chart svg{ display:block; background:#000000; }
  #ecgChart .grid,
  #ecgChart .axis,
  #abpChart .grid,
  #abpChart .axis,
  #plethChart .grid,
  #plethChart .axis{
    display:none;
  }

  .buttons-row .button-group {
    display: flex;
    flex-direction: row;
    gap: 10px; /* space between buttons */
    align-items: center;
  }

  /* Кольори кривих (без JS правок) */
  #ecgChart  path, #ecgChart  .line, #ecgChart  svg path{ stroke:var(--col-ecg)   !important; }
  #plethChart path, #plethChart .line, #plethChart svg path{ stroke:var(--col-pleth)!important; }
  #abpChart  path, #abpChart  .line, #abpChart  svg path{ stroke:var(--col-abp)   !important; }

  #ecgChart, #plethChart, #abpChart{
    left:0;
    right:0;
    bottom:0;
    width:auto !important;
    height:auto !important;
    max-width:none;
    max-height:none;
    overflow:hidden;
    contain:paint;
  }
  #plethChart, #abpChart{ top:0; }
  #ecgChart > svg,
  #plethChart > svg,
  #abpChart > svg{
    position:absolute;
    inset:0;
    display:block;
    width:100% !important;
    height:100% !important;
    max-width:100%;
    max-height:100%;
    border-radius:0;
    overflow:hidden;
  }
  .legend-inline{ position:absolute; bottom:6px; left:8px; font-size:12px; color:#64748b; z-index:2; }
  .warn{ color:#ffcc00; }

  .vital{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    align-items:center;
    border:none;
    border-radius:6px;
    background:transparent;
    padding:6px 10px;
  }
  .vital .label{ font-size:9px; text-transform:uppercase; letter-spacing:.1em; color:#64748b; }
  .vital .value{ font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-size:clamp(20px, 2.2vw, 30px); line-height:.95; }
  .vital small{ font-size:16px; color:#64748b; }
  .vital.hr   .value{ color:var(--col-ecg); }
  .vital.spo2 .value{ color:var(--col-pleth); }
  .vital.bp   .value{ color:var(--col-abp); }
  .vital.bis  .value{ color:var(--col-bis); }
  .vital.bp .map{ color:var(--col-abp); font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-size:12px; }
  .vital-overlay{
    position:absolute;
    top:6px;
    right:8px;
    z-index:2;
    min-width:88px;
    align-content:start;
    justify-items:end;
    text-align:right;
    pointer-events:none;
    background:none;
    border:none;
    border-radius:0;
    padding:2px 0 2px 14px;
  }
  .vital-overlay .label{ justify-self:end; }
  .side-vitals{
    display:grid;
    grid-template-rows:repeat(4, minmax(0, 1fr));
    gap:0;
    min-width:0;
    min-height:0;
    height:100%;
  }
  .side-vitals div{
    background:#000000;
  }
  .vital-side{
    position:relative;
    align-content:center;
    align-items:center;
    justify-items:center;
    text-align:center;
    border-left:3px solid #E5E6ED;
    border-top:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
    box-sizing:border-box;
    padding:0;
    overflow:hidden;
  }
  .vital.is-warning::after{
    content:"";
    position:absolute;
    left:15px;
    bottom:20px;
    width:clamp(36px, min(3.15vw, 4.95vh), 81px);
    height:clamp(36px, min(3.15vw, 4.95vh), 81px);
    z-index:3;
    pointer-events:none;
    background:url("/static/img/exclamation_mark.png") center / contain no-repeat;
    opacity:.58;
    transform:scale(1);
    transform-origin:left bottom;
    animation:vital-warning-bounce 1.55s ease-in-out infinite;
  }
  .vital-side.is-warning::after{
    top:50%;
    bottom:auto;
    left:14px;
    width:clamp(30px, min(2.65vw, 4.1vh), 58px);
    height:clamp(30px, min(2.65vw, 4.1vh), 58px);
    transform:translateY(-50%) scale(1);
    transform-origin:left center;
    animation:vital-side-warning-bounce 1.55s ease-in-out infinite;
  }
  .vital-side > *{
    position:relative;
    z-index:2;
  }
  @keyframes vital-warning-bounce{
    0%, 45%, 100%{
      transform:scale(1);
    }
    58%{
      transform:scale(1.14);
    }
    72%{
      transform:scale(.98);
    }
    86%{
      transform:scale(1.06);
    }
  }
  @keyframes vital-side-warning-bounce{
    0%, 45%, 100%{
      transform:translateY(-50%) scale(1);
    }
    58%{
      transform:translateY(-50%) scale(1.14);
    }
    72%{
      transform:translateY(-50%) scale(.98);
    }
    86%{
      transform:translateY(-50%) scale(1.06);
    }
  }
  .vital-side.co{
    border-top-left-radius:12px;
    border-top-right-radius:12px;
  }
  .vital-side + .vital-side{
    border-top:3px solid #E5E6ED;
  }
  .vital-side.bis{
    border-top:0;
  }
  .vital-side .label{ font-size:10px; }
  .vital-side .value{
    font-size:clamp(24px, 2.4vw, 34px);
    color:#8df7ff;
    text-shadow:0 0 10px rgba(141,247,255,.28);
  }
  .vital-side .unit{
    font-size:11px;
    line-height:1.2;
    color:#64748b;
  }
  .unit-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:wrap;
  }
  .unit-toggle{
    padding:0;
    border:none;
    background:transparent;
    color:#64748b;
    font:inherit;
    font-size:11px;
    line-height:1.2;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .unit-toggle:hover{
    color:#0f172a;
  }
  .unit-toggle-icon{
    width:11px;
    height:11px;
    display:block;
    opacity:.82;
  }
  .unit-toggle:hover .unit-toggle-icon{
    opacity:1;
  }
  .vital-side .unit sup{ font-size:.85em; }
  .vital-side.bis .value{
    font-size:clamp(26px, 2.6vw, 36px);
    color:#02859F;
    text-shadow:0 0 10px rgba(2,133,159,.18);
  }
  .vital-side.co .value{
    color:#F96A5E;
    text-shadow:0 0 10px rgba(249,106,94,.2);
  }
  .vital-side.diuresis .value{
    color:#CECA65;
    text-shadow:0 0 10px rgba(206,202,101,.2);
  }
  .vital-side.cvp .value{
    color:#9B59E2;
    text-shadow:0 0 10px rgba(155,89,226,.2);
  }
  .vital-side.svr .value{
    color:#DE4F51;
    text-shadow:0 0 10px rgba(222,79,81,.18);
  }
  .vital-side.svr{
    border-bottom-left-radius:12px;
    border-bottom-right-radius:12px;
  }

  /* Температура знизу по центру */
  .tempbar{
    position:absolute; left:50%; transform:translateX(-50%); bottom:6px;
    font-size:28px; font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:#334155;
  }

  /* Софт-клавіші під екраном (усередині монітора) */
  .softkeys{
    display:grid; grid-template-columns:repeat(8,1fr); gap:6px;
    background:#aeb6bf; border-radius:8px; padding:6px; margin-top:6px;
  }
  .softkeys .sk{
    background:#d7dbe0; border:1px solid #828b95; border-radius:6px;
    padding:10px 8px; color:#00121e; font-weight:600; box-shadow:inset 0 1px 0 #fff8;
  }

  .main-lower{
    margin-top:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, var(--support-column-w));
    gap:var(--main-lower-gap);
    align-items:stretch;
    min-height:0;
  }
.infusion-pumps-split{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
  min-height:0;
}
  .infusion-pumps-split > *{
    min-width:0;
    min-height:0;
  }
  .support-column{
    display:grid;
    grid-template-rows:repeat(2, minmax(0, 1fr));
    gap:clamp(10px, 1vh, 12px);
    min-height:0;
  }
  .support-bolus-dot{
    width:12px;
    height:12px;
    border-radius:50%;
    border:3px solid currentColor;
    background:transparent;
    box-shadow:none;
    flex:0 0 auto;
  }
  .support-bolus-btn.is-active .support-bolus-dot,
  .support-bolus-btn[aria-pressed="true"] .support-bolus-dot{
    border-color:#ffffff;
    background:#ffffff;
  }
  .support-bolus-label{
    line-height:1;
  }
  .support-cell{
    min-height:0;
    border:1px solid var(--dock-border);
    border-radius:12px;
    background:#141a21;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 12px 10px;
    box-sizing:border-box;
    color:#d4e5f5;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    text-align:inherit;
    transition:border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  }
  .support-cell:hover{
    border-color:#3e5870;
    box-shadow:0 10px 26px rgba(0,0,0,.38);
  }
  .support-cell:focus-visible{
    outline:none;
    border-color:#36c2ff;
    box-shadow:0 0 0 2px rgba(54,194,255,.22);
  }
  .support-cell:active{
    transform:translateY(1px);
  }
  .support-cell-image{
    max-width:100%;
    max-height:62%;
    object-fit:contain;
    display:block;
  }
  .support-cell-footer{
    position:absolute;
    left:12px;
    right:12px;
    bottom:8px;
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .support-cell-title{
    text-align:center;
    color:#d4e5f5;
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
  }
  .support-cell-status{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:14px;
    color:#9fbdd8;
    font-size:9px;
    line-height:1.2;
    text-align:center;
  }
  .support-cell-status[hidden]{
    display:none;
  }
  .support-running-icon{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#43ff7f;
    box-shadow:0 0 10px rgba(67,255,127,.72);
    flex:0 0 auto;
    animation:defib-blink 1s infinite;
  }
  
    /* ===== INFUSION PUMPS ===== */
  .infusion-pumps-stack{
    display:flex;
    flex-direction:column;
    gap:clamp(8px, .8vw, 10px);
    height:100%;
    min-height:0;
  }
  .infusion-pumps{
    margin-top:0;
    position:relative;
    background:linear-gradient(180deg,#141a21,var(--dock));
    border:1px solid var(--dock-border);
    border-radius:12px;
    padding:clamp(10px, 1vw, 14px);
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    min-height:0;
    display:flex;
    flex-direction:column;
    flex:1 1 80%;
  }
  .infusion-visual-panel{
    height:100%;
  }
  .infusion-status-panel{
    position:relative;
    flex:0 0 20%;
    min-height:clamp(58px, 8vh, 96px);
    display:grid;
    place-items:stretch;
    overflow:hidden;
    padding:clamp(10px, 1vw, 14px);
    box-sizing:border-box;
    border:1px solid var(--dock-border);
    border-radius:12px;
    background:#ffffff;
    color:#000000;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
  .infusion-status-normal{
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:clamp(5px, .7vh, 9px);
  }
  .infusion-status-normal[hidden],
  .infusion-status-warning[hidden]{
    display:none !important;
  }
  .infusion-status-line{
    min-width:0;
    color:#000000;
    font-size:clamp(11px, .92vw, 13px);
    font-weight:800;
    line-height:1.18;
    letter-spacing:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .infusion-status-line + .infusion-status-line{
    color:#000000;
    font-weight:700;
  }
  body.black-theme .infusion-status-panel{
    border-color:rgba(54,96,135,.86);
    background:rgba(3,15,31,.88);
    color:#f8fbff;
    box-shadow:0 8px 24px rgba(0,0,0,.45), inset 0 1px 0 rgba(21,151,255,.08);
  }
  body.black-theme .infusion-status-line,
  body.black-theme .infusion-status-line + .infusion-status-line{
    color:#f8fbff;
  }
  body.black-theme .infusion-status-panel.is-warning{
    border-color:#ffb4aa;
    background:#b91c1c;
    color:#ffffff;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.06),
      0 0 22px rgba(255,47,69,.22);
  }
  .infusion-status-panel.is-warning{
    border-color:#ffb4aa;
    background:#b91c1c;
    color:#ffffff;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.06),
      0 0 22px rgba(255,47,69,.22);
  }
  .infusion-status-warning{
    min-height:0;
    display:grid;
    place-items:center;
    pointer-events:none;
  }
  .infusion-status-warning .patient-death-warning-card{
    width:100%;
    height:100%;
    min-height:0;
    padding:0;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    align-items:center;
    justify-items:center;
    gap:clamp(2px, .4vh, 5px);
    border:0;
    border-radius:0;
    background:transparent;
    color:#ffffff;
    box-shadow:none;
    animation:none;
    overflow:hidden;
  }
  .infusion-status-warning .patient-death-warning-card h2{
    max-width:100%;
    margin:0;
    color:#ffffff;
    font-size:clamp(9px, .8vw, 12px);
    line-height:1;
    white-space:normal;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
  .infusion-status-warning .patient-death-warning-timer{
    min-width:0;
    max-width:100%;
    align-self:center;
  }
  .infusion-status-warning .patient-death-warning-timer span{
    display:block;
    max-width:100%;
    color:#ffffff;
    font-size:clamp(20px, min(2.2vw, 4.6vh), 34px);
    line-height:.9;
    white-space:nowrap;
  }
  .infusion-pumps-content{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    gap:10px;
    flex:1 1 80%;
    min-height:0;
  }
  .infusion-pumps--locked .infusion-pumps-content{
    filter:blur(8px) saturate(.9);
    pointer-events:none;
    user-select:none;
    transform:scale(1.015);
  }
  .infusion-pumps h3{
    margin:0 0 10px;
    color:#c6d3df;
    letter-spacing:.03em;
    text-align:center;
    text-transform:none;
    font-size:14px;
  }
  .infusion-pumps-lock{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:20px;
    text-align:center;
    background:rgba(10, 14, 18, .42);
    border-radius:12px;
  }
  .infusion-pumps-lock-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:26px;
    box-shadow:0 8px 22px rgba(0,0,0,.28);
  }
  .infusion-pumps-lock-link{
    max-width:270px;
    color:#eef7ff;
    font-size:15px;
    font-weight:600;
    line-height:1.45;
    text-decoration:none;
  }
  .infusion-pumps-lock-link:hover{
    text-decoration:underline;
  }
  .infusion-pumps-lock-link:focus-visible{
    outline:2px solid rgba(54,194,255,.65);
    outline-offset:4px;
    border-radius:8px;
  }
  .pump-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:repeat(2, minmax(0, 1fr));
    gap:clamp(8px, .9vh, 10px);
    min-height:0;
    height:100%;
  }
  .pump-slot{
    min-height:0;
    border:1px solid #E5E6ED;
    border-radius:14px;
    background:#F8F7FC;
    position:relative;
    overflow:hidden;
    display:grid;
    place-items:center;
    color:#8fb2cf;
    font-size:clamp(24px, 2vw, 34px);
    font-weight:700;
    line-height:1;
    user-select:none;
    -webkit-user-select:none;
    -webkit-touch-callout:none;
    -webkit-tap-highlight-color:transparent;
    cursor:pointer;
    transition:border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  }
  .pump-slot:hover{
    border-color:#E5E6ED;
    box-shadow:0 4px 18px rgba(0,0,0,.35);
  }
  .pump-slot:focus-visible{
    outline:none;
    border-color:#36c2ff;
    box-shadow:0 0 0 2px rgba(54,194,255,.25);
  }
  .pump-slot:active{
    transform:translateY(1px);
  }
  .pump-slot-plus{
    pointer-events:none;
  }
  .pump-slot.has-pump{
    padding:6px;
  }
  .pump-slot-preview{
    min-height:0;
    cursor:default;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
  }
  .pump-slot-preview:hover{
    border-color:#E5E6ED;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
  }
  .pump-slot-preview .pump-slot-image{
    width:78%;
    height:auto;
    max-height:clamp(92px, 13vh, 132px);
    opacity:.96;
  }
  .pump-preview-label,
  .pump-preview-rate,
  .pump-preview-volume{
    opacity:1;
  }
  .pump-preview-label{
    top:12px;
    font-size:12px;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
  }
  .pump-preview-rate{
    top:54%;
    left:24%;
    font-size:17px;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
  }
  .pump-preview-volume{
    top:54%;
    left:34%;
    font-size:16px;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
  }
  .pump-slot-hidden-neighbor{
    display:none !important;
  }
  .pump-slot-expanded{
    z-index:2;
    min-height:0;
    padding:8px;
  }
  .pump-slot-image{
    width:59.5%;
    height:auto;
    max-height:clamp(72px, 10.5vh, 116px);
    max-width:100%;
    object-fit:contain;
    border-radius:10px;
    display:block;
    pointer-events:auto;
    user-select:none;
    -webkit-user-select:none;
    -webkit-touch-callout:none;
    -webkit-user-drag:none;
    -webkit-tap-highlight-color:transparent;
  }
  .pump-slot-settings{
    position:absolute;
    top: 35%;
    left: 45%;
    transform:translate(-50%, -50%);
    transform-origin:center center;
    width:44%;
    min-width:230px;
    max-width:360px;
    padding:6px 8px;
    color:#000000;
    line-height:1.15;
    pointer-events:none;
    opacity:0;
    transition:opacity .15s ease;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:10px;
    align-items:start;
  }
  .pump-slot-expanded .pump-slot-settings{
    opacity:1;
  }
  .pump-slot-settings[hidden]{
    display:none;
  }
  .pump-rate-value{
    display:none !important;
  }
  .pump-drug-label{
    position:absolute;
    top:16px;
    left:50%;
    transform:translateX(-50%);
    color:#e7eef6;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    pointer-events:none;
    opacity:0;
    transition:opacity .15s ease;
  }
  .pump-slot-expanded .pump-drug-label{
    opacity:0;
  }
  .pump-volume-value{
    display:none !important;
  }
  .pump-settings-column{
    display:flex;
    flex-direction:column;
  }
  .pump-settings-column-left{
    justify-content:flex-start;
  }
  .pump-settings-column-right{
    justify-content:flex-start;
    align-items:flex-end;
    gap:3px;
    text-align:right;
  }
  .pump-settings-drug{
    font-size:20px;
    font-weight:700;
    color:#0f1824;
    line-height:1.02;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .pump-settings-rate-label{
    font-size:12px;
    font-weight:700;
    color:#13283a;
    line-height:1;
  }
  .pump-settings-rate{
    display:flex;
    align-items:flex-end;
    gap:5px;
    line-height:1;
  }
  .pump-settings-rate-number{
    font-size:20px;
    font-weight:800;
    color:#0f1824;
    font-variant-numeric:tabular-nums;
  }
  .pump-settings-rate-metric{
    font-size:9.6px;
    color:#2f4257;
    font-weight:700;
    margin-bottom:2px;
  }
  .pump-settings-volume{
    font-size:9.6px;
    color:#1f2f40;
    display:flex;
    align-items:baseline;
    gap:3px;
    font-weight:600;
  }
  .pump-settings-volume-label,
  .pump-settings-volume-value,
  .pump-settings-volume-unit{
    font-size:9.6px;
  }
  .pump-settings-volume-value{
    font-variant-numeric:tabular-nums;
  }
  .pump-add-drug-hint{
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
  }
  .pump-add-drug-highlight{
    position:absolute;
    border:2px solid #ffd24a;
    border-radius:12px;
    background:rgba(255,210,74,.14);
    box-shadow:0 0 0 2px rgba(255,210,74,.14), 0 0 18px rgba(255,210,74,.42);
    animation:pump-add-drug-pulse 1.25s ease-in-out infinite;
  }
  .pump-add-drug-arrow{
    position:absolute;
    height:2px;
    background:linear-gradient(90deg, rgba(255,210,74,.98), rgba(255,210,74,.72));
    transform-origin:0 50%;
  }
  .pump-add-drug-arrow::after{
    content:"";
    position:absolute;
    top:50%;
    right:-1px;
    width:0;
    height:0;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
    border-left:10px solid #ffd24a;
    transform:translateY(-50%);
  }
  .pump-add-drug-callout{
    position:absolute;
    max-width:230px;
    padding:8px 10px;
    border-radius:10px;
    border:1px solid rgba(255,210,74,.7);
    background:rgba(9,14,20,.94);
    box-shadow:0 10px 22px rgba(0,0,0,.34);
    color:#fff1b8;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    text-align:left;
  }
  @keyframes pump-add-drug-pulse{
    0%, 100%{
      opacity:.72;
      box-shadow:0 0 0 2px rgba(255,210,74,.14), 0 0 16px rgba(255,210,74,.3);
    }
    50%{
      opacity:1;
      box-shadow:0 0 0 2px rgba(255,210,74,.24), 0 0 24px rgba(255,210,74,.52);
    }
  }
  .pump-slot-title{
    position:absolute;
    left:50%;
    bottom:6px;
    transform:translateX(-50%);
    max-width:92%;
    padding:2px 6px;
    border-radius:8px;
    border:1px solid rgba(143,178,207,.25);
    background:rgba(6,10,14,.7);
    color:#c6d3df;
    font-size:11px;
    line-height:1.2;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    pointer-events:none;
    opacity:0;
    transition:opacity .15s ease;
  }
  .pump-slot-title .led{
    display:inline-block;
    width:8px;
    height:8px;
    margin:0 6px 1px 6px;
    border-radius:50%;
    background:#3ddc84;
    box-shadow:0 0 8px rgba(61,220,132,.8);
    vertical-align:middle;
  }
  .pump-slot.has-pump .pump-slot-title{
    opacity:1;
  }
  .pump-slot-expanded .pump-slot-title{
    opacity:0;
  }
  .pump-slot-expanded .pump-slot-image{
    width:100%;
    height:100%;
    max-height:none;
  }
  .pump-slot-expand{
    position:absolute;
    top:8px;
    right:8px;
    width:20px;
    height:20px;
    border-radius:6px;
    border:1px solid rgba(143,178,207,.45);
    background-color:rgba(8,12,18,.7);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7e0ea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:14px 14px;
    box-shadow:0 4px 10px rgba(0,0,0,.35);
    cursor:pointer;
  }
  .pump-slot-expand:hover{
    border-color:#36c2ff;
  }
  .pump-slot-expand:focus-visible{
    outline:none;
    border-color:#36c2ff;
    box-shadow:0 0 0 2px rgba(54,194,255,.25);
  }
  .pump-slot-expanded .pump-slot-expand{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d7e0ea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 14 10 14 10 20'/%3E%3Cpolyline points='20 10 14 10 14 4'/%3E%3Cline x1='14' y1='10' x2='21' y2='3'/%3E%3Cline x1='10' y1='14' x2='3' y2='21'/%3E%3C/svg%3E");
  }
  .pump-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:grid;
    place-items:center;
    z-index:1000;
    padding:16px;
    box-sizing:border-box;
  }
  .pump-modal[hidden]{
    display:none !important;
  }
  .pump-modal-card{
    width:80%;
    max-height:calc(100dvh - 32px);
    box-sizing:border-box;
    background:#F5F5FA;
    border:1px solid #2b3947;
    border-radius:14px;
    padding:18px;
    box-shadow:0 14px 30px rgba(0,0,0,.45);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .pump-modal-card p{
    margin:0 0 14px;
    color:#d7e0ea;
    font-size:16px;
    line-height:1.35;
  }
  .drug-model-output-card{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(43,57,71,.28);
    color:#17212b;
    max-height:min(36dvh, 320px);
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .drug-model-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
  }
  .drug-model-head h4{
    margin:0;
    font-size:14px;
    line-height:1.2;
    color:#111827;
  }
  .drug-model-head span{
    font-size:12px;
    color:#526171;
    text-align:right;
  }
  .drug-model-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
    margin-top:8px;
  }
  .drug-model-grid--models{
    grid-template-columns:1fr;
  }
  .drug-model-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:28px;
    padding:5px 8px;
    border:1px solid rgba(43,57,71,.20);
    background:rgba(255,255,255,.42);
    border-radius:6px;
    font-size:12px;
    line-height:1.2;
  }
  .drug-model-row--wide{
    grid-column:1 / -1;
  }
  .drug-model-row span{
    color:#526171;
  }
  .drug-model-row strong{
    color:#111827;
    font-weight:700;
    text-align:right;
  }
  .drug-model-details{
    margin-top:8px;
  }
  .drug-model-details summary{
    cursor:pointer;
    font-size:12px;
    color:#364657;
  }
  .drug-model-details--results{
    border:1px solid rgba(43,57,71,.18);
    border-radius:6px;
    padding:7px 8px;
    background:rgba(255,255,255,.24);
    flex:1 1 0;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .drug-model-scroll{
    flex:1 1 auto;
    min-height:64px;
    max-height:min(24dvh, 220px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding-right:4px;
    margin-top:6px;
    -webkit-overflow-scrolling:touch;
  }
  .drug-model-scroll > .drug-model-grid:first-child{
    margin-top:0;
    margin-bottom:8px;
  }
  .drug-model-scroll .drug-model-details{
    padding-bottom:8px;
    border-bottom:1px solid rgba(43,57,71,.14);
  }
  .drug-model-scroll .drug-model-details:last-child{
    border-bottom:0;
    padding-bottom:0;
  }
  .pump-modal-card > .drug-model-output-card,
  .support-modal-card > .drug-model-output-card,
  .clinical-scenario-modal-card > .drug-model-output-card{
    flex:0 1 auto;
  }
  .clinical-scenario-modal-card > .drug-model-output-card{
    max-height:min(30dvh, 260px);
  }
  .pump-modal-card:not(.clinical-scenario-modal-card) > .drug-model-output-card,
  .pump-setting-card > .drug-model-output-card,
  .support-modal-card > .drug-model-output-card{
    max-height:none;
    overflow:visible;
  }
  .pump-modal-card:not(.clinical-scenario-modal-card) > .drug-model-output-card .drug-model-details--results,
  .pump-setting-card > .drug-model-output-card .drug-model-details--results,
  .support-modal-card > .drug-model-output-card .drug-model-details--results{
    overflow:visible;
  }
  .pump-modal-card:not(.clinical-scenario-modal-card) > .drug-model-output-card .drug-model-scroll,
  .pump-setting-card > .drug-model-output-card .drug-model-scroll,
  .support-modal-card > .drug-model-output-card .drug-model-scroll{
    max-height:none;
    overflow:visible;
  }
  .support-modal-card{
    position:relative;
    padding-top:22px;
  }
  .support-modal-close{
    position:absolute;
    top:10px;
    right:10px;
    width:28px;
    height:28px;
    border-radius:999px;
    border:1px solid #334454;
    background:#0f151c;
    color:#d7e0ea;
    font-size:16px;
    line-height:1;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, transform .12s ease;
  }
  .support-modal-close:hover{
    border-color:#4a657d;
    background:#17212a;
  }
.support-modal-close:active{
  transform:translateY(1px);
}
.language-modal-card{
  width:min(360px, 92vw);
  padding-top:26px;
}

.language-modal-options{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.language-modal-option{
  min-height:42px;
  border:1px solid #bcc8d9;
  border-radius:10px;
  background:#ffffff;
  color:#213041;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}

.language-modal-option:hover{
  border-color:#60A8E7;
}

.language-modal-option.is-active,
.language-modal-option[aria-pressed="true"]{
  background:#60A8E7;
  border-color:#60A8E7;
  color:#ffffff;
}
.defib-aux-modal-card{
  width:min(360px, 90vw);
  display:grid;
  gap:14px;
}
.defib-aux-modal-card p{
  margin:0;
  color:#213041;
  text-align:center;
  font-size:18px;
}
.defib-aux-field{
  display:grid;
  gap:8px;
  color:#213041;
  font-size:14px;
  font-weight:700;
}
.defib-aux-input-wrap{
  min-height:44px;
  border:1px solid #d7dfeb;
  border-radius:12px;
  background:#ffffff;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  overflow:hidden;
}
.defib-aux-input-wrap input{
  width:100%;
  min-width:0;
  height:100%;
  border:0;
  background:transparent;
  color:#213041;
  font-size:18px;
  font-weight:500;
  padding:0 12px;
  box-sizing:border-box;
  outline:none;
}
.defib-aux-input-wrap span{
  padding:0 12px;
  color:#526173;
  font-size:16px;
  font-weight:700;
}
.defib-aux-modal-actions{
  margin-top:0;
}
.clinical-scenario-modal-card{
  width:min(1480px, 98vw);
  max-height:96vh;
  background:#F5F5FA;
    border-color:#d7dfeb;
    color:#213041;
    padding-top:26px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.clinical-scenario-node-picker{
  display:grid;
  grid-template-columns:auto minmax(220px, 360px);
  align-items:center;
  gap:10px;
  color:#213041;
  font-size:13px;
  font-weight:700;
}
.clinical-scenario-node-picker select{
  width:100%;
  min-width:0;
  min-height:38px;
  border:1px solid #c7d2e1;
  border-radius:8px;
  background:#ffffff;
  color:#213041;
  font-size:14px;
  font-weight:650;
  padding:0 34px 0 10px;
}
.clinical-scenario-node-summary{
  color:#526173;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}
.clinical-scenario-params-form{
  min-height:0;
  overflow:auto;
  padding-right:2px;
}
.clinical-scenario-param-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.clinical-scenario-param-grid label{
  display:grid;
  gap:4px;
  color:#526173;
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
}
.clinical-scenario-param-grid input,
.clinical-scenario-param-grid select{
  width:100%;
  min-width:0;
  min-height:36px;
  border:1px solid #c7d2e1;
  border-radius:8px;
  background:#ffffff;
  color:#213041;
  font-size:14px;
  font-weight:650;
  padding:0 10px;
  box-sizing:border-box;
}
.clinical-scenario-param-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
.clinical-scenario-param-actions button{
  min-height:38px;
  border:0;
  border-radius:8px;
  background:#2563eb;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
  padding:0 16px;
  cursor:pointer;
}
#clinicalScenarioModal .node-reference-scenario{
  padding:10px 0 0;
}
#clinicalScenarioModal .node-reference-header{
  display:grid;
  gap:4px;
  margin-bottom:12px;
}
#clinicalScenarioModal .node-reference-header h2{
  margin:0;
  color:#213041;
  font-size:18px;
  font-weight:800;
  letter-spacing:0;
}
#clinicalScenarioModal .node-reference-header p{
  margin:0;
  color:#526173;
  font-size:14px;
  line-height:1.45;
}
#clinicalScenarioModal .node-reference-monitor-grid{
  display:grid;
  gap:12px;
}
#clinicalScenarioModal .node-reference-monitor-grid svg{
  display:block;
  width:100%;
  height:auto;
}
.vent-settings-modal-card{
  width:min(440px, 92vw);
  max-height:none;
  background:#F5F5FA;
  border-color:#d7dfeb;
  color:#213041;
  padding-top:26px;
}
.vent-settings-modal-card p{
  color:#213041;
}
.diagnosis-modal-card{
  width:min(860px, 92vw);
  max-height:min(82vh, 760px);
  background:
    radial-gradient(1200px 220px at -10% -20%, rgba(96,168,231,.18), transparent 58%),
    radial-gradient(780px 180px at 120% -30%, rgba(54,194,255,.12), transparent 62%),
    #F5F5FA;
  border-color:#d7dfeb;
  color:#213041;
  padding-top:26px;
  display:grid;
  grid-template-rows:auto auto minmax(0, 1fr) auto;
  gap:10px;
}
.diagnosis-modal-card p{
  color:#213041;
}
.diagnosis-modal-current{
  color:#4a5f78;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  margin-top:-6px;
}
.diagnosis-options{
  min-height:220px;
  max-height:50vh;
  overflow:auto;
  padding:4px 2px 2px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.diagnosis-option-btn{
  min-height:92px;
  border:1px solid #c9d5e4;
  border-radius:14px;
  padding:12px 12px 10px;
  text-align:left;
  background:linear-gradient(180deg, #ffffff, #edf3fb);
  color:#1f2f44;
  cursor:pointer;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:6px;
  transition:border-color .14s ease, box-shadow .14s ease, transform .12s ease, background .14s ease;
}
.diagnosis-option-btn:hover{
  border-color:#8eb8e2;
  box-shadow:0 8px 20px rgba(96,168,231,.18);
}
.diagnosis-option-btn:active{
  transform:translateY(1px);
}
.diagnosis-option-btn:focus-visible{
  outline:none;
  border-color:#60A8E7;
  box-shadow:0 0 0 2px rgba(96,168,231,.24);
}
.diagnosis-option-btn.is-selected{
  border-color:#60A8E7;
  background:linear-gradient(180deg, #eef7ff, #ddeeff);
  box-shadow:0 10px 22px rgba(96,168,231,.24);
}
.diagnosis-option-title{
  display:block;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.25;
}
.diagnosis-option-meta{
  display:block;
  font-size:12px;
  color:#5d738c;
  line-height:1.3;
}
.diagnosis-modal-actions{
  margin-top:2px;
}
.blood-tests-modal-card{
  width:min(94vw, 850px);
  max-height:calc(100dvh - 24px);
  padding:18px 18px 18px;
  border:2px solid #E0E3E8;
  border-radius:18px;
  background:#F5F5FA;
  color:#0e0f11;
  box-shadow:0 2px 7px rgba(45, 54, 70, .22);
  display:grid;
  grid-template-rows:auto auto auto minmax(0, 1fr);
  gap:0;
  overflow:hidden;
}
.blood-tests-modal-title{
  margin:0;
  color:#050505;
  font-size:clamp(20px, 2vw, 30px);
  font-weight:400;
  line-height:1.1;
  text-align:center;
  letter-spacing:0;
}
.blood-tests-modal-divider{
  height:3px;
  margin:8px 12px 6px;
  background:#aeb2ba;
}
.blood-tests-modal-card .support-modal-close{
  top:18px;
  right:18px;
  width:34px;
  height:34px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#555963;
  font-size:42px;
  font-weight:300;
  line-height:1;
  box-shadow:none;
  text-shadow:0 2px 3px rgba(0,0,0,.18);
}
.blood-tests-modal-card .support-modal-close:hover{
  background:transparent;
  color:#30333a;
}
.blood-tests-meta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:12px;
  padding:0 12px 3px;
}
.blood-tests-meta-main{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
  padding-top:14px;
  color:#090909;
  font-size:clamp(17px, 1.6vw, 24px);
  font-weight:400;
  line-height:1.1;
  white-space:nowrap;
}
.blood-tests-refresh-block{
  display:grid;
  justify-items:end;
  gap:2px;
}
.blood-tests-refresh-btn{
  min-height:25px;
  padding:0 6px;
  border:1px solid #d4d6dd;
  border-radius:9px;
  background:#F7F7FB;
  color:#101113;
  box-shadow:0 2px 7px rgba(75, 84, 100, .24), inset 0 1px 0 rgba(255,255,255,.8);
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:clamp(8px, .8vw, 12px);
  font-weight:400;
  line-height:1;
  cursor:pointer;
}
.blood-tests-refresh-btn:active{
  transform:translateY(1px);
}
.blood-tests-refresh-icon{
  font-size:1.25em;
  line-height:1;
}
.blood-tests-updated{
  padding-right:4px;
  color:#111;
  font-size:clamp(10px, .95vw, 15px);
  line-height:1.1;
  white-space:nowrap;
}
.blood-tests-grid{
  min-height:0;
  overflow:visible;
  box-sizing:border-box;
  width:100%;
  padding:0 12px 0;
}
.blood-tests-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  color:#090909;
  background:#F5F5FA;
  border:3px solid #b6bac3;
  font-size:clamp(12px, 1.12vw, 18px);
  line-height:1;
}
.blood-tests-col-param{
  width:33.5%;
}
.blood-tests-col-value{
  width:39%;
}
.blood-tests-col-normal{
  width:27.5%;
}
.blood-tests-table th,
.blood-tests-table td{
  padding:2px 8px;
  border-right:3px solid #b6bac3;
  border-bottom:3px solid #c2c5cd;
  text-align:left;
  vertical-align:middle;
  font-weight:400;
}
.blood-tests-table th:last-child,
.blood-tests-table td:last-child{
  border-right:0;
}
.blood-tests-section-row th{
  padding:4px 8px;
  background:#cfd2dc;
  color:#101010;
  font-size:1.08em;
  font-weight:400;
}
.blood-tests-head-row th{
  background:#dcdde8;
  font-weight:400;
}
.blood-test-value--soft{
  color:#a99d79;
}
.blood-test-value--alert,
.blood-test-arrow{
  color:#8a2638;
}
@media (max-width: 900px){
  .blood-tests-modal-card{
    width:min(96vw, 720px);
    padding:16px 10px;
  }
  .blood-tests-meta{
    grid-template-columns:1fr;
    gap:8px;
  }
  .blood-tests-meta-main{
    padding-top:4px;
    flex-wrap:wrap;
    gap:4px 14px;
    white-space:normal;
  }
  .blood-tests-refresh-block{
    justify-items:start;
  }
}
@media (max-width: 640px){
  .blood-tests-modal-card{
    padding-inline:8px;
  }
  .blood-tests-table{
    font-size:clamp(10px, 2.7vw, 13px);
  }
  .blood-tests-modal-divider,
  .blood-tests-meta,
  .blood-tests-grid{
    margin-inline:0;
    padding-inline:6px;
  }
}
@media (max-width: 900px){
  .diagnosis-options{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px){
  .diagnosis-options{
    grid-template-columns:1fr;
  }
}
.vent-settings-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 12px;
}
.vent-settings-field{
  display:grid;
  gap:6px;
  min-width:0;
}
.vent-settings-field span{
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  color:#64748b;
}
.vent-settings-field input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #c6d0de;
  border-radius:8px;
  background:#ffffff;
  color:#213041;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  padding:8px 10px;
  outline:none;
}
.vent-settings-field input:focus{
  border-color:#60A8E7;
  box-shadow:0 0 0 2px rgba(96,168,231,.2);
}
.vent-settings-field:last-of-type{
  grid-column:1 / -1;
}
.vent-settings-form-actions{
  grid-column:1 / -1;
  margin-top:2px;
}
#ventSettingsSaveBtn{
  background:#60A8E7;
  border-color:#60A8E7;
  color:#ffffff;
}
#ventSettingsSaveBtn:hover{
  filter:brightness(1.03);
}
.patient-info-card{
  margin:0;
  padding:8px;
  border:1px solid #d7dfeb;
    border-radius:10px;
    background:#ffffff;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    align-items:start;
    gap:8px;
    max-height:none;
    overflow:visible;
  }
  .patient-info-group{
    min-width:0;
    padding:7px;
    border:1px solid #d7dfeb;
    border-radius:8px;
    background:#f8fafc;
  }
  .patient-info-group h4{
    margin:0 0 5px;
    color:#213041;
    font-size:11px;
    line-height:1.15;
    font-weight:800;
  }
  .patient-info-group-grid{
    display:grid;
    gap:2px;
  }
  .patient-info-row{
    min-width:0;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:6px;
    min-height:0;
    padding:2px 0;
    border:0;
    border-bottom:1px solid #e5eaf1;
    border-radius:0;
    background:transparent;
    color:#213041;
    font-size:12px;
    line-height:1.25;
  }
  .patient-info-row:last-child{
    border-bottom:0;
  }
  .patient-info-row--wide{
    grid-column:auto;
    align-items:stretch;
  }
  .patient-info-label{
    color:#64748b;
    font-weight:700;
    letter-spacing:0;
    text-transform:uppercase;
    font-size:10px;
    line-height:1.15;
    flex:0 1 auto;
  }
  .patient-info-value{
    color:#213041;
    font-weight:600;
    min-width:0;
    text-align:right;
    overflow-wrap:anywhere;
    flex:0 0 auto;
    max-width:58%;
  }
  .patient-info-row--wide .patient-info-value{
    font-weight:600;
  }
  .patient-info-node-action{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:7px 8px;
    border:1px solid #d7dfeb;
    border-radius:8px;
    background:#f8fafc;
  }
  .patient-node-scenario-btn{
    flex:0 0 auto;
    border:1px solid #2563eb;
    border-radius:8px;
    background:#2563eb;
    color:#ffffff;
    padding:7px 10px;
    font-size:11px;
    line-height:1.1;
    font-weight:800;
    cursor:pointer;
  }
  .patient-node-scenario-btn:hover{
    filter:brightness(1.05);
  }
  .patient-node-scenario-btn:disabled{
    border-color:#cbd5e1;
    background:#e2e8f0;
    color:#64748b;
    cursor:not-allowed;
    filter:none;
  }
  .patient-info-node-action span{
    min-width:0;
    color:#334155;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .node-scenario-detail-card{
    width:min(920px, calc(100vw - 28px));
    max-height:calc(100dvh - 28px);
    background:#f8fafc !important;
    color:#172033;
    position:relative;
  }
  .node-scenario-detail-close{
    position:absolute;
    top:10px;
    right:10px;
    width:30px;
    height:30px;
    border:1px solid #cbd5e1;
    border-radius:999px;
    background:#ffffff;
    color:#1e293b;
    font-size:18px;
    line-height:1;
    cursor:pointer;
  }
  .node-scenario-detail-head{
    padding-right:40px;
    margin-bottom:12px;
  }
  .node-scenario-detail-head p{
    margin:0;
    color:#0f172a;
    font-size:18px;
    line-height:1.2;
    font-weight:900;
  }
  .node-scenario-detail-subtitle{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
    font-weight:700;
  }
  .node-scenario-stage-list{
    display:grid;
    gap:12px;
  }
  .node-scenario-stage-card{
    border:1px solid #d6deeb;
    border-radius:10px;
    background:#ffffff;
    padding:12px;
    box-shadow:0 6px 18px rgba(15,23,42,.06);
  }
  .node-scenario-stage-top{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:14px;
    align-items:start;
  }
  .node-scenario-stage-top h4{
    margin:0 0 5px;
    color:#0f172a;
    font-size:14px;
    line-height:1.2;
    font-weight:900;
  }
  .node-scenario-stage-top p{
    margin:0;
    color:#334155;
    font-size:12px;
    line-height:1.35;
  }
  .node-scenario-stage-metrics{
    display:grid;
    grid-template-columns:repeat(3, minmax(82px, 1fr));
    gap:6px;
    min-width:min(360px, 45vw);
  }
  .node-scenario-risk-metric{
    border:1px solid #bfdbfe;
    border-radius:8px;
    background:#eff6ff;
    padding:7px 8px;
    text-align:center;
  }
  .node-scenario-risk-metric strong{
    display:block;
    color:#1d4ed8;
    font-size:18px;
    line-height:1;
    font-weight:900;
  }
  .node-scenario-risk-metric span,
  .node-scenario-risk-metric em{
    display:block;
    margin-top:4px;
    color:#1e40af;
    font-size:9px;
    line-height:1.12;
    font-style:normal;
    font-weight:800;
    overflow-wrap:anywhere;
  }
  .node-scenario-risk-metric em{
    color:#64748b;
    font-weight:700;
  }
  .node-scenario-risk-metric--danger{
    border-color:#fecaca;
    background:#fff1f2;
  }
  .node-scenario-risk-metric--danger strong,
  .node-scenario-risk-metric--danger span{
    color:#be123c;
  }
  .node-scenario-risk-metric--stable{
    border-color:#bbf7d0;
    background:#f0fdf4;
  }
  .node-scenario-risk-metric--stable strong,
  .node-scenario-risk-metric--stable span{
    color:#15803d;
  }
  .node-scenario-probability{
    min-width:74px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#eff6ff;
    padding:8px;
    text-align:center;
  }
  .node-scenario-probability strong{
    display:block;
    color:#1d4ed8;
    font-size:22px;
    line-height:1;
    font-weight:900;
  }
  .node-scenario-probability span{
    display:block;
    margin-top:3px;
    color:#1e40af;
    font-size:11px;
    font-weight:800;
  }
  .node-scenario-stage-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
  }
  .node-scenario-stage-meta span{
    border:1px solid #e2e8f0;
    border-radius:999px;
    background:#f8fafc;
    color:#475569;
    padding:4px 8px;
    font-size:11px;
    font-weight:800;
  }
  .node-scenario-action-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
  }
  .node-scenario-action-chip{
    border:1px solid #dbeafe;
    border-radius:999px;
    background:#eff6ff;
    color:#1d4ed8;
    padding:4px 8px;
    font-size:10px;
    line-height:1.15;
    font-weight:800;
    overflow-wrap:anywhere;
  }
  .node-scenario-action-chip--driver{
    border-color:#fde68a;
    background:#fffbeb;
    color:#92400e;
  }
  .node-scenario-param-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    margin-top:10px;
  }
  .node-scenario-param{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border:1px solid #e2e8f0;
    border-radius:7px;
    background:#f8fafc;
    padding:6px 8px;
    min-width:0;
  }
  .node-scenario-param span{
    color:#64748b;
    font-size:10px;
    line-height:1.15;
    font-weight:800;
    overflow-wrap:anywhere;
  }
  .node-scenario-param strong{
    color:#0f172a;
    font-size:11px;
    line-height:1.15;
    font-weight:900;
    text-align:right;
    overflow-wrap:anywhere;
  }
  .node-scenario-empty{
    border:1px dashed #cbd5e1;
    border-radius:10px;
    padding:16px;
    color:#64748b;
    background:#ffffff;
    font-size:13px;
    font-weight:800;
  }
  @media (max-width: 760px){
    .node-scenario-stage-top{
      grid-template-columns:1fr;
    }
    .node-scenario-stage-metrics{
      grid-template-columns:1fr;
      min-width:0;
      width:100%;
    }
    .node-scenario-probability{
      width:100%;
      box-sizing:border-box;
    }
    .node-scenario-param-grid{
      grid-template-columns:1fr;
    }
  }
  .pump-setting-card .patient-info-card{
    margin-bottom:10px;
    padding:8px 10px;
  }
  .patient-randomize-btn{
    width:100%;
    margin:0 0 12px;
    padding:9px 12px;
    border:1px solid #334454;
    border-radius:10px;
    background:linear-gradient(180deg,#18212b,#10171f);
    color:#d7e0ea;
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
    cursor:pointer;
    transition:border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  }
  .patient-randomize-btn:hover{
    border-color:#4a657d;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
  }
  .patient-randomize-btn:active{
    transform:translateY(1px);
  }
  .pump-setting-card .patient-randomize-btn{
    margin-bottom:10px;
    padding:8px 10px;
  }
  .support-options{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
  }
.support-option-btn{
  min-height:84px;
    border:1px solid #334454;
    border-radius:0;
    clip-path:polygon(22% 0%, 78% 0%, 78% 10%, 100% 10%, 100% 100%, 0% 100%, 0% 10%, 22% 10%);
    background:linear-gradient(180deg,#18212b,#10171f);
    color:#d7e0ea;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    padding:14px 10px 10px;
    text-align:center;
    cursor:pointer;
    transition:border-color .15s ease, transform .12s ease, box-shadow .15s ease;
    display:flex;
    align-items:center;
  justify-content:center;
}
#supportModal .pump-modal-card{
  background:#F5F5FA;
}
  .support-option-btn:hover{
    border-color:#4a657d;
    box-shadow:0 8px 18px rgba(0,0,0,.28);
  }
  .support-option-btn:active{
    transform:translateY(1px);
  }
  .support-dose-drug{
    margin:-4px 0 10px;
    color:#9fb0bf;
    font-size:12px;
    line-height:1.35;
  }
  .support-dose-preset-options{
    display:grid;
    gap:10px;
    margin:8px 0 2px;
  }
  .support-dose-preset-options[hidden]{
    display:none !important;
  }
  .support-dose-preset-btn{
    width:100%;
    min-height:58px;
    display:grid;
    grid-template-columns:34px minmax(0, 1fr);
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid #334454;
    border-radius:12px;
    background:linear-gradient(180deg,#18212b,#10171f);
    color:#d7e0ea;
    text-align:left;
    cursor:pointer;
    box-sizing:border-box;
    transition:border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  }
  .support-dose-preset-btn:hover{
    border-color:#4a657d;
    box-shadow:0 8px 18px rgba(0,0,0,.28);
  }
  .support-dose-preset-btn:focus-visible{
    outline:2px solid rgba(54,194,255,.55);
    outline-offset:2px;
  }
  .support-dose-preset-btn:active{
    transform:translateY(1px);
  }
  .support-dose-preset-number{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#36c2ff;
    color:#082333;
    font-size:16px;
    font-weight:800;
    line-height:1;
  }
  .support-dose-preset-text{
    min-width:0;
    color:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
  }
  .pump-setting-card{
    width:min(420px, 100%);
  }
  .pump-setting-field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:12px 0 16px;
    color:#d7e0ea;
  }
  .pump-setting-field[hidden]{
    display:none;
  }
  .pump-setting-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#9fb0bf;
  }
  .pump-setting-input-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-radius:10px;
    background:#0b1116;
    border:1px solid #26303a;
  }
  .pump-setting-input-wrap input,
  .pump-setting-input-wrap select{
    flex:1;
    background:transparent;
    border:0;
    color:#e7eef6;
    font-size:16px;
    outline:none;
  }
  .pump-setting-unit{
    color:#9fb0bf;
    font-size:12px;
  }
  .support-bolus-dose-options{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(96px, 1fr));
    gap:10px;
    width:100%;
  }
  .support-bolus-dose-option{
    min-height:52px;
    padding:10px 8px;
    border:1px solid #bcc8d9;
    border-radius:10px;
    background:#ffffff;
    color:#203044;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
  }
  .support-bolus-dose-option:hover{
    border-color:#60A8E7;
  }
  .support-bolus-dose-option:active{
    transform:translateY(1px);
  }
  .support-bolus-dose-option:focus-visible{
    outline:3px solid rgba(96,168,231,.35);
    outline-offset:2px;
  }
  .support-bolus-dose-option.is-active,
  .support-bolus-dose-option[aria-pressed="true"]{
    border-color:#60A8E7;
    background:#60A8E7;
    color:#ffffff;
  }
  .pump-modal-actions{
    display:flex;
    gap:10px;
    justify-content:flex-end;
  }
  .pump-modal-actions button{
    min-width:78px;
  }
  .pump-run-body{
    color:#cdd8e4;
    font-size:14px;
    line-height:1.4;
    margin:0 0 12px;
  }
  .pump-run-body ul{
    margin:8px 0 0;
    padding-left:18px;
  }
  .trends-modal-card{
    position:relative;
    box-sizing:border-box;
    width:50vw;
    height:90vh;
    background:#F5F5FA;
    max-width:calc(100vw - 32px);
    max-height:calc(100vh - 32px);
    display:flex;
    flex-direction:column;
    gap:14px;
    overflow:hidden;
  }
  .trends-modal-head{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding-right:40px;
  }
  .trends-modal-head p{
    margin:0;
  }
  .trends-mode-bar{
    display:flex;
    gap:10px;
  }
  .trends-mode-btn{
    min-height:34px;
    padding:0 14px;
    border-radius:10px;
    border:1px solid #334454;
    background:#10171f;
    color:#c8d6e3;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, color .15s ease;
  }
  .trends-mode-btn:hover{
    border-color:#4a657d;
  }
  .trends-mode-btn.is-active,
  .trends-mode-btn[aria-pressed="true"]{
    border-color:#5c93b5;
    background:#173143;
    color:#eefaff;
  }
  .trends-panel{
    min-height:0;
  }
  .trends-panel[hidden]{
    display:none !important;
  }
  .trends-panel--charts{
    flex:1;
    display:flex;
    min-height:0;
    overflow:hidden;
  }
  .trends-chart-grid{
    flex:1;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto repeat(4, minmax(0, 1fr));
    gap:10px;
    min-height:0;
  }
  .trends-focus-panel{
    display:grid;
    gap:8px;
  }
  .trends-focus-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .trends-focus-caption{
    color:#8ea3b8;
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .trends-focus-range{
    color:#d7e0ea;
    font-size:12px;
    font-weight:700;
  }
  .trends-timeline-selection{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:100%;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(54,194,255,.92), rgba(110,238,255,.72));
  }
  .trends-slider-stack{
    --trends-slider-thumb-size:16px;
    --trends-slider-track-height:8px;
    --trends-slider-side-pad:12px;
    position:relative;
    height:32px;
    margin:0;
    box-sizing:border-box;
  }
  .trends-focus-marker{
    position:absolute;
    top:2px;
    width:14px;
    height:14px;
    transform:translateX(-50%);
    border-radius:50%;
    border:2px solid #0b1116;
    background:#36c2ff;
    box-shadow:0 0 0 2px rgba(54,194,255,.2), 0 6px 12px rgba(0,0,0,.32);
    cursor:pointer;
    z-index:5;
    transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
  }
  .trends-focus-marker::after{
    content:"";
    position:absolute;
    left:50%;
    top:12px;
    width:2px;
    height:10px;
    transform:translateX(-50%);
    border-radius:999px;
    background:currentColor;
    opacity:.88;
  }
  .trends-focus-marker:hover{
    transform:translateX(-50%) scale(1.12);
    box-shadow:0 0 0 3px rgba(54,194,255,.28), 0 8px 16px rgba(0,0,0,.38);
    filter:brightness(1.08);
  }
  .trends-focus-marker:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(139,213,239,.6), 0 8px 16px rgba(0,0,0,.38);
  }
  .trends-focus-marker--ecg{
    background:#1FBB27;
    color:#1FBB27;
  }
  .trends-focus-marker--spo2{
    background:#89D5EF;
    color:#89D5EF;
  }
  .trends-focus-marker--abp{
    background:#DE4F51;
    color:#DE4F51;
  }
  .trends-focus-marker--bis{
    background:#ffcc00;
    color:#ffcc00;
  }
  .trends-slider-track{
    position:absolute;
    top:50%;
    left:var(--trends-slider-side-pad);
    right:var(--trends-slider-side-pad);
    height:var(--trends-slider-track-height);
    transform:translateY(-50%);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    overflow:hidden;
  }
  .trends-range-slider{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    box-sizing:border-box;
    padding:0 var(--trends-slider-side-pad);
    -webkit-appearance:none;
    appearance:none;
    pointer-events:none;
    cursor:pointer;
    background:transparent;
    touch-action:none;
  }
  .trends-range-slider::-webkit-slider-runnable-track{
    height:var(--trends-slider-track-height);
    background:transparent;
  }
  .trends-range-slider::-moz-range-track{
    height:var(--trends-slider-track-height);
    background:transparent;
    border:none;
  }
  .trends-range-slider::-moz-range-progress{
    height:var(--trends-slider-track-height);
    background:transparent;
    border:none;
  }
  .trends-range-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:var(--trends-slider-thumb-size);
    height:var(--trends-slider-thumb-size);
    margin-top:calc((var(--trends-slider-track-height) - var(--trends-slider-thumb-size)) / 2);
    border-radius:50%;
    border:2px solid #dff8ff;
    background:#36c2ff;
    box-shadow:0 0 0 3px rgba(54,194,255,.18);
    pointer-events:auto;
  }
  .trends-range-slider::-moz-range-thumb{
    width:var(--trends-slider-thumb-size);
    height:var(--trends-slider-thumb-size);
    border-radius:50%;
    border:2px solid #dff8ff;
    background:#36c2ff;
    box-shadow:0 0 0 3px rgba(54,194,255,.18);
    pointer-events:auto;
  }
  .trends-range-slider--start{
    z-index:2;
  }
  .trends-range-slider--end{
    z-index:3;
  }
  .trends-chart-card{
    min-height:0;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #283340;
    background:#000000;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    gap:6px;
    overflow:hidden;
  }
  .trends-chart-title{
    color:#d7e0ea;
    font-size:13px;
    font-weight:700;
    letter-spacing:.03em;
  }
  .trends-chart-svg{
    width:100%;
    height:100%;
    display:block;
    min-height:0;
  }
  .trends-panel--journal{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .trends-filter-bar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .trends-filter-btn{
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid #334454;
    background:#10171f;
    color:#c8d6e3;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, color .15s ease;
  }
  .trends-filter-btn:hover{
    border-color:#4a657d;
  }
  .trends-filter-btn.is-active,
  .trends-filter-btn[aria-pressed="true"]{
    border-color:#5c93b5;
    background:#173143;
    color:#eefaff;
  }
  .trends-log-list{
    min-height:220px;
    max-height:52vh;
    overflow:auto;
    display:grid;
    gap:10px;
    padding-right:4px;
  }
  .trends-log-entry{
    padding:12px 14px;
    border-radius:12px;
    border:1px solid #283340;
    background:#0b1116;
  }
  .trends-log-time{
    display:block;
    margin-bottom:6px;
    color:#8ea3b8;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
  }
  .trends-log-text{
    color:#d7e0ea;
    font-size:14px;
    line-height:1.4;
  }
  .trends-log-empty{
    padding:22px 16px;
    border-radius:12px;
    border:1px dashed #334454;
    color:#8ea3b8;
    text-align:center;
    font-size:14px;
  }
  .drug-map-menu{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:min(420px, 100vw);
    height:100vh;
    max-height:none;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#161d28,#0f141d);
    border:1px solid #2b3947;
    border-radius:0;
    box-shadow:0 14px 32px rgba(0,0,0,.45);
    z-index:1300;
    transform:translateX(18px);
    opacity:0;
    pointer-events:none;
    transition:transform .18s ease, opacity .18s ease;
  }
  .drug-map-menu[hidden]{
    display:none !important;
  }
  .drug-map-menu.is-open{
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
  }
  .drug-map-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 14px 10px;
    border-bottom:1px solid #263544;
  }
  .drug-map-menu-head h3{
    margin:0;
    color:#dce7f3;
    font-size:18px;
  }
  .drug-map-close{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    padding:0;
    line-height:1;
    border-radius:8px;
    border:1px solid #304254;
    background:#111826;
    color:#cdd8e4;
    font-size:16px;
    cursor:pointer;
  }
  .drug-map-menu-body{
    overflow:auto;
    padding:12px 14px 14px;
    display:grid;
    gap:12px;
  }
  .drug-map-group{
    min-height:0;
    padding:0;
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    gap:6px;
  }
  .drug-map-group h4{
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    text-align:center;
    color:#c8d4e0;
    font-size:15px;
    line-height:1.15;
    letter-spacing:.02em;
  }
  .drug-map-group h4::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:8px;
    background:#BEC2CA;
  }
  .drug-map-title-btn{
    margin:0;
    padding:0;
    border:none;
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    text-align:center;
    color:#c8d4e0;
    font-size:15px;
    line-height:1.15;
    letter-spacing:.02em;
    cursor:pointer;
  }
  .drug-map-title-btn::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:8px;
    background:#BEC2CA;
  }
  .drug-map-buttons{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:max-content;
    gap:2px 3px;
    padding-left:0;
    min-height:0;
    align-content:start;
    overflow:hidden;
  }
  .drug-map-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    width:100%;
    min-width:0;
    align-self:start;
    box-sizing:border-box;
    border:none;
    border-radius:999px;
    background:transparent;
    color:#ffffff;
    padding:0 10px 0 21px;
    cursor:pointer;
    min-height:20px;
    height:auto;
    aspect-ratio:2 / 1;
    font-size:8px;
    line-height:1;
    white-space:nowrap;
    word-break:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    text-shadow:0 1px 2px rgba(5, 22, 44, .35);
    z-index:0;
    transition:filter .16s ease;
    user-select:none;
    -webkit-user-select:none;
  }
  .drug-map-btn-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:fill;
    display:block;
    pointer-events:none;
    z-index:0;
  }
  .drug-map-btn-label{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-transform:uppercase;
    font-size: 15px;
  }
  .drug-map-btn::before{
    content:none;
  }
  .drug-map-btn::after{
    content:none;
  }
  .drug-map-btn span.syringe-plunger{
    display:none;
  }
  .drug-map-btn:hover{
    border-color:#36c2ff;
    background-color:transparent;
    color:#ffffff;
    filter:brightness(1.05);
  }
  .drug-drag-ghost{
    position:fixed;
    z-index:5000;
    pointer-events:none;
    object-fit:contain;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));
  }
  body.is-drug-dragging,
  body.is-drug-dragging *{
    user-select:none !important;
    -webkit-user-select:none !important;
    -webkit-touch-callout:none;
  }
  .pump-slot.drag-drop-target--active,
  .support-bolus-btn.drag-drop-target--active,
  .support-cell.drag-drop-target--active,
  .infusion-pumps.drag-drop-target--active{
    outline:2px solid rgba(54,194,255,.9);
    outline-offset:2px;
  }
  @media (max-width: 900px){
    .main-lower{
      grid-template-columns:1fr;
    }
    .infusion-pumps-split{
      grid-template-columns:1fr;
      gap:12px;
    }
    .pump-slot-image{
      width:66%;
      max-height:clamp(76px, 12vh, 124px);
    }
  .support-column{
      grid-template-columns:repeat(2, minmax(0, 1fr));
      grid-template-rows:none;
    }
  }
  @media (max-width: 700px){
    .support-options{
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .support-column{
      grid-template-columns:1fr;
    }
    .pump-grid{ grid-template-columns:1fr; }
    .pump-slot-image{
      width:74%;
      max-height:clamp(86px, 22vw, 154px);
    }
  }

  /* ===== CONTROL DOCK (нижній блок) ===== */
  .control-dock{
    grid-row:1; grid-column:3;
    position:relative;
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-right:0;
    margin-bottom:25px;
    background:linear-gradient(180deg, #141a21, var(--dock));
    border:1px solid var(--dock-border);
    border-radius:12px;
    padding:clamp(10px, 1vw, 14px);
    padding-bottom:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    width:auto;
    height:calc(100% - 25px);
    min-height:0;
    max-height:calc(100% - 25px);
    overflow:hidden;
    align-self:stretch;
    justify-self:stretch;
  }
.control-dock-ad{
  width:100%;
  height:var(--topbar-h);
  flex:0 0 var(--topbar-h);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #d8dfeb;
  border-radius:12px;
  background:#F5F5FA;
  color:#0f172a;
  font-size:24px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:.02em;
  }

  .control-dock-ad-title{
    display:block;
  }

  .control-dock-ad-subtitle{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:11px;
    font-weight:600;
    line-height:1;
    letter-spacing:.04em;
  }

  .control-dock-header{
    display:flex;
    flex-direction:column;
    justify-content:center;
    flex:0 0 auto;
    min-height:46px;
    padding-bottom:10px;
    box-sizing:border-box;
  }
  .control-dock-header::after{
    content:"";
    height:1px;
    margin-top:8px;
    background:#BEC2CA;
  }
  .control-dock .control-dock-title{
    margin:0;
    color:#c6d3df;
    letter-spacing:.03em;
    text-transform:uppercase;
    font-size:14px;
    font-weight:700;
  }
  .control-dock-drugs{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    background:transparent;
    border:0;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    transition:none;
  }
  .control-dock--locked .control-dock-drugs{
    filter:blur(8px) saturate(.9);
    pointer-events:none;
    user-select:none;
    transform:scale(1.015);
  }
  .control-dock-lock{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:20px;
    text-align:center;
    background:rgba(10, 14, 18, .42);
    border-radius:12px;
  }
  .control-dock-lock-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:26px;
    box-shadow:0 8px 22px rgba(0,0,0,.28);
  }
  .control-dock-lock-link{
    max-width:270px;
    color:#eef7ff;
    font-size:15px;
    font-weight:600;
    line-height:1.45;
    text-decoration:none;
  }
  .control-dock-lock-link:hover{
    text-decoration:underline;
  }
  .control-dock-lock-link:focus-visible{
    outline:2px solid rgba(54,194,255,.65);
    outline-offset:4px;
    border-radius:8px;
  }
  .control-dock-drugs.is-open{
    box-shadow:none;
  }
  .control-dock-drugs-body{
    flex:1 1 auto;
    min-height:0;
    height:100%;
    max-height:100%;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:0 4px 0 0;
    scrollbar-gutter:stable;
    display:grid;
    grid-template-rows:none;
    grid-auto-rows:max-content;
    align-content:start;
    gap:8px;
    box-sizing:border-box;
  }
  .control-dock-empty{
    margin:auto 0 0;
    padding:0 clamp(10px, 1vw, 14px) clamp(10px, 1vw, 14px) 0;
    color:var(--txt-soft);
    text-align:left;
    font-size:14px;
    line-height:1.45;
  }
  .blood-tests-panel{
    grid-column:3;
    grid-row:2;
    margin-top:20px;
    min-height:0;
    padding:8px clamp(10px, 1vw, 14px) 10px;
    border:1px solid #d7dfeb;
    border-radius:12px;
    background:var(--PrimaryColor);
    box-shadow:0 6px 16px rgba(100,116,139,.10);
    display:grid;
    align-content:start;
  }
  .control-dock h2, .control-dock h3{ margin:12px 0 8px; color:#c6d3df; }
  .group{
    border:1px solid #26303a; border-radius:10px; padding:12px; margin-bottom:12px;
    background:#0c1116;
  }
.field {
  display: grid;
  grid-template-columns: 1fr; 
  gap: 8px;
  align-items: center;
  margin: 8px 0;
}
  .field label{ color:#a8b3bf; font-size:14px; }
  .field input[type="number"], .field input[type="range"], .field select{ width:100%; }

  input,select,button{
    background:#F8F7FC; color:var(--txt); border:1px solid #E5E6ED; border-radius:8px; padding:8px 10px;
  }
  input[type="range"]{ accent-color:var(--accent); }
  button.primary{ background:#F8F7FC; border-color:#E5E6ED; }
  /* Примусити контейнери під SVG займати весь блок */
  #ecgChart, #plethChart, #abpChart{ width:auto !important; height:auto !important; }

  /* D3 осі (щоб пасували стилю) */
  .axis path, .axis line{ stroke:#2c3944; }
  .axis text{ fill:#9fb0bf; font-size:10px; }

/* Тільки для панелі препаратів — робимо одну колонку */
#drugPanel .field{
  display: grid;              /* зберігаємо той самий підхід */
  grid-template-columns: 1fr; /* одна колонка => кожен елемент з нового рядка */
  gap: 6px;
  align-items: start;
}

/* Трошки косметики */
#drugPanel .field label{
  margin: 0;
}

#drugPanel .field input,
#drugPanel .field select,
#drugPanel .field button{
  width: 100%;
  justify-self: stretch;
}
/* Лейаут "з нового рядка" для окремих полів */
.field--stack{
  grid-template-columns: 1fr;   /* одна колонка */
}
.field--stack > *{
  grid-column: 1 / -1;          /* елементи займають всю ширину */
}
.field--stack label{
  margin-bottom: 6px;           /* невеликий відступ під підписом */
}
/* Стековий режим для всієї групи (всі .field всередині — з нового рядка) */
.group--stack .field{
  display: grid;
  grid-template-columns: 1fr;  /* одна колонка */
  gap: 6px;
  margin: 8px 0;
}
.group--stack .field > *{
  grid-column: 1 / -1;         /* елемент займає всю ширину */
}
.group--stack .field label{
  margin-bottom: 4px;          /* невеликий відступ під підписом */
}

/* Кнопки — на окремому рядку, на всю ширину */
.group--stack .field.actions label{ display:none; }
.group--stack .field.actions button{ width: 100%; }

/* (необов’язково) зробити select/input на всю ширину в стек-групі */
.group--stack .field select,
.group--stack .field input{ width: 100%; }

/* Стек-вигляд на 3 колонки для дрібних полів */
.group--stack .field.three{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:8px;
}
.group--stack .field.three > div{ display:flex; flex-direction:column; }

/* Список інфузій */
#pumpList{ display:flex; flex-direction:column; gap:8px; }

/* Картка інфузії */
.pump-card{
  display:grid;
  grid-template-columns: 60px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #26303a;
  border-radius:10px;
  background:#0b1116;
}

/* Шприц (SVG) */
.syringe{
  width:60px; height:140px;
}
.syringe .barrel{ fill:#1a2430; stroke:#314457; stroke-width:1.2; }
.syringe .fluid{ fill:#2ed3ff; }
.syringe .plunger{ fill:#7b8a99; }

/* Керування інфузією в картці */
.pump-controls{
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap:8px;
}
.pump-controls .row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pump-controls .rate{ display:flex; gap:8px; align-items:center; }
.pump-controls input[type="range"]{ width:200px; }
.pump-controls .meta{ font-size:12px; color:#9fb0bf; }


.flex-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.full-width {
  font-size: small;
  flex: 0 0 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.third-width {
  font-size: 7px;
  flex: 1;
  min-height: 30px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid #3a4756;
  background: linear-gradient(180deg,#1d2731,#121921);
  color: #dce8f4;
  font-weight: 700;
  cursor: pointer;
  padding: 10px;
}
.third-width.is-active,
.third-width[aria-pressed="true"] {
  border-color:#6bb7df;
  background:linear-gradient(180deg,#285370,#173143);
  color:#eefaff;
}

body{
  background:linear-gradient(180deg, var(--SecondaryColor) 0%, #f4f6fb 100%);
  color:var(--txt);
}

.sim-topbar{
  border-color:var(--dock-border);
  background:var(--PrimaryColor);
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.sim-topbar,
.left-rail-subpanel,
.monitor,
.operation-status,
.infusion-pumps,
.support-cell,
.control-dock{
  background: #F5F5FA;
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.sim-topbar-section{
  background:transparent;
}

.sim-topbar-username,
.sim-topbar-rank,
.sim-topbar-value{
  color:var(--txt-strong);
}

.sim-topbar-label,
.sim-topbar-welcome,
.sim-topbar-scale-title,
.brandbar,
.clinical-card .section-title,
.control-dock .field label,
.support-cell-status,
.pump-setting-label,
.pump-setting-unit,
.pump-controls .meta,
.trends-focus-caption,
.trends-log-time{
  color:var(--txt-soft);
}

.sim-topbar-action,
.sim-topbar-control-btn,
.sim-topbar-icon-btn,
.third-width,
.support-modal-close,
.drug-map-close{
  border-color:#bcc8d9;
  background:#F8F7FC;
  color:var(--txt-strong);
}

.sim-topbar-control-btn{
  background:#ffffff;
}

.sim-topbar-action,
.sim-topbar-icon-btn{
  background:#ffffff;
}

.sim-topbar-scale-options .third-width{
  background:#ffffff;
  border-color:#bcc8d9;
  color:var(--txt-strong);
  font-size:14px;
  line-height:1.1;
}

.sim-topbar-scale-options .third-width.is-active,
.sim-topbar-scale-options .third-width[aria-pressed="true"]{
  border-color:#60A8E7;
  background:#60A8E7;
  color:#ffffff;
}

.control-dock button.primary{
  border-color:#6fb3d3;
  background:linear-gradient(180deg, #79dcff, #36c2ff);
  color:#082333;
}

.infusion-pumps,
.infusion-status-panel,
.control-dock{
  background:linear-gradient(180deg, var(--PrimaryColor) 0%, var(--surface-soft) 100%);
  border:1px solid var(--dock-border);
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.control-dock-drugs{
  background:transparent;
  border-color:transparent;
}

.control-dock-drugs.is-open{
  box-shadow:none;
}

.monitor{
  background:linear-gradient(180deg, var(--PrimaryColor) 0%, var(--surface-soft) 100%);
  border:3px solid #E5E6ED;
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.left-rail{
  background:none;
  border:0;
  box-shadow:none;
  padding:0;
}

.left-rail-subpanel,
.clinical-card,
.group,
.support-cell,
.pump-modal-card,
.trends-chart-card,
.trends-log-entry{
  border-color:#d7dfeb;
  background:#F5F5FA;
}

.left-rail-subpanel-title,
.clinical-card,
.control-dock h2,
.control-dock h3,
.infusion-pumps h3,
.support-cell-title,
.compression-count,
.pump-modal-card p,
.trends-modal-head p,
.trends-focus-range,
.trends-chart-title,
.trends-log-text,
.drug-map-menu-head h3,
.drug-map-group h4,
.drug-map-title-btn{
  color:var(--txt-strong);
}

.clinical-card{
  box-shadow:none;
}

.support-cell{
  box-shadow:0 6px 16px rgba(100,116,139,.10);
  color:var(--txt-strong);
  background:#F5F5FA !important;
}

.support-cell--infusion,
.support-cell--steamer{
  justify-content:center;
  align-items:center;
  padding:clamp(42px, 3.5vw, 56px) clamp(22px, 1.8vw, 34px) clamp(32px, 2.8vw, 44px);
  border-radius:18px;
  border-color:#d8dbe4;
  background:#F5F5FA !important;
  box-shadow:0 4px 10px rgba(70,78,94,.18), inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;
}

.support-cell--infusion .support-cell-power-icon,
.support-cell--steamer .support-cell-power-icon{
  position:absolute;
  top:clamp(14px, 1.2vw, 20px);
  left:clamp(14px, 1.2vw, 20px);
  width:15px;
  height:15px;
  object-fit:contain;
  display:block;
}

.support-cell-infusion-frame{
  width:clamp(118px, 72%, 210px);
  max-width:100%;
  aspect-ratio:1 / 1;
  border:3px solid #b9bbc2;
  border-radius:clamp(18px, 2vw, 28px);
  display:grid;
  place-items:center;
  padding:0;
  box-sizing:border-box;
  background:#F1F1F7;
}

.support-cell-infusion-drug-image{
  height:140%;
  max-width:140%;
  object-fit:contain;
  display:block;
}

.support-cell-infusion-drug-image[hidden],
.support-cell-infusion-frame[hidden]{
  display:none;
}

.support-cell--infusion.has-selected-infusion,
.support-cell--steamer.has-selected-infusion{
  padding:clamp(26px, 2.4vw, 38px) clamp(18px, 1.5vw, 28px) clamp(20px, 2vw, 30px);
}

.support-cell--infusion .support-cell-title,
.support-cell--steamer .support-cell-title{
  width:100%;
  height:auto;
  display:block;
  margin:0;
  padding:0;
  align-self:center;
  justify-self:center;
  color:#424b59;
  font-size:20px;
  font-weight:400;
  line-height:1.1;
  letter-spacing:0;
  text-align:center;
}

.support-cell--infusion .support-cell-footer--infusion,
.support-cell--steamer .support-cell-footer--infusion{
  bottom:clamp(8px, 1vh, 12px);
}

.support-cell--infusion .support-cell-status,
.support-cell--steamer .support-cell-status{
  color:#424b59;
  font-size:clamp(9px, .8vw, 12px);
}

.support-cell--infusion.is-running .support-cell-power-icon,
.support-cell--steamer.is-running .support-cell-power-icon{
  filter:drop-shadow(0 0 6px rgba(67,255,127,.5));
}

.support-cell:hover,
.pump-slot:hover{
  border-color:#E5E6ED;
}

.support-cell:focus-visible,
.pump-slot:focus-visible,
.pump-slot-expand:hover,
.pump-slot-expand:focus-visible{
  border-color:#36c2ff;
  box-shadow:0 0 0 2px rgba(54,194,255,.18);
}

.infusion-pumps-lock{
  background:rgba(231,235,244,.88);
}

.infusion-pumps-lock-link{
  color:var(--txt-strong);
}

.control-dock-lock{
  background:rgba(231,235,244,.88);
}

.control-dock-lock-link{
  color:var(--txt-strong);
}

.control-dock .group{
  background:#ffffff;
}

.control-dock input,
.control-dock select,
.control-dock button,
.drug-map-btn{
  border:none;
  background-color:transparent;
  color:#ffffff;
}

.control-dock .drug-map-title-btn{
  color:var(--txt-strong);
}

.control-dock .drug-map-btn{
  width:100%;
  min-height:62px;
  height:62px;
  aspect-ratio:auto;
  padding-left:24px;
}

.support-option-btn{
  border:1px solid #d7dfeb;
  border-radius:12px;
  clip-path:none;
  background:#F8F7FC;
  color:var(--txt-strong);
  box-shadow:none;
}

.support-option-btn:hover{
  border-color:#bec8d6;
  background:#ffffff;
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.support-dose-preset-btn{
  border:1px solid #d7dfeb;
  background:#F8F7FC;
  color:var(--txt-strong);
  box-shadow:none;
}

.support-dose-preset-btn:hover{
  border-color:#bec8d6;
  background:#ffffff;
  box-shadow:0 6px 16px rgba(100,116,139,.10);
}

.trends-mode-btn,
.trends-filter-btn{
  border:1px solid #bcc8d9;
  background:#F8F7FC;
  color:var(--txt-strong);
}

.control-dock input,
.control-dock select{
  background:#ffffff;
}

.trends-mode-btn.is-active,
.trends-mode-btn[aria-pressed="true"],
.trends-filter-btn.is-active,
.trends-filter-btn[aria-pressed="true"],
.third-width.is-active,
.third-width[aria-pressed="true"]{
  border-color:#6fb3d3;
  background:linear-gradient(180deg, #79dcff, #36c2ff);
  color:#082333;
}

.pump-modal-card{
  box-shadow:0 14px 30px rgba(100,116,139,.16);
}

.support-modal-close:hover{
  border-color:#94a9c3;
  background:linear-gradient(180deg, #f8fbff, #e4ebf5);
}

.support-dose-drug,
.trends-log-empty{
  color:var(--txt-soft);
}

.pump-setting-field,
.pump-run-body{
  color:var(--txt);
}

.pump-setting-input-wrap{
  background:#ffffff;
  border-color:#d7dfeb;
}

.pump-setting-input-wrap input,
.pump-setting-input-wrap select{
  color:var(--txt-strong);
}

.trends-chart-card,
.trends-log-entry{
  box-shadow:none;
}

.trends-chart-card{
  background:#000000 !important;
  border-color:#2f3c4d !important;
}

.trends-slider-track{
  background:rgba(100,116,139,.14);
}

.trends-chart-title,
.trends-log-text,
.pump-run-body{
  color:var(--txt);
}

.trends-log-empty{
  border-color:#c7d1df;
  background:rgba(255,255,255,.6);
}

.drug-map-menu{
  background:linear-gradient(180deg, var(--PrimaryColor) 0%, var(--surface-soft) 100%);
  border-color:var(--dock-border);
  box-shadow:0 14px 32px rgba(100,116,139,.16);
}

.drug-map-menu-head{
  border-bottom-color:#d7dfeb;
}

.drug-map-btn:hover{
  border-color:#36c2ff;
  background-color:transparent;
  color:#ffffff;
  filter:brightness(1.05);
}

.control-dock .drug-map-btn:hover{
  background:none;
}

.control-dock .drug-map-btn:focus-visible{
  outline:2px solid rgba(96,168,231,.55);
  outline-offset:2px;
}

.group{
  border-color:#d7dfeb;
}

.field label{
  color:var(--txt-soft);
}

.axis path,
.axis line{
  stroke:#c7d1df;
}

.axis text{
  fill:var(--txt-soft);
}

.pump-card{
  border-color:#d7dfeb;
  background:linear-gradient(180deg, #ffffff, var(--PrimaryColor));
}

body.simulator-page{
  --left-rail-w:calc(432px * 0.8);
  --control-dock-w:425px;
  --support-column-w:248px;
  --vitals-w:260px;
  --sim-gap:16px;
  --main-lower-gap:12px;
  --topbar-h:86px;
  --topbar-logo-basis:58px;
  --topbar-welcome-basis:130px;
  --topbar-score-basis:138px;
  --topbar-icon-basis:58px;
  --topbar-timer-box-h:46px;
  --topbar-timer-box-w:96px;
  --topbar-control-size:46px;
  --topbar-icon-size:38px;
  --topbar-action-icon-size:16px;
  --topbar-logo-size:72px;
  position:relative;
  display:block;
  min-height:100dvh;
  padding:0;
  overflow:hidden;
  background:#E7EBF4;
}

.simulator-shell{
  --sim-shell-scale-x:1;
  --sim-shell-scale-y:1;
  position:fixed;
  left:50%;
  top:50%;
  width:1920px;
  height:1080px;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  gap:var(--sim-gap);
  padding:var(--sim-gap) var(--sim-side-gutter-design);
  box-sizing:border-box;
  background:#E7EBF4;
  transform:translate(-50%, -50%) scale(var(--sim-shell-scale-x), var(--sim-shell-scale-y));
  transform-origin:center center;
}

.simulator-disclaimer{
  margin:0;
  padding:0 10px;
  color:#4e5666;
  font-size:clamp(8.064px, .6336vw, 13.824px);
  font-weight:400;
  line-height:1;
  text-align:center;
  white-space:normal;
}

.simulator-unsupported{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
  z-index:1500;
}

.simulator-unsupported-card{
  max-width:520px;
  padding:24px 28px;
  border:1px solid #d7dfeb;
  border-radius:20px;
  background:linear-gradient(180deg, #ffffff 0%, var(--PrimaryColor) 100%);
  color:var(--txt-strong);
  font-size:20px;
  font-weight:600;
  line-height:1.5;
  text-align:center;
  box-shadow:0 18px 40px rgba(100,116,139,.16);
}

body.simulator-page .sim-topbar-row{
  display:flex;
  align-items:stretch;
  gap:var(--sim-gap);
}
body.simulator-page .control-dock-ad--top{
  width:var(--control-dock-w);
  min-width:var(--control-dock-w);
  max-width:var(--control-dock-w);
  flex:0 0 var(--control-dock-w);
}
body.simulator-page .sim-topbar{
  width:calc(100% - var(--control-dock-w) - var(--sim-gap));
  max-width:calc(1920px - var(--control-dock-w) - var(--sim-gap));
  margin:0;
  padding:0;
  flex-wrap:nowrap;
  justify-content:flex-start;
  gap:0;
}
body.simulator-page .sim-topbar-section{
  flex:1 1 0;
  min-width:0;
  padding:10px;
  gap:8px;
  margin:0;
  justify-content:center;
  align-items:center;
  text-align:center;
}
body.simulator-page .sim-topbar-section > *{
  margin-inline:auto;
}
body.simulator-page .sim-topbar-section + .sim-topbar-section::before{
  top:12px;
  bottom:12px;
}
body.simulator-page .sim-topbar-section--logo{
  flex:0 0 var(--topbar-logo-basis);
}
body.simulator-page .sim-topbar-section--welcome{
  flex:0 0 var(--topbar-welcome-basis);
}
body.simulator-page .sim-topbar-section--score{
  flex:0 0 var(--topbar-score-basis);
}
body.simulator-page .sim-topbar-section--icon{
  flex:0 0 var(--topbar-icon-basis);
  padding-inline:10px;
}
body.simulator-page .sim-topbar-section--timer{
  flex:1 1 0;
  margin:0;
}
body.simulator-page .sim-topbar-section--scale,
body.simulator-page .sim-topbar-section--trends,
body.simulator-page .sim-topbar-section--hint{
  flex:1 1 0;
}
body.simulator-page .sim-topbar-section--hint{
  flex:0 0 var(--topbar-icon-basis);
  padding-inline:10px;
}
body.simulator-page .sim-topbar-section--trends{
  padding-inline:10px;
}
body.simulator-page .sim-topbar-section--scale{
  padding-inline:10px;
}
body.simulator-page .sim-topbar-timer-box{
  min-height:var(--topbar-timer-box-h);
  min-width:var(--topbar-timer-box-w);
  padding:0 12px;
}
body.simulator-page .sim-topbar-action,
body.simulator-page .sim-topbar-control-btn,
body.simulator-page .sim-topbar-icon-btn{
  min-height:var(--topbar-control-size);
}
body.simulator-page .sim-topbar-control-btn{
  width:var(--topbar-control-size);
  min-width:var(--topbar-control-size);
}
body.simulator-page .sim-topbar-icon-btn{
  width:var(--topbar-icon-size);
  min-width:var(--topbar-icon-size);
}
body.simulator-page .sim-topbar-action-icon,
body.simulator-page .sim-topbar-control-icon{
  width:var(--topbar-action-icon-size);
  height:var(--topbar-action-icon-size);
}
body.simulator-page .logo-image{
  padding-left: 10px;
  width:var(--topbar-logo-size);
  height:var(--topbar-logo-size);
}
body.simulator-page .sim-topbar-value{
  font-size:18px;
}
body.simulator-page .sim-topbar-section--timer .sim-topbar-value{
  font-size:26px;
}
body.simulator-page .sim-topbar-scale{
  gap:4px;
}
body.simulator-page .sim-topbar-scale-options{
  gap:6px;
}
body.simulator-page .sim-topbar-scale-options .third-width{
  padding:9px;
  font-size:9px;
  border-radius:8px;
}
body.simulator-page .app{
  height:100%;
  grid-template-columns:var(--left-rail-w) minmax(0, 1fr) var(--control-dock-w);
  grid-template-rows:minmax(0, 1fr) auto;
  column-gap:var(--sim-gap);
  row-gap:0;
}
body.simulator-page .app > main{
  grid-column:2;
  grid-row:1 / span 2;
  display:grid;
  grid-template-rows:minmax(0, 1.62fr) minmax(0, 1fr);
}
body.simulator-page .left-rail{
  grid-column:1;
  grid-row:1 / span 2;
  height:100%;
}
body.simulator-page .control-dock{
  grid-column:3;
  grid-row:1;
  height:calc(100% - 25px);
  max-height:calc(100% - 25px);
}
body.simulator-page .blood-tests-panel{
  grid-column:3;
  grid-row:2;
}
body.simulator-page .main-lower{
  grid-template-columns:minmax(0, 1fr) minmax(0, var(--support-column-w));
  gap:var(--main-lower-gap);
}
body.simulator-page .infusion-pumps-split{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}
body.simulator-page .support-column{
  grid-template-columns:none;
  grid-template-rows:repeat(2, minmax(0, 1fr));
}

@media (max-width: 900px), (max-height: 640px){
  body.simulator-page{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
  }

  body.simulator-page .simulator-shell,
  body.simulator-page .pump-modal,
  body.simulator-page .defib-shock-flash{
    display:none !important;
  }

  body.simulator-page .simulator-unsupported{
    display:flex;
  }
}

body.simulator-page .sim-topbar-scale-options .third-width{
  background:#ffffff;
  border-color:#bcc8d9;
  color:var(--txt-strong);
}

body.simulator-page .sim-topbar-scale-options .third-width.is-active,
body.simulator-page .sim-topbar-scale-options .third-width[aria-pressed="true"]{
  background:#60A8E7;
  border-color:#60A8E7;
  color:#ffffff;
}

#trendsModal .pump-modal-card,
#trendsModal .trends-modal-card,
#trendsModal .trends-panel,
#trendsModal .trends-chart-grid{
  background:#F5F5FA !important;
}

#trendsModal .trends-chart-card,
#trendsModal .trends-log-entry,
#trendsModal .trends-log-empty{
  border-color:#d7dfeb !important;
}

#trendsModal .trends-chart-card{
  background:#000000 !important;
  border-color:#2f3c4d !important;
}

#clinicalScenarioModal .pump-modal-card,
#clinicalScenarioModal .clinical-scenario-modal-card{
  background:#F5F5FA !important;
}

#ventSettingsModal .pump-modal-card,
#ventSettingsModal .vent-settings-modal-card{
  background:#F5F5FA !important;
}

#clinicalScenario,
.left-rail-subpanel--compressions,
.left-rail-subpanel--defib-main,
.left-rail-subpanel--diagnosis,
.left-rail-subpanel--vent{
  background:#ffffff !important;
}

.left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-slow{
  background:#e8f3ff !important;
  border-color:#38a5ff !important;
  box-shadow:0 0 0 2px rgba(56,165,255,.18), 0 0 24px rgba(56,165,255,.34) !important;
}

.left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-target{
  background:#e8fff1 !important;
  border-color:#1fbf66 !important;
  box-shadow:0 0 0 2px rgba(31,191,102,.18), 0 0 24px rgba(31,191,102,.34) !important;
}

.left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-fast{
  background:#fff2df !important;
  border-color:#f59e0b !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.2), 0 0 24px rgba(245,158,11,.34) !important;
}

#pumpModal .pump-modal-card,
#pumpSettingModal .pump-modal-card,
#pumpRunModal .pump-modal-card,
#pumpBolusModal .pump-modal-card,
#supportBolusModal .pump-modal-card{
  background:#F5F5FA !important;
}

#pumpRunModal .pump-modal-actions{
  gap:20px;
  margin-top:22px;
}

#pumpRunModal .pump-modal-actions button{
  min-width:156px;
  min-height:64px;
  padding:18px 30px;
  border-radius:16px;
  font-size:28px;
  font-weight:800;
}

#pumpRunModal .pump-modal-actions button.primary{
  box-shadow:0 14px 28px rgba(37, 99, 235, .24);
}

.treatment-success-card[role="dialog"]{
  background:#254684 !important;
}

.drug-map-menu{
  background:#F5F5FA !important;
}

.sim-music-player{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:min(552px, calc(100vw - 44px));
  padding:10px 14px 14px;
  border:1px solid #bcc8d9;
  border-radius:14px;
  background:rgba(245, 245, 250, 0.98);
  box-shadow:0 12px 36px rgba(32, 48, 65, 0.2);
  z-index:140;
  display:flex;
  flex-direction:column;
  gap:8px;
  transition:height 0.22s ease, padding 0.22s ease, box-shadow 0.22s ease;
}

.sim-music-player-line{
  width:100%;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, #60a8e7, #36c2ff);
  opacity:0;
  transform:scaleX(0.3);
  transition:opacity 0.2s ease, transform 0.2s ease;
}

.sim-music-player-content{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:320px;
  opacity:1;
  overflow:hidden;
  transition:max-height 0.22s ease, opacity 0.22s ease;
}

.sim-music-player-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sim-music-player-title{
  margin:0;
  font-size:17px;
  font-weight:700;
  color:#213041;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sim-music-player-close,
.sim-music-player-btn{
  border:1px solid #bcc8d9;
  border-radius:10px;
  background:#ffffff;
  color:#213041;
  cursor:pointer;
}

.sim-music-player-close{
  min-width:36px;
  height:36px;
  font-size:18px;
}

.sim-music-player-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.sim-music-player-btn{
  min-height:41px;
  min-width:53px;
  padding:0 17px;
  font-size:18px;
  font-weight:700;
}

.sim-music-player-btn--play{
  min-width:108px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sim-music-player-play-icon{
  width:20px;
  height:20px;
  object-fit:contain;
  display:block;
}

.sim-music-player-progress-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.sim-music-player-progress{
  width:100%;
  accent-color:#60a8e7;
}

.sim-music-player-progress-time{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#6f7a89;
  font-size:14px;
  font-weight:600;
}

.sim-music-player-btn:active,
.sim-music-player-close:active{
  background:#60a8e7;
  border-color:#60a8e7;
  color:#ffffff;
}

#topbarMusicBtn.is-active{
  background:#60a8e7;
  border-color:#60a8e7;
}

#topbarMusicBtn.is-active .sim-topbar-action-icon{
  filter:brightness(0) invert(1);
}

.sim-music-player-btn.is-disabled{
  opacity:0.45;
  cursor:not-allowed;
}

.sim-music-player.is-collapsed{
  padding:7px 14px;
  box-shadow:0 8px 24px rgba(32, 48, 65, 0.16);
}

.sim-music-player.is-collapsed .sim-music-player-line{
  opacity:1;
  transform:scaleX(1);
}

.sim-music-player.is-collapsed .sim-music-player-content{
  max-height:0;
  opacity:0;
}

body.black-theme{
  background:#000000 !important;
}

body.black-theme .simulator-shell{
  background:#000000 !important;
}

body.black-theme .sim-topbar,
body.black-theme .control-dock-ad,
body.black-theme .left-rail-subpanel,
body.black-theme .monitor,
body.black-theme .operation-status,
body.black-theme .support-bolus-btn,
body.black-theme .infusion-visual-panel,
body.black-theme .infusion-pumps,
body.black-theme .infusion-status-panel,
body.black-theme .support-cell,
body.black-theme .control-dock,
body.black-theme .blood-tests-panel,
body.black-theme .pump-modal-card,
body.black-theme .trends-modal-card,
body.black-theme .sim-music-player{
  background:#1E293B !important;
  border-color:#ffffff !important;
  box-shadow:none !important;
}

body.black-theme .sim-topbar{
  background:#000000 !important;
}

body.black-theme .sim-topbar *,
body.black-theme .control-dock-ad *,
body.black-theme .left-rail *,
body.black-theme .operation-status *,
body.black-theme .support-bolus-btn *,
body.black-theme .infusion-pumps *,
body.black-theme .support-column *,
body.black-theme .control-dock *,
body.black-theme .blood-tests-panel *,
body.black-theme .pump-modal-card *,
body.black-theme .trends-modal-card *,
body.black-theme .sim-music-player *{
  color:#ffffff !important;
}

body.black-theme .sim-topbar-action,
body.black-theme .sim-topbar-control-btn,
body.black-theme .sim-topbar-icon-btn,
body.black-theme .third-width,
body.black-theme .support-modal-close,
body.black-theme .drug-map-close,
body.black-theme .support-option-btn,
body.black-theme .trends-mode-btn,
body.black-theme .trends-filter-btn,
body.black-theme .sim-music-player-btn,
body.black-theme .sim-music-player-close{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme #topbarMusicBtn.is-active,
body.black-theme #topbarBlackThemeBtn.is-active,
body.black-theme .sim-topbar-scale-options .third-width.is-active,
body.black-theme .sim-topbar-scale-options .third-width[aria-pressed="true"]{
  background:#60A8E7 !important;
  border-color:#60A8E7 !important;
  color:#ffffff !important;
}

body.black-theme #topbarMusicBtn.is-active .sim-topbar-action-icon,
body.black-theme #topbarBlackThemeBtn.is-active .sim-topbar-action-icon{
  filter:brightness(0) invert(1);
}

body.black-theme #topbarMusicBtn.is-active .sim-topbar-action-icon,
body.black-theme #topbarBlackThemeBtn.is-active .sim-topbar-action-icon{
  filter:none !important;
}

body.black-theme .monitor-stack .support-bolus-btn.is-active,
body.black-theme .monitor-stack .support-bolus-btn[aria-pressed="true"]{
  background:#0FB96F !important;
  border-color:#0FB96F !important;
  color:#ffffff !important;
  box-shadow:0 8px 18px rgba(15,185,111,.28) !important;
}

body.black-theme .left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-slow{
  background:#0b315a !important;
  border-color:#38a5ff !important;
  box-shadow:0 0 0 2px rgba(56,165,255,.28), 0 0 28px rgba(56,165,255,.46) !important;
}

body.black-theme .left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-target{
  background:#0b3a24 !important;
  border-color:#1fbf66 !important;
  box-shadow:0 0 0 2px rgba(31,191,102,.28), 0 0 28px rgba(31,191,102,.46) !important;
}

body.black-theme .left-rail-subpanel--compressions.compressions-widget.is-asystole-rate-fast{
  background:#4b2a05 !important;
  border-color:#f59e0b !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.3), 0 0 28px rgba(245,158,11,.46) !important;
}

/* Force requested controls into black theme as well */
body.black-theme #clinicalScenario,
body.black-theme .sim-topbar-timer-box,
body.black-theme #defibEnergyLabel,
body.black-theme #defibChargeStep,
body.black-theme #defibShockStep,
body.black-theme .left-rail-panel--defib .defib-aux-label,
body.black-theme .left-rail-panel--defib .defib-aux-toggle,
body.black-theme #diagnosisBtn{
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .left-rail-panel--defib.defib,
body.black-theme .left-rail-panel--defib .defib{
  background:#000810 !important;
  border-color:#102840 !important;
  color:#f8f8f8 !important;
  box-shadow:inset 0 0 0 1px rgba(24,48,80,.72), 0 0 26px rgba(16,40,64,.52) !important;
}

body.black-theme #defibGroup{
  background:#000000 !important;
}

body.black-theme .left-rail-panel--defib .defib-power-frame,
body.black-theme .oxygen-therapy-power-btn{
  background:linear-gradient(180deg, #102040 0%, #081020 100%) !important;
  border-color:#183050 !important;
  box-shadow:inset 0 0 0 1px rgba(16,40,64,.78), 0 0 18px rgba(16,40,64,.5) !important;
}

body.black-theme .left-rail-panel--defib .defib-status,
body.black-theme .left-rail-panel--defib .defib-status.is-on{
  color:#f8f8f8 !important;
}

body.black-theme .left-rail-panel--defib .defib-status-light{
  background:#50b040 !important;
  box-shadow:0 0 10px rgba(80,176,64,.78) !important;
}

body.black-theme .left-rail-panel--defib .defib-energy-readout,
body.black-theme .left-rail-panel--defib .defib-energy-unit{
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(255,255,255,.2) !important;
}

body.black-theme .left-rail-panel--defib #defibEnergyLabel{
  background:transparent !important;
  border-color:transparent !important;
  color:#ffffff !important;
}

body.black-theme .left-rail-panel--defib .defib-progress-scale{
  color:#8fb8ff !important;
  text-shadow:0 0 8px rgba(143,184,255,.34) !important;
}

body.black-theme .left-rail-panel--defib .defib-progress{
  background:#001020 !important;
  border-color:#102840 !important;
  box-shadow:inset 0 0 0 1px rgba(16,40,64,.84), 0 0 16px rgba(16,40,64,.42) !important;
}

body.black-theme .left-rail-panel--defib .defib-progress::before{
  background:
    radial-gradient(circle at 0% 50%, rgba(143,184,255,.26) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 50%, rgba(143,184,255,.5) 0 2px, transparent 3px),
    radial-gradient(circle at 38% 50%, rgba(143,184,255,.5) 0 2px, transparent 3px),
    radial-gradient(circle at 58% 50%, rgba(143,184,255,.5) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 50%, rgba(143,184,255,.5) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 50%, rgba(143,184,255,.22) 0 2px, transparent 3px) !important;
}

body.black-theme .left-rail-panel--defib .defib-progress-target{
  background:#000810 !important;
  border-color:#ffffff !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.9), 0 0 14px rgba(143,184,255,.38) !important;
}

body.black-theme .left-rail-panel--defib .defib-progress-fill{
  background:linear-gradient(90deg, rgba(16,40,64,.28), rgba(24,48,80,.56)) !important;
}

body.black-theme .left-rail-panel--defib .defib-pkm,
body.black-theme .left-rail-panel--defib .defib-sequence-step,
body.black-theme .left-rail-panel--defib .defib-aux-toggle{
  background:linear-gradient(180deg, #081020 0%, #000810 100%) !important;
  border-color:#183050 !important;
  color:#f8f8f8 !important;
  box-shadow:inset 0 0 0 1px rgba(16,40,64,.72), 0 0 18px rgba(16,40,64,.42) !important;
}

body.black-theme .left-rail-panel--defib #defibChargeStep,
body.black-theme .left-rail-panel--defib #defibShockStep{
  background:linear-gradient(180deg, #081020 0%, #000810 100%) !important;
  border-color:#183050 !important;
  color:#f8f8f8 !important;
  box-shadow:inset 0 0 0 1px rgba(16,40,64,.72), 0 0 18px rgba(16,40,64,.42) !important;
}

body.black-theme .left-rail-panel--defib .defib-aux-toggle{
  background:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%),
    linear-gradient(180deg, #081020 0%, #000810 100%) !important;
  background-position:
    calc(100% - 12px) 50%,
    calc(100% - 8px) 50%,
    0 0 !important;
  background-size:5px 5px, 5px 5px, 100% 100% !important;
  background-repeat:no-repeat !important;
}

body.black-theme .left-rail-panel--defib .defib-aux-toggle option{
  background:#081020;
  color:#f8f8f8;
}

body.black-theme .left-rail-panel--defib .defib-pkm::before{
  color:#50b040 !important;
  text-shadow:0 0 12px rgba(80,176,64,.58) !important;
}

body.black-theme .left-rail-panel--defib #defibChargeStep::before{
  color:#f0d000 !important;
  text-shadow:0 0 14px rgba(240,208,0,.5) !important;
}

body.black-theme .left-rail-panel--defib #defibShockStep::before{
  color:#e83020 !important;
  text-shadow:0 0 14px rgba(232,48,32,.52) !important;
}

body.black-theme .left-rail-panel--defib .defib-sequence-step:hover,
body.black-theme .left-rail-panel--defib .defib-pkm.is-held{
  border-color:#8fb8ff !important;
  background:linear-gradient(180deg, #102040 0%, #081020 100%) !important;
}

body.black-theme .left-rail-panel--defib .defib-sequence-step.is-active{
  border-color:#f0d000 !important;
  box-shadow:inset 0 0 0 1px rgba(240,208,0,.34), 0 0 18px rgba(240,208,0,.24) !important;
}

body.black-theme .left-rail-panel--defib .defib-sequence-step.is-shock{
  border-color:#e83020 !important;
  box-shadow:inset 0 0 0 1px rgba(232,48,32,.34), 0 0 18px rgba(232,48,32,.24) !important;
}

body.black-theme .left-rail-panel--defib .defib-inline-divider{
  background:#183050 !important;
}

body.black-theme .left-rail-panel--defib .defib-aux-label{
  background:transparent !important;
  border-color:transparent !important;
  color:#a8a8b0 !important;
  box-shadow:none !important;
}

body.black-theme .left-rail-panel--defib .defib-aux-toggle.has-value{
  background:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%),
    linear-gradient(180deg, #081020 0%, #000810 100%) !important;
  background-position:
    calc(100% - 12px) 50%,
    calc(100% - 8px) 50%,
    0 0 !important;
  background-size:5px 5px, 5px 5px, 100% 100% !important;
  background-repeat:no-repeat !important;
  border-color:#183050 !important;
}

body.black-theme .simulator-disclaimer{
  color:#ffffff !important;
}

body.black-theme #clinicalScenario{
  border:1px solid #ffffff !important;
}

#topbarVideoHintBtn{
  width:42px;
  min-width:42px;
  padding:0;
}

body.simulator-page #topbarVideoHintBtn{
  width:var(--topbar-icon-size);
  min-width:var(--topbar-icon-size);
}

/* Topbar size adjustments requested */
#topbarTrendsBtn{
  min-height:calc(53px * 1.1);
}

body.simulator-page #topbarTrendsBtn{
  min-height:calc(var(--topbar-control-size) * 1.1);
}

#topbarVideoHintBtn,
#topbarLanguageBtn,
#topbarExpandBtn,
#topbarMusicBtn,
#topbarBlackThemeBtn{
  width:calc(42px * 1.1);
  min-width:calc(42px * 1.1);
  min-height:calc(53px * 1.1);
}

body.simulator-page #topbarVideoHintBtn,
body.simulator-page #topbarLanguageBtn,
body.simulator-page #topbarExpandBtn,
body.simulator-page #topbarMusicBtn,
body.simulator-page #topbarBlackThemeBtn{
  width:calc(var(--topbar-icon-size) * 1.1);
  min-width:calc(var(--topbar-icon-size) * 1.1);
  min-height:calc(var(--topbar-control-size) * 1.1);
}

#topbarExpandIcon,
#topbarMusicIcon,
#topbarBlackThemeIcon,
#topbarLanguageIcon,
#topbarHintIcon{
  width:calc(18px * 1.2);
  height:calc(18px * 1.2);
}

body.simulator-page #topbarExpandIcon,
body.simulator-page #topbarMusicIcon,
body.simulator-page #topbarBlackThemeIcon,
body.simulator-page #topbarLanguageIcon,
body.simulator-page #topbarHintIcon{
  width:calc(var(--topbar-action-icon-size) * 1.2);
  height:calc(var(--topbar-action-icon-size) * 1.2);
}

/* Reference topbar UI */
body.simulator-page{
  --topbar-h:86px;
  --topbar-logo-basis:254px;
  --topbar-welcome-basis:176px;
  --topbar-score-basis:154px;
  --topbar-timer-basis:190px;
  --topbar-scale-basis:205px;
  --topbar-trends-basis:160px;
  --topbar-icon-basis:58px;
  --topbar-control-size:46px;
  --topbar-icon-size:42px;
  --topbar-action-icon-size:17px;
  --topbar-logo-size:230px;
}

body.simulator-page .control-dock-ad--top{
  display:flex;
}

body.simulator-page .sim-topbar-row{
  gap:var(--sim-gap);
}

body.simulator-page .sim-topbar{
  width:calc(100% - var(--control-dock-w) - var(--sim-gap));
  max-width:calc(1920px - var(--control-dock-w) - var(--sim-gap));
  height:var(--topbar-h);
  min-height:var(--topbar-h);
  padding:0;
  border:1px solid #eef3fb;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 8px 28px rgba(43,65,111,.08);
  overflow:hidden;
}

body.simulator-page .sim-topbar-section{
  padding:10px 10px;
  gap:8px;
  justify-content:center;
  align-items:center;
  text-align:center;
}

body.simulator-page .sim-topbar-section > *{
  margin-inline:0;
}

body.simulator-page .sim-topbar-section + .sim-topbar-section::before{
  top:12px;
  bottom:12px;
  background:#e5ebf5;
}

body.simulator-page .sim-topbar-section--logo{
  flex:0 0 var(--topbar-logo-basis);
  justify-content:center;
  padding:0;
}

body.simulator-page .sim-topbar-section--welcome{
  flex:0 0 var(--topbar-welcome-basis);
  flex-direction:row;
  justify-content:center;
}

body.simulator-page .sim-topbar-section--score{
  flex:0 0 var(--topbar-score-basis);
  align-items:center;
  flex-direction:column;
  gap:7px;
}

body.simulator-page .sim-topbar-section--timer{
  flex:0 0 var(--topbar-timer-basis);
  align-items:center;
  display:grid;
  grid-template-columns:var(--topbar-control-size) minmax(0, 1fr);
  grid-template-rows:14px var(--topbar-control-size);
  align-content:center;
  column-gap:8px;
  row-gap:5px;
  justify-content:center;
  padding-block:10px;
}

body.simulator-page .sim-topbar-section--scale{
  flex:0 0 var(--topbar-scale-basis);
  display:grid;
  grid-template-rows:14px var(--topbar-control-size);
  align-content:center;
  justify-items:center;
  row-gap:5px;
  padding-block:10px;
}

body.simulator-page .sim-topbar-section--trends{
  flex:0 0 var(--topbar-trends-basis);
  display:flex;
  align-items:center;
  justify-content:center;
  padding-block:10px;
}

body.simulator-page .sim-topbar-section--hint,
body.simulator-page .sim-topbar-section--icon{
  flex:0 0 var(--topbar-icon-basis);
  padding:10px 8px;
  justify-content:center;
}

body.simulator-page .sim-topbar-section--hint{
  margin-left:auto;
}

body.simulator-page .logo-image{
  width:88%;
  height:88%;
  padding-left:0;
}

body.simulator-page .sim-topbar-avatar{
  position:relative;
  width:46px;
  height:46px;
  min-width:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dce7f5;
  border-radius:50%;
  background:#fbfdff;
  color:#0f2b86;
  font-size:19px;
  font-weight:700;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(65,137,240,.05);
}

body.simulator-page .sim-topbar-avatar-status{
  position:absolute;
  right:0;
  bottom:5px;
  width:8px;
  height:8px;
  border:2px solid #ffffff;
  border-radius:50%;
  background:#11d8b6;
}

body.simulator-page .sim-topbar-user-meta{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}

body.simulator-page .sim-topbar-welcome,
body.simulator-page .sim-topbar-label,
body.simulator-page .sim-topbar-scale-title,
body.simulator-page .sim-topbar-metric-title{
  color:#66708f;
  font-size:11px;
  font-weight:600;
  line-height:1.1;
}

body.simulator-page .sim-topbar-username{
  max-width:94px;
  overflow:hidden;
  color:#071449;
  font-size:17px;
  font-weight:700;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.simulator-page .sim-topbar-role{
  color:#0477ff;
  font-size:13px;
  font-weight:700;
  line-height:1;
}

body.simulator-page .sim-topbar-stars{
  gap:2px;
}

body.simulator-page .sim-topbar-star{
  width:15px;
  height:15px;
}

body.simulator-page .sim-topbar-rank{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#071449;
  font-size:15px;
  font-weight:700;
  line-height:1;
}

body.simulator-page .sim-topbar-rank-chevron{
  width:7px;
  height:7px;
  border-right:2px solid #0b86ff;
  border-bottom:2px solid #0b86ff;
  transform:rotate(45deg) translateY(-2px);
}

body.simulator-page .sim-topbar-metric{
  width:100%;
  display:contents;
  flex-direction:initial;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
}

body.simulator-page .sim-topbar-metric-title{
  display:block;
  width:100%;
  grid-column:2;
  grid-row:1;
  text-align:center;
}

body.simulator-page .sim-topbar-timer-box{
  min-width:96px;
  min-height:var(--topbar-control-size);
  height:var(--topbar-control-size);
  padding:0 15px;
  border:1px solid #dce6f4;
  border-radius:11px;
  background:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(33,91,170,.03);
}

body.simulator-page #topbarStartBtn{
  grid-column:1;
  grid-row:2;
  align-self:end;
}

body.simulator-page .sim-topbar-timer-box{
  grid-column:2;
  grid-row:2;
  align-self:end;
}

body.simulator-page .sim-topbar-section--timer .sim-topbar-value{
  color:#061044;
  font-size:27px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
}

body.simulator-page .sim-topbar-action,
body.simulator-page .sim-topbar-control-btn,
body.simulator-page .sim-topbar-icon-btn{
  min-height:var(--topbar-control-size);
  border:1px solid #dce6f4;
  border-radius:11px;
  background:#ffffff;
  color:#071449;
  box-shadow:inset 0 0 0 1px rgba(33,91,170,.03);
}

body.simulator-page .sim-topbar-control-btn,
body.simulator-page .sim-topbar-icon-btn{
  width:var(--topbar-icon-size);
  min-width:var(--topbar-icon-size);
  padding:0;
}

body.simulator-page #topbarVideoHintBtn,
body.simulator-page #topbarLanguageBtn,
body.simulator-page #topbarExpandBtn,
body.simulator-page #topbarMusicBtn,
body.simulator-page #topbarBlackThemeBtn{
  width:42px;
  min-width:42px;
  min-height:46px;
  padding:0;
  margin:0 auto;
}

body.simulator-page .sim-topbar-control-btn{
  width:var(--topbar-control-size);
  min-width:var(--topbar-control-size);
}

body.simulator-page .sim-topbar-action-icon,
body.simulator-page .sim-topbar-control-icon{
  width:var(--topbar-action-icon-size);
  height:var(--topbar-action-icon-size);
}

body.simulator-page #topbarTrendsBtn{
  width:auto;
  min-width:0;
  min-height:var(--topbar-control-size);
  height:var(--topbar-control-size);
  padding:0 16px;
  justify-content:center;
  gap:10px;
  color:#071449;
  font-size:15px;
  font-weight:700;
  align-self:center;
}

body.simulator-page .sim-topbar-trends-icon{
  width:20px;
  height:18px;
  flex:0 0 auto;
  display:block;
  object-fit:contain;
}

body.simulator-page .sim-topbar-trends-chevron{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-top:2px solid #087bff;
  border-right:2px solid #087bff;
  transform:rotate(45deg);
}

body.simulator-page .sim-topbar-scale{
  display:contents;
  align-items:initial;
  gap:0;
}

body.simulator-page .sim-topbar-scale-title{
  grid-row:1;
  align-self:center;
}

body.simulator-page .sim-topbar-scale-options{
  display:grid;
  grid-template-columns:repeat(3, 54px);
  grid-row:2;
  align-self:end;
  gap:0;
  border:1px solid #dce6f4;
  border-radius:11px;
  overflow:hidden;
  background:#ffffff;
  height:var(--topbar-control-size);
}

body.simulator-page .sim-topbar-scale-options .third-width{
  min-height:var(--topbar-control-size);
  height:var(--topbar-control-size);
  padding:0;
  border:0;
  border-radius:0;
  background:#ffffff;
  color:#64708f;
  font-size:13px;
  font-weight:700;
  line-height:1;
  box-shadow:none;
}

body.simulator-page .sim-topbar-scale-options .third-width + .third-width{
  border-left:1px solid #dce6f4;
}

body.simulator-page .sim-topbar-scale-options .third-width.is-active,
body.simulator-page .sim-topbar-scale-options .third-width[aria-pressed="true"]{
  border-color:#087bff;
  background:linear-gradient(180deg, #1088ff 0%, #0069f4 100%);
  color:#ffffff;
  box-shadow:0 11px 22px rgba(0,105,244,.26);
}

body.simulator-page #topbarLanguageBtn{
  gap:3px;
  padding:4px 0;
}

body.simulator-page #topbarLanguageBtn .sim-topbar-action-icon{
  width:16px;
  height:16px;
}

body.simulator-page .sim-topbar-language-code{
  color:#071449;
  font-size:9px;
  font-weight:800;
  letter-spacing:0;
}

body.black-theme.simulator-page .sim-topbar{
  background:#020518 !important;
  border-color:#102048 !important;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.18), 0 0 28px rgba(32,80,240,.12) !important;
}

body.black-theme.simulator-page .sim-topbar-section + .sim-topbar-section::before{
  background:#182850 !important;
}

body.black-theme.simulator-page .sim-topbar-avatar,
body.black-theme.simulator-page .sim-topbar-timer-box,
body.black-theme.simulator-page .sim-topbar-action,
body.black-theme.simulator-page .sim-topbar-control-btn,
body.black-theme.simulator-page .sim-topbar-icon-btn,
body.black-theme.simulator-page .sim-topbar-scale-options,
body.black-theme.simulator-page .sim-topbar-scale-options .third-width{
  background:#081030 !important;
  border-color:#182850 !important;
  color:#f8f8f8 !important;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.16), 0 8px 18px rgba(1,4,23,.42) !important;
}

body.black-theme.simulator-page .sim-topbar-timer-box,
body.black-theme.simulator-page .sim-topbar-action,
body.black-theme.simulator-page .sim-topbar-control-btn,
body.black-theme.simulator-page .sim-topbar-icon-btn{
  background:linear-gradient(180deg, #101838 0%, #081030 100%) !important;
}

body.black-theme.simulator-page .sim-topbar-scale-options .third-width + .third-width{
  border-left-color:#102048 !important;
}

body.black-theme.simulator-page .sim-topbar-scale-options .third-width.is-active,
body.black-theme.simulator-page .sim-topbar-scale-options .third-width[aria-pressed="true"]{
  background:linear-gradient(180deg, #4090f8 0%, #2050f0 100%) !important;
  border-color:#2050f0 !important;
  color:#ffffff !important;
  box-shadow:0 0 18px rgba(32,80,240,.58) !important;
}

body.black-theme.simulator-page .sim-topbar-welcome,
body.black-theme.simulator-page .sim-topbar-label,
body.black-theme.simulator-page .sim-topbar-scale-title,
body.black-theme.simulator-page .sim-topbar-metric-title{
  color:#a8a8b0 !important;
}

body.black-theme.simulator-page .sim-topbar-username,
body.black-theme.simulator-page .sim-topbar-rank,
body.black-theme.simulator-page .sim-topbar-value,
body.black-theme.simulator-page .sim-topbar-language-code,
body.black-theme.simulator-page #topbarTrendsBtn{
  color:#f8f8f8 !important;
}

body.black-theme.simulator-page .sim-topbar-role{
  color:#4090f8 !important;
}

body.black-theme.simulator-page .sim-topbar-avatar-status{
  background:#00d0b8 !important;
  border-color:#020518 !important;
}

body.black-theme.simulator-page .sim-topbar-rank-chevron{
  border-right-color:#4090f8 !important;
  border-bottom-color:#4090f8 !important;
}

body.black-theme.simulator-page .sim-topbar-trends-chevron{
  border-top-color:#4090f8 !important;
  border-right-color:#4090f8 !important;
}

body.black-theme .patient-info-card,
body.black-theme #trendsChartsPanel{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .compression-drug-btn--blue{
  background-image:url("/static/img/blue_ampula.svg") !important;
}

body.black-theme .compression-drug-btn--black{
  background-image:url("/static/img/navy_ampula.svg") !important;
}

body.black-theme .compression-drug-btn{
  background-color:#1E293B !important;
}

/* Infusion pumps + all modals in black theme */
body.black-theme .infusion-pumps,
body.black-theme .infusion-pumps-content,
body.black-theme .pump-slot,
body.black-theme .pump-slot-preview,
body.black-theme .pump-slot-expanded,
body.black-theme .pump-slot-title,
body.black-theme .pump-slot-expand{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .pump-settings-drug,
body.black-theme .pump-settings-rate-label,
body.black-theme .pump-settings-rate-number,
body.black-theme .pump-settings-rate-metric,
body.black-theme .pump-settings-volume,
body.black-theme .pump-settings-volume-label,
body.black-theme .pump-settings-volume-value,
body.black-theme .pump-settings-volume-unit{
  color:#ffffff !important;
}

body.black-theme .drug-model-output-card{
  border-top-color:rgba(255,255,255,.22);
}
body.black-theme .drug-model-head span,
body.black-theme .drug-model-row span,
body.black-theme .drug-model-details summary{
  color:#cbd5e1 !important;
}
body.black-theme .drug-model-row{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
}
body.black-theme .drug-model-details--results{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
}
body.black-theme .drug-model-scroll .drug-model-details{
  border-bottom-color:rgba(255,255,255,.14);
}

body.black-theme .pump-modal{
  background:rgba(2, 6, 23, .78) !important;
}

body.black-theme #trendsModal .pump-modal-card,
body.black-theme #trendsModal .trends-modal-card,
body.black-theme #clinicalScenarioModal .pump-modal-card,
body.black-theme #clinicalScenarioModal .clinical-scenario-modal-card,
body.black-theme #ventSettingsModal .pump-modal-card,
body.black-theme #ventSettingsModal .vent-settings-modal-card,
body.black-theme #pumpModal .pump-modal-card,
body.black-theme #pumpSettingModal .pump-modal-card,
body.black-theme #pumpRunModal .pump-modal-card,
body.black-theme #pumpBolusModal .pump-modal-card,
body.black-theme #supportBolusModal .pump-modal-card,
body.black-theme #supportModal .pump-modal-card,
body.black-theme #supportDoseModal .pump-modal-card,
body.black-theme #diagnosisModal .pump-modal-card,
body.black-theme #bloodTestsModal .pump-modal-card{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .treatment-success-card[role="dialog"]{
  background:#254684 !important;
}

body.black-theme .blood-test-card,
body.black-theme .diagnosis-option-btn,
body.black-theme .trends-chart-card,
body.black-theme .trends-log-entry,
body.black-theme .trends-log-empty{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
  box-shadow:none !important;
}

body.black-theme .blood-test-card h4,
body.black-theme .blood-test-card li,
body.black-theme .blood-test-card li strong,
body.black-theme .diagnosis-option-title,
body.black-theme .diagnosis-option-meta,
body.black-theme .diagnosis-modal-current{
  color:#ffffff !important;
}

body.black-theme .pump-setting-input-wrap,
body.black-theme .vent-settings-field input,
body.black-theme .pump-setting-input-wrap input,
body.black-theme .pump-setting-input-wrap select{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .left-rail-subpanel--vent.vent-settings-card,
body.black-theme .oxygen-therapy-card{
  background:#1E293B !important;
  color:#ffffff !important;
}

body.black-theme .oxygen-therapy-card{
  background:#000000 !important;
  border-color:#ffffff !important;
}

body.black-theme .oxygen-therapy-title,
body.black-theme .oxygen-therapy-label,
body.black-theme .oxygen-flow-value,
body.black-theme .oxygen-flow-unit,
body.black-theme .oxygen-fio2-label,
body.black-theme .oxygen-fio2-value{
  color:#ffffff !important;
}

body.black-theme .oxygen-step-btn{
  background:#334155 !important;
  color:#ffffff !important;
}

body.black-theme .oxygen-range::-webkit-slider-runnable-track{
  background:#475569;
}

body.black-theme .oxygen-range::-webkit-slider-thumb{
  border-color:#CBD5E1;
  background:#E2E8F0;
}

body.black-theme .oxygen-range::-moz-range-track{
  background:#475569;
}

body.black-theme .oxygen-range::-moz-range-thumb{
  border-color:#CBD5E1;
  background:#E2E8F0;
}

body.black-theme .support-bolus-dose-option,
body.black-theme .support-dose-preset-btn{
  background:#1E293B;
  border-color:#ffffff;
  color:#ffffff;
}

body.black-theme .support-bolus-dose-option.is-active,
body.black-theme .support-bolus-dose-option[aria-pressed="true"]{
  background:#60A8E7;
  border-color:#60A8E7;
  color:#ffffff;
}

body.black-theme .language-modal-option{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .language-modal-option.is-active,
body.black-theme .language-modal-option[aria-pressed="true"]{
  background:#60A8E7 !important;
  border-color:#60A8E7 !important;
}

body.simulator-login-locked .simulator-shell{
  display:grid !important;
  filter:none;
  pointer-events:none;
  user-select:none;
}

body.simulator-login-locked .simulator-unsupported{
  display:none !important;
}

body.simulator-login-locked .sim-login-overlay{
  position:fixed;
  inset:0;
  z-index:1800;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:16px 0;
  background: rgba(0, 0, 0, 0.65) !important;
  backdrop-filter:none;
  pointer-events:auto;
  padding: 20px;
}

body.simulator-login-locked .sim-login-titlebar {
  width: calc(100% - 40px);
  align-self: center; 
  background: rgba(248, 250, 252, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .35);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  pointer-events: none;
}

body.simulator-login-locked .sim-login-titlebar-logo{
  width:150px;
  height:150px;
  object-fit:contain;
}

body.simulator-login-locked .sim-login-titlebar-text{
  margin:0;
  color:#0f172a;
  font-size:40px;
  line-height:1.2;
  font-family:"Arsenal", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight:400;
  letter-spacing:.01em;
  text-align:center;
}

body.simulator-login-locked .sim-login-titlebar-brand{
  font-weight:700;
}

body.simulator-login-locked.simulator-scenario-lab-open .sim-login-titlebar{
  display:none;
}

body.simulator-login-locked.simulator-profile-login-only .sim-login-overlay{
  justify-content:center;
}

body.simulator-login-locked .sim-login-main{
  width:calc(100% - 40px);
  max-width:none;
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(520px, 58vw) minmax(320px, clamp(320px, 24vw, 520px));
  align-items:start;
  gap:clamp(20px, 1.5vw, 40px);
  position:relative;
}

body.simulator-login-locked .sim-login-main [hidden]{
  display:none !important;
}

body.simulator-login-locked .sim-login-main.sim-login-main--ready{
  grid-template-columns:1fr;
  max-width:960px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--register{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:560px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--mode-picker{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:1040px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--als-scenario{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:680px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--legal{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:1040px;
  margin-top:6px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--scenario-lab{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:min(1180px, 98vw);
  margin-top:6px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--case-generator{
  grid-template-columns:1fr;
  justify-items:center;
  max-width:min(980px, 96vw);
  margin-top:6px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--card-only{
  width:min(clamp(360px, 24vw, 520px), calc(100% - 40px));
  max-width:520px;
  grid-template-columns:1fr;
  justify-items:center;
  margin-top:0;
}

body.simulator-login-locked .sim-login-main .sim-login-side{
  grid-column:1 / -1;
  width:min(100%, clamp(620px, 48vw, 900px));
  justify-self:center;
  align-self:start;
}

body.simulator-login-locked .sim-login-main .card{
  grid-column:3;
  width:100%;
  box-sizing:border-box;
  justify-self:end;
  align-self:start;
  margin-left:0;
}

body.simulator-login-locked .sim-login-overlay .card{
  position:relative;
  margin-top:0;
  background:#f2f5fa;
  border:1px solid #e2e8f0;
  border-radius:12px;
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  padding:15px 17px;
  pointer-events:auto;
}

body.simulator-login-locked .sim-login-main .sim-login-card{
  position:absolute;
  top:0;
  right:0;
  z-index:1;
  width:min(100%, clamp(320px, 24vw, 520px));
  padding:clamp(15px, 1.05vw, 28px) clamp(17px, 1.2vw, 32px);
  border-radius:clamp(12px, .75vw, 18px);
}

body.simulator-login-locked .sim-login-main .sim-registration-card{
  grid-column:1;
  width:min(520px, 100%);
  margin-left:0;
  justify-self:center;
  padding:20px 22px;
}

body.simulator-login-locked .sim-login-main.sim-login-main--card-only .sim-login-card{
  position:relative;
  top:auto;
  right:auto;
  grid-column:1;
  width:100%;
  margin-left:0;
  justify-self:center;
}

body.simulator-login-locked .sim-mode-picker{
  grid-column:1;
  width:min(980px, 100%);
  box-sizing:border-box;
  justify-self:center;
  pointer-events:auto;
  position:relative;
  background:#F8F7FC;
  border:3px solid #E5E6ED;
  border-radius:8px;
  box-shadow:0 22px 48px rgba(15,23,42,.18), 0 5px 14px rgba(15,23,42,.12);
  padding:24px 30px 30px;
}

body.simulator-login-locked .sim-als-scenario-picker{
  grid-column:1;
  width:min(620px, 100%);
  box-sizing:border-box;
  justify-self:center;
  pointer-events:auto;
  position:relative;
  padding:28px 30px 26px;
  border:3px solid #E5E6ED;
  border-radius:8px;
  background:#F8F7FC;
  color:#0f172a;
  box-shadow:0 22px 48px rgba(15,23,42,.18), 0 5px 14px rgba(15,23,42,.12);
}

body.simulator-login-locked .sim-als-scenario-picker-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 38px 22px 0;
}

body.simulator-login-locked .sim-als-scenario-picker-head > img{
  width:72px;
  height:72px;
  object-fit:contain;
  flex:0 0 auto;
}

body.simulator-login-locked .sim-als-scenario-picker h1{
  margin:0 0 6px;
  color:#2f82c4;
  font-size:25px;
  line-height:1.15;
  font-weight:800;
}

body.simulator-login-locked .sim-als-scenario-picker-head p{
  margin:0;
  color:#657184;
  font-size:13px;
  line-height:1.4;
}

body.simulator-login-locked .sim-als-scenario-field{
  display:grid;
  gap:7px;
  color:#334155;
  font-size:13px;
  font-weight:750;
}

body.simulator-login-locked .sim-als-scenario-field select{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  padding:0 42px 0 14px;
  border:2px solid #b9c8da;
  border-radius:9px;
  background:#ffffff;
  color:#213041;
  font-size:15px;
  font-weight:650;
  cursor:pointer;
}

body.simulator-login-locked .sim-als-scenario-field select:focus-visible{
  border-color:#2f82c4;
  outline:3px solid rgba(47,130,196,.18);
}

body.simulator-login-locked .sim-als-scenario-error{
  margin:8px 0 0;
  color:#c62828;
  font-size:12px;
  font-weight:700;
}

body.simulator-login-locked .sim-als-scenario-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}

body.simulator-login-locked .sim-als-scenario-actions button{
  min-width:126px;
  min-height:42px;
  padding:0 18px;
  border:1px solid #b9c8da;
  border-radius:8px;
  background:#ffffff;
  color:#334155;
  font-size:14px;
  font-weight:750;
  cursor:pointer;
}

body.simulator-login-locked .sim-als-scenario-actions button.primary{
  border-color:#2f82c4;
  background:#2f82c4;
  color:#ffffff;
}

body.simulator-login-locked .sim-als-scenario-actions button:disabled{
  cursor:not-allowed;
  opacity:.55;
  filter:none;
}

body.simulator-login-locked .sim-als-scenario-actions button:hover,
body.simulator-login-locked .sim-als-scenario-actions button:focus-visible{
  filter:brightness(.96);
  outline:3px solid rgba(47,130,196,.18);
}

body.simulator-login-locked .sim-mode-picker-close{
  position:absolute;
  top:12px;
  right:12px;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #d5d8e2;
  border-radius:50%;
  background:#ffffff;
  color:#5f6877;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
  box-shadow:0 8px 16px rgba(15,23,42,.12);
}

body.simulator-login-locked .sim-mode-picker-close:hover,
body.simulator-login-locked .sim-mode-picker-close:focus-visible{
  color:#2f82c4;
  border-color:#2f82c4;
  outline:none;
}

body.simulator-login-locked .sim-mode-picker h1{
  margin:0 0 23px;
  color:#2f82c4;
  font-size:26px;
  line-height:1.15;
  font-weight:700;
  text-align:center;
}

body.simulator-login-locked .sim-mode-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  grid-auto-rows:minmax(190px, auto);
  gap:22px;
}

body.simulator-login-locked .sim-mode-item{
  min-width:0;
  min-height:190px;
  box-sizing:border-box;
  padding:19px 14px 15px;
  border:1px solid #898989;
  border-radius:8px;
  background:#EDECF4;
  box-shadow:0 10px 20px rgba(15,23,42,.16), 0 3px 8px rgba(15,23,42,.1);
  display:block;
  text-align:center;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}

body.simulator-login-locked .sim-mode-item:hover,
body.simulator-login-locked .sim-mode-item:focus-visible{
  border-color:#2f82c4;
  box-shadow:0 12px 24px rgba(47,130,196,.18), 0 4px 9px rgba(15,23,42,.12);
  outline:none;
}

body.simulator-login-locked .sim-mode-item-content{
  width:100%;
  min-height:156px;
  display:grid;
  grid-template-rows:54px auto 1px auto;
  align-items:center;
  justify-items:center;
  gap:10px;
  transition:filter .2s ease, transform .2s ease;
}

body.simulator-login-locked .sim-mode-item--locked{
  cursor:not-allowed;
}

body.simulator-login-locked .sim-mode-item--locked .sim-mode-item-content{
  filter:blur(1px) saturate(.98);
  pointer-events:none;
  user-select:none;
  transform:scale(1.015);
}

body.simulator-login-locked .sim-mode-lock{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255, 255, 255, .42);
  border-radius:8px;
  pointer-events:none;
}

body.simulator-login-locked .sim-mode-lock-image{
  width:64px;
  height:auto;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.28));
}

body.simulator-login-locked .sim-mode-item-content > img{
  width:77px;
  height:104px;
  object-fit:contain;
  display:block;
}

body.simulator-login-locked .sim-mode-item h2{
  max-width:100%;
  margin:0;
  color:#0f172a;
  font-size:17px;
  line-height:1.18;
  font-weight:700;
  overflow-wrap:anywhere;
}

body.simulator-login-locked .sim-mode-divider{
  width:min(128px, 72%);
  height:1px;
  background:#b7b7bd;
  display:block;
}

body.simulator-login-locked .sim-mode-item p{
  margin:0;
  color:#777985;
  font-size:12px;
  line-height:1.25;
  font-weight:500;
}

body.simulator-login-locked .sim-mode-item p span{
  display:block;
}

body.simulator-login-locked .sim-project-info-panel{
  grid-column:1;
  width:min(980px, 100%);
  box-sizing:border-box;
  justify-self:center;
  position:relative;
  z-index:5;
  overflow:hidden;
  padding:20px 24px 22px;
  border:3px solid #E5E6ED;
  border-radius:8px;
  background:#ffffff;
  color:#1f2937;
  box-shadow:0 24px 54px rgba(15,23,42,.24), 0 6px 16px rgba(15,23,42,.14);
}

body.simulator-login-locked .sim-project-info-panel[hidden]{
  display:none;
}

body.simulator-login-locked .sim-project-info-panel h2{
  margin:0 42px 12px 0;
  color:#0f172a;
  font-size:21px;
  line-height:1.2;
  font-weight:800;
}

body.simulator-login-locked .sim-project-info-body{
  column-count:2;
  column-gap:24px;
  text-align:left;
  font-size:11px;
  line-height:1.34;
}

body.simulator-login-locked .sim-project-info-body p{
  margin:0 0 8px;
  break-inside:avoid;
}

body.simulator-login-locked .sim-project-info-body ul{
  margin:0 0 8px;
  padding-left:16px;
  break-inside:avoid;
}

body.simulator-login-locked .sim-legal-panel{
  max-height:min(78vh, 720px);
  display:flex;
  flex-direction:column;
}

body.simulator-login-locked .sim-legal-body{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  column-count:auto;
  column-width:auto;
  padding-right:10px;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
  scrollbar-gutter:stable;
}

body.simulator-login-locked .sim-legal-body h3{
  margin:14px 0 7px;
  color:#0f172a;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
}

body.simulator-login-locked .sim-legal-body h3:first-child{
  margin-top:0;
}

body.simulator-login-locked .sim-project-info-close{
  position:absolute;
  top:12px;
  right:12px;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #d5d8e2;
  border-radius:50%;
  background:#ffffff;
  color:#5f6877;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
}

body.simulator-login-locked .sim-project-info-close:hover,
body.simulator-login-locked .sim-project-info-close:focus-visible{
  color:#2f82c4;
  border-color:#2f82c4;
  outline:none;
}

body.simulator-login-locked .sim-scenario-lab,
body.simulator-login-locked .sim-case-generator-panel{
  grid-column:1;
  width:min(1120px, 100%);
  box-sizing:border-box;
  justify-self:center;
  position:relative;
  pointer-events:auto;
  color:#1f2937;
  padding:14px 16px 14px;
  border:2px solid #d2d6e0;
  border-radius:8px;
  background:#E7EBF4;
  box-shadow:0 18px 42px rgba(15,23,42,.2), inset 0 1px 0 rgba(255,255,255,.8);
}

body.simulator-login-locked .sim-case-generator-panel{
  width:min(900px, 100%);
}

body.simulator-login-locked .sim-scenario-lab-head{
  min-height:58px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:18px;
  padding-right:46px;
  text-align:center;
}

body.simulator-login-locked .sim-scenario-lab-head h1{
  margin:0;
  color:#111827;
  font-size:30px;
  line-height:1;
  font-weight:500;
}

body.simulator-login-locked .sim-scenario-lab-head p{
  margin:5px 0 0;
  color:#111827;
  font-size:15px;
  line-height:1.2;
}

body.simulator-login-locked .sim-scenario-lab-actions{
  display:grid;
  gap:8px;
  min-width:190px;
  justify-self:end;
}

body.simulator-login-locked .sim-scenario-lab-actions button,
body.simulator-login-locked .sim-scenario-lab-close,
body.simulator-login-locked .sim-scenario-lab-steps button,
body.simulator-login-locked .sim-scenario-lab-footer button{
  min-height:33px;
  border:1px solid #b9bcc5;
  border-radius:9px;
  background:#e8e8ee;
  color:#1f2937;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 1px 3px rgba(15,23,42,.18);
}

body.simulator-login-locked .sim-scenario-lab-steps{
  display:flex;
  justify-content:center;
  gap:10px;
  margin:6px 0 10px;
}

body.simulator-login-locked .sim-scenario-lab-steps button{
  min-width:180px;
  padding:0 14px;
  font-size:15px;
}

body.simulator-login-locked .sim-scenario-lab-steps button.is-active{
  border-color:#2f82c4;
  background:#dff0ff;
  color:#0f5f9f;
}

body.simulator-login-locked .sim-scenario-lab-actions button.is-saved{
  border-color:#35a86b;
  background:#e8f7ee;
  color:#17623b;
}

body.simulator-login-locked .sim-scenario-validation{
  margin:0 46px 8px;
  padding:7px 10px;
  border:1px solid #d94d4d;
  border-radius:8px;
  background:#fff5f5;
  color:#b42318;
  font-size:13px;
  line-height:1.2;
  text-align:center;
}

body.simulator-login-locked .sim-scenario-lab-close{
  position:absolute;
  right:14px;
  top:14px;
  width:32px;
  min-height:32px;
  z-index:2;
  display:grid;
  place-items:center;
}

body.simulator-login-locked .sim-scenario-lab-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-auto-flow:dense;
  gap:10px;
  align-items:start;
}

body.simulator-login-locked .sim-scenario-panel{
  min-width:0;
  box-sizing:border-box;
  padding:6px 7px 8px;
  border:2px solid #c2c5cc;
  border-radius:8px;
  background:#E6E8EE;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74), 0 1px 2px rgba(15,23,42,.12);
}

body.simulator-login-locked .sim-scenario-panel h2{
  margin:0 0 6px;
  color:#111827;
  text-align:center;
  font-size:14px;
  line-height:1.15;
  font-weight:500;
}

body.simulator-login-locked .sim-scenario-panel label{
  min-height:27px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 62px;
  align-items:start;
  gap:6px;
  color:#1f2937;
  font-size:12px;
  line-height:1.05;
}

body.simulator-login-locked .sim-scenario-panel input,
body.simulator-login-locked .sim-scenario-panel select{
  width:100%;
  min-width:0;
  height:26px;
  box-sizing:border-box;
  border:1px solid #bfc2ca;
  border-radius:8px;
  background:#e5e5eb;
  color:#1f2937;
  font-size:12px;
  padding:0 5px;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.12), 0 1px 1px rgba(255,255,255,.8);
}

body.simulator-login-locked .sim-scenario-panel input:focus,
body.simulator-login-locked .sim-scenario-panel select:focus{
  border-color:#2f9ee8;
  box-shadow:0 0 0 2px rgba(47,158,232,.22);
  outline:none;
}

body.simulator-login-locked .sim-scenario-panel input.is-missing,
body.simulator-login-locked .sim-scenario-panel select.is-missing{
  border-color:#d94d4d;
  box-shadow:0 0 0 2px rgba(217,77,77,.2);
}

body.simulator-login-locked .sim-scenario-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px 8px;
}

body.simulator-login-locked .sim-scenario-two label{
  grid-template-columns:auto minmax(0, 54px);
}

body.simulator-login-locked .sim-scenario-note{
  margin:4px 0;
  color:#111827;
  font-size:12px;
  line-height:1.2;
  text-align:center;
}

body.simulator-login-locked .sim-scenario-panel--demographics,
body.simulator-login-locked .sim-scenario-panel--valves{
  grid-column:1;
}

body.simulator-login-locked .sim-scenario-panel--respiratory,
body.simulator-login-locked .sim-scenario-panel--coronary{
  grid-column:2;
}

body.simulator-login-locked .sim-scenario-panel--cardio,
body.simulator-login-locked .sim-scenario-panel--labs{
  grid-column:3;
}

body.simulator-login-locked .sim-scenario-panel--chronic,
body.simulator-login-locked .sim-scenario-panel--conditions{
  grid-column:4;
}

body.simulator-login-locked .sim-scenario-panel--preview{
  grid-column:1 / -1;
}

body.simulator-login-locked .sim-scenario-panel--preview .patient-info-card{
  margin:0;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  max-height:112px;
  overflow:auto;
}

body.simulator-login-locked .sim-scenario-panel--preview .patient-info-row{
  font-size:11px;
}

body.simulator-login-locked .sim-scenario-lab-footer{
  display:grid;
  grid-template-columns:140px 1fr 140px;
  align-items:center;
  gap:14px;
  margin-top:10px;
}

body.simulator-login-locked .sim-scenario-lab-footer span{
  color:#111827;
  font-size:16px;
  line-height:1.2;
  text-align:center;
}

body.simulator-login-locked .sim-scenario-lab-footer button{
  font-size:16px;
}

body.simulator-login-locked .sim-case-generator-preview{
  margin-top:12px;
}

body.simulator-login-locked .sim-case-generator-preview .patient-info-card{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  max-height:none;
  overflow:visible;
}

body.simulator-login-locked .sim-case-generator-footer{
  grid-template-columns:150px 1fr 150px;
}

.sim-mode-item-img{
  width: 70px;
  height: 70px;
} 

body.simulator-login-locked .sim-login-overlay .brand{
  display:grid;
  place-items:center;
  margin-bottom:clamp(9px, .75vw, 18px);
}

body.simulator-login-locked .sim-registration-brand{
  display:grid;
  justify-items:center;
  text-align:center;
  margin-bottom:14px;
}

body.simulator-login-locked .sim-registration-brand h1{
  margin:0 0 3px;
  color:#2f82c4;
  font-size:24px;
  line-height:1.1;
  font-weight:700;
}

body.simulator-login-locked .sim-registration-sub{
  margin:0;
  color:#2f82c4;
  font-size:10px;
  line-height:1.25;
  font-weight:200;
}

body.simulator-login-locked .sim-login-avatar{
  width:clamp(143px, 9vw, 220px);
  height:clamp(143px, 9vw, 220px);
  display:grid;
  place-items:center;
  overflow:hidden;
}

body.simulator-login-locked .sim-login-avatar img{
  width:82%;
  height:82%;
  object-fit:contain;
  filter:saturate(1.12);
}

body.simulator-login-locked .sim-login-overlay .sim-login-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

body.simulator-login-locked .sim-login-overlay form{
  display:grid;
  gap:clamp(8px, .6vw, 16px);
}

body.simulator-login-locked .sim-registration-card form{
  gap:10px;
}

body.simulator-login-locked .sim-login-overlay .field{
  position:relative;
  width:100%;
}

body.simulator-login-locked .sim-registration-card label{
  display:block;
  margin:0 0 4px;
  color:#2f82c4;
  font-size:11px;
  line-height:1.1;
  font-weight:600;
}

body.simulator-login-locked .sim-registration-consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#2f82c4;
  font-size:11px;
  line-height:1.25;
  font-weight:500;
}

body.simulator-login-locked .sim-registration-consent input{
  width:14px;
  height:14px;
  margin:0;
  flex:0 0 auto;
  accent-color:#2f82c4;
}

body.simulator-login-locked .sim-registration-consent > label{
  display:inline;
  margin:0;
  color:inherit;
  font:inherit;
}

body.simulator-login-locked .sim-legal-link{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}

body.simulator-login-locked .sim-legal-link:hover,
body.simulator-login-locked .sim-legal-link:focus-visible{
  color:#0f5f9f;
  outline:none;
}

body.simulator-login-locked .sim-registration-error{
  position:absolute;
  left:22px;
  right:22px;
  top:92px;
  z-index:5;
  box-sizing:border-box;
  padding:14px 38px 14px 15px;
  border:3px solid red;
  border-radius:8px;
  background:#f5f8fc;
  color:red;
  box-shadow:0 16px 34px rgba(15,23,42,.2);
}

body.simulator-login-locked .sim-registration-error.is-success{
  border-color:#2fa866;
  color:#1f7a4d;
}

body.simulator-login-locked .sim-registration-error p{
  margin:0 0 6px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}

body.simulator-login-locked .sim-registration-error ul{
  margin:0;
  padding-left:16px;
  color:#2f82c4;
  font-size:11px;
  line-height:1.35;
  font-weight:500;
}

body.simulator-login-locked .sim-registration-error-close{
  position:absolute;
  right:10px;
  top:8px;
  width:20px;
  height:20px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:red;
  cursor:pointer;
  font-size:18px;
  line-height:20px;
  display:grid;
  place-items:center;
}

body.simulator-login-locked .sim-registration-error-close:hover,
body.simulator-login-locked .sim-registration-error-close:focus-visible{
  background:rgba(47,130,196,.12);
  outline:none;
}

body.simulator-login-locked .sim-login-overlay form #id_username,
body.simulator-login-locked .sim-login-overlay form #id_password,
body.simulator-login-locked .sim-login-overlay form .btn[type="submit"]{
  grid-column: 1 / -1;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  display:block;
}

body.simulator-login-locked .sim-login-overlay .sim-login-field-icon{
  position:absolute;
  left:clamp(7px, .55vw, 13px);
  top:50%;
  transform:translateY(-50%);
  width:clamp(12px, .8vw, 20px);
  height:clamp(12px, .8vw, 20px);
  pointer-events:none;
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:.95;
}

body.simulator-login-locked .sim-login-overlay .sim-login-field-icon--user{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232f82c4'%3E%3Ccircle cx='12' cy='8' r='4.2'/%3E%3Cpath d='M4 21c.8-4.3 3.8-7 8-7s7.2 2.7 8 7'/%3E%3C/svg%3E");
}

body.simulator-login-locked .sim-login-overlay .sim-login-field-icon--lock{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f82c4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3Ccircle cx='12' cy='16' r='1.2' fill='%232f82c4' stroke='none'/%3E%3C/svg%3E");
}

body.simulator-login-locked .sim-login-overlay .input{
  width:100%;
  box-sizing:border-box;
  min-height:clamp(33px, 2.55vw, 56px);
  padding:clamp(8px, .65vw, 14px) clamp(26px, 1.8vw, 42px) clamp(8px, .65vw, 14px) clamp(29px, 2.1vw, 50px);
  border-radius:clamp(6px, .45vw, 10px);
  border:3px solid #74a9d5;
  background:#f5f8fc;
  color:#2f82c4;
  font-size:clamp(10px, .78vw, 18px);
  font-weight:500;
  outline:none;
}

body.simulator-login-locked .sim-login-overlay .input::placeholder{
  color:#2f82c4;
  opacity:.95;
}

body.simulator-login-locked .sim-login-overlay .input:focus{
  border-color:#2f82c4;
  box-shadow:0 0 0 3px rgba(47,130,196,.18);
}

body.simulator-login-locked .sim-registration-card .sim-password-field{
  display:block;
  position:relative;
  width:100%;
}

body.simulator-login-locked .sim-registration-card .sim-password-field .input{
  padding-right:42px;
}

body.simulator-login-locked .sim-registration-card .sim-password-toggle{
  position:absolute;
  right:12px;
  top:50%;
  width:18px;
  height:18px;
  padding:0;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  color:#74a9d5;
  cursor:pointer;
  display:grid;
  place-items:center;
}

body.simulator-login-locked .sim-registration-card .sim-password-toggle::before{
  content:"";
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c5.5 0 9.5 5.1 9.5 7s-4 7-9.5 7-9.5-5.1-9.5-7S6.5 5 12 5Zm0 2C7.8 7 4.7 10.5 4.1 12c.6 1.5 3.7 5 7.9 5s7.3-3.5 7.9-5C19.3 10.5 16.2 7 12 7Zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c5.5 0 9.5 5.1 9.5 7s-4 7-9.5 7-9.5-5.1-9.5-7S6.5 5 12 5Zm0 2C7.8 7 4.7 10.5 4.1 12c.6 1.5 3.7 5 7.9 5s7.3-3.5 7.9-5C19.3 10.5 16.2 7 12 7Zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-registration-card .sim-password-toggle:hover,
body.simulator-login-locked .sim-registration-card .sim-password-toggle:focus-visible,
body.simulator-login-locked .sim-registration-card .sim-password-toggle.is-visible{
  color:#2f82c4;
}

body.simulator-login-locked .sim-registration-card .sim-password-toggle:focus-visible{
  outline:2px solid rgba(47,130,196,.35);
  outline-offset:2px;
}

body.simulator-login-locked .sim-login-overlay .toggle{
  position:absolute;
  right:clamp(5px, .45vw, 10px);
  top:50%;
  transform:translateY(-50%);
  background:transparent;
  border:0;
  color:#2f82c4;
  cursor:pointer;
  padding:clamp(3px, .25vw, 6px) clamp(4px, .35vw, 8px);
  border-radius:clamp(5px, .4vw, 9px);
  font-size:clamp(10px, .75vw, 16px);
  line-height:1;
}

body.simulator-login-locked .sim-login-overlay .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(5px, .45vw, 10px);
  flex-wrap:wrap;
  margin-top:-2px;
}

body.simulator-login-locked .sim-login-overlay .remember{
  display:flex;
  align-items:center;
  gap:clamp(3px, .3vw, 7px);
  color:#2f82c4;
  font-size:clamp(9px, .68vw, 15px);
  font-weight:500;
}

body.simulator-login-locked .sim-login-overlay .remember input{
  width:clamp(11px, .75vw, 18px);
  height:clamp(11px, .75vw, 18px);
  accent-color:#2f82c4;
}

body.simulator-login-locked .sim-login-overlay .muted{
  color:#2f82c4;
  font-size:clamp(9px, .68vw, 15px);
  text-decoration:none;
}

body.simulator-login-locked .sim-registration-card .muted,
body.simulator-login-locked .sim-registration-card .muted a{
  color:#2f82c4;
  font-size:12px;
}

body.simulator-login-locked .sim-registration-muted{
  margin:12px 0 0;
}

body.simulator-login-locked .sim-login-overlay .btn{
  width:100%;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(41px, 3vw, 66px);
  padding:clamp(7px, .55vw, 14px) clamp(9px, .75vw, 18px);
  border-radius:clamp(8px, .6vw, 14px);
  text-decoration:none;
  font-weight:500;
  letter-spacing:.02em;
  border:0;
  cursor:pointer;
  background:linear-gradient(180deg, #2f82c4 0%, #1d73b8 100%);
  color:#ffffff;
  font-size:clamp(10px, .78vw, 18px);
  text-shadow:0 2px 5px rgba(15,23,42,.2);
  line-height:1;
}

body.simulator-login-locked .sim-login-overlay .btn.btn-secondary{
  width:100%;
  margin-top:clamp(4px, .35vw, 9px);
  min-height:clamp(41px, 3vw, 66px);
  background:linear-gradient(180deg, #65ace2 0%, #529bd8 100%);
  border:0;
  color:#ffffff;
  font-size:clamp(10px, .78vw, 18px);
}

body.simulator-login-locked .sim-login-side{
  display:grid;
  gap:clamp(9px, .8vw, 22px);
  align-self:center;
  justify-content:center;
  justify-items:center;
}

body.simulator-login-locked .sim-login-side-card{
  background:#f2f5fa;
  border:1px solid #e2e8f0;
  border-radius:clamp(10px, .7vw, 18px);
  box-shadow:0 10px 24px rgba(15,23,42,.14);
  text-align:center;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  justify-self:center;
  margin:0 auto;
  padding:clamp(12px, 1vw, 30px) clamp(13px, 1.1vw, 34px);
}

body.simulator-login-locked .sim-login-side-title{
  margin:0;
  color:#111827;
  font-size:clamp(14px, 2vw, 52px);
  line-height:1.12;
  font-weight:500;
}

body.simulator-login-locked .sim-login-side-subtitle{
  margin:clamp(6px, .5vw, 14px) 0 0;
  color:#111827;
  font-size:clamp(12px, 1.45vw, 40px);
  line-height:1.15;
  font-weight:500;
}

body.simulator-login-locked .sim-login-side-note{
  margin:clamp(6px, .5vw, 14px) 0 0;
  color:#2f82c4;
  font-size:clamp(9px, .76vw, 24px);
  line-height:1.2;
  font-weight:500;
}

body.simulator-login-locked .sim-login-start-btn{
  width:100%;
  max-width:100%;
  min-height:clamp(84px, 5.9vw, 150px);
  justify-self:center;
  margin:0 auto;
  border:0;
  border-radius:clamp(10px, .7vw, 18px);
  background:linear-gradient(180deg, #2f82c4 0%, #1f76bd 100%);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(19px, 1.4vw, 36px);
  box-shadow:0 12px 24px rgba(15,23,42,.2);
  cursor:pointer;
  opacity:1;
}

body.simulator-login-locked .sim-login-start-btn img{
  width:clamp(50px, 3.5vw, 90px);
  height:clamp(50px, 3.5vw, 90px);
  object-fit:contain;
  filter:brightness(0) invert(1);
}

body.simulator-login-locked .sim-login-start-btn span{
  font-size:clamp(23px, 2.45vw, 66px);
  line-height:1;
  font-weight:500;
  letter-spacing:.02em;
  white-space:nowrap;
  text-shadow:0 3px 8px rgba(15,23,42,.28);
}

/* VitalLab pre-start login screen */
body.simulator-login-locked .sim-login-overlay{
  --login-blue:#1177f2;
  --login-blue-strong:#006ce8;
  --login-ink:#061847;
  --login-muted:#667391;
  --login-line:#dfe7f2;
  --login-soft:#f5f9ff;
  padding:16px 18px 28px;
  background:
    linear-gradient(135deg, rgba(238,247,255,.96), rgba(255,255,255,.98) 48%, rgba(236,247,255,.96)),
    #f7fbff !important;
  overflow:auto;
}

body.simulator-login-locked .sim-login-overlay::before{
  content:"";
  position:fixed;
  left:-6vw;
  right:-6vw;
  bottom:-4vh;
  height:50vh;
  pointer-events:none;
  opacity:.32;
  background:
    repeating-linear-gradient(168deg, transparent 0 18px, rgba(31,136,255,.11) 19px, transparent 20px),
    linear-gradient(90deg, transparent 0 8%, rgba(31,136,255,.22) 8.2%, transparent 8.5% 100%);
  mask-image:linear-gradient(to top, #000, transparent 76%);
}

body.simulator-login-locked .sim-login-titlebar{
  --sim-login-logo-y-offset:18px;
  width:min(100%, 1380px);
  height:92px;
  min-height:92px;
  padding:0 clamp(22px, 3vw, 48px);
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(230px, 1fr) auto auto minmax(130px, 1fr);
  align-items:center;
  align-content:center;
  gap:clamp(18px, 3vw, 54px);
  border:1px solid rgba(219,229,242,.88);
  border-radius:16px;
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 48px rgba(26,86,155,.12);
  overflow:visible;
  pointer-events:auto;
}

body.simulator-login-locked .sim-login-titlebar-brand-block{
  min-width:0;
  width:173px;
  height:92px;
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
  justify-content:flex-start;
  gap:14px;
  border-radius:12px;
  cursor:pointer;
  padding-bottom: 25px;
  padding-left: 20px;
}

body.simulator-login-locked .sim-login-titlebar-brand-block:focus-visible{
  outline:3px solid rgba(17,119,242,.28);
  outline-offset:6px;
}

body.simulator-login-locked .sim-login-titlebar-logo{
  position:relative;
  width:173px;
  height:auto;
  aspect-ratio:1123 / 794;
  display:block;
  object-fit:contain;
  margin-top:var(--sim-login-logo-y-offset, 0);
  transform:none;
  -webkit-transform:none;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  image-rendering:-webkit-optimize-contrast;
  pointer-events:none;
}

body.simulator-login-locked .sim-login-titlebar-text{
  margin:0;
  color:var(--login-ink);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:32px;
  line-height:.95;
  font-weight:800;
  letter-spacing:0;
  text-align:left;
}

body.simulator-login-locked .sim-login-titlebar-brand{
  color:var(--login-ink);
  font-weight:800;
}

body.simulator-login-locked .sim-login-titlebar-accent{
  color:var(--login-blue);
  font-weight:800;
}

body.simulator-login-locked .sim-login-titlebar-text::first-letter,
body.simulator-login-locked .sim-login-titlebar-text{
  text-shadow:none;
}

body.simulator-login-locked .sim-login-titlebar-text{
  color:var(--login-ink);
}

body.simulator-login-locked .sim-login-titlebar-subtitle{
  margin:6px 0 0;
  color:var(--login-muted);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0;
}

body.simulator-login-locked .sim-login-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(22px, 3.1vw, 48px);
  white-space:nowrap;
}

body.simulator-login-locked .sim-login-nav button,
body.simulator-login-locked .sim-login-locale{
  border:0;
  background:transparent;
  color:var(--login-ink);
  font:700 14px/1 "Inter", system-ui, sans-serif;
  letter-spacing:0;
  padding:8px 0;
  cursor:default;
}

body.simulator-login-locked .sim-login-nav button{
  cursor:pointer;
  text-decoration:none;
  text-underline-offset:0;
}

body.simulator-login-locked .sim-login-nav .sim-legal-link{
  color:var(--login-ink);
  font-weight:700;
  text-decoration:none;
}

body.simulator-login-locked .sim-login-nav button:hover,
body.simulator-login-locked .sim-login-nav button:focus-visible{
  color:var(--login-blue);
  text-decoration:none;
  outline:none;
}

body.simulator-login-locked .sim-login-locale{
  justify-self:end;
  position:relative;
}

body.simulator-login-locked .sim-login-theme-btn{
  justify-self:end;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid var(--login-line);
  border-radius:12px;
  background:#ffffff;
  color:var(--login-ink);
  cursor:pointer;
  box-shadow:0 8px 18px rgba(26,86,155,.08);
}

body.simulator-login-locked .sim-login-theme-btn img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}

body.simulator-login-locked .sim-login-theme-btn:hover,
body.simulator-login-locked .sim-login-theme-btn:focus-visible,
body.simulator-login-locked .sim-login-theme-btn.is-active{
  border-color:var(--login-blue);
  outline:none;
}

body.simulator-login-locked .sim-login-locale-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  color:var(--login-ink);
  font:700 14px/1 "Inter", system-ui, sans-serif;
  letter-spacing:0;
  padding:8px 0;
  cursor:pointer;
}

body.simulator-login-locked .sim-login-locale-toggle:hover,
body.simulator-login-locked .sim-login-locale-toggle:focus-visible{
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-locale-globe,
body.simulator-login-locked .sim-login-locale-chevron{
  display:block;
  color:var(--login-ink);
}

body.simulator-login-locked .sim-login-locale-toggle:hover .sim-login-locale-globe,
body.simulator-login-locked .sim-login-locale-toggle:hover .sim-login-locale-chevron,
body.simulator-login-locked .sim-login-locale-toggle:focus-visible .sim-login-locale-globe,
body.simulator-login-locked .sim-login-locale-toggle:focus-visible .sim-login-locale-chevron{
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-locale-globe{
  width:18px;
  height:18px;
  border:2px solid currentColor;
  border-radius:50%;
  box-sizing:border-box;
  position:relative;
}

body.simulator-login-locked .sim-login-locale-globe::before,
body.simulator-login-locked .sim-login-locale-globe::after{
  content:"";
  position:absolute;
  inset:3px 1px;
  border-left:1px solid currentColor;
  border-right:1px solid currentColor;
  border-radius:50%;
}

body.simulator-login-locked .sim-login-locale-globe::after{
  inset:7px 2px;
  border:0;
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
}

body.simulator-login-locked .sim-login-locale-chevron{
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}

body.simulator-login-locked .sim-login-locale-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  z-index:30;
  min-width:178px;
  padding:8px;
  border:1px solid rgba(219,229,242,.95);
  border-radius:10px;
  background:#ffffff;
  box-shadow:0 18px 42px rgba(26,86,155,.16);
}

body.simulator-login-locked .sim-login-locale-menu[hidden]{
  display:none;
}

body.simulator-login-locked .sim-login-locale-menu::before{
  content:"";
  position:absolute;
  top:-6px;
  right:22px;
  width:10px;
  height:10px;
  border-left:1px solid rgba(219,229,242,.95);
  border-top:1px solid rgba(219,229,242,.95);
  background:#ffffff;
  transform:rotate(45deg);
}

body.simulator-login-locked .sim-login-locale-option{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--login-ink);
  font:800 13px/1 "Inter", system-ui, sans-serif;
  letter-spacing:0;
  padding:0 10px;
  cursor:pointer;
  text-align:left;
}

body.simulator-login-locked .sim-login-locale-option span{
  color:#7a879f;
  font-size:11px;
  font-weight:700;
}

body.simulator-login-locked .sim-login-locale-option:hover,
body.simulator-login-locked .sim-login-locale-option:focus-visible{
  background:#eef6ff;
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-locale-option.is-active{
  background:#e7f2ff;
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-main{
  width:min(1120px, calc(100% - 40px));
  margin-top:28px;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 360px);
  gap:30px;
  align-items:start;
  justify-content:center;
}

body.simulator-login-locked .sim-login-main .sim-login-side{
  grid-column:1;
  width:100%;
  justify-self:stretch;
}

body.simulator-login-locked .sim-login-main .sim-login-card{
  position:relative;
  top:auto;
  right:auto;
  grid-column:2;
  width:100%;
  min-height:470px;
  padding:28px 28px 22px;
  border:1px solid rgba(222,232,244,.95);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 20px 50px rgba(29,91,155,.13);
}

body.simulator-login-locked .sim-login-side-card,
body.simulator-login-locked .sim-login-demo-card{
  min-height:470px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:34px 26px 24px;
  border:1px solid rgba(222,232,244,.95);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 20px 50px rgba(29,91,155,.12);
}

body.simulator-login-locked .sim-login-side-card[hidden],
body.simulator-login-locked .sim-login-demo-card[hidden]{
  display:none;
}

body.simulator-login-locked .sim-login-demo-card{
  justify-content:flex-start;
  align-items:stretch;
  gap:18px;
}

body.simulator-login-locked .sim-login-demo-head{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  text-align:left;
}

body.simulator-login-locked .sim-login-demo-head .sim-login-side-note{
  display:inline-flex;
  margin:0 0 12px;
}

body.simulator-login-locked .sim-login-demo-head h2{
  margin:0;
  color:var(--login-ink);
  font-size:28px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:0;
}

body.simulator-login-locked .sim-login-demo-close{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid var(--login-line);
  border-radius:8px;
  background:#ffffff;
  color:var(--login-ink);
  font-size:18px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(26,86,155,.08);
}

body.simulator-login-locked .sim-login-demo-close:hover,
body.simulator-login-locked .sim-login-demo-close:focus-visible{
  color:var(--login-blue);
  border-color:#bad7ff;
}

body.simulator-login-locked .sim-login-demo-video{
  width:100%;
  max-height:350px;
  aspect-ratio:16 / 9;
  border-radius:10px;
  background:#061847;
  object-fit:contain;
  box-shadow:0 14px 30px rgba(6,24,71,.18);
}

body.simulator-login-locked .sim-login-side-note{
  margin:0 0 26px;
  padding:8px 18px;
  border:1px solid rgba(222,232,244,.95);
  border-radius:999px;
  background:#eef6ff;
  color:var(--login-blue);
  font-size:13px;
  line-height:1;
  font-weight:800;
}

body.simulator-login-locked .sim-login-side-title{
  max-width:680px;
  margin:0;
  color:var(--login-ink);
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.05;
  font-weight:850;
  letter-spacing:0;
}

body.simulator-login-locked .sim-login-side-title span{
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-side-subtitle{
  margin:20px 0 0;
  color:var(--login-muted);
  font-size:17px;
  line-height:1.45;
  font-weight:650;
}

body.simulator-login-locked .sim-login-actions{
  display:flex;
  justify-content:center;
  gap:28px;
  margin-top:32px;
  width:100%;
}

body.simulator-login-locked .sim-login-start-btn,
body.simulator-login-locked .sim-login-demo-btn{
  width:auto;
  min-width:270px;
  min-height:62px;
  margin:0;
  padding:0 26px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  font-size:16px;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
}

body.simulator-login-locked .sim-login-start-btn{
  background:linear-gradient(180deg, #2186ff 0%, #0870ec 100%);
  color:#ffffff;
  box-shadow:0 12px 22px rgba(12,112,236,.26);
}

body.simulator-login-locked .sim-login-demo-btn{
  border:1px solid var(--login-line);
  background:#ffffff;
  color:var(--login-ink);
  box-shadow:0 8px 18px rgba(26,86,155,.08);
  cursor:default;
}

body.simulator-login-locked .sim-login-start-btn span,
body.simulator-login-locked .sim-login-demo-btn span{
  font-size:inherit;
  line-height:1;
  font-weight:inherit;
  text-shadow:none;
  white-space:nowrap;
}

body.simulator-login-locked .sim-login-start-icon,
body.simulator-login-locked .sim-login-demo-icon,
body.simulator-login-locked .sim-login-create-icon,
body.simulator-login-locked .sim-login-step-icon{
  width:24px;
  height:24px;
  flex:0 0 auto;
  background:currentColor;
  display:block;
}

body.simulator-login-locked .sim-login-start-icon{
  color:#ffffff;
  border-radius:50%;
  background:#ffffff;
  position:relative;
}

body.simulator-login-locked .sim-login-start-icon::after{
  content:"";
  position:absolute;
  left:9px;
  top:6px;
  border-left:8px solid var(--login-blue);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
}

body.simulator-login-locked .sim-login-btn-arrow{
  width:13px;
  height:13px;
  border-right:2px solid currentColor;
  border-top:2px solid currentColor;
  transform:rotate(45deg);
  background:transparent;
}

body.simulator-login-locked .sim-login-demo-icon{
  color:var(--login-ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm2 2v12h11V6H7Zm4 3 5 3-5 3V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm2 2v12h11V6H7Zm4 3 5 3-5 3V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-steps{
  width:100%;
  margin-top:38px;
  padding:22px 18px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  border-radius:10px;
  background:rgba(255,255,255,.7);
  box-shadow:0 10px 26px rgba(29,91,155,.08);
}

body.simulator-login-locked .sim-login-step{
  min-width:0;
  display:grid;
  grid-template-columns:auto auto minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;
  text-align:left;
}

body.simulator-login-locked .sim-login-step:not(:last-child)::after{
  content:"";
  justify-self:end;
  width:9px;
  height:9px;
  border-right:1px solid #b7c4d7;
  border-top:1px solid #b7c4d7;
  transform:rotate(45deg);
}

body.simulator-login-locked .sim-login-step strong{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef6ff;
  color:var(--login-blue);
  font-size:17px;
  line-height:1;
  font-weight:850;
}

body.simulator-login-locked .sim-login-step-icon{
  width:30px;
  height:30px;
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-step-icon--case{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm8.5 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM2 21v-2c0-3.1 2.7-5.5 6-5.5s6 2.4 6 5.5v2H2Zm12.5 0v-2.4c0-1.5-.5-2.9-1.4-4 1-.5 2.2-.8 3.4-.8 3 0 5.5 2.2 5.5 5V21h-7.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm8.5 1a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM2 21v-2c0-3.1 2.7-5.5 6-5.5s6 2.4 6 5.5v2H2Zm12.5 0v-2.4c0-1.5-.5-2.9-1.4-4 1-.5 2.2-.8 3.4-.8 3 0 5.5 2.2 5.5 5V21h-7.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-step-icon--monitor{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21c-.5 0-.9-.3-1.1-.7L7.4 12H3a1 1 0 1 1 0-2h5.1c.4 0 .8.3 1 .7l2.9 6.9 3.9-14c.1-.4.5-.7 1-.7s.8.3 1 .7L20.5 10H22a1 1 0 1 1 0 2h-2.2c-.4 0-.8-.3-1-.7l-1.7-4.2-4.2 13.2c-.1.4-.5.7-.9.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21c-.5 0-.9-.3-1.1-.7L7.4 12H3a1 1 0 1 1 0-2h5.1c.4 0 .8.3 1 .7l2.9 6.9 3.9-14c.1-.4.5-.7 1-.7s.8.3 1 .7L20.5 10H22a1 1 0 1 1 0 2h-2.2c-.4 0-.8-.3-1-.7l-1.7-4.2-4.2 13.2c-.1.4-.5.7-.9.7Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-step-icon--learn{
  display:block;
  object-fit:contain;
  background:transparent;
  -webkit-mask:none;
  mask:none;
}

body.simulator-login-locked .sim-login-step p{
  min-width:0;
  margin:0;
  display:grid;
  gap:5px;
  color:var(--login-ink);
}

body.simulator-login-locked .sim-login-step b{
  font-size:13px;
  line-height:1.15;
  font-weight:850;
}

body.simulator-login-locked .sim-login-step small{
  color:var(--login-muted);
  font-size:10px;
  line-height:1.15;
  font-weight:650;
}

body.simulator-login-locked .sim-login-card-head{
  margin:0 0 22px;
  text-align:left;
}

body.simulator-login-locked .sim-login-card-head h2{
  margin:0;
  color:var(--login-ink);
  font-size:22px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:0;
}

body.simulator-login-locked .sim-login-card-head p{
  margin:12px 0 0;
  color:var(--login-muted);
  font-size:14px;
  line-height:1.5;
  font-weight:650;
}

body.simulator-login-locked .sim-login-error{
  margin:0;
  padding:10px 12px;
  border:1px solid #fecaca;
  border-radius:7px;
  background:#fff1f2;
  color:#b91c1c;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-align:left;
}

body.simulator-login-locked .sim-login-error p{
  margin:0;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card form{
  gap:16px;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .input{
  min-height:44px;
  padding:0 42px;
  border:1px solid #d7e1ee;
  border-radius:7px;
  background:#ffffff;
  color:var(--login-ink);
  font-size:13px;
  font-weight:650;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .input::placeholder{
  color:#6f7d99;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .sim-login-field-icon{
  left:13px;
  width:18px;
  height:18px;
  color:#1d2c5a;
  opacity:1;
}

body.simulator-login-locked .sim-login-overlay .sim-login-field-icon--user{
  background:#1d2c5a;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 3.2V17h16V8.2l-7.4 5.1a1 1 0 0 1-1.2 0L4 8.2ZM5.6 7l6.4 4.4L18.4 7H5.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 3.2V17h16V8.2l-7.4 5.1a1 1 0 0 1-1.2 0L4 8.2ZM5.6 7l6.4 4.4L18.4 7H5.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-overlay .sim-login-field-icon--lock{
  background:#1d2c5a;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1V7a5 5 0 0 1 10 0v2Zm-8 0h6V7a3 3 0 0 0-6 0v2Zm-3 2v8h12v-8H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h1a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h1V7a5 5 0 0 1 10 0v2Zm-8 0h6V7a3 3 0 0 0-6 0v2Zm-3 2v8h12v-8H6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .row{
  gap:10px;
  margin-top:-3px;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .remember,
body.simulator-login-locked .sim-login-overlay .sim-login-card .muted{
  color:#62708f;
  font-size:11px;
  line-height:1;
  font-weight:700;
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .remember input{
  width:15px;
  height:15px;
  accent-color:var(--login-blue);
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .muted{
  color:var(--login-blue);
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .btn{
  min-height:46px;
  border-radius:7px;
  background:linear-gradient(180deg, #2186ff 0%, #0870ec 100%);
  color:#ffffff;
  font-size:14px;
  font-weight:850;
  gap:12px;
  box-shadow:0 10px 20px rgba(12,112,236,.22);
}

body.simulator-login-locked .sim-login-overlay .sim-login-card .btn.btn-secondary{
  min-height:45px;
  margin-top:0;
  border:1px solid var(--login-line);
  background:#ffffff;
  color:var(--login-ink);
  box-shadow:none;
}

body.simulator-login-locked .sim-login-create-icon{
  width:18px;
  height:18px;
  color:var(--login-ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0 2c3.3 0 6 2.2 6 5v2H4v-2c0-2.8 2.7-5 6-5Zm8-1V9h-3V7h3V4h2v3h3v2h-3v3h-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0 2c3.3 0 6 2.2 6 5v2H4v-2c0-2.8 2.7-5 6-5Zm8-1V9h-3V7h3V4h2v3h3v2h-3v3h-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.simulator-login-locked .sim-login-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  color:#7c88a0;
  font-size:14px;
  font-weight:700;
}

body.simulator-login-locked .sim-login-divider::before,
body.simulator-login-locked .sim-login-divider::after{
  content:"";
  height:1px;
  background:var(--login-line);
}

body.simulator-login-locked .sim-login-terms{
  margin:14px 0 0;
  color:#7c88a0;
  font-size:11px;
  line-height:1.45;
  font-weight:650;
  text-align:center;
}

body.simulator-login-locked .sim-login-terms .sim-legal-link{
  color:var(--login-blue);
  font-weight:800;
  text-decoration:none;
}

body.black-theme.simulator-login-locked .sim-login-overlay{
  --login-blue:#1597ff;
  --login-blue-strong:#0078ff;
  --login-ink:#f8fbff;
  --login-muted:#9aa8bd;
  --login-line:rgba(54,96,135,.82);
  --login-soft:#071525;
  background:
    radial-gradient(circle at 78% 10%, rgba(21,151,255,.18), transparent 34%),
    linear-gradient(135deg, #030814 0%, #061426 46%, #020713 100%),
    #020713 !important;
}

body.black-theme.simulator-login-locked .sim-login-overlay::before{
  opacity:.42;
  background:
    repeating-linear-gradient(168deg, transparent 0 18px, rgba(21,151,255,.16) 19px, transparent 20px),
    linear-gradient(90deg, transparent 0 8%, rgba(21,151,255,.44) 8.2%, transparent 8.5% 100%);
}

body.black-theme.simulator-login-locked .sim-login-titlebar{
  --sim-login-logo-y-offset:12px;
  border-color:rgba(36,83,123,.78);
  background:rgba(2,11,24,.9);
  box-shadow:0 18px 48px rgba(0,0,0,.42), inset 0 1px 0 rgba(31,151,255,.08);
}

body.black-theme.simulator-login-locked .sim-login-titlebar-brand-block:focus-visible{
  outline-color:rgba(21,151,255,.34);
}

body.black-theme.simulator-login-locked .sim-login-locale-menu{
  border-color:rgba(54,96,135,.95);
  background:#071525;
  box-shadow:0 18px 42px rgba(0,0,0,.44);
}

body.black-theme.simulator-login-locked .sim-login-locale-menu::before{
  border-left-color:rgba(54,96,135,.95);
  border-top-color:rgba(54,96,135,.95);
  background:#071525;
}

body.black-theme.simulator-login-locked .sim-login-locale-option span{
  color:#8794a8;
}

body.black-theme.simulator-login-locked .sim-login-locale-option:hover,
body.black-theme.simulator-login-locked .sim-login-locale-option:focus-visible{
  background:rgba(21,151,255,.14);
}

body.black-theme.simulator-login-locked .sim-login-locale-option.is-active{
  background:rgba(21,151,255,.2);
}

body.black-theme.simulator-login-locked .sim-login-main .sim-login-card,
body.black-theme.simulator-login-locked .sim-login-overlay .card,
body.black-theme.simulator-login-locked .sim-mode-picker,
body.black-theme.simulator-login-locked .sim-als-scenario-picker,
body.black-theme.simulator-login-locked .sim-project-info-panel,
body.black-theme.simulator-login-locked .sim-scenario-lab,
body.black-theme.simulator-login-locked .sim-case-generator-panel{
  border-color:rgba(54,96,135,.86);
  background:rgba(3,15,31,.88);
  color:var(--login-ink);
  box-shadow:0 20px 50px rgba(0,0,0,.48), inset 0 1px 0 rgba(21,151,255,.08);
}

body.black-theme.simulator-login-locked .sim-login-side-card,
body.black-theme.simulator-login-locked .sim-login-demo-card{
  border-color:rgba(36,94,142,.84);
  background:rgba(3,15,31,.86);
  box-shadow:0 20px 50px rgba(0,0,0,.48), inset 0 1px 0 rgba(21,151,255,.08);
}

body.black-theme.simulator-login-locked .sim-login-demo-close,
body.black-theme.simulator-login-locked .sim-login-theme-btn,
body.black-theme.simulator-login-locked .sim-login-demo-btn,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .btn.btn-secondary,
body.black-theme.simulator-login-locked .sim-als-scenario-actions button,
body.black-theme.simulator-login-locked .sim-mode-picker-close,
body.black-theme.simulator-login-locked .sim-scenario-lab-actions button,
body.black-theme.simulator-login-locked .sim-scenario-lab-close,
body.black-theme.simulator-login-locked .sim-scenario-lab-steps button,
body.black-theme.simulator-login-locked .sim-scenario-lab-footer button{
  border-color:var(--login-line);
  background:rgba(3,15,31,.52);
  color:var(--login-ink);
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}

body.black-theme.simulator-login-locked .sim-login-demo-close:hover,
body.black-theme.simulator-login-locked .sim-login-demo-close:focus-visible,
body.black-theme.simulator-login-locked .sim-mode-picker-close:hover,
body.black-theme.simulator-login-locked .sim-mode-picker-close:focus-visible{
  color:var(--login-blue);
  border-color:rgba(21,151,255,.74);
}

body.black-theme.simulator-login-locked .sim-login-demo-video{
  background:#020713;
  box-shadow:0 14px 30px rgba(0,0,0,.44);
}

body.black-theme.simulator-login-locked .sim-login-side-note{
  border-color:rgba(21,151,255,.42);
  background:rgba(21,151,255,.12);
}

body.black-theme.simulator-login-locked .sim-login-start-btn,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .btn,
body.black-theme.simulator-login-locked .sim-als-scenario-actions button.primary,
body.black-theme.simulator-login-locked .sim-scenario-lab-steps button.is-active,
body.black-theme.simulator-login-locked .sim-scenario-lab-actions button.is-saved{
  border-color:rgba(95,218,255,.58);
  background:linear-gradient(180deg, #12baff 0%, #0874ff 100%);
  color:#ffffff;
  box-shadow:0 12px 24px rgba(0,128,255,.36), inset 0 0 0 1px rgba(95,218,255,.58);
}

body.black-theme.simulator-login-locked .sim-login-steps{
  background:rgba(3,15,31,.48);
  box-shadow:0 10px 26px rgba(0,0,0,.24), inset 0 0 0 1px rgba(54,96,135,.52);
}

body.black-theme.simulator-login-locked .sim-login-step:not(:last-child)::after{
  border-right-color:rgba(154,168,189,.72);
  border-top-color:rgba(154,168,189,.72);
}

body.black-theme.simulator-login-locked .sim-login-step strong{
  background:rgba(21,151,255,.16);
}

body.black-theme.simulator-login-locked .sim-login-error,
body.black-theme.simulator-login-locked .sim-registration-error,
body.black-theme.simulator-login-locked .sim-scenario-validation{
  border-color:rgba(248,113,113,.58);
  background:rgba(127,29,29,.2);
  color:#fecaca;
}

body.black-theme.simulator-login-locked .sim-registration-error.is-success{
  border-color:rgba(74,222,128,.65);
  background:rgba(20,83,45,.22);
  color:#bbf7d0;
}

body.black-theme.simulator-login-locked .sim-login-overlay .input,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .input,
body.black-theme.simulator-login-locked .sim-als-scenario-field select,
body.black-theme.simulator-login-locked .sim-scenario-panel input,
body.black-theme.simulator-login-locked .sim-scenario-panel select,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-panel input,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-panel select{
  border-color:rgba(77,104,137,.95);
  background:rgba(2,11,24,.52);
  color:var(--login-ink);
  box-shadow:none;
}

body.black-theme.simulator-login-locked .sim-login-overlay .input::placeholder,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .input::placeholder{
  color:#7f8da3;
}

body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-field-icon,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-field-icon--user,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-field-icon--lock{
  color:#f8fbff;
  background:#f8fbff;
}

body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .remember,
body.black-theme.simulator-login-locked .sim-login-overlay .sim-login-card .muted,
body.black-theme.simulator-login-locked .sim-login-divider,
body.black-theme.simulator-login-locked .sim-login-terms,
body.black-theme.simulator-login-locked .sim-login-side-subtitle,
body.black-theme.simulator-login-locked .sim-login-step small,
body.black-theme.simulator-login-locked .sim-login-card-head p,
body.black-theme.simulator-login-locked .sim-mode-item p,
body.black-theme.simulator-login-locked .sim-als-scenario-picker-head p,
body.black-theme.simulator-login-locked .sim-scenario-lab-head p,
body.black-theme.simulator-login-locked .sim-scenario-lab-footer span,
body.black-theme.simulator-login-locked .sim-scenario-note{
  color:var(--login-muted);
}

body.black-theme.simulator-login-locked .sim-login-divider::before,
body.black-theme.simulator-login-locked .sim-login-divider::after,
body.black-theme.simulator-login-locked .sim-mode-divider{
  background:var(--login-line);
}

body.black-theme.simulator-login-locked .sim-mode-item,
body.black-theme.simulator-login-locked .sim-scenario-panel,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-panel,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-check-control,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option span,
body.black-theme.simulator-login-locked .sim-case-generator-preview .patient-info-card,
body.black-theme.simulator-login-locked .sim-scenario-panel--preview .patient-info-card{
  border-color:rgba(54,96,135,.74);
  background:rgba(2,11,24,.46);
  color:var(--login-ink);
  box-shadow:0 10px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(21,151,255,.06);
}

body.black-theme.simulator-login-locked .sim-mode-lock{
  background:rgba(2,11,24,.58);
}

body.black-theme.simulator-login-locked .sim-login-side-title,
body.black-theme.simulator-login-locked .sim-login-step p,
body.black-theme.simulator-login-locked .sim-login-card-head h2,
body.black-theme.simulator-login-locked .sim-project-info-panel h2,
body.black-theme.simulator-login-locked .sim-project-info-body,
body.black-theme.simulator-login-locked .sim-mode-item h2,
body.black-theme.simulator-login-locked .sim-mode-picker h1,
body.black-theme.simulator-login-locked .sim-als-scenario-picker h1,
body.black-theme.simulator-login-locked .sim-als-scenario-field,
body.black-theme.simulator-login-locked .sim-scenario-lab-head h1,
body.black-theme.simulator-login-locked .sim-scenario-panel h2,
body.black-theme.simulator-login-locked .sim-scenario-panel label,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-panel h2,
body.black-theme.simulator-login-locked .sim-scenario-lab .sim-scenario-panel label,
body.black-theme.simulator-login-locked .sim-registration-card label,
body.black-theme.simulator-login-locked .sim-registration-consent,
body.black-theme.simulator-login-locked .sim-registration-card .muted,
body.black-theme.simulator-login-locked .sim-registration-card .muted a,
body.black-theme.simulator-login-locked .sim-registration-error ul{
  color:var(--login-ink);
}

body.black-theme.simulator-login-locked .sim-legal-link,
body.black-theme.simulator-login-locked .sim-registration-brand h1,
body.black-theme.simulator-login-locked .sim-registration-sub{
  color:var(--login-blue);
}

body.black-theme.simulator-login-locked .sim-login-nav .sim-legal-link{
  color:var(--login-ink);
  text-decoration:none;
}

body.black-theme.simulator-login-locked .sim-login-nav button:hover,
body.black-theme.simulator-login-locked .sim-login-nav button:focus-visible{
  color:var(--login-blue);
  text-decoration:none;
}

@media (max-width: 1100px){
  body.simulator-login-locked .sim-login-main{
    grid-template-columns:1fr;
    max-width:640px;
  }
  body.simulator-login-locked .sim-login-main .sim-login-side,
  body.simulator-login-locked .sim-login-main .card{
    grid-column:1;
    justify-self:center;
  }
  body.simulator-login-locked .sim-login-main .card{
    width:min(100%, 520px);
  }
  body.simulator-login-locked .sim-login-main .sim-login-card{
    position:relative;
    top:auto;
    right:auto;
  }
}

/* Scenario laboratory mockup layout */
body.simulator-login-locked.simulator-scenario-lab-open .sim-login-overlay{
  padding:0;
  background:#E7EBF4 !important;
}

body.simulator-login-locked .sim-login-main.sim-login-main--scenario-lab{
  width:100%;
  max-width:none;
  min-height:100vh;
  margin-top:0;
  align-items:start;
}

body.simulator-login-locked .sim-scenario-lab{
  --scenario-head-h:clamp(54px, 7vh, 76px);
  --scenario-gap:clamp(6px, 1vh, 12px);
  --scenario-top-pad:20px;
  --scenario-bottom-pad:clamp(6px, .8vh, 10px);
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  padding:var(--scenario-top-pad) clamp(8px, .7vw, 12px) var(--scenario-bottom-pad);
  border:0;
  border-radius:0;
  background:#E7EBF4;
  box-shadow:none;
  font-family:"Arsenal", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.simulator-login-locked .sim-scenario-lab > .sim-scenario-lab-close,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-steps,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-footer,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--preview{
  display:none !important;
}

body.simulator-login-locked .sim-login-main .sim-scenario-lab .sim-scenario-panel[hidden]:not(.sim-scenario-panel--preview){
  display:block !important;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-head{
  position:relative;
  display:block;
  height:var(--scenario-head-h);
  min-height:0;
  padding:0 202px clamp(3px, .6vh, 6px);
  text-align:center;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-head h1{
  margin:0;
  color:#111111;
  font-size:clamp(31px, 4.1vh, 44px);
  line-height:.95;
  font-weight:400;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-head p{
  margin:2px 0 0;
  color:#111111;
  font-size:clamp(14px, 1.9vh, 20px);
  line-height:1.05;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-actions{
  position:absolute;
  top:0;
  right:28px;
  width:172px;
  display:grid;
  gap:clamp(3px, .6vh, 6px);
  min-width:0;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-actions button{
  min-height:clamp(25px, 3.2vh, 33px);
  border-radius:9px;
  font-size:clamp(14px, 1.85vh, 18px);
  font-family:inherit;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-validation{
  max-width:780px;
  margin:0 auto 8px;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-grid{
  width:min(1810px, 100%);
  height:calc(100dvh - var(--scenario-top-pad) - var(--scenario-head-h) - var(--scenario-bottom-pad));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px, 385px) minmax(360px, 445px) minmax(360px, 445px) minmax(320px, 1fr);
  grid-template-areas:
    "demographics cardio coronary launch"
    "chronic cardio respiratory launch"
    "conditions valves labs launch";
  gap:var(--scenario-gap);
  align-items:start;
  align-content:start;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel{
  --scenario-panel-bg:#EEF3F1;
  --scenario-panel-border:#51AA58;
  --scenario-control-bg:#BFE7C8;
  --scenario-control-border:#46A753;
  min-width:0;
  padding:clamp(3px, .7vh, 6px) clamp(6px, .6vw, 10px) clamp(4px, .8vh, 9px);
  border:2px solid var(--scenario-panel-border);
  border-radius:8px;
  background:var(--scenario-panel-bg);
  box-shadow:none;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--demographics{
  grid-area:demographics;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--chronic{
  grid-area:chronic;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--conditions{
  grid-area:conditions;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--cardio{
  grid-area:cardio;
  --scenario-panel-bg:#EEE1E2;
  --scenario-panel-border:#C75774;
  --scenario-control-bg:#D97894;
  --scenario-control-border:#C94F6F;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--valves{
  grid-area:valves;
  --scenario-panel-bg:#EEE1E2;
  --scenario-panel-border:#C75774;
  --scenario-control-bg:#D97894;
  --scenario-control-border:#C94F6F;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--coronary{
  grid-area:coronary;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--respiratory{
  grid-area:respiratory;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs{
  grid-area:labs;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--coronary,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--respiratory,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs{
  --scenario-panel-bg:#DDE5F7;
  --scenario-panel-border:#4F78AF;
  --scenario-control-bg:#9CAFE4;
  --scenario-control-border:#4C76B5;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel h2{
  margin:0 0 clamp(2px, .6vh, 7px);
  color:#111111;
  text-align:center;
  font-size:clamp(14px, 1.9vh, 20px);
  line-height:1.05;
  font-weight:700;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel label{
  min-height:clamp(22px, 2.85vh, 34px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(86px, 116px);
  align-items:center;
  gap:clamp(4px, .55vw, 8px);
  color:#1a1a1a;
  font-size:clamp(12px, 1.55vh, 18px);
  line-height:1;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel input,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel select{
  height:clamp(20px, 2.75vh, 31px);
  border:2px solid var(--scenario-control-border);
  border-radius:8px;
  background:var(--scenario-control-bg);
  color:#202020;
  font-family:inherit;
  font-size:clamp(11px, 1.45vh, 16px);
  box-shadow:inset 0 1px 3px rgba(15,23,42,.18), 0 1px 1px rgba(255,255,255,.5);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-row{
  grid-template-columns:minmax(0, 1fr) auto;
  cursor:pointer;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-row input[type="checkbox"],
body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option input[type="radio"]{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  opacity:0;
  pointer-events:none;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-control{
  width:clamp(22px, 3vh, 34px);
  aspect-ratio:1;
  border:2px solid #46A753;
  border-radius:50%;
  background:#BFE7C8;
  display:block;
  position:relative;
  box-shadow:inset 0 1px 4px rgba(255,255,255,.55), 0 2px 5px rgba(33,99,54,.22);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-control::after{
  content:"";
  position:absolute;
  left:50%;
  top:47%;
  width:32%;
  height:56%;
  border:solid #2EB447;
  border-width:0 3px 3px 0;
  opacity:0;
  transform:translate(-50%, -55%) rotate(45deg);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-row input[type="checkbox"]:checked + .sim-scenario-check-control::after{
  opacity:1;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-row input[type="checkbox"]:focus-visible + .sim-scenario-check-control{
  box-shadow:0 0 0 2px rgba(31,110,182,.28), inset 0 1px 4px rgba(255,255,255,.55);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-row{
  min-height:clamp(22px, 2.85vh, 34px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:clamp(4px, .55vw, 8px);
  color:#1a1a1a;
  font-size:clamp(12px, 1.55vh, 18px);
  line-height:1;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-group{
  display:grid;
  grid-template-columns:repeat(2, clamp(25px, 3.25vh, 38px));
  gap:clamp(5px, .55vw, 9px);
  align-items:center;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option{
  min-height:0;
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  gap:0;
  cursor:pointer;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option span{
  width:clamp(25px, 3.25vh, 38px);
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:clamp(10px, 1.25vh, 15px);
  line-height:1;
  font-weight:700;
  box-sizing:border-box;
  transition:transform .12s ease, opacity .12s ease, box-shadow .12s ease;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option--yes span{
  border:2px solid #46A753;
  background:#BFE7C8;
  color:#2DB447;
  box-shadow:inset 0 1px 4px rgba(255,255,255,.58), 0 2px 5px rgba(33,99,54,.22);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option--no span{
  border:2px solid #CF2B3E;
  background:#EEF0F3;
  color:#D9232E;
  box-shadow:inset 0 1px 4px rgba(255,255,255,.7), 0 2px 5px rgba(106,23,32,.16);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option input:not(:checked) + span{
  opacity:.58;
  transform:scale(.9);
  box-shadow:none;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option input:focus-visible + span{
  box-shadow:0 0 0 2px rgba(31,110,182,.28);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-row.is-missing .sim-scenario-check-control,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-row.is-missing .sim-scenario-yesno-group{
  border-radius:999px;
  box-shadow:0 0 0 2px rgba(212,54,54,.22);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel input:focus,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel select:focus{
  border-color:#1F6EB6;
  box-shadow:0 0 0 2px rgba(31,110,182,.2);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel input.is-missing,
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel select.is-missing{
  border-color:#D43636;
  box-shadow:0 0 0 2px rgba(212,54,54,.22);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-two{
  gap:clamp(3px, .6vh, 6px) clamp(8px, 1vw, 18px);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-two label{
  grid-template-columns:auto minmax(76px, 96px);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-note{
  margin:clamp(2px, .8vh, 10px) 0 clamp(2px, .7vh, 8px);
  color:#111111;
  font-size:clamp(12px, 1.55vh, 18px);
  line-height:1.1;
  text-align:left;
  font-weight:700;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0 clamp(6px, .6vw, 10px);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs h2{
  grid-column:1 / -1;
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs label{
  grid-template-columns:auto minmax(52px, 76px);
}

body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs label:nth-of-type(3),
body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel--labs label:nth-of-type(4){
  grid-column:1 / -1;
  grid-template-columns:minmax(0, 1fr) minmax(86px, 116px);
}

body.simulator-login-locked .sim-scenario-lab-launch{
  grid-area:launch;
  align-self:stretch;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(10px, 1.7vh, 24px);
  padding:0;
}

body.simulator-login-locked .sim-scenario-lab-launch img{
  width:min(100%, 470px);
  max-height:clamp(220px, 42vh, 420px);
  height:auto;
  object-fit:contain;
  image-rendering:auto;
}

body.simulator-login-locked .sim-scenario-lab-launch button{
  width:min(100%, 470px);
  min-height:clamp(92px, 14.8vh, 158px);
  border:2px solid rgba(53,55,202,.36);
  border-radius:6px;
  background:#544EE2;
  color:#ffffff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-family:"Arsenal", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size:clamp(32px, 5.1vh, 58px);
  line-height:1.08;
  font-weight:400;
  text-align:center;
  box-shadow:0 2px 4px rgba(15,23,42,.2);
}

body.simulator-login-locked .sim-scenario-lab-launch button:hover,
body.simulator-login-locked .sim-scenario-lab-launch button:focus-visible{
  background:#4540D8;
  outline:none;
}

@media (max-width: 1500px){
  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-grid{
    grid-template-columns:minmax(285px, 340px) minmax(330px, 390px) minmax(330px, 390px) minmax(280px, 1fr);
    gap:9px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel label{
    font-size:16px;
  }

  body.simulator-login-locked .sim-scenario-lab-launch{
    min-height:0;
  }
}

@media (max-height: 800px){
  body.simulator-login-locked .sim-scenario-lab{
    --scenario-head-h:58px;
    --scenario-gap:6px;
    --scenario-top-pad:20px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-head{
    padding-right:188px;
    padding-left:188px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel{
    border-width:1px;
    padding:3px 6px 4px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel h2{
    font-size:14px;
    line-height:1;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel label{
    min-height:21px;
    font-size:12px;
    line-height:.98;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel input,
  body.simulator-login-locked .sim-scenario-lab .sim-scenario-panel select{
    height:20px;
    border-width:1px;
    border-radius:6px;
    font-size:11px;
    padding:0 4px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-check-control,
  body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option span{
    width:21px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-group{
    grid-template-columns:repeat(2, 21px);
    gap:4px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-yesno-option span{
    font-size:9px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-note{
    margin:2px 0;
    font-size:12px;
  }

  body.simulator-login-locked .sim-scenario-lab-launch img{
    max-height:220px;
  }

  body.simulator-login-locked .sim-scenario-lab-launch button{
    min-height:92px;
    font-size:32px;
  }
}

@media (max-width: 1220px){
  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-grid{
    grid-template-columns:repeat(3, minmax(280px, 1fr));
    grid-template-areas:
      "demographics cardio coronary"
      "chronic cardio respiratory"
      "conditions valves labs"
      "launch launch launch";
  }

  body.simulator-login-locked .sim-scenario-lab-launch{
    min-height:auto;
    padding:8px 0 18px;
  }
}

@media (max-width: 1100px){
  body.simulator-login-locked .sim-login-main.sim-login-main--scenario-lab{
    max-width:none;
  }
}

@media (max-width: 920px){
  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-head{
    min-height:132px;
    padding:0 12px 8px;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-actions{
    position:static;
    width:min(240px, 100%);
    margin:8px auto 0;
  }

  body.simulator-login-locked .sim-scenario-lab .sim-scenario-lab-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "demographics"
      "chronic"
      "conditions"
      "cardio"
      "valves"
      "coronary"
      "respiratory"
      "labs"
      "launch";
  }
}

body.black-theme #trendsModal .trends-panel,
body.black-theme #trendsModal .trends-chart-grid,
body.black-theme .left-rail-visual-body,
body.black-theme .infusion-visual-panel .left-rail-visual-body,
body.black-theme .support-cell-infusion-frame,
body.black-theme .patient-info-group,
body.black-theme #bloodTestsModal .blood-tests-modal-card,
body.black-theme #bloodTestsModal .blood-tests-grid,
body.black-theme #bloodTestsModal .blood-tests-table{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
  box-shadow:none !important;
}

body.black-theme #patientHealthBar{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
  box-shadow:none !important;
}

body.black-theme #patientHealthBar .infusion-visual-health-icon{
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme #patientHealthBar .infusion-visual-health-track{
  border:1px solid rgba(255,255,255,.72) !important;
  background:#0F172A !important;
}

body.black-theme #patientHealthBar .infusion-visual-health-value{
  color:#ffffff !important;
}

body.black-theme .patient-info-group h4,
body.black-theme .patient-info-row,
body.black-theme .patient-info-label,
body.black-theme .patient-info-value,
body.black-theme #bloodTestsModal .blood-tests-modal-card *,
body.black-theme #bloodTestsModal .blood-tests-table,
body.black-theme #bloodTestsModal .blood-tests-modal-title,
body.black-theme #bloodTestsModal .blood-tests-meta-main,
body.black-theme #bloodTestsModal .blood-tests-updated{
  color:#ffffff !important;
}

body.black-theme .patient-info-group,
body.black-theme .patient-info-row,
body.black-theme #bloodTestsModal .blood-tests-table,
body.black-theme #bloodTestsModal .blood-tests-table th,
body.black-theme #bloodTestsModal .blood-tests-table td,
body.black-theme #bloodTestsModal .blood-tests-modal-divider{
  border-color:rgba(255,255,255,.55) !important;
}

body.black-theme #bloodTestsModal .blood-tests-section-row th,
body.black-theme #bloodTestsModal .blood-tests-head-row th,
body.black-theme #bloodTestsModal .blood-tests-refresh-btn{
  background:#26364D !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme #bloodTestsModal .blood-test-value--soft{
  color:#FACC15 !important;
}

body.black-theme #bloodTestsModal .blood-test-value--alert,
body.black-theme #bloodTestsModal .blood-test-arrow{
  color:#F87171 !important;
}

body.black-theme #bloodTestsModal .support-modal-close{
  color:#ffffff !important;
}

body.black-theme #diagnosisModalCancel,
body.black-theme #diagnosisModalApply,
body.black-theme #supportBolusApply,
body.black-theme #supportBolusCancel,
body.black-theme #pumpModalYes,
body.black-theme #pumpModalNo{
  background:#1E293B !important;
  border:1px solid #ffffff !important;
  color:#ffffff !important;
  box-shadow:none !important;
}

body.black-theme #diagnosisModalApply,
body.black-theme #supportBolusApply,
body.black-theme #pumpModalYes{
  background:#2563EB !important;
  border-color:#93C5FD !important;
}

body.black-theme #supportBolusApply:disabled{
  background:#334155 !important;
  border-color:#94A3B8 !important;
  color:#CBD5E1 !important;
}

.patient-info-node-action{
  display:none !important;
}

/* Temporarily unavailable simulator controls remain wired in the DOM. */
.support-cell.support-cell--steamer,
#add_intub_btn,
#ventSettingsExpand .vent-settings-expand-icon,
#bisBig,
.clinical-scenario-node-picker{
  display:none !important;
}

.support-column{
  grid-template-rows:minmax(0, 1fr);
  gap:0;
}

.support-cell.support-cell--infusion{
  grid-row:1 / -1;
  height:100%;
  align-self:stretch;
}

.pump-modal .pump-modal-card,
.pump-modal .support-modal-card{
  background:#F5F5FA !important;
}

#diagnosisModal .diagnosis-modal-card{
  background:
    radial-gradient(1200px 220px at -10% -20%, rgba(96,168,231,.18), transparent 58%),
    radial-gradient(780px 180px at 120% -30%, rgba(54,194,255,.12), transparent 62%),
    #F5F5FA !important;
}

body.black-theme .pump-modal .pump-modal-card,
body.black-theme .pump-modal .support-modal-card,
body.black-theme #diagnosisModal .diagnosis-modal-card{
  background:#1E293B !important;
  border-color:#ffffff !important;
  color:#ffffff !important;
}

body.black-theme .treatment-success-card[role="dialog"]{
  background:#254684 !important;
}

body.black-theme #diagnosisBtn,
body.black-theme .oxygen-therapy-card,
body.black-theme .left-rail-visual-body,
body.black-theme .infusion-visual-panel .left-rail-visual-body,
body.black-theme .operation-status,
body.black-theme #infusionStatusPanel,
body.black-theme .infusion-status-panel,
body.black-theme .infusion-pumps,
body.black-theme .infusion-pumps-content,
body.black-theme .support-cell.support-cell--infusion,
body.black-theme .support-cell.support-cell--infusion .support-cell-infusion-frame,
body.black-theme .support-cell-infusion-frame,
body.black-theme #supportBolusBtn,
body.black-theme #drugMapMenu,
body.black-theme .control-dock-ad.control-dock-ad--top{
  background:#020518 !important;
}

#clinicalScenario,
.left-rail-subpanel--compressions,
.left-rail-subpanel--defib-main,
.left-rail-subpanel--diagnosis,
.left-rail-subpanel--vent{
  background:#ffffff !important;
}

body.black-theme #clinicalScenario,
body.black-theme .left-rail-subpanel--compressions,
body.black-theme .left-rail-subpanel--defib-main,
body.black-theme .left-rail-subpanel--diagnosis,
body.black-theme .left-rail-subpanel--vent{
  background:#000000 !important;
}

#defibGroup,
.oxygen-therapy-card,
.sim-topbar{
  border:1px solid #ffffff !important;
}

body.simulator-page .sim-topbar-section + .sim-topbar-section::before{
  content:none !important;
  display:none !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked){
  --sim-game-panel-bg:#020518;
  --sim-game-panel-border:#102048;
  --sim-game-panel-inset:rgba(32,80,240,.18);
  --sim-game-panel-glow:rgba(32,80,240,.12);
}

body.black-theme.simulator-page:not(.simulator-login-locked) .screen-grid{
  background-color:var(--sim-game-panel-border) !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked) .monitor,
body.black-theme.simulator-page:not(.simulator-login-locked) .operation-status,
body.black-theme.simulator-page:not(.simulator-login-locked) .left-rail-subpanel:not(.is-asystole-rate-slow):not(.is-asystole-rate-target):not(.is-asystole-rate-fast),
body.black-theme.simulator-page:not(.simulator-login-locked) .control-dock,
body.black-theme.simulator-page:not(.simulator-login-locked) .control-dock-ad,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-visual-panel,
body.black-theme.simulator-page:not(.simulator-login-locked) .left-rail-visual-body,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-status-panel,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-pumps,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-pumps-content,
body.black-theme.simulator-page:not(.simulator-login-locked) .support-cell,
body.black-theme.simulator-page:not(.simulator-login-locked) .support-cell-infusion-frame,
body.black-theme.simulator-page:not(.simulator-login-locked) .oxygen-therapy-card,
body.black-theme.simulator-page:not(.simulator-login-locked) .patient-info-card,
body.black-theme.simulator-page:not(.simulator-login-locked) .patient-info-group,
body.black-theme.simulator-page:not(.simulator-login-locked) #patientHealthBar,
body.black-theme.simulator-page:not(.simulator-login-locked) #drugMapMenu,
body.black-theme.simulator-page:not(.simulator-login-locked) #diagnosisBtn,
body.black-theme.simulator-page:not(.simulator-login-locked) #supportBolusBtn,
body.black-theme.simulator-page:not(.simulator-login-locked) #clinicalScenario,
body.black-theme.simulator-page:not(.simulator-login-locked) #defibGroup,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-modal-card,
body.black-theme.simulator-page:not(.simulator-login-locked) .support-modal-card,
body.black-theme.simulator-page:not(.simulator-login-locked) .trends-modal-card,
body.black-theme.simulator-page:not(.simulator-login-locked) .blood-tests-grid,
body.black-theme.simulator-page:not(.simulator-login-locked) .blood-tests-table{
  border:1px solid var(--sim-game-panel-border) !important;
  border-color:var(--sim-game-panel-border) !important;
  box-shadow:inset 0 0 0 1px var(--sim-game-panel-inset), 0 0 28px var(--sim-game-panel-glow) !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked) .monitor,
body.black-theme.simulator-page:not(.simulator-login-locked) .operation-status,
body.black-theme.simulator-page:not(.simulator-login-locked) .left-rail-subpanel:not(.is-asystole-rate-slow):not(.is-asystole-rate-target):not(.is-asystole-rate-fast),
body.black-theme.simulator-page:not(.simulator-login-locked) .control-dock,
body.black-theme.simulator-page:not(.simulator-login-locked) .control-dock-ad,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-visual-panel,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-pumps,
body.black-theme.simulator-page:not(.simulator-login-locked) .infusion-pumps-content,
body.black-theme.simulator-page:not(.simulator-login-locked) .support-cell,
body.black-theme.simulator-page:not(.simulator-login-locked) .oxygen-therapy-card,
body.black-theme.simulator-page:not(.simulator-login-locked) #drugMapMenu,
body.black-theme.simulator-page:not(.simulator-login-locked) #diagnosisBtn,
body.black-theme.simulator-page:not(.simulator-login-locked) #supportBolusBtn,
body.black-theme.simulator-page:not(.simulator-login-locked) #clinicalScenario,
body.black-theme.simulator-page:not(.simulator-login-locked) #defibGroup{
  background:#020518 !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked) .vital-side{
  border-left-color:var(--sim-game-panel-border) !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked) .vital-side + .vital-side{
  border-top-color:var(--sim-game-panel-border) !important;
}

body.black-theme.simulator-page:not(.simulator-login-locked) .patient-info-row,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-slot,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-slot-preview,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-slot-expanded,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-setting-input-wrap,
body.black-theme.simulator-page:not(.simulator-login-locked) .vent-settings-field input,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-setting-input-wrap input,
body.black-theme.simulator-page:not(.simulator-login-locked) .pump-setting-input-wrap select{
  border-color:var(--sim-game-panel-border) !important;
}

#pumpModal .pump-setting-card{
  position:relative;
  width:min(900px, calc(100vw - 24px));
  max-height:calc(125dvh - 23px);
  padding:0;
  border:1px solid #e4eaf3;
  border-radius:18px;
  background:#f8fbff !important;
  color:#071449;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  transform:scale(.8);
  transform-origin:center;
  overflow-y:auto;
  overflow-x:hidden;
}

#pumpModal .pump-setting-card > *{
  box-sizing:border-box;
}

#pumpModal .pump-infusion-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  border:1px solid #dce4f0;
  border-radius:12px;
  background:#ffffff;
  color:#7c8aa5;
  box-shadow:none;
  font-size:28px;
  line-height:1;
}

#pumpModal .pump-infusion-head{
  min-height:82px;
  padding:14px 72px 12px 20px;
  border-bottom:1px solid #e4eaf3;
  display:grid;
  grid-template-columns:54px minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
}

#pumpModal .pump-infusion-drug-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background-image:url("/static/img/drug_ic.svg");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#pumpModal .pump-infusion-title-block{
  min-width:0;
  display:grid;
  gap:5px;
}

#pumpModal .pump-infusion-title{
  color:#071449;
  font-size:clamp(24px, 2vw, 34px);
  font-weight:900;
  line-height:1.04;
}

#pumpModal .pump-infusion-subtitle{
  color:#667391;
  font-size:clamp(13px, .95vw, 16px);
  font-weight:650;
  line-height:1.25;
}

#pumpModal .pump-infusion-strength{
  align-self:start;
  margin-top:2px;
  padding:5px 10px;
  border-radius:12px;
  background:#eaf3ff;
  color:#086dff;
  font-size:clamp(12px, .78vw, 14px);
  font-weight:850;
  white-space:nowrap;
}

#pumpModal .pump-infusion-section{
  padding:12px 20px 0;
}

#pumpModal .pump-infusion-section-head{
  display:grid;
  gap:4px;
  margin-bottom:9px;
}

#pumpModal .pump-infusion-section h3{
  margin:0;
  color:#071449;
  font-size:clamp(17px, 1.28vw, 22px);
  font-weight:900;
  line-height:1.12;
}

#pumpModal .pump-infusion-section p{
  margin:0;
  color:#667391;
  font-size:clamp(12px, .82vw, 14px);
  font-weight:650;
  line-height:1.25;
}

#pumpModal .pump-infusion-ampoule-options{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

#pumpModal .pump-infusion-ampoule-option{
  min-height:90px;
  padding:9px 10px;
  border:2px solid #dfe6f1;
  border-radius:13px;
  background:#ffffff;
  color:#071449;
  display:grid;
  place-items:center;
  gap:5px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  text-align:center;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .12s ease;
}

#pumpModal .pump-infusion-ampoule-option:hover,
#pumpModal .pump-infusion-ampoule-option:focus-visible{
  border-color:#60a8e7;
  box-shadow:0 12px 30px rgba(8,109,255,.12);
}

#pumpModal .pump-infusion-ampoule-option.is-active,
#pumpModal .pump-infusion-ampoule-option[aria-pressed="true"]{
  border-color:#086dff;
  box-shadow:0 0 0 1px rgba(8,109,255,.35), 0 14px 32px rgba(8,109,255,.14);
}

#pumpModal .pump-infusion-ampoule-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background-image:url("/static/img/ampoule.svg");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#pumpModal .pump-infusion-ampoule-main{
  color:#086dff;
  font-size:clamp(18px, 1.38vw, 25px);
  font-weight:900;
  line-height:1;
}

#pumpModal .pump-infusion-ampoule-meta{
  color:#667391;
  font-size:clamp(12px, .82vw, 14px);
  font-weight:800;
  line-height:1.1;
}

#pumpModal .pump-infusion-rate-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(220px, .52fr);
  gap:18px;
  align-items:stretch;
}

#pumpModal .pump-infusion-keypad-panel{
  min-width:0;
}

#pumpModal .pump-infusion-rate-display{
  min-height:72px;
  border:3px solid #e2e8f3;
  border-radius:14px;
  background:linear-gradient(180deg, #1e2430 0%, #101722 100%);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, sans-serif;
  font-size:clamp(42px, 4.8vw, 66px);
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
  text-shadow:0 2px 12px rgba(255,255,255,.2);
  box-shadow:inset 0 2px 10px rgba(255,255,255,.1), inset 0 -14px 32px rgba(0,0,0,.28);
}

#pumpModal .pump-infusion-keypad{
  margin-top:8px;
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:7px;
}

#pumpModal .pump-infusion-keypad button{
  min-height:38px;
  border:1px solid #dfe6f1;
  border-radius:10px;
  background:#ffffff;
  color:#071449;
  font-size:17px;
  font-weight:800;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}

#pumpModal .pump-infusion-keypad button.is-active{
  border-color:#086dff;
  background:linear-gradient(180deg, #1594ff 0%, #086dff 100%);
  color:#ffffff;
  box-shadow:0 12px 22px rgba(8,109,255,.22);
}

#pumpModal .pump-infusion-keypad button[data-rate-key="unit"]{
  font-size:12px;
}

#pumpModal .pump-infusion-delivery-card{
  position:relative;
  min-height:150px;
  padding:18px 14px;
  border:1px solid #dfe6f1;
  border-radius:16px;
  background:#ffffff;
  color:#071449;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  text-align:center;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

#pumpModal .pump-infusion-info{
  position:absolute;
  top:16px;
  right:16px;
  width:20px;
  height:20px;
  border:2px solid #086dff;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#086dff;
  font-size:13px;
  font-weight:900;
}

#pumpModal .pump-infusion-delivery-label{
  color:#33415f;
  font-size:15px;
  font-weight:850;
}

#pumpModal .pump-infusion-delivery-card strong{
  color:#1454c8;
  font-size:clamp(44px, 4.5vw, 64px);
  font-weight:900;
  line-height:.95;
}

#pumpModal .pump-infusion-delivery-card span:last-child{
  color:#1454c8;
  font-size:clamp(15px, 1.25vw, 21px);
  font-weight:850;
}

#pumpModal .pump-modal-actions{
  padding:10px 20px 14px;
  gap:10px;
}

#pumpModal .pump-modal-actions button{
  min-width:142px;
  min-height:42px;
  border:1px solid #dce4f0;
  border-radius:12px;
  background:#ffffff;
  color:#071449;
  font-size:15px;
  font-weight:850;
  box-shadow:none;
}

#pumpModal .pump-modal-actions button.primary{
  border-color:#086dff;
  background:linear-gradient(180deg, #1594ff 0%, #086dff 100%);
  color:#ffffff;
  box-shadow:0 12px 26px rgba(8,109,255,.24);
}

#pumpModal .drug-model-output-card{
  margin:0 20px 12px;
  padding:12px 0 0;
  border-top:1px solid #e4eaf3;
  max-height:none;
  overflow:visible;
}

#pumpModal .drug-model-head{
  align-items:center;
  margin-bottom:8px;
}

#pumpModal .drug-model-head h4{
  color:#071449;
  font-size:clamp(16px, 1.1vw, 20px);
  font-weight:900;
}

#pumpModal .drug-model-head span{
  padding:5px 9px;
  border-radius:12px;
  background:#eaf3ff;
  color:#086dff;
  font-size:12px;
  font-weight:850;
}

#pumpModal .drug-model-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:7px;
}

#pumpModal .drug-model-row{
  min-height:46px;
  padding:7px 9px;
  border:1px solid #dfe6f1;
  border-radius:12px;
  background:#ffffff;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

#pumpModal .drug-model-row span{
  color:#33415f;
  font-size:12px;
  font-weight:850;
}

#pumpModal .drug-model-row strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#086dff;
  font-size:12px;
  font-weight:900;
}

#pumpModal .drug-model-row strong small{
  font-size:16px;
  line-height:1;
}

#pumpModal .drug-model-details{
  display:none;
}

body.black-theme #pumpModal .pump-setting-card{
  border-color:#102048 !important;
  background:#020518 !important;
  color:#f8fbff !important;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.18), 0 24px 70px rgba(0,0,0,.42) !important;
}

body.black-theme #pumpModal .pump-infusion-head,
body.black-theme #pumpModal .drug-model-output-card{
  border-color:#102048;
}

body.black-theme #pumpModal .pump-infusion-close,
body.black-theme #pumpModal .pump-infusion-ampoule-option,
body.black-theme #pumpModal .pump-infusion-keypad button,
body.black-theme #pumpModal .pump-infusion-delivery-card,
body.black-theme #pumpModal .drug-model-row,
body.black-theme #pumpModal .pump-modal-actions button{
  border-color:#102048 !important;
  background:#081030 !important;
  color:#f8fbff !important;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.16), 0 8px 18px rgba(1,4,23,.42) !important;
}

body.black-theme #pumpModal .pump-infusion-title,
body.black-theme #pumpModal .pump-infusion-section h3,
body.black-theme #pumpModal .pump-infusion-delivery-label,
body.black-theme #pumpModal .drug-model-head h4,
body.black-theme #pumpModal .drug-model-row span{
  color:#f8fbff !important;
}

body.black-theme #pumpModal .pump-infusion-subtitle,
body.black-theme #pumpModal .pump-infusion-section p,
body.black-theme #pumpModal .pump-infusion-ampoule-meta{
  color:#9aa8bd !important;
}

body.black-theme #pumpModal .pump-infusion-strength,
body.black-theme #pumpModal .drug-model-head span{
  background:#101838 !important;
}

body.black-theme #pumpModal .pump-infusion-ampoule-option.is-active,
body.black-theme #pumpModal .pump-infusion-ampoule-option[aria-pressed="true"]{
  border-color:#4090f8 !important;
  box-shadow:inset 0 0 0 1px rgba(64,144,248,.42), 0 0 26px rgba(32,80,240,.18) !important;
}

body.black-theme #pumpModal .pump-modal-actions button.primary,
body.black-theme #pumpModal .pump-infusion-keypad button.is-active{
  border-color:#2050f0 !important;
  background:linear-gradient(180deg, #4090f8 0%, #2050f0 100%) !important;
  color:#ffffff !important;
}

@media (max-width: 980px){
  #pumpModal .pump-infusion-head{
    grid-template-columns:48px minmax(0, 1fr);
    padding:12px 64px 10px 16px;
    gap:12px;
  }

  #pumpModal .pump-infusion-drug-icon{
    width:48px;
    height:48px;
  }

  #pumpModal .pump-infusion-strength{
    grid-column:2;
    margin-top:0;
    justify-self:start;
  }

  #pumpModal .pump-infusion-ampoule-options{
    gap:8px;
  }

  #pumpModal .pump-infusion-ampoule-option{
    min-height:82px;
  }

  #pumpModal .pump-infusion-rate-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  #pumpModal .pump-infusion-delivery-card{
    min-height:112px;
  }
}

@media (max-height: 760px) and (min-width: 641px){
  #pumpModal .pump-setting-card{
    width:min(860px, calc(100vw - 18px));
    max-height:calc(125dvh - 15px);
  }

  #pumpModal .pump-infusion-head{
    min-height:68px;
    padding:10px 62px 9px 16px;
    grid-template-columns:44px minmax(0, 1fr) auto;
  }

  #pumpModal .pump-infusion-drug-icon{
    width:44px;
    height:44px;
  }

  #pumpModal .pump-infusion-title{
    font-size:clamp(20px, 1.65vw, 28px);
  }

  #pumpModal .pump-infusion-subtitle,
  #pumpModal .pump-infusion-section p{
    font-size:12px;
  }

  #pumpModal .pump-infusion-section{
    padding:9px 16px 0;
  }

  #pumpModal .pump-infusion-section-head{
    margin-bottom:6px;
  }

  #pumpModal .pump-infusion-section h3{
    font-size:16px;
  }

  #pumpModal .pump-infusion-ampoule-option{
    min-height:70px;
    padding:6px 8px;
  }

  #pumpModal .pump-infusion-ampoule-icon{
    width:28px;
    height:28px;
  }

  #pumpModal .pump-infusion-ampoule-main{
    font-size:17px;
  }

  #pumpModal .pump-infusion-rate-display{
    min-height:56px;
    font-size:40px;
  }

  #pumpModal .pump-infusion-keypad button{
    min-height:32px;
    font-size:15px;
  }

  #pumpModal .pump-infusion-delivery-card{
    min-height:118px;
    padding:12px;
  }

  #pumpModal .pump-infusion-delivery-card strong{
    font-size:42px;
  }

  #pumpModal .pump-modal-actions{
    padding:8px 16px 10px;
  }

  #pumpModal .pump-modal-actions button{
    min-height:36px;
  }

  #pumpModal .drug-model-output-card{
    margin:0 16px 10px;
    padding-top:9px;
  }

  #pumpModal .drug-model-row{
    min-height:38px;
    padding:5px 7px;
  }
}

@media (max-width: 640px){
  #pumpModal .pump-setting-card{
    width:calc(100vw - 12px);
    max-height:calc(125dvh - 13px);
    border-radius:12px;
  }

  #pumpModal .pump-infusion-close{
    top:8px;
    right:8px;
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    border-radius:10px;
    font-size:18px;
  }

  #pumpModal .pump-infusion-head{
    min-height:66px;
    grid-template-columns:38px minmax(0, 1fr);
    padding:9px 46px 8px 10px;
    gap:8px;
  }

  #pumpModal .pump-infusion-drug-icon{
    width:38px;
    height:38px;
  }

  #pumpModal .pump-infusion-title{
    font-size:18px;
    line-height:1.08;
  }

  #pumpModal .pump-infusion-subtitle{
    font-size:11px;
    line-height:1.18;
  }

  #pumpModal .pump-infusion-strength{
    padding:4px 7px;
    border-radius:9px;
    font-size:11px;
  }

  #pumpModal .pump-infusion-section{
    padding:8px 10px 0;
  }

  #pumpModal .pump-infusion-section-head{
    gap:3px;
    margin-bottom:6px;
  }

  #pumpModal .pump-infusion-section h3{
    font-size:15px;
    line-height:1.08;
  }

  #pumpModal .pump-infusion-section p{
    font-size:11px;
    line-height:1.15;
  }

  #pumpModal .pump-infusion-ampoule-options{
    gap:5px;
  }

  #pumpModal .pump-infusion-ampoule-option{
    min-height:64px;
    padding:5px 4px;
    gap:3px;
    border-radius:10px;
  }

  #pumpModal .pump-infusion-ampoule-icon{
    width:26px;
    height:26px;
  }

  #pumpModal .pump-infusion-ampoule-main{
    font-size:15px;
  }

  #pumpModal .pump-infusion-ampoule-meta{
    font-size:11px;
  }

  #pumpModal .pump-infusion-rate-display{
    min-height:52px;
    border-width:2px;
    border-radius:11px;
    font-size:34px;
  }

  #pumpModal .pump-infusion-keypad{
    margin-top:6px;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:5px;
  }

  #pumpModal .pump-infusion-keypad button{
    min-height:31px;
    border-radius:8px;
    font-size:14px;
  }

  #pumpModal .pump-infusion-delivery-card{
    min-height:92px;
    padding:12px 8px;
    gap:4px;
    border-radius:12px;
  }

  #pumpModal .pump-infusion-info{
    top:10px;
    right:10px;
    width:18px;
    height:18px;
    font-size:11px;
  }

  #pumpModal .pump-infusion-delivery-label{
    font-size:12px;
  }

  #pumpModal .pump-infusion-delivery-card strong{
    font-size:36px;
  }

  #pumpModal .pump-infusion-delivery-card span:last-child{
    font-size:14px;
  }

  #pumpModal .pump-modal-actions{
    padding:8px 10px 9px;
    gap:6px;
  }

  #pumpModal .pump-modal-actions button{
    flex:1 1 0;
    min-width:0;
    min-height:34px;
    border-radius:10px;
    font-size:13px;
  }

  #pumpModal .drug-model-output-card{
    margin:0 10px 8px;
    padding-top:8px;
  }

  #pumpModal .drug-model-head{
    gap:6px;
    margin-bottom:6px;
  }

  #pumpModal .drug-model-head h4{
    font-size:14px;
  }

  #pumpModal .drug-model-head span{
    padding:4px 6px;
    font-size:10px;
  }

  #pumpModal .drug-model-grid{
    gap:5px;
  }

  #pumpModal .drug-model-row{
    min-height:36px;
    padding:5px;
    border-radius:9px;
  }

  #pumpModal .drug-model-row span,
  #pumpModal .drug-model-row strong{
    font-size:10px;
    overflow-wrap:anywhere;
  }

  #pumpModal .drug-model-row strong small{
    font-size:12px;
  }
}

#supportBolusModal .pump-setting-card{
  width:min(860px, calc(100vw - 32px));
  max-height:calc(100dvh - 20px);
  padding:0;
  border:1px solid #e5eaf3;
  border-radius:16px;
  background:#f8fbff !important;
  color:#071449;
  box-shadow:0 24px 70px rgba(15,23,42,.18);
  overflow:visible;
}

#supportBolusModal .pump-setting-card > *{
  box-sizing:border-box;
}

#supportBolusModal .pump-dose-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  border:1px solid #dce4f0;
  border-radius:12px;
  background:#ffffff;
  color:#7c8aa5;
  box-shadow:none;
  font-size:28px;
  line-height:1;
}

#supportBolusModal .pump-dose-head{
  min-height:96px;
  padding:18px 78px 16px 22px;
  border-bottom:1px solid #e5eaf3;
  display:grid;
  grid-template-columns:58px minmax(0, 1fr) auto;
  align-items:center;
  gap:16px;
}

#supportBolusModal .pump-dose-drug-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  background-image:url("/static/img/drug_ic.svg");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#supportBolusModal .pump-dose-drug-icon::before,
#supportBolusModal .pump-dose-drug-icon::after{
  display:none;
}

#supportBolusModal .pump-dose-title-block{
  min-width:0;
  display:grid;
  gap:6px;
}

#supportBolusModal .pump-dose-title{
  color:#071449;
  font-size:clamp(24px, 1.7vw, 36px);
  font-weight:900;
  line-height:1;
}

#supportBolusModal .pump-dose-subtitle{
  color:#667391;
  font-size:clamp(14px, .95vw, 17px);
  font-weight:650;
  line-height:1.25;
}

#supportBolusModal .pump-dose-strength{
  justify-self:start;
  align-self:start;
  margin-top:4px;
  padding:6px 11px;
  border-radius:12px;
  background:#eaf3ff;
  color:#086dff;
  font-size:clamp(13px, .8vw, 16px);
  font-weight:850;
  white-space:nowrap;
}

#supportBolusModal .support-bolus-dose-field{
  margin:0;
  padding:18px 22px 12px;
  gap:12px;
  color:#071449;
}

#supportBolusModal .support-bolus-dose-field .pump-setting-label{
  display:flex;
  align-items:center;
  gap:10px;
  color:#071449;
  font-size:clamp(18px, 1.3vw, 25px);
  font-weight:900;
  letter-spacing:0;
  line-height:1.1;
  text-transform:none;
}

#supportBolusModal .pump-dose-info{
  width:21px;
  height:21px;
  border:2px solid #93a3c0;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  color:#677895;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

#supportBolusModal .support-bolus-dose-options{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

#supportBolusModal .support-bolus-dose-option{
  min-height:116px;
  padding:14px 12px;
  border:2px solid #dfe6f1;
  border-radius:14px;
  background:#ffffff;
  color:#071449;
  display:grid;
  place-items:center;
  gap:10px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
  text-align:center;
}

#supportBolusModal .support-bolus-dose-option:hover,
#supportBolusModal .support-bolus-dose-option:focus-visible{
  border-color:#60a8e7;
  box-shadow:0 12px 30px rgba(8,109,255,.12);
}

#supportBolusModal .support-bolus-dose-option.is-active,
#supportBolusModal .support-bolus-dose-option[aria-pressed="true"]{
  border-color:#086dff;
  background:#ffffff;
  color:#071449;
  box-shadow:0 0 0 1px rgba(8,109,255,.35), 0 14px 32px rgba(8,109,255,.14);
}

#supportBolusModal .support-bolus-dose-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  background-image:url("/static/img/vitallab_syringe_icon.svg");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#supportBolusModal .support-bolus-dose-icon::before{
  display:none;
}

#supportBolusModal .support-bolus-dose-main{
  color:#086dff;
  font-size:clamp(24px, 1.6vw, 34px);
  font-weight:900;
  line-height:1;
}

#supportBolusModal .support-bolus-dose-meta{
  color:#667391;
  font-size:clamp(13px, .9vw, 17px);
  font-weight:750;
  line-height:1.1;
}

#supportBolusModal .pump-modal-actions{
  padding:10px 22px 18px;
  gap:12px;
}

#supportBolusModal .pump-modal-actions button{
  min-width:150px;
  min-height:44px;
  border:1px solid #dce4f0;
  border-radius:12px;
  background:#ffffff;
  color:#071449;
  font-size:16px;
  font-weight:850;
  box-shadow:none;
}

#supportBolusModal .pump-modal-actions button.primary{
  border-color:#086dff;
  background:linear-gradient(180deg, #1594ff 0%, #086dff 100%);
  color:#ffffff;
  box-shadow:0 12px 26px rgba(8,109,255,.24);
}

#supportBolusModal .pump-modal-actions button.primary:disabled{
  border-color:#d6deeb;
  background:#e9eef6;
  color:#9aa8bd;
  box-shadow:none;
}

#supportBolusModal .drug-model-output-card{
  margin:4px 22px 0;
  padding:16px 0 0;
  border-top:1px solid #e5eaf3;
  max-height:none;
  overflow:visible;
}

#supportBolusModal .drug-model-head{
  align-items:center;
  margin-bottom:12px;
}

#supportBolusModal .drug-model-head h4{
  color:#071449;
  font-size:clamp(18px, 1.25vw, 23px);
  font-weight:900;
}

#supportBolusModal .drug-model-head span{
  padding:6px 11px;
  border-radius:12px;
  background:#eaf3ff;
  color:#086dff;
  font-size:13px;
  font-weight:850;
}

#supportBolusModal .drug-model-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

#supportBolusModal .drug-model-row{
  min-height:58px;
  padding:10px 12px;
  border:1px solid #dfe6f1;
  border-radius:12px;
  background:#ffffff;
  font-size:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

#supportBolusModal .drug-model-row span{
  color:#33415f;
  font-size:15px;
  font-weight:850;
}

#supportBolusModal .drug-model-row strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#086dff;
  font-size:15px;
  font-weight:900;
}

#supportBolusModal .drug-model-row strong small{
  font-size:20px;
  line-height:1;
}

#supportBolusModal .drug-model-row--flat strong{
  color:#667391;
}

#supportBolusModal .drug-model-details{
  display:none;
}

body.black-theme #supportBolusModal .pump-setting-card{
  border-color:#102048 !important;
  background:#020518 !important;
  color:#f8fbff;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.18), 0 24px 70px rgba(0,0,0,.42) !important;
}

body.black-theme #supportBolusModal .pump-dose-head,
body.black-theme #supportBolusModal .drug-model-output-card{
  border-color:#102048;
}

body.black-theme #supportBolusModal .pump-dose-close,
body.black-theme #supportBolusModal .support-bolus-dose-option,
body.black-theme #supportBolusModal .drug-model-row,
body.black-theme #supportBolusModal .pump-modal-actions button{
  border-color:#102048 !important;
  background:#081030 !important;
  color:#f8fbff !important;
  box-shadow:inset 0 0 0 1px rgba(32,80,240,.16), 0 8px 18px rgba(1,4,23,.42) !important;
}

body.black-theme #supportBolusModal .pump-dose-title,
body.black-theme #supportBolusModal .support-bolus-dose-field .pump-setting-label,
body.black-theme #supportBolusModal .drug-model-head h4,
body.black-theme #supportBolusModal .drug-model-row span{
  color:#f8fbff !important;
}

body.black-theme #supportBolusModal .pump-dose-subtitle,
body.black-theme #supportBolusModal .support-bolus-dose-meta{
  color:#9aa8bd !important;
}

body.black-theme #supportBolusModal .pump-dose-drug-icon,
body.black-theme #supportBolusModal .support-bolus-dose-icon,
body.black-theme #supportBolusModal .pump-dose-strength,
body.black-theme #supportBolusModal .drug-model-head span{
  background-color:#101838 !important;
}

body.black-theme #supportBolusModal .support-bolus-dose-option.is-active,
body.black-theme #supportBolusModal .support-bolus-dose-option[aria-pressed="true"]{
  border-color:#4090f8 !important;
  box-shadow:inset 0 0 0 1px rgba(64,144,248,.42), 0 0 26px rgba(32,80,240,.18) !important;
}

body.black-theme #supportBolusModal .pump-modal-actions button.primary{
  border-color:#2050f0 !important;
  background:linear-gradient(180deg, #4090f8 0%, #2050f0 100%) !important;
  color:#ffffff !important;
}

body.black-theme #supportBolusModal .pump-modal-actions button.primary:disabled{
  border-color:#102048 !important;
  background:#081030 !important;
  color:#64708f !important;
}

@media (max-width: 920px){
  #supportBolusModal .pump-dose-head{
    grid-template-columns:54px minmax(0, 1fr);
    padding:16px 72px 14px 18px;
    gap:16px;
  }

  #supportBolusModal .pump-dose-drug-icon{
    width:54px;
    height:54px;
  }

  #supportBolusModal .pump-dose-strength{
    grid-column:2;
    margin-top:0;
  }

  #supportBolusModal .support-bolus-dose-field{
    padding:16px 18px 10px;
  }

  #supportBolusModal .support-bolus-dose-options,
  #supportBolusModal .drug-model-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  #supportBolusModal .support-bolus-dose-option{
    min-height:104px;
  }

  #supportBolusModal .pump-modal-actions,
  #supportBolusModal .drug-model-output-card{
    margin-inline:18px;
    padding-inline:0;
  }

  #supportBolusModal .pump-modal-actions{
    margin:0;
    padding:8px 18px 16px;
  }
}

@media (max-width: 640px){
  #supportBolusModal .pump-setting-card{
    width:calc(100vw - 20px);
    border-radius:14px;
  }

  #supportBolusModal .pump-dose-close{
    top:12px;
    right:12px;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    font-size:19px;
  }

  #supportBolusModal .pump-dose-head{
    min-height:76px;
    grid-template-columns:44px minmax(0, 1fr);
    padding:14px 54px 12px 12px;
    gap:10px;
  }

  #supportBolusModal .pump-dose-drug-icon{
    width:44px;
    height:44px;
  }

  #supportBolusModal .pump-dose-title{
    font-size:20px;
  }

  #supportBolusModal .pump-dose-subtitle{
    font-size:12px;
  }

  #supportBolusModal .support-bolus-dose-field{
    padding:12px;
    gap:9px;
  }

  #supportBolusModal .support-bolus-dose-field .pump-setting-label{
    font-size:17px;
  }

  #supportBolusModal .support-bolus-dose-options,
  #supportBolusModal .drug-model-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
  }

  #supportBolusModal .support-bolus-dose-option{
    min-height:82px;
    padding:8px 5px;
    grid-template-columns:1fr;
    justify-items:center;
    gap:5px;
    text-align:center;
  }

  #supportBolusModal .support-bolus-dose-icon{
    grid-row:auto;
    width:34px;
    height:34px;
  }

  #supportBolusModal .support-bolus-dose-main{
    font-size:17px;
  }

  #supportBolusModal .support-bolus-dose-meta{
    font-size:11px;
  }

  #supportBolusModal .pump-modal-actions{
    padding:6px 12px 12px;
    flex-direction:row;
    gap:8px;
  }

  #supportBolusModal .pump-modal-actions button{
    flex:1 1 0;
    width:auto;
    min-width:0;
    min-height:40px;
    font-size:14px;
  }

  #supportBolusModal .drug-model-output-card{
    margin:4px 12px 0;
    padding-top:10px;
  }

  #supportBolusModal .drug-model-head{
    gap:8px;
    margin-bottom:8px;
  }

  #supportBolusModal .drug-model-head h4{
    font-size:16px;
  }

  #supportBolusModal .drug-model-head span{
    padding:5px 8px;
    font-size:11px;
  }

  #supportBolusModal .drug-model-row{
    min-height:50px;
    padding:7px 6px;
    gap:4px;
  }

  #supportBolusModal .drug-model-row span,
  #supportBolusModal .drug-model-row strong{
    font-size:11px;
    overflow-wrap:anywhere;
  }

  #supportBolusModal .drug-model-row strong small{
    font-size:14px;
  }
}

body.simulator-login-locked .sim-login-main.sim-login-main--ready.sim-login-main--mode-picker,
body.simulator-login-locked .sim-login-main.sim-login-main--mode-picker{
  width:min(100%, 876px);
  max-width:876px;
  margin-top:clamp(5px, .66vh, 11px);
}

body.simulator-login-locked .sim-mode-picker{
  width:100%;
  max-width:none;
  padding:clamp(5px, .86vh, 11px) clamp(11px, 1.34vw, 26px) clamp(9px, 1.43vh, 21px);
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
  color:#071449;
}

body.simulator-login-locked .sim-mode-picker h1{
  margin:0;
  color:#071449 !important;
  font-size:clamp(24px, 3.07vw, 51px);
  font-weight:900;
  line-height:.98;
  text-align:center;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-picker h1{
  color:#f8fbff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.34);
}

body.simulator-login-locked .sim-mode-picker-subtitle{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:clamp(7px, .73vh, 11px) auto clamp(19px, 2.53vh, 36px);
  color:#6d83ad;
  font-size:clamp(12px, 1.03vw, 21px);
  font-weight:500;
  line-height:1.2;
  text-align:center;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-picker-subtitle{
  color:#aebfd8;
}

body.simulator-login-locked .sim-mode-picker-subtitle::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:clamp(-12px, -.87vh, -7px);
  width:clamp(57px, 4.67vw, 88px);
  height:3px;
  border-radius:999px;
  background:#f0c66a;
  transform:translateX(-50%);
}

body.simulator-login-locked .sim-mode-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-auto-rows:auto;
  gap:clamp(9px, .95vw, 18px);
}

body.simulator-login-locked .sim-mode-item{
  border-radius:clamp(9px, .86vw, 14px);
  border:1px solid rgba(156,180,218,.5);
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 34px rgba(54,92,154,.14);
  overflow:hidden;
}

body.simulator-login-locked .sim-mode-item--hero{
  min-height:clamp(148px, 14.76vw, 248px);
  grid-column:span 2;
  display:flex;
  align-items:stretch;
  border-color:rgba(20,74,134,.78);
  background-color:#031b44;
  background-position:center;
  background-size:cover;
  box-shadow:0 22px 48px rgba(20,54,110,.26), inset 0 0 0 1px rgba(95,218,255,.12);
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--hero{
  background-color:#031b44;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}

body.simulator-login-locked .sim-mode-item--quiz{
  background-image:linear-gradient(90deg, rgba(3,18,52,.98) 0%, rgba(3,18,52,.76) 44%, rgba(3,18,52,.18) 100%), url("/static/img/game_mode_selection/fast_victorine_ic.png");
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--quiz{
  background-image:linear-gradient(90deg, rgba(3,18,52,.98) 0%, rgba(3,18,52,.76) 44%, rgba(3,18,52,.18) 100%), url("/static/img/game_mode_selection/fast_victorine_ic.png");
}

body.simulator-login-locked .sim-mode-item--simulation{
  background-image:linear-gradient(90deg, rgba(3,18,52,.98) 0%, rgba(3,18,52,.76) 44%, rgba(3,18,52,.18) 100%), url("/static/img/game_mode_selection/choose_simulation.png");
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--simulation{
  background-image:linear-gradient(90deg, rgba(3,18,52,.98) 0%, rgba(3,18,52,.76) 44%, rgba(3,18,52,.18) 100%), url("/static/img/game_mode_selection/choose_simulation.png");
}

body.simulator-login-locked .sim-mode-item--hero .sim-mode-item-content{
  width:100%;
  min-height:0;
  padding:clamp(14px, 1.43vw, 26px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:clamp(6px, .66vw, 11px);
  text-align:left;
}

body.simulator-login-locked .sim-mode-hero-icon{
  width:clamp(45px, 3.43vw, 68px);
  height:clamp(45px, 3.43vw, 68px);
  border:2px solid rgba(45,193,255,.72);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(2,14,39,.38);
  box-shadow:0 0 26px rgba(45,193,255,.22), inset 0 0 18px rgba(45,193,255,.08);
}

body.simulator-login-locked .sim-mode-hero-icon::before{
  font-size:clamp(23px, 1.91vw, 37px);
  line-height:1;
  color:#45d2ff;
  text-shadow:0 0 18px rgba(69,210,255,.7);
}

body.simulator-login-locked .sim-mode-hero-icon--quiz::before{
  content:"?";
  font-weight:900;
}

body.simulator-login-locked .sim-mode-hero-icon--simulation::before{
  content:"♡";
  font-weight:700;
}

body.simulator-login-locked .sim-mode-item--hero h2{
  max-width:min(205px, 65%);
  color:#ffffff !important;
  font-size:clamp(15px, 1.43vw, 26px);
  font-weight:900;
  line-height:1;
}

body.simulator-login-locked .sim-mode-item--hero .sim-mode-divider{
  width:clamp(20px, 1.43vw, 29px);
  height:2px;
  border-radius:999px;
  background:#f0c66a;
}

body.simulator-login-locked .sim-mode-item--hero p{
  max-width:min(214px, 58%);
  color:rgba(255,255,255,.86) !important;
  font-size:clamp(9px, .69vw, 14px);
  font-weight:500;
  line-height:1.35;
}

body.simulator-login-locked .sim-mode-cta{
  width:min(100%, 343px);
  min-height:clamp(31px, 2.38vw, 42px);
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(6px, .57vw, 11px);
  border:1px solid rgba(255,255,255,.58);
  border-radius:8px;
  color:#061a45;
  font-size:clamp(9px, .86vw, 16px);
  font-weight:800;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52), 0 12px 22px rgba(0,0,0,.22);
}

body.simulator-login-locked .sim-mode-cta--quiz{
  background:linear-gradient(180deg, #ffe8a6 0%, #f4c767 100%);
}

body.simulator-login-locked .sim-mode-cta--simulation{
  background:linear-gradient(180deg, #1594ff 0%, #086dff 100%);
  color:#ffffff;
}

body.simulator-login-locked .sim-mode-item--compact{
  min-height:clamp(124px, 9.52vw, 186px);
  border:1px dashed rgba(151,174,212,.52);
  background:rgba(255,255,255,.64);
  box-shadow:0 18px 30px rgba(54,92,154,.12);
  display:grid;
  place-items:center;
  justify-self:center;
  align-self:center;
  width:100%;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--compact{
  border-color:rgba(95,218,255,.34);
  background:linear-gradient(180deg, rgba(8,27,51,.86) 0%, rgba(2,11,24,.76) 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(95,218,255,.12);
}

body.simulator-login-locked .sim-mode-item--compact .sim-mode-item-content{
  min-height:0;
  height:100%;
  width:100%;
  padding:clamp(11px, 1.05vw, 20px) clamp(8px, .76vw, 14px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(6px, .52vw, 9px);
  text-align:center;
}

body.simulator-login-locked .sim-mode-item--compact .sim-mode-item-content > img{
  width:clamp(68px, 5.72vw, 110px);
  height:clamp(68px, 5.72vw, 110px);
  opacity:.55;
  filter:saturate(.75);
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--compact .sim-mode-item-content > img{
  opacity:.76;
  filter:brightness(1.18) saturate(.92) drop-shadow(0 8px 18px rgba(0,0,0,.24));
}

body.simulator-login-locked .sim-mode-item--compact h2{
  color:#234f91 !important;
  font-size:clamp(11px, .91vw, 17px);
  font-weight:850;
  line-height:1.06;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--compact h2{
  color:#f8fbff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.32);
}

body.simulator-login-locked .sim-mode-item--compact .sim-mode-divider{
  display:none;
}

body.simulator-login-locked .sim-mode-item--compact p{
  color:#5570a2;
  font-size:clamp(7px, .52vw, 11px);
  line-height:1.34;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--compact p{
  color:#c4d0e3;
}

body.simulator-login-locked .sim-mode-item--locked .sim-mode-item-content{
  filter:saturate(.62) opacity(.68);
  transform:none;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-item--locked .sim-mode-item-content{
  filter:saturate(.74) opacity(.9);
}

body.simulator-login-locked .sim-mode-lock{
  inset:auto;
  position:absolute;
  top:clamp(7px, .72vw, 13px);
  left:50%;
  z-index:2;
  min-height:clamp(17px, 1.34vw, 24px);
  padding:0 clamp(7px, .67vw, 12px);
  border:1px solid rgba(183,205,238,.72);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(3px, .29vw, 5px);
  background:rgba(245,250,255,.86);
  color:#6f8fc4;
  font-size:clamp(8px, .67vw, 12px);
  font-weight:800;
  line-height:1;
  box-shadow:0 5px 14px rgba(93,128,185,.10), inset 0 1px 0 rgba(255,255,255,.86);
  transform:translateX(-50%);
  white-space:nowrap;
  pointer-events:none;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-lock{
  border-color:rgba(95,218,255,.28);
  background:rgba(3,15,31,.9);
  color:#b9cdf0;
  box-shadow:0 8px 18px rgba(0,0,0,.28), inset 0 1px 0 rgba(95,218,255,.12);
}

body.simulator-login-locked .sim-mode-lock-image{
  width:clamp(9px, .76vw, 14px);
  height:clamp(9px, .76vw, 14px);
  opacity:.78;
  object-fit:contain;
  filter:none;
}

body.black-theme.simulator-login-locked .sim-login-main--mode-picker .sim-mode-lock-image{
  filter:brightness(1.14);
}

body.simulator-login-locked .sim-mode-picker-close{
  top:clamp(9px, .8vw, 16px);
  right:clamp(9px, .8vw, 16px);
}

@media (max-width: 980px){
  body.simulator-login-locked .sim-mode-grid{
    grid-template-columns:1fr;
  }

  body.simulator-login-locked .sim-mode-item--hero,
  body.simulator-login-locked .sim-mode-item--compact{
    grid-column:1;
  }

  body.simulator-login-locked .sim-mode-item--hero h2,
  body.simulator-login-locked .sim-mode-item--hero p{
    max-width:72%;
  }
}

body.simulator-login-locked .sim-login-main.sim-login-main--ready.sim-login-main--als-scenario,
body.simulator-login-locked .sim-login-main.sim-login-main--als-scenario{
  width:min(100%, 1400px);
  max-width:1400px;
  height:calc(100dvh - clamp(10px, 2vh, 24px));
  max-height:calc(100dvh - clamp(10px, 2vh, 24px));
  margin-top:clamp(2px, .35vh, 6px);
  grid-template-columns:1fr;
  justify-items:center;
  overflow:hidden;
}

body.simulator-login-locked .sim-als-scenario-picker{
  width:100%;
  height:100%;
  max-width:none;
  max-height:100%;
  box-sizing:border-box;
  padding:clamp(4px, .55vh, 8px) clamp(14px, 1.6vw, 28px) clamp(8px, 1vh, 14px);
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
  color:#06154b;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  align-items:stretch;
  gap:clamp(7px, .8vh, 12px);
  overflow:hidden;
}

body.simulator-login-locked .sim-als-scenario-picker-head{
  justify-content:center;
  margin:0;
  text-align:center;
}

body.simulator-login-locked .sim-als-scenario-picker-head > div{
  position:relative;
}

body.simulator-login-locked .sim-als-scenario-picker h1{
  margin:0 0 clamp(3px, .42vh, 7px);
  color:#071449 !important;
  font-size:clamp(28px, 3vw, 48px);
  font-weight:900;
  line-height:.98;
  text-align:center;
}

body.simulator-login-locked .sim-als-scenario-picker-head p{
  position:relative;
  margin:0;
  color:#086dff;
  font-size:clamp(12px, 1.05vw, 18px);
  font-weight:500;
  line-height:1.25;
  text-align:center;
}

body.simulator-login-locked .sim-als-scenario-picker-head p::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:clamp(-9px, -.65vh, -5px);
  width:clamp(64px, 5vw, 94px);
  height:2px;
  border-radius:999px;
  background:#f0c66a;
  transform:translateX(-50%);
}

body.simulator-login-locked .sim-als-scenario-field,
body.simulator-login-locked .sim-als-scenario-actions{
  display:none !important;
}

body.simulator-login-locked .sim-als-scenario-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  grid-auto-rows:1fr;
  min-height:0;
  gap:clamp(8px, .78vw, 14px);
  align-items:stretch;
}

body.simulator-login-locked .sim-als-scenario-legend{
  width:max-content;
  max-width:100%;
  min-height:clamp(26px, 2.2vw, 36px);
  margin:0 auto;
  padding:clamp(5px, .45vw, 8px) clamp(10px, 1vw, 18px);
  border:1px solid rgba(226,232,242,.9);
  border-radius:12px;
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 20px rgba(54,92,154,.1), inset 0 1px 0 rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(6px, .7vw, 12px);
}

body.simulator-login-locked .sim-als-scenario-legend-item{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:clamp(3px, .28vw, 5px);
  color:#071449;
  font-size:clamp(10px, .68vw, 14px);
  font-weight:850;
  line-height:1;
  white-space:nowrap;
}

body.simulator-login-locked .sim-als-scenario-legend-dot{
  width:clamp(10px, .8vw, 16px);
  height:clamp(10px, .8vw, 16px);
  border-radius:50%;
  flex:0 0 auto;
  box-shadow:0 3px 8px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.5);
}

body.simulator-login-locked .sim-als-scenario-legend-dot--rhythm{
  background:#086dff;
}

body.simulator-login-locked .sim-als-scenario-legend-dot--pressure{
  background:#17c9d4;
}

body.simulator-login-locked .sim-als-scenario-legend-dot--nonshockable{
  background:#ff4a4a;
}

body.simulator-login-locked .sim-als-scenario-legend-dot--shockable{
  background:#ffc21a;
}

body.simulator-login-locked .sim-als-scenario-card{
  position:relative;
  min-height:clamp(96px, 7.4vw, 126px);
  height:100%;
  padding:clamp(10px, .9vw, 16px) clamp(26px, 2.15vw, 38px) clamp(10px, .9vw, 16px) clamp(118px, 9vw, 158px);
  border:1px solid rgba(152,185,226,.4);
  border-radius:12px;
  background-color:rgba(255,255,255,.62);
  color:#071449;
  display:flex;
  align-items:center;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(54,92,154,.10);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
}

body.simulator-login-locked .sim-als-scenario-card-media{
  position:absolute;
  left:clamp(12px, 1vw, 18px);
  top:50%;
  z-index:0;
  width:clamp(92px, 7.4vw, 132px);
  height:calc(100% - clamp(16px, 1.35vw, 26px));
  border-radius:10px;
  background-image:var(--sim-als-scenario-image);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  box-shadow:none;
  overflow:hidden;
  pointer-events:none;
  transform:translateY(-50%);
}

body.simulator-login-locked .sim-als-scenario-card:hover,
body.simulator-login-locked .sim-als-scenario-card:focus-visible{
  transform:translateY(-1px);
  outline:none;
  border-color:#086dff;
  background-color:rgba(255,255,255,.82);
  box-shadow:0 18px 38px rgba(8,109,255,.14), inset 0 0 0 1px rgba(8,109,255,.28);
}

body.simulator-login-locked .sim-als-scenario-card--red{
  border-color:rgba(255,121,121,.34);
  background-color:rgba(255,247,247,.3);
}

body.simulator-login-locked .sim-als-scenario-card--orange{
  border-color:rgba(246,185,92,.42);
  background-color:rgba(255,251,244,.3);
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"],
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"]{
  border-color:rgba(8,109,255,.5);
  background-color:rgba(8,109,255,.3);
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"]:focus-visible{
  background-color:rgba(8,109,255,.3);
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="asystole"],
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pea"],
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="vf"],
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]{
  border-color:rgba(255,74,74,.5);
  background-color:rgba(255,74,74,.3);
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="asystole"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="asystole"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pea"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pea"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="vf"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="vf"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:focus-visible{
  background-color:rgba(255,74,74,.3);
}

body.simulator-login-locked .sim-als-scenario-card--red:hover,
body.simulator-login-locked .sim-als-scenario-card--red:focus-visible{
  background-color:rgba(255,247,247,.3);
}

body.simulator-login-locked .sim-als-scenario-card--orange:hover,
body.simulator-login-locked .sim-als-scenario-card--orange:focus-visible{
  background-color:rgba(255,251,244,.3);
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="asystole"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="asystole"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pea"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pea"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="vf"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="vf"]:focus-visible,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:hover,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:focus-visible{
  background-color:rgba(255,74,74,.3);
}

body.simulator-login-locked .sim-als-scenario-card-body{
  min-width:0;
  position:relative;
  z-index:2;
  display:grid;
  gap:clamp(4px, .42vw, 7px);
  justify-items:start;
}

body.simulator-login-locked .sim-als-scenario-card-title{
  color:#071449;
  font-size:clamp(12px, .9vw, 17px);
  font-weight:850;
  line-height:1.16;
}

body.simulator-login-locked .sim-als-scenario-card-description{
  color:#0b55b4;
  font-size:clamp(8px, .62vw, 11px);
  font-weight:500;
  line-height:1.45;
}

body.simulator-login-locked .sim-als-scenario-card-start{
  min-width:clamp(86px, 7.2vw, 118px);
  min-height:clamp(24px, 1.75vw, 32px);
  padding:0 clamp(12px, 1.1vw, 18px);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(7px, .7vw, 12px);
  background:linear-gradient(180deg, #1594ff 0%, #086dff 100%);
  color:#ffffff;
  font-size:clamp(9px, .68vw, 12px);
  font-weight:750;
  line-height:1;
  opacity:0;
  visibility:hidden;
  box-shadow:0 9px 18px rgba(8,109,255,.22), inset 0 1px 0 rgba(255,255,255,.42);
  transition:opacity .16s ease, visibility .16s ease;
}

body.simulator-login-locked .sim-als-scenario-card:hover .sim-als-scenario-card-start,
body.simulator-login-locked .sim-als-scenario-card:focus-visible .sim-als-scenario-card-start{
  opacity:1;
  visibility:visible;
}

body.simulator-login-locked .sim-als-scenario-card-arrow{
  position:absolute;
  right:clamp(12px, 1vw, 18px);
  top:50%;
  z-index:2;
  color:#086dff;
  font-size:clamp(24px, 1.9vw, 34px);
  line-height:1;
  transform:translateY(-50%);
}

body.simulator-login-locked .sim-als-scenario-card--red .sim-als-scenario-card-arrow{
  color:#086dff;
}

body.simulator-login-locked .sim-als-scenario-card--orange .sim-als-scenario-card-arrow{
  color:#086dff;
}

body.simulator-login-locked .sim-als-scenario-card--red .sim-als-scenario-card-description,
body.simulator-login-locked .sim-als-scenario-card--orange .sim-als-scenario-card-description{
  color:#0b55b4;
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"] .sim-als-scenario-card-title,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"] .sim-als-scenario-card-title{
  color:#071449;
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"] .sim-als-scenario-card-description,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"] .sim-als-scenario-card-description{
  color:#0b55b4;
}

body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypertension"] .sim-als-scenario-card-arrow,
body.simulator-login-locked .sim-als-scenario-card[data-scenario-card-id="hypotension"] .sim-als-scenario-card-arrow{
  color:#086dff;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-picker{
  color:#f8fbff;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-picker h1{
  color:#f8fbff !important;
  text-shadow:0 10px 28px rgba(0,0,0,.36);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-picker-head p{
  color:#aebfd8;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-picker-head p::after{
  background:#f0c66a;
  box-shadow:0 0 18px rgba(240,198,106,.24);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-legend{
  border-color:rgba(54,96,135,.82);
  background:rgba(3,15,31,.86);
  box-shadow:0 18px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(95,218,255,.1);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-legend-item{
  color:#f8fbff;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-legend-dot{
  box-shadow:0 0 18px rgba(95,218,255,.12), inset 0 1px 0 rgba(255,255,255,.35);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card{
  border-color:rgba(95,218,255,.28);
  background-color:rgba(5,22,43,.84);
  color:#f8fbff;
  box-shadow:0 16px 34px rgba(0,0,0,.32), inset 0 1px 0 rgba(95,218,255,.1);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card:focus-visible{
  border-color:rgba(95,218,255,.72);
  background-color:rgba(8,31,58,.9);
  box-shadow:0 20px 42px rgba(0,0,0,.4), inset 0 0 0 1px rgba(95,218,255,.26);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--red{
  border-color:rgba(248,113,113,.48);
  background-color:rgba(47,16,27,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--orange{
  border-color:rgba(240,198,106,.5);
  background-color:rgba(45,28,9,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypertension"],
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypotension"]{
  border-color:rgba(8,109,255,.58);
  background-color:rgba(8,109,255,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypertension"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypertension"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypotension"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="hypotension"]:focus-visible{
  background-color:rgba(8,109,255,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="asystole"],
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pea"],
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="vf"],
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]{
  border-color:rgba(255,74,74,.5);
  background-color:rgba(255,74,74,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="asystole"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="asystole"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pea"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pea"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="vf"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="vf"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:focus-visible{
  background-color:rgba(255,74,74,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--red:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--red:focus-visible{
  background-color:rgba(47,16,27,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--orange:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--orange:focus-visible{
  background-color:rgba(45,28,9,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="asystole"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="asystole"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pea"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pea"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="vf"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="vf"]:focus-visible,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:hover,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card[data-scenario-card-id="pulseless-vt"]:focus-visible{
  background-color:rgba(255,74,74,.3);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card-title{
  color:#f8fbff;
  text-shadow:0 1px 0 rgba(0,0,0,.32);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card-description,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--red .sim-als-scenario-card-description,
body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--orange .sim-als-scenario-card-description{
  color:#c4d0e3;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card-start{
  border:1px solid rgba(95,218,255,.44);
  background:linear-gradient(180deg, #12baff 0%, #0874ff 100%);
  color:#ffffff;
  box-shadow:0 10px 20px rgba(0,128,255,.3), inset 0 1px 0 rgba(255,255,255,.36);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card-arrow{
  color:#5fdaff;
  text-shadow:0 0 18px rgba(95,218,255,.35);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--red .sim-als-scenario-card-arrow{
  color:#5fdaff;
  text-shadow:0 0 18px rgba(95,218,255,.35);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-card--orange .sim-als-scenario-card-arrow{
  color:#5fdaff;
  text-shadow:0 0 18px rgba(95,218,255,.35);
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-field{
  color:#f8fbff;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-field select{
  border-color:rgba(95,218,255,.34);
  background-color:rgba(2,11,24,.72);
  color:#f8fbff;
}

body.black-theme.simulator-login-locked .sim-login-main--als-scenario .sim-als-scenario-actions button{
  border-color:rgba(95,218,255,.28);
  background:rgba(3,15,31,.78);
  color:#f8fbff;
}

@media (max-width: 1100px){
  body.simulator-login-locked .sim-als-scenario-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.simulator-login-locked .sim-als-scenario-legend{
    flex-wrap:wrap;
    justify-content:center;
    gap:clamp(5px, .6vw, 8px) clamp(8px, .9vw, 12px);
  }

  body.simulator-login-locked .sim-als-scenario-legend-item{
    flex:0 1 calc(50% - 8px);
    justify-content:center;
  }

  body.simulator-login-locked .sim-als-scenario-card{
    min-height:clamp(82px, 10vh, 104px);
    padding-left:clamp(96px, 13vw, 128px);
  }

  body.simulator-login-locked .sim-als-scenario-card-media{
    width:clamp(72px, 10vw, 102px);
  }
}

@media (max-width: 720px){
  body.simulator-login-locked .sim-als-scenario-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
  }

  body.simulator-login-locked .sim-als-scenario-card{
    min-height:clamp(72px, 10.5vh, 90px);
    padding:8px 18px 8px clamp(62px, 16vw, 76px);
    border-radius:9px;
  }

  body.simulator-login-locked .sim-als-scenario-card-media{
    left:8px;
    width:clamp(48px, 13vw, 60px);
    height:calc(100% - 14px);
    border-radius:8px;
  }

  body.simulator-login-locked .sim-als-scenario-card-body{
    gap:3px;
  }

  body.simulator-login-locked .sim-als-scenario-card-title{
    font-size:clamp(10px, 2.55vw, 12px);
    line-height:1.1;
  }

  body.simulator-login-locked .sim-als-scenario-card-description{
    font-size:clamp(7px, 2vw, 9px);
    line-height:1.2;
  }

  body.simulator-login-locked .sim-als-scenario-card-start{
    min-width:0;
    min-height:20px;
    padding:0 8px;
    font-size:8px;
  }

  body.simulator-login-locked .sim-als-scenario-card-arrow{
    right:7px;
    font-size:22px;
  }

  body.simulator-login-locked .sim-als-scenario-legend{
    border-radius:10px;
    padding-inline:clamp(10px, 3vw, 14px);
    gap:6px;
  }

  body.simulator-login-locked .sim-als-scenario-legend-item{
    flex:0 1 calc(50% - 6px);
    justify-content:center;
    font-size:clamp(9px, 2.7vw, 11px);
  }

  body.simulator-login-locked .sim-als-scenario-legend-dot{
    width:clamp(8px, 2.4vw, 10px);
    height:clamp(8px, 2.4vw, 10px);
  }
}
