/* Additive accessibility and bounded-content fixes, preserving reference styles. */
.loading-card{padding:28px;text-align:center;color:var(--mut);min-height:120px}
body:has(#authView:not(.hidden)) .mobile-bottom{display:none!important}
body.rc-exam-mode .sidebar,body.rc-exam-mode .topbar,body.rc-exam-mode .mobile-bottom{display:none!important}
body.rc-exam-mode .main{margin-left:0!important;width:100%!important;padding-bottom:0!important}
body.rc-exam-mode .content{max-width:1600px;margin:auto;padding-bottom:90px}
.rc-builder-summary{position:sticky;bottom:0;padding:16px;z-index:3}
.rc-builder-summary input,.rc-builder-summary select,select{min-height:44px;max-width:100%}
.semantic{margin-left:auto;font-size:12px}
.menu-item{overflow-wrap:anywhere;min-width:0}
.menu-item input[type=checkbox]{min-width:24px;min-height:24px}
#rcBanks{max-height:320px;overflow:auto}
#rcBanks .menu-item{padding:8px;gap:8px}
#rcBanks button{white-space:normal;text-align:left}
.builder-shell,.builder-shell>*{min-width:0;max-width:100%}
.builder-shell .menu-head{flex-wrap:wrap}
.builder-shell select,.builder-shell input,.builder-shell button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#rcBanks button{flex:1;min-width:0}
.builder-shell .search{width:100%;min-width:0}
.option:disabled{opacity:1;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
a:focus-visible,summary:focus-visible,[role="button"]:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
body.rc-exam-mode .navigator .finish{position:fixed;bottom:16px;right:24px;z-index:10;min-height:44px;width:auto;padding:12px 24px;box-shadow:0 2px 8px #0002}
.nav-num{min-height:44px}
body.rc-exam-mode .navigator{display:block}
.navigator .finish[hidden]{display:none!important}
body.rc-exam-mode .facebook-float{display:none}
@media(max-width:767px){body.rc-exam-mode .navigator{position:static}body.rc-exam-mode .navigator .finish{right:16px;left:16px;width:calc(100% - 32px)}}
@media(max-width:760px){.rc-builder-summary{position:static}.menu-item{flex-wrap:wrap}.menu-item>span{flex:1;min-width:0}body.rc-exam-mode .navigator .finish{right:16px;left:16px;width:calc(100% - 32px)}.content{padding-bottom:100px}.auth-input{font-size:16px}.semantic{display:block}.chat-fab{bottom:90px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Scoped manual-review refinements; native controls and screen-reader text remain available. */
.rc-chevron{width:20px;height:20px;flex:none;vertical-align:middle}
.exam-back-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--text)}
.rc-protected{-webkit-user-select:none;user-select:none;white-space:pre-line;overflow-wrap:anywhere}
.option.selected{border:2px solid var(--p);background:var(--soft);box-shadow:inset 3px 0 var(--p)}
.option.selected .key{background:var(--p);color:#fff}
.option:focus-visible,.builder-mode-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.rc-saved-panel{max-width:1200px;margin:0 auto;padding:22px}
.rc-saved-row{align-items:center;justify-content:space-between}
.rc-saved-info{flex:1;min-width:0;overflow-wrap:anywhere}.rc-saved-info p{color:var(--mut);margin:6px 0 0}
.rc-saved-actions{display:flex;gap:8px;flex-shrink:0}.rc-danger{color:var(--red)!important;border:1px solid var(--red)!important;background:var(--card)!important}
.rc-source-note{display:inline-block;color:var(--mut);background:var(--soft);border:1px solid var(--bd);border-radius:8px;padding:6px 8px;font-size:12px;font-weight:400;line-height:1.5}
.source-builder-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--p);color:#fff;border:1px solid var(--p);border-radius:12px;padding:14px 18px;min-height:48px;font-weight:700;width:100%;margin:12px 0}
.rc-builder-summary{border:1px solid var(--p);border-top:4px solid var(--p);border-radius:14px;background:var(--card);box-shadow:0 4px 16px #0001;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rc-builder-summary>strong,.rc-builder-summary>p{flex-basis:100%;margin:0}.rc-builder-summary label{display:inline-flex;gap:6px;align-items:center}
.builder-shell>.menu-head{display:block}.rc-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0}.rc-steps li{border:1px solid var(--bd);border-radius:8px;padding:8px 12px;color:var(--mut)}.rc-steps [aria-current]{color:var(--text);border-color:var(--p);background:var(--soft);font-weight:700}
.rc-time-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.rc-time-controls input{width:90px}.rc-time-controls input,.rc-time-controls select{min-height:44px;background:var(--card);color:var(--text);border:1px solid var(--bd);border-radius:8px}.rc-time-controls p{flex-basis:100%}
.rc-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.rc-answered{background:var(--green)}.rc-flagged{background:var(--orange)}.legend span{display:inline-flex;align-items:center;margin:4px 8px 4px 0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.builder-mode-card{transition:transform .15s ease,box-shadow .15s ease}.builder-mode-card:hover{transform:perspective(700px) rotateX(var(--rc-rx,0deg)) rotateY(var(--rc-ry,0deg)) translateY(-2px);box-shadow:0 8px 18px #0002}}
@media(max-width:600px){.rc-saved-panel{padding:16px}.rc-saved-row{align-items:stretch;flex-direction:column}.rc-saved-actions{flex-wrap:wrap}.rc-saved-actions button{flex:1;min-height:44px}.rc-builder-summary{position:static}.rc-steps{gap:5px}.rc-steps li{padding:7px 9px}}
@media print{[data-protected-content]{display:none!important}}
.rc-immediate{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--mut)}.rc-immediate small{flex-basis:100%;font-size:11px}.rc-immediate input{min-width:20px;min-height:20px}
#rcCollection{width:100%;max-width:100%;white-space:normal}#rcMenuList .menu-item>span{min-width:0;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce),(hover:none){.builder-mode-card:hover{transform:none!important;box-shadow:none}}


/* V14.2 USER REVIEW UX PASS */

.rc-mode-head .rc-mode-intro{
  max-width:720px;
  margin-top:8px;
  color:var(--mut);
  line-height:1.6;
}

.builder-mode-grid{
  align-items:stretch;
}

.builder-mode-card{
  min-height:122px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  gap:7px;
  padding:18px;
}

.builder-mode-card strong{
  color:var(--text);
  font-size:15px;
  line-height:1.35;
}

.builder-mode-card span{
  display:block;
  color:var(--mut);
  font-size:12px;
  line-height:1.55;
  font-weight:400;
}

.rc-answer-state{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.rc-state-icon{
  width:19px;
  height:19px;
  flex:none;
}

.option.correct{
  border-color:#22a447!important;
  background:rgba(34,164,71,.09)!important;
  color:#08692c!important;
}

.option.wrong{
  border-color:#ef4444!important;
  background:rgba(239,68,68,.08)!important;
  color:#9f1f1f!important;
}

.dark .option.correct{
  color:#8ce5a8!important;
}

.dark .option.wrong{
  color:#ffaaa7!important;
}

.exam-wrap{
  position:relative;
}

.rc-exam-loading{
  position:absolute;
  inset:0;
  z-index:60;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  border-radius:18px;
  background:rgba(248,250,252,.88);
  backdrop-filter:blur(4px);
}

.dark .rc-exam-loading{
  background:rgba(15,23,42,.88);
}

.rc-exam-loading[hidden]{
  display:none!important;
}

.rc-exam-loading>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.rc-exam-loading strong{
  color:var(--p);
  font-size:16px;
}

.rc-exam-loading span:not(.rc-loading-ring){
  color:var(--mut);
  font-size:12px;
}

.rc-loading-ring{
  width:30px;
  height:30px;
  border:3px solid var(--bd);
  border-top-color:var(--p);
  border-radius:50%;
  animation:rcSpin .7s linear infinite;
}

@keyframes rcSpin{
  to{transform:rotate(360deg)}
}

.rc-nav-timer{
  margin:10px 0 14px!important;
  padding:12px!important;
  box-shadow:none!important;
  border-radius:12px!important;
}

.navigator .rc-nav-timer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.navigator .rc-nav-timer span{
  font-size:12px;
  color:var(--mut);
}

.navigator .rc-nav-timer strong{
  font-size:18px;
  color:var(--p);
}

.rc-exam-actions{
  position:sticky;
  bottom:10px;
  z-index:5;
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:14px;
  padding-top:12px;
  background:linear-gradient(to bottom,transparent,var(--card) 18%);
}

.rc-exam-actions .finish{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  margin:0!important;
}

.rc-immediate{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:8px 10px;
  border:1px solid var(--bd);
  border-radius:12px;
  background:var(--card);
  cursor:pointer;
}

.rc-immediate[hidden]{
  display:none!important;
}

.rc-immediate input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.rc-toggle-track{
  position:relative;
  width:42px;
  height:24px;
  flex:none;
  border-radius:999px;
  background:var(--bd);
  transition:background .18s ease;
}

.rc-toggle-knob{
  position:absolute;
  width:18px;
  height:18px;
  top:3px;
  left:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px #0003;
  transition:transform .18s ease;
}

.rc-immediate input:checked + .rc-toggle-track{
  background:var(--p);
}

.rc-immediate input:checked + .rc-toggle-track .rc-toggle-knob{
  transform:translateX(18px);
}

.rc-immediate input:focus-visible + .rc-toggle-track{
  outline:3px solid var(--orange);
  outline-offset:3px;
}

.rc-toggle-copy{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}

.rc-toggle-copy strong{
  color:var(--text);
  font-size:12px;
}

.rc-toggle-copy small{
  color:var(--mut);
  font-size:10px;
}

.nav-grid{
  align-items:stretch;
}

.rc-nav-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:6px;
}

.rc-nav-pager span{
  min-width:84px;
  text-align:center;
  color:var(--mut);
  font-size:12px;
  font-weight:700;
}

.rc-result-summary{
  padding:24px 26px!important;
  margin-bottom:18px;
}

.rc-result-summary h2{
  margin:0 0 8px;
}

.rc-result-summary p{
  margin:6px 0 16px;
  line-height:1.6;
}

.rc-result-summary .btn{
  margin:4px 6px 0 0;
}

.rc-builder-lead{
  max-width:720px;
  color:var(--mut);
  line-height:1.6;
  margin:6px 0 14px;
}

.rc-steps{
  align-items:center;
}

.rc-steps li{
  display:flex;
  align-items:center;
  gap:7px;
}

.rc-steps li strong{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--soft);
  font-size:11px;
}

.rc-steps li.done strong,
.rc-steps [aria-current] strong{
  background:var(--p);
  color:#fff;
}

.rc-builder-search{
  max-width:520px;
  margin:14px 0;
}

.rc-builder-search>label{
  display:block;
  margin-bottom:6px;
  color:var(--text);
  font-size:12px;
  font-weight:700;
}

.rc-search-box{
  position:relative;
}

.rc-search-box svg{
  position:absolute;
  width:18px;
  height:18px;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--mut);
  pointer-events:none;
}

.rc-search-box input{
  width:100%;
  min-height:42px;
  padding:8px 12px 8px 40px!important;
  border-radius:11px;
}

.rc-builder-search small{
  display:block;
  margin-top:5px;
  color:var(--mut);
  font-size:11px;
}

.rc-builder-summary{
  margin-top:16px;
  padding:16px!important;
}

.rc-chart-guide{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:10px 0 16px;
  padding:12px 14px;
  border:1px solid var(--bd);
  border-radius:12px;
  background:var(--soft);
}

.rc-chart-guide strong{
  font-size:12px;
  color:var(--text);
}

.rc-chart-guide span{
  font-size:11px;
  color:var(--mut);
  line-height:1.55;
}

@media(max-width:760px){
  .builder-mode-card{
    min-height:104px;
    padding:15px;
  }

  .rc-exam-actions{
    position:static;
  }

  .rc-result-summary{
    padding:18px!important;
  }

  .rc-builder-search{
    max-width:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .rc-loading-ring{
    animation:none!important;
  }

  .rc-toggle-track,
  .rc-toggle-knob{
    transition:none!important;
  }
}


/* ASHUUIS SIMULATION UI */

.rc-mode-card-featured{
  position:relative;
  border-color:color-mix(in srgb,var(--p) 48%,var(--bd))!important;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--p) 8%,var(--card)),
      var(--card)
    )!important;
}

.rc-mode-card-featured::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:inherit;
  background:var(--p);
}

.rc-mode-card-featured strong{
  color:var(--p);
}

.rc-time-controls{
  margin-top:16px;
  padding:14px 16px;
  border:1px solid var(--bd);
  border-radius:14px;
  background:var(--soft);
}

.rc-time-controls>strong,
.rc-time-controls>small{
  display:block;
}

.rc-time-controls>strong{
  margin-bottom:3px;
  color:var(--text);
  font-size:13px;
}

.rc-time-controls>small{
  margin-bottom:12px;
  color:var(--mut);
  font-size:11px;
}

.rc-ratio-panel{
  margin-top:18px;
  padding:20px;
  border:1px solid color-mix(in srgb,var(--p) 36%,var(--bd));
  border-radius:16px;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--p) 5%,var(--card)),
      var(--card)
    );
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.rc-ratio-head h3{
  margin:4px 0 7px;
  font-size:18px;
  color:var(--text);
}

.rc-ratio-head p{
  max-width:720px;
  margin:0;
  color:var(--mut);
  line-height:1.6;
  font-size:12px;
}

.rc-ratio-kicker{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--p) 10%,var(--card));
  color:var(--p);
  font-size:11px;
  font-weight:800;
}

.rc-ratio-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.rc-ratio-grid label{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:12px;
  border:1px solid var(--bd);
  border-radius:13px;
  background:var(--card);
}

.rc-ratio-grid label>span{
  font-weight:800;
  color:var(--text);
}

.rc-ratio-grid label>small{
  min-height:18px;
  color:var(--mut);
  font-size:10px;
}

.rc-ratio-grid input{
  width:100%;
  margin-top:7px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--bd);
  border-radius:10px;
  background:var(--card);
  color:var(--text);
  font-size:17px;
  font-weight:800;
}

.rc-ratio-grid input:focus{
  border-color:var(--p);
  outline:3px solid color-mix(in srgb,var(--p) 14%,transparent);
}

.rc-ratio-status{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:var(--soft);
}

.rc-ratio-status>div{
  min-width:100px;
  color:var(--mut);
  font-size:12px;
}

.rc-ratio-status strong{
  margin-left:5px;
  font-size:18px;
  color:var(--text);
}

.rc-ratio-status .valid strong{
  color:#15803d;
}

.rc-ratio-status .invalid strong{
  color:#dc2626;
}

.rc-ratio-status p{
  margin:2px 0 0;
  color:var(--mut);
  font-size:11px;
  line-height:1.5;
  text-align:right;
}

.rc-ratio-note{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:12px;
  padding:11px 13px;
  border-left:3px solid var(--p);
  border-radius:0 10px 10px 0;
  background:color-mix(in srgb,var(--p) 5%,var(--card));
}

.rc-ratio-note strong{
  font-size:11px;
  color:var(--text);
}

.rc-ratio-note span{
  color:var(--mut);
  font-size:10px;
  line-height:1.55;
}

.rc-ratio-start{
  margin-top:15px;
}

.rc-ratio-start:disabled{
  opacity:.48;
  cursor:not-allowed;
}

@media(max-width:760px){
  .rc-ratio-panel{
    padding:16px;
  }

  .rc-ratio-grid{
    grid-template-columns:1fr;
  }

  .rc-ratio-status{
    flex-direction:column;
  }

  .rc-ratio-status p{
    text-align:left;
  }
}


/* V14.2 REVIEW ROUND 2B */

/* Answer state font */
.rc-answer-state,
.rc-answer-state span{
  font-family:inherit!important;
  font-style:normal!important;
  letter-spacing:normal!important;
}

.rc-answer-state span{
  font-weight:800!important;
}

/* Clinical case */
.rc-case-intro{
  margin:0 0 22px;
  padding:18px 20px!important;
  border:1px solid color-mix(in srgb,var(--p) 44%,var(--bd))!important;
  border-radius:14px!important;
  background:color-mix(in srgb,var(--p) 7%,var(--card))!important;
  line-height:1.7;
}

.rc-case-label{
  display:block;
  margin-bottom:9px;
  color:var(--p);
  font-size:11px;
  font-weight:900;
  letter-spacing:.035em;
}

/* Stepper */
.rc-steps{
  position:relative;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0!important;
  margin:20px 0 24px!important;
  padding:0!important;
  overflow:visible!important;
}

.rc-steps::before,
.rc-steps::after{
  content:'';
  position:absolute;
  top:17px;
  left:12.5%;
  height:2px;
  pointer-events:none;
}

.rc-steps::before{
  width:75%;
  background:var(--bd);
}

.rc-steps::after{
  width:25%;
  background:var(--p);
  animation:rcStepLine .42s ease-out both;
}

.rc-steps li{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex!important;
  flex-direction:column;
  align-items:center!important;
  gap:8px!important;
  padding:0 5px;
  text-align:center;
  color:var(--mut);
}

.rc-steps li strong{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center;
  border:2px solid var(--bd);
  border-radius:50%!important;
  background:var(--card)!important;
  color:var(--mut)!important;
  box-shadow:0 0 0 5px var(--card);
}

.rc-steps li span{
  max-width:155px;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}

.rc-steps li.done strong{
  border-color:color-mix(in srgb,var(--p) 42%,var(--bd));
  color:var(--p)!important;
  background:color-mix(in srgb,var(--p) 6%,var(--card))!important;
}

.rc-steps li.done span{
  color:var(--mut);
}

.rc-steps li[aria-current="step"] strong{
  border-color:var(--p)!important;
  background:var(--p)!important;
  color:#fff!important;
  animation:rcStepPulse 1.9s ease-in-out infinite;
}

.rc-steps li[aria-current="step"] span{
  color:var(--p);
  font-weight:900;
}

@keyframes rcStepLine{
  from{transform:scaleX(0);transform-origin:left}
  to{transform:scaleX(1);transform-origin:left}
}

@keyframes rcStepPulse{
  0%,100%{
    box-shadow:
      0 0 0 5px var(--card),
      0 0 0 6px transparent;
  }
  50%{
    box-shadow:
      0 0 0 5px var(--card),
      0 0 0 9px color-mix(in srgb,var(--p) 13%,transparent);
  }
}

/* Menu icons + alignment */
#rcMenuList .menu-item{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  text-align:left!important;
}

.rc-menu-copy{
  flex:1 1 auto!important;
  min-width:0;
  text-align:left!important;
}

.rc-menu-title{
  display:block;
  line-height:1.5;
  font-weight:650;
  color:var(--text);
}

.rc-menu-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--p) 22%,var(--bd));
  border-radius:11px;
  background:color-mix(in srgb,var(--p) 7%,var(--card));
  color:var(--p);
}

.rc-menu-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* All arrows share one right edge */
#rcMenuList .menu-item > svg:last-child{
  flex:0 0 auto!important;
  margin-left:auto!important;
  align-self:center!important;
}

/* Builder banks left aligned */
#rcBanks,
#rcBanks .menu-item,
#rcBanks label,
#rcBanks button,
#rcBanks span,
#rcBanks div{
  text-align:left!important;
}

#rcBanks .menu-item,
#rcBanks label{
  justify-content:flex-start!important;
}

/* Builder question breathing room */
#rcQuestionList{
  display:grid!important;
  gap:10px!important;
}

#rcQuestionList > *{
  margin:0!important;
}

#rcQuestionList > label,
#rcQuestionList > div,
#rcQuestionList .menu-item{
  padding-top:12px!important;
  padding-bottom:12px!important;
}

/* Progress grouped by target exam */
.rc-progress-groups{
  margin:2px 0 18px;
  padding:14px 16px;
  border:1px solid var(--bd);
  border-radius:14px;
  background:var(--soft);
}

.rc-progress-group-head{
  margin-bottom:11px;
}

.rc-progress-group-head > div{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
}

.rc-progress-group-head strong{
  color:var(--text);
  font-size:13px;
}

.rc-progress-group-head span{
  color:var(--mut);
  font-size:10px;
}

.rc-progress-tabs{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 1px 5px;
  scrollbar-width:thin;
}

.rc-progress-tab{
  min-height:34px;
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid var(--bd);
  border-radius:999px;
  background:var(--card);
  color:var(--mut);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}

.rc-progress-tab.active{
  border-color:var(--p);
  background:color-mix(in srgb,var(--p) 9%,var(--card));
  color:var(--p);
}

.option .rc-answer-state{
  flex:0 0 auto!important;
}

@media(max-width:760px){
  .rc-case-intro{
    padding:15px!important;
  }

  .rc-steps li span{
    font-size:9.5px;
  }

  .rc-steps li strong{
    width:30px!important;
    height:30px!important;
  }

  .rc-steps::before,
  .rc-steps::after{
    top:15px;
  }

  .rc-menu-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .rc-menu-icon svg{
    width:19px;
    height:19px;
  }

  .rc-progress-group-head > div{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(prefers-reduced-motion:reduce){
  .rc-steps::after,
  .rc-steps li[aria-current="step"] strong{
    animation:none!important;
  }
}


/* V14.2 REVIEW ROUND 3 */

/* ---------------------------------------------------------
   Progress chart: real X/Y visual axes
   --------------------------------------------------------- */

.rc-chart-axis-host{
  position:relative;
  padding-left:54px!important;
  padding-bottom:40px!important;
}

.rc-chart-axis-host > svg{
  display:block;
  border-left:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
}

.rc-chart-y-axis{
  position:absolute;
  top:0;
  left:0;
  bottom:40px;
  width:48px;
  pointer-events:none;
}

.rc-chart-y-axis strong{
  position:absolute;
  left:-31px;
  top:50%;
  width:110px;
  transform:
    translateY(-50%)
    rotate(-90deg);
  color:var(--mut);
  font-size:10px;
  font-weight:750;
  text-align:center;
}

.rc-chart-y-axis span{
  position:absolute;
  right:5px;
  top:var(--y);
  transform:translateY(-50%);
  color:var(--mut);
  font-size:9px;
  font-variant-numeric:tabular-nums;
}

.rc-chart-x-axis{
  position:absolute;
  left:54px;
  right:0;
  bottom:6px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
  color:var(--mut);
  font-size:9px;
  pointer-events:none;
}

.rc-chart-x-axis strong{
  font-size:10px;
  font-weight:750;
  text-align:center;
}

.rc-chart-x-axis span:last-child{
  text-align:right;
}

/* Topic tabs: readable long medical titles */
.rc-progress-tabs{
  display:grid!important;
  grid-template-columns:
    repeat(
      auto-fit,
      minmax(220px,1fr)
    );
  overflow:visible!important;
}

.rc-progress-tab{
  width:100%;
  min-height:46px;
  white-space:normal!important;
  text-align:left;
  line-height:1.4;
  border-radius:11px!important;
}

/* ---------------------------------------------------------
   Save modal spacing
   --------------------------------------------------------- */

#modalBox h2{
  margin:
    0
    0
    20px!important;
}

#modalBox label{
  display:flex!important;
  flex-direction:column;
  gap:8px!important;
  margin:
    0
    0
    18px!important;
  line-height:1.35;
}

#modalBox label input,
#modalBox label select,
#modalBox label textarea{
  width:100%;
  margin:0!important;
}

#modalBox > .btn{
  margin:
    0
    8px
    0
    0!important;
}

/* ---------------------------------------------------------
   Answer result typography = site/question typography
   --------------------------------------------------------- */

.semantic.rc-answer-state,
.semantic.rc-answer-state span,
.option .rc-answer-state,
.option .rc-answer-state span{
  font-family:
    inherit!important;
  font-style:
    normal!important;
  font-stretch:
    normal!important;
  font-variation-settings:
    normal!important;
  letter-spacing:
    0!important;
  text-transform:
    none!important;
}

.option .rc-answer-state{
  font-size:
    13px!important;
  line-height:
    1.35!important;
  font-weight:
    700!important;
}

.option .rc-answer-state span{
  font-size:
    inherit!important;
  line-height:
    inherit!important;
  font-weight:
    inherit!important;
}

/* ---------------------------------------------------------
   Builder banks: every text left aligned, both sources
   --------------------------------------------------------- */

#rcBanks,
#rcBanks *,
#rcBanks .menu-item,
#rcBanks .menu-item *,
#rcBanks label,
#rcBanks label *,
#rcBanks button,
#rcBanks button *{
  text-align:
    left!important;
}

#rcBanks .menu-item,
#rcBanks label,
#rcBanks button{
  justify-content:
    flex-start!important;
}

#rcBanks label{
  align-items:
    flex-start!important;
}

#rcBanks input[type="checkbox"]{
  flex:
    0 0 auto!important;
  align-self:
    flex-start!important;
  margin-top:
    4px!important;
}

/* ---------------------------------------------------------
   Question navigator / 100-question main window
   --------------------------------------------------------- */

#navGrid{
  scroll-margin-top:
    20px;
}

@media(max-width:760px){
  .rc-chart-axis-host{
    padding-left:
      46px!important;
  }

  .rc-chart-x-axis{
    left:
      46px;
  }

  .rc-progress-tabs{
    grid-template-columns:
      1fr!important;
  }

  #modalBox h2{
    margin-bottom:
      16px!important;
  }

  #modalBox label{
    margin-bottom:
      15px!important;
  }
}

/* MEDSUR_PRO_MEDICAL_ICON_CSS_V3 */
.rc-menu-visual{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:inline-grid;
  place-items:center;
  color:var(--primary,#2563eb);
}

.rc-menu-visual svg{
  width:24px;
  height:24px;
  display:block;
}

/* MEDSUR_V14_2_FINAL_IMAGE_UI_CSS_V1 */
.rc-question-media{
  margin:14px 0 18px;
}

.rc-question-media-grid{
  display:grid;
  grid-template-columns:repeat(
    auto-fit,
    minmax(min(100%,260px),1fr)
  );
  gap:12px;
}

.rc-question-media-figure{
  margin:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(148,163,184,.06);
}

.rc-question-media-figure img{
  width:100%;
  height:auto;
  max-height:520px;
  display:block;
  object-fit:contain;
}

.rc-image-loading{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  font-size:13px;
  opacity:.62;
}

.rc-image-loading-mark{
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:rcImageSpin .8s linear infinite;
}

@keyframes rcImageSpin{
  to{transform:rotate(360deg)}
}

@media (prefers-reduced-motion:reduce){
  .rc-image-loading-mark{
    animation:none;
  }
}

@media (max-width:600px){
  .rc-question-media{
    margin:12px 0 16px;
  }

  .rc-question-media-grid{
    grid-template-columns:1fr;
  }

  .rc-question-media-figure img{
    max-height:420px;
  }
}

/* MEDSUR MOBILE BUILDER V3 */
@media (max-width:767px){

  #appView,
  #appView div,
  #appView span,
  #appView p,
  #appView h1,
  #appView h2,
  #appView h3,
  #appView h4,
  #appView strong,
  #appView small,
  #appView label,
  #appView button,
  #appView input,
  #appView select,
  #appView textarea{
    font-family:Arial,"Helvetica Neue",sans-serif !important;
  }

  #appView{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
  }

  /* 5 үндсэн mobile navigation */
  .mobile-bottom{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:2px !important;
  }

  .mobile-bottom button{
    min-width:0 !important;
    padding:5px 2px !important;
    line-height:1.1 !important;
  }

  .mobile-bottom button .icon{
    width:20px !important;
    height:20px !important;
  }

  .mobile-bottom button span{
    display:block !important;
    width:100% !important;
    white-space:normal !important;
    word-break:normal !important;
    text-align:center !important;
    font-size:9px !important;
    line-height:1.12 !important;
  }

  .mobile-bottom button[data-route="saved"] span{
    font-size:8px !important;
    line-height:1.08 !important;
  }

  /* Builder 4 алхам */
  .rc-steps{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    gap:8px !important;
    margin:4px 0 14px !important;
  }

  .rc-steps > div,
  .rc-steps > button{
    min-width:0 !important;
    min-height:52px !important;
    margin:0 !important;
    padding:9px 8px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    font-size:11px !important;
    line-height:1.3 !important;
  }

  /* Search + filter */
  .builder-toolbar,
  .builder-toolbar.v6,
  .builder-toolbar.v7{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
    gap:11px !important;
    align-items:stretch !important;
  }

  .builder-field{
    width:100% !important;
    min-width:0 !important;
  }

  .builder-field label{
    display:block !important;
    margin:0 0 6px !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
  }

  .builder-field input,
  .builder-field select,
  .custom-time-input{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important;
    padding:0 13px !important;
    font-size:16px !important;
    line-height:1.2 !important;
  }

  .builder-shell,
  .rc-builder-shell{
    width:100% !important;
    min-width:0 !important;
  }

  .builder-shell .search,
  .rc-builder-search{
    width:100% !important;
    min-width:0 !important;
  }

  .builder-shell .search input,
  .rc-builder-search input{
    width:100% !important;
    min-width:0 !important;
    font-size:16px !important;
  }

  .format-help{
    margin-top:6px !important;
    font-size:11px !important;
    line-height:1.45 !important;
  }

  .builder-clear{
    width:100% !important;
    min-height:46px !important;
  }

  /* Premium / information block */
  .builder-rule,
  .emht-builder-banner{
    width:100% !important;
    margin:0 !important;
    padding:12px 13px !important;
    font-size:12px !important;
    line-height:1.55 !important;
  }

  /* Builder entry card */
  .source-builder-cta{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:40px minmax(0,1fr) 20px !important;
    gap:10px !important;
    padding:13px !important;
  }

  .source-builder-cta strong{
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .source-builder-cta p{
    margin-top:4px !important;
    font-size:11px !important;
    line-height:1.5 !important;
  }

  /* Question bank */
  #rcBanks,
  .builder-list,
  .bank-unit,
  .compact-result{
    width:100% !important;
    min-width:0 !important;
  }

  .bank-unit-title,
  .bank-preview,
  .compact-result{
    min-width:0 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* Selected summary */
  .builder-summary,
  .rc-builder-summary{
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .builder-summary-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .builder-summary .btn,
  .rc-builder-summary .btn,
  .builder-summary-actions .btn{
    width:100% !important;
    min-height:46px !important;
    margin:0 !important;
  }

  /* Builder mode cards */
  .builder-mode-grid{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .builder-mode-card{
    width:100% !important;
    min-height:0 !important;
    padding:14px !important;
  }

  .builder-mode-card strong{
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .builder-mode-card p{
    font-size:12px !important;
    line-height:1.5 !important;
  }
}

@media (max-width:390px){
  .mobile-bottom button[data-route="saved"] span{
    font-size:7.5px !important;
  }

  .rc-steps > div,
  .rc-steps > button{
    font-size:10.5px !important;
  }
}

/* MEDSUR MARKED BUILDER MOBILE V4 */

.rc-saved-layout{
  display:grid;
  gap:16px;
}

.rc-saved-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.rc-saved-section-head h2{
  margin:0 0 5px;
}

.rc-saved-section-head p{
  margin:0;
  color:var(--mut);
  font-size:13px;
  line-height:1.5;
}

.rc-saved-list,
.rc-marked-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.rc-saved-empty{
  padding:16px;
  border:1px dashed var(--bd);
  border-radius:12px;
  color:var(--mut);
  background:var(--soft);
  font-size:13px;
  line-height:1.5;
}

.rc-marked-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.rc-marked-row{
  align-items:center;
  justify-content:space-between;
}

@media(max-width:767px){

  .builder-shell{
    overflow:hidden!important;
  }

  .builder-shell>.menu-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
  }

  .builder-shell>.menu-head h2{
    width:100%!important;
    margin:0!important;
  }

  .rc-builder-lead{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    line-height:1.5!important;
  }

  /* 4 алхмыг mobile дээр 2 x 2 цэвэр card болгоно */
  .rc-steps{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:14px 0 18px!important;
  }

  .rc-steps::before,
  .rc-steps::after{
    display:none!important;
  }

  .rc-steps li{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;

    min-width:0!important;
    min-height:52px!important;

    padding:9px 10px!important;

    border:1px solid var(--bd)!important;
    border-radius:12px!important;

    text-align:left!important;
    background:var(--card)!important;
  }

  .rc-steps li strong{
    flex:0 0 28px!important;

    width:28px!important;
    height:28px!important;

    box-shadow:none!important;
  }

  .rc-steps li span{
    min-width:0!important;
    max-width:none!important;

    font-size:11px!important;
    line-height:1.3!important;

    text-align:left!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .rc-builder-search{
    width:100%!important;
    max-width:none!important;
    margin:12px 0!important;
  }

  .builder-shell>label{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;

    width:100%!important;
    min-width:0!important;

    margin:10px 0!important;

    font-size:12px!important;
    font-weight:700!important;
  }

  .builder-shell>label select,
  #rcCollection,
  #rcTopic,
  #rcType{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;

    height:48px!important;
  }

  #rcBanks{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #rcQuestionList{
    width:100%!important;
    min-width:0!important;
  }

  #rcQuestionList .menu-item{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;

    width:100%!important;
    min-width:0!important;
  }

  #rcQuestionList .menu-item>span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  #rcSelectAll{
    width:100%!important;
    min-height:48px!important;
  }

  #rcPager{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;

    width:100%!important;
    gap:8px!important;

    margin:12px 0!important;
  }

  #rcPager .btn{
    flex:1 1 120px!important;
    min-height:44px!important;
  }

  /* Screenshot дээрх том хоосон summary-г арилгана */
  .rc-builder-summary{
    position:static!important;

    display:grid!important;
    grid-template-columns:1fr!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    gap:10px!important;

    margin:14px 0 0!important;
    padding:14px!important;

    overflow:hidden!important;
  }

  .rc-builder-summary>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    margin-left:0!important;
    margin-right:0!important;
  }

  .rc-builder-summary label{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;

    width:100%!important;

    gap:6px!important;
  }

  #rcMode,
  #rcDuration,
  #rcUnit{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;

    height:46px!important;
  }

  #rcBuilderStart,
  #rcBuilderSave{
    width:100%!important;
    min-height:46px!important;
  }

  .rc-mode-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;

    width:100%!important;

    gap:6px!important;
  }

  .rc-mode-head h2{
    width:100%!important;
    margin-bottom:0!important;
  }

  .rc-mode-head .rc-mode-intro{
    width:100%!important;
    max-width:100%!important;

    margin:2px 0 0!important;

    line-height:1.5!important;
  }

  .rc-saved-layout{
    gap:12px;
  }

  .rc-saved-panel{
    padding:15px!important;
  }

  .rc-saved-section-head{
    flex-direction:column!important;
    align-items:stretch!important;

    gap:10px!important;
  }

  .rc-saved-section-head .btn{
    width:100%!important;
  }

  .rc-marked-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .rc-marked-actions .btn{
    width:100%!important;
  }

  .rc-marked-row{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  .rc-marked-row>.btn{
    width:100%!important;
  }
}

/* MEDSUR MOBILE POLISH V5 NO MESSENGER */
@media(max-width:767px){

  /* Builder search: label -> input -> helper */
  .rc-builder-search{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:7px!important;
    width:100%!important;
    max-width:none!important;
    padding:12px!important;
  }

  .rc-builder-search>label{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.35!important;
  }

  .rc-builder-search .rc-search-box{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
    gap:8px!important;
  }

  .rc-builder-search .rc-search-box input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    font-size:16px!important;
  }

  .rc-builder-search>small{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:var(--mut)!important;
    font-size:11px!important;
    line-height:1.45!important;
  }

  /* Builder summary */
  .rc-builder-summary{
    margin-bottom:20px!important;
  }

  /* Long saved-exam label in mobile bottom nav */
  .mobile-bottom button[data-route="saved"]{
    padding-left:2px!important;
    padding-right:2px!important;
  }

  .mobile-bottom button[data-route="saved"] span{
    display:block!important;
    width:100%!important;
    max-width:76px!important;
    margin:auto!important;
    font-size:8px!important;
    line-height:1.15!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
  }
}


/* MEDSUR MOBILE NAVIGATOR V6B */

.rc-mobile-nav-toggle,
.rc-mobile-nav-backdrop,
.rc-mobile-nav-close{
  display:none;
}

@media(max-width:767px){

  body.rc-mobile-nav-open{
    overflow:hidden!important;
  }

  body.rc-exam-mode .navigator{
    position:fixed!important;
    top:0!important;
    right:-360px!important;
    bottom:0!important;
    left:auto!important;

    width:min(330px,88vw)!important;
    max-width:88vw!important;
    height:100dvh!important;

    overflow-y:auto!important;

    padding:18px 14px 100px!important;

    border-radius:18px 0 0 18px!important;

    z-index:9190!important;

    transition:right .2s ease!important;
  }

  body.rc-mobile-nav-open .navigator{
    right:0!important;
  }

  .rc-mobile-nav-toggle{
    display:inline-flex;

    position:fixed;
    right:14px;
    bottom:88px;

    z-index:9170;

    min-height:40px;
    width:auto;

    align-items:center;
    justify-content:center;

    padding:0 13px;

    border:1px solid var(--bd);
    border-radius:999px;

    background:var(--card);
    color:var(--text);

    box-shadow:0 6px 20px rgba(15,23,42,.16);

    font-size:12px;
    font-weight:700;
  }

  body:not(.rc-exam-mode) .rc-mobile-nav-toggle{
    display:none!important;
  }

  .rc-mobile-nav-backdrop{
    display:block;

    position:fixed;
    inset:0;

    z-index:9180;

    border:0;
    padding:0;

    background:rgba(15,23,42,.42);

    opacity:0;
    pointer-events:none;

    transition:opacity .18s ease;
  }

  body.rc-mobile-nav-open .rc-mobile-nav-backdrop{
    opacity:1;
    pointer-events:auto;
  }

  .rc-mobile-nav-close{
    display:grid;

    position:absolute;
    top:12px;
    right:12px;

    z-index:3;

    width:36px;
    height:36px;

    place-items:center;

    padding:0;

    border:1px solid var(--bd);
    border-radius:10px;

    background:var(--card);
    color:var(--text);

    font-size:24px;
    line-height:1;
  }

  .navigator>h3{
    padding-right:44px;
  }

  .nav-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  .nav-num{
    min-width:0!important;
    min-height:42px!important;
    padding:6px 2px!important;
    font-size:12px!important;
  }
}

@media(min-width:768px){
  .rc-mobile-nav-toggle,
  .rc-mobile-nav-backdrop,
  .rc-mobile-nav-close{
    display:none!important;
  }
}


/* MEDSUR NAV STATUS COLORS V7 */

.nav-num.rc-nav-correct{
  background:rgba(34,197,94,.18)!important;
  border-color:#22c55e!important;
  color:var(--text)!important;
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.28)!important;
}

.nav-num.rc-nav-wrong{
  background:rgba(239,68,68,.17)!important;
  border-color:#ef4444!important;
  color:var(--text)!important;
  box-shadow:inset 0 0 0 1px rgba(239,68,68,.25)!important;
}

.nav-num.rc-nav-unanswered{
  background:var(--soft)!important;
  border-color:var(--bd)!important;
  color:var(--mut)!important;
  box-shadow:none!important;
}

/*
  Flag is an extra marker.
  It must never replace correct / wrong / unanswered colour.
*/
.nav-num.rc-nav-correct.flagged,
.nav-num.rc-nav-wrong.flagged,
.nav-num.rc-nav-unanswered.flagged{
  position:relative!important;
}

.nav-num.rc-nav-correct.flagged{
  background:rgba(34,197,94,.18)!important;
  border-color:#22c55e!important;
  color:var(--text)!important;
}

.nav-num.rc-nav-wrong.flagged{
  background:rgba(239,68,68,.17)!important;
  border-color:#ef4444!important;
  color:var(--text)!important;
}

.nav-num.rc-nav-unanswered.flagged{
  background:var(--soft)!important;
  border-color:var(--bd)!important;
  color:var(--mut)!important;
}

.nav-num.rc-nav-correct.flagged::after,
.nav-num.rc-nav-wrong.flagged::after,
.nav-num.rc-nav-unanswered.flagged::after{
  content:'';
  position:absolute;

  top:3px;
  right:3px;

  width:7px;
  height:7px;

  border-radius:50%;

  background:#f59e0b;

  box-shadow:
    0 0 0 2px var(--card);
}


/* MEDSUR MODE CARD POLISH V8B */

.builder-mode-card{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 20px!important;
  align-items:center!important;
  justify-content:stretch!important;

  width:100%!important;
  min-height:104px!important;

  gap:14px!important;
  padding:16px 18px!important;

  text-align:left!important;
}

.builder-mode-card .rc-mode-icon{
  display:grid!important;
  width:44px!important;
  height:44px!important;
  place-items:center!important;

  border-radius:12px!important;

  background:
    color-mix(in srgb,var(--p) 10%,var(--card))!important;

  color:var(--p)!important;
}

.builder-mode-card .rc-mode-icon .icon{
  width:22px!important;
  height:22px!important;
  color:inherit!important;
}

.builder-mode-card .rc-mode-copy{
  display:block!important;
  min-width:0!important;
  text-align:left!important;
  color:var(--text)!important;
}

.builder-mode-card .rc-mode-copy strong{
  display:block!important;
  margin:0 0 4px!important;

  color:var(--text)!important;

  font-size:16px!important;
  font-weight:750!important;
  line-height:1.35!important;

  overflow-wrap:anywhere!important;
}

.builder-mode-card .rc-mode-desc{
  display:block!important;
  margin:0!important;

  color:var(--mut)!important;

  font-size:13px!important;
  font-weight:400!important;
  line-height:1.5!important;

  overflow-wrap:anywhere!important;
}

.builder-mode-card .rc-mode-chevron{
  width:20px!important;
  height:20px!important;

  justify-self:end!important;

  color:var(--mut)!important;
}

.builder-mode-card:hover .rc-mode-chevron{
  transform:translateX(2px);
  color:var(--p)!important;
}

.builder-mode-card.rc-mode-card-featured .rc-mode-icon{
  background:var(--p)!important;
  color:#fff!important;
}

.builder-mode-card.rc-mode-card-featured .rc-mode-chevron{
  color:var(--p)!important;
}

.rc-mode-head h2{
  font-weight:800!important;
  line-height:1.22!important;
}

.rc-mode-head .rc-mode-intro{
  margin-top:8px!important;
  color:var(--mut)!important;

  font-size:14px!important;
  line-height:1.55!important;
}

@media(max-width:767px){

  .builder-mode-grid{
    gap:10px!important;
  }

  .builder-mode-card{
    grid-template-columns:40px minmax(0,1fr) 18px!important;

    min-height:86px!important;

    gap:11px!important;
    padding:13px 14px!important;
  }

  .builder-mode-card .rc-mode-icon{
    width:40px!important;
    height:40px!important;
    border-radius:11px!important;
  }

  .builder-mode-card .rc-mode-icon .icon{
    width:20px!important;
    height:20px!important;
  }

  .builder-mode-card .rc-mode-copy strong{
    margin-bottom:3px!important;
    font-size:14.5px!important;
    line-height:1.35!important;
  }

  .builder-mode-card .rc-mode-desc{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .builder-mode-card .rc-mode-chevron{
    width:18px!important;
    height:18px!important;
  }

  .rc-mode-head{
    gap:5px!important;
  }

  .rc-mode-head h2{
    width:100%!important;
    font-size:21px!important;
    line-height:1.22!important;
  }

  .rc-mode-head .rc-mode-intro{
    width:100%!important;
    margin-top:5px!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
}

@media(max-width:390px){

  .builder-mode-card{
    grid-template-columns:38px minmax(0,1fr) 17px!important;
    gap:9px!important;
    padding:12px!important;
  }

  .builder-mode-card .rc-mode-icon{
    width:38px!important;
    height:38px!important;
  }

  .builder-mode-card .rc-mode-copy strong{
    font-size:14px!important;
  }

  .builder-mode-card .rc-mode-desc{
    font-size:11.5px!important;
  }
}

/* MEDSUR DESKTOP MODE TYPOGRAPHY V10 */

@media(min-width:1024px){

  .rc-mode-head,
  #rcModes,
  #rcModes .builder-mode-card{
    font-family:
      system-ui,
      -apple-system,
      "Segoe UI",
      "Noto Sans",
      Roboto,
      Arial,
      sans-serif!important;

    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
  }

  .rc-mode-head{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;

    column-gap:16px!important;
    row-gap:8px!important;

    margin-bottom:24px!important;
  }

  .rc-mode-head h2{
    margin:0!important;

    font-size:27px!important;
    font-weight:700!important;
    line-height:1.25!important;

    letter-spacing:-0.015em!important;
  }

  .rc-mode-head .rc-mode-intro{
    flex-basis:100%!important;

    max-width:820px!important;
    margin:2px 0 0!important;

    font-size:14px!important;
    font-weight:400!important;
    line-height:1.6!important;

    letter-spacing:0!important;
  }

  #rcModes.builder-mode-grid{
    display:grid!important;

    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;

    gap:14px!important;
  }

  #rcModes .builder-mode-card{
    min-height:112px!important;

    padding:18px 20px!important;

    gap:15px!important;
  }

  #rcModes .builder-mode-card .rc-mode-copy strong{
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.35!important;

    letter-spacing:-0.008em!important;
  }

  #rcModes .builder-mode-card .rc-mode-desc{
    margin-top:2px!important;

    font-size:13px!important;
    font-weight:400!important;
    line-height:1.55!important;

    letter-spacing:0!important;
  }
}

/* MEDSUR DESKTOP NAVIGATOR VIEWPORT V8 */
@media (min-width:768px){
  body.rc-exam-mode .navigator{
    position:sticky!important;
    top:16px!important;
    align-self:flex-start!important;

    display:flex!important;
    flex-direction:column!important;

    max-height:calc(100vh - 32px)!important;
    max-height:calc(100dvh - 32px)!important;

    overflow:hidden!important;
  }

  body.rc-exam-mode .navigator .nav-grid{
    flex:1 1 auto!important;
    min-height:0!important;

    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;

    padding-right:4px;
  }

  body.rc-exam-mode .navigator>h3,
  body.rc-exam-mode .navigator .legend,
  body.rc-exam-mode .navigator .rc-nav-timer,
  body.rc-exam-mode .navigator .rc-exam-actions{
    flex:0 0 auto;
  }
}
/* MEDSUR PER-EXAM PROGRESS V1 */
.rc-mode-progress{
  margin:0 0 16px;
}

.rc-mode-progress strong{
  display:block;
  margin-bottom:4px;
}

.rc-mode-progress .meta{
  margin:4px 0;
}

.rc-mode-progress-delta{
  margin:6px 0 0;
  font-weight:700;
}
