﻿
:root{
  --bg:#f3f4f6; --card:#fff; --text:#102a43; --muted:#243555; --border:#d7dce3;
  --brand:#2563eb; --brand-soft:#eff6ff; --danger:#dc2626; --danger-soft:#fff1f2;
  --warn:#ea580c; --warn-soft:#fff7ed; --green:#16a34a; --green-soft:#f0fdf4;
  --domain-emergency:#275b8a; --domain-emergency-soft:#eef5fb;
  --domain-cardio:#d44d5c; --domain-cardio-soft:#fff1f2;
  --domain-resp:#0f8a8d; --domain-resp-soft:#ecfeff;
  --domain-neuro:#7c58c8; --domain-neuro-soft:#f5f3ff;
  --domain-gastro:#a86a1f; --domain-gastro-soft:#fff7ed;
  --domain-infection:#c2410c; --domain-infection-soft:#fff7ed;
  --domain-metabolic:#2563eb; --domain-metabolic-soft:#eff6ff;
  --domain-neonatal:#d97706; --domain-neonatal-soft:#fffbeb;
  --domain-trauma:#b45309; --domain-trauma-soft:#fff7ed;
  --domain-immune:#8b5cf6; --domain-immune-soft:#f5f3ff;
  --domain-hemeonc:#c026d3; --domain-hemeonc-soft:#fdf4ff;
  --domain-toxic:#475569; --domain-toxic-soft:#f8fafc;
  --shadow:0 8px 24px rgba(0,0,0,.08); --shadow-soft:0 2px 10px rgba(15,39,68,.06);
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --radius-sm:12px; --radius-md:16px; --radius-lg:20px; --radius-xl:22px; --tap-scale:.97;
  --pem-shell-max-width:1360px;
}

/* === PEMGuide V4_F3_8_15: professional density + DiagnoseFinder flow === */
:root{
  --pem-clinical-gap:10px;
  --pem-clinical-card-radius:16px;
  --pem-clinical-card-pad:clamp(10px,1.2vw,14px);
}

@media (min-width:1180px){
  .app-shell{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* === V4_F6: desktop/tablet clinical app shell and readable accordions === */
.rot-step-accordion > summary::after,
.rot-complaint-group > summary::after,
.rot-result-accordion > summary::after,
.rot-training-section > summary::after,
.guideline-library-group__head::after,
.guideline-accordion-head::after,
.guideline-content-subaccordion-head::after,
.guideline-age-accordion-head::after,
.opeg-flow-phase summary::after,
.opeg-quick-step > summary::after,
.symptom-group--accordion .symptom-group-head::after{
  content:"\25B2"!important;
}

.rot-step-accordion:not([open]) > summary::after,
.rot-complaint-group:not([open]) > summary::after,
.rot-result-accordion:not([open]) > summary::after,
.rot-training-section:not([open]) > summary::after,
.guideline-library-group:not([open]) .guideline-library-group__head::after,
.guideline-accordion:not([open]) .guideline-accordion-head::after,
.guideline-content-subaccordion:not([open]) .guideline-content-subaccordion-head::after,
.guideline-age-accordion:not([open]) .guideline-age-accordion-head::after,
.opeg-flow-phase:not([open]) summary::after,
.opeg-quick-step:not([open]) > summary::after,
.symptom-group--accordion:not([open]) .symptom-group-head::after{
  content:"\25BC"!important;
}

.guideline-library-item__arrow::before{
  content:"\203A"!important;
}

body.route-finder-hub .finder-accordion-panel{
  overflow:hidden!important;
  border:1px solid #c8d8ec!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,39,68,.06)!important;
}

body.route-finder-hub .finder-accordion-summary{
  width:100%!important;
  min-height:56px!important;
  padding:11px 14px!important;
  border:0!important;
  background:#f8fbff!important;
  color:#061f3b!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 28px!important;
  align-items:center!important;
  gap:10px!important;
  text-align:left!important;
  box-shadow:none!important;
}

body.route-finder-hub .finder-accordion-summary span{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}

body.route-finder-hub .finder-accordion-summary em{
  color:#245089!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

body.route-finder-hub .finder-accordion-summary strong{
  color:#061f3b!important;
  font-size:1.06rem!important;
  font-weight:700!important;
  line-height:1.18!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

body.route-finder-hub .finder-accordion-summary b{
  min-width:26px!important;
  height:24px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef7ff!important;
  color:#075a9c!important;
  font-size:12px!important;
  font-weight:700!important;
}

body.route-finder-hub .finder-accordion-summary i{
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#effaf3!important;
  border:1px solid #94d5a8!important;
  color:#167342!important;
}

body.route-finder-hub .finder-accordion-summary i::before{
  content:"\25BC";
  font-size:12px;
  font-style:normal;
  font-weight:720;
  line-height:1;
}

body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-summary i{
  background:#fff3f3!important;
  border-color:#f3b4b4!important;
  color:#c60000!important;
}

body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-summary i::before{
  content:"\25B2";
}

body.route-finder-hub .finder-accordion-body{
  padding:12px!important;
}

body.route-finder-hub .finder-accordion-body[hidden]{
  display:none!important;
}

@media (min-width:901px){
  :root{
    --pem-shell-max-width:1240px;
  }

  body{
    background:#f3f6fa!important;
  }

  .app-shell{
    width:min(100%, var(--pem-shell-max-width))!important;
    max-width:var(--pem-shell-max-width)!important;
    padding:10px 14px 28px!important;
  }

  .app-header{
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    padding:8px 0 10px!important;
    background:rgba(243,246,250,.96)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:blur(14px)!important;
  }

  .app-header__top{
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    margin-bottom:8px!important;
  }

  .app-logo{
    font-size:20px!important;
    line-height:1.1!important;
  }

  .app-subtitle{
    margin-top:3px!important;
    color:#163758!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  .header-controls{
    gap:8px!important;
  }

  .font-btn,
  .lang-btn{
    min-height:36px!important;
    min-width:42px!important;
    padding:7px 10px!important;
    border-radius:12px!important;
    color:#061f3b!important;
    background:#fff!important;
  }

  .nav-row{
    display:grid!important;
    grid-template-columns:auto auto auto auto auto auto minmax(260px,1fr)!important;
    gap:8px!important;
    align-items:center!important;
    margin:0!important;
  }

  .nav-row .nav-btn{
    min-height:40px!important;
    padding:8px 12px!important;
    border-radius:12px!important;
    font-size:13px!important;
    font-weight:700!important;
    color:#06365f!important;
    background:#eef7ff!important;
    box-shadow:none!important;
  }

  .nav-row .nav-btn.active{
    background:#eaf8ef!important;
    border-color:#86d5a2!important;
  }

  .nav-row .nav-actions{
    display:flex!important;
    gap:6px!important;
  }

  .nav-row .nav-actions .nav-btn{
    min-width:40px!important;
    padding:8px!important;
  }

  .nav-search-slot{
    margin:0!important;
  }

  #globalSearch{
    min-height:42px!important;
    border-radius:13px!important;
    color:#061f3b!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .breadcrumb{
    margin:8px 0 0!important;
    color:#163758!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  .route-action-bar{
    margin-top:8px!important;
  }

  .app-main{
    max-width:100%!important;
  }

  #content{
    display:block!important;
  }

  body.route-home .home-clinical-hero,
  body.route-home .home-quickstart-card,
  body.route-home .home-workflow-panel,
  body.route-home .home-scenario-panel,
  body.route-home .quick-access-home--clinical,
  .guideline-browser-hero,
  .guideline-browser-shell,
  .content-block,
  .v7-panel,
  .v7-card,
  .v7-detail-card{
    border-radius:14px!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  body.route-home .home-clinical-hero{
    padding:18px 20px!important;
    margin-bottom:12px!important;
  }

  body.route-home .home-clinical-kicker{
    display:inline-flex!important;
    margin-bottom:8px!important;
  }

  html body.route-home #content h1.home-clinical-title,
  body.route-home #content .home-clinical-title,
  body.route-home .home-clinical-title{
    font-size:1.45rem!important;
    line-height:1.18!important;
    margin:0!important;
  }

  body.route-home .home-alert-strip{
    margin-top:14px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
  }

  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body.route-home .home-quickstart-card{
    min-height:0!important;
    padding:14px!important;
    display:grid!important;
    gap:10px!important;
    border-left:5px solid #b9d7f4!important;
  }

  body.route-home .home-quickstart-main,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training):not(.home-dose-rechner-card){
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    gap:10px!important;
    align-items:center!important;
    padding:0!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    width:36px!important;
    height:36px!important;
    border-radius:11px!important;
    grid-row:1 / span 3!important;
  }

  body.route-home .home-quickstart-main::after,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
    grid-column:3!important;
    grid-row:1 / span 3!important;
    font-size:22px!important;
  }

  body.route-home .home-quickstart-card h2{
    font-size:1.05rem!important;
    line-height:1.2!important;
  }

  body.route-home .home-quickstart-card p{
    font-size:.9rem!important;
    line-height:1.35!important;
  }

  body.route-home .home-quickstart-training-box{
    margin:0!important;
    padding:10px!important;
    border-radius:12px!important;
    background:#fff8f8!important;
  }

  body.route-home .home-dual-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }

  body.route-home .quick-access-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.route-finder-hub .v7-panel.pem-f2-hub{
    padding:12px!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .pem-icon-card-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
    gap:9px!important;
  }

  body.route-finder-hub .pem-ctx-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:9px!important;
  }

  body.route-finder-hub .pem-icon-card,
  body.route-finder-hub .pem-ctx-chip{
    min-height:84px!important;
    border-radius:12px!important;
    padding:12px!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .age-chip{
    min-height:44px!important;
    padding:9px 11px!important;
    border-radius:12px!important;
  }

  body.route-finder-hub .age-chip strong,
  body.route-finder-hub .age-chip span{
    display:inline!important;
  }

  body.route-finder-hub .age-chip span::before{content:" (";}
  body.route-finder-hub .age-chip span::after{content:")";}

  .rot-layout{
    gap:14px!important;
    grid-template-columns:minmax(0,1fr) minmax(340px,400px)!important;
  }

  .rot-workspace .rot-result{
    top:112px!important;
    max-height:calc(100vh - 126px)!important;
  }

  .rot-step-accordion,
  .rot-mapper-section,
  .rot-discriminator-section,
  .rot-training-link-card{
    border-radius:14px!important;
    box-shadow:none!important;
  }

  .scroll-top-btn{
    width:44px!important;
    height:44px!important;
    right:22px!important;
    bottom:22px!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .app-shell{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .nav-row{
    grid-template-columns:repeat(5,auto) auto!important;
  }

  .nav-search-slot{
    grid-column:1 / -1!important;
  }

  body.route-home .home-quickstart-grid,
  body.route-home .home-dual-grid,
  body.route-home .quick-access-grid{
    grid-template-columns:1fr!important;
  }

  .rot-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .rot-workspace .rot-result{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
  }
}

/* === V4_F6_1: desktop home cards use stable list-card layout, no pseudo grid traps === */
@media (min-width:901px){
  body.route-home .home-quickstart-card,
  body.route-home .home-quickstart-main,
  body.route-home .home-dose-rechner-main,
  body.route-home .home-quickstart-main-box,
  body.route-home .home-dose-rechner-card{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    align-items:initial!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-card{
    position:relative!important;
    padding:14px 48px 14px 16px!important;
  }

  body.route-home .home-quickstart-card--with-training{
    padding:12px!important;
  }

  body.route-home .home-quickstart-card--with-training .home-quickstart-main-box{
    margin:0!important;
  }

  body.route-home .home-quickstart-main{
    position:relative!important;
    padding:14px 48px 14px 16px!important;
    border:1px solid #d4e1f0!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    display:none!important;
    content:none!important;
  }

  body.route-home .home-quickstart-main::after,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    grid-column:auto!important;
    grid-row:auto!important;
    transform:translateY(-50%)!important;
    font-size:22px!important;
    line-height:1!important;
    color:#174f84!important;
  }

  body.route-home .home-quickstart-label,
  body.route-home .home-quickstart-card h2,
  body.route-home .home-quickstart-card p{
    display:block!important;
    grid-column:auto!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }

  body.route-home .home-quickstart-label{
    margin:0 0 6px!important;
  }

  body.route-home .home-quickstart-card h2{
    margin:0 0 6px!important;
  }

  body.route-home .home-quickstart-card p{
    margin:0!important;
  }

  body.route-home .home-quickstart-training-box{
    display:block!important;
    grid-template-columns:none!important;
    margin-top:10px!important;
  }

  body.route-home .home-quickstart-training-btn{
    width:auto!important;
    min-width:220px!important;
  }
}

.section-stack,
.card-grid,
.strong-list,
.selected-list,
.quick-pattern-sections,
.accordion-list,
.dx-result-accordion-list,
.guideline-accordion-list,
.symptom-group-wrap--accordion{
  gap:var(--pem-clinical-gap)!important;
}

.content-block,
.guide-box,
.diagnose-card,
.finder-shell,
.finder-stage,
.triage-block,
.v7-panel,
.v7-card,
.v7-detail-card,
.tool-card{
  border-radius:var(--pem-clinical-card-radius)!important;
  padding:var(--pem-clinical-card-pad)!important;
  margin-bottom:10px!important;
}

.finder-stage,
.v7-panel.pem-f2-hub,
.pem-level-panel,
.guideline-detail-view,
.opeg-detail-view{
  min-height:0!important;
}

.v7-panel.pem-f2-hub{
  display:grid!important;
  gap:10px!important;
}

.pem-f2-hub > .v7-kicker,
.pem-f2-hub > h2,
.pem-f2-hub > p.v7-muted{
  display:none!important;
}

.pem-f2-hub .hub-selected-zone,
.finder-stage .top-fixed-zone.floating-selected-zone{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.pem-f2-hub .hub-selected-box{
  padding:10px 12px!important;
  border-radius:15px!important;
  box-shadow:0 4px 14px rgba(15,39,68,.07)!important;
}

.pem-f2-hub .hub-selected-box__top{
  min-height:34px!important;
}

.pem-f2-hub .hub-selected-box__content{
  max-height:min(28vh, 210px)!important;
  overflow:auto!important;
}

.pem-f2-hub .hub-selected-box .compact-selected-chips{
  max-height:150px!important;
  overflow:auto!important;
  padding-right:2px!important;
}

.pem-f2-hub .hub-sticky-actions,
.finder-stage .action-row--stickyish{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  margin:6px 0 0!important;
  padding:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.pem-f2-hub .hub-sticky-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
}

.pem-f2-hub .hub-sticky-actions .action-button{
  min-width:0!important;
  min-height:42px!important;
  border-radius:14px!important;
  padding:9px 12px!important;
}

.age-selector-panel{
  margin:0!important;
  padding:10px!important;
  border-radius:15px!important;
  box-shadow:0 4px 14px rgba(15,39,68,.05)!important;
}

.age-selector-title{
  margin-bottom:8px!important;
}

.age-group-bar{
  gap:8px!important;
}

.age-chip{
  min-height:50px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
}

.pem-level-panel{
  padding:12px!important;
  border-radius:16px!important;
}

.pem-level-panel h2,
.content-block h2,
.guide-box h2,
.diagnose-card h2{
  margin-top:0!important;
  margin-bottom:8px!important;
}

.pem-icon-card-grid,
.pem-core-grid,
.symptom-grid,
.symptom-group--accordion .symptom-group-body{
  gap:8px!important;
}

.pem-icon-card,
.pem-core-symptom-card,
.symptom-card,
.search-pool-item{
  border-radius:14px!important;
  padding:11px 12px!important;
  min-height:58px!important;
}

.critical-dx-popup-card{
  max-width:min(520px, calc(100vw - 24px))!important;
}

@media (max-width:760px){
  :root{
    --pem-clinical-gap:8px;
    --pem-clinical-card-radius:14px;
    --pem-clinical-card-pad:10px;
  }

  .app-shell{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .v7-panel.pem-f2-hub{
    gap:8px!important;
  }

  .pem-f2-hub .hub-sticky-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }

  .pem-f2-hub .hub-sticky-actions .action-button{
    min-height:40px!important;
    padding:8px 9px!important;
    font-size:.9rem!important;
    white-space:normal!important;
  }

  .age-selector-panel{
    padding:9px!important;
  }

  .age-group-bar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .age-chip{
    min-width:0!important;
    width:100%!important;
    min-height:46px!important;
  }

  .pem-level-panel{
    padding:10px!important;
  }

  .pem-icon-card,
  .pem-core-symptom-card,
  .symptom-card,
  .search-pool-item{
    min-height:52px!important;
  }
}

@media (max-width:430px){
  .pem-f2-hub .hub-selected-box__top{
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:6px!important;
  }

  .pem-f2-hub .hub-selected-box__top strong{
    font-size:10.5px!important;
  }

  .pem-f2-hub .hub-selected-box__preview{
    font-size:10.5px!important;
  }

  .pem-f2-hub .hub-sticky-actions{
    grid-template-columns:1fr!important;
  }
}

/* Desktop/tablet Finder must use the normal action bar, not the mobile selected dock. */
@media (min-width:701px){
  body.route-finder-results .mobile-selected-dock{
    display:none!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock{
    padding-top:0!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock .top-fixed-zone.floating-selected-zone{
    display:block!important;
    position:relative!important;
    top:auto!important;
    margin:0!important;
    padding:0!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock .action-row.action-row--stickyish{
    display:flex!important;
    position:relative!important;
    top:auto!important;
    margin:8px 0 0!important;
    padding:0!important;
    gap:8px!important;
    background:transparent!important;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
.app-shell{width:min(100%, var(--pem-shell-max-width));max-width:var(--pem-shell-max-width);margin:0 auto;padding:12px 12px calc(24px + env(safe-area-inset-bottom))}
.app-header{position:sticky;top:0;z-index:20;background:var(--bg);padding-bottom:8px}
.app-header__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.app-logo-wrap{display:flex;align-items:center;gap:12px}
.app-logo-icon{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow)}
.app-subtitle{font-size:13px;color:var(--muted);margin-top:4px}
.lang-switch,.nav-actions{display:flex;gap:8px;align-items:center}
.lang-btn,.nav-btn,.ghost-btn,.chip,.finder-top-chip,.category-chip,.age-chip,.symptom-card,.search-pool-item,.selected-chip,.quick-pattern-btn,.accordion-head,.action-button{cursor:pointer}
button,input,select,textarea{font:inherit}
.lang-btn,.nav-btn,.ghost-btn,.chip,.finder-top-chip,.category-chip,.age-chip,.symptom-card,.search-pool-item,.selected-chip,.quick-pattern-btn,.accordion-head,.action-button,.v7-chip,.v7-primary-btn,.v7-secondary-btn,.v7-module-card,.v7-pattern-card,.v7-filter-chip,.v7-tiny-btn{min-height:44px;transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease}
button:active,.chip:active,.finder-top-chip:active,.category-chip:active,.age-chip:active,.symptom-card:active,.search-pool-item:active,.selected-chip:active,.quick-pattern-btn:active,.action-button:active,.v7-chip:active,.v7-primary-btn:active,.v7-secondary-btn:active,.v7-module-card:active,.v7-pattern-card:active,.v7-filter-chip:active,.v7-tiny-btn:active{transform:scale(var(--tap-scale))}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible,.finder-top-chip:focus-visible,.category-chip:focus-visible,.age-chip:focus-visible,.symptom-card:focus-visible,.search-pool-item:focus-visible,.selected-chip:focus-visible,.quick-pattern-btn:focus-visible,.action-button:focus-visible,.v7-chip:focus-visible,.v7-primary-btn:focus-visible,.v7-secondary-btn:focus-visible,.v7-module-card:focus-visible,.v7-pattern-card:focus-visible,.v7-filter-chip:focus-visible,.v7-tiny-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.18), var(--shadow-soft)}
.lang-btn,.nav-btn,.ghost-btn{border:none;background:#fff;padding:9px 12px;border-radius:10px;box-shadow:var(--shadow)}
.nav-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
#navHome,#navTriage,#navFinder,#navSymptoms{background:#eaf4ff;border:1px solid #c9def6;color:#0f2744}
#navHome.active,#navTriage.active,#navFinder.active,#navSymptoms.active{background:#e8f8e8;border:1px solid #b9dfb9;color:#0f2744}
#navFinder{
  background:
    radial-gradient(circle at 16% 20%, rgba(48,115,82,.22), transparent 30%),
    linear-gradient(135deg,#effaf2 0%,#e8f4ff 58%,#fff7ec 100%)!important;
  border-color:#87b89b!important;
  color:#093657!important;
  font-weight:850!important;
}
#navFinder::before{
  content:'\1F3AF';
  margin-right:6px;
  font-size:.96em;
  line-height:1;
}
#navFinder.active{
  background:
    radial-gradient(circle at 18% 20%, rgba(48,115,82,.30), transparent 32%),
    linear-gradient(135deg,#dff7e8 0%,#dceeff 58%,#fff1d9 100%)!important;
  border-color:#3f8c67!important;
  box-shadow:0 0 0 2px rgba(63,140,103,.15) inset, var(--shadow)!important;
}
.nav-btn.active{color:#0f2744}
.search-row{margin-bottom:10px}
#globalSearch,.finder-search input,.search-inline{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow);font-size:16px}
.breadcrumb{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:4px 0 10px}
.breadcrumb-item{cursor:pointer}
.app-main{padding-bottom:24px}
.hidden{display:none}
.page-title{font-size:20px;margin:0 0 8px}
.page-description,.diagnose-summary{color:var(--muted);line-height:1.45}
.card-grid{display:grid;gap:14px}
.card{border:none;text-align:left;border-radius:22px;padding:18px;background:var(--card);box-shadow:var(--shadow)}
.card--emergency{background:var(--danger-soft);border-left:6px solid var(--danger)}
.card--brand{background:var(--brand-soft);border-left:6px solid var(--brand)}
.card--info{background:#eef5fb;border-left:6px solid #275b8a}
.card--tools{background:var(--green-soft);border-left:6px solid var(--green)}
.card--warn{background:#f6ede4;border-left:6px solid var(--warn)}
.card__title{margin:0 0 8px;font-size:18px}
.card__desc{margin:0;color:#334155;line-height:1.4}
.section-stack{display:grid;gap:14px}
.content-block,.guide-box,.diagnose-card,.finder-shell,.finder-stage,.triage-block{background:#fff;border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.severity{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;border:1px solid}
.severity--critical{color:var(--danger);background:var(--danger-soft);border-color:#f4b4bc}
.severity--urgent{color:#a16207;background:#fff7ed;border-color:#f4c78c}
.severity--standard,.severity--monitor{color:#2563eb;background:var(--brand-soft);border-color:#a8c7ff}
.info-list{display:grid;gap:12px}
.info-item{padding:14px;border-radius:16px;background:#f8fafc}
.alert-box{padding:14px 16px;border-radius:16px;background:#fff7ed;border:1px solid #f2d2a0}
.critical-action{padding:14px 16px;border-radius:16px;background:var(--danger-soft);border:1px solid #f1b4bd;color:#b42318;line-height:1.5}
.action-row{display:flex;gap:10px;flex-wrap:wrap}
.action-button{border:none;background:#111827;color:#fff;border-radius:14px;padding:14px 18px;font-weight:700}
.action-button--secondary{background:#fff;color:#111827;border:1px solid var(--border)}
.start-hero{display:grid;gap:14px;margin-bottom:14px}
.finder-shell{display:grid;gap:14px}
.age-group-bar,.category-bar,.selected-top-bar,.finder-module-grid,.strong-list,.selected-list,.quick-pattern-sections,.accordion-list{display:grid;gap:10px}
.age-group-bar,.category-bar,.selected-top-bar{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto;padding-bottom:4px}
.age-chip,.category-chip,.finder-top-chip{border:none;background:#fff;padding:10px 14px;border-radius:999px;box-shadow:var(--shadow);white-space:nowrap}
.age-chip.active,.category-chip.active,.finder-top-chip.active{background:var(--brand-soft);outline:2px solid #94baf8}
.finder-search{position:relative}
.finder-search .icon{position:absolute;left:14px;top:13px;font-size:18px;color:#64748b}
.finder-search input{padding-left:44px}
.finder-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.symptom-card{border:1px solid #f0b8bf;background:#fff;border-radius:18px;padding:14px;position:relative;text-align:left;min-height:108px}
.symptom-card.active{background:#fff1f2;border-color:#ec9ba6}
.symptom-card .check{position:absolute;left:12px;top:12px;width:20px;height:20px;border-radius:50%;border:1px solid #bfc8d4;display:flex;align-items:center;justify-content:center;background:#fff;font-size:12px}
.symptom-card.active .check{background:#dc2626;color:#fff;border-color:#dc2626}
.symptom-card h3{margin:22px 0 6px;font-size:16px}
.symptom-card p{margin:0;color:#667085;font-size:13px;line-height:1.35}
.two-tone-box{display:grid;gap:12px}
.sub-box{border-radius:18px;padding:14px}
.sub-box.strong{background:#fff1f2}
.sub-box.selected{background:#eff6ff}
.strong-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.chip{border:none;background:#fff;border-radius:14px;padding:12px 14px;text-align:left}
.chip.active,.search-pool-item.active,.selected-chip.active{background:#ffe4e8;border:1px solid #f2b2bd}
.selected-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.selected-chip{border:none;background:#fff;border-radius:14px;padding:10px 12px;text-align:left}
.redflag-merged{background:#fff1f2;border:1px solid #f2b2bd;border-radius:18px;padding:16px}
.quick-pattern-section{background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.quick-pattern-section h3{margin:0 0 10px;font-size:16px}
.quick-patterns-grid{display:grid;gap:10px}
.quick-pattern-btn{border:none;background:#f8fafc;border-radius:14px;padding:12px;text-align:left}
.quick-pattern-btn strong{display:block;margin-bottom:6px}
.quick-pattern-btn span{display:block;color:#64748b;font-size:13px}
.symptom-group-wrap{display:grid;gap:10px}
.symptom-group{background:#fff;border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.symptom-group-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:4px 2px 10px}
.symptom-group-body{display:grid;gap:8px}
.search-pool-item{border:none;background:#f8fafc;border-radius:14px;padding:10px 12px;text-align:left}
.search-pool-item small,.muted-small{color:#667085}
.accordion-item{background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.accordion-head{width:100%;border:none;background:#fff;padding:16px;text-align:left;display:flex;justify-content:space-between;gap:12px}
.accordion-head-title{font-weight:700}
.accordion-body{padding:0 16px 16px;display:none}
.accordion-item.open .accordion-body{display:block}
.score-pill{background:#f3f4f6;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.search-results{display:grid;gap:10px}
.search-result{border:none;background:#fff;border-radius:18px;padding:14px;text-align:left;box-shadow:var(--shadow)}
.search-result-card{background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow);display:grid;gap:12px}
.search-result-copy h3{margin:0 0 6px}
.search-result-actions{display:flex;gap:8px;flex-wrap:wrap}
.search-result-action{border:none;background:#eef5ff;color:#0f2744;border:1px solid #c7dbfb;border-radius:999px;padding:8px 12px;font-weight:700;box-shadow:var(--shadow-soft)}
.search-result-action--primary{background:#e8f8e8;border-color:#b9dfb9}

/* V4_F35: global search opens as anchored popover instead of pushing page content */
.search-results{
  position:fixed!important;
  left:var(--search-popover-left, 16px)!important;
  top:var(--search-popover-top, 116px)!important;
  width:var(--search-popover-width, min(720px, calc(100vw - 24px)))!important;
  max-width:calc(100vw - 20px)!important;
  max-height:min(58vh, 520px)!important;
  overflow:auto!important;
  z-index:1288!important;
  padding:8px!important;
  border:1px solid #cfe0f2!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 18px 42px rgba(15,39,68,.18)!important;
  display:grid!important;
  gap:8px!important;
  overscroll-behavior:contain!important;
}
.search-results.hidden{
  display:none!important;
}
.search-results .content-block{
  margin:0!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.search-results .search-result-card{
  border:1px solid #d9e6f3!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.search-results .search-result-copy h3{
  font-size:.98rem!important;
  line-height:1.18!important;
}
.search-results .search-result-actions{
  gap:6px!important;
}
.search-results .search-result-action{
  min-height:32px!important;
  padding:6px 10px!important;
  font-size:.82rem!important;
}
@media(max-width:900px){
  .search-results{
    max-height:min(48vh, 420px)!important;
    border-radius:14px!important;
  }
}

/* V4_F37: shared accordion action must be visible on accordion-heavy pages */
body.route-guideline-browser .route-action-bar.visible,
body.route-guideline-detail .route-action-bar.visible,
body.route-finder-hub .route-action-bar.visible,
body.route-finder-results .route-action-bar.visible,
body.route-rot .route-action-bar.visible{
  display:flex!important;
}

/* V4_F38: ROT mobile accordion summary redesign */
@media(max-width:900px){
  body.route-rot .rot-flow{
    gap:10px!important;
  }
  body.route-rot .rot-step-accordion{
    border-radius:14px!important;
    box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
  }
  body.route-rot .rot-step-accordion > summary{
    grid-template-columns:38px minmax(0,1fr) 32px!important;
    gap:4px 10px!important;
    min-height:58px!important;
    padding:10px 12px!important;
    align-items:center!important;
  }
  body.route-rot .rot-step-accordion > summary .home-section-kicker{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    padding:0!important;
    border-radius:11px!important;
    background:#edf5ff!important;
    color:#0f4f85!important;
    font-size:0!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  body.route-rot .rot-age-panel > summary .home-section-kicker::before{content:"1";}
  body.route-rot .rot-context-panel > summary .home-section-kicker::before{content:"2";}
  body.route-rot .rot-time-panel > summary .home-section-kicker::before{content:"3";}
  body.route-rot .rot-gate-panel > summary .home-section-kicker::before{content:"4";}
  body.route-rot .rot-step-accordion > summary .home-section-kicker::before{
    font-size:.9rem!important;
    font-weight:850!important;
  }
  body.route-rot .rot-step-accordion > summary strong{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    margin:0!important;
    color:#061f3b!important;
    font-size:1rem!important;
    line-height:1.16!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  body.route-rot .rot-step-summary{
    grid-column:2!important;
    grid-row:2!important;
    min-width:0!important;
    margin-top:1px!important;
    color:#2a4766!important;
    font-size:.78rem!important;
    line-height:1.2!important;
    font-weight:650!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-rot .rot-step-accordion > summary::after{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:12px!important;
  }
  body.route-rot .rot-step-body{
    padding:10px 12px 12px!important;
  }
}

@media(max-width:430px){
  body.route-rot .rot-step-accordion > summary{
    grid-template-columns:36px minmax(0,1fr) 30px!important;
    gap:3px 8px!important;
    min-height:54px!important;
    padding:9px 10px!important;
  }
  body.route-rot .rot-step-accordion > summary .home-section-kicker{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
  body.route-rot .rot-step-accordion > summary strong{
    font-size:.94rem!important;
  }
  body.route-rot .rot-step-summary{
    font-size:.74rem!important;
  }
}
.diff-chip-row{display:flex;gap:8px;flex-wrap:wrap}
.diff-chip{border:none;background:#eff6ff;border-radius:999px;padding:9px 12px}
.menu-color-emergency{background:var(--danger-soft);border-left:6px solid var(--danger)}
.menu-color-priority{background:var(--brand-soft);border-left:6px solid #275b8a}
.menu-color-nonurgent{background:#f0fdf4;border-left:6px solid var(--green)}
.menu-color-actions{background:#fff7ed;border-left:6px solid var(--warn)}
@media (max-width:720px){
  .finder-module-grid,.strong-list,.selected-list{grid-template-columns:1fr 1fr}
}

.module-head-box{
  background:#eff6ff;
  border:1px solid #bfd6fb;
  border-radius:18px;
  padding:14px 16px;
  box-shadow:var(--shadow);
}
.module-head-label{
  font-size:12px;
  font-weight:700;
  color:#275b8a;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.module-head-title{
  margin:0;
  font-size:24px;
}
.top-fixed-zone{
  position:sticky;
  top:104px;
  z-index:12;
  display:grid;
  gap:10px;
}
.two-tone-box.compact{
  display:grid;
  gap:10px;
}
.action-row--stickyish{
  background:var(--bg);
  padding-bottom:2px;
}
.redflag-merged h2{
  margin-top:0;
}

.dx-accordion{background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.dx-accordion-head{padding:16px;border:none;background:#fff;text-align:left}
.dx-head-left{display:grid;gap:12px}
.dx-inline-severity{display:inline-flex;justify-self:start}
.dx-title-line{font-size:18px;font-weight:800;color:var(--text)}
.dx-accordion-body{padding:0 16px 16px}
.dx-accordion-body h4{margin:16px 0 8px;font-size:16px}
.dx-accordion .critical-action strong{display:block;margin-bottom:6px}

/* responsive fixes */
.selected-top-bar,
.category-bar,
.age-group-bar{
  scrollbar-width:thin;
}
.finder-top-chip,
.category-chip,
.age-chip{
  max-width:none;
  flex:0 0 auto;
}
.selected-list{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.strong-list{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.finder-module-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.symptom-card{
  min-height:120px;
  width:100%;
  overflow:hidden;
}
.symptom-card h3,
.symptom-card p{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.selected-chip,
.chip,
.search-pool-item{
  width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.two-tone-box,
.sub-box{
  overflow:visible;
}
.action-row{
  align-items:stretch;
}
.action-row .action-button{
  min-width:170px;
}
.top-fixed-zone{
  overflow:visible;
}
.results-stage-head{
  background:#eff6ff;
  border:1px solid #bfd6fb;
  border-radius:18px;
  padding:14px 16px;
  box-shadow:var(--shadow);
  margin-bottom:12px;
}
.results-stage-label{
  font-size:12px;
  font-weight:700;
  color:#275b8a;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:6px;
}
.finder-stage.results-mode .redflag-merged,
.finder-stage.results-mode .quick-pattern-sections,
.finder-stage.results-mode .two-tone-box,
.finder-stage.results-mode .action-row--stickyish,
.finder-stage.results-mode > .content-block{
  opacity:.72;
}
.finder-stage.results-mode #dxResults{
  border-top:3px solid #2563eb;
  padding-top:12px;
}
#dxResults{
  scroll-margin-top:120px;
}
@media (max-width:640px){
  .finder-module-grid{
    grid-template-columns:1fr;
  }
  .selected-list,
  .strong-list{
    grid-template-columns:1fr;
  }
  .action-row{
    flex-direction:row;
    flex-wrap:wrap;
  }
  .action-row .action-button{
    flex:1 1 220px;
  }
  .module-head-title{
    font-size:20px;
  }
}

.compact-selected-box{
  background:#eff6ff;
  border:1px solid #bfd6fb;
  border-radius:18px;
  padding:12px 14px;
  box-shadow:var(--shadow);
}
.compact-selected-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.compact-chip{
  width:auto;
}
.strong-grid{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.selected-top-bar,
.category-bar,
.age-group-bar{
  overflow:visible;
}
.dx-accordion-body ul{
  padding-left:20px;
}
.diff-chip{
  border:none;
  background:#eef2f7;
  border-radius:999px;
  padding:9px 12px;
}
@media (max-width:900px){
  .age-group-bar,
  .category-bar,
  .selected-top-bar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
}
@media (max-width:768px){
  .top-fixed-zone{
    position:static;
    display:grid;
    gap:10px;
  }
  .module-head-box{
    padding:12px 14px;
  }
  .module-head-title{
    font-size:18px;
  }
  .nav-row{
    gap:6px;
  }
  .nav-btn{
    padding:8px 10px;
  }
  .action-row{
    flex-wrap:wrap;
  }
  .action-row .action-button{
    flex:1 1 160px;
    min-width:0;
  }
}
@media (max-width:640px){
  .category-bar,
  .age-group-bar,
  .selected-top-bar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .age-chip,.category-chip,.finder-top-chip{
    width:100%;
    text-align:center;
  }
  .compact-selected-chips{
    display:grid;
    grid-template-columns:1fr;
  }
}

.redflag-merged:empty{display:none}
.results-view-wrap{display:grid;gap:14px}


/* ===== Hybrid v7 finder module styles ===== */
.v7-panel,.v7-card,.v7-detail-card{background:#fff;border:1px solid #d5dfef;border-radius:22px;padding:16px;box-shadow:0 2px 0 rgba(255,255,255,.7) inset;margin-bottom:14px}
.v7-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#2e5f95;font-weight:800;margin-bottom:10px}
.v7-muted{color:#2f3e55;line-height:1.5}
.v7-head-row,.v7-pattern-top,.v7-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.v7-summary-line{color:#33465f;font-size:14px}
.v7-tiny-btn{padding:8px 12px;border-radius:999px;background:#edf4ff;color:#2f6ae6;font-weight:700;border:none}
.v7-summary-groups{display:none;border-top:1px solid #dbe5f3;margin-top:12px;padding-top:12px;gap:12px;flex-direction:column}
.v7-summary-groups.open{display:flex}
.v7-summary-group-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#52729a;font-weight:800;margin-bottom:8px}
.v7-chip-row,.v7-score-legend,.v7-action-row,.v7-evidence-chip-row,.v7-evidence-combos,.v7-filter-row{display:flex;flex-wrap:wrap;gap:8px}
.v7-chip,.v7-mini-pill,.v7-legend-badge,.v7-pattern-status,.v7-severity-badge,.v7-score-badge,.v7-combo-badge,.v7-evidence-chip{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;font-weight:800;letter-spacing:.02em
}
.v7-chip{border:2px solid #82aaf5;background:#f3f8ff;padding:10px 14px;line-height:1;min-height:40px;color:#0f2744}
.v7-chip.active{background:#edf4ff}
.v7-primary-btn,.v7-secondary-btn{min-height:44px;padding:11px 16px;border-radius:15px;font-weight:700;font-size:14px;border:none}
.v7-primary-btn.compact,.v7-secondary-btn.compact{min-height:38px;padding:10px 14px;border-radius:14px;font-size:13px;width:auto;display:inline-flex}
.v7-primary-btn{background:#0b1630;color:#fff;box-shadow:0 12px 30px rgba(15,39,68,.08)}
.v7-secondary-btn{background:#fff;color:#0f2744;border:1px solid #c9d4e5}
.v7-search input{width:100%;border:1px solid #cfd7e4;border-radius:18px;background:#fff;padding:16px 18px;font-size:17px;color:#0f2744;outline:none;margin-bottom:8px}
.v7-module-grid,.v7-quickpatterns,.v7-card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.v7-module-card,.v7-pattern-card{position:relative;text-align:left;background:#fff;border:1px solid #d5dfef;border-radius:22px;padding:16px;box-shadow:0 2px 0 rgba(255,255,255,.7) inset}
.v7-module-card.active{border-color:#82aaf5;background:#f7fbff}
.v7-module-card h3,.v7-pattern-card h4{margin:0 0 8px}
.v7-module-card p{margin:0;color:#2f3e55}
.v7-module-check{position:absolute;top:12px;right:12px;color:#2f6ae6;font-weight:800}
.v7-filter-chip{min-height:38px;padding:10px 14px;border-radius:12px;background:#fff;color:#0f2744}
.v7-filter-chip.active{background:#2f6ae6;color:#fff}
.v7-pattern-status{max-width:100%;white-space:normal;text-align:center;line-height:1.35;align-self:flex-start;flex:0 1 auto;padding:8px 12px;font-size:12px}
.v7-pattern-status.partial{background:#fff7e8;color:#9a5a00}
.v7-pattern-status.match{background:#effaf3;color:#1f7a46}
.v7-pattern-status.new{background:#eef2f7;color:#34455d}
.v7-severity-badge{color:#c9473f;background:#fff3f2;border:1px solid #efb2ae;text-transform:uppercase;padding:8px 12px;font-size:12px}
.v7-score-badge{color:#2f6ae6;background:#edf4ff;border:1px solid #c8dbff;padding:8px 12px;font-size:12px}
.v7-score-badge.subtle{color:#28547a;background:#f8fbff;border-color:#d7e4f7}
.v7-combo-badge{color:#1f7a46;background:#effaf3;border:1px solid #b8ddc4;padding:8px 12px;font-size:12px}
.v7-mini-pill{background:#eef2f7;color:#2c3b52;border:1px solid #d3dce8;padding:7px 10px;font-size:12px}
.v7-legend-badge{background:#f3f6fb;color:#374960;border:1px solid #d7e1ef;padding:8px 12px;font-size:12px}
.v7-legend-badge.positive{background:#eefaf2;color:#1f7a46;border-color:#bfe2ca}
.v7-legend-badge.negative{background:#fff1f0;color:#c94945;border-color:#efc0bd}
.v7-detail-columns{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.v7-subbox{background:#fcfdff;border:1px solid #dbe4f0;border-radius:18px;padding:14px}
.v7-subbox.positive{background:#f0faf4;border-color:#cfe8d6;color:#1d5638}
.v7-critical-box{background:#fff3f2;border:1px solid #eca4a0;border-radius:18px;padding:16px;color:#9b352f;margin:14px 0}
.dx-operational-panel{margin:16px 0;border:1px solid #f0b7ac;border-radius:20px;background:#fff8f6;box-shadow:0 12px 28px rgba(154,52,18,.08);overflow:hidden}
.dx-operational-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #f5d0c8;background:linear-gradient(180deg,#fff8f6,#fffdfb)}
.dx-operational-head h3{margin:3px 0 4px;font-size:18px;line-height:1.22;color:#7f1d1d}
.dx-operational-head p{margin:0;color:#7c3b32;line-height:1.5}
.dx-operational-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:0 0 auto}
.dx-operational-accordion-list{display:grid;gap:8px;padding:12px}
.dx-operational-accordion{border:1px solid #f3c7bf;border-radius:16px;background:#fff;overflow:hidden}
.dx-operational-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:13px 14px;font-weight:900;color:#0f2744;background:#fffaf8}
.dx-operational-accordion summary::-webkit-details-marker{display:none}
.dx-operational-accordion summary::after{content:'\25BE';color:#b34332;font-size:14px;transition:transform .16s ease}
.dx-operational-accordion:not([open]) summary::after{transform:rotate(-90deg)}
.dx-operational-accordion summary span{min-width:0;line-height:1.25}
.dx-operational-accordion summary b{border-radius:999px;background:#fff0ec;color:#b34332;padding:5px 8px;font-size:10px;letter-spacing:.08em;white-space:nowrap}
.dx-operational-body{padding:0 14px 14px;border-top:1px solid #f6ded9;background:#fff}
.dx-operational-summary{margin-top:12px;padding:12px 13px;border-radius:13px;background:#fff7f4;border:1px solid #f3d3cb;color:#7c2d24;font-weight:800;line-height:1.5}
.dx-operational-body .guide-accordion-block{margin-top:12px}
.dx-operational-body .guide-accordion-block h3{margin:0 0 8px;font-size:14px;color:#7f1d1d}
.dx-operational-body .guide-accordion-block li,.dx-operational-body .guideline-block-copy{font-size:.98rem;line-height:1.6;color:#16324f}
.finder-advanced-inputs{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.finder-advanced-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}
.finder-advanced-summary::-webkit-details-marker{display:none}
.finder-advanced-summary span{font-weight:900;color:var(--ink)}
.finder-advanced-summary em{color:var(--muted);font-style:normal;font-size:.92rem;text-align:right}
.finder-advanced-summary::after{content:'\25B8';color:var(--brand);font-weight:900}
.finder-advanced-inputs[open] .finder-advanced-summary::after{content:'\25BE'}
.finder-advanced-body{border-top:1px solid var(--line);padding:18px 20px 20px}
.compact-extra-findings{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.compact-extra-findings .chip,
.quick-pattern-single{
  appearance:none;
  width:auto;
  flex:1 1 180px;
  border:1px solid #d7e0ee;
  background:#fff;
  border-radius:16px;
  min-height:58px;
  padding:12px 14px;
  text-align:left;
  color:#0f2744;
  box-shadow:0 5px 15px rgba(15,39,68,.04);
}
.compact-extra-findings .chip.active,
.quick-pattern-single.active,
.search-pool-item.active{
  background:#fff1f2!important;
  border-color:#f1a9b5!important;
  color:#7f1d1d!important;
  box-shadow:0 0 0 2px rgba(244,63,94,.08) inset!important;
}
.symptom-box-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:8px;
}
.symptom-box-row .search-pool-item{
  min-width:0;
  border-radius:14px!important;
  border:1px solid #d7e0ee!important;
  background:#fff!important;
}
.symptom-info-btn{
  width:38px;
  min-width:38px;
  min-height:38px;
  align-self:center;
  border:1px solid #c8d8ef;
  border-radius:999px;
  background:#f8fbff;
  color:#275b8a;
  font-weight:900;
  box-shadow:var(--shadow-soft);
}
.symptom-info-btn.active{
  background:#eaf3ff;
  border-color:#8db8f4;
  color:#123c75;
}
.symptom-info-bubble{
  position:relative;
  margin:8px 44px 10px 10px;
  border:1px solid #b9d6fb;
  border-radius:16px;
  background:#f8fbff;
  box-shadow:0 10px 24px rgba(15,39,68,.08);
}
.symptom-info-bubble::before{
  content:'';
  position:absolute;
  right:16px;
  top:-8px;
  width:14px;
  height:14px;
  background:#f8fbff;
  border-left:1px solid #b9d6fb;
  border-top:1px solid #b9d6fb;
  transform:rotate(45deg);
}
.symptom-box-row .search-pool-item.active{
  background:#fff1f2!important;
  border-color:#f1a9b5!important;
  color:#7f1d1d!important;
}
.v7-evidence-panel{background:#f8fbff;border:1px solid #c9dbfb;border-radius:18px;padding:16px;margin-bottom:14px}
.v7-evidence-chip{padding:8px 12px;font-size:12px;border:1px solid #d6e2f4;background:#fff;color:#33455d}
.v7-evidence-chip.positive{background:#eefaf2;border-color:#bfe2ca;color:#1f7a46}
.v7-evidence-chip.supportive{background:#edf4ff;border-color:#c7d8fb;color:#355b8c}
.v7-evidence-chip.neutral{background:#f5f8fc;border-color:#dbe4ef;color:#42556e}
.v7-evidence-chip.negative{background:#fff4f3;border-color:#f0c7c3;color:#8d3a34}
@media (max-width:700px){
  .v7-panel,.v7-card,.v7-detail-card,.v7-module-card,.v7-pattern-card{padding:14px}
  .v7-primary-btn,.v7-secondary-btn{width:100%}
  .v7-pattern-status{width:100%;border-radius:16px;margin-top:2px}
  .dx-operational-head{display:grid;padding:14px}
  .dx-operational-actions{justify-content:stretch}
  .dx-operational-accordion-list{padding:10px}
  .dx-operational-accordion summary{align-items:flex-start}
}

.list-tight{margin:0;padding-left:22px;line-height:1.55}
.list-tight li+li{margin-top:6px}
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.v7-subbox.negative-box{background:#fff4f3;border-color:#efc8c4;color:#8d3a34;margin-top:14px}

@media (max-width:768px){
  .app-shell{padding:10px 10px calc(20px + env(safe-area-inset-bottom))}
  .app-header__top{align-items:stretch;flex-direction:column}
  .lang-switch,.nav-actions{flex-wrap:wrap}
  .detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .detail-actions > *{width:100%}
}
@media (max-width:480px){
  .app-shell{padding:8px 8px calc(18px + env(safe-area-inset-bottom))}
  .nav-row{display:grid;grid-template-columns:1fr 1fr}
  .nav-btn,.lang-btn,.ghost-btn{width:100%;justify-content:center}
  .action-row,.detail-actions{grid-template-columns:1fr}
  .v7-card-top,.v7-head-row,.v7-pattern-top{flex-direction:column;align-items:stretch}
  .v7-score-legend,.v7-chip-row,.v7-evidence-chip-row,.v7-evidence-combos,.v7-filter-row{gap:6px}
  .v7-module-grid,.v7-quickpatterns,.v7-card-grid,.v7-detail-columns{grid-template-columns:1fr}
}



/* === PEMGuide Patch v2.2: clean Diagnosefinder results === */
.v7-card-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

.v7-card--list {
  width: 100% !important;
  max-width: none !important;
}

.v7-card-title-list {
  font-size: clamp(1.15rem, 2.4vw, 1.45rem) !important;
  margin: 10px 0 8px !important;
}

.v7-results-title-panel {
  margin-bottom: 16px !important;
}

.v7-card-grid {
  grid-template-columns: 1fr !important;
}

.pem-notfallcheck-note {
  display: none !important;
}

/* Keep search fields stable during dynamic filtering */
#finderHubSearch,
#otherSymptomSearch {
  scroll-margin-top: 90px;
}

@media (max-width: 760px) {
  .v7-card-list {
    gap: 10px !important;
  }
}

/* === PEMGuide V4_F3_8_13: critical diagnosis popup === */
.critical-dx-popup{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:calc(env(safe-area-inset-top, 0px) + 18px) 12px 12px;
  background:rgba(6,16,34,.22);
  backdrop-filter:blur(4px);
}

.critical-dx-popup-card{
  width:min(560px, 100%);
  border:1px solid #f1aeb5;
  border-radius:16px;
  background:#fff8f8;
  box-shadow:0 18px 50px rgba(93,18,27,.22);
  overflow:hidden;
}

.critical-dx-popup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px 14px;
  border-bottom:1px solid #f6c9cf;
}

.critical-dx-popup-head strong{
  color:#8f1d24;
  font-size:1rem;
  line-height:1.2;
}

.critical-dx-popup-close{
  display:inline-flex;
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  border:1px solid #bfe7cc;
  border-radius:999px;
  background:#eafff0;
  color:#106b37;
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(16,107,55,.14);
}

.critical-dx-popup-list{
  display:grid;
  gap:8px;
  padding:12px 14px 14px;
}

.critical-dx-popup-item{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border:1px solid #f4bdc4;
  border-radius:12px;
  background:#fff;
}

.critical-dx-popup-item b{
  color:#9b111e;
  font-size:.96rem;
  line-height:1.18;
}

.critical-dx-popup-item span{
  color:#314058;
  font-size:.88rem;
  line-height:1.3;
}

@media (max-width:700px){
  .critical-dx-popup{
    align-items:flex-start;
    padding-top:calc(env(safe-area-inset-top, 0px) + 10px);
  }

  .critical-dx-popup-card{
    border-radius:14px;
  }
}

/* === PEMGuide V4_F3_8_14: centered desktop clinical canvas === */
@media (min-width:701px){
  .app-shell{
    width:min(100% - 32px, var(--pem-shell-max-width))!important;
    max-width:var(--pem-shell-max-width)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .app-header{
    max-width:100%!important;
  }
}

@media (max-width:700px){
  .app-shell{
    width:100%!important;
    max-width:100%!important;
  }

  .app-header{
    max-width:100%!important;
  }
}

/* === PEMGuide Patch v4.3: compact diagnosis result accordions === */
.dx-result-accordion-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.dx-result-accordion {
  background: #fff;
  border: 1px solid #c9dbfb;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
  overflow: hidden;
}

.dx-result-accordion.is-critical {
  border-color: #f3aaa7;
}

.dx-result-summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  list-style: none;
  padding: 14px 16px;
}

.dx-result-summary::-webkit-details-marker {
  display: none;
}

.dx-result-summary::after {
  color: #2b5d90;
  content: "\25BE";
  font-size: 20px;
  font-weight: 800;
  justify-self: end;
  transform: rotate(-90deg);
  transition: transform .18s ease;
}

.dx-result-accordion[open] .dx-result-summary::after {
  transform: rotate(0deg);
}

.dx-result-rank {
  align-items: center;
  background: #eaf2ff;
  border: 2px solid #9fc4ff;
  border-radius: 999px;
  color: #12345a;
  display: inline-flex;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  min-width: 34px;
}

.dx-result-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.dx-result-main strong {
  color: #081f3a;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.2;
}

.dx-result-main em {
  color: #30435f;
  display: -webkit-box;
  font-style: normal;
  line-clamp: 1;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.dx-result-badges {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.dx-result-body {
  border-top: 1px solid #dbe7fb;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 16px;
}

.dx-result-why {
  background: #f8fbff;
  border: 1px solid #c9dbfb;
  border-radius: 14px;
  padding: 12px 14px;
}

.dx-result-why h4 {
  font-size: .98rem;
  margin: 0 0 6px;
}

.dx-result-why p {
  color: #30435f;
  margin: 0;
}

.dx-result-signs .section-title {
  margin-top: 0;
}

@media (max-width: 760px) {
  .dx-result-summary {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .dx-result-summary::after {
    grid-column: 3;
    grid-row: 1;
  }
  .dx-result-badges {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-right: 0;
  }
}

/* === PEMGuide Patch v2.4.2: Diagnosefinder selected-state visibility === */
:root{--pem-finder-sticky-top:112px;}
.finder-stage .top-fixed-zone{
  position:sticky;
  top:var(--pem-finder-sticky-top);
  z-index:18;
  background:rgba(243,244,246,.96);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:8px 0 10px;
  margin:-8px 0 2px;
  border-radius:0 0 18px 18px;
}
.finder-stage .compact-selected-box{
  border-color:#8bb9ff;
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
.quick-pattern-btn.active{
  background:#eff6ff;
  border:2px solid #2563eb;
  box-shadow:0 8px 22px rgba(37,99,235,.16);
}
.quick-pattern-btn.active strong::after{
  content:"  \2713";
  color:#2563eb;
  font-weight:800;
}
@media (max-width:768px){
  .finder-stage .top-fixed-zone{
    position:sticky;
    top:var(--pem-finder-sticky-top);
    z-index:18;
    display:grid;
    gap:10px;
  }
}
@media (max-width:560px){
  .finder-stage .top-fixed-zone{padding-top:6px;}
  .finder-stage .action-row--stickyish .action-button{flex:1 1 100%;}
}

/* v2.4.3 triage to Diagnosefinder links */
.info-item--clickable{
  appearance:none;
  width:100%;
  text-align:left;
  border:1px solid var(--border, #d7e0ee);
  background:var(--surface, #fff);
  cursor:pointer;
  border-radius:16px;
  padding:14px 16px;
}
.info-item--clickable:hover{
  border-color:var(--brand, #2f6ae6);
  box-shadow:0 8px 20px rgba(15,39,68,.08);
  transform:translateY(-1px);
}
.triage-finder-link{
  display:inline-block;
  margin-top:8px;
  font-weight:800;
  color:var(--brand, #2f6ae6);
  font-size:.9rem;
}

/* === PEMGuide Patch v2.5.1: Mobile responsive shell + viewport-safe cards === */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  font-size: clamp(14px, 3.8vw, 16px);
}
.app-shell,
.app-header,
.app-main,
#content,
.finder-shell,
.finder-stage,
.v7-panel,
.v7-card,
.v7-detail-card,
.v7-module-card,
.v7-pattern-card,
.content-block,
.guide-box,
.diagnose-card,
.triage-block,
.card,
.module-head-box,
.compact-selected-box,
.redflag-merged,
.quick-pattern-section,
.sub-box,
.two-tone-box,
.results-view-wrap,
#dxResults {
  max-width: 100%;
  min-width: 0;
}
.app-shell * {
  min-width: 0;
}
.card,
.content-block,
.guide-box,
.diagnose-card,
.finder-shell,
.finder-stage,
.triage-block,
.v7-panel,
.v7-card,
.v7-detail-card,
.v7-module-card,
.v7-pattern-card {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 700px) {
  :root {
    --pem-finder-sticky-top: 78px;
    --shadow: 0 4px 16px rgba(15,39,68,.08);
  }
  .app-shell {
    width: 100%;
    padding: 8px 8px calc(18px + env(safe-area-inset-bottom));
  }
  .app-header {
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 6px 0 8px;
    background: rgba(243,244,246,.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .app-header__top {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
  }
  .app-logo-wrap,
  .app-logo {
    min-width: 0;
  }
  .app-logo-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  #appTitle,
  .app-logo {
    font-size: 18px !important;
    line-height: 1.15;
  }
  .app-subtitle {
    font-size: 11px;
    line-height: 1.25;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .lang-switch {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 4px;
    align-items: center;
    justify-content: flex-end;
  }
  .lang-btn {
    width: auto !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    font-size: 13px !important;
    font-weight: 700;
  }
  .nav-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 2px 0 6px;
    margin: 0 -8px 6px;
    padding-left: 8px;
    padding-right: 8px;
    scrollbar-width: none;
  }
  .nav-row::-webkit-scrollbar { display: none; }
  .nav-actions {
    display: inline-flex !important;
    flex: 0 0 auto;
    gap: 6px;
    flex-wrap: nowrap !important;
  }
  .nav-btn,
  .ghost-btn {
    width: auto !important;
    min-height: 36px !important;
    flex: 0 0 auto;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    font-size: 13px !important;
    white-space: nowrap;
  }
  #backBtn,
  #forwardBtn {
    min-width: 38px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center;
  }
  .search-row {
    margin-bottom: 6px;
  }
  #globalSearch,
  .finder-search input,
  .v7-search input,
  .search-inline {
    min-height: 40px;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    font-size: 14px !important;
  }
  .breadcrumb {
    font-size: 11px;
    line-height: 1.25;
    gap: 4px;
    margin: 2px 0 6px;
    white-space: nowrap;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .breadcrumb::-webkit-scrollbar { display: none; }
  .page-title,
  .module-head-title {
    font-size: clamp(18px, 5vw, 22px) !important;
  }
  .page-description,
  .diagnose-summary,
  .card__desc,
  .v7-muted {
    font-size: 14px;
    line-height: 1.35;
  }
  .card-grid,
  .v7-module-grid,
  .v7-quickpatterns,
  .v7-card-grid,
  .v7-detail-columns,
  .finder-module-grid,
  .strong-list,
  .strong-grid,
  .selected-list,
  .quick-patterns-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .card,
  .content-block,
  .guide-box,
  .diagnose-card,
  .finder-shell,
  .finder-stage,
  .triage-block,
  .v7-panel,
  .v7-card,
  .v7-detail-card,
  .v7-module-card,
  .v7-pattern-card,
  .module-head-box,
  .quick-pattern-section,
  .redflag-merged {
    padding: 12px !important;
    border-radius: 16px !important;
    margin-bottom: 10px !important;
  }
  .card__title,
  .v7-module-card h3,
  .v7-pattern-card h4,
  .quick-pattern-section h3 {
    font-size: 16px !important;
    line-height: 1.25;
  }
  .action-row,
  .detail-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100%;
  }
  .action-row .action-button,
  .action-button,
  .v7-primary-btn,
  .v7-secondary-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
  }
  .finder-stage .top-fixed-zone {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  .compact-selected-box {
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .compact-selected-chips,
  .selected-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .selected-chip,
  .compact-chip,
  .v7-chip,
  .chip,
  .search-pool-item,
  .age-chip,
  .category-chip,
  .finder-top-chip {
    width: auto !important;
    max-width: 100%;
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 1.2;
  }
  .sub-box {
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .two-tone-box.compact,
  .two-tone-box {
    gap: 8px !important;
  }
  .quick-pattern-btn {
    padding: 10px !important;
    border-radius: 12px !important;
  }
  .quick-pattern-btn strong {
    font-size: 14px;
  }
  .quick-pattern-btn span {
    font-size: 12px;
  }
  .v7-card-top,
  .v7-head-row,
  .v7-pattern-top {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .v7-severity-badge,
  .v7-score-badge,
  .v7-evidence-chip,
  .diff-chip,
  .severity,
  .score-pill {
    font-size: 11px !important;
    padding: 6px 9px !important;
    max-width: 100%;
    white-space: normal;
  }
  .v7-card-title-list,
  .dx-title-line {
    font-size: 17px !important;
    line-height: 1.25;
  }
  .dx-accordion-body,
  .accordion-body {
    padding: 0 12px 12px !important;
  }
  .dx-accordion-body ul,
  .list-tight {
    padding-left: 18px !important;
  }
  .dx-accordion-body li,
  .list-tight li {
    font-size: 14px;
    line-height: 1.45;
  }
  #dxResults {
    scroll-margin-top: 92px !important;
  }
}

@media (max-width: 420px) {
  .app-shell { padding-left: 6px; padding-right: 6px; }
  .app-header__top { grid-template-columns: minmax(0,1fr) auto; }
  .app-logo-icon { width: 30px; height: 30px; }
  #appTitle,.app-logo { font-size: 16px !important; }
  .app-subtitle { font-size: 10.5px; }
  .lang-btn { min-height: 30px !important; padding: 5px 8px !important; }
  .nav-btn,.ghost-btn { min-height: 34px !important; font-size: 12px !important; }
  .v7-chip-row,
  .v7-score-legend,
  .v7-action-row,
  .v7-evidence-chip-row,
  .v7-evidence-combos,
  .v7-filter-row {
    gap: 5px !important;
  }
}

/* === PEMGuide Patch v2.5.2: Floating selected bar + contained mobile nav + text size controls === */
:root { --pem-user-font-scale: 1; --pem-finder-sticky-top: 96px; }
.header-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.font-switch{display:flex;gap:4px;align-items:center}
.font-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:6px 9px;font-weight:800;min-height:34px;box-shadow:var(--shadow-soft);cursor:pointer}
.font-btn:disabled{opacity:.38;cursor:not-allowed}
body{font-size:calc(16px * var(--pem-user-font-scale));}
html.pem-font-large .card__desc,
html.pem-font-large .v7-muted,
html.pem-font-large .page-description,
html.pem-font-large .diagnose-summary,
html.pem-font-large .quick-pattern-btn span,
html.pem-font-large .dx-accordion-body li,
html.pem-font-large .list-tight li{font-size:1.08em!important;}
html.pem-font-xlarge .card__desc,
html.pem-font-xlarge .v7-muted,
html.pem-font-xlarge .page-description,
html.pem-font-xlarge .diagnose-summary,
html.pem-font-xlarge .quick-pattern-btn span,
html.pem-font-xlarge .dx-accordion-body li,
html.pem-font-xlarge .list-tight li{font-size:1.16em!important;}
html.pem-font-large h1, html.pem-font-large h2, html.pem-font-large h3,
html.pem-font-xlarge h1, html.pem-font-xlarge h2, html.pem-font-xlarge h3{line-height:1.18;}

.floating-selected-zone{position:sticky;top:var(--pem-finder-sticky-top);z-index:44;margin-bottom:10px;}
.floating-selected-box{background:rgba(239,246,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #9fc2fb;box-shadow:0 8px 22px rgba(15,39,68,.12);}
.floating-selected-box .module-head-label{font-size:11px;margin-bottom:5px;}
.floating-selected-box .compact-selected-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:82px;overflow:auto;}
.floating-selected-box .compact-chip{min-height:32px!important;padding:6px 9px!important;font-size:13px!important;border-radius:999px!important;}

@media (max-width: 700px){
  .app-header__top{grid-template-columns:minmax(0,1fr) auto!important;}
  .header-controls{gap:5px;flex-wrap:nowrap;}
  .font-switch{gap:3px;}
  .font-btn{min-height:30px!important;padding:5px 7px!important;font-size:12px!important;box-shadow:none!important;}
  .lang-switch{gap:3px!important;}
  .lang-btn{min-height:30px!important;padding:5px 8px!important;font-size:12px!important;}

  /* No clipped menu on phones: wrap inside viewport instead of overflowing to the right. */
  .nav-row{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    gap:6px!important;
  }
  .nav-row .nav-btn{flex:1 1 auto;max-width:100%;}
  .nav-row .nav-actions{flex:0 0 auto;display:flex!important;gap:6px!important;}
  #backBtn,#forwardBtn{flex:0 0 38px!important;max-width:38px;}
  #navHome{flex-basis:94px;}
  #navTriage{flex-basis:136px;}
  #navFinder{flex-basis:142px;}
  #navSymptoms{flex-basis:126px;}

  .finder-stage .top-fixed-zone.floating-selected-zone{
    position:sticky!important;
    top:var(--pem-finder-sticky-top)!important;
    z-index:46!important;
    background:transparent!important;
    padding:0!important;
    margin:0 0 8px!important;
    border-radius:0!important;
  }
  .finder-stage .floating-selected-box{
    padding:8px 9px!important;
    border-radius:14px!important;
    max-width:100%;
  }
  .floating-selected-box .compact-selected-chips{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;max-height:none;padding-bottom:2px;scrollbar-width:none;}
  .floating-selected-box .compact-selected-chips::-webkit-scrollbar{display:none;}
  .floating-selected-box .compact-chip{flex:0 0 auto;max-width:76vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .action-row--stickyish{position:relative!important;background:transparent!important;margin-bottom:10px!important;}

  html.pem-font-large .card,
  html.pem-font-large .content-block,
  html.pem-font-large .v7-card,
  html.pem-font-large .v7-detail-card,
  html.pem-font-xlarge .card,
  html.pem-font-xlarge .content-block,
  html.pem-font-xlarge .v7-card,
  html.pem-font-xlarge .v7-detail-card{padding:12px!important;}
  html.pem-font-large .v7-chip,
  html.pem-font-large .chip,
  html.pem-font-large .search-pool-item,
  html.pem-font-xlarge .v7-chip,
  html.pem-font-xlarge .chip,
  html.pem-font-xlarge .search-pool-item{white-space:normal;line-height:1.22;}
}

@media (max-width: 420px){
  .header-controls{gap:4px;}
  .font-btn{padding:4px 6px!important;font-size:11.5px!important;}
  .lang-btn{padding:4px 7px!important;font-size:11.5px!important;}
  .nav-row .nav-btn{font-size:12px!important;padding:7px 8px!important;}
  #navHome{flex-basis:86px;}
  #navTriage{flex-basis:128px;}
  #navFinder{flex-basis:132px;}
  #navSymptoms{flex-basis:116px;}
}

/* === PEMGuide Patch v2.5.3: true mobile selected reminder dock === */
.mobile-selected-dock{display:none;}
@media (max-width: 700px){
  /* The full selected panel is no longer sticky/fixed on phones. It stays in normal flow and is hidden to avoid the huge fixed box. */
  .finder-stage .top-fixed-zone.floating-selected-zone{
    display:none!important;
    position:static!important;
  }
  .finder-stage.has-mobile-selected-dock{
    padding-top:118px;
  }
  .mobile-selected-dock{
    display:block;
    position:fixed;
    z-index:999;
    left:max(10px, env(safe-area-inset-left));
    right:max(10px, env(safe-area-inset-right));
    top:max(8px, env(safe-area-inset-top));
    max-width:calc(100vw - 20px);
    background:rgba(239,246,255,.96);
    border:1px solid #9fc2fb;
    border-radius:16px;
    box-shadow:0 10px 28px rgba(15,39,68,.20);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    padding:7px 8px;
  }
  .mobile-selected-dock__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:#275b8a;
    text-transform:uppercase;
    letter-spacing:.035em;
    font-size:10px;
    margin-bottom:4px;
  }
  .mobile-selected-dock__top span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    border-radius:999px;
    background:#2f6ae6;
    color:#fff;
    font-weight:900;
  }
  .mobile-selected-dock__chips{
    display:flex;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .mobile-selected-dock__chips::-webkit-scrollbar{display:none;}
  .mobile-selected-dock__chips .compact-chip{
    flex:0 0 auto;
    max-width:100%;
    min-height:30px!important;
    padding:5px 8px!important;
    font-size:12px!important;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    text-overflow:clip;
  }
  .mobile-selected-dock__actions{
    display:grid;
    grid-template-columns:1.15fr .75fr .55fr;
    gap:5px;
    margin-top:6px;
  }
  .mobile-selected-dock__actions--always{
    margin-top:6px;
  }
  .dock-action{
    border:1px solid #bfd6fb;
    background:#fff;
    color:#0f2744;
    border-radius:999px;
    min-height:32px;
    padding:5px 8px;
    font-size:12px;
    font-weight:800;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    text-align:center;
  }
  .dock-action--primary{
    background:#0b1630;
    color:#fff;
    border-color:#0b1630;
  }
  /* Keep the normal action buttons static below, not sticky, so they do not behave like a second fixed panel. */
  .action-row--stickyish{position:static!important;}
}
@media (min-width: 701px){
  .finder-stage.has-mobile-selected-dock{padding-top:0;}
}

/* === PEMGuide Patch v2.5.4: age modifiers + free text search === */
.age-selector-panel{margin:14px 0 12px;padding:14px;border:1px solid #d7e4f8;border-radius:22px;background:linear-gradient(180deg,#fbfdff 0%,#f3f8ff 100%);box-shadow:0 10px 26px rgba(15,39,68,.06);}
.age-selector-title{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:12px;color:#1f5f95;font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:12px;}
.age-selector-title span{display:block;}
.age-selector-title small{max-width:72ch;font-weight:600;text-transform:none;letter-spacing:0;color:#5d7088;font-size:12px;line-height:1.35;}
.age-group-bar--locked{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:10px!important;overflow:visible!important;padding-bottom:0!important;}
.age-chip{border:1px solid #d7e4f8;background:#fff;color:#0f2744;border-radius:18px;padding:11px 12px;min-height:64px;display:flex;flex:1 1 132px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;box-shadow:0 4px 14px rgba(15,39,68,.06);cursor:pointer;max-width:100%;min-width:132px;}
.age-chip strong{font-size:13px;line-height:1.16;white-space:nowrap!important;}
.age-chip span{font-size:11px;color:#5b6b80;line-height:1.2;white-space:nowrap!important;}
.age-chip:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,39,68,.09);}
.age-chip:nth-child(7n+1){background:#eef7ff;border-color:#cfe2fb;}
.age-chip:nth-child(7n+2){background:#f3fbf1;border-color:#d6eed0;}
.age-chip:nth-child(7n+3){background:#fff8e9;border-color:#f5deae;}
.age-chip:nth-child(7n+4){background:#fff1f1;border-color:#f2cccc;}
.age-chip:nth-child(7n+5){background:#f6f1ff;border-color:#ddd3fb;}
.age-chip:nth-child(7n+6){background:#eefcf8;border-color:#cfeee4;}
.age-chip:nth-child(7n+7){background:#f8f5ef;border-color:#e8dbc3;}
.age-chip.active{border-color:#78a9ff;background:#dfeeff;box-shadow:0 0 0 2px rgba(47,106,230,.13),0 12px 24px rgba(47,106,230,.10);}
.free-text-match-box{border:1px solid #d7e4f8;background:#fff;border-radius:18px;padding:10px;margin:10px 0 14px;display:grid;gap:8px;}
.free-text-match-box h3{margin:0;color:#285b86;font-size:14px;letter-spacing:.02em;text-transform:uppercase;}
.free-text-match{border:1px solid #e0e8f4;background:#f8fbff;border-radius:14px;padding:10px;text-align:left;display:grid;gap:3px;color:#0f2744;cursor:pointer;}
.free-text-match:hover,.free-text-match:focus{border-color:#8db6ff;background:#eef6ff;}
.free-text-match.active{border-color:#8fb6f8;background:#edf4ff;box-shadow:0 0 0 2px rgba(47,106,230,.10) inset;}
.free-text-match strong{font-size:15px;}
.free-text-match span{font-size:12.5px;color:#596b82;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.free-text-match em{font-style:normal;font-size:11px;color:#2f6ae6;font-weight:900;text-transform:uppercase;letter-spacing:.035em;}
@media (max-width:700px){
  .age-selector-panel{padding:10px;margin:10px 0;border-radius:16px;}
  .age-selector-title{display:block;font-size:11px;margin-bottom:10px;}
  .age-selector-title small{display:block;margin-top:4px;font-size:10.5px;line-height:1.32;}
  .age-group-bar--locked{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
  .age-chip{min-height:56px;padding:9px 10px;border-radius:14px;align-items:flex-start;text-align:left;}
  .age-chip{flex:1 1 116px;min-width:116px;max-width:calc(50% - 3px);}
  .age-chip strong{font-size:12px;white-space:nowrap!important;}
  .age-chip span{font-size:10px;white-space:nowrap!important;}
  .free-text-match-box{padding:8px;border-radius:14px;}
  .free-text-match{padding:9px;border-radius:12px;}
}

/* === PEMGuide Patch v2.5.5: mobile fixed topbar + hamburger drawer + selected drawer === */
.mobile-menu-toggle{display:none;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;min-height:34px;min-width:38px;padding:5px 10px;font-size:20px;font-weight:900;line-height:1;box-shadow:var(--shadow-soft);cursor:pointer}
@media (max-width:700px){
  .app-header{position:sticky!important;top:0!important;z-index:100!important;box-shadow:0 6px 18px rgba(15,39,68,.08)}
  .app-header__top{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin-bottom:0!important}
  .header-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;flex-wrap:nowrap!important;min-width:max-content!important}
  .font-switch,.lang-switch{display:inline-flex!important;flex-wrap:nowrap!important;gap:3px!important;align-items:center!important}
  .font-btn,.lang-btn{min-height:30px!important;padding:4px 7px!important;font-size:12px!important;box-shadow:none!important}
  .mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;position:relative;z-index:103}
  /* Mobile menu lives below the fixed header and opens only via hamburger. */
  .nav-row{display:none!important;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:102;background:rgba(255,255,255,.98);border:1px solid var(--border);border-radius:0 0 18px 18px;padding:8px!important;margin:0!important;box-shadow:0 14px 28px rgba(15,39,68,.16);grid-template-columns:1fr 1fr;gap:8px!important;overflow:visible!important;max-height:min(62vh,420px);overflow-y:auto!important}
  body.mobile-menu-open .nav-row{display:grid!important}
  .nav-row .nav-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;grid-column:1 / -1}
  .nav-row .nav-btn{width:100%!important;min-height:38px!important;white-space:normal!important;text-align:center!important;box-shadow:none!important;border:1px solid var(--border)!important}
  .search-row{margin-top:6px!important}
  #globalSearch{font-size:14px!important;min-height:38px!important;padding:9px 12px!important}
  .breadcrumb{display:none!important}
  /* The old big selected panel is removed from the mobile flow. */
  .finder-stage .top-fixed-zone.floating-selected-zone{display:none!important}
  .finder-stage.has-mobile-selected-dock{padding-top:52px!important}
  .mobile-selected-dock{display:block!important;position:fixed!important;left:8px!important;right:8px!important;top:calc(env(safe-area-inset-top) + 70px)!important;z-index:90!important;background:rgba(239,246,255,.98)!important;border:1px solid #9fc2fb!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(15,39,68,.18)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px!important;max-width:calc(100vw - 16px)!important;overflow:hidden!important}
  .mobile-selected-dock__top{width:100%;border:0;background:transparent;color:var(--text);display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:5px 7px!important;text-align:left!important;min-height:34px!important;cursor:pointer}
  .mobile-selected-dock__top strong{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-selected-dock__top span{display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;border-radius:999px;min-width:24px;height:24px;font-size:12px;font-weight:900;padding:0 7px}
  .mobile-selected-dock__top em{font-style:normal;font-size:13px;color:#275b8a;font-weight:900}
  .mobile-selected-dock__content{display:none!important;border-top:1px solid #bfd6fb;margin-top:5px;padding-top:6px}
  .mobile-selected-dock.open .mobile-selected-dock__content{display:block!important}
  .mobile-selected-dock__chips{display:flex!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;max-height:none!important;padding:0 0 4px!important;scrollbar-width:none!important}
  .mobile-selected-dock__chips::-webkit-scrollbar{display:none!important}
  .mobile-selected-dock__chips .compact-chip{flex:0 1 auto!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-overflow:clip!important;min-height:30px!important;padding:5px 9px!important;font-size:12px!important;border-radius:999px!important}
  .mobile-selected-dock__actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;margin-top:5px!important}
  .dock-action{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:32px!important;padding:5px 6px!important;font-size:11px!important;font-weight:800;color:var(--text);white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-overflow:clip!important;text-align:center}
  .dock-action--primary{background:#0b1630!important;color:#fff!important;border-color:#0b1630!important}
  #dxResults{scroll-margin-top:128px!important}
}
@media (max-width:380px){
  .font-btn,.lang-btn{font-size:11px!important;padding:4px 6px!important}
  .mobile-menu-toggle{min-width:34px!important;padding:4px 8px!important;font-size:18px!important}
  .mobile-selected-dock__actions{grid-template-columns:1fr!important}
}

/* === PEMGuide Patch v2.5.6: floating scroll-to-top button === */
.scroll-top-btn{position:fixed;right:max(14px, env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:1100;width:46px;height:46px;border-radius:999px;border:1px solid rgba(15,39,68,.12);background:#0b1630;color:#fff;box-shadow:0 12px 28px rgba(15,39,68,.22);font-size:24px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px) scale(.96);transition:opacity .18s ease, transform .18s ease;}
.scroll-top-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.scroll-top-btn:focus{outline:3px solid rgba(47,106,230,.35);outline-offset:2px;}
@media (max-width:700px){.scroll-top-btn{right:max(12px, env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:44px;height:44px;font-size:22px;}}


/* === PEMGuide Patch v2.5.7: mobile UX stabilization === */
:root{
  --pem-mobile-header-h: 132px;
}

/* against section: two clearly separated inner boxes */
.negative-box--split{
  display:grid;
  gap:12px;
}
.negative-box--split > h4{
  margin:0 0 2px!important;
}
.against-inner{
  border-radius:16px;
  padding:12px;
  border:1px solid rgba(141,58,52,.20);
}
.against-inner--selected{
  background:#fff7f6;
  border-color:#efc8c4;
}
.against-inner--profile{
  background:#fff;
  border-color:#ead2cf;
}
.against-inner .v7-kicker{
  margin:0 0 8px!important;
}
.against-inner ul{
  margin:0;
}

/* Final mobile header/nav override: keep controls visible and menu colors stable */
@media (max-width:700px){
  :root{
    --pem-mobile-header-h: 196px;
  }

  .app-shell{
    padding-top:calc(var(--pem-mobile-header-h) + 10px)!important;
  }

  .app-header{
    position:fixed!important;
    left:50%!important;
    top:0!important;
    transform:translateX(-50%)!important;
    width:100%!important;
    max-width:1100px!important;
    z-index:1200!important;
    padding:8px 10px 10px!important;
    background:rgba(243,244,246,.98)!important;
    border-bottom:1px solid rgba(215,220,227,.75)!important;
    box-shadow:0 8px 20px rgba(15,39,68,.10)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  .app-header__top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }

  .header-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
    min-width:0!important;
  }

  .font-switch,.lang-switch{
    display:inline-flex!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }

  .font-btn,.lang-btn{
    min-height:32px!important;
    padding:5px 8px!important;
    font-size:12px!important;
  }

  .mobile-menu-toggle{
    display:none!important;
  }

  .nav-row{
    display:grid!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    z-index:auto!important;
    background:transparent!important;
    border:none!important;
    border-radius:0!important;
    padding:0!important;
    margin:0 0 8px!important;
    box-shadow:none!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible!important;
    max-height:none!important;
  }

  body.mobile-menu-open .nav-row{
    display:grid!important;
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
  }

  .nav-row .nav-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    grid-column:1 / -1!important;
    order:4!important;
  }

  .nav-row .nav-btn{
    width:100%!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    border:1px solid rgba(215,224,238,.95)!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:0 4px 12px rgba(15,39,68,.06)!important;
    font-size:12px!important;
    font-weight:800!important;
    color:#0f2744!important;
  }

  body.mobile-menu-open .nav-row .nav-actions{
    display:grid!important;
  }

  body.mobile-menu-open .nav-row .nav-btn{
    min-height:40px!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    text-align:center!important;
    border:1px solid rgba(215,224,238,.95)!important;
    box-shadow:0 4px 12px rgba(15,39,68,.06)!important;
  }

  .nav-row .nav-btn::before,
  body.mobile-menu-open .nav-row .nav-btn::before{
    display:none!important;
    content:none!important;
  }

  #navHome,#navTriage,#navFinder,#navSymptoms{
    background:#eaf4ff!important;
    border-color:#c9def6!important;
  }
  #backBtn,#forwardBtn{background:#ffffff!important;border-color:#d7e0ee!important;}

  #navHome.active,#navTriage.active,#navFinder.active,#navSymptoms.active{
    background:#e8f8e8!important;
    color:#0f2744!important;
    border-color:#b9dfb9!important;
  }

  body.mobile-menu-open #navHome,
  body.mobile-menu-open #navTriage,
  body.mobile-menu-open #navFinder,
  body.mobile-menu-open #navSymptoms{
    background:#eaf4ff!important;
    border-color:#c9def6!important;
  }

  body.mobile-menu-open #navHome.active,
  body.mobile-menu-open #navTriage.active,
  body.mobile-menu-open #navFinder.active,
  body.mobile-menu-open #navSymptoms.active{
    background:#e8f8e8!important;
    color:#0f2744!important;
    border-color:#b9dfb9!important;
  }

  .search-row{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Mobile: true fixed header, clean drawer menu, compact age selector, selected dock */
@media (max-width:700px){
  html,body{
    max-width:100%;
    overflow-x:hidden!important;
  }
  .app-shell{
    padding-top:calc(var(--pem-mobile-header-h) + 8px)!important;
  }
  .app-header{
    position:fixed!important;
    left:50%!important;
    top:0!important;
    transform:translateX(-50%)!important;
    width:100%!important;
    max-width:1100px!important;
    z-index:1200!important;
    padding:8px 10px 10px!important;
    background:rgba(243,244,246,.98)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(215,220,227,.75)!important;
    box-shadow:0 8px 20px rgba(15,39,68,.10)!important;
  }
  .app-header__top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
  }
  .app-logo{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  .app-subtitle{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
    font-size:12px!important;
  }
  .header-controls{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    flex-wrap:nowrap!important;
  }
  .font-switch,.lang-switch{
    display:flex!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
  }
  .font-btn,.lang-btn,.mobile-menu-toggle{
    flex:0 0 auto!important;
    border-radius:999px!important;
  }
  .mobile-menu-toggle{
    display:none!important;
  }
  .search-row{
    margin:7px 0 0!important;
  }
  #globalSearch{
    width:100%!important;
    min-height:40px!important;
    padding:9px 12px!important;
    font-size:14px!important;
    border-radius:16px!important;
  }

  /* Final mobile nav: always visible under the fixed header */
  .nav-row{
    display:grid!important;
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:auto!important;
    background:transparent!important;
    border:none!important;
    border-radius:0!important;
    padding:0!important;
    margin:0 0 8px!important;
    box-shadow:none!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.mobile-menu-open .nav-row{
    display:grid!important;
  }
  .nav-row .nav-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    grid-column:1 / -1!important;
  }
  .nav-row .nav-btn{
    width:100%!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid rgba(215,224,238,.95)!important;
    border-radius:14px!important;
    color:#0f2744!important;
    box-shadow:0 4px 12px rgba(15,39,68,.06)!important;
    text-align:center!important;
    white-space:normal!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  #navHome,#navTriage,#navFinder,#navSymptoms{background:#eaf4ff!important;border-color:#c9def6!important;}
  #backBtn,#forwardBtn{background:#ffffff!important;border-color:#d7e0ee!important;}
  #navHome.active,#navTriage.active,#navFinder.active,#navSymptoms.active{background:#e8f8e8!important;color:#0f2744!important;border-color:#b9dfb9!important;}

  /* age selector: compact chips, no tall cards */
  .age-selector-panel{
    padding:9px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .age-selector-title{
    display:block!important;
    margin-bottom:8px!important;
    font-size:11px!important;
  }
  .age-selector-title small{
    display:block!important;
    margin-top:2px!important;
    font-size:10.5px!important;
  }
  .age-group-bar,
  .age-group-bar--locked{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .age-chip{
    width:auto!important;
    min-width:116px!important;
    max-width:calc(50% - 4px)!important;
    flex:1 1 116px!important;
    min-height:52px!important;
    height:auto!important;
    padding:9px 10px!important;
    border-radius:14px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    text-align:left!important;
    box-shadow:0 3px 12px rgba(15,39,68,.06)!important;
  }
  .age-chip strong{
    font-size:12px!important;
    line-height:1.12!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }
  .age-chip span{
    font-size:10px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* selected dock: compact summary closed; all chips in fitted drawer when open */
  .finder-stage.has-mobile-selected-dock{
    padding-top:62px!important;
  }
  .mobile-selected-dock{
    top:calc(var(--pem-mobile-header-h) + 8px)!important;
    left:8px!important;
    right:8px!important;
    max-height:42vh!important;
    overflow:hidden!important;
    border-radius:18px!important;
    padding:6px!important;
  }
  .mobile-selected-dock__top{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:7px!important;
    min-height:36px!important;
    padding:5px 7px!important;
  }
  .mobile-selected-dock__top strong{
    font-size:11.5px!important;
  }
  .mobile-selected-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    padding:0!important;
    border-radius:999px!important;
    background:#2563eb!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
  }
  .mobile-selected-preview{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .mobile-selected-preview-age{
    display:inline-flex!important;
    align-items:center!important;
    max-width:100%!important;
    min-height:24px!important;
    padding:3px 7px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#102a43!important;
    border:1px solid #bdd4f7!important;
    font-size:11px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-shadow:none!important;
  }
  .mobile-selected-preview-age--empty{
    color:#62748a!important;
    background:#f8fbff!important;
  }
  .mobile-selected-dock__content{
    max-height:calc(42vh - 46px)!important;
    overflow-y:auto!important;
  }
  .mobile-selected-context-box{
    margin:0 0 8px!important;
    padding:8px 9px!important;
    border:1px solid #d7c1f4!important;
    border-radius:14px!important;
    background:linear-gradient(180deg,#faf5ff 0%,#f4ecff 100%)!important;
  }
  .mobile-selected-context-label{
    margin:0 0 6px!important;
    color:#6d28d9!important;
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  .mobile-selected-context-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    overflow:visible!important;
    max-height:none!important;
    padding:2px 0 4px!important;
  }
  .mobile-selected-dock__chips .compact-chip{
    flex:0 1 auto!important;
    max-width:100%!important;
    min-height:30px!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    font-size:12px!important;
    border:1px solid #bdd4f7!important;
    background:#fff!important;
    color:#102a43!important;
    outline:0!important;
    box-shadow:none!important;
  }
  .mobile-selected-context-chips .compact-chip{
    border-color:#caaaf5!important;
    background:#ffffff!important;
    color:#4c1d95!important;
  }
  .mobile-selected-dock__chips .compact-chip::before,
  .mobile-selected-dock__chips .compact-chip::after{
    display:none!important;
    content:none!important;
  }
  .mobile-selected-dock__actions{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
  }

  /* general content spacing below fixed header */
  .app-main{
    position:relative;
    z-index:1;
  }
  .breadcrumb{
    display:none!important;
  }
  #dxResults,
  .v7-detail-card{
    scroll-margin-top:calc(var(--pem-mobile-header-h) + 16px)!important;
  }
}

@media (max-width:380px){
  .mobile-selected-dock__actions{
    grid-template-columns:1fr!important;
  }
  .mobile-selected-preview-chip{
    max-width:58%!important;
  }
  .age-chip{
    min-width:0!important;
    max-width:none!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
}


/* === PEMGuide Patch v2.5.8: navigation flow, breadcrumb and detail route actions === */
.route-action-bar{display:none;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 0;}
.route-action-bar.visible{display:flex;}
.route-action-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:800;box-shadow:0 4px 12px rgba(15,39,68,.06);cursor:pointer;}
.route-action-btn:disabled{opacity:.42;cursor:not-allowed;}
.route-action-btn--icon{min-width:40px;padding-left:10px;padding-right:10px;font-size:17px;}
.route-action-btn--primary{background:#0b1630;color:#fff;border-color:#0b1630;}
.route-action-btn--soft{background:#eef6ff;border-color:#bdd4f7;color:#0f2744;}
@media (max-width:700px){
  .route-action-bar.visible{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important;padding:2px 1px 4px!important;scrollbar-width:none!important;}
  .route-action-bar.visible::-webkit-scrollbar{display:none!important;}
  .route-action-btn{flex:0 0 auto!important;min-height:34px!important;padding:6px 10px!important;font-size:12px!important;white-space:nowrap!important;}
  .route-action-btn--icon{min-width:36px!important;font-size:15px!important;}
  body.route-diagnosis-detail .search-row,
  body.route-guideline-detail .search-row{display:none!important;}
  body.route-diagnosis-detail .route-action-bar,
  body.route-guideline-detail .route-action-bar{margin-top:7px!important;}
  .breadcrumb{display:flex!important;gap:5px!important;flex-wrap:nowrap!important;overflow-x:auto!important;white-space:nowrap!important;margin:7px 0 0!important;padding:0 1px 2px!important;font-size:11.5px!important;scrollbar-width:none!important;}
  .breadcrumb::-webkit-scrollbar{display:none!important;}
  body.route-home .breadcrumb{display:none!important;}
  .breadcrumb-item{flex:0 0 auto!important;}
  .breadcrumb span{flex:0 0 auto!important;}
  body.route-diagnosis-detail .breadcrumb,
  body.route-guideline-detail .breadcrumb,
  body.route-finder-results .breadcrumb{display:flex!important;}
  #dxResults,.v7-detail-card{scroll-margin-top:calc(var(--pem-mobile-header-h) + 72px)!important;}
}

/* === PEMGuide Patch v2.5.9: mobile hamburger menu cleanup + colored menu entries === */
@media (max-width:700px){
  /* Back/forward arrows are redundant inside the hamburger panel; route actions remain in the header. */
  body.mobile-menu-open .nav-row .nav-actions{
    display:none!important;
  }
  body.mobile-menu-open .nav-row{
    gap:9px!important;
    padding:12px!important;
    background:rgba(255,255,255,.985)!important;
  }
  body.mobile-menu-open .nav-row .nav-btn{
    position:relative!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-weight:800!important;
    min-height:52px!important;
    padding:12px 14px 12px 18px!important;
    border-radius:18px!important;
    border:1px solid rgba(215,224,238,.95)!important;
    overflow:hidden!important;
    box-shadow:0 7px 18px rgba(15,39,68,.08)!important;
  }
  body.mobile-menu-open .nav-row .nav-btn::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:6px;
    border-radius:18px 0 0 18px;
    background:#2f6ae6;
  }
  body.mobile-menu-open #navHome,
  body.mobile-menu-open #navTriage,
  body.mobile-menu-open #navFinder,
  body.mobile-menu-open #navSymptoms{background:#eaf4ff!important;}
  body.mobile-menu-open .nav-row .nav-btn.active{
    color:#0f2744!important;
    border-color:#b9dfb9!important;
    box-shadow:0 9px 22px rgba(100,160,100,.12)!important;
  }
  body.mobile-menu-open #navHome.active,
  body.mobile-menu-open #navTriage.active,
  body.mobile-menu-open #navFinder.active,
  body.mobile-menu-open #navSymptoms.active{
    background:#e8f8e8!important;
  }
  body.mobile-menu-open .nav-row .nav-btn.active::before{
    background:transparent!important;
  }
}

/* === PEMGuide v3.5 Guideline Layer Upgrade === */
.guide-box{background:#fff;border:1px solid var(--border,#d7e0ee);border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 8px 24px rgba(15,39,68,.05)}
.guide-box h2{font-size:clamp(1.05rem,3vw,1.25rem);margin:0 0 10px;color:#0f2744}.guide-box ul{margin:.25rem 0 0;padding-left:1.2rem}.guide-box li{margin:.45rem 0;line-height:1.45}.guide-box--therapy,.guide-box--initial{border-left:5px solid #2f6ae6;background:#f7fbff}.guide-box--red_flags,.guide-box--red-flags{border-left:5px solid #c9473f;background:#fff6f5}.guide-box--escalation{border-left:5px solid #d9822b;background:#fff9ef}.guide-box--monitoring{border-left:5px solid #20a37a;background:#f2fbf7}@media(max-width:640px){.guide-box{padding:13px;border-radius:15px}.guide-box li{font-size:calc(.95rem * var(--pem-font-scale,1))}}
.guideline-detail-view{max-width:980px;margin:0 auto}
.guideline-hero{display:grid;gap:14px;padding:24px 28px;border:1px solid #d9e6f7;border-radius:28px;background:radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 38%),linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 18px 40px rgba(15,39,68,.08)}
.guideline-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#2b5ea8}
.guideline-hero .page-title{margin:0;max-width:14ch;font-size:clamp(2rem,4vw,3rem);line-height:1.02;letter-spacing:-.03em}
.guideline-hero .page-description{max-width:68ch;margin:2px 0 0;color:#58708f;font-size:clamp(1rem,1.8vw,1.1rem);line-height:1.7}
.guideline-meta-row{display:flex;flex-wrap:wrap;gap:8px}
.guideline-meta-pill{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:7px 12px;border:1px solid #d7e6fb;background:#f4f8ff;color:#234d86;font-weight:800;font-size:12px}
.guideline-accordion-list{display:grid;gap:14px}
.guideline-accordion{overflow:hidden;padding:0!important;border:1px solid #d9e4f4!important;border-radius:24px!important;background:linear-gradient(180deg,#ffffff,#fbfdff)!important;box-shadow:0 18px 38px rgba(15,39,68,.08)!important}
.guideline-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:20px 22px;font-weight:900;color:#0f2744;background:linear-gradient(180deg,var(--guide-head-bg,#f8fbff),#fff)}
.guideline-accordion-head::-webkit-details-marker{display:none}
.guideline-accordion-head::after{content:'\25BE';font-size:15px;color:var(--guide-accent,#4f78ab);transition:transform .16s ease}
.guideline-accordion:not([open]) .guideline-accordion-head::after{transform:rotate(-90deg)}
.guideline-accordion-title-wrap{display:flex;align-items:flex-start;gap:12px;min-width:0}
.guideline-accordion-icon{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:12px;background:var(--guide-icon-bg,#edf4ff);color:var(--guide-accent,#275fa6);font-size:13px;font-weight:900;flex:0 0 auto}
.guideline-accordion-title-copy{display:block;font-size:clamp(1.08rem,2.4vw,1.28rem);line-height:1.15;letter-spacing:-.02em}
.guideline-accordion-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;border-radius:999px;padding:6px 11px;background:var(--guide-badge-bg,#eef6ff);color:var(--guide-accent,#235aa6);font-size:11px;font-weight:900;letter-spacing:.08em}
.guideline-accordion-body{padding:0 22px 22px;border-top:1px solid #deebf9;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.98))}
.guideline-summary-box{margin-top:18px;padding:18px 20px;border-radius:18px;background:var(--guide-summary-bg,#f5f9ff);border:1px solid var(--guide-summary-border,#d8e6fb);color:#143b69;font-weight:800;font-size:1.06rem;line-height:1.65;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.guideline-accordion-body p{margin:10px 0 0}
.guide-accordion-block{display:grid;gap:12px;margin-top:16px;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid rgba(196,211,233,.9);box-shadow:0 10px 24px rgba(15,39,68,.05)}
.guide-accordion-block h3{margin:0;color:#0f2744;font-size:1.15rem;line-height:1.25;letter-spacing:-.02em}
.guideline-block-copy{color:#183a61;font-size:1.03rem;line-height:1.78}
.guide-accordion-block ul,.guide-accordion-block ol{margin:0;padding-left:1.2rem;display:grid;gap:8px}
.guide-accordion-block li{margin:0;color:#183a61;font-size:1.03rem;line-height:1.78}
.guide-accordion-block--steps ol{counter-reset:item}
.guide-accordion-block--steps li::marker{font-weight:900;color:var(--guide-accent,#275fa6)}
.guideline-block-copy strong,.guide-accordion-block li strong,.guideline-summary-box strong{color:#0b2340;font-weight:650}
.guideline-inline-label{color:#13385f;font-weight:650}
.guideline-block-copy em,.guide-accordion-block li em{font-style:normal;color:var(--guide-accent,#275fa6);font-weight:800}
.guideline-accordion--summary{--guide-accent:#385b87;--guide-icon-bg:#eef3f8;--guide-head-bg:#f9fbfd;--guide-badge-bg:#edf3fa;--guide-summary-bg:#f7fafc;--guide-summary-border:#d8e1ec}
.guideline-accordion--redflags{--guide-accent:#c9473f;--guide-icon-bg:#fff0ee;--guide-head-bg:#fff7f6;--guide-badge-bg:#fff0ee;--guide-summary-bg:#fff6f5;--guide-summary-border:#f6c9c4}
.guideline-accordion--diagnostics{--guide-accent:#2d6ca3;--guide-icon-bg:#edf6ff;--guide-head-bg:#f7fbff;--guide-badge-bg:#edf6ff;--guide-summary-bg:#f4f9ff;--guide-summary-border:#d5e7fb}
.guideline-accordion--labor{--guide-accent:#5564a8;--guide-icon-bg:#f0f2ff;--guide-head-bg:#fafbff;--guide-badge-bg:#eef0ff;--guide-summary-bg:#f6f7ff;--guide-summary-border:#dde1fd}
.guideline-accordion--imaging{--guide-accent:#6a58a8;--guide-icon-bg:#f4f0ff;--guide-head-bg:#fbf8ff;--guide-badge-bg:#f0ebff;--guide-summary-bg:#f8f5ff;--guide-summary-border:#e4dafd}
.guideline-accordion--actions{--guide-accent:#0f62fe;--guide-icon-bg:#eaf3ff;--guide-head-bg:#f5faff;--guide-badge-bg:#e9f2ff;--guide-summary-bg:#f4f9ff;--guide-summary-border:#d1e4ff}
.guideline-accordion--therapy{--guide-accent:#18805c;--guide-icon-bg:#edf9f2;--guide-head-bg:#f7fcf9;--guide-badge-bg:#ebf8f0;--guide-summary-bg:#f2fbf6;--guide-summary-border:#cdebd9}
.guideline-accordion--disposition{--guide-accent:#9a5c00;--guide-icon-bg:#fff5e7;--guide-head-bg:#fffaf3;--guide-badge-bg:#fff2df;--guide-summary-bg:#fff8ec;--guide-summary-border:#f3ddae}
.guideline-accordion--reevaluation{--guide-accent:#0d7b77;--guide-icon-bg:#ebfbf8;--guide-head-bg:#f7fefd;--guide-badge-bg:#e8faf6;--guide-summary-bg:#effcf8;--guide-summary-border:#ccefeb}
.guideline-accordion--pitfalls{--guide-accent:#b25416;--guide-icon-bg:#fff3eb;--guide-head-bg:#fff9f5;--guide-badge-bg:#fff0e4;--guide-summary-bg:#fff6f0;--guide-summary-border:#f4d4bf}
.guideline-accordion--parents{--guide-accent:#256d8f;--guide-icon-bg:#edf8fd;--guide-head-bg:#f8fcff;--guide-badge-bg:#ebf7fd;--guide-summary-bg:#f3fbff;--guide-summary-border:#d2eaf5}
.guideline-accordion--sources{--guide-accent:#5b6678;--guide-icon-bg:#f1f4f8;--guide-head-bg:#fafbfd;--guide-badge-bg:#eff3f7;--guide-summary-bg:#f6f8fb;--guide-summary-border:#dce2ea}
@media(max-width:720px){
  .guideline-detail-view{max-width:none}
  .guideline-hero{padding:18px 16px;border-radius:22px;gap:10px}
  .guideline-accordion{border-radius:20px!important}
  .guideline-accordion-head{padding:15px 16px;align-items:flex-start}
  .guideline-accordion-title-wrap{gap:10px}
  .guideline-accordion-icon{min-width:30px;height:30px;border-radius:10px}
  .guideline-accordion-body{padding:0 14px 16px}
  .guideline-summary-box{padding:14px 14px;border-radius:14px;font-size:1rem;line-height:1.6}
  .guide-accordion-block{padding:14px 14px;border-radius:16px}
  .guideline-hero .page-title{max-width:none}
  .guideline-hero .page-description{font-size:.98rem;line-height:1.62}
  .guideline-block-copy,.guide-accordion-block li{font-size:.98rem;line-height:1.68}
  .guideline-meta-row{display:grid;grid-template-columns:1fr}
  .guideline-meta-pill{justify-content:flex-start}
}

/* v3.6 calculator layer */
.tools-page{max-width:980px;margin:0 auto}.tool-card{background:var(--surface,#fff);border:1px solid var(--border,#d7e0ee);border-radius:22px;padding:clamp(14px,2.8vw,24px);box-shadow:0 12px 28px rgba(15,39,68,.08)}.tool-card--primary{border-color:rgba(47,106,230,.24);background:linear-gradient(180deg,#fff,#f6f9ff)}.tool-card--warn{border-color:rgba(201,71,63,.22);background:#fff8f7}.tool-card h2{margin:0 0 12px;font-size:clamp(1.05rem,2.8vw,1.45rem)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-grid label{display:grid;gap:6px;font-weight:750;color:var(--text,#0f2744)}.tool-grid input,.tool-grid select{width:100%;min-width:0;min-height:44px;border:1px solid var(--border,#d7e0ee);border-radius:14px;padding:10px 12px;font:inherit;background:#fff;color:var(--text,#0f2744)}.tool-output{margin-top:14px}.tool-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tool-result-grid--single{grid-template-columns:minmax(0,1fr);max-width:260px}.tool-result-grid>div{background:#eef5ff;border:1px solid rgba(47,106,230,.16);border-radius:16px;padding:12px;min-width:0}.tool-result-grid strong{display:block;font-size:clamp(1.05rem,3vw,1.35rem);color:var(--blue,#2f6ae6);line-height:1.15;overflow-wrap:anywhere}.tool-result-grid span{display:block;margin-top:4px;font-size:.86rem;color:var(--muted,#2f3e55)}@media(max-width:720px){.tool-grid{grid-template-columns:1fr}.tool-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-result-grid--single{grid-template-columns:1fr;max-width:none}}@media(max-width:420px){.tool-card{border-radius:18px;padding:12px}.tool-result-grid{grid-template-columns:1fr}}
.hno-dosecalc-app--locked,.hno-dosecalc-app--locked *{box-sizing:border-box!important}
.hno-dosecalc-app--locked{--dose-line:#d8e4ef;--dose-text:#18324a;--dose-card:#fff;--dose-blue-soft:#eef6ff;--dose-green-soft:#eef8ef;--dose-amber-soft:#fff7e7;--dose-result-soft:#fff3c9;--dose-result-border:#e7c563;--dose-shadow:0 8px 24px rgba(18,47,78,.08);font-family:Arial,Helvetica,sans-serif!important;color:var(--dose-text)!important;background:transparent!important}
.hno-dosecalc-app--locked .hno-dosecalc-wrap{max-width:1150px!important;margin:0 auto!important;padding:0!important}
.hno-dosecalc-app--locked .hno-dosecalc-hero{background:linear-gradient(135deg,#0f5ea8 0%,#1c79c8 100%)!important;color:#fff!important;border-radius:22px!important;padding:24px 22px!important;box-shadow:var(--dose-shadow)!important;margin-bottom:16px!important}
.hno-dosecalc-app--locked .hno-dosecalc-hero h2,.hno-dosecalc-app--locked .hno-dosecalc-hero p{color:#fff!important;margin:0!important;text-shadow:none!important}
.hno-dosecalc-app--locked .hno-dosecalc-hero h2{margin-bottom:8px!important;font-size:clamp(1.35rem,2.7vw,2rem)!important;line-height:1.2!important;font-weight:700!important}
.hno-dosecalc-app--locked .hno-dosecalc-hero p{line-height:1.55!important}
.hno-dosecalc-app--locked .hno-dosecalc-note{background:#fff!important;border:1px solid var(--dose-line)!important;border-radius:20px!important;padding:16px!important;box-shadow:var(--dose-shadow)!important;margin-bottom:16px!important;line-height:1.55!important}
.hno-dosecalc-app--locked .hno-dosecalc-note h3{margin:0 0 10px!important;color:#0f4f85!important;font-size:1.12rem!important}
.hno-dosecalc-controls-single{display:grid!important;grid-template-columns:1.3fr .8fr!important;gap:16px!important;margin-bottom:16px!important}
.hno-dosecalc-drugbox,.hno-dosecalc-weightbox{background:#fff!important;border:1px solid var(--dose-line)!important;border-radius:20px!important;padding:16px!important;box-shadow:var(--dose-shadow)!important}
.hno-dosecalc-drugbox label,.hno-dosecalc-weightbox label{display:block!important;font-weight:700!important;margin-bottom:10px!important;color:#17476f!important}
.drug-picker-toggle{width:100%!important;border:1px solid #ccd9e5!important;background:#fff!important;color:#18324a!important;border-radius:16px!important;padding:13px 14px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;cursor:pointer!important;text-align:left!important;font-size:1rem!important;box-shadow:none!important}
.drug-picker-arrow{margin-left:12px!important;font-size:1rem!important;color:#567087!important;flex-shrink:0!important}
.drug-picker-panel{margin-top:10px!important;border:1px solid #d8e4ef!important;border-radius:16px!important;background:#fbfdff!important;overflow:hidden!important}
.drug-picker-panel[hidden]{display:none!important}
.drug-search-wrap{padding:10px!important;border-bottom:1px solid #d8e4ef!important;background:#fff!important}
.drug-search-wrap input{width:100%!important;padding:12px 13px!important;border:1px solid #ccd9e5!important;border-radius:14px!important;font-size:.98rem!important;color:#18324a!important;background:#fff!important;appearance:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.drugbox-list{max-height:360px!important;overflow:auto!important;padding:10px!important}
.drug-group{margin-bottom:12px!important;border:1px solid #d8e4ef!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.drug-group-title{background:#eef6ff!important;color:#0f4f85!important;font-weight:700!important;padding:10px 12px!important;border-bottom:1px solid #d8e4ef!important;line-height:1.35!important}
.drug-items{padding:8px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
.drug-item{border:1px solid #d8e4ef!important;background:#fff!important;color:#18324a!important;border-radius:12px!important;padding:10px 12px!important;cursor:pointer!important;font-size:.96rem!important;line-height:1.35!important;text-align:left!important;width:100%!important}
.drug-item:hover{background:#f4f9ff!important}
.drug-item.active{background:linear-gradient(135deg,#eef6ff 0%,#e3f0ff 100%)!important;border-color:#8db8e6!important;color:#123f66!important;font-weight:700!important}
.hno-dosecalc-weightbox input{width:100%!important;padding:13px 14px!important;border:1px solid #ccd9e5!important;border-radius:16px!important;font-size:1rem!important;color:var(--dose-text)!important;background:#fff!important;appearance:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.weight-row{display:flex!important;gap:10px!important;align-items:stretch!important}
.weight-row input{flex:1!important}
.weight-row button{min-width:140px!important;padding:13px 16px!important;border:none!important;border-radius:16px!important;background:linear-gradient(135deg,#0f5ea8 0%,#1c79c8 100%)!important;color:#fff!important;font-weight:700!important;cursor:pointer!important}
.hno-dosecalc-result{background:#fff!important;border:1px solid var(--dose-line)!important;border-radius:22px!important;padding:16px!important;box-shadow:var(--dose-shadow)!important}
.hno-dosecalc-result h3{margin:0 0 12px!important;color:#0f4f85!important;font-size:1.12rem!important}
.hno-dosecalc-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.hno-dosecalc-card{background:#fff!important;border:1px solid var(--dose-line)!important;border-radius:18px!important;padding:14px!important;box-shadow:var(--dose-shadow)!important;white-space:pre-line!important;line-height:1.5!important}
.hno-dosecalc-card strong{display:block!important;margin-bottom:6px!important;color:#104a79!important}
.hno-dosecalc-card-main{background:var(--dose-blue-soft)!important}
.hno-dosecalc-card-ped{background:var(--dose-green-soft)!important}
.hno-dosecalc-card-calc{background:var(--dose-result-soft)!important;border:1px solid var(--dose-result-border)!important}
.hno-dosecalc-footnotes{margin-top:14px!important;padding:14px!important;border-radius:18px!important;background:var(--dose-amber-soft)!important;border:1px solid #edd7a0!important;white-space:pre-line!important;line-height:1.55!important}
@media(max-width:900px){.hno-dosecalc-controls-single,.hno-dosecalc-grid{grid-template-columns:1fr!important}.weight-row{flex-direction:column!important}.weight-row button{width:100%!important}}

/* V4_F26: Antibiotika calculator, pediatric-first result hierarchy */
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-note{
  display:none!important;
}
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-wrap{
  max-width:1120px!important;
}
body.route-tools .hno-dosecalc-controls-single{
  align-items:start!important;
}
body.route-tools .hno-dosecalc-result{
  border-radius:18px!important;
  padding:clamp(14px,2vw,20px)!important;
}
body.route-tools .hno-dosecalc-card{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body.route-tools .hno-dosecalc-card-primary{
  grid-column:1/-1!important;
  border-left:6px solid #16805c!important;
  background:linear-gradient(180deg,#f2fbf6,#ffffff)!important;
  border-color:#b8e2ca!important;
}
body.route-tools .hno-dosecalc-card-primary strong{
  color:#106546!important;
  font-size:1.05rem!important;
}
body.route-tools .hno-dosecalc-card-ped{
  border-left:5px solid #0f5ea8!important;
  border-color:#bad5ee!important;
  background:linear-gradient(180deg,#f2f8ff,#ffffff)!important;
}
body.route-tools .hno-dosecalc-card-main{
  border-left:5px solid #2d8f8a!important;
  background:#f7fcfb!important;
}
body.route-tools .hno-dosecalc-card-adult{
  border-left:5px solid #c77918!important;
  border-color:#efd1a9!important;
  background:linear-gradient(180deg,#fffaf2,#ffffff)!important;
}
body.route-tools .hno-dosecalc-card-info{
  grid-column:1/-1!important;
  background:#f7fbff!important;
}
body.route-tools .hno-dosecalc-footnotes{
  color:#193a56!important;
  background:#f7fbff!important;
  border-color:#cfe0ef!important;
}
.ped-emergency-calc,.ped-emergency-calc *{box-sizing:border-box}
.ped-emergency-calc{color:#1f2937;background:linear-gradient(135deg,#eef3f8,#f8fbfd);border:1px solid #d7e0ee;border-radius:24px;padding:18px;box-shadow:0 12px 28px rgba(15,39,68,.08)}
.ped-emergency-warning{background:#fff7ed;border:1px solid #fed7aa;border-left:6px solid #f97316;border-radius:18px;padding:16px 18px;margin-bottom:18px;color:#7c2d12;line-height:1.58}
.ped-emergency-warning h2{margin:0 0 8px;color:#9a3412;font-size:1.2rem}
.ped-emergency-warning p{margin:8px 0 0}
.ped-emergency-header{background:linear-gradient(135deg,#8b0f1a,#b91c1c);color:#fff;border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.ped-emergency-header h2{margin:0 0 8px;color:#fff;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.2}
.ped-emergency-header p{margin:0;color:#fff;line-height:1.6;opacity:.95}
.ped-emergency-input-box,.ped-emergency-summary,.ped-emergency-section,.ped-emergency-footer-note{background:#fff;border-radius:18px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.ped-emergency-input-box{padding:20px;margin-bottom:18px}
.ped-emergency-input-grid{display:grid;grid-template-columns:220px 200px 160px;gap:14px;align-items:end}
.ped-emergency-input-grid label{display:grid;gap:6px;font-weight:700;color:#334155}
.ped-emergency-input-grid input,.ped-emergency-input-grid button{width:100%;min-width:0;padding:12px 14px;border-radius:12px;font-size:16px}
.ped-emergency-input-grid input{border:1px solid #cbd5e1;background:#fff;color:#1f2937}
.ped-emergency-input-grid button{border:none;cursor:pointer;background:#2563eb;color:#fff;font-weight:700}
.ped-emergency-input-grid button:hover{background:#1d4ed8}
.ped-emergency-summary{padding:18px;margin-bottom:18px}
.ped-emergency-summary[hidden]{display:none!important}
.ped-emergency-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.ped-emergency-summary-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px}
.ped-emergency-summary-grid strong{display:block;color:#111827;margin-bottom:4px}
.ped-emergency-section{overflow:hidden;margin-bottom:18px}
.ped-emergency-section-header{color:#fff;padding:14px 18px;font-size:20px;font-weight:700}
.ped-emergency-section-header.airway{background:#4a63b7}
.ped-emergency-section-header.cpr{background:#d85636}
.ped-emergency-section-header.anaphylaxie{background:#f0a132}
.ped-emergency-section-header.fluid{background:#73b7df}
.ped-emergency-section-header.analgosedierung{background:#7cc84f}
.ped-emergency-section-header.krampfanfall{background:#f0c71c;color:#222}
.ped-emergency-section-header.narkose{background:#a687c7}
.ped-emergency-section-header.atemnot{background:#2ea8e0}
.ped-emergency-section-header.sonstiges{background:#666}
.ped-emergency-table-wrap{overflow:auto}
.ped-emergency-calc table{width:100%;border-collapse:collapse}
.ped-emergency-calc th,.ped-emergency-calc td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top;font-size:14px}
.ped-emergency-calc th{background:#f8fafc;color:#334155;font-weight:700}
.ped-emergency-calc tr:hover td{background:#fafcff}
.ped-emergency-calc td strong{font-weight:700;color:#111827}
.ped-value{font-weight:700;color:#0f172a}
.ped-small{font-size:12px;color:#64748b;line-height:1.4}
.ped-emergency-note{background:#fff7ed;border-left:5px solid #f97316;padding:12px 14px;margin:12px 0 18px;border-radius:12px;font-size:13px;line-height:1.5;color:#334155}
.ped-emergency-note ul{margin:8px 0 0;padding-left:1.2rem}
.ped-emergency-footer-note{border:1px solid #e5e7eb;padding:16px;line-height:1.6;font-size:14px;color:#334155}
@media(max-width:900px){
  .ped-emergency-calc{padding:12px;border-radius:20px}
  .ped-emergency-input-grid{grid-template-columns:1fr}
  .ped-emergency-calc table,.ped-emergency-calc thead,.ped-emergency-calc tbody,.ped-emergency-calc th,.ped-emergency-calc td,.ped-emergency-calc tr{display:block}
  .ped-emergency-calc thead{display:none}
  .ped-emergency-calc tr{border-bottom:1px solid #e5e7eb;padding:8px 0}
  .ped-emergency-calc td{border:none;padding:6px 12px}
  .ped-emergency-calc td::before{content:attr(data-label);display:block;font-size:12px;color:#64748b;margin-bottom:2px}
}
.ana-page{max-width:1200px;margin:0 auto;padding:0 0 10px;font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.ana-hero{background:linear-gradient(135deg,#b71c1c,#d32f2f);color:#fff;padding:28px 24px;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.12);margin-bottom:18px}
.ana-hero h2{margin:0 0 8px;color:#fff;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
.ana-subtitle{margin:0;font-size:16px;opacity:.95;color:#fff}
.ana-alert{border-radius:14px;padding:16px 18px;margin:14px 0;line-height:1.6;box-shadow:0 4px 12px rgba(0,0,0,.05)}
.ana-alert-danger{background:#fff1f2;border-left:6px solid #d32f2f}
.ana-alert-warning{background:#fff8e6;border-left:6px solid #f59e0b}
.ana-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 8px 24px rgba(15,23,42,.07)}
.ana-card h2{margin:0 0 16px;font-size:24px;color:#0f172a}
.ana-card h3{margin:0 0 10px;font-size:18px}
.ana-input-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ana-input-row label{font-weight:700}
.ana-input-row input{min-width:180px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px}
.ana-input-row button{border:none;border-radius:10px;background:#1976d2;color:#fff;font-size:16px;font-weight:700;padding:12px 18px;cursor:pointer}
.ana-input-row button:hover{background:#125ea8}
.ana-input-note{margin:12px 0 0;color:#475569;line-height:1.5}
.severity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.severity-box{border-radius:14px;padding:16px;color:#fff;min-height:120px}
.severity-box p{margin:0;line-height:1.45}
.severity-1{background:#2e7d32}.severity-2{background:#f9a825;color:#111827}.severity-3{background:#ef6c00}.severity-4{background:#c62828}
.result-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:18px;margin-bottom:18px}
.result-summary h2{margin:0 0 10px;font-size:24px;color:#0f172a}.result-summary p{margin:6px 0;line-height:1.6}
.category-block{margin-top:22px}.category-title{display:inline-block;padding:10px 16px;border-radius:12px;color:#fff;font-size:20px;font-weight:700;margin-bottom:14px}
.cat-adrenalin{background:#c62828}.cat-antihistaminika{background:#2e7d32}.cat-steroide{background:#ef6c00}.cat-inhalation{background:#1565c0}.cat-volumen{background:#6d28d9}
.med-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.med-box{border-radius:18px;padding:18px;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.bg-adrenalin{background:#d32f2f}.bg-antihistaminika{background:#388e3c}.bg-steroide{background:#f57c00}.bg-inhalation{background:#1976d2}.bg-volumen{background:#7c3aed}
.med-box h3{font-size:20px;margin:0 0 12px;color:#fff}.prep-title,.dose-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;opacity:.95}
.prep-title{margin-bottom:8px}.prep-list{margin:0 0 14px;padding-left:18px;line-height:1.7}.prep-list li{margin-bottom:3px}
.dose-title{margin-top:10px}.dose-main{font-size:26px;font-weight:700;margin:8px 0;line-height:1.3}.dose-text{margin:6px 0;line-height:1.6}
.dose-divider{border:none;border-top:1px solid rgba(255,255,255,.28);margin:14px 0}
@media(max-width:950px){.severity-grid,.med-grid{grid-template-columns:1fr}.ana-hero h2{font-size:27px}.ana-card{padding:18px}.ana-input-row input,.ana-input-row button{width:100%}}
.fluid-therapy-calc{display:flex;justify-content:center}
.fluid-therapy-card{width:100%;max-width:850px;margin:0 auto;padding:25px;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08);border:1px solid #e5e7eb;border-left:6px solid #8c1d18;font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.fluid-therapy-card h2{margin:0 0 18px;color:#005ea8;text-align:center;font-size:1.45rem;line-height:1.2}
.fluid-therapy-intro,.fluid-info,.fluid-example{padding:14px;background:#f8fafc;border-radius:10px;font-size:14px;color:#444;line-height:1.6}
.fluid-therapy-intro{margin-bottom:18px}
.fluid-therapy-form{display:grid;gap:12px}
.fluid-therapy-form label{display:grid;gap:8px;font-weight:700;color:#334155}
.fluid-therapy-form input,.fluid-therapy-form select{width:100%;min-height:44px;padding:12px;border-radius:8px;border:1px solid #cbd5e1;font-size:16px;box-sizing:border-box;background:#fff;color:#1f2937}
.fluid-therapy-form button{width:100%;min-height:44px;padding:12px;background:#005ea8;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:800;cursor:pointer}
.fluid-therapy-form button:hover{background:#004b87}
.fluid-result-list{margin-top:20px;display:grid;grid-template-columns:1fr;gap:12px}
.fluid-result-list>div{padding:14px;background:#f8fafc;border-radius:10px}
.fluid-result-list span{color:#005ea8;font-weight:800}
.fluid-result-deficit{background:#fff7ed!important;border-left:4px solid #f59e0b}
.fluid-result-deficit span{color:#8c1d18!important}
.fluid-result-losses{background:#eef6ff!important;border-left:4px solid #005ea8}
.fluid-result-total{background:#ecfdf5!important;border-left:4px solid #16a34a;font-size:18px}
.fluid-result-total span{color:#166534!important}
.fluid-info,.fluid-example{margin-top:16px}
.fluid-example{background:#fafafa}
.fluid-error{min-height:1.4em;margin:12px 0 0;color:#b91c1c;text-align:center;font-weight:700}
.fluid-note{margin-top:18px;font-size:13px;color:#666;line-height:1.5}
@media(max-width:700px){.fluid-therapy-card{padding:18px}.fluid-result-total{font-size:16px}}
.bsa-calc{display:flex;justify-content:center}
.bsa-card{width:100%;max-width:700px;margin:0 auto;padding:25px;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08);border:1px solid #e5e7eb;border-left:6px solid #8c1d18;font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.bsa-card h2{margin:0;color:#005ea8;text-align:center;font-size:1.35rem;line-height:1.2}
.bsa-formula{display:flex;align-items:center;justify-content:center;gap:12px;font-size:24px;margin:20px 0;color:#111827}
.bsa-fraction{display:inline-grid;text-align:center;line-height:1.3}
.bsa-fraction span:first-child{border-bottom:2px solid #111;padding:0 15px 4px}
.bsa-fraction span:last-child{padding-top:4px}
.bsa-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.bsa-input-row label{display:grid;gap:6px;font-weight:700;color:#334155}
.bsa-input-row input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:10px;font:inherit}
.bsa-input-row button{min-height:42px;padding:8px 15px;background:#005ea8;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:800}
.bsa-input-row button:hover{background:#004b87}
.bsa-result{margin:15px 0 0;line-height:1.5}
.bsa-error{min-height:1.4em;margin:6px 0 0;color:#b91c1c;font-weight:700}
.bsa-reference{display:grid;gap:4px;margin-top:16px;padding:13px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb;color:#334155}
.bsa-reference strong{color:#0f172a}
@media(max-width:700px){.bsa-card{padding:18px}.bsa-formula{font-size:20px;gap:8px}.bsa-input-row{grid-template-columns:1fr}.bsa-input-row button{width:100%}}
.hno-dosecalc-app--locked,
.ped-emergency-calc,
.ana-page,
.fluid-therapy-calc,
.bsa-calc{
  --calc-blue:#0f5ea8;
  --calc-blue-2:#1c79c8;
  --calc-line:#d8e4ef;
  --calc-text:#18324a;
  --calc-muted:#50627a;
  --calc-soft:#f6f9ff;
  --calc-blue-soft:#eef6ff;
  --calc-green-soft:#f2fbf6;
  --calc-amber-soft:#fff8ec;
  --calc-red-soft:#fff6f5;
  --calc-shadow:0 12px 28px rgba(15,39,68,.08);
}
.ped-emergency-calc,
.ana-page,
.fluid-therapy-calc,
.bsa-calc{
  color:var(--calc-text)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.ped-emergency-header,
.ana-hero{
  background:linear-gradient(135deg,var(--calc-blue),var(--calc-blue-2))!important;
  color:#fff!important;
  border:0!important;
  border-radius:22px!important;
  box-shadow:var(--calc-shadow)!important;
}
.ped-emergency-header h2,
.ped-emergency-header p,
.ana-hero h2,
.ana-subtitle{
  color:#fff!important;
}
.ped-emergency-input-box,
.ped-emergency-summary,
.ped-emergency-section,
.ped-emergency-footer-note,
.ana-card,
.fluid-therapy-card,
.bsa-card{
  border:1px solid var(--calc-line)!important;
  border-left:0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--calc-shadow)!important;
}
.fluid-therapy-card h2,
.bsa-card h2,
.ana-card h2{
  color:#0f4f85!important;
}
.ana-card h3,
.ped-emergency-summary-grid strong,
.ped-emergency-calc td strong{
  color:#0f2744!important;
}
.ped-emergency-warning,
.ana-alert-danger{
  background:var(--calc-red-soft)!important;
  border:1px solid #f3c6c2!important;
  border-left:5px solid #c9473f!important;
  color:#7a241f!important;
  box-shadow:0 8px 18px rgba(15,39,68,.05)!important;
}
.ana-alert-warning,
.ped-emergency-note,
.fluid-result-deficit{
  background:var(--calc-amber-soft)!important;
  border-color:#f3ddae!important;
  border-left-color:#d9822b!important;
  color:#6f4511!important;
}
.ped-emergency-input-grid button,
.ana-input-row button,
.fluid-therapy-form button,
.bsa-input-row button{
  background:linear-gradient(135deg,var(--calc-blue),var(--calc-blue-2))!important;
  border-radius:14px!important;
  color:#fff!important;
}
.ped-emergency-input-grid button:hover,
.ana-input-row button:hover,
.fluid-therapy-form button:hover,
.bsa-input-row button:hover{
  filter:brightness(.96);
}
.ped-emergency-input-grid input,
.ana-input-row input,
.fluid-therapy-form input,
.fluid-therapy-form select,
.bsa-input-row input{
  border:1px solid #ccd9e5!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--calc-text)!important;
}
.ped-emergency-section-header{
  background:#eef6ff!important;
  color:#0f4f85!important;
  border-bottom:1px solid var(--calc-line)!important;
}
.ped-emergency-section-header.krampfanfall{
  color:#0f4f85!important;
}
.ped-emergency-summary-grid>div,
.fluid-result-list>div,
.fluid-therapy-intro,
.fluid-info,
.fluid-example,
.bsa-reference,
.result-summary{
  background:var(--calc-soft)!important;
  border:1px solid var(--calc-line)!important;
  color:var(--calc-text)!important;
}
.fluid-result-list span,
.bsa-result span,
.ped-value{
  color:var(--calc-blue)!important;
}
.fluid-result-losses{
  background:var(--calc-blue-soft)!important;
  border-left-color:var(--calc-blue)!important;
}
.fluid-result-total{
  background:var(--calc-green-soft)!important;
  border-left-color:#18805c!important;
}
.fluid-result-total span{
  color:#166534!important;
}

/* V4_F27: fluid therapy calculator, deficit-none + colored totals + solution accordions */
body.route-tools .fluid-therapy-card{
  max-width:1120px!important;
}
body.route-tools .fluid-result-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.route-tools .fluid-result-list>div{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border-left:5px solid #9bb8d5!important;
  box-shadow:0 6px 16px rgba(15,39,68,.045)!important;
}
body.route-tools .fluid-result-list>div strong{
  color:#0f2744!important;
}
body.route-tools .fluid-result-list>div span{
  font-variant-numeric:tabular-nums!important;
  font-size:1.08em!important;
}
body.route-tools .fluid-result-deficit{
  background:#fff8ec!important;
  border-left-color:#d9822b!important;
}
body.route-tools .fluid-result-losses{
  background:#eef6ff!important;
  border-left-color:#0f5ea8!important;
}
body.route-tools .fluid-result-total{
  grid-column:1/-1!important;
  background:linear-gradient(180deg,#ecfdf5,#ffffff)!important;
  border-left-color:#16805c!important;
  border-color:#b8e2ca!important;
  font-size:1.05rem!important;
}
body.route-tools .fluid-result-total span{
  color:#106546!important;
  font-size:1.25em!important;
}
body.route-tools .fluid-solutions{
  margin-top:16px!important;
  padding:14px!important;
  border:1px solid var(--calc-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,39,68,.045)!important;
}
body.route-tools .fluid-solutions-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
body.route-tools .fluid-solutions-head strong{
  color:#0f4f85!important;
  font-size:1.12rem!important;
}
body.route-tools .fluid-solutions-head span{
  color:#50627a!important;
  font-size:.92rem!important;
}
body.route-tools .fluid-solutions-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.route-tools .fluid-solution-item{
  border:1px solid #cfe0ef!important;
  border-radius:14px!important;
  background:#f8fbff!important;
  overflow:hidden!important;
}
body.route-tools .fluid-solution-item summary{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:12px 14px!important;
  cursor:pointer!important;
  list-style:none!important;
}
body.route-tools .fluid-solution-item summary::-webkit-details-marker{
  display:none!important;
}
body.route-tools .fluid-solution-item summary span{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
body.route-tools .fluid-solution-item summary strong{
  color:#0f2744!important;
  line-height:1.1!important;
}
body.route-tools .fluid-solution-item summary em{
  color:#50627a!important;
  font-style:normal!important;
  font-size:.88rem!important;
  overflow-wrap:anywhere!important;
}
body.route-tools .fluid-solution-item summary b{
  color:#167342!important;
  flex:0 0 auto!important;
}
body.route-tools .fluid-solution-item[open]{
  background:#fff!important;
  border-color:#b9d2e8!important;
  box-shadow:0 10px 24px rgba(15,39,68,.08)!important;
}
body.route-tools .fluid-solution-item[open] summary{
  min-height:86px!important;
  align-items:flex-start!important;
  padding:18px 18px!important;
  background:linear-gradient(180deg,#14786f,#0f6a63)!important;
  color:#fff!important;
}
body.route-tools .fluid-solution-item[open] summary strong{
  color:#fff!important;
  font-size:clamp(1.12rem,1.5vw,1.38rem)!important;
}
body.route-tools .fluid-solution-item[open] summary em{
  color:rgba(255,255,255,.9)!important;
  font-size:.96rem!important;
}
body.route-tools .fluid-solution-item[open] summary b{
  color:#fff!important;
  transform:rotate(180deg);
}
body.route-tools .fluid-solution-body{
  display:grid!important;
  gap:12px!important;
  padding:16px 18px 18px!important;
  background:#fff!important;
}
body.route-tools .fluid-solution-body p{
  margin:0!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:#fff!important;
  border:1px solid #d8e4ef!important;
  color:#193a56!important;
}
body.route-tools .fluid-solution-type-pill{
  width:max-content!important;
  max-width:100%!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#c9f7dd!important;
  color:#075f48!important;
  font-size:.84rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  overflow-wrap:anywhere!important;
}
body.route-tools .fluid-solution-table{
  width:100%!important;
  overflow:hidden!important;
  border:1px solid #b9c8d9!important;
  border-radius:0!important;
  background:#fff!important;
}
body.route-tools .fluid-solution-row{
  display:grid!important;
  grid-template-columns:minmax(128px,.8fr) minmax(0,1fr)!important;
  min-width:0!important;
  border-top:1px solid #d8e3f0!important;
}
body.route-tools .fluid-solution-row:first-child{
  border-top:0!important;
}
body.route-tools .fluid-solution-row strong,
body.route-tools .fluid-solution-row span{
  min-width:0!important;
  padding:10px 12px!important;
  line-height:1.28!important;
  overflow-wrap:anywhere!important;
}
body.route-tools .fluid-solution-row strong{
  display:flex!important;
  align-items:center!important;
  color:#334155!important;
  background:#edf5fb!important;
  border-right:1px solid #c6d6e8!important;
  font-weight:800!important;
}
body.route-tools .fluid-solution-row span{
  color:#0f172a!important;
  background:#fff!important;
  font-variant-numeric:tabular-nums!important;
}
@media(max-width:900px){
  body.route-tools .fluid-result-list,
  body.route-tools .fluid-solutions-grid{
    grid-template-columns:1fr!important;
  }
  body.route-tools .fluid-result-list>div{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.route-tools .fluid-solutions-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.route-tools .fluid-solution-row{
    grid-template-columns:minmax(116px,.75fr) minmax(0,1fr)!important;
  }
  body.route-tools .fluid-solution-row strong,
  body.route-tools .fluid-solution-row span{
    padding:8px 9px!important;
    font-size:.9rem!important;
  }
  body.route-tools .fluid-solution-item[open] summary{
    min-height:76px!important;
    padding:14px 14px!important;
  }
  body.route-tools .fluid-solution-body{
    padding:14px!important;
  }
  body.route-tools .fluid-solution-type-pill{
    font-size:.76rem!important;
    line-height:1.2!important;
  }
}

/* V4_F33: responsive quick menu alignment + drill-down semantics */
@media(min-width:901px){
  body.mobile-bottom-menu-open .mobile-quick-menu{
    justify-content:flex-end!important;
    align-items:flex-start!important;
  }
  .mobile-quick-menu__sheet{
    margin:22px 22px 0 auto!important;
  }
}
.mobile-quick-menu__row[data-menu-route] .mobile-quick-menu__chevron,
.mobile-quick-menu__row[data-menu-action] .mobile-quick-menu__chevron{
  display:none!important;
}
.mobile-quick-menu__row[data-menu-route="opeg/home"] .mobile-quick-menu__chevron{
  display:inline-flex!important;
}
.mobile-quick-menu__row[data-menu-opeg-group]::after,
.mobile-quick-menu__row[data-menu-opeg-path]::after{
  content:"\203A"!important;
  color:#0b5f9f!important;
  font-size:1.2rem!important;
  line-height:1!important;
  font-weight:850!important;
}

/* V4_F34: remove duplicate desktop/tablet navigation actions */
@media(min-width:901px){
  .route-action-bar.visible .route-action-btn--icon{
    display:none!important;
  }
  body.route-tools .route-action-bar.visible{
    display:none!important;
  }
}
.severity-box{
  color:var(--calc-text)!important;
  border:1px solid var(--calc-line)!important;
  background:var(--calc-soft)!important;
  box-shadow:0 8px 18px rgba(15,39,68,.04)!important;
}
.severity-1{border-left:5px solid #18805c!important;background:var(--calc-green-soft)!important}
.severity-2{border-left:5px solid #d9822b!important;background:var(--calc-amber-soft)!important}
.severity-3{border-left:5px solid #b25416!important;background:#fff6f0!important}
.severity-4{border-left:5px solid #c9473f!important;background:var(--calc-red-soft)!important}
.category-title{
  color:#0f4f85!important;
  background:#eef6ff!important;
  border:1px solid #cfe0f4!important;
}
.med-box{
  color:var(--calc-text)!important;
  background:#fff!important;
  border:1px solid var(--calc-line)!important;
  box-shadow:var(--calc-shadow)!important;
}
.bg-adrenalin{border-left:5px solid #c9473f!important}
.bg-antihistaminika{border-left:5px solid #18805c!important}
.bg-steroide{border-left:5px solid #d9822b!important}
.bg-inhalation{border-left:5px solid var(--calc-blue)!important}
.bg-volumen{border-left:5px solid #5564a8!important}
.med-box h3,
.dose-main{
  color:#0f2744!important;
}
.prep-title,
.dose-title{
  color:#0f4f85!important;
}
.dose-text,
.prep-list{
  color:var(--calc-text)!important;
}
.dose-divider{
  border-top:1px solid var(--calc-line)!important;
}
@media(max-width:700px){
  .home-dose-rechner-item{grid-template-columns:1fr}
  .home-dose-rechner-link{width:100%;white-space:normal}
}

/* === PEMGuide v3.7 Reference Layer === */
.guideline-detail-view .ref-inline{
  display:inline-flex;
  gap:3px;
  vertical-align:baseline;
  margin-left:4px;
  flex-wrap:wrap;
}
.ref-chip{
  appearance:none;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:800;
  border-radius:999px;
  padding:1px 6px;
  font-size:.78em;
  line-height:1.4;
  cursor:pointer;
}
.ref-chip:hover,
.ref-chip:focus{
  background:#dbeafe;
  outline:2px solid rgba(37,99,235,.18);
}
.guideline-reference-section{
  border:1px solid #d6e4f5;
  background:#fbfdff;
  border-radius:18px;
  padding:16px;
  box-shadow:0 8px 24px rgba(15,39,68,.06);
}
.reference-section-head h2{
  margin:0 0 4px;
  font-size:18px;
  color:#0f2744;
}
.reference-section-head p{
  margin:0 0 12px;
  color:#50627a;
  font-size:13px;
}
.reference-list{
  margin:0;
  padding-left:22px;
}
.reference-list li{
  margin:8px 0;
}
.reference-list-button{
  width:100%;
  text-align:left;
  border:1px solid #e2e8f0;
  background:white;
  border-radius:14px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#0f2744;
  cursor:pointer;
}
.reference-list-button strong{
  font-size:13px;
  line-height:1.35;
}
.reference-list-button span{
  font-size:12px;
  color:#64748b;
}
.reference-drawer{
  position:fixed;
  inset:auto 12px 12px 12px;
  z-index:9999;
  pointer-events:none;
  transform:translateY(120%);
  opacity:0;
  transition:transform .18s ease, opacity .18s ease;
}
.reference-drawer.open{
  pointer-events:auto;
  transform:translateY(0);
  opacity:1;
}
.reference-drawer-card{
  max-width:720px;
  margin:0 auto;
  background:#ffffff;
  border:1px solid #cbd5e1;
  border-radius:22px;
  box-shadow:0 22px 70px rgba(15,23,42,.24);
  padding:16px;
  position:relative;
}
.reference-drawer-close{
  position:absolute;
  right:10px;
  top:8px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  font-size:22px;
  cursor:pointer;
}
.reference-badge{
  display:inline-flex;
  align-items:center;
  background:#ecfeff;
  color:#155e75;
  border:1px solid #a5f3fc;
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:800;
  margin-bottom:8px;
}
.reference-drawer-card h3{
  margin:0 36px 6px 0;
  font-size:16px;
  line-height:1.35;
  color:#0f2744;
}
.reference-meta{
  margin:0 0 8px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
}
.reference-drawer-card p:not(.reference-meta){
  margin:0 0 12px;
  color:#334155;
  font-size:13px;
  line-height:1.45;
  max-height:140px;
  overflow:auto;
}
.reference-open-link{
  display:inline-flex;
  text-decoration:none;
  color:#fff;
  background:#2563eb;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:800;
}
@media (min-width: 760px){
  .reference-drawer{ inset:auto 20px 20px 20px; }
  .reference-drawer-card{ padding:18px 20px; }
}

/* v3.10 - Other symptoms taxonomy + compact responsive filters */
.category-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  overflow:visible!important;
  padding-bottom:0!important;
  align-items:flex-start!important;
}
.category-chip{
  flex:0 1 auto!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
  line-height:1.08!important;
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:clamp(11px,2.7vw,14px)!important;
  border-radius:999px!important;
}
.symptom-group-wrap{
  display:grid!important;
  gap:10px!important;
}
.symptom-group{
  max-width:100%!important;
  overflow:hidden!important;
}
.symptom-group-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
}
.symptom-group-body{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:8px!important;
  padding:8px!important;
}
.search-pool-item{
  min-width:0!important;
  width:100%!important;
  text-align:left!important;
  overflow:hidden!important;
}
.search-pool-item strong,
.search-pool-item small{
  overflow-wrap:anywhere!important;
}
@media (max-width:700px){
  .content-block:has(.category-bar){padding:14px!important;}
  .category-bar{gap:6px!important;}
  .category-chip{
    min-height:32px!important;
    padding:6px 8px!important;
    font-size:12px!important;
  }
  .symptom-group-body{grid-template-columns:1fr!important;gap:7px!important;padding:7px!important;}
  .symptom-group-head{font-size:14px!important;}
}
@media (max-width:420px){
  .category-chip{font-size:11px!important;padding:6px 7px!important;}
}

/* === PEMGuide v3.11 Font + Route Fix === */
html.pem-font-large .page-title,html.pem-font-large .card__title,html.pem-font-large .v7-card h1,html.pem-font-large .v7-card h2,html.pem-font-large .v7-card h3,html.pem-font-large .guide-box h2,html.pem-font-large .tool-card h2,html.pem-font-large .quick-pattern-section h3,html.pem-font-large .symptom-group-head,html.pem-font-large .breadcrumb,html.pem-font-large .nav-btn,html.pem-font-large .v7-primary-btn,html.pem-font-large .v7-secondary-btn,html.pem-font-large .quick-pattern-btn,html.pem-font-large .v7-evidence-chip,html.pem-font-large .v7-mini-pill{font-size:1.08em!important;line-height:1.2}
html.pem-font-xlarge .page-title,html.pem-font-xlarge .card__title,html.pem-font-xlarge .v7-card h1,html.pem-font-xlarge .v7-card h2,html.pem-font-xlarge .v7-card h3,html.pem-font-xlarge .guide-box h2,html.pem-font-xlarge .tool-card h2,html.pem-font-xlarge .quick-pattern-section h3,html.pem-font-xlarge .symptom-group-head,html.pem-font-xlarge .breadcrumb,html.pem-font-xlarge .nav-btn,html.pem-font-xlarge .v7-primary-btn,html.pem-font-xlarge .v7-secondary-btn,html.pem-font-xlarge .quick-pattern-btn,html.pem-font-xlarge .v7-evidence-chip,html.pem-font-xlarge .v7-mini-pill{font-size:1.18em!important;line-height:1.18}
html.pem-font-xxlarge .page-title,html.pem-font-xxlarge .card__title,html.pem-font-xxlarge .v7-card h1,html.pem-font-xxlarge .v7-card h2,html.pem-font-xxlarge .v7-card h3,html.pem-font-xxlarge .guide-box h2,html.pem-font-xxlarge .tool-card h2,html.pem-font-xxlarge .quick-pattern-section h3,html.pem-font-xxlarge .symptom-group-head,html.pem-font-xxlarge .breadcrumb,html.pem-font-xxlarge .nav-btn,html.pem-font-xxlarge .v7-primary-btn,html.pem-font-xxlarge .v7-secondary-btn,html.pem-font-xxlarge .quick-pattern-btn,html.pem-font-xxlarge .v7-evidence-chip,html.pem-font-xxlarge .v7-mini-pill{font-size:1.32em!important;line-height:1.16}
html.pem-font-xxlarge .page-description,html.pem-font-xxlarge .diagnose-summary,html.pem-font-xxlarge .guide-box li,html.pem-font-xxlarge .guide-box p,html.pem-font-xxlarge .tool-card p,html.pem-font-xxlarge .tool-card label,html.pem-font-xxlarge .card__desc,html.pem-font-xxlarge .quick-pattern-btn span,html.pem-font-xxlarge .v7-muted,html.pem-font-xxlarge .dx-accordion-body li,html.pem-font-xxlarge .list-tight li{font-size:1.26em!important;line-height:1.35}
html.pem-font-xlarge *,html.pem-font-xxlarge *{min-width:0;overflow-wrap:anywhere}
html.pem-font-xlarge .v7-chip-row,html.pem-font-xxlarge .v7-chip-row,html.pem-font-xlarge .action-row,html.pem-font-xxlarge .action-row,html.pem-font-xlarge .detail-actions,html.pem-font-xxlarge .detail-actions{flex-wrap:wrap!important}
@media(max-width:700px){html.pem-font-xlarge .page-title,html.pem-font-xxlarge .page-title{font-size:clamp(23px,7vw,32px)!important}html.pem-font-xlarge .v7-card h1,html.pem-font-xxlarge .v7-card h1{font-size:clamp(24px,7vw,34px)!important}html.pem-font-xxlarge .nav-btn,html.pem-font-xxlarge .v7-primary-btn,html.pem-font-xxlarge .v7-secondary-btn{white-space:normal!important}html.pem-font-xxlarge .app-subtitle{font-size:12px!important}}


/* === PEMGuide v3.13 Robust Mobile/Clinical UX Patch === */
:root{--pem-fs-body:16px;--pem-fs-small:13px;--pem-fs-h1:28px;--pem-fs-h2:22px;--pem-fs-h3:18px;--pem-fs-chip:14px;}
body,button,input,select,textarea,.page-description,.diagnose-summary,.v7-muted,.card__desc,.guide-box li,.guide-box p,.list-tight li,.search-pool-item,.quick-pattern-btn,.breadcrumb{font-size:var(--pem-fs-body)!important;line-height:1.42!important;}
.muted-small,.app-subtitle,.search-pool-item small,.quick-pattern-btn span,.v7-kicker,.v7-mini-pill,.v7-evidence-chip,.v7-score-badge,.v7-severity-badge,.category-chip,.age-chip{font-size:var(--pem-fs-small)!important;line-height:1.25!important;}
h1,.page-title,.module-head-title{font-size:var(--pem-fs-h1)!important;line-height:1.15!important;}
h2,.card__title,.content-block>h2,.guide-box h2,.tool-card h2,.v7-card h2,.v7-detail-card h2{font-size:var(--pem-fs-h2)!important;line-height:1.18!important;}
h3,.quick-pattern-section h3,.symptom-group-head,.v7-card h3,.v7-detail-card h3{font-size:var(--pem-fs-h3)!important;line-height:1.2!important;}
.chip,.finder-top-chip,.category-chip,.age-chip,.selected-chip,.v7-chip,.v7-primary-btn,.v7-secondary-btn,.action-button,.route-action-btn{font-size:var(--pem-fs-chip)!important;line-height:1.2!important;white-space:normal!important;}
.finder-search input,#globalSearch,.symptom-card p,.symptom-card h3,.quick-pattern-btn strong,.quick-pattern-btn span,.v42-evidence-item p,.v42-redflags li,.v42-recheck li,.guideline-block-copy,.guide-accordion-block li,.dx-accordion-body li,.mobile-selected-dock__top strong,.mobile-selected-dock__top em,.mobile-selected-preview-age,.mobile-selected-context-label,.mobile-selected-context-chips .compact-chip{font-size:var(--pem-fs-body)!important;}
.app-subtitle,.breadcrumb,.v7-kicker,.score-pill,.v7-score-badge,.v7-severity-badge,.v7-combo-badge,.v7-mini-pill,.v7-evidence-chip,.age-chip span,.symptom-count,.guideline-accordion-badge{font-size:var(--pem-fs-small)!important;}
*{min-width:0;overflow-wrap:anywhere;}
.finder-search .icon{left:auto!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important;}
.finder-search input{padding-left:16px!important;padding-right:46px!important;}
.search-row{position:relative;}
.search-row::after{content:"\1F50D";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#64748b;font-size:18px;pointer-events:none;}
#globalSearch{padding-right:46px!important;}
.quick-access-home{margin-top:14px;}
.quick-access-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.quick-access-grid h3{margin:0 0 8px;color:#0f2744;font-size:var(--pem-fs-h3)!important;}
.quick-access-item{width:100%;text-align:left;border:1px solid #d7e0ee;background:#fff;border-radius:14px;padding:10px 12px;margin:0 0 8px;box-shadow:0 2px 10px rgba(15,39,68,.04);}
.quick-access-item strong{display:block;color:#0f2744;}
.quick-access-item span{display:block;color:#667085;font-size:var(--pem-fs-small)!important;margin-top:3px;}
.quick-access-group{
  border:1px solid #d7e0ee;
  border-left:5px solid #5f7fa4;
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.quick-access-group--favorites{
  border-color:#cfe4ff;
  border-left-color:#2f6ae6;
  background:linear-gradient(180deg,#f8fbff,#fff);
}
.quick-access-group--favorites .quick-access-item{
  border-color:#cfe4ff;
  background:#f8fbff;
}
.quick-access-group--recent{
  border-color:#d5eadf;
  border-left-color:#15803d;
  background:linear-gradient(180deg,#f7fdf9,#fff);
}
.quick-access-group--recent .quick-access-item{
  border-color:#cce8d8;
  background:#f7fdf9;
}
.quick-access-group--searches{
  border-color:#f2dac0;
  border-left-color:#c06b1f;
  background:linear-gradient(180deg,#fffaf4,#fff);
}
.quick-access-group--searches .quick-access-item{
  border-color:#f2dac0;
  background:#fffaf4;
}
.favorite-btn{border-color:#f4c76c!important;background:#fffaf0!important;color:#8a5a00!important;}
.detail-actions--top{margin:8px 0 10px;}
@media(max-width:700px){
  .quick-access-grid{grid-template-columns:1fr;}
  body,button,input,select,textarea,.page-description,.diagnose-summary,.v7-muted,.card__desc,.guide-box li,.guide-box p,.list-tight li,.search-pool-item,.quick-pattern-btn,.breadcrumb{line-height:1.34!important;}
  h1,.page-title,.module-head-title{font-size:clamp(24px,7vw,var(--pem-fs-h1))!important;}
  h2,.card__title,.content-block>h2,.guide-box h2,.tool-card h2,.v7-card h2,.v7-detail-card h2{font-size:clamp(20px,6vw,var(--pem-fs-h2))!important;}
  .v7-primary-btn,.v7-secondary-btn,.action-button{width:100%;}
}


/* === PEMGuide v3.14 Clinical Completion Patch === */
.differential-pill{border:1px solid #d7e0ee;background:#eef2f7;color:#0f2744;cursor:pointer;font-weight:800;}
.differential-pill:hover{border-color:#8bb7ff;background:#edf6ff;}
.guide-box--clinical_assessment,.guide-box--clinical-assessment{border-left:5px solid #20a37a;background:#f2fbf7;}
.guide-box--pathophysiology{border-left:5px solid #64748b;background:#f8fafc;}
.guide-box--coexisting,.guide-box--age,.guide-box--parent,.guide-box--pitfalls{border-left:5px solid #275b8a;background:#f7fbff;}
.guide-box--disposition{border-left:5px solid #7c3aed;background:#faf5ff;}
.finder-search{position:relative!important;}
.finder-search .icon{left:auto!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;}
.finder-search input{padding-left:16px!important;padding-right:46px!important;}
@media(max-width:700px){.symptom-group[open]{display:block}.symptom-group-body{max-height:none!important}.v7-chip-row .differential-pill{width:auto!important;max-width:100%;}}

/* v3.15: Sonstige Symptome as accordion headings, no filter chip bar */
.symptom-group-wrap--accordion{display:grid!important;gap:10px!important;}
.symptom-group--accordion{border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;background:#fff!important;border-radius:18px!important;overflow:hidden!important;padding:0!important;}
.symptom-group--accordion .symptom-group-head{cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:14px 16px!important;font-weight:900!important;color:var(--text)!important;list-style:none!important;}
.symptom-group--accordion .symptom-group-head::-webkit-details-marker{display:none!important;}
.symptom-group--accordion .symptom-group-head::after{content:'\25BE';font-size:14px;color:var(--muted);margin-left:10px;transition:transform .16s ease;}
.symptom-group--accordion:not([open]) .symptom-group-head::after{transform:rotate(-90deg);}
.symptom-group--accordion .symptom-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#eef6ff;color:#235aa6;font-size:13px;font-weight:900;padding:0 8px;margin-left:auto;margin-right:8px;}
.symptom-group--accordion .symptom-group-body{padding:0 12px 12px!important;display:grid!important;gap:8px!important;}
.finder-search--right-icon{position:relative!important;}
.finder-search--right-icon .icon{left:auto!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important;}
.finder-search--right-icon input{padding-left:16px!important;padding-right:48px!important;}
@media(max-width:700px){
  .content-block:has(.symptom-group-wrap--accordion){padding:16px!important;}
  .symptom-group--accordion .symptom-group-head{font-size:16px!important;padding:12px 14px!important;}
  .symptom-group--accordion .symptom-group-body{padding:0 10px 10px!important;}
}

/* === PEMGuide v3.15 + vNext RESTORED UI bridge === */
.vnext-bridge-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 18px;}
.vnext-bridge-box{border:1px solid var(--border,#d8e3f4);background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,39,68,.05)}
.vnext-bridge-box h3{margin:4px 0 6px;font-size:17px;color:#071b3a}.vnext-red{background:linear-gradient(180deg,#fffafa,#fff7f7);border-color:#ffd1d1}
.vnext-btn-grid{display:flex;flex-wrap:wrap;gap:9px}.vnext-preset-btn,.vnext-parent-btn{border:1px solid #cfdff6;background:#fff;border-radius:999px;padding:9px 12px;font-weight:800;color:#061a38;cursor:pointer;box-shadow:0 4px 14px rgba(15,39,68,.05)}
.vnext-preset-btn{border-color:#f3b5b5;color:#9e2f2f;background:#fff6f6}.vnext-preset-btn.active,.vnext-parent-btn.active{background:#eaf2ff;border-color:#4f85ff;color:#0b2a62}
.diagnose-results-head{border-left:5px solid #2f6ae6;margin-bottom:14px}.v7-chip.active{background:#eaf2ff;border-color:#7aa2ff;color:#0b2a62}
@media(max-width:720px){.vnext-bridge-grid{grid-template-columns:1fr}.vnext-btn-grid{display:grid;grid-template-columns:1fr}.vnext-preset-btn,.vnext-parent-btn{text-align:left;border-radius:14px}}


/* PEMGuide Diagnosefinder Final UI - icon cards + level layout */
.pem-level-panel{
  border:1px solid var(--border, #d7e0ee);
  background:#fff;
  border-radius:18px;
  padding:22px;
  margin:16px 0;
  box-shadow:0 10px 26px rgba(15,39,68,.04);
}
.pem-level-panel h2,.pem-level-panel h3{margin:6px 0 18px;}
.pem-icon-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
}
.pem-icon-card{
  position:relative;
  text-align:left;
  min-height:108px;
  border:1px solid var(--border,#d7e0ee);
  border-radius:16px;
  background:#fff;
  padding:18px 44px 16px 18px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  gap:4px 10px;
  cursor:pointer;
  transition:.16s ease;
}
.pem-icon-card:hover{transform:translateY(-1px); box-shadow:0 12px 24px rgba(47,106,230,.10);}
.pem-icon-card.active{background:#edf4ff; border-color:#2f6ae6; box-shadow:0 0 0 2px rgba(47,106,230,.14) inset;}
.pem-card-icon{font-size:20px; grid-row:1 / span 2; padding-top:1px;}
.pem-card-title{font-weight:800; color:#051a38; font-size:16px;}
.pem-card-desc{color:#2f3e55; font-size:13px; line-height:1.35;}
.pem-card-check{position:absolute; right:18px; top:16px; font-weight:900; color:#2f6ae6;}
.pem-pattern-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.pem-pattern-card{
  border:1px solid var(--border,#d7e0ee);
  border-radius:14px;
  background:#fff;
  padding:16px 18px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:82px;
  cursor:pointer;
}
.pem-pattern-card.active{background:#edf4ff; border-color:#2f6ae6; box-shadow:0 0 0 2px rgba(47,106,230,.14) inset;}
.pem-pattern-card span{font-size:12px; color:#52627a;}
.vnext-bridge-grid{margin-bottom:18px;}
@media(max-width:720px){
  .pem-level-panel{padding:16px; border-radius:16px;}
  .pem-icon-card-grid{grid-template-columns:1fr;}
  .pem-icon-card{min-height:92px;}
}


/* PEMGuide V4.2 diagnosis decision view test layer */
.v42-decision-view{margin:18px 0;display:grid;gap:14px}.v42-essence,.v42-redflags,.v42-recheck,.v42-details,.v42-box{border:1px solid var(--border,#d7e0ee);background:#fff;border-radius:18px;padding:14px}.v42-essence{background:#f7fbff}.v42-essence p{margin:6px 0 0;color:var(--text,#0f2744);line-height:1.5}.v42-quick-rule{margin-top:10px;border-left:4px solid #2f6ae6;background:#edf4ff;border-radius:12px;padding:10px;font-weight:700;color:#0b3d7a}.v42-redflags{border-color:#f0b5ad;background:#fff6f5}.v42-redflags h4,.v42-recheck h4,.v42-box h4{margin:0 0 10px;font-size:15px}.v42-redflags ul,.v42-recheck ul,.v42-box ul,.v42-details ul{margin:0;padding-left:18px}.v42-redflags li{margin:8px 0}.v42-redflags li span{display:block;color:#7b312d;margin-top:2px}.v42-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v42-box.pro{background:#f5fff8;border-color:#bfe7cc}.v42-box.against{background:#fff8f7;border-color:#efc0bc}.v42-box.neutral{background:#fbfcff;border-color:#d7e0ee}.v42-evidence-item{margin:10px 0}.v42-evidence-item p{margin:5px 0 0;color:#314058;line-height:1.45}.v42-evidence-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.v42-type-pill,.v42-score,.v42-disc,.v42-map{font-size:11px;border-radius:999px;padding:2px 7px;background:#eef2f7;color:#334155}.v42-type-pill.sign{background:#eef7ff;color:#0b4c78}.v42-type-pill.sym{background:#f2f8ef;color:#285f2d}.v42-score{font-weight:800}.v42-disc{font-style:italic}.v42-recheck{background:#fffdf3;border-color:#eadf9c}.v42-recheck p{margin:0 0 8px;color:#5b4b12}.v42-details summary{cursor:pointer;font-weight:800;color:#0f2744}.v42-details p{color:#314058;line-height:1.5}@media(max-width:900px){.v42-grid{grid-template-columns:1fr}}
.v42-details--pitfalls{border-color:#f3b4a8;background:#fff8f6}.v42-pitfall-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.v42-pitfall-card{display:grid;gap:10px;border:1px solid #f0b5ad;border-radius:16px;background:linear-gradient(180deg,#fff,#fff4f1);padding:14px;box-shadow:0 8px 20px rgba(127,29,29,.06)}.v42-pitfall-lead{display:grid;gap:4px}.v42-pitfall-lead span{color:#9a3412;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.v42-pitfall-lead strong{color:#0f2744;line-height:1.3}.v42-pitfall-row{border:1px solid #d8e6f7;border-radius:12px;background:#fff;padding:9px 10px}.v42-pitfall-row strong{display:block;color:#24598f;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.v42-pitfall-row.danger strong{color:#b42318}.v42-pitfall-row.action strong{color:#166534}.v42-pitfall-row p{margin:4px 0 0;color:#26384f;line-height:1.45}


/* PEMGuide V4.2 runtime bridge status + clinical metadata cleanup */
.v42-runtime-status{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 12px;padding:10px 14px;border:1px solid #b8d6ff;border-radius:16px;background:#f4f9ff;color:#082647;font-size:.9rem}
.v42-runtime-status strong{font-weight:800;color:#0b3b78}
.v42-runtime-status span{background:#eaf3ff;border-radius:999px;padding:3px 9px;font-weight:700}
.v42-runtime-status em{color:#5c718d;font-style:normal}
.v42-evidence-item .v42-tech,.v42-evidence-item .v42-id,.v42-evidence-item .v42-discrimination,.v42-evidence-item .v42-type{display:none!important}


/* PEMGuide V4_F2_1 - expandable symptom detail + structured diagnosis view */
.search-pool-item-wrap{border:1px solid rgba(15,23,42,.08);border-radius:14px;margin:6px 0;background:#fff;overflow:hidden}.search-pool-item-wrap>.search-pool-item{width:100%;border:0;border-radius:0}.search-pool-item-wrap.active{box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:rgba(10,132,255,.24)}.v4f2-symptom-detail{padding:10px 12px 12px;border-top:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#ffffff,#f8fafc);font-size:.92rem}.v4f2-symptom-detail p{margin:4px 0}.v4f2-clinical-note{font-weight:600}.v4f2-subtypes div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.v4f2-subtype-chip{border:1px solid rgba(10,132,255,.28);background:#eef6ff;border-radius:999px;padding:5px 9px;font-weight:650}.v4f2-parent-expressions ul,.v4f2-redflags ul{margin:.35rem 0 0 1rem}.v4f2-redflags{margin-top:8px;background:#fff5f5;border:1px solid rgba(220,38,38,.18);border-radius:12px;padding:8px}.v42-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.v42-badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#fff1f2;border:1px solid rgba(225,29,72,.22);font-weight:800;font-size:.78rem}.v4f2-decision-view .v42-evidence-head{display:flex;justify-content:space-between;gap:10px}.v42-score{font-weight:900;border-radius:999px;background:#ecfdf5;padding:2px 7px}.v42-box.against .v42-score{background:#fef2f2}.v42-redflags{background:#fff7ed;border:1px solid rgba(249,115,22,.25);border-radius:16px;padding:12px;margin:12px 0}.v42-recheck{background:#f8fafc;border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:12px;margin:12px 0}

/* V4_F2_3 four-level Diagnosefinder input flow */
.pem-f2-hub { display: grid; gap: 18px; }
.pem-f2-selected-row { align-items: center; gap: 8px; margin: 10px 0 16px; }
.pem-level-panel { border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 18px; padding: 16px; background: rgba(255,255,255,0.82); box-shadow: 0 10px 24px rgba(15,23,42,0.06); }
.pem-level-panel h2 { margin: 4px 0 10px; }
.pem-icon-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.pem-icon-card { min-height: 92px; border: 1px solid rgba(15,23,42,0.12); border-radius: 18px; padding: 14px; background: #fff; text-align: left; display: grid; gap: 6px; cursor: pointer; transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.pem-icon-card:hover, .pem-icon-card.active { transform: translateY(-1px); border-color: rgba(37,99,235,.45); box-shadow: 0 10px 24px rgba(37,99,235,.10); }
.pem-card-icon { font-size: 1.5rem; }
.pem-card-title { font-weight: 800; }
.pem-card-desc { color: #64748b; font-size: .9rem; }
.pem-card-check { font-weight: 900; color: #2563eb; }
.pem-pattern-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.pem-pattern-card { border: 1px solid rgba(220,38,38,.18); border-radius: 16px; padding: 12px 14px; background: #fff; text-align: left; cursor: pointer; }
.pem-pattern-card.active { border-color: rgba(220,38,38,.45); background: rgba(254,226,226,.45); }
.pem-domain-tabs { display: flex; flex-wrap: wrap; gap: 10px; }
.pem-domain-tab { border: 1px solid rgba(15,23,42,.12); border-radius: 999px; padding: 9px 12px; background: #fff; cursor: pointer; display: inline-flex; gap: 8px; align-items: center; }
.pem-domain-tab.active { border-color: rgba(5,150,105,.45); background: rgba(209,250,229,.55); font-weight: 800; }
.pem-domain-tab em { font-style: normal; color: #64748b; font-size: .86rem; }
.pem-core-symptom-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.pem-core-symptom-card strong { display: block; font-size: 1rem; }
.finder-companion-stack{display:grid;gap:12px;margin-top:-4px}
.finder-companion-panel{
  border:1px solid rgba(185,28,28,.22);
  border-left:6px solid #dc2626;
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#fff5f5 0%,#ffffff 100%);
  box-shadow:0 14px 30px rgba(185,28,28,.08);
}
.finder-companion-panel h3{margin:4px 0 10px;color:#7f1d1d}
.finder-companion-panel .v7-kicker{color:#991b1b}
.finder-companion-accordion{padding:0;overflow:hidden}
.finder-companion-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 28px;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  background:linear-gradient(180deg,#fff7f7,#fff);
  min-height:56px;
}
.finder-companion-summary::-webkit-details-marker{display:none}
.finder-companion-summary small{
  display:block;
  color:#991b1b;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:11px;
  line-height:1;
}
.finder-companion-summary strong{
  display:block;
  margin-top:2px;
  color:#7f1d1d;
  font-size:1.06rem;
  font-weight:700;
  line-height:1.18;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.finder-companion-summary em{
  font-style:normal;
  min-width:26px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#7f1d1d;
  background:#fee2e2;
  font-weight:700;
  font-size:11px;
  line-height:1;
}
.finder-companion-summary::after{
  content:'▾';
  color:#7f1d1d;
  font-weight:900;
}
.finder-companion-accordion:not([open]) .finder-companion-summary::after{content:'▸'}
.finder-companion-accordion .finder-companion-grid{padding:0 14px 14px}
.finder-companion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.finder-search-popup{
  margin-top:10px;
  border:1px solid rgba(96,165,250,.35);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.98);
  box-shadow:0 20px 46px rgba(15,39,68,.16);
  max-height:min(420px,58vh);
  overflow:auto;
}
.finder-search-popup h3{margin:2px 0 10px}
.finder-search-popup .free-text-match{width:100%;margin:0 0 8px}
.finder-search-popup .free-text-match.active{background:#e8f8e8;border-color:#9fd29f}
.finder-search-popup-actions{position:sticky;bottom:-12px;margin:8px -12px -12px;padding:10px 12px;background:linear-gradient(180deg,rgba(255,255,255,.78),#fff);display:flex;justify-content:flex-end}
.finder-search-popup-actions .v7-primary-btn{min-width:110px}
.finder-search-groups{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.finder-search-group{
  border:1px solid rgba(59,130,246,.24);
  border-radius:16px;
  background:#fbfdff;
  overflow:hidden;
}
.finder-search-group .symptom-group-head{
  padding:12px 14px;
  background:#f1f7ff;
}
.finder-search-group-body{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
  padding:12px;
}
.finder-search-group-item{
  border:1px solid rgba(148,163,184,.35);
  border-radius:14px;
  background:#fff;
  min-height:72px;
  padding:11px 12px;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:4px;
  color:#071d3a;
}
.finder-search-group-item strong{font-size:1rem;line-height:1.2}
.finder-search-group-item span,
.finder-search-group-item small{color:#64748b;font-weight:700}
.finder-search-group-item.active{
  border-color:#86efac;
  background:#f0fff5;
  box-shadow:0 0 0 2px rgba(34,197,94,.16);
}
.pem-icon-card[data-domain],
.pem-ctx-chip[data-domain],
.rot-context-chip[data-domain]{
  border-color:color-mix(in srgb, var(--domain-color, var(--brand)) 28%, white)!important;
  background:linear-gradient(180deg, color-mix(in srgb, var(--domain-soft, var(--brand-soft)) 82%, white) 0%, #ffffff 100%)!important;
}
.pem-icon-card[data-domain]:hover,
.pem-ctx-chip[data-domain]:hover,
.rot-context-chip[data-domain]:hover{
  border-color:color-mix(in srgb, var(--domain-color, var(--brand)) 55%, white)!important;
  box-shadow:0 12px 24px color-mix(in srgb, var(--domain-color, var(--brand)) 12%, transparent)!important;
}
.pem-icon-card.active[data-domain],
.pem-ctx-chip.active[data-domain],
.rot-context-chip.active[data-domain]{
  background:linear-gradient(180deg, color-mix(in srgb, var(--domain-soft, var(--brand-soft)) 96%, white) 0%, color-mix(in srgb, var(--domain-soft, var(--brand-soft)) 70%, white) 100%)!important;
  border-color:var(--domain-color, var(--brand))!important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--domain-color, var(--brand)) 16%, transparent) inset, 0 10px 24px color-mix(in srgb, var(--domain-color, var(--brand)) 12%, transparent)!important;
}
.pem-icon-card.active[data-domain] .pem-card-title,
.pem-ctx-chip.active[data-domain] strong,
.rot-context-chip.active[data-domain] strong{
  color:color-mix(in srgb, var(--domain-color, var(--brand)) 82%, #081a34)!important;
}
.pem-icon-card[data-domain="emergency"], .pem-ctx-chip[data-domain="emergency"], .rot-context-chip[data-domain="emergency"]{--domain-color:var(--domain-emergency);--domain-soft:var(--domain-emergency-soft);}
.pem-icon-card[data-domain="cardio"], .pem-ctx-chip[data-domain="cardio"], .rot-context-chip[data-domain="cardio"]{--domain-color:var(--domain-cardio);--domain-soft:var(--domain-cardio-soft);}
.pem-icon-card[data-domain="resp"], .pem-ctx-chip[data-domain="resp"], .rot-context-chip[data-domain="resp"]{--domain-color:var(--domain-resp);--domain-soft:var(--domain-resp-soft);}
.pem-icon-card[data-domain="neuro"], .pem-ctx-chip[data-domain="neuro"], .rot-context-chip[data-domain="neuro"]{--domain-color:var(--domain-neuro);--domain-soft:var(--domain-neuro-soft);}
.pem-icon-card[data-domain="gastro"], .pem-ctx-chip[data-domain="gastro"], .rot-context-chip[data-domain="gastro"]{--domain-color:var(--domain-gastro);--domain-soft:var(--domain-gastro-soft);}
.pem-icon-card[data-domain="infection"], .pem-ctx-chip[data-domain="infection"], .rot-context-chip[data-domain="infection"]{--domain-color:var(--domain-infection);--domain-soft:var(--domain-infection-soft);}
.pem-icon-card[data-domain="metabolic"], .pem-ctx-chip[data-domain="metabolic"], .rot-context-chip[data-domain="metabolic"]{--domain-color:var(--domain-metabolic);--domain-soft:var(--domain-metabolic-soft);}
.pem-icon-card[data-domain="neonatal"], .pem-ctx-chip[data-domain="neonatal"], .rot-context-chip[data-domain="neonatal"]{--domain-color:var(--domain-neonatal);--domain-soft:var(--domain-neonatal-soft);}
.pem-icon-card[data-domain="trauma"], .pem-ctx-chip[data-domain="trauma"], .rot-context-chip[data-domain="trauma"]{--domain-color:var(--domain-trauma);--domain-soft:var(--domain-trauma-soft);}
.pem-icon-card[data-domain="immune"], .pem-ctx-chip[data-domain="immune"], .rot-context-chip[data-domain="immune"]{--domain-color:var(--domain-immune);--domain-soft:var(--domain-immune-soft);}
.pem-icon-card[data-domain="hemeonc"], .pem-ctx-chip[data-domain="hemeonc"], .rot-context-chip[data-domain="hemeonc"]{--domain-color:var(--domain-hemeonc);--domain-soft:var(--domain-hemeonc-soft);}
.pem-icon-card[data-domain="toxic"], .pem-ctx-chip[data-domain="toxic"], .rot-context-chip[data-domain="toxic"]{--domain-color:var(--domain-toxic);--domain-soft:var(--domain-toxic-soft);}
@media (max-width: 640px){
  .pem-icon-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pem-core-symptom-grid { grid-template-columns: 1fr; }
  .pem-level-panel { padding: 13px; border-radius: 16px; }
}

/* V4_F2_3_1 merge hotfix: restore Level-1 descriptions and compact colored selected-evidence chips */
.pem-icon-card .pem-card-desc{display:block;margin-top:6px;font-size:12px;line-height:1.25;color:#4a5d75;font-weight:500;max-width:100%;}
.pem-icon-card{align-items:flex-start;}
.v7-mini-pill.positive{background:#eefaf2!important;border-color:#bfe2ca!important;color:#1f7a46!important;}
.v7-mini-pill.supportive{background:#edf4ff!important;border-color:#c7d8fb!important;color:#355b8c!important;}
.v7-mini-pill.neutral{background:#f5f8fc!important;border-color:#dbe4ef!important;color:#42556e!important;}
.v7-mini-pill.negative{background:#fff4f3!important;border-color:#f0c7c3!important;color:#8d3a34!important;}
.v7-selected-chip-group.positive .v7-selected-chip-title{color:#14803d;font-weight:800;}
.v7-selected-chip-group.supportive .v7-selected-chip-title{color:#285b9d;font-weight:800;}
.v7-selected-chip-group.neutral .v7-selected-chip-title{color:#42556e;font-weight:800;}
.v7-selected-chip-group.negative .v7-selected-chip-title{color:#9b2f29;font-weight:800;}
.pem-core-symptom-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
@media (max-width: 700px){.pem-icon-card .pem-card-desc{font-size:12px}.pem-core-symptom-grid{grid-template-columns:1fr}}

/* V4_F2_4_2_2 - CTX/Risikokontext visual restore + finder card polish */
.pem-ctx-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  border:1px solid #d7e0ee!important;
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 10px 24px rgba(15,39,68,.06)!important;
}
.pem-ctx-panel .v7-kicker{display:block;margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#245089;font-size:.82rem;}
.pem-ctx-panel h2{margin:0 0 8px!important;font-size:clamp(1.1rem,2.1vw,1.35rem)!important;color:#071b3a!important;}
.pem-ctx-panel .v7-muted{margin:0 0 14px!important;color:#314058!important;line-height:1.45!important;}
.pem-ctx-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.pem-ctx-chip{
  appearance:none!important;-webkit-appearance:none!important;
  border:1px solid #d7e0ee!important;
  background:#fff!important;
  color:#0f2744!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  min-height:82px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:6px!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:0 6px 16px rgba(15,39,68,.045)!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease!important;
  font:inherit!important;
}
.pem-ctx-chip:hover{transform:translateY(-1px)!important;border-color:#8fb6f8!important;box-shadow:0 10px 22px rgba(47,106,230,.10)!important;}
.pem-ctx-chip.active{background:#edf4ff!important;border-color:#2f6ae6!important;box-shadow:0 0 0 2px rgba(47,106,230,.14) inset!important;}
.pem-ctx-chip strong{display:block!important;font-weight:900!important;color:#071b3a!important;line-height:1.22!important;font-size:.98rem!important;}
.pem-ctx-chip span{display:block!important;color:#40536b!important;font-size:.9rem!important;line-height:1.35!important;}
.pem-ctx-chip{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:0!important;
}
.rot-context-chip{
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:10px!important;
}
.pem-ctx-icon,
.rot-context-icon{
  width:32px!important;
  height:32px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:color-mix(in srgb, var(--domain-color, var(--brand)) 12%, white)!important;
  border:1px solid color-mix(in srgb, var(--domain-color, var(--brand)) 28%, white)!important;
  color:color-mix(in srgb, var(--domain-color, var(--brand)) 82%, #071f45)!important;
  font-size:1.15rem!important;
  line-height:1!important;
  font-weight:850!important;
}
.pem-ctx-copy,
.rot-context-copy{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}
.pem-ctx-copy strong,
.rot-context-copy strong{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.pem-ctx-copy span,
.rot-context-copy span{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.pem-icon-card{overflow:hidden!important;min-width:0!important;}
.pem-icon-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;
  align-items:stretch!important;
}
.pem-icon-card{
  min-height:118px!important;
  height:auto!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-content:start!important;
}
.pem-card-title,.pem-card-desc{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.pem-card-title{line-height:1.15!important;}
.pem-card-desc{line-height:1.25!important;}
.pem-core-symptom-card{appearance:none!important;border:1px solid #d7e0ee!important;background:#fff!important;border-radius:16px!important;min-height:72px!important;text-align:left!important;padding:13px 14px!important;color:#0f2744!important;cursor:pointer!important;box-shadow:0 5px 15px rgba(15,39,68,.04)!important;}
.pem-core-symptom-card.active{background:#fff1f2!important;border-color:#f1a9b5!important;box-shadow:0 0 0 2px rgba(244,63,94,.08) inset!important;}
.pem-core-symptom-card strong{font-weight:900!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
@media (max-width:760px){
  .pem-ctx-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pem-ctx-chip{min-height:72px!important;}
}

/* === V4_F2_4_2_3: diagnosis reasoning visual refinements === */
.v42-box.negative .v42-against-subbox{
  border:1px solid rgba(185,28,28,.18);
  border-radius:14px;
  padding:10px 12px;
  margin:10px 0;
  background:rgba(254,242,242,.72);
}
.v42-box.negative .v42-against-subbox.current{
  background:rgba(255,247,237,.78);
  border-color:rgba(234,88,12,.20);
}
.v42-box.negative .v42-against-subbox.conditional{
  background:rgba(248,250,252,.92);
  border-color:rgba(148,163,184,.35);
}
.v42-box.negative .v42-subhead{
  font-weight:800;
  color:#7f1d1d;
  margin:0 0 6px;
  letter-spacing:.01em;
}
.v7-selected-chip-group.warning.context-warning{
  background:rgba(255,247,237,.9);
  border:1px solid rgba(245,158,11,.35);
  border-radius:14px;
  padding:8px 10px;
  margin:8px 0 10px;
}
.v7-selected-chip-group.warning .v7-selected-chip-title{
  color:#92400e;
  font-weight:800;
}
.v7-mini-pill.warning{
  background:#fff7ed;
  color:#7c2d12;
  border:1px solid rgba(251,146,60,.45);
}
.v7-selected-chip-summary{
  display:grid;
  gap:10px;
}
.v7-selected-chip-group{
  display:grid;
  gap:6px;
}

/* === V4_F3_5_6: final mobile header cleanup === */
.app-brand-block{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
}
.app-logo-wrap{
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  column-gap:10px;
  align-items:start;
}
.app-logo-wrap > span{
  display:block;
  min-width:0;
  padding-top:2px;
}
.app-logo[role="button"]{
  cursor:pointer;
}
.app-logo[role="button"]:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:4px;
  border-radius:12px;
}
.app-subtitle{
  max-width:100%;
  overflow-wrap:anywhere;
  margin-top:-6px;
  padding-left:52px;
  line-height:1.16;
}
.nav-row{
  align-items:center;
}
.nav-search-slot{
  flex:1 1 280px;
  min-width:min(280px,100%);
  margin-left:auto;
}
.nav-row .search-row{
  margin:0;
}
.nav-row #globalSearch{
  min-height:44px;
  padding-right:40px;
}

#navGuidelines{
  background:#eaf4ff;
  border:1px solid #c9def6;
  color:#0f2744;
}
#navGuidelines.active{
  background:#e8f8e8;
  border:1px solid #b9dfb9;
  color:#0f2744;
}
body.mobile-menu-open #navGuidelines{
  background:#eaf4ff!important;
  border-color:#c9def6!important;
  color:#0f2744!important;
}
body.mobile-menu-open #navGuidelines.active{
  background:#e8f8e8!important;
  border-color:#b9dfb9!important;
  color:#0f2744!important;
}

.card--guidelines{
  border-left:6px solid #5b6678;
  background:linear-gradient(180deg,#f7f9fc,#edf2f8);
}
.guideline-browser-shell{
  padding:18px;
}
.guideline-browser-search-head{
  display:grid;
  gap:4px;
  margin-bottom:12px;
}
.guideline-browser-search-head h2{
  margin:0;
  color:#0f2744;
  font-size:1.02rem;
}
.guideline-browser-search-head p{
  margin:0;
  color:#5d6f87;
  line-height:1.45;
}
.guideline-browser-search{
  margin-bottom:14px!important;
}
.app-search-shell{
  position:relative;
}
.app-search-shell::after{
  content:"\1F50D";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
  font-size:18px;
  pointer-events:none;
}
.guideline-browser-search #guidelineLibrarySearch,
.guideline-browser-search #opegLibrarySearch{
  width:100%;
  padding:14px 46px 14px 16px!important;
  border-radius:16px!important;
  border:1px solid var(--border)!important;
  background:#fff!important;
  box-shadow:var(--shadow)!important;
  font-size:16px!important;
  min-height:0!important;
}
.guideline-library-groups{
  display:grid;
  gap:14px;
}
.guideline-library-group{
  overflow:hidden;
  border:1px solid #d9e4f4;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#f9fbff);
  box-shadow:0 14px 30px rgba(15,39,68,.06);
}
.guideline-library-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
  font-weight:900;
  color:#0f2744;
}
.guideline-library-group__head::-webkit-details-marker{
  display:none;
}
.guideline-library-group__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#275fa6;
  font-size:12px;
  font-weight:900;
}
.guideline-library-group__body{
  display:grid;
  gap:10px;
  padding:0 18px 18px;
  border-top:1px solid #e5eef9;
}
.guideline-library-item{
  display:grid;
  gap:6px;
  width:100%;
  text-align:left;
  border:1px solid #d6e3f7;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border-radius:16px;
  padding:14px 15px;
  color:#0f2744;
  box-shadow:0 8px 18px rgba(15,39,68,.04);
}
.guideline-library-item__title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.guideline-library-item__title{
  font-weight:900;
  line-height:1.3;
}
.guideline-library-item__meta{
  color:#5d6f87;
  font-size:12px;
}
.guideline-library-item__arrow{
  flex:0 0 auto;
  color:#4f78ab;
  font-size:20px;
  line-height:1;
  transform:translateY(-1px);
}
@media (max-width:700px){
  .guideline-browser-shell{
    padding:14px;
  }
  .guideline-library-group{
    border-radius:18px;
  }
  .guideline-library-group__head{
    padding:14px 15px;
  }
  .guideline-library-group__body{
    padding:0 14px 14px;
  }
  .guideline-browser-search #guidelineLibrarySearch,
  .guideline-browser-search #opegLibrarySearch{
    font-size:14px!important;
  }
}
.nav-actions{
  margin-left:2px;
}
#backBtn,
#forwardBtn{
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(15,39,68,.08);
}
#backBtn{
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
  border:1px solid #bfdbfe;
  color:#1d4ed8;
}
#forwardBtn{
  background:linear-gradient(180deg,#f0fdf4,#dcfce7);
  border:1px solid #bbf7d0;
  color:#15803d;
}

@media (min-width:701px){
  .app-header{
    padding-bottom:10px;
  }
  .app-header__top{
    align-items:start;
    margin-bottom:12px;
  }
  .app-logo-icon{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  #appTitle,
  .app-logo{
    font-size:18px;
    line-height:1.1;
  }
  .app-subtitle{
    font-size:13px;
  }
  .nav-row{
    gap:10px;
  }
  .nav-row .nav-btn{
    min-height:44px;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(15,39,68,.07);
  }
  .nav-search-slot{
    flex:1 1 340px;
    min-width:260px;
  }
}

@media (max-width:700px){
  .app-header__top{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:8px!important;
  }
  .app-brand-block{
    min-width:0!important;
  }
  .app-logo-wrap{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .app-logo-icon{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    flex:0 0 34px!important;
  }
  #appTitle,
  .app-logo{
    min-width:0!important;
    font-size:18px!important;
    line-height:1.15!important;
  }
  .app-logo-wrap > span{
    min-width:0!important;
    white-space:nowrap!important;
    padding-top:1px!important;
  }
  .app-subtitle{
    padding-left:44px!important;
    margin-top:-2px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:11px!important;
    line-height:1.14!important;
  }
  .header-controls{
    gap:5px!important;
  }
  .mobile-menu-toggle{
    display:none!important;
  }
  .nav-row{
    display:grid!important;
    grid-template-columns:auto auto 42px 42px minmax(0,1fr)!important;
    gap:8px!important;
    margin:0 0 8px!important;
    padding:0!important;
    overflow:visible!important;
    align-items:center!important;
  }
  body.mobile-menu-open .nav-row{
    display:grid!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #navTriage,
  #navFinder,
  #navSymptoms{
    display:none!important;
  }
  #navHome{
    min-width:86px!important;
    padding:0 14px!important;
    font-size:0!important;
    white-space:nowrap!important;
  }
  #navHome::after{
    content:"Start";
    font-size:13px;
    font-weight:800;
    line-height:1;
  }
  .nav-row .nav-actions,
  body.mobile-menu-open .nav-row .nav-actions{
    display:contents!important;
  }
  #backBtn,
  #forwardBtn{
    width:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    font-size:19px!important;
    padding:0!important;
  }
  .nav-search-slot{
    grid-column:5!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .nav-search-slot.search-row,
  .search-row{
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .nav-search-slot #globalSearch{
    min-height:42px!important;
    padding:10px 38px 10px 12px!important;
    font-size:14px!important;
    border-radius:16px!important;
    box-shadow:0 6px 16px rgba(15,39,68,.08)!important;
  }
  .nav-search-slot.search-row::after{
    right:14px!important;
    font-size:16px!important;
  }
}

.pem-f2-hub .hub-selected-zone{
  position:sticky;
  top:var(--pem-finder-sticky-top);
  z-index:18;
  background:rgba(243,244,246,.96);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:8px 0 10px;
  margin:-6px 0 10px;
  border-radius:0 0 18px 18px;
}
.pem-f2-hub .hub-selected-box{
  border-color:#8bb9ff;
  box-shadow:0 10px 24px rgba(37,99,235,.12);
  background:linear-gradient(180deg, #f4f8ff 0%, #eaf3ff 100%);
}
.pem-f2-hub .hub-selected-box__top{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:0;
  text-align:left;
  cursor:pointer;
}
.pem-f2-hub .hub-selected-box__top strong{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#275b8a;
  white-space:nowrap;
}
.pem-f2-hub .hub-selected-box__count{
  min-width:30px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2563eb;
  color:#fff;
  font-weight:900;
  font-size:13px;
  box-shadow:0 8px 16px rgba(37,99,235,.18);
}
.pem-f2-hub .hub-selected-box__preview{
  min-width:0;
  color:#102a43;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.pem-f2-hub .hub-selected-box__top em{
  font-style:normal;
  font-size:13px;
  color:#275b8a;
  font-weight:900;
}
.pem-f2-hub .hub-selected-box__content{
  display:none;
  border-top:1px solid #bfd6fb;
  margin-top:8px;
  padding-top:8px;
}
.pem-f2-hub .hub-selected-box.open .hub-selected-box__content{
  display:block;
}
.pem-f2-hub .hub-selected-box__hint{
  margin:0 0 10px;
  color:#49627f;
  font-size:13px;
  line-height:1.35;
}
.pem-f2-hub .hub-selected-box.is-empty .compact-selected-chips{
  max-height:none;
  overflow:visible;
}
.pem-f2-hub .hub-selected-box.is-empty .muted-small{
  display:block;
  margin:0;
}
.pem-f2-hub .pem-f2-selected-row{
  display:none;
}
.pem-f2-hub .hub-selected-box .compact-selected-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-height:110px;
  overflow:auto;
}
.pem-f2-hub .hub-selected-box .compact-chip{
  background:#ffffff;
  border:1px solid #b8cff5;
  box-shadow:0 4px 12px rgba(15,39,68,.05);
}
.pem-f2-hub .hub-selected-box.is-empty .hub-selected-box__count{
  background:#d7e6ff;
  color:#275b8a;
  box-shadow:none;
}
.pem-f2-hub .hub-sticky-actions{
  margin-top:8px;
  margin-bottom:0;
}
.pem-f2-hub .hub-sticky-actions .action-button{
  flex:1 1 220px;
}
.finder-stage .top-fixed-zone.floating-selected-zone{
  position:sticky!important;
  top:var(--pem-finder-sticky-top)!important;
  z-index:18!important;
  background:rgba(243,244,246,.96)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:8px 0 0!important;
  margin:-6px 0 0!important;
}
.finder-stage .action-row--stickyish{
  position:sticky!important;
  top:calc(var(--pem-finder-sticky-top) + 94px);
  z-index:17;
  background:rgba(243,244,246,.96)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:8px 0 10px;
  margin:-6px 0 10px!important;
}
@media (max-width:768px){
  .pem-f2-hub .hub-selected-zone{
    top:var(--pem-finder-sticky-top);
    padding-top:6px;
  }
  .pem-f2-hub .hub-selected-box__count{
    min-width:28px;
    height:28px;
    font-size:12px;
    padding:0 8px;
  }
  .pem-f2-hub .hub-selected-box__top{
    gap:6px;
  }
  .pem-f2-hub .hub-selected-box__preview{
    font-size:11.5px;
  }
  .pem-f2-hub .hub-selected-box .compact-selected-chips{
    flex-wrap:wrap!important;
    overflow:visible!important;
    max-height:none!important;
    scrollbar-width:none;
  }
  .pem-f2-hub .hub-selected-box .compact-selected-chips::-webkit-scrollbar{
    display:none;
  }
  .pem-f2-hub .hub-selected-box .compact-chip{
    flex:0 1 auto;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    text-overflow:clip;
  }
  .pem-f2-hub .hub-sticky-actions .action-button{
    flex:1 1 100%;
  }
}
@media (max-width:700px){
  .pem-f2-hub{
    padding-top:0;
  }
  .pem-f2-hub .hub-selected-zone{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    z-index:auto!important;
    margin:0 0 10px!important;
    padding:0!important;
    background:transparent!important;
    border:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    max-width:none!important;
    overflow:visible!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .pem-f2-hub .hub-selected-box{
    border:1px solid #c8dcfb!important;
    box-shadow:0 8px 18px rgba(15,39,68,.08)!important;
    background:linear-gradient(180deg, #f4f8ff 0%, #eaf3ff 100%)!important;
    padding:10px 12px!important;
    border-radius:18px!important;
  }
  .pem-f2-hub .hub-selected-box__top{
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:6px!important;
  }
  .pem-f2-hub .hub-sticky-actions{
    margin-top:4px!important;
    margin-bottom:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    align-items:stretch!important;
  }
  .pem-f2-hub .hub-selected-box.is-empty .module-head-label{
    margin-bottom:4px;
  }
  .pem-f2-hub .hub-selected-box.is-empty .compact-selected-chips{
    max-height:none!important;
  }
  .pem-f2-hub .hub-sticky-actions{
    gap:6px!important;
  }
  .pem-f2-hub .hub-sticky-actions .action-button{
    min-height:40px!important;
    padding:10px 10px!important;
    font-size:14px!important;
    min-width:0!important;
  }
  .pem-f2-hub .hub-sticky-actions .action-button.action-button--secondary{
    min-height:38px!important;
  }
  .finder-stage .action-row--stickyish{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:calc(var(--pem-mobile-header-h) + 74px)!important;
    z-index:89!important;
    background:rgba(243,244,246,.98)!important;
    padding:6px 0 8px!important;
    margin:0!important;
  }
  .finder-stage{
    padding-top:0!important;
  }
  .mobile-selected-dock{
    max-height:min(46vh, 320px)!important;
  }
  .mobile-selected-preview{
    min-width:0!important;
    display:flex!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  .mobile-selected-preview .compact-chip{
    flex:0 1 auto!important;
    max-width:38vw!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__chips{
    flex-wrap:wrap!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__chips .compact-chip{
    flex:0 1 auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    text-overflow:clip!important;
    min-height:32px!important;
  }
  .pem-f2-hub .hub-selected-zone{
    overflow:hidden!important;
  }
}

.v42-grid,
.v4f2-decision-view .v42-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.v42-grid .v42-box,
.v4f2-decision-view .v42-grid .v42-box{
  width:100%!important;
}
.v42-box.clinical{
  background:#fbfdff!important;
  border-color:#d7e0ee!important;
}
.v42-muted-line{
  margin-top:6px;
  color:#4b5d75;
  font-size:calc(0.92rem * var(--pem-font-scale, 1));
  line-height:1.45;
}
.v7-card-title-link{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  font-weight:inherit;
  text-align:left;
  cursor:pointer;
}
.v7-card-title-link:hover,
.v7-card-title-link:focus-visible{
  color:#2563eb;
  text-decoration:underline;
}

.home-clinical-hero{
  display:grid;
  gap:16px;
  padding:22px;
  margin-bottom:16px;
  border:1px solid #d6e3f5;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(220,38,38,.08), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f5f9ff 58%, #eef6ff 100%);
  box-shadow:0 18px 40px rgba(15,39,68,.08);
}
.home-clinical-kicker,
.home-section-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:#e8f1ff;
  color:#21548f;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-clinical-title{
  margin:12px 0 10px;
  font-size:clamp(1.9rem, 4vw, 2.8rem);
  line-height:1.05;
  color:#0b1d39;
}
.home-clinical-lead{
  margin:0;
  max-width:62ch;
  color:#334155;
  font-size:1.02rem;
  line-height:1.58;
}
.home-alert-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:20px;
  background:#fff4f4;
  border:1px solid #f2b5b5;
  color:#8a1c1c;
}
.home-alert-strip strong{
  font-size:13px;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.home-quickstart-grid,
.home-dual-grid{
  display:grid;
  gap:14px;
  margin-bottom:16px;
}
.home-quickstart-grid{
  grid-template-columns:minmax(0,1fr);
}
.home-quickstart-card{
  display:grid;
  gap:10px;
  text-align:left;
  padding:20px;
  border-radius:24px;
  border:1px solid #d8e2ef;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,39,68,.07);
}
.home-quickstart-card--with-training{
  padding:14px;
  overflow:hidden;
  gap:12px;
}
.home-quickstart-main-box,
.home-quickstart-main{
  border-radius:14px;
}
.home-quickstart-main-box{
  border:1px solid #f2b5b5;
  background:#fffafa;
}
.home-quickstart-main{
  display:grid;
  gap:10px;
  width:100%;
  padding:12px;
  border:0;
  background:transparent;
  text-align:left;
  color:inherit;
}
.home-quickstart-training-box{
  display:grid;
  gap:10px;
  margin:0;
  padding:12px;
  border:1px solid #f2b5b5;
  border-radius:14px;
  background:#fffafa;
}
.home-quickstart-training-box p{
  margin:4px 0 0;
}
.home-quickstart-training-btn{
  width:100%;
  max-width:260px;
  justify-content:center;
  white-space:nowrap;
  border-color:#f2b5b5!important;
  background:#fff7f7!important;
}
.home-quickstart-training-btn > span{
  display:inline;
}
.home-quickstart-card h2{
  margin:0;
  font-size:1.2rem;
  line-height:1.15;
}
.home-quickstart-card p{
  margin:0;
  color:#44556c;
  line-height:1.48;
}
.opeg-title{
  display:inline;
}
.opeg-acronym,
.opeg-word,
.opeg-card-title strong{
  color:#047857;
  font-weight:850;
}
.home-quickstart-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#49627f;
}
.home-quickstart-card--danger{
  background:linear-gradient(180deg,#fff8f8,#fff0f0);
  border-color:#f2c0c0;
}
.home-quickstart-card--brand{
  background:
    radial-gradient(circle at 96% 8%, rgba(48,115,82,.16), transparent 28%),
    linear-gradient(135deg,#f3fbf6 0%,#eef7ff 58%,#fff8ec 100%);
  border-color:#8fc7a5;
  box-shadow:0 14px 32px rgba(48,115,82,.12);
}
.home-quickstart-card--brand:hover{
  border-color:#3f8c67;
  box-shadow:0 18px 36px rgba(48,115,82,.16);
}
.diagnosefinder-word{
  color:#0d5f8f;
  font-weight:950;
}
.diagnosefinder-card-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:#073b65;
}
.diagnosefinder-card-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#e7f8ed,#e8f3ff);
  border:1px solid #9bcbae;
  color:#0d5f8f;
  font-size:1.18rem;
  line-height:1;
}
.home-quickstart-card--tools{
  background:linear-gradient(180deg,#f8fff9,#edfdf0);
  border-color:#c7eccf;
}
.home-dose-rechner-card{
  padding:14px;
  gap:12px;
}
.home-dose-rechner-main{
  border:1px solid #c7eccf;
  border-radius:16px;
  background:rgba(255,255,255,.7);
}
.home-dose-rechner-list{
  display:grid;
  gap:10px;
}
.home-dose-rechner-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #c7eccf;
  border-radius:16px;
  background:#fff;
}
.home-dose-rechner-item strong{
  display:block;
  color:#0f2744;
  font-size:1rem;
  line-height:1.25;
}
.home-dose-rechner-item span{
  display:block;
  margin-top:4px;
  color:#44556c;
  font-size:.92rem;
  line-height:1.4;
}
.home-dose-rechner-link{
  min-height:40px;
  border:1px solid #9bd7a8;
  border-radius:12px;
  background:#eefcf1;
  color:#14532d;
  font-weight:850;
  padding:9px 12px;
  cursor:pointer;
  white-space:nowrap;
}
.home-dose-rechner-link:hover{
  background:#dcfce7;
  border-color:#65b979;
}
@media(max-width:700px){
  .home-dose-rechner-item{grid-template-columns:1fr}
  .home-dose-rechner-link{width:100%;white-space:normal}
}
.home-quickstart-card--guidelines{
  background:linear-gradient(180deg,#fcfcfd,#f3f6fa);
  border-color:#d4dde8;
}
.home-dual-grid{
  grid-template-columns:minmax(0,1fr);
}
.home-workflow-panel,
.home-scenario-panel,
.quick-access-home--clinical{
  border:1px solid #d7e1ee;
  box-shadow:0 14px 30px rgba(15,39,68,.06);
}
.home-workflow-panel h2,
.home-scenario-panel h2,
.quick-access-home--clinical h2{
  margin:12px 0 0;
}
.home-workflow-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.home-workflow-step{
  padding:14px 16px;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid #dbe7f5;
  color:#17324f;
  font-weight:700;
  line-height:1.4;
}
.home-scenario-grid{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.home-scenario-card{
  display:grid;
  gap:6px;
  text-align:left;
  padding:14px 15px;
  border-radius:18px;
  border:1px solid #d9e3f0;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.home-scenario-card strong{
  font-size:1rem;
  color:#0f2744;
}
.home-scenario-card span{
  color:#55667e;
  line-height:1.42;
}
.quick-access-home--clinical{
  margin-top:0;
}
.start-hero--secondary{
  margin-top:2px;
}
.finder-intro-panel{
  display:grid;
  gap:12px;
  padding:18px 18px 4px;
  border:1px solid #d7e1ee;
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f6faff 100%);
  box-shadow:0 14px 30px rgba(15,39,68,.06);
}
.finder-intro-panel h2{
  margin:0;
  font-size:clamp(1.35rem,2.6vw,1.8rem);
  line-height:1.14;
  color:#0b1d39;
}
.finder-intro-steps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.finder-intro-step{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #cadbfd;
  color:#204b82;
  font-size:13px;
  font-weight:800;
}
.pem-level-panel--primary{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border-color:#d6e2f2;
}
.pem-level-panel--secondary{
  background:linear-gradient(180deg,#fcfdff,#f6f8fb);
  border-color:#d8e0ea;
}
.pem-icon-card-grid--secondary{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.pem-icon-card--secondary{
  min-height:86px;
  background:#fbfcfe;
}
.finder-hub-search-panel{
  margin:8px 0 10px;
}
@media (max-width:900px){
  .home-quickstart-grid,
  .home-dual-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .home-clinical-hero{
    padding:18px 16px;
    border-radius:22px;
  }
  .home-clinical-title{
    font-size:1.7rem;
  }
  .home-quickstart-card{
    padding:17px 16px;
    border-radius:20px;
  }
  .home-workflow-step,
  .home-scenario-card{
    padding:13px 14px;
    border-radius:16px;
  }
  .finder-intro-panel{
    padding:16px 16px 4px;
    border-radius:20px;
  }
  .finder-intro-step{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

@media (max-width:380px){
  .pem-icon-card-grid,
  .pem-ctx-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:700px){
  .finder-stage.has-mobile-selected-dock .top-fixed-zone.floating-selected-zone{
    display:none!important;
  }
  .finder-stage.has-mobile-selected-dock .action-row.action-row--stickyish{
    display:none!important;
  }
  .finder-stage.has-mobile-selected-dock{
    padding-top:74px!important;
  }
  .mobile-selected-dock{
    top:calc(var(--pem-mobile-header-h) + 8px)!important;
  }
  .mobile-selected-dock__actions{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  .dock-action{
    min-height:34px!important;
    padding:6px 6px!important;
    font-size:11px!important;
  }
}

.floating-selected-box .compact-selected-chips{
  max-height:96px;
  overflow-y:auto;
}
@media (max-width:700px){
  .mobile-selected-dock.open .mobile-selected-dock__content{
    max-height:42vh!important;
    overflow-y:auto!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__chips{
    flex-wrap:wrap!important;
    overflow-y:auto!important;
    max-height:24vh!important;
    padding-right:4px!important;
  }
}

/* Final override: selected chips must scroll instead of stretching the finder. */
.finder-stage .floating-selected-box .compact-selected-chips{
  max-height:min(18vh, 138px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding-right:6px!important;
  scrollbar-gutter:stable;
}

.finder-stage .floating-selected-box{
  max-height:min(34vh, 360px)!important;
  overflow:hidden!important;
}

@media (max-width:700px){
  .mobile-selected-dock.open{
    max-height:min(58vh, 460px)!important;
    overflow:hidden!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__content{
    max-height:calc(min(58vh, 460px) - 46px)!important;
    overflow-y:auto!important;
    padding-right:4px!important;
  }
  .mobile-selected-dock.open .mobile-selected-dock__chips{
    display:flex!important;
    flex-wrap:wrap!important;
    max-height:26vh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-right:4px!important;
  }
}

/* Final symptom info UI: visible green corner button on every symptom card. */
.search-pool-item-wrap.symptom-info-card-wrap,
.search-pool-item-wrap:has(.symptom-info-btn){
  position:relative!important;
  overflow:hidden!important;
}

.symptom-info-card-wrap .symptom-box-row,
.search-pool-item-wrap:has(.symptom-info-btn) .symptom-box-row{
  display:block!important;
  position:relative!important;
  min-width:0!important;
}

.symptom-info-card-wrap .quick-pattern-single,
.symptom-info-card-wrap .chip,
.search-pool-item-wrap:has(.symptom-info-btn) .search-pool-item,
.search-pool-item-wrap:has(.symptom-info-btn) .pem-core-symptom-card{
  width:100%!important;
  min-width:0!important;
  padding-right:50px!important;
  box-sizing:border-box!important;
}

.symptom-info-btn{
  position:absolute!important;
  top:50%!important;
  right:10px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border:2px solid #55c878!important;
  border-radius:999px!important;
  background:#dcfce7!important;
  color:#166534!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(22,101,52,.20)!important;
  transform:translateY(-50%)!important;
}

.symptom-info-btn.active,
.symptom-info-btn:hover{
  background:#bbf7d0!important;
  border-color:#16a34a!important;
  color:#064e3b!important;
  transform:translateY(-50%) scale(1.03)!important;
}

.symptom-info-bubble{
  margin:8px 8px 10px!important;
  border-color:#86efac!important;
  background:#f0fdf4!important;
  color:#12351f!important;
}

.symptom-info-bubble::before{
  right:22px!important;
  background:#f0fdf4!important;
  border-left-color:#86efac!important;
  border-top-color:#86efac!important;
}

.v4f2-symptom-detail{
  border-top:0!important;
  background:transparent!important;
}

.v4f2-symptom-detail h4{
  margin:4px 0 6px!important;
  color:#0f2744!important;
  font-size:1rem!important;
  line-height:1.25!important;
}

.v4f2-symptom-detail p{
  color:#24415e!important;
  line-height:1.5!important;
}

@media (max-width:700px){
  .symptom-info-card-wrap .quick-pattern-single,
  .symptom-info-card-wrap .chip,
  .search-pool-item-wrap:has(.symptom-info-btn) .search-pool-item,
  .search-pool-item-wrap:has(.symptom-info-btn) .pem-core-symptom-card{
    padding-right:42px!important;
  }
  .symptom-info-btn{
    right:7px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:15px!important;
    box-shadow:0 5px 12px rgba(22,101,52,.16)!important;
  }
}

/* OPEG / Notfallleitfaden branch selector */
.opeg-detail-view .opeg-hero{
  border-color:#b7d2ff;
  background:linear-gradient(180deg,#f8fbff,#eef6ff);
}
.opeg-diagnosis-title{
  color:#17324f;
  font-size:clamp(1.15rem,2.4vw,1.55rem);
  line-height:1.2;
  margin:6px 0 0;
}
.opeg-priority-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.opeg-priority-row span{
  border:1px solid #bfd6fb;
  border-radius:999px;
  background:#fff;
  color:#17324f;
  font-size:.86rem;
  font-weight:800;
  padding:7px 10px;
}
.opeg-branch-panel{
  display:grid;
  gap:14px;
  border:1px solid #bfd6fb;
  border-radius:20px;
  background:#f8fbff;
  box-shadow:0 10px 24px rgba(15,39,68,.06);
  padding:16px;
}
.opeg-branch-panel p{
  color:#40536d;
  margin:6px 0 0;
}
.opeg-branch-grid{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.opeg-branch-card{
  position:relative;
  min-height:148px;
  border:2px solid #d8e4f4;
  border-radius:18px;
  background:#fff;
  color:#102a43;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:14px;
  text-align:left;
  box-shadow:0 8px 18px rgba(15,39,68,.05);
}
.opeg-branch-card span{
  align-self:flex-start;
  border-radius:999px;
  background:#eef4ff;
  color:#265a94;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.05em;
  padding:5px 8px;
  text-transform:uppercase;
}
.opeg-branch-card strong{
  font-size:1rem;
  line-height:1.22;
}
.opeg-branch-card em{
  color:#56677f;
  font-style:normal;
  line-height:1.35;
}
.opeg-branch-card b{
  position:absolute;
  right:10px;
  top:10px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:.68rem;
  padding:4px 7px;
  text-transform:uppercase;
}
.opeg-branch-card--baseline.active{
  border-color:#22c55e;
  background:#f0fdf4;
}
.opeg-branch-card--escalation.active{
  border-color:#f59e0b;
  background:#fffbeb;
}
.opeg-branch-card--critical.active{
  border-color:#ef4444;
  background:#fff1f2;
}
.opeg-activation-box{
  border:1px solid #c8dcfb;
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
}
.opeg-activation-box ul{
  margin:.5rem 0 0 1.1rem;
}
@media (max-width:760px){
  .opeg-branch-grid{
    grid-template-columns:1fr;
  }
  .opeg-branch-card{
    min-height:auto;
  }
}

/* Professional clinical-reference density for Guideline + OPEG pages.
   These pages are bedside documents, so the layout prioritizes scan speed over decorative scale. */
body:has(.guideline-detail-view) .route-action-bar{
  gap:6px!important;
  margin-bottom:6px!important;
}

body:has(.guideline-detail-view) .route-action-btn{
  min-height:36px!important;
  border-radius:14px!important;
  padding:7px 12px!important;
  font-size:.9rem!important;
  box-shadow:0 2px 8px rgba(15,39,68,.06)!important;
}

body:has(.guideline-detail-view) .route-action-btn--icon{
  width:36px!important;
  min-width:36px!important;
  padding:0!important;
}

.guideline-detail-view{
  max-width:min(1120px, calc(100vw - 24px))!important;
  gap:10px!important;
}

.guideline-hero{
  gap:6px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 3px 14px rgba(15,39,68,.05)!important;
}

.guideline-kicker{
  font-size:10px!important;
  line-height:1.1!important;
  letter-spacing:.09em!important;
}

.guideline-hero .page-title{
  max-width:none!important;
  font-size:clamp(1.28rem,2.2vw,1.75rem)!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}

.guideline-hero .page-description{
  max-width:82ch!important;
  margin-top:0!important;
  color:#52657e!important;
  font-size:.94rem!important;
  line-height:1.45!important;
}
.guideline-updated-meta{
  width:max-content;
  max-width:100%;
  color:#52657e;
  background:#f8fafc;
  border:1px solid #d9e6f7;
  border-radius:999px;
  padding:.28em .72em;
  font-size:.86rem;
  line-height:1.25;
  font-weight:650;
}

.opeg-detail-view .opeg-hero{
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}

.opeg-diagnosis-title{
  margin-top:2px!important;
  font-size:clamp(1.02rem,1.8vw,1.25rem)!important;
  line-height:1.18!important;
}

.opeg-priority-row{
  gap:6px!important;
  margin-top:8px!important;
}

.opeg-priority-row span{
  padding:5px 8px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
}

.opeg-branch-panel{
  gap:10px!important;
  padding:12px!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,39,68,.05)!important;
}

.opeg-branch-panel p{
  margin:2px 0 0!important;
  font-size:.9rem!important;
  line-height:1.38!important;
}

.opeg-branch-grid{
  gap:8px!important;
}

.opeg-branch-card{
  min-height:96px!important;
  gap:5px!important;
  padding:10px 11px!important;
  border-width:1px!important;
  border-radius:12px!important;
  box-shadow:none!important;
  min-width:0!important;
  overflow:hidden!important;
}

.opeg-branch-card span{
  padding:3px 7px!important;
  font-size:.65rem!important;
  letter-spacing:.05em!important;
}

.opeg-branch-card strong{
  font-size:.92rem!important;
  line-height:1.22!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.opeg-branch-card em{
  color:#536579!important;
  font-size:.82rem!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
}

.opeg-branch-card b{
  top:7px!important;
  right:7px!important;
  padding:3px 6px!important;
  font-size:.6rem!important;
}

.opeg-activation-box{
  padding:9px 10px!important;
  border-radius:12px!important;
  font-size:.9rem!important;
  line-height:1.42!important;
}

.guideline-accordion-list{
  gap:8px!important;
}

.guideline-accordion{
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(15,39,68,.045)!important;
}

.guideline-accordion-head{
  min-height:50px!important;
  gap:10px!important;
  padding:11px 14px!important;
  background:#fff!important;
}

.guideline-accordion-head::after{
  font-size:12px!important;
}

.guideline-accordion-title-wrap{
  gap:9px!important;
  align-items:center!important;
}

.guideline-accordion-icon{
  min-width:25px!important;
  width:25px!important;
  height:25px!important;
  border-radius:8px!important;
  font-size:10px!important;
}

.guideline-accordion-title-copy{
  font-size:1rem!important;
  line-height:1.22!important;
  letter-spacing:0!important;
}

.guideline-accordion-badge{
  padding:4px 8px!important;
  font-size:9px!important;
  line-height:1.1!important;
  letter-spacing:.06em!important;
}

.guideline-accordion-body{
  padding:0 14px 14px!important;
  background:#fff!important;
}

.guideline-summary-box{
  margin-top:9px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  font-size:.92rem!important;
  line-height:1.45!important;
}

.guide-accordion-block{
  gap:8px!important;
  margin-top:9px!important;
  padding:10px 11px!important;
  border-radius:11px!important;
  box-shadow:none!important;
}

.guide-accordion-block h3{
  font-size:.96rem!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}

.guide-accordion-block ul,
.guide-accordion-block ol{
  gap:5px!important;
  padding-left:1.05rem!important;
}

.guide-accordion-block li,
.guideline-block-copy{
  font-size:.92rem!important;
  line-height:1.46!important;
}

.guideline-detail-view .detail-actions{
  gap:7px!important;
  margin-top:10px!important;
}

.guideline-detail-view .detail-actions .compact{
  min-height:36px!important;
  padding:8px 11px!important;
  border-radius:12px!important;
  font-size:.9rem!important;
}

@media (max-width:760px){
  .guideline-detail-view{
    max-width:calc(100vw - 16px)!important;
    gap:8px!important;
  }

  .guideline-browser-page,
  .guideline-detail-view,
  .opeg-detail-view{
    padding-top:8px!important;
  }

  .guideline-browser-hero,
  .guideline-hero{
    margin-top:0!important;
  }

  .guideline-hero{
    padding:12px 13px!important;
    border-radius:14px!important;
  }

  .guideline-hero .page-title{
    font-size:1.18rem!important;
  }

  .guideline-hero .page-description{
    font-size:.88rem!important;
  }

  .opeg-branch-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    padding-bottom:0!important;
    scroll-snap-type:none!important;
  }

  .opeg-branch-card{
    width:100%!important;
    min-width:0!important;
    flex:none!important;
    scroll-snap-align:none;
  }

  .guideline-accordion-head{
    padding:10px 12px!important;
  }

  .guideline-accordion-body{
    padding:0 11px 12px!important;
  }
}

/* === PEMGuide V4_F3_8_12: clinical mobile layout guardrails === */
html,
body{
  max-width:100%;
  overflow-x:hidden!important;
}

.app-shell,
#content,
.main-content,
.v7-detail-card,
.guideline-detail-view,
.opeg-detail-view{
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

.v7-detail-card *,
.guideline-detail-view *,
.opeg-detail-view *{
  min-width:0;
}

@media (max-width:700px){
  body.route-diagnosis-detail .route-action-bar.visible,
  body.route-guideline-detail .route-action-bar.visible,
  body.route-finder-results .route-action-bar.visible{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    align-items:stretch!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 0 6px!important;
  }

  body.route-diagnosis-detail .route-action-bar.visible::-webkit-scrollbar,
  body.route-guideline-detail .route-action-bar.visible::-webkit-scrollbar,
  body.route-finder-results .route-action-bar.visible::-webkit-scrollbar{
    display:none!important;
  }

  body.route-diagnosis-detail .route-action-btn,
  body.route-guideline-detail .route-action-btn,
  body.route-finder-results .route-action-btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:min(78vw,360px)!important;
    min-height:36px!important;
    padding:7px 9px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    line-height:1.12!important;
    text-align:center!important;
  }

  body.route-diagnosis-detail .route-action-btn--icon,
  body.route-guideline-detail .route-action-btn--icon,
  body.route-finder-results .route-action-btn--icon{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    padding:0!important;
    font-size:15px!important;
  }

  body.route-diagnosis-detail .route-action-btn--primary,
  body.route-guideline-detail .route-action-btn--primary,
  body.route-finder-results .route-action-btn--primary{
    grid-column:auto!important;
  }

  body.route-diagnosis-detail .breadcrumb,
  body.route-guideline-detail .breadcrumb,
  body.route-finder-results .breadcrumb{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    padding:0!important;
    margin:8px 0 0!important;
    font-size:12px!important;
    line-height:1.25!important;
  }

  body.route-diagnosis-detail .breadcrumb-item,
  body.route-guideline-detail .breadcrumb-item,
  body.route-finder-results .breadcrumb-item,
  body.route-diagnosis-detail .breadcrumb span,
  body.route-guideline-detail .breadcrumb span,
  body.route-finder-results .breadcrumb span{
    display:inline!important;
    min-width:0!important;
  }

  body.route-diagnosis-detail .v7-detail-card{
    width:100%!important;
    max-width:100%!important;
    padding:12px!important;
    border-radius:16px!important;
  }

  body.route-diagnosis-detail .v7-card-top{
    gap:7px!important;
    align-items:flex-start!important;
  }

  body.route-diagnosis-detail .v7-detail-card h2,
  body.route-diagnosis-detail .v7-card-title-list{
    font-size:clamp(1.34rem,7vw,1.9rem)!important;
    line-height:1.12!important;
    overflow-wrap:anywhere!important;
    margin-bottom:7px!important;
  }

  body.route-diagnosis-detail .v7-muted,
  body.route-diagnosis-detail .page-description{
    font-size:.96rem!important;
    line-height:1.42!important;
    overflow-wrap:anywhere!important;
  }

  .v7-score-legend,
  .v7-chip-row,
  .v7-card-top > div{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    max-width:100%!important;
  }

  .v7-legend-badge,
  .v7-evidence-chip,
  .v7-mini-pill,
  .v7-score-badge,
  .v7-severity-badge,
  .v7-combo-badge{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.16!important;
  }

  .v7-evidence-panel,
  .v7-subbox,
  .dx-operational-panel{
    width:100%!important;
    max-width:100%!important;
    padding:10px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  .guideline-detail-view{
    width:100%!important;
    max-width:calc(100vw - 14px)!important;
    gap:7px!important;
  }

  .guideline-hero{
    padding:11px 12px!important;
    border-radius:14px!important;
  }

  .guideline-accordion-list{
    gap:7px!important;
  }

  .guideline-accordion{
    border-radius:13px!important;
    overflow:hidden!important;
  }

  .guideline-accordion-head{
    min-height:44px!important;
    gap:8px!important;
    padding:8px 10px!important;
  }

  .guideline-accordion-title-wrap{
    gap:8px!important;
  }

  .guideline-accordion-icon{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    border-radius:8px!important;
    font-size:10px!important;
  }

  .guideline-accordion-title-copy{
    font-size:.98rem!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
  }

  .guideline-accordion-badge{
    max-width:42%!important;
    padding:4px 7px!important;
    font-size:8.5px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .guideline-accordion-body{
    padding:0 10px 11px!important;
  }

  .guide-accordion-block{
    padding:9px 10px!important;
    border-radius:10px!important;
  }

  .guide-accordion-block li,
  .guideline-block-copy{
    font-size:.9rem!important;
    line-height:1.42!important;
  }
}

/* === PEMGuide V4_F3_8_15B: final density authority + symptom info modal === */
body.route-home .home-clinical-hero,
body.route-home .home-quickstart-grid,
body.route-home .home-dual-grid,
body.route-home .quick-access-home--clinical,
body.route-finder-hub .v7-panel.pem-f2-hub,
body.route-finder-results .finder-stage{
  max-width:100%!important;
}

@media (min-width:1180px){
  .app-shell{
    width:min(100%, var(--pem-shell-max-width, 1360px))!important;
    max-width:var(--pem-shell-max-width, 1360px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

body.route-home .home-clinical-hero{
  margin:0 0 12px!important;
  padding:clamp(14px,1.8vw,22px)!important;
  border-radius:18px!important;
  gap:12px!important;
}

body.route-home .home-clinical-kicker,
body.route-home .home-section-kicker,
body.route-home .home-quickstart-label{
  max-width:max-content!important;
  white-space:normal!important;
  line-height:1.05!important;
}

body.route-home .home-clinical-kicker{
  max-width:100%!important;
  padding:5px 10px!important;
  font-size:.72rem!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}

body.route-home .home-clinical-title{
  max-width:62ch!important;
  font-size:clamp(1.3rem,1.35vw + .92rem,1.72rem)!important;
  line-height:1.18!important;
  letter-spacing:0!important;
  text-wrap:normal;
  margin:8px 0 2px!important;
}

body.route-home .home-alert-strip{
  padding:10px 12px!important;
  border-radius:14px!important;
  line-height:1.35!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:8px!important;
}

body.route-home .home-alert-strip strong,
body.route-home .home-alert-strip span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
}

body.route-home .home-alert-strip strong{
  font-size:.78rem!important;
  letter-spacing:.03em!important;
}

body.route-home .home-quickstart-grid,
body.route-home .home-dual-grid{
  gap:12px!important;
  align-items:stretch!important;
}

body.route-home .home-quickstart-card,
body.route-home .home-workflow-panel,
body.route-home .home-scenario-panel,
body.route-home .quick-access-home--clinical{
  padding:14px 16px!important;
  border-radius:17px!important;
  min-height:0!important;
}

body.route-home .home-quickstart-card{
  display:grid!important;
  align-content:start!important;
  gap:8px!important;
}
body.route-home .home-quickstart-card--with-training{
  padding:14px!important;
  gap:12px!important;
}
body.route-home .home-quickstart-main{
  padding:12px!important;
}

body.route-home .home-quickstart-card h2,
body.route-home .home-workflow-panel h2,
body.route-home .home-scenario-panel h2,
body.route-home .quick-access-home--clinical h2{
  margin:0!important;
  font-size:clamp(1.08rem,1.7vw,1.35rem)!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}

body.route-home .home-quickstart-card p,
body.route-home .home-scenario-card span{
  margin:0!important;
  font-size:.94rem!important;
  line-height:1.42!important;
  overflow-wrap:anywhere!important;
}

body.route-home .home-workflow-list,
body.route-home .home-scenario-grid{
  gap:8px!important;
}

body.route-home .home-workflow-step,
body.route-home .home-scenario-card{
  min-height:0!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  line-height:1.28!important;
  overflow-wrap:anywhere!important;
}

body.route-finder-hub .v7-panel.pem-f2-hub{
  min-height:0!important;
  padding:12px!important;
  gap:10px!important;
}

body.route-finder-hub .pem-f2-hub > .v7-kicker,
body.route-finder-hub .pem-f2-hub > h2,
body.route-finder-hub .pem-f2-hub > p.v7-muted{
  display:none!important;
}

body.route-finder-hub .pem-f2-hub .hub-selected-zone,
body.route-finder-results .finder-stage .top-fixed-zone.floating-selected-zone,
body.route-finder-results .finder-stage .action-row--stickyish{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.route-finder-results .finder-stage.has-mobile-selected-dock{
  padding-top:12px!important;
}

body.route-finder-hub .age-selector-panel{
  order:1;
  margin:0!important;
  padding:10px!important;
  border-radius:15px!important;
}

body.route-finder-hub .hub-selected-zone{
  order:2;
}

body.route-finder-hub .pem-f2-risk-panel{
  order:3;
}

body.route-finder-hub .v7-search{
  order:4;
}

body.route-finder-hub .pem-level-panel{
  padding:12px!important;
  border-radius:16px!important;
}

body.route-finder-hub .hub-sticky-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:7px!important;
}

.quick-pattern-section,
.symptom-group--accordion .symptom-group-body{
  align-items:start!important;
}

.quick-patterns-grid,
.quick-patterns-grid--single-items,
.compact-extra-findings,
.pem-core-symptom-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:9px!important;
  align-items:start!important;
}

.search-pool-item-wrap.symptom-info-card-wrap,
.search-pool-item-wrap:has(.symptom-info-btn){
  min-height:0!important;
  padding:0!important;
  border-radius:14px!important;
  overflow:visible!important;
}

.symptom-box-row{
  position:relative!important;
  display:block!important;
  min-height:0!important;
}

.search-pool-item-wrap:has(.symptom-info-btn) .search-pool-item,
.search-pool-item-wrap:has(.symptom-info-btn) .pem-core-symptom-card,
.symptom-info-card-wrap .quick-pattern-single,
.symptom-info-card-wrap .chip{
  width:100%!important;
  min-height:50px!important;
  padding:11px 42px 11px 12px!important;
  border-radius:13px!important;
  display:flex!important;
  align-items:center!important;
  line-height:1.22!important;
  text-align:left!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.search-pool-item-wrap:has(.symptom-info-btn) strong,
.symptom-info-card-wrap .quick-pattern-single strong{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.search-pool-item small,
.pem-core-symptom-card small,
.symptom-info-card-wrap small{
  display:none!important;
}

.symptom-info-btn{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:4!important;
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  min-height:27px!important;
  padding:0!important;
  border-radius:999px!important;
  border:2px solid #45c775!important;
  background:#dcfce7!important;
  color:#146c37!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 6px 14px rgba(22,163,74,.17)!important;
}

.symptom-info-bubble,
.v4f2-symptom-detail{
  display:none!important;
}

.symptom-info-popup{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(9,24,43,.30);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.symptom-info-popup-card{
  width:min(440px,100%);
  border:1px solid #88e3a6;
  border-radius:18px;
  background:linear-gradient(180deg,#f0fdf4,#ffffff);
  box-shadow:0 22px 54px rgba(15,39,68,.22);
  padding:16px;
}

.symptom-info-popup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.symptom-info-popup-head span{
  color:#275b8a;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.symptom-info-popup-close{
  width:32px;
  height:32px;
  border:1px solid #b8eac8;
  border-radius:999px;
  background:#fff;
  color:#146c37;
  font-size:20px;
  font-weight:900;
  line-height:1;
}

.symptom-info-popup-card h3{
  margin:0 0 8px!important;
  color:#0f2744;
  font-size:1.18rem!important;
  line-height:1.2!important;
}

.symptom-info-popup-card p{
  margin:0!important;
  color:#243b55;
  font-size:1rem!important;
  line-height:1.48!important;
}

.age-required-popup{
  position:fixed;
  inset:0;
  z-index:1250;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(9,24,43,.28);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.age-required-popup-card{
  width:min(500px,100%);
  border:1px solid #f0b4b4;
  border-radius:18px;
  background:linear-gradient(180deg,#fff7f7,#fff);
  box-shadow:0 22px 54px rgba(15,39,68,.24);
  padding:16px;
}

.age-required-popup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.age-required-popup-head strong{
  color:#9b1c1c;
  font-size:1.05rem;
  font-weight:950;
  line-height:1.2;
}

.age-required-popup-close{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid #ffc7c7;
  border-radius:999px;
  background:#fff;
  color:#9b1c1c;
  font-size:20px;
  font-weight:950;
  line-height:1;
}

.age-required-popup-card p{
  margin:0!important;
  color:#243b55;
  font-size:1rem!important;
  line-height:1.48!important;
}

@media (max-width:760px){
  body.route-home .home-quickstart-grid,
  body.route-home .home-dual-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.route-home .home-clinical-title{
    max-width:none!important;
    font-size:1.42rem!important;
  }

  .quick-patterns-grid,
  .quick-patterns-grid--single-items,
  .compact-extra-findings,
  .pem-core-symptom-grid{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  }
}

@media (max-width:430px){
  .quick-patterns-grid,
  .quick-patterns-grid--single-items,
  .compact-extra-findings,
  .pem-core-symptom-grid{
    grid-template-columns:1fr!important;
  }

  body.route-finder-hub .hub-sticky-actions{
    grid-template-columns:1fr!important;
  }

.search-pool-item-wrap:has(.symptom-info-btn) .search-pool-item,
  .search-pool-item-wrap:has(.symptom-info-btn) .pem-core-symptom-card,
  .symptom-info-card-wrap .quick-pattern-single,
  .symptom-info-card-wrap .chip{
    min-height:48px!important;
  }
}

/* V4_F3_8_17: final professional density/alignment authority for OPEG and DiagnoseFinder results */
.guideline-detail-view,
.opeg-detail-view{
  gap:12px!important;
}

.guideline-accordion{
  margin:0 0 10px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}

.guideline-accordion-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-height:56px!important;
  padding:12px 16px!important;
}

.guideline-accordion-title-wrap{
  display:flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  min-width:0!important;
  gap:10px!important;
}

.guideline-accordion-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:10px!important;
  font-size:15px!important;
}

.guideline-accordion-title-copy{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  line-height:1.15!important;
}

.guideline-accordion-badge{
  order:2!important;
  flex:0 0 auto!important;
  align-self:center!important;
  margin:0 0 0 6px!important;
  padding:4px 10px!important;
  min-height:24px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
}

.guideline-accordion-head::after{
  flex:0 0 auto!important;
  margin-left:auto!important;
}

.guideline-accordion-title-wrap .guideline-accordion-badge{
  margin-left:8px!important;
}

.guideline-age-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:14px!important;
}

.guideline-age-card{
  padding:16px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#f8fbff,#ffffff)!important;
  border:1px solid #cfe0f6!important;
  box-shadow:0 14px 28px rgba(15,39,68,.06)!important;
}

.guideline-age-card:nth-child(2n){
  background:linear-gradient(145deg,#f7fffb,#ffffff)!important;
  border-color:#cbead9!important;
}

.guideline-age-card:nth-child(3n){
  background:linear-gradient(145deg,#fffaf1,#ffffff)!important;
  border-color:#f1d8aa!important;
}

.guideline-age-card:nth-child(4n){
  background:linear-gradient(145deg,#fff7f7,#ffffff)!important;
  border-color:#f0c8c8!important;
}

.guideline-age-card h4{
  margin:0 0 12px!important;
  font-size:calc(var(--pem-fs-body) * 1.04)!important;
  line-height:1.18!important;
  color:#0f2744!important;
  font-weight:950!important;
}

.guideline-kv-list{
  display:grid!important;
  gap:9px!important;
  margin:0!important;
}

.guideline-kv-row{
  display:grid!important;
  gap:3px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(207,224,246,.72)!important;
}

.guideline-kv-row dt{
  font-weight:950!important;
  color:#245b95!important;
  letter-spacing:.02em!important;
}

.guideline-kv-row dd{
  margin:0!important;
  color:#233951!important;
  line-height:1.38!important;
}

.guideline-accordion-body{
  padding:12px 16px 16px!important;
}

.opeg-operational-flow{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #f0b8b1;
  border-radius:22px;
  background:linear-gradient(180deg,#fff8f6,#ffffff);
  box-shadow:0 18px 38px rgba(146,35,24,.08);
}

.opeg-flow-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.opeg-flow-head h3{
  margin:4px 0 0;
  color:#7f1d1d;
  font-size:calc(var(--pem-fs-title) * .78);
  line-height:1.15;
}

.opeg-flow-head span{
  flex:0 0 auto;
  border-radius:999px;
  padding:7px 12px;
  background:#fff0ed;
  color:#b9362f;
  font-size:var(--pem-fs-small);
  font-weight:900;
  text-transform:uppercase;
}

.opeg-flow-timeline{
  display:grid;
  gap:10px;
}

.opeg-flow-phase{
  overflow:hidden;
  border:1px solid #f0c5bf;
  border-radius:18px;
  background:#fff;
}

.opeg-flow-phase summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:54px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  color:#0f2744;
  font-size:var(--pem-fs-body);
}

.opeg-flow-phase summary::-webkit-details-marker{display:none}

.opeg-flow-phase summary::after{
  content:'\25BE';
  color:#b9362f;
  font-weight:900;
  transition:transform .16s ease;
}

.opeg-flow-phase:not([open]) summary::after{transform:rotate(-90deg)}

.opeg-flow-phase summary span{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 10px;
  background:#eef6ff;
  color:#245a9b;
  font-weight:900;
}

.opeg-flow-phase summary strong{
  flex:1 1 auto;
  font-weight:900;
}

.opeg-flow-body{
  display:grid;
  gap:14px;
  padding:0 16px 16px;
  border-top:1px solid #f4d0ca;
}

.opeg-parallel-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

.opeg-parallel-card{
  border:1px solid #d9e7f7;
  border-radius:16px;
  background:#f8fbff;
  padding:12px;
}

.opeg-parallel-card--therapy{
  border-color:#f0b4ae;
  background:#fff8f6;
}

.opeg-parallel-card h4{
  margin:0 0 8px;
  color:#245a9b;
  font-size:var(--pem-fs-body);
}

.opeg-parallel-card--therapy h4{
  color:#9b2c24;
}

.opeg-parallel-card .opeg-action-list{
  margin-top:0;
}

.opeg-action-list{
  display:grid;
  gap:8px;
  margin:14px 0 0;
  padding-left:22px;
}

.opeg-action-list li{
  padding:10px 12px;
  border:1px solid #d9e7f7;
  border-radius:14px;
  background:#f7fbff;
}

.opeg-action-list li.is-critical{
  border-color:#f0b4ae;
  background:#fff5f3;
}

.opeg-action-list li strong{
  display:block;
  color:#0f2744;
  font-size:var(--pem-fs-body);
}

.opeg-action-list li span{
  display:block;
  margin-top:4px;
  color:#5c6c83;
  font-size:var(--pem-fs-small);
  font-weight:800;
}

.opeg-med-section{
  display:grid;
  gap:10px;
}

.opeg-med-section h4,
.opeg-flow-safety-card h4{
  margin:0;
  color:#7f1d1d;
  font-size:var(--pem-fs-body);
}

.opeg-med-card{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid #d4e4f7;
  border-radius:16px;
  background:#fbfdff;
}

.opeg-med-card strong{
  color:#0f2744;
  font-size:var(--pem-fs-body);
}

.opeg-med-card span,
.opeg-med-card li{
  color:#34455d;
  font-size:var(--pem-fs-body);
}

.opeg-med-card dl{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.opeg-med-card dt{
  color:#5f718b;
  font-size:var(--pem-fs-small);
  font-weight:900;
}

.opeg-med-card dd{
  margin:2px 0 0;
  color:#102942;
  font-size:var(--pem-fs-body);
  font-weight:800;
}

.opeg-med-card b{
  width:max-content;
  border-radius:999px;
  padding:5px 9px;
  background:#fff4e5;
  color:#8a5200;
  font-size:var(--pem-fs-small);
}

.opeg-med-literature{
  display:grid;
  gap:6px;
  margin-top:4px;
  padding:12px;
  border:1px solid #f6c56f;
  border-radius:14px;
  background:#fffaf0;
}

.opeg-med-literature strong{
  color:#7f1d1d;
  font-size:var(--pem-fs-small);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.opeg-med-literature ul{
  margin:0;
  padding-left:18px;
}

.guideline-kv-list{
  display:grid;
  gap:8px;
  margin:0;
}

.guideline-kv-row{
  display:grid;
  gap:3px;
}

.guideline-kv-row dt{
  color:#24598f;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.guideline-kv-row dd{
  color:#16304d;
  line-height:1.45;
  margin:0;
}

.guideline-age-grid,
.guideline-danger-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}

.guideline-age-card,
.guideline-danger-card{
  border:1px solid #cfe0f6;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  padding:14px;
  box-shadow:0 6px 18px rgba(15,39,68,.05);
}

.guideline-age-card h4,
.guideline-danger-card h4{
  color:#0e2a47;
  font-size:1.02rem;
  line-height:1.25;
  margin:0 0 10px;
}

.guideline-danger-card.is-critical{
  border-color:#f5b5b5;
  background:linear-gradient(180deg,#fffafa,#fff1f1);
}

.guideline-danger-card.is-urgent{
  border-color:#f8d79a;
  background:linear-gradient(180deg,#fffdf7,#fff8e8);
}

.guideline-semantic-grid{
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
}

.guideline-semantic-card{
  display:grid;
  gap:10px;
}

.guideline-semantic-card.is-coexisting{
  border-color:#d7c9f5;
  background:linear-gradient(180deg,#fcfaff,#ffffff);
}

.guideline-semantic-card.is-differential{
  border-color:#c9ddf5;
  background:linear-gradient(180deg,#f7fbff,#ffffff);
}

.guideline-content-subaccordion-list{
  display:grid;
  gap:12px;
}

.guideline-content-subaccordion{
  border:1px solid #cfe0f6;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.guideline-content-subaccordion-head{
  cursor:pointer;
  list-style:none;
  padding:13px 16px;
  color:#1e5d92;
  font-weight:650;
  font-size:1rem;
  border-left:4px solid #2d6fa8;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff);
}

.guideline-content-subaccordion-head::-webkit-details-marker{
  display:none;
}

.guideline-content-subaccordion-head::after{
  content:"\25BE";
  float:right;
  color:#5f7fa4;
  font-size:.9rem;
}

.guideline-content-subaccordion:not([open]) .guideline-content-subaccordion-head::after{
  content:"\25B8";
}

.guideline-content-subaccordion-body{
  padding:14px;
  border-top:1px solid #dce8f7;
}

.guideline-content-subaccordion--section{
  display:block;
  gap:0;
  padding:0!important;
  margin:0 0 10px;
  box-shadow:0 8px 18px rgba(15,39,68,.035);
}

.guideline-content-subaccordion--section .guideline-content-subaccordion-head{
  color:#1e5d92;
  font-weight:680;
}

.guideline-content-subaccordion--section.guideline-content-card--pro .guideline-content-subaccordion-head{
  color:#0c6d45;
  border-left-color:#18875b;
  background:linear-gradient(180deg,#fbfffd,#f1fbf6);
}

.guideline-content-subaccordion--section.guideline-content-card--support .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--diagnostic .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--action .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--timeline .guideline-content-subaccordion-head{
  color:#1e5d92;
  border-left-color:#4c83bf;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff);
}

.guideline-content-subaccordion--section.guideline-content-card--objective .guideline-content-subaccordion-head{
  color:#245f7a;
  border-left-color:#68a6c9;
  background:linear-gradient(180deg,#fbfeff,#f4fbff);
}

.guideline-content-subaccordion--section.guideline-content-card--neutral .guideline-content-subaccordion-head{
  color:#4d5f7c;
  border-left-color:#8ba3c7;
  background:linear-gradient(180deg,#fcfdff,#f7faff);
}

.guideline-content-subaccordion--section.guideline-content-card--against .guideline-content-subaccordion-head{
  color:#9b3f35;
  border-left-color:#d86f62;
  background:linear-gradient(180deg,#fffafa,#fff5f3);
}

.guideline-content-subaccordion--section.guideline-content-card--warning .guideline-content-subaccordion-head{
  color:#9b2f2f;
  border-left-color:#e06a6a;
  background:linear-gradient(180deg,#fffafa,#fff4f4);
}

.guideline-content-subaccordion--parents.is-parent-highrisk .guideline-content-subaccordion-head{
  color:#9b2f2f;
  border-left-color:#e06a6a;
  background:linear-gradient(180deg,#fffafa,#fff4f4);
}

.guideline-content-subaccordion--parents.is-parent-misread .guideline-content-subaccordion-head{
  color:#8a5b14;
  border-left-color:#e0ad4f;
  background:linear-gradient(180deg,#fffdf7,#fff8e8);
}

.guideline-content-subaccordion--parents.is-parent-dynamics .guideline-content-subaccordion-head{
  color:#145f5d;
  border-left-color:#38a6a0;
  background:linear-gradient(180deg,#f8fffe,#effbfa);
}

.guideline-content-subaccordion--parents.is-parent-age .guideline-content-subaccordion-head{
  color:#4d4d88;
  border-left-color:#8e8eda;
  background:linear-gradient(180deg,#fcfbff,#f7f5ff);
}

.guideline-parent-reality-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.guideline-danger-card.is-parent-reality h4{
  color:#174f82;
  font-weight:620;
  font-size:.98rem;
}

.guideline-danger-card.is-parent-reality p{
  margin:.45rem 0 0;
  color:#17324d;
}

.guideline-danger-card.is-parent-reality .parent-reality-phrase{
  color:#123f66;
  font-weight:620;
}

.guideline-danger-card.is-parent-reality .parent-reality-meaning{
  margin-top:.55rem;
  padding-top:.55rem;
  border-top:1px solid #dbe8f6;
}

.guideline-semantic-card.is-disposition{
  border-color:#f1d6a8;
  background:linear-gradient(180deg,#fffdf8,#ffffff);
}

.guideline-semantic-card.is-icu,
.guideline-semantic-card.is-transfer{
  border-color:#f3b4a8;
  background:linear-gradient(180deg,#fffafa,#fff4f1);
}

.guideline-semantic-card.is-reevaluation{
  border-color:#bfe8e3;
  background:linear-gradient(180deg,#fbfffe,#f3fbfa);
}

.guideline-semantic-card.is-improvement{
  border-color:#bde8c9;
  background:linear-gradient(180deg,#fbfffc,#f2fbf5);
}

.guideline-semantic-card.is-deterioration{
  border-color:#f3b4a8;
  background:linear-gradient(180deg,#fffafa,#fff4f1);
}

.guideline-semantic-card.is-consult{
  border-color:#c7dcff;
  background:linear-gradient(180deg,#ffffff,#f5f9ff);
}

.guideline-semantic-card.is-kritisch,
.guideline-semantic-card.is-critical{
  border-color:#f3b4a8;
  background:linear-gradient(180deg,#fffafa,#fff4f1);
}

.guideline-semantic-card.is-source-control{
  border-color:#f8d79a;
  background:linear-gradient(180deg,#fffdf7,#fff8e8);
}

.guideline-semantic-card.is-safety-netting{
  border-color:#c9ddf5;
  background:linear-gradient(180deg,#f7fbff,#ffffff);
}

.guideline-semantic-card.is-workflow-pitfall{
  border-color:#f3b4a8;
  background:linear-gradient(180deg,#fffafa,#fff4f1);
}

.guideline-semantic-card h4{
  margin-bottom:2px;
}

.guideline-finding-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  align-items:start;
  gap:14px;
}

.guideline-finding-card{
  display:grid;
  gap:10px;
  border:1px solid #d7e6f7;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  padding:16px;
  box-shadow:0 8px 20px rgba(15,39,68,.05);
}

.guideline-finding-card.is-major{
  border-color:#bde8c9;
  background:linear-gradient(180deg,#fbfffc,#f2fbf5);
}

.guideline-finding-card.is-common{
  border-color:#c7dcff;
  background:linear-gradient(180deg,#ffffff,#f5f9ff);
}

.guideline-finding-card.is-atypical{
  border-color:#e2d4ff;
  background:linear-gradient(180deg,#ffffff,#fbf8ff);
}

.guideline-finding-card.is-against{
  border-color:#f0b8b1;
  background:linear-gradient(180deg,#fffafa,#fff4f2);
}

.guideline-finding-card.is-objective{
  border-color:#bfd5f1;
  background:linear-gradient(180deg,#ffffff,#f6faff);
}

.guideline-finding-card.is-critical{
  border-color:#f0aaa2;
  background:linear-gradient(180deg,#fffafa,#fff1ef);
}

.guideline-finding-card header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.guideline-finding-card h4{
  margin:0;
  color:#0f2744;
  font-size:1.02rem;
  line-height:1.25;
  font-weight:700;
}

.guideline-finding-title-soft{
  display:block;
  color:#183a61;
  font-size:var(--pem-fs-body);
  line-height:1.42;
  font-weight:450;
}

.guideline-finding-text-only{
  margin:0;
  color:#183a61;
  font-size:var(--pem-fs-body);
  line-height:1.46;
  font-weight:450;
}

.guideline-finding-card.is-atypical .guideline-finding-title-soft,
.guideline-finding-card.is-atypical .guideline-finding-text-only{
  color:#263c63;
}

.guideline-finding-card.is-critical .guideline-finding-title-soft,
.guideline-finding-card.is-critical .guideline-finding-text-only{
  color:#7f1d1d;
}

.guide-box--symptom_profile .guideline-finding-card h4{
  font-weight:650;
}

.guide-box--symptom_profile .guideline-finding-card strong,
.guide-box--symptom_profile .guideline-finding-detail p strong,
.guide-box--symptom_profile .guideline-finding-title-soft strong,
.guide-box--symptom_profile .guideline-finding-text-only strong{
  font-weight:560;
}

.guide-box--symptom_profile .guideline-finding-title-soft,
.guide-box--symptom_profile .guideline-finding-text-only{
  font-weight:430;
}

.guideline-finding-meta{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eef5ff;
  color:#1d4f8f;
  font-size:.74rem;
  font-weight:900;
  padding:3px 8px;
  margin-left:4px;
}

.guideline-finding-meta.is-supportive,
.guideline-finding-meta.is-strength-unterstuetzend,
.guideline-finding-meta.is-strength-unterstützend,
.guideline-finding-meta.is-strength-supportive{
  background:#eef5ff;
  color:#245c9a;
}

.guideline-finding-meta.is-very-high,
.guideline-finding-meta.is-strength-sehr-hoch,
.guideline-finding-meta.is-strength-very-high{
  background:#e9f8ef;
  color:#13713e;
}

.guideline-finding-meta.is-critical,
.guideline-finding-meta.is-strength-kritisch,
.guideline-finding-meta.is-strength-critical,
.guideline-finding-meta.is-strength-kritische-kombination,
.guideline-finding-meta.is-strength-critical-combination{
  background:#fff1d9;
  color:#995600;
}

.guideline-finding-meta.is-emergency,
.guideline-finding-meta.is-strength-notfallmuster,
.guideline-finding-meta.is-strength-emergency-pattern{
  background:#ffe8e4;
  color:#b42318;
}

.guideline-finding-meta.is-negative,
.guideline-finding-meta.is-strength-maessig-dagegen,
.guideline-finding-meta.is-strength-mäßig-dagegen,
.guideline-finding-meta.is-strength-schwach-dagegen,
.guideline-finding-meta.is-strength-moderate-against,
.guideline-finding-meta.is-strength-weak-against{
  background:#fff0ed;
  color:#a6362e;
}

.guideline-finding-detail{
  border:1px solid #d8e6f7;
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
}

.guideline-finding-detail span{
  display:block;
  color:#245b93;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:4px;
}

.guideline-finding-detail p{
  margin:0;
  color:#24384f;
  line-height:1.45;
}

.guideline-pitfall-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}

.guideline-pitfall-card{
  display:grid;
  gap:10px;
  border:1px solid #f3b4a8;
  border-radius:18px;
  background:linear-gradient(180deg,#fffafa,#fff4f1);
  padding:16px;
  box-shadow:0 8px 22px rgba(127,29,29,.06);
}

.guideline-pitfall-lead{
  display:grid;
  gap:5px;
}

.guideline-pitfall-lead span{
  color:#9a3412;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.guideline-pitfall-lead strong{
  color:#0f2744;
  font-size:1.02rem;
  line-height:1.25;
}

.guideline-kv-row--danger,
.guideline-kv-row--action{
  border:1px solid #d8e6f7;
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
}

.guideline-kv-row--danger dt{
  color:#b42318;
}

.guideline-kv-row--action dt{
  color:#166534;
}

.guideline-content-card--age{
  background:#f8fbff;
}

.opeg-med-literature p{
  margin:0;
  color:#34455d;
  font-size:var(--pem-fs-body);
}

.opeg-reassessment-box,
.opeg-flow-safety-card{
  padding:14px;
  border:1px solid #d4e4f7;
  border-radius:16px;
  background:#f8fbff;
}

.opeg-reassessment-box strong{
  color:#0f2744;
  font-size:var(--pem-fs-body);
}

.opeg-flow-safety-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.opeg-flow-safety-card.critical{
  border-color:#f0b4ae;
  background:#fff5f3;
}

.opeg-flow-safety-card.escalation{
  border-color:#f3d59f;
  background:#fffaf0;
}

@media (max-width:700px){
  .opeg-operational-flow{padding:14px;border-radius:18px}
  .opeg-flow-head{display:grid}
  .opeg-flow-phase summary{align-items:flex-start}
  .opeg-parallel-grid,
  .opeg-med-card dl,
  .opeg-flow-safety-grid{grid-template-columns:1fr}
}

/* OPEG visible quick-guide: 112/ED first-hour operational structure. */
.opeg-quick-guide{
  border-color:#d7e6fb!important;
  background:linear-gradient(180deg,#f7fbff,#ffffff)!important;
  box-shadow:0 14px 30px rgba(15,39,68,.07)!important;
}

.opeg-quick-guide strong,
.opeg-quick-guide b,
.opeg-detail-view strong,
.opeg-detail-view b{
  font-weight:650!important;
}

.opeg-quick-guide .opeg-flow-head h3{
  color:#0f2744!important;
  font-size:calc(var(--pem-fs-title) * .72)!important;
}

.opeg-quick-step-list{
  display:grid;
  gap:12px;
}

.opeg-quick-step{
  overflow:hidden;
  border:1px solid #d5e4f6;
  border-left:4px solid #2d6fa8;
  border-radius:16px;
  background:#fff;
}

.opeg-quick-step > summary{
  cursor:pointer;
  list-style:none;
}

.opeg-quick-step > summary::-webkit-details-marker{
  display:none;
}

.opeg-quick-step > summary::after{
  content:'\25BE';
  margin-left:auto;
  color:#5f7fa4;
  font-size:var(--pem-fs-small);
  font-weight:650;
  transition:transform .16s ease;
}

.opeg-quick-step:not([open]) > summary::after{
  transform:rotate(-90deg);
}

.opeg-quick-step--critical{
  border-color:#f0b7b2;
  border-left-color:#d84c3f;
  background:linear-gradient(180deg,#fff8f7,#fff);
}

.opeg-quick-step--urgent,
.opeg-quick-step--escalation{
  border-color:#f2d0a4;
  border-left-color:#c47714;
  background:linear-gradient(180deg,#fffbf5,#fff);
}

.opeg-quick-step--handover{
  border-color:#cbe6e2;
  border-left-color:#0d7b77;
  background:linear-gradient(180deg,#f7fffd,#fff);
}

.opeg-quick-step-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid #dce8f7;
  background:linear-gradient(180deg,#fbfdff,#f4f8ff);
}

.opeg-quick-step-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  border-radius:12px;
  background:#eaf3ff;
  color:#245b95;
  font-size:var(--pem-fs-body);
  font-weight:750;
}

.opeg-quick-step-head h3{
  margin:0;
  color:#0f2744;
  font-size:calc(var(--pem-fs-body) * 1.05);
  line-height:1.22;
  font-weight:750;
}

.opeg-quick-step-body{
  display:grid;
  gap:10px;
  padding:13px 14px;
  color:#16304d;
  font-size:var(--pem-fs-body);
  line-height:1.5;
}

.opeg-quick-step-body h4,
.opeg-quick-meds h4{
  margin:4px 0 0;
  color:#245b95;
  font-size:calc(var(--pem-fs-body) * .95);
  line-height:1.25;
  font-weight:750;
}

.opeg-quick-step-body p{
  margin:0;
  color:#183a61;
}

.opeg-quick-mini-box{
  display:grid;
  gap:8px;
  border:1px solid #d5e4f6;
  border-left:4px solid #4f78ab;
  border-radius:14px;
  background:#fbfdff;
  padding:12px;
}

.opeg-quick-mini-box--critical{
  border-color:#f0b7b2;
  border-left-color:#d84c3f;
  background:#fff8f7;
}

.opeg-quick-mini-box--urgent,
.opeg-quick-mini-box--escalation{
  border-color:#f2d0a4;
  border-left-color:#c47714;
  background:#fffbf5;
}

.opeg-quick-mini-box--handover{
  border-color:#cbe6e2;
  border-left-color:#0d7b77;
  background:#f7fffd;
}

.opeg-quick-mini-box h4{
  margin:0;
  color:#245b95;
  font-size:calc(var(--pem-fs-body) * .98);
  line-height:1.25;
  font-weight:750;
}

.opeg-quick-mini-box--critical h4{
  color:#9b2f2f;
}

.opeg-quick-mini-box--urgent h4,
.opeg-quick-mini-box--escalation h4{
  color:#9a5c00;
}

.opeg-quick-mini-box--handover h4{
  color:#0d6f6b;
}

.opeg-quick-mini-box > div{
  display:grid;
  gap:8px;
}

.opeg-recognition-grid,
.opeg-quick-branch-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.opeg-recognition-box,
.opeg-quick-med-card{
  border:1px solid #d5e4f6;
  border-radius:14px;
  background:#fbfdff;
  padding:12px;
}

.opeg-recognition-box h4,
.opeg-quick-med-card h5{
  margin:0 0 8px;
  color:#0f4f86;
  font-size:calc(var(--pem-fs-body) * .98);
  line-height:1.25;
  font-weight:750;
}

.opeg-quick-list,
.opeg-quick-action-list,
.opeg-quick-med-card ul{
  display:grid;
  gap:7px;
  margin:0;
  padding-left:1.15rem;
}

.opeg-quick-list li,
.opeg-quick-action-list li,
.opeg-quick-med-card li{
  color:#173553;
  font-size:var(--pem-fs-body);
  line-height:1.45;
}

.opeg-quick-action-list li.is-critical{
  color:#7f1d1d;
  font-weight:650;
}

.opeg-quick-branch{
  display:grid;
  gap:6px;
  width:100%;
  text-align:left;
  border:1px solid #d5e4f6;
  border-left:4px solid #4f78ab;
  border-radius:14px;
  background:#fff;
  padding:12px;
  color:#173553;
  cursor:pointer;
}

.opeg-quick-branch.active{
  border-color:#7fb2e5;
  background:#f1f8ff;
  box-shadow:0 8px 18px rgba(43,106,170,.12);
}

.opeg-quick-branch span{
  width:max-content;
  border-radius:999px;
  padding:4px 8px;
  background:#edf5ff;
  color:#245b95;
  font-size:var(--pem-fs-small);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:750;
}

.opeg-quick-branch strong{
  color:#0f2744;
  font-size:var(--pem-fs-body);
  line-height:1.25;
}

.opeg-quick-branch em{
  color:#4a5e78;
  font-style:normal;
  font-size:var(--pem-fs-small);
  line-height:1.35;
}

.opeg-quick-meds{
  display:grid;
  gap:10px;
}

.opeg-quick-med-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 12px;
}

.opeg-quick-med-grid p{
  margin:0;
  font-size:calc(var(--pem-fs-body) * .96);
  line-height:1.4;
}

@media (max-width:700px){
  .opeg-recognition-grid,
  .opeg-quick-branch-grid,
  .opeg-quick-med-grid{
    grid-template-columns:1fr;
  }
  .opeg-quick-step-head{
    padding:11px 12px;
  }
  .opeg-quick-step-body{
    padding:12px;
  }
}

.guide-accordion-block,
.guideline-summary-box{
  margin:0 0 10px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
}

/* Content-block guideline renderer: show curated clinical blocks, never extractor dumps. */
.guideline-content-card{
  display:grid;
  gap:8px;
  margin:0 0 10px;
  padding:13px 14px;
  border:1px solid #d7e4f3;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,39,68,.035);
}
.guideline-content-card h3{
  margin:0;
  color:#0f2744;
  font-size:var(--pem-fs-body);
  line-height:1.22;
  font-weight:900;
}
.guideline-content-card p{
  margin:0!important;
  color:#183a61;
  font-size:var(--pem-fs-body);
  line-height:1.58;
}
.guideline-structured-list{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:1.15rem;
}
.guideline-structured-list li{
  color:#183a61;
  font-size:var(--pem-fs-body);
  line-height:1.55;
}
.guideline-structured-list strong{
  color:#0b2340;
  font-weight:650;
}
.guideline-subheading-row{
  list-style:none;
  margin:.35rem 0 .1rem -1.15rem;
  padding:6px 10px;
  border-radius:999px;
  background:#edf4ff;
  width:max-content;
  max-width:100%;
}
.guideline-score-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  margin:0 4px;
  padding:2px 7px;
  border-radius:999px;
  background:#edf4ff;
  color:#245c9a;
  font-size:var(--pem-fs-small);
  font-weight:900;
}
.guideline-score-pill.is-strong{background:#e9f8ef;color:#12713d}
.guideline-score-pill.is-negative{background:#fff0ed;color:#a6362e}
.guideline-strength-note{
  color:#61718a;
  font-size:var(--pem-fs-small);
  font-weight:800;
}
.guideline-content-card--pro{border-color:#bee8cc;background:#f3fcf6}
.guideline-content-card--support{border-color:#d5e5fb;background:#f7fbff}
.guideline-content-card--objective{border-color:#cbdff7;background:#f8fbff}
.guideline-content-card--neutral{border-color:#d9e4f3;background:#fbfdff}
.guideline-content-card--against{border-color:#f1c7bf;background:#fff7f5}
.guideline-content-card--warning{border-color:#f0b4ae;background:#fff5f3}
.guideline-content-card--action{border-color:#cfe1f8;background:#f8fbff}
.guideline-content-card--diagnostic{border-color:#cfe1f8;background:#f8fbff}
.guideline-content-card--timeline{border-color:#cfe1f8;background:#f8fbff}

.guide-box--symptom_profile .guideline-content-card--warning{
  border-color:#eeaaa2;
  border-left:4px solid #d6453a;
  background:#fff3f1;
}

.guide-box--symptom_profile .guideline-content-card{
  transition:background-color .15s ease,border-color .15s ease;
}

.guide-box--symptom_profile .guideline-content-card--pro{
  border-left:4px solid #18875b;
  background:#fbfffd;
}

.guide-box--symptom_profile .guideline-content-card--support{
  border-left:4px solid #4c7bb2;
  background:#fbfdff;
}

.guide-box--symptom_profile .guideline-content-card--objective{
  border-left:4px solid #6f88a8;
  background:#fafcff;
}

.guide-box--symptom_profile .guideline-content-card--neutral{
  border-left:4px solid #8d79b9;
  background:#fdfcff;
}

.guide-box--symptom_profile .guideline-content-card--against{
  border-left:4px solid #9b8790;
  background:#fffdfc;
}

.guide-box--symptom_profile .guideline-content-card--warning h3{
  color:#b42318;
}

.guide-box--symptom_profile .guideline-content-card--warning .guideline-finding-card{
  border-color:#f0aaa2;
  background:linear-gradient(180deg,#fffafa,#fff1ef);
}

.guide-box--symptom_profile .guideline-content-card--warning .guideline-finding-card h4{
  color:#9f1d16;
}
.guideline-medication-grid{
  display:grid;
  gap:10px;
}
.guideline-medication-card{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #d5e4f7;
  border-radius:13px;
  background:#fff;
}
.guideline-medication-card h4{
  margin:0;
  color:#0f2744;
  font-size:var(--pem-fs-body);
  font-weight:900;
}
.guideline-medication-card dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.guideline-medication-card dt{
  color:#5f718b;
  font-size:var(--pem-fs-small);
  font-weight:900;
}
.guideline-medication-card dd{
  margin:2px 0 0;
  color:#102942;
  font-size:var(--pem-fs-body);
  font-weight:800;
  line-height:1.35;
}
.guideline-medication-card b{
  width:max-content;
  border-radius:999px;
  padding:4px 8px;
  background:#fff4e5;
  color:#8a4b00;
  font-size:var(--pem-fs-small);
  font-weight:900;
}
@media(max-width:700px){
  .guideline-medication-card dl{grid-template-columns:1fr}
  .guideline-content-card{padding:11px 12px;border-radius:12px}
}

/* Editorial content-block layout standard.
   Sequential reasoning sections read vertically; comparison sections keep grids. */
.guide-box--clinical_essence .guideline-accordion-body,
.guide-box--pathophysiology .guideline-accordion-body{
  display:grid;
  gap:10px;
}

.guide-box--clinical_essence .guideline-content-card,
.guide-box--pathophysiology .guideline-content-card{
  margin:0;
  border-radius:10px;
  border-color:#d5e2f2;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,39,68,.04);
}

.guide-box--clinical_essence .guideline-danger-grid,
.guide-box--pathophysiology .guideline-pathophysiology-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.guide-box--pathophysiology .guideline-content-card--pathophysiology{
  border-left:4px solid #4f78ab;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
}

.guide-box--clinical_essence .guideline-content-card--warning{
  border-color:#f0b4ae;
  border-left:4px solid #d84c3f;
  background:#fff6f5;
}

.guide-box--age_dependent_presentation .guideline-age-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  align-items:stretch;
}

.guide-box--red_flag_logic .guideline-accordion-body{
  display:grid;
  gap:10px;
}

.guide-box--red_flag_logic .guideline-content-card{
  margin:0;
  border-radius:10px;
  box-shadow:0 4px 14px rgba(120,35,28,.045);
}

.guide-box--red_flag_logic .guideline-danger-grid{
  grid-template-columns:1fr;
  gap:10px;
}

.guide-box--red_flag_logic .guideline-danger-card{
  border-radius:10px;
  box-shadow:none;
}

.guide-box--red_flag_logic .guideline-danger-card.is-critical{
  border-color:#ee9d96;
  background:#fff4f3;
}

.guide-box--red_flag_logic .guideline-danger-card.is-urgent{
  border-color:#eac36d;
  background:#fffaf0;
}

.guide-accordion-block h3{
  margin:0 0 8px!important;
  font-size:1.02rem!important;
  line-height:1.2!important;
}

.guide-accordion-block ul,
.guide-accordion-block ol{
  margin:0!important;
  padding-left:20px!important;
}

.guide-accordion-block li{
  margin:0 0 6px!important;
  line-height:1.42!important;
}

@media (min-width:701px){
  body.route-finder-results .finder-stage{
    gap:10px!important;
    padding-top:0!important;
  }

  body.route-finder-results .module-head-box{
    margin:0!important;
    min-height:0!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }

  body.route-finder-results .module-head-label{
    margin:0 0 4px!important;
  }

  body.route-finder-results .module-head-title{
    margin:0!important;
    font-size:clamp(1.25rem,2vw,1.8rem)!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  body.route-finder-results .mobile-selected-dock{
    display:none!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock{
    padding-top:0!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock .top-fixed-zone.floating-selected-zone,
  body.route-finder-results .finder-stage .top-fixed-zone.floating-selected-zone{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body.route-finder-results .finder-stage .compact-selected-box{
    margin:0!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }

  body.route-finder-results .finder-stage.has-mobile-selected-dock .action-row.action-row--stickyish,
  body.route-finder-results .finder-stage .action-row.action-row--stickyish{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    padding:0!important;
    gap:8px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    pointer-events:auto!important;
  }

  body.route-finder-results .finder-stage .action-row.action-row--stickyish .action-button{
    display:inline-flex!important;
    flex:0 1 auto!important;
    width:auto!important;
    min-width:180px!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 16px!important;
    white-space:normal!important;
  }

  body.route-finder-results .redflag-merged,
  body.route-finder-results .redflag-critical-dx-box{
    margin:0!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }
}

@media (max-width:700px){
  .guideline-accordion-head{
    min-height:50px!important;
    padding:10px 12px!important;
    gap:8px!important;
  }

  .guideline-accordion-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
  }

  .guideline-accordion-badge{
    margin-left:2px!important;
    padding:4px 8px!important;
    font-size:9px!important;
    max-width:96px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .guideline-accordion-body{
    padding:10px 12px 12px!important;
  }
}

/* V4_F3_8_18: DiagnoseFinder select-stage desktop authority */
@media (min-width:701px){
  body:not(.route-finder-hub) .finder-stage{
    gap:10px!important;
    padding:12px!important;
  }

  body:not(.route-finder-hub) .finder-stage.has-mobile-selected-dock{
    padding-top:12px!important;
  }

  body:not(.route-finder-hub) .finder-stage .module-head-box{
    margin:0!important;
    min-height:0!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }

  body:not(.route-finder-hub) .finder-stage .module-head-title{
    margin:0!important;
    font-size:clamp(1.25rem,2vw,1.8rem)!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.route-finder-hub) .finder-stage .top-fixed-zone.floating-selected-zone{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }

  body:not(.route-finder-hub) .finder-stage .floating-selected-box{
    margin:0!important;
    padding:12px 14px!important;
    border-radius:16px!important;
  }

  body:not(.route-finder-hub) .finder-stage .action-row.action-row--stickyish{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    padding:0!important;
    gap:8px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    pointer-events:auto!important;
  }

  body:not(.route-finder-hub) .finder-stage .action-row.action-row--stickyish .action-button{
    display:inline-flex!important;
    flex:0 1 auto!important;
    width:auto!important;
    min-width:180px!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 16px!important;
    white-space:normal!important;
  }

  body:not(.route-finder-hub) .finder-stage .quick-pattern-section,
  body:not(.route-finder-hub) .finder-stage .finder-advanced-inputs,
  body:not(.route-finder-hub) .finder-stage .redflag-merged{
    margin:0!important;
    border-radius:16px!important;
  }
}

/* V4_F3_8_19: DiagnoseFinder select-stage correction. The select page is route-finder-hub. */
@media (min-width:701px){
  body.route-finder-hub .finder-stage{
    gap:10px!important;
    padding:12px!important;
    margin-top:0!important;
  }

  body.route-finder-hub .finder-stage.has-mobile-selected-dock{
    padding-top:12px!important;
  }

  body.route-finder-hub .finder-stage .module-head-box{
    min-height:0!important;
    padding:12px 14px!important;
    margin:0 0 8px!important;
    gap:10px!important;
  }

  body.route-finder-hub .finder-stage .module-head-title{
    font-size:clamp(1.28rem,1.2vw + 1rem,2rem)!important;
    line-height:1.12!important;
    overflow-wrap:anywhere!important;
  }

  body.route-finder-hub .finder-stage .top-fixed-zone.floating-selected-zone{
    display:block!important;
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .finder-stage .floating-selected-box{
    padding:10px 14px!important;
    border-radius:16px!important;
    max-height:150px!important;
    overflow-y:auto!important;
  }

  body.route-finder-hub .finder-stage .action-row.action-row--stickyish{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    margin:0!important;
    padding:0!important;
    gap:10px!important;
    transform:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .finder-stage .action-row.action-row--stickyish .action-button{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 1 260px!important;
    min-width:180px!important;
    min-height:44px!important;
    padding:10px 16px!important;
    font-size:.94rem!important;
    white-space:normal!important;
  }

  body.route-finder-hub .finder-stage .quick-pattern-section,
  body.route-finder-hub .finder-stage .finder-advanced-inputs,
  body.route-finder-hub .finder-stage .redflag-merged{
    margin:0!important;
    padding:14px!important;
    border-radius:16px!important;
  }

  body.route-finder-hub .finder-stage .quick-pattern-grid{
    gap:10px!important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  }

  body.route-finder-hub .finder-stage .quick-pattern-card{
    min-height:64px!important;
    padding:12px 44px 12px 14px!important;
  }
}
/* Final mobile safety: prevent EN + A+ overflow in Diagnosefinder header/action area */
@media (max-width:700px){
  body.route-finder-results .module-head-label,
  body.route-finder-hub .module-head-label{
    font-size:11px!important;
    letter-spacing:.035em!important;
    line-height:1.2!important;
  }
  body.route-finder-results .module-head-title,
  body.route-finder-hub .module-head-title{
    font-size:clamp(19px,5.6vw,25px)!important;
    line-height:1.12!important;
  }
  body.route-finder-results .action-row .action-button,
  body.route-finder-hub .action-row .action-button{
    font-size:14px!important;
    min-height:42px!important;
    padding:10px 12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-finder-results .finder-top-chip,
  body.route-finder-hub .finder-top-chip{
    font-size:12px!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .mobile-selected-dock__top strong,
  .mobile-selected-dock__top em,
  .mobile-selected-preview-age,
  .mobile-selected-context-label{
    font-size:11px!important;
    line-height:1.2!important;
  }
}

/* V4_F4_2_UI_FONT_SCALING_FIX: keep body/card text scaling with A+/A- across Home + Diagnosefinder */
body.route-home .home-quickstart-card p,
body.route-home .home-scenario-card span,
body.route-home .home-alert-strip,
body.route-home .home-workflow-step,
body.route-home .quick-access-item span{
  font-size:calc(var(--pem-fs-body) * 0.98)!important;
  line-height:1.42!important;
}

body.route-home .home-quickstart-card h2,
body.route-home .home-workflow-panel h2,
body.route-home .home-scenario-panel h2,
body.route-home .quick-access-home--clinical h2{
  font-size:calc(var(--pem-fs-h2) * 0.95)!important;
  line-height:1.2!important;
}

body.route-finder-hub .pem-ctx-chip strong,
body.route-finder-hub .pem-ctx-chip span,
body.route-finder-hub .v7-module-card p,
body.route-finder-hub .v7-muted,
body.route-finder-results .v7-muted,
body.route-finder-results .quick-pattern-btn span,
body.route-finder-results .search-pool-item small{
  font-size:calc(var(--pem-fs-body) * 0.95)!important;
  line-height:1.4!important;
}

body.route-finder-hub .pem-ctx-panel .v7-kicker,
body.route-finder-hub .module-head-label,
body.route-finder-results .module-head-label{
  font-size:var(--pem-fs-small)!important;
  line-height:1.24!important;
}

/* V4_F4_5 guideline readability finalization */
.guideline-accordion-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.guideline-accordion-title-wrap{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  gap:12px!important;
}

.guideline-accordion-title-copy{
  flex:0 1 auto!important;
  min-width:0!important;
}

.guideline-accordion-title-wrap .guideline-accordion-badge{
  order:3!important;
  flex:0 0 auto!important;
  align-self:center!important;
  margin-left:8px!important;
}

.guideline-accordion-head::after{
  flex:0 0 auto!important;
  margin-left:auto!important;
}

.guideline-content-card--age{
  background:linear-gradient(180deg,#f8fbff,#fff)!important;
}

.guideline-age-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;
  gap:14px!important;
}

.guideline-age-card{
  display:grid!important;
  gap:10px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#f8fbff,#ffffff)!important;
  border:1px solid #cfe0f6!important;
  box-shadow:0 14px 28px rgba(15,39,68,.06)!important;
}

.guideline-age-card:nth-child(2n){
  background:linear-gradient(145deg,#f5fff9,#ffffff)!important;
  border-color:#c6ead7!important;
}

.guideline-age-card:nth-child(3n){
  background:linear-gradient(145deg,#fffaf0,#ffffff)!important;
  border-color:#f0d7a6!important;
}

.guideline-age-card:nth-child(4n){
  background:linear-gradient(145deg,#fff7f7,#ffffff)!important;
  border-color:#efc8c8!important;
}

.guideline-age-card h4{
  margin:0!important;
  color:#0f2744!important;
  font-size:calc(var(--pem-fs-body) * 1.08)!important;
  line-height:1.16!important;
  font-weight:950!important;
}

.guideline-kv-list{
  display:grid!important;
  gap:9px!important;
  margin:0!important;
}

.guideline-kv-row{
  display:grid!important;
  gap:4px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(207,224,246,.82)!important;
}

.guideline-kv-row dt{
  color:#245b95!important;
  font-weight:950!important;
}

.guideline-kv-row dd{
  margin:0!important;
  color:#223a56!important;
  line-height:1.42!important;
}

@media (max-width:700px){
  .guideline-accordion-head{
    padding:14px 12px!important;
  }
  .guideline-accordion-title-wrap{
    gap:8px!important;
  }
  .guideline-accordion-title-wrap .guideline-accordion-badge{
    margin-left:4px!important;
    max-width:none!important;
  }
  .guideline-age-grid{
    grid-template-columns:1fr!important;
  }
}

/* V4_F4_10 editorial visual standard: layout follows clinical reading task. */
.guide-box--clinical_essence .guideline-danger-grid,
.guide-box--pathophysiology .guideline-pathophysiology-grid,
.guide-box--red_flag_logic .guideline-danger-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.guide-box--clinical_essence .guideline-content-card,
.guide-box--pathophysiology .guideline-content-card,
.guide-box--red_flag_logic .guideline-content-card{
  border-radius:10px!important;
}

.guide-box--pathophysiology .guideline-content-card--pathophysiology{
  border-left:4px solid #4f78ab!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
}

.guide-box--clinical_essence .guideline-content-card--warning{
  border-left:4px solid #d84c3f!important;
  background:#fff6f5!important;
}

.guide-box--age_dependent_presentation .guideline-age-grid{
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;
}

.guide-box--red_flag_logic .guideline-content-card--warning{
  border-color:#ee9d96!important;
  background:#fff4f3!important;
}

.guide-box--red_flag_logic .guideline-danger-card{
  border-radius:10px!important;
  box-shadow:none!important;
}

/* V4_F4_13 unified section-card standard: one structure, tone via color only. */
.guideline-content-card,
.guideline-age-card,
.guideline-danger-card,
.guideline-finding-card,
.guideline-semantic-card,
.guide-accordion-block{
  border-radius:10px!important;
  border:1px solid #d5e2f2!important;
  border-left:4px solid var(--guide-accent,#4f78ab)!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,39,68,.035)!important;
}

.guideline-content-card h3,
.guide-accordion-block h3,
.guideline-age-card h4,
.guideline-danger-card h4,
.guideline-finding-card h4,
.guideline-semantic-card h4{
  color:var(--guide-accent,#245b95)!important;
  font-weight:850!important;
}

.guideline-accordion--summary{--guide-accent:#315f8f!important;}
.guideline-accordion--clinical{--guide-accent:#1f6f8f!important;}
.guideline-accordion--therapy{--guide-accent:#18805c!important;}
.guideline-accordion--reevaluation{--guide-accent:#0d7b77!important;}
.guideline-accordion--diagnostics{--guide-accent:#2d6ca3!important;}
.guideline-accordion--redflags{--guide-accent:#b23a32!important;}
.guideline-accordion--actions{--guide-accent:#0f62fe!important;}
.guideline-accordion--disposition{--guide-accent:#9a5c00!important;}
.guideline-accordion--pitfalls{--guide-accent:#b25416!important;}
.guideline-accordion--parents{--guide-accent:#256d8f!important;}

.guide-box--clinical_essence .guideline-content-card--warning,
.guide-box--red_flag_logic .guideline-content-card--warning,
.guide-box--red_flag_logic .guideline-danger-card.is-critical,
.guide-box--red_flag_logic .guideline-danger-card.is-urgent{
  border-color:#e7b7b1!important;
  border-left-color:#b23a32!important;
  background:#fff!important;
}

.guideline-kv-row{
  border-left:0!important;
  box-shadow:none!important;
}

.guide-box--clinical_essence .guideline-content-card,
.guide-box--pathophysiology .guideline-content-card,
.guide-box--red_flag_logic .guideline-content-card{
  margin:0!important;
}

/* V4_F4_14 heading and body-box refinement. */
.guideline-content-card h3,
.guide-accordion-block h3,
.guideline-age-card h4,
.guideline-danger-card h4,
.guideline-finding-card h4,
.guideline-semantic-card h4{
  color:#245b95!important;
  font-weight:760!important;
}

.guide-box--red_flag_logic .guideline-content-card h3,
.guide-box--red_flag_logic .guideline-danger-card h4,
.guide-box--clinical_essence .guideline-content-card--warning h3{
  color:#245b95!important;
}

.guideline-content-card p strong,
.guideline-structured-list li strong,
.guide-accordion-block li strong,
.guideline-block-copy strong,
.guideline-kv-row dd strong,
.guideline-summary-box strong{
  color:#123a62!important;
  font-weight:650!important;
}

.guide-box--clinical_essence .guideline-content-card--warning li strong,
.guide-box--red_flag_logic li strong,
.guide-box--red_flag_logic dd strong{
  color:#123a62!important;
  font-weight:700!important;
}

.guide-box--clinical_essence .guideline-content-card > .guideline-structured-list,
.guide-box--pathophysiology .guideline-content-card > .guideline-structured-list{
  margin-top:2px!important;
  padding:12px 14px 12px 1.75rem!important;
  border:1px solid #d9e5f4!important;
  border-radius:10px!important;
  background:#fff!important;
}

.guide-box--clinical_essence .guideline-content-card--warning > .guideline-structured-list{
  border-color:#edd0cc!important;
  background:#fffafa!important;
}

.guide-box--clinical_essence .guideline-content-card > .guideline-structured-list,
.guide-box--pathophysiology .guideline-content-card > .guideline-structured-list{
  border-left:2px solid rgba(79,120,171,.48)!important;
}

.guide-box--clinical_essence .guideline-content-card--warning > .guideline-structured-list{
  border-left-color:rgba(178,58,50,.45)!important;
}

/* V4_F4_15 mobile-safe accent rule: one thin accent line across all cards. */
.guideline-content-card,
.guide-accordion-block,
.guideline-age-card,
.guideline-danger-card,
.guideline-finding-card,
.guideline-semantic-card{
  border-left-width:3px!important;
}

.guideline-content-card .guideline-content-card,
.guideline-content-card .guideline-age-card,
.guideline-content-card .guideline-danger-card,
.guideline-content-card .guideline-finding-card,
.guideline-content-card .guideline-semantic-card,
.guideline-finding-card .guideline-kv-row,
.guideline-age-card .guideline-kv-row,
.guideline-danger-card .guideline-kv-row{
  border-left-width:2px!important;
}

.guideline-kv-row{
  border-left-width:2px!important;
  border-left-style:solid!important;
  border-left-color:rgba(79,120,171,.45)!important;
}

@media (max-width:700px){
  .guideline-content-card,
  .guide-accordion-block,
  .guideline-age-card,
  .guideline-danger-card,
  .guideline-finding-card,
  .guideline-semantic-card{
    border-left-width:2px!important;
  }
  .guideline-content-card .guideline-content-card,
  .guideline-content-card .guideline-age-card,
  .guideline-content-card .guideline-danger-card,
  .guideline-content-card .guideline-finding-card,
  .guideline-content-card .guideline-semantic-card,
  .guideline-finding-card .guideline-kv-row,
  .guideline-age-card .guideline-kv-row,
  .guideline-danger-card .guideline-kv-row{
    border-left-width:1px!important;
  }
}

/* V4_F4_23 Symptomprofil section-tone standard.
   These are the outer subsection boxes: subtle color shifts, not dominant cards. */
.guide-box--symptom_profile .guideline-content-card{
  border-radius:10px!important;
  box-shadow:0 4px 14px rgba(15,39,68,.035)!important;
}

.guide-box--symptom_profile .guideline-content-card h3{
  color:var(--symptom-section-accent,#245b95)!important;
  font-weight:700!important;
}

/* V4_F4_29 age presentation: vertical age accordions for uneven clinical density. */
.guide-box--age_dependent_presentation .guideline-age-grid{
  display:block!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion{
  overflow:hidden!important;
  border:1px solid #d5e2f2!important;
  border-left:3px solid #2b6b9b!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,39,68,.035)!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion:nth-child(2n){
  border-left-color:#18805c!important;
  background:linear-gradient(180deg,#ffffff,#fbfffd)!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion:nth-child(3n){
  border-left-color:#b87913!important;
  background:linear-gradient(180deg,#ffffff,#fffdf8)!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion:nth-child(4n){
  border-left-color:#b84b4b!important;
  background:linear-gradient(180deg,#ffffff,#fffafa)!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  cursor:pointer!important;
  list-style:none!important;
  padding:12px 14px!important;
  color:#245b95!important;
  font-weight:720!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-head::-webkit-details-marker{
  display:none!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-head::after{
  content:'\25BE';
  margin-left:auto;
  color:#2b5f8f;
  font-size:13px;
  transition:transform .16s ease;
}

.guide-box--age_dependent_presentation .guideline-age-accordion:not([open]) .guideline-age-accordion-head::after{
  transform:rotate(-90deg);
}

.guide-box--age_dependent_presentation .guideline-age-accordion-index{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
  background:#eef6ff!important;
  color:#245b95!important;
  font-size:.82rem!important;
  font-weight:760!important;
  flex:0 0 auto!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-title{
  min-width:0!important;
  font-size:1.03rem!important;
  line-height:1.25!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body{
  display:grid!important;
  gap:10px!important;
  padding:0 14px 14px!important;
  border-top:1px solid #dbe8f7!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-kv-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-kv-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:12px 14px!important;
  border:1px solid #d5e2f2!important;
  border-left:2px solid rgba(43,107,155,.38)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(15,39,68,.025)!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-kv-row dt{
  color:#245b95!important;
  font-size:.82rem!important;
  font-weight:720!important;
  line-height:1.25!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-kv-row dd,
.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-kv-row li{
  color:#173553!important;
  font-size:var(--pem-fs-body)!important;
  line-height:1.52!important;
}

.guide-box--age_dependent_presentation .guideline-age-accordion-body .guideline-structured-list{
  gap:6px!important;
  padding-left:1.15rem!important;
}

.guide-box--symptom_profile .guideline-content-card--pro{
  --symptom-section-accent:#16724f;
  --guide-accent:#16724f;
  border-color:#cfe9da!important;
  border-left-color:#16724f!important;
  background:linear-gradient(180deg,#ffffff,#fbfffd)!important;
}

.guide-box--symptom_profile .guideline-content-card--support{
  --symptom-section-accent:#2f669d;
  --guide-accent:#2f669d;
  border-color:#cfdff4!important;
  border-left-color:#2f669d!important;
  background:linear-gradient(180deg,#ffffff,#f9fcff)!important;
}

.guide-box--symptom_profile .guideline-content-card--objective{
  --symptom-section-accent:#607b9d;
  --guide-accent:#607b9d;
  border-color:#d5e2f0!important;
  border-left-color:#607b9d!important;
  background:linear-gradient(180deg,#ffffff,#fafcff)!important;
}

.guide-box--symptom_profile .guideline-content-card--neutral{
  --symptom-section-accent:#7663a5;
  --guide-accent:#7663a5;
  border-color:#ded8f1!important;
  border-left-color:#7663a5!important;
  background:linear-gradient(180deg,#ffffff,#fdfbff)!important;
}

.guide-box--symptom_profile .guideline-content-card--against{
  --symptom-section-accent:#8a6f7b;
  --guide-accent:#8a6f7b;
  border-color:#e7d8dd!important;
  border-left-color:#8a6f7b!important;
  background:linear-gradient(180deg,#ffffff,#fffdfd)!important;
}

.guide-box--symptom_profile .guideline-content-card--warning{
  --symptom-section-accent:#b42318;
  --guide-accent:#b42318;
  border-color:#f2c3bd!important;
  border-left-color:#d6453a!important;
  background:linear-gradient(180deg,#fffdfc,#fff4f2)!important;
}

/* V4_F4_11 typography hierarchy: headings lead, inline bold supports. */
.guideline-content-card h3,
.guide-accordion-block h3,
.guideline-age-card h4,
.guideline-danger-card h4,
.guideline-semantic-card h4{
  color:#245b95!important;
  font-weight:850!important;
}

.guide-box--clinical_essence .guideline-content-card h3,
.guide-box--pathophysiology .guideline-content-card h3{
  color:#1f5f8f!important;
}

.guide-box--red_flag_logic .guideline-content-card h3,
.guide-box--red_flag_logic .guideline-danger-card h4,
.guide-box--clinical_essence .guideline-content-card--warning h3{
  color:#b23a32!important;
}

.guideline-content-card p strong,
.guideline-structured-list li strong,
.guide-accordion-block li strong,
.guideline-block-copy strong,
.guideline-kv-row dd strong,
.guideline-summary-box strong{
  color:#123a62!important;
  font-weight:720!important;
}

.guide-box--clinical_essence .guideline-content-card--warning li strong,
.guide-box--red_flag_logic li strong,
.guide-box--red_flag_logic dd strong{
  color:#7f2d25!important;
  font-weight:780!important;
}

.guideline-content-card h3 strong,
.guide-accordion-block h3 strong,
.guideline-age-card h4 strong,
.guideline-danger-card h4 strong{
  color:inherit!important;
  font-weight:inherit!important;
}

/* V4_F4_25 Symptomprofil final visual overrides.
   Keep subsection colors visible after the global guideline typography rules. */
.guide-box--symptom_profile .guideline-content-card h3{
  color:var(--symptom-section-accent,#245b95)!important;
  font-weight:650!important;
}

.guide-box--symptom_profile .guideline-finding-card h4{
  font-weight:600!important;
  color:var(--symptom-section-accent,var(--guide-accent,#245b95))!important;
}

.guide-box--symptom_profile .guideline-finding-title-soft,
.guide-box--symptom_profile .guideline-finding-text-only{
  font-weight:430!important;
  color:#183a61!important;
}

.guide-box--symptom_profile .guideline-finding-card.is-critical .guideline-finding-title-soft,
.guide-box--symptom_profile .guideline-finding-card.is-critical .guideline-finding-text-only{
  color:#9f1d16!important;
  font-weight:650!important;
}

.guide-box--symptom_profile .guideline-content-card--pro .guideline-finding-card{
  border-color:#cfe9da!important;
  border-left-color:#16724f!important;
  background:linear-gradient(180deg,#ffffff,#fbfffd)!important;
}

.guide-box--symptom_profile .guideline-content-card--support .guideline-finding-card{
  border-color:#cfdff4!important;
  border-left-color:#2f669d!important;
  background:linear-gradient(180deg,#ffffff,#f9fcff)!important;
}

.guide-box--symptom_profile .guideline-content-card--objective .guideline-finding-card{
  border-color:#d5e2f0!important;
  border-left-color:#607b9d!important;
  background:linear-gradient(180deg,#ffffff,#fafcff)!important;
}

.guide-box--symptom_profile .guideline-content-card--neutral .guideline-finding-card{
  border-color:#ded8f1!important;
  border-left-color:#7663a5!important;
  background:linear-gradient(180deg,#ffffff,#fdfbff)!important;
}

.guide-box--symptom_profile .guideline-content-card--against .guideline-finding-card{
  border-color:#e7d8dd!important;
  border-left-color:#8a6f7b!important;
  background:linear-gradient(180deg,#ffffff,#fffdfd)!important;
}

.guide-box--symptom_profile .guideline-content-card--warning .guideline-finding-card{
  border-color:#f2c3bd!important;
  border-left-color:#d6453a!important;
  background:linear-gradient(180deg,#fffdfc,#fff4f2)!important;
}

/* V4_F4_26 Against-score tone scale: negative evidence reads as negative evidence. */
.guide-box--symptom_profile .guideline-content-card--against{
  --symptom-section-accent:#a6362e;
  --guide-accent:#a6362e;
  border-color:#f2c8c2!important;
  border-left-color:#cf4f45!important;
  background:linear-gradient(180deg,#ffffff,#fff7f6)!important;
}

.guide-box--symptom_profile .guideline-content-card--against h3{
  color:#a6362e!important;
}

.guide-box--symptom_profile .guideline-content-card--against .guideline-finding-card{
  border-color:#f1c7bf!important;
  border-left-color:#d7665c!important;
  background:linear-gradient(180deg,#ffffff,#fff6f4)!important;
}

.guide-box--symptom_profile .guideline-content-card--against .guideline-finding-card h4{
  color:#8f312a!important;
}

.guide-box--symptom_profile .guideline-finding-card.is-against.is-negative-weak{
  border-color:#f4d0ca!important;
  border-left-color:#df8177!important;
  background:linear-gradient(180deg,#ffffff,#fff9f8)!important;
}

.guide-box--symptom_profile .guideline-finding-card.is-against.is-negative-moderate{
  border-color:#efb8b0!important;
  border-left-color:#d75a50!important;
  background:linear-gradient(180deg,#ffffff,#fff4f2)!important;
}

.guide-box--symptom_profile .guideline-finding-card.is-against.is-negative-strong{
  border-color:#e99e95!important;
  border-left-color:#bf352d!important;
  background:linear-gradient(180deg,#fffdfc,#fff0ed)!important;
}

.guideline-finding-meta.is-negative-weak{
  background:#fff4f2!important;
  color:#b1483f!important;
}

.guideline-finding-meta.is-negative-moderate,
.guideline-finding-meta.is-strength-maessig-dagegen,
.guideline-finding-meta.is-strength-mäßig-dagegen,
.guideline-finding-meta.is-strength-moderate-against{
  background:#ffe8e4!important;
  color:#a6362e!important;
}

.guideline-finding-meta.is-negative-strong{
  background:#ffd9d3!important;
  color:#8f2018!important;
}

/* V4_F4_63: every guideline subsection is an in-section accordion. */
.guideline-content-subaccordion--section.guideline-content-card{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
}

.guideline-content-subaccordion--section.guideline-content-card > .guideline-content-subaccordion-head{
  margin:0!important;
  padding:12px 15px!important;
  color:#245b95!important;
  font-weight:680!important;
  line-height:1.25!important;
  border-left:4px solid var(--guide-accent,#4f78ab)!important;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff)!important;
}

.guideline-content-subaccordion--section.guideline-content-card > .guideline-content-subaccordion-body{
  padding:13px 14px!important;
  background:#fff!important;
}

.guideline-content-subaccordion--section.guideline-content-card--pro > .guideline-content-subaccordion-head{
  color:#0c6d45!important;
  border-left-color:#18875b!important;
  background:linear-gradient(180deg,#fbfffd,#f1fbf6)!important;
}

.guideline-content-subaccordion--section.guideline-content-card--support > .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--diagnostic > .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--action > .guideline-content-subaccordion-head,
.guideline-content-subaccordion--section.guideline-content-card--timeline > .guideline-content-subaccordion-head{
  color:#245b95!important;
  border-left-color:#4f78ab!important;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff)!important;
}

.guideline-content-subaccordion--section.guideline-content-card--objective > .guideline-content-subaccordion-head{
  color:#245f7a!important;
  border-left-color:#68a6c9!important;
  background:linear-gradient(180deg,#fbfeff,#f4fbff)!important;
}

.guideline-content-subaccordion--section.guideline-content-card--neutral > .guideline-content-subaccordion-head{
  color:#4d5f7c!important;
  border-left-color:#8ba3c7!important;
  background:linear-gradient(180deg,#fcfdff,#f7faff)!important;
}

.guideline-content-subaccordion--section.guideline-content-card--against > .guideline-content-subaccordion-head{
  color:#9b3f35!important;
  border-left-color:#d86f62!important;
  background:linear-gradient(180deg,#fffafa,#fff5f3)!important;
}

.guideline-content-subaccordion--section.guideline-content-card--warning > .guideline-content-subaccordion-head{
  color:#9b2f2f!important;
  border-left-color:#d84c3f!important;
  background:linear-gradient(180deg,#fffafa,#fff4f4)!important;
}

.guideline-md-subheading{
  margin:14px 0 8px!important;
  color:#123153!important;
  font-size:1rem!important;
  font-weight:760!important;
  line-height:1.25!important;
}

.guideline-md-subheading--label{
  margin-top:12px!important;
  font-size:.98rem!important;
}

.guideline-inline-field{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 4px 2px 0!important;
  padding:2px 8px!important;
  border:1px solid rgba(33,99,160,.22)!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,#f5fbff,#edf6ff)!important;
  color:#17538f!important;
  font-size:.78em!important;
  font-weight:820!important;
  letter-spacing:0!important;
  line-height:1.35!important;
  vertical-align:baseline!important;
}

.guideline-inline-field strong{
  color:inherit!important;
  font-weight:inherit!important;
}

.guideline-content-card--diagnostic .guideline-inline-field,
.guideline-content-card--objective .guideline-inline-field{
  border-color:rgba(33,99,160,.24)!important;
  background:linear-gradient(180deg,#f5fbff,#edf6ff)!important;
  color:#164f88!important;
}

.guideline-content-card--critical .guideline-inline-field,
.guideline-content-card--warning .guideline-inline-field{
  border-color:rgba(178,61,47,.25)!important;
  background:linear-gradient(180deg,#fff8f5,#fff0eb)!important;
  color:#a33a2d!important;
}

.guideline-content-card--therapy .guideline-inline-field,
.guideline-content-card--action .guideline-inline-field{
  border-color:rgba(24,128,96,.24)!important;
  background:linear-gradient(180deg,#f4fff9,#ebfbf3)!important;
  color:#13724f!important;
}

.guideline-content-subaccordion-body > .guideline-content-card,
.guideline-content-subaccordion-body > .guideline-content-subaccordion{
  margin:10px 0!important;
}

.guide-box .guideline-danger-grid,
.guide-box .guideline-semantic-grid,
.guide-box .guideline-parent-reality-grid{
  display:block!important;
}

.guide-box .guideline-danger-grid > *,
.guide-box .guideline-semantic-grid > *,
.guide-box .guideline-parent-reality-grid > *{
  margin:10px 0!important;
}

/* v4.4: flatter guideline markdown rendering.
   Only clinical subsection headers stay as accordions; diagnosis/symptom/DD items render as open cards. */
.guideline-inline-item-card{
  margin:10px 0!important;
  padding:13px 15px!important;
  border:1px solid #cfe0f6!important;
  border-left:4px solid var(--guide-accent,#18875b)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  box-shadow:0 6px 16px rgba(15,39,68,.035)!important;
}

.guideline-inline-item-card.guideline-content-card--warning,
.guideline-inline-item-card.guideline-content-card--against{
  border-color:#f0beb8!important;
  border-left-color:#d84c3f!important;
  background:linear-gradient(180deg,#fffafa,#fff6f4)!important;
}

.guideline-inline-item-card.guideline-content-card--diagnostic,
.guideline-inline-item-card.guideline-content-card--action,
.guideline-inline-item-card.guideline-content-card--timeline{
  border-left-color:#4f78ab!important;
}

.guideline-inline-item-card.guideline-content-card--neutral,
.guideline-inline-item-card.guideline-content-card--age{
  border-left-color:#7b8fb5!important;
}

.guideline-inline-item-card h4,
.guideline-inline-item-copy{
  margin:0!important;
  color:#143b69!important;
  font-size:var(--pem-fs-body)!important;
  line-height:1.48!important;
}

.guideline-inline-item-card--heading h4{
  margin:0 0 9px!important;
  padding-bottom:7px!important;
  border-bottom:1px solid #d9e7f7!important;
  color:#07335f!important;
  font-weight:950!important;
}

.guideline-inline-item-copy strong,
.guideline-inline-item-card h4{
  color:#07335f!important;
  font-weight:720!important;
}

.guideline-inline-item-body{
  display:grid!important;
  gap:7px!important;
  margin-top:7px!important;
}

.guideline-inline-item-card .guideline-block-copy{
  margin:6px 0 0!important;
  line-height:1.52!important;
}

.guideline-inline-kv{
  margin:7px 0 0!important;
  color:#183a61!important;
  line-height:1.5!important;
}

.guideline-inline-item-card--heading .guideline-inline-kv{
  display:block!important;
  margin:6px 0 0!important;
}

.guideline-inline-kv strong{
  color:#07335f!important;
  font-weight:720!important;
}

.guideline-inline-item-card--heading .guideline-inline-field{
  display:inline!important;
  margin:0!important;
}

@media(max-width:720px){
  .guideline-inline-item-card{
    padding:11px 13px!important;
    border-radius:13px!important;
  }
  .guideline-inline-item-card--heading h4{
    font-size:15px!important;
    line-height:1.25!important;
  }
  .guideline-inline-kv,
  .guideline-inline-item-copy,
  .guideline-inline-item-card .guideline-block-copy{
    font-size:14px!important;
    line-height:1.42!important;
  }
}

.guideline-inline-field,
.guideline-content-card--diagnostic .guideline-inline-field,
.guideline-content-card--objective .guideline-inline-field,
.guideline-content-card--critical .guideline-inline-field,
.guideline-content-card--warning .guideline-inline-field,
.guideline-content-card--therapy .guideline-inline-field,
.guideline-content-card--action .guideline-inline-field{
  display:inline!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#07335f!important;
  font-size:inherit!important;
  font-weight:720!important;
  letter-spacing:0!important;
  line-height:inherit!important;
  vertical-align:baseline!important;
}

.guideline-semantic-card .guideline-kv-list,
.guideline-inline-item-card .guideline-kv-list{
  display:grid!important;
  gap:7px!important;
}

.guideline-semantic-card .guideline-kv-row,
.guideline-inline-item-card .guideline-kv-row{
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.guideline-semantic-card .guideline-kv-row dt,
.guideline-inline-item-card .guideline-kv-row dt{
  display:inline!important;
  color:#07335f!important;
  font-size:inherit!important;
  font-weight:720!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.guideline-semantic-card .guideline-kv-row dt::after,
.guideline-inline-item-card .guideline-kv-row dt::after{
  content:": ";
}

.guideline-semantic-card .guideline-kv-row dd,
.guideline-inline-item-card .guideline-kv-row dd{
  display:inline!important;
  margin:0!important;
  color:#183a61!important;
  line-height:1.5!important;
}

/* v4.4 typography normalization: guideline cards must obey A+/A- font scaling. */
.guideline-accordion-head,
.guideline-content-subaccordion-head,
.guideline-inline-item-card h4,
.guideline-inline-item-copy,
.guideline-inline-item-card .guideline-block-copy,
.guideline-inline-kv,
.guideline-semantic-card .guideline-kv-row dt,
.guideline-semantic-card .guideline-kv-row dd,
.guideline-inline-item-card .guideline-kv-row dt,
.guideline-inline-item-card .guideline-kv-row dd{
  font-size:var(--pem-fs-body)!important;
}

.guideline-accordion-title-copy{
  font-size:calc(var(--pem-fs-body) * 1.08)!important;
}

.guideline-content-subaccordion-head{
  line-height:1.28!important;
}

.guideline-inline-item-card--heading h4{
  font-size:var(--pem-fs-body)!important;
  font-weight:720!important;
}

.guideline-inline-item-card strong,
.guideline-content-subaccordion-body strong,
.guideline-structured-list strong{
  font-weight:720!important;
}

.guideline-inline-item-card--heading .guideline-inline-item-body{
  display:block!important;
}

.guideline-inline-item-card--heading .guideline-inline-kv{
  display:block!important;
  width:100%!important;
  clear:both!important;
}

.guideline-inline-item-card--heading .guideline-inline-field{
  display:inline!important;
  font-size:inherit!important;
}

@media(max-width:720px){
  .guideline-accordion-head,
  .guideline-content-subaccordion-head,
  .guideline-inline-item-card h4,
  .guideline-inline-item-copy,
  .guideline-inline-item-card .guideline-block-copy,
  .guideline-inline-kv,
  .guideline-semantic-card .guideline-kv-row dt,
  .guideline-semantic-card .guideline-kv-row dd,
  .guideline-inline-item-card .guideline-kv-row dt,
  .guideline-inline-item-card .guideline-kv-row dd{
    font-size:var(--pem-fs-body)!important;
  }
}
/* ROT-Check / Risk-Oriented Triage */
.rot-title{
  display:inline;
}
.rot-acronym{
  color:#d00000;
  font-weight:950;
}
.rot-word{
  color:#d00000;
  font-weight:850;
}
html:has(.rot-page),
body:has(.rot-page),
body:has(.rot-page) .app-shell,
body:has(.rot-page) #content{
  overflow:visible!important;
}
.rot-layout,
.rot-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:14px;
  align-items:start;
}
.rot-workspace{
  grid-template-areas:
    "hero hero"
    "flow result";
  grid-template-columns:minmax(0,1fr) minmax(340px,430px);
}
.rot-workspace > .rot-hero{
  grid-area:hero;
  display:grid;
  gap:12px;
}
.rot-training-page > .rot-hero{
  grid-area:auto!important;
  display:grid;
  gap:12px;
}
.rot-flow{
  grid-area:flow;
  display:grid;
  gap:14px;
}
.rot-workspace .rot-result{
  grid-area:result;
  align-self:start;
}
.rot-question-grid,
.rot-age-grid,
.rot-context-grid,
.rot-time-grid,
.rot-complaint-grid,
.rot-discriminator-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.rot-age-grid{
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
}
.rot-context-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.rot-age-chip,
.rot-context-chip,
.rot-time-chip{
  min-height:78px;
  width:100%;
  max-width:100%;
  display:grid;
  gap:6px;
  align-content:start;
  padding:12px;
  border:1px solid var(--border, #d6e2f2);
  border-radius:8px;
  background:#fff;
  color:#071f45;
  text-align:left;
  cursor:pointer;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.rot-age-chip:hover,
.rot-context-chip:hover,
.rot-time-chip:hover{
  border-color:#8bb8ef;
  box-shadow:0 8px 22px rgba(29,78,216,.08);
}
.rot-age-chip.active,
.rot-context-chip.active,
.rot-time-chip.active{
  border-color:#1d74d8;
  background:#edf6ff;
  box-shadow:0 0 0 2px rgba(29,116,216,.12);
}
.rot-age-chip strong,
.rot-context-chip strong,
.rot-time-chip strong{
  display:block;
  font-size:.95rem;
  font-weight:950;
  line-height:1.2;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.rot-age-chip span,
.rot-context-chip span,
.rot-time-chip span{
  display:block;
  color:#40516f;
  font-size:.82rem;
  line-height:1.35;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media (max-width:700px){
  .rot-question-grid,
  .rot-context-grid,
  .rot-time-grid,
  .rot-complaint-grid,
  .rot-discriminator-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:430px){
  .rot-age-grid{
    grid-template-columns:1fr!important;
  }
}
.age-chip[data-age-tone],
.rot-age-chip[data-age-tone]{
  border-color:color-mix(in srgb, var(--age-color, var(--brand)) 28%, white)!important;
  background:linear-gradient(180deg, color-mix(in srgb, var(--age-soft, var(--brand-soft)) 84%, white) 0%, #ffffff 100%)!important;
}
.age-chip[data-age-tone]:hover,
.rot-age-chip[data-age-tone]:hover{
  border-color:color-mix(in srgb, var(--age-color, var(--brand)) 55%, white)!important;
  box-shadow:0 10px 22px color-mix(in srgb, var(--age-color, var(--brand)) 12%, transparent)!important;
}
.age-chip.active[data-age-tone],
.rot-age-chip.active[data-age-tone]{
  background:linear-gradient(180deg, color-mix(in srgb, var(--age-soft, var(--brand-soft)) 96%, white) 0%, color-mix(in srgb, var(--age-soft, var(--brand-soft)) 70%, white) 100%)!important;
  border-color:var(--age-color, var(--brand))!important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--age-color, var(--brand)) 16%, transparent) inset, 0 10px 24px color-mix(in srgb, var(--age-color, var(--brand)) 12%, transparent)!important;
}
.age-chip[data-age-tone="emergency"], .rot-age-chip[data-age-tone="emergency"]{--age-color:var(--domain-emergency);--age-soft:var(--domain-emergency-soft);}
.age-chip[data-age-tone="cardio"], .rot-age-chip[data-age-tone="cardio"]{--age-color:var(--domain-cardio);--age-soft:var(--domain-cardio-soft);}
.age-chip[data-age-tone="resp"], .rot-age-chip[data-age-tone="resp"]{--age-color:var(--domain-resp);--age-soft:var(--domain-resp-soft);}
.age-chip[data-age-tone="neuro"], .rot-age-chip[data-age-tone="neuro"]{--age-color:var(--domain-neuro);--age-soft:var(--domain-neuro-soft);}
.age-chip[data-age-tone="gastro"], .rot-age-chip[data-age-tone="gastro"]{--age-color:var(--domain-gastro);--age-soft:var(--domain-gastro-soft);}
.age-chip[data-age-tone="infection"], .rot-age-chip[data-age-tone="infection"]{--age-color:var(--domain-infection);--age-soft:var(--domain-infection-soft);}
.age-chip[data-age-tone="metabolic"], .rot-age-chip[data-age-tone="metabolic"]{--age-color:var(--domain-metabolic);--age-soft:var(--domain-metabolic-soft);}
.age-chip[data-age-tone="neonatal"], .rot-age-chip[data-age-tone="neonatal"]{--age-color:var(--domain-neonatal);--age-soft:var(--domain-neonatal-soft);}
.age-chip[data-age-tone="trauma"], .rot-age-chip[data-age-tone="trauma"]{--age-color:var(--domain-trauma);--age-soft:var(--domain-trauma-soft);}
.age-chip[data-age-tone="immune"], .rot-age-chip[data-age-tone="immune"]{--age-color:var(--domain-immune);--age-soft:var(--domain-immune-soft);}
.age-chip[data-age-tone="hemeonc"], .rot-age-chip[data-age-tone="hemeonc"]{--age-color:var(--domain-hemeonc);--age-soft:var(--domain-hemeonc-soft);}
.age-chip[data-age-tone="toxic"], .rot-age-chip[data-age-tone="toxic"]{--age-color:var(--domain-toxic);--age-soft:var(--domain-toxic-soft);}
.rot-question,
.rot-complaint,
.rot-discriminator{
  min-height:86px;
  display:grid;
  grid-template-columns:24px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid var(--border, #d6e2f2);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.rot-question:hover,
.rot-complaint:hover,
.rot-discriminator:hover{
  border-color:#8bb8ef;
  box-shadow:0 8px 22px rgba(29,78,216,.08);
}
.rot-question input,
.rot-complaint input,
.rot-discriminator input{
  margin-top:3px;
  inline-size:18px;
  block-size:18px;
}
.rot-question strong,
.rot-complaint strong,
.rot-discriminator strong{
  display:block;
  color:#071f45;
  font-size:.96rem;
  line-height:1.25;
}
.rot-question small,
.rot-complaint small,
.rot-discriminator small{
  display:block;
  margin-top:6px;
  color:#40516f;
  line-height:1.35;
}
.rot-discriminator em{
  display:inline-flex;
  width:max-content;
  margin:0 0 6px;
  padding:2px 7px;
  border:1px solid #d6e2f2;
  border-radius:999px;
  background:#f7fbff;
  color:#174ea6;
  font-size:.72rem;
  line-height:1.2;
  font-style:normal;
  font-weight:650;
}
.rot-discriminator[data-band="immediate"] em{
  border-color:#f2a3a3;
  background:#fff5f5;
  color:#b00020;
}
.rot-discriminator[data-band="very_urgent"] em{
  border-color:#f2a3a3;
  background:#fff8f8;
  color:#9b111e;
}
.rot-discriminator[data-band="urgent"] em{
  border-color:#f0c66d;
  background:#fffaf0;
  color:#8a5a00;
}
.rot-discriminator-panel{
  display:grid;
  gap:12px;
}
.rot-step-accordion{
  padding:0;
  overflow:hidden;
}
.rot-step-accordion > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:54px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.rot-step-accordion > summary::-webkit-details-marker{
  display:none;
}
.rot-step-accordion > summary::after{
  content:'\25BE';
  flex:0 0 auto;
  color:#53647f;
  font-size:.9rem;
  transition:transform .16s ease;
}
.rot-step-accordion:not([open]) > summary::after{
  transform:rotate(-90deg);
}
.rot-step-accordion > summary .home-section-kicker{
  margin:0;
}
.rot-step-accordion > summary strong{
  flex:1 1 auto;
  color:#071f45;
  font-size:1.1rem;
  line-height:1.22;
}
.rot-step-body{
  display:grid;
  gap:12px;
  padding:0 16px 16px;
}
.rot-step-body .page-description{
  margin:0;
}
.rot-complaint-groups{
  display:grid;
  gap:10px;
}
.rot-complaint-group{
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#f8fbff;
  overflow:hidden;
}
.rot-complaint-group > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  color:#174ea6;
  font-weight:950;
  cursor:pointer;
  list-style:none;
}
.rot-complaint-group > summary::-webkit-details-marker{
  display:none;
}
.rot-complaint-group > summary::after{
  content:'\25BE';
  color:#53647f;
  transition:transform .16s ease;
}
.rot-complaint-group:not([open]) > summary::after{
  transform:rotate(-90deg);
}
.rot-complaint-group > summary small{
  margin-left:auto;
  min-width:24px;
  border-radius:999px;
  padding:2px 8px;
  background:#e8f2ff;
  color:#174ea6;
  text-align:center;
  font-size:.78rem;
  font-weight:950;
}
.rot-complaint-group .rot-complaint-grid{
  padding:0 12px 12px;
}
.rot-discriminator-group{
  display:grid;
  gap:10px;
}
.rot-discriminator-group h3{
  margin:0;
  color:#174ea6;
  font-size:1rem;
}
.rot-discriminator-empty{
  padding:12px;
  border:1px dashed #bdd2ef;
  border-radius:8px;
  background:#f8fbff;
  color:#53647f;
  font-weight:800;
}
.rot-result{
  position:sticky;
  top:var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 96px) + 14px));
  max-height:calc(100vh - var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 96px) + 14px)) - 14px);
  overflow:auto;
  overscroll-behavior:contain;
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#f8fbff;
  box-shadow:0 12px 32px rgba(15,23,42,.08);
}
.rot-result-details{
  display:grid;
  gap:12px;
}
.rot-result-details > summary{
  display:none;
}
.rot-result-detail-body{
  display:grid;
  gap:12px;
}
.rot-result-accordion{
  overflow:hidden;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
}
.rot-result-accordion > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:46px;
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
  color:#071f45;
  font-weight:750;
  line-height:1.25;
  background:#f8fbff;
}
.rot-result-accordion > summary::-webkit-details-marker{
  display:none;
}
.rot-result-accordion > summary::after{
  content:'';
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:1px solid #b9d2f4;
  border-radius:999px;
  background:#eaf3ff;
  color:#174ea6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  font-weight:900;
  line-height:1;
  transition:transform .16s ease, background-color .16s ease, border-color .16s ease;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23174ea6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
}
.rot-result-accordion:not([open]) > summary::after{
  transform:rotate(-90deg);
}
.rot-result-accordion[open] > summary::after{
  border-color:#174ea6;
  background-color:#ddecff;
}
.rot-result-accordion-badge{
  margin-left:auto;
  padding:3px 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#174ea6;
  font-size:.72rem;
  font-weight:650;
  white-space:nowrap;
}
.rot-result-accordion-body{
  display:grid;
  gap:10px;
  padding:10px;
  border-top:1px solid #dbe7f7;
}
.rot-result-accordion--opeg{
  border-color:#b9d7f4;
}
.rot-result-accordion--opeg > summary{
  background:#f3f9ff;
}
.rot-result-accordion--risk{
  border-color:#f2c0c0;
}
.rot-result-accordion--risk > summary{
  background:#fff8f8;
}
.rot-result-accordion--signals{
  border-color:#cfe0f6;
}
.rot-result-accordion--reeval{
  border-color:#bfe8e3;
}
.rot-result-accordion--reeval > summary{
  background:#f3fffc;
}
.rot-step-accordion > summary::after,
.symptom-group--accordion .symptom-group-head::after,
.rot-result-details > summary::after{
  content:''!important;
  flex:0 0 auto!important;
  width:28px!important;
  height:28px!important;
  border:1px solid #b9d2f4!important;
  border-radius:999px!important;
  background:#eaf3ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23174ea6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/17px 17px no-repeat!important;
  color:transparent!important;
}
.rot-result-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
}
.rot-result-head span,
.rot-result-complaint small{
  color:#071f45;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
.rot-result-head strong{
  font-size:1.35rem;
  color:#071f45;
  font-weight:950;
}
.rot-result p{
  margin:0;
  color:#071f45;
  line-height:1.45;
}
.rot-result-action-box{
  padding:12px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
  color:#182a47;
  font-weight:750;
  line-height:1.45;
}
.rot-risk-score{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 10px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(23,78,166,.18);
  border-radius:8px;
  background:rgba(255,255,255,.74);
}
.rot-risk-score span{
  color:#071f45;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:none;
}
.rot-risk-score strong{
  color:#071f45;
  font-size:1.1rem;
  font-weight:800;
}
.rot-risk-score small{
  grid-column:1 / -1;
  color:#071f45;
  line-height:1.3;
}
.rot-risk-score--secondary{
  box-shadow:none;
}
.rot-band-basis,
.rot-reevaluation-plan{
  display:grid;
  gap:7px;
  padding:12px;
  border:1px solid #f2a3a3;
  border-left:4px solid #9b111e;
  border-radius:8px;
  background:#fffafa;
}
.rot-opeg-action{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #b9d7f4;
  border-left:4px solid #1e5d92;
  border-radius:8px;
  background:#f7fbff;
}
.rot-opeg-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.rot-opeg-head h3{
  margin:3px 0 0;
  color:#071f45;
  font-size:1rem;
  line-height:1.25;
  font-weight:700;
}
.rot-opeg-action .rot-critical-kicker{
  color:#1e5d92;
}
.rot-opeg-action p{
  color:#071f45;
  font-weight:650;
  line-height:1.4;
}
.rot-opeg-priority{
  display:grid;
  gap:5px;
}
.rot-opeg-priority p{
  margin:0;
}
.rot-opeg-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.rot-opeg-links span{
  padding:2px 7px;
  border-radius:999px;
  background:#e8f2ff;
  color:#174ea6;
  font-size:.72rem;
  font-weight:650;
}
.rot-opeg-grid{
  display:grid;
  gap:8px;
}
.rot-opeg-mini{
  padding:9px;
  border:1px solid #cfe0f6;
  border-radius:8px;
  background:#fff;
}
.rot-opeg-mini strong{
  display:block;
  margin-bottom:5px;
  color:#071f45;
  font-size:.88rem;
  font-weight:700;
}
.rot-opeg-mini ul{
  margin:0;
  padding-left:18px;
  color:#071f45;
  line-height:1.35;
}
.rot-opeg-mini.is-danger{
  border-color:#f2c2c2;
  background:#fffafa;
}
.rot-opeg-mini.is-watch{
  border-color:#bfe8e3;
  background:#fbfffe;
}
.rot-band-basis--soft{
  border-color:#bdd2ef;
  border-left-color:#2f6ae6;
  background:#f8fbff;
}
.rot-band-basis h3{
  margin:0;
  color:#071f45;
  font-size:1rem;
  line-height:1.25;
  font-weight:750;
}
.rot-band-basis p,
.rot-reevaluation-plan p{
  color:#071f45;
}
.rot-band-basis small{
  width:max-content;
  max-width:100%;
  padding:2px 8px;
  border-radius:999px;
  background:#eef4ff;
  color:#174ea6;
  font-size:.74rem;
  font-weight:650;
}
.rot-band-basis-dx{
  color:#071f45;
  line-height:1.35;
}
.rot-band-basis-dx b{
  font-weight:650;
}
.rot-reevaluation-plan{
  border-color:#bfe8e3;
  border-left-color:#16817a;
  background:#f7fffd;
}
.rot-reevaluation-plan .rot-critical-kicker{
  color:#0f766e;
}
.rot-reevaluation-plan strong{
  color:#071f45;
  font-weight:650;
  line-height:1.35;
}
.rot-reevaluation-plan ul{
  margin:0;
  padding-left:18px;
  color:#071f45;
  line-height:1.35;
}
.rot-result--critical,
.rot-result--danger{
  border-color:#f2a3a3;
  background:#fff5f5;
}
.rot-result--critical .rot-result-head strong,
.rot-result--danger .rot-result-head strong{
  color:#9b111e;
}
.rot-result--critical .rot-result-head,
.rot-result--danger .rot-result-head,
.rot-result--critical .rot-result-action-box,
.rot-result--danger .rot-result-action-box{
  border-color:#f2a3a3;
  background:#fffafa;
}
.rot-result--warning{
  border-color:#f0c66d;
  background:#fffaf0;
}
.rot-result--warning .rot-result-head strong{
  color:#8a5a00;
}
.rot-result--warning .rot-result-head,
.rot-result--warning .rot-result-action-box{
  border-color:#f0c66d;
  background:#fffdfa;
}
.rot-result--stable{
  border-color:#a8d6bb;
  background:#f3fbf6;
}
.rot-result--stable .rot-result-head strong{
  color:#157347;
}
.rot-result--stable .rot-result-head,
.rot-result--stable .rot-result-action-box{
  border-color:#a8d6bb;
  background:#fbfffc;
}
.rot-result--low{
  border-color:#bdd2ef;
  background:#f6faff;
}
.rot-result-complaint{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid rgba(37,99,235,.18);
  border-radius:8px;
  background:rgba(255,255,255,.72);
}
.rot-result-complaints{
  display:grid;
  gap:8px;
}
.rot-context-summary{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(23,78,166,.18);
  border-radius:8px;
  background:rgba(255,255,255,.72);
}
.rot-context-summary p{
  display:grid;
  gap:3px;
}
.rot-context-summary strong{
  color:#071f45;
  font-weight:750;
  line-height:1.25;
}
.rot-context-summary span{
  color:#071f45;
  font-size:.86rem;
  line-height:1.35;
}
.rot-result-reasons ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:18px;
}
.rot-result-reasons li span{
  display:block;
  margin-top:3px;
  color:#071f45;
}
.rot-critical-suspicion-list{
  display:grid;
  gap:8px;
}
.rot-critical-suspicion{
  display:grid;
  gap:5px;
  padding:12px;
  border:1px solid #f2a3a3;
  border-left:4px solid #9b111e;
  border-radius:8px;
  background:#fffafa;
}
.rot-critical-kicker{
  color:#9b111e;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:0;
  text-transform:none;
}
.rot-critical-suspicion strong{
  color:#9b111e;
  font-size:.98rem;
  font-weight:750;
  line-height:1.25;
}
.rot-critical-suspicion p{
  color:#071f45;
  font-weight:750;
}
.rot-critical-suspicion small{
  color:#071f45;
  line-height:1.35;
}
.rot-neutral-note{
  color:#071f45;
  font-weight:650;
}
.rot-clinical-emphasis{
  color:#9b111e;
  font-weight:700;
}
.rot-age-required-warning{
  display:grid;
  gap:5px;
  padding:12px;
  border:1px solid #f0c66d;
  border-left:4px solid #b7791f;
  border-radius:8px;
  background:#fffaf0;
  color:#071f45;
}
.rot-age-required-warning strong{
  color:#8a5a00;
  font-weight:750;
}
.rot-age-required-warning span{
  color:#071f45;
  line-height:1.35;
}
.rot-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.rot-reset-btn{
  border-color:#9ed8ad!important;
  background:#f2fbf4!important;
  color:#0f5132!important;
  box-shadow:0 8px 18px rgba(21,115,71,.08)!important;
}
.rot-reset-btn:hover{
  border-color:#157347!important;
  background:#e8f7ec!important;
}
.rot-training-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.rot-training-page{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:none!important;
}
.rot-training-page > *{
  width:100%!important;
  max-width:100%!important;
  min-width:0;
}
.rot-training-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.rot-training-section{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid #d6e2f2;
  border-left:6px solid #2d6cdf;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.07)!important;
}
.rot-training-section > summary{
  position:relative;
  z-index:1;
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:64px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.rot-training-section > summary::-webkit-details-marker{
  display:none;
}
.rot-training-section > summary::after{
  content:'\25BE';
  flex:0 0 auto;
  color:#53647f;
  font-weight:750;
  transition:transform .16s ease;
}
.rot-training-section:not([open]) > summary::after{
  transform:rotate(-90deg);
}
.rot-training-section > summary .home-section-kicker{
  flex:0 0 auto;
  margin:0;
  background:rgba(255,255,255,.58);
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.rot-training-section > summary strong{
  flex:1 1 auto;
  min-width:0;
  color:#071f45;
  font-size:1.1rem;
  line-height:1.2;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.rot-training-section-body{
  display:grid;
  gap:12px;
  padding:0 16px 16px;
}
.rot-training-section-body .page-description{
  margin:0;
}
.rot-training-section--complaint{border-left-color:#2d6cdf;background:#f7fbff!important}
.rot-training-section--diagnosis{border-left-color:#9b111e;background:#fff7f7!important}
.rot-training-section--micro{border-left-color:#0f766e;background:#f4fffc!important}
.rot-training-section--case{border-left-color:#8a5a00;background:#fffaf0!important}
.rot-training-section--recheck{border-left-color:#6d5dd3;background:#f8f6ff!important}
.rot-training-section--fundamentals{border-left-color:#157347;background:#f6fff8!important}
.rot-training-card{
  padding:14px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
}
.rot-training-card-count{
  width:max-content;
  max-width:100%;
  margin:0 0 8px;
  border-radius:999px;
  padding:4px 9px;
  background:#eaf3ff;
  color:#174ea6;
  font-size:.78rem;
  font-weight:650;
}
.rot-training-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 12px;
}
.rot-training-nav .v7-secondary-btn,
.rot-training-nav .v7-primary-btn{
  flex:0 1 auto;
  min-width:150px;
  justify-content:center;
  white-space:normal;
}
.rot-training-accordion{
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#f8fbff;
  overflow:visible;
}
.rot-training-accordion summary{
  cursor:pointer;
  padding:12px 14px;
  color:#174ea6;
  font-weight:900;
}
.rot-training-card--single,
.rot-case--single{
  margin:0;
  border:0;
  border-top:1px solid #d6e2f2;
  border-radius:0;
}
.rot-training-question{
  margin:0 0 12px;
  color:#102a43;
  font-weight:650;
}
.rot-training-choice-grid{
  display:grid;
  gap:8px;
  margin:0 0 12px;
}
.rot-training-choice{
  width:100%;
  min-height:38px;
  padding:9px 11px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
  color:#102a43;
  text-align:left;
  font-weight:650;
  line-height:1.3;
  cursor:pointer;
}
.rot-training-choice:hover{
  border-color:#8bb8ef;
  background:#f7fbff;
}
.rot-training-choice.active{
  border-color:#174ea6;
  background:#edf6ff;
}
.rot-training-choice.is-correct{
  border-color:#9ed8ad;
  background:#f2fbf4;
}
.rot-training-choice.is-miss{
  border-color:#f2c36b;
  background:#fff8e8;
}
.rot-training-choice-feedback{
  margin:-2px 0 12px;
  padding:9px 11px;
  border-radius:8px;
  color:#102a43;
  line-height:1.35;
  font-weight:650;
}
.rot-training-choice-feedback.is-correct{
  border:1px solid #9ed8ad;
  background:#f2fbf4;
}
.rot-training-choice-feedback.is-miss{
  border:1px solid #f2c36b;
  background:#fff8e8;
}
.rot-training-card h3,
.rot-case h3{
  margin:4px 0 10px;
  color:#071f45;
}
.rot-training-card dl{
  display:grid;
  gap:9px;
  margin:0;
}
.rot-training-card dt{
  color:#174ea6;
  font-size:.76rem;
  font-weight:650;
  text-transform:uppercase;
}
.rot-training-card dd{
  margin:2px 0 0;
  color:#102a43;
  line-height:1.35;
}
.rot-recheck-list,
.rot-case-list{
  display:grid;
  gap:10px;
}
.rot-training-entry{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.rot-training-entry .page-description{
  margin:4px 0 0;
}
.rot-training-entry .rot-title{
  display:inline;
}
.rot-training-open-btn{
  flex:0 0 auto;
  min-width:180px;
  max-width:260px;
  justify-content:center;
  gap:4px;
  border-color:#f2b5b5!important;
  background:#fff7f7!important;
  color:#071f45!important;
  box-shadow:0 10px 22px rgba(208,0,0,.08)!important;
}
.rot-training-open-btn > span{
  display:inline;
  white-space:normal;
}
.rot-training-open-btn:hover{
  border-color:#d00000!important;
  background:#fff0f0!important;
}

/* App readability authority: avoid pale grey copy and overly heavy bold. */
#content :where(.page-description,.v7-muted,.card__desc,.muted-small,small,p,li,dd,span){
  color:#102a43;
}
#content :where(strong,b,.home-section-kicker,.v7-kicker,.rot-training-card-count,.rot-case-band,.v7-primary-btn,.v7-secondary-btn,.action-button,.home-workflow-step){
  font-weight:650!important;
}
#content :where(h1,h2,h3,.page-title,.card__title){
  font-weight:700!important;
}
#content .rot-word,
#content .rot-acronym{
  color:#d00000!important;
}
#content .opeg-word,
#content .opeg-acronym{
  color:#047857!important;
}
#content .rot-dx-link{
  color:#174ea6!important;
  font-weight:650!important;
}
#content .rot-case-band-comparison.is-too-low em,
#content .rot-case-band-comparison.is-too-low span:nth-child(2) strong{
  color:#9b111e!important;
}
#content .rot-case-band-comparison.is-too-high em,
#content .rot-case-band-comparison.is-too-high span:nth-child(1) strong,
#content .rot-case-band-comparison.is-match em{
  color:#157347!important;
}
.rot-legacy-links details{
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#f8fbff;
  padding:12px;
}
.rot-legacy-links summary{
  cursor:pointer;
  color:#174ea6;
  font-weight:900;
}
.rot-legacy-links .card-grid{
  margin-top:12px;
}
.rot-case{
  padding:12px;
  border:1px solid #d6e2f2;
  border-radius:8px;
  background:#fff;
}
.rot-case p{
  margin:0 0 10px;
  color:#102a43;
}
.rot-case-bands{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.rot-case-band{
  min-height:34px;
  padding:6px 10px;
  border:1px solid #cfe0f6;
  border-radius:8px;
  background:#f8fbff;
  color:#0b2a55;
  font-weight:650;
  cursor:pointer;
}
.rot-case-band:hover{
  border-color:#76a8e8;
}
.rot-case-band.active{
  border-color:#174ea6;
  background:#e9f2ff;
}
.rot-case-feedback{
  display:none;
  margin-top:10px;
  padding:10px;
  border-radius:8px;
  line-height:1.4;
}
.rot-case-feedback.is-correct,
.rot-case-feedback.is-miss{
  display:block;
}
.rot-case-feedback.is-correct{
  border:1px solid #9bd0ad;
  background:#f0fbf4;
}
.rot-case-feedback.is-miss{
  border:1px solid #f2c36b;
  background:#fff8e8;
}
.rot-case-band-comparison{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin:4px 0 10px;
  color:#102a43;
}
.rot-case-band-comparison span{
  font-weight:650;
}
.rot-case-band-comparison em{
  font-style:normal;
  font-weight:700;
}
.rot-case-band-comparison.is-too-low em,
.rot-case-band-comparison.is-too-low span:nth-child(2) strong{
  color:#9b111e;
}
.rot-case-band-comparison.is-too-high em,
.rot-case-band-comparison.is-too-high span:nth-child(1) strong{
  color:#157347;
}
.rot-case-band-comparison.is-match em{
  color:#157347;
}
.rot-bubble-term,
.rot-dx-link{
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.rot-bubble-term{
  color:#8b0000;
  font-weight:650;
}
.rot-dx-link{
  position:relative;
  color:#174ea6;
  font-weight:650;
}
.rot-dx-link span{
  display:none!important;
  margin-left:4px;
  padding:1px 5px;
  border:1px solid #bdd2ef;
  border-radius:999px;
  background:#f4f8ff;
  color:#174ea6;
  font-size:.72em;
  font-weight:900;
  line-height:1.25;
  white-space:nowrap;
  vertical-align:baseline;
}
.rot-dx-link:hover::after{
  display:none;
}
.rot-speech-popover{
  display:inline-block;
  max-width:min(360px, calc(100% - 12px));
  margin:4px 6px;
  padding:9px 11px;
  border:1px solid #f2c36b;
  border-radius:12px;
  background:#fff8e8;
  color:#102a43;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  line-height:1.35;
}
@media (max-width: 1100px){
  .rot-layout,
  .rot-workspace,
  .rot-question-grid,
  .rot-context-grid,
  .rot-time-grid,
  .rot-complaint-grid,
  .rot-discriminator-grid,
  .rot-training-grid{
    grid-template-columns:1fr;
  }
  .rot-workspace{
    grid-template-areas:
      "result"
      "hero"
      "flow";
  }
  .rot-result{
    position:sticky;
    top:var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 120px) + 10px));
    z-index:20;
    max-height:calc(100vh - var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 120px) + 10px)) - 8px);
    overflow:hidden;
    padding:8px;
    border-radius:0 0 8px 8px;
    box-shadow:0 10px 24px rgba(15,23,42,.12);
  }
  .rot-result-head{
    padding:10px 12px;
  }
  .rot-result-head strong{
    font-size:1.18rem;
  }
  .rot-result-details{
    display:block;
  }
  .rot-result-details > summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    min-height:38px;
    margin-top:8px;
    padding:8px 10px;
    border:1px solid #d6e2f2;
    border-radius:8px;
    background:#fff;
    color:#174ea6;
    font-weight:900;
    cursor:pointer;
    list-style:none;
  }
  .rot-result-details > summary::-webkit-details-marker{
    display:none;
  }
  .rot-result-details > summary::after{
    content:'\25BE';
    color:#53647f;
    font-size:.9rem;
    transition:transform .16s ease;
  }
  .rot-result-details:not([open]) > summary::after{
    transform:rotate(-90deg);
  }
  .rot-result-detail-body{
    max-height:calc(100vh - var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 120px) + 10px)) - 180px);
    overflow:auto;
    overscroll-behavior:contain;
    padding-top:8px;
  }
  .rot-training-entry{
    align-items:stretch;
    flex-direction:column;
  }
}
@media (min-width: 701px) and (max-width: 1100px){
  .rot-age-grid{
    grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
  }
}

.rot-result-details > summary::after{
  content:''!important;
  flex:0 0 auto!important;
  width:28px!important;
  height:28px!important;
  border:1px solid #b9d2f4!important;
  border-radius:999px!important;
  background:#eaf3ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23174ea6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/17px 17px no-repeat!important;
  color:transparent!important;
}

@media (max-width: 900px){
  body:has(.rot-page) .app-shell{
    padding-left:8px;
    padding-right:8px;
  }
  body:has(.rot-page) .app-header{
    padding-bottom:4px!important;
  }
  body:has(.rot-page) .app-logo-icon{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
  }
  body:has(.rot-page) .app-subtitle{
    display:none!important;
  }
  body:has(.rot-page) .app-header__top{
    margin-bottom:6px!important;
  }
  body:has(.rot-page) .lang-btn,
  body:has(.rot-page) .font-btn{
    min-height:34px!important;
    height:34px!important;
    padding:6px 9px!important;
  }
  body:has(.rot-page) .nav-row{
    display:grid!important;
    grid-template-columns:44px 44px 44px!important;
    gap:8px!important;
    margin-bottom:6px!important;
  }
  body:has(.rot-page) .nav-row .nav-btn{
    min-height:42px!important;
    padding:8px 10px!important;
  }
  body:has(.rot-page) .nav-row #navTriage,
  body:has(.rot-page) .nav-row #navFinder,
  body:has(.rot-page) .nav-row #navSymptoms,
  body:has(.rot-page) .nav-row #navGuidelines{
    display:none!important;
  }
  body:has(.rot-page) .search-row{
    margin-bottom:5px!important;
  }
  body:has(.rot-page) #globalSearch{
    min-height:40px!important;
    padding:9px 42px 9px 12px!important;
    border-radius:14px!important;
  }
  body:has(.rot-page) .breadcrumb{
    margin-bottom:6px!important;
  }
  .rot-page .rot-hero{
    gap:10px!important;
  }
  .rot-page .page-title{
    font-size:1.62rem!important;
    line-height:1.12!important;
  }
  .rot-page .home-alert-strip{
    padding:14px!important;
  }
  .rot-result{
    gap:8px!important;
    padding:8px!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:8px!important;
  }
  .rot-result-head{
    min-height:54px!important;
    padding:9px 11px!important;
  }
  .rot-result-head span{
    font-size:.78rem!important;
  }
  .rot-result-head strong{
    font-size:1.25rem!important;
    text-align:right!important;
  }
  .rot-result-details > summary{
    margin-top:0!important;
    min-height:46px!important;
    padding:8px 10px!important;
  }
  .rot-result-details[open]::before{
    content:'';
    position:fixed;
    inset:0;
    z-index:210;
    background:rgba(7,31,69,.18);
    pointer-events:none;
  }
  .rot-result-details[open] .rot-result-detail-body{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:0!important;
    z-index:220!important;
    max-height:min(78vh, calc(100vh - 92px))!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    padding:12px 12px calc(12px + env(safe-area-inset-bottom))!important;
    border:1px solid #b9d2f4!important;
    border-bottom:none!important;
    border-radius:18px 18px 0 0!important;
    background:#fff!important;
    box-shadow:0 -18px 48px rgba(15,23,42,.28)!important;
  }
  .rot-result-details[open] .rot-result-detail-body::before{
    content:'';
    display:block;
    width:42px;
    height:4px;
    margin:0 auto 10px;
    border-radius:999px;
    background:#b9c8dc;
  }
  .rot-result-accordion > summary{
    min-height:50px!important;
    padding:10px!important;
  }
  .rot-result-accordion-body{
    padding:9px!important;
  }
  .rot-opeg-action,
  .rot-band-basis,
  .rot-context-summary,
  .rot-result-complaint,
  .rot-critical-suspicion,
  .rot-risk-score{
    padding:10px!important;
  }
  .rot-opeg-head{
    display:block!important;
  }
  .rot-result-actions{
    position:sticky!important;
    bottom:calc(-12px - env(safe-area-inset-bottom))!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:8px -12px calc(-12px - env(safe-area-inset-bottom))!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(255,255,255,.92),#fff 35%)!important;
    border-top:1px solid #dbe7f7!important;
  }
  .rot-result-actions .v7-primary-btn,
  .rot-result-actions .v7-secondary-btn{
    width:100%!important;
    min-height:46px!important;
  }
  .rot-step-accordion > summary{
    display:grid!important;
    grid-template-columns:auto 1fr 32px!important;
    gap:8px 10px!important;
    align-items:center!important;
    min-height:64px!important;
    padding:12px!important;
  }
  .rot-step-accordion > summary .home-section-kicker{
    grid-row:1 / span 2!important;
    align-self:center!important;
  }
  .rot-step-accordion > summary strong{
    min-width:0!important;
    font-size:1rem!important;
  }
  .rot-step-accordion > summary::after{
    grid-column:3!important;
    grid-row:1 / span 2!important;
  }
  .rot-step-summary{
    grid-column:2!important;
    display:block!important;
    min-width:0!important;
    color:#174ea6!important;
    font-size:.82rem!important;
    font-weight:650!important;
    line-height:1.25!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .rot-age-grid,
  .rot-context-grid,
  .rot-time-grid,
  .rot-question-grid,
  .rot-complaint-grid,
  .rot-discriminator-grid{
    gap:8px!important;
  }
  .rot-age-chip,
  .rot-context-chip,
  .rot-time-chip,
  .rot-question,
  .rot-complaint,
  .rot-discriminator{
    min-height:68px!important;
    padding:11px!important;
  }
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* V4_F4_72: Diagnosefinder is the primary clinical engine; keep it visually prominent. */
.nav-row .nav-btn{
  background:
    radial-gradient(circle at 14% 18%, rgba(48,115,82,.14), transparent 30%),
    linear-gradient(135deg,#effaf2 0%,#e8f4ff 62%,#fff9ef 100%)!important;
  border:1px solid #bdd9cb!important;
  color:#0c304d!important;
  font-weight:680!important;
}
.nav-row .nav-btn.active{
  background:
    radial-gradient(circle at 14% 18%, rgba(48,115,82,.22), transparent 32%),
    linear-gradient(135deg,#e2f7e9 0%,#dceeff 62%,#fff2dc 100%)!important;
  border-color:#7bb595!important;
  box-shadow:0 0 0 2px rgba(63,140,103,.12) inset, var(--shadow)!important;
}
#navHome{
  flex:0 0 auto!important;
  flex-basis:auto!important;
  width:48px!important;
  min-width:48px!important;
  font-size:1.14rem!important;
  font-weight:750!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
#navHome::after{
  content:none!important;
}
#navTriage,
#navGuidelines{
  font-weight:760!important;
}
#navFinder{
  background:
    radial-gradient(circle at 14% 18%, rgba(48,115,82,.22), transparent 30%),
    linear-gradient(135deg,#effaf2 0%,#e8f4ff 58%,#fff7ec 100%)!important;
  border-color:#87b89b!important;
  color:#073b65!important;
  font-weight:720!important;
}
#navFinder::before{
  content:none!important;
}
#navFinder.active{
  background:
    radial-gradient(circle at 16% 18%, rgba(48,115,82,.30), transparent 32%),
    linear-gradient(135deg,#dff7e8 0%,#dceeff 58%,#fff1d9 100%)!important;
  border-color:#3f8c67!important;
  box-shadow:0 0 0 2px rgba(63,140,103,.15) inset, var(--shadow)!important;
}

body.route-finder-hub .pem-icon-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))!important;
  align-items:stretch!important;
}
body.route-finder-hub .pem-icon-card{
  min-height:118px!important;
  height:auto!important;
}
body.route-finder-hub .pem-card-title,
body.route-finder-hub .pem-card-desc{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.opeg-home-label,
.opeg-browser-page .guideline-browser-hero .v7-kicker{
  color:#174f84!important;
  font-size:.94rem!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:.065em!important;
}
.opeg-browser-page .guideline-browser-hero .v7-kicker{
  margin-bottom:8px!important;
}

/* V4_F4_77: global font-scale authority.
   A+/A- must affect nested cards, accordions, labels, pills, buttons and body copy. */
:root{
  --pem-fs-body:16px;
  --pem-fs-small:13px;
  --pem-fs-h1:28px;
  --pem-fs-title:28px;
  --pem-fs-h2:22px;
  --pem-fs-h3:18px;
  --pem-fs-h4:16.5px;
  --pem-fs-chip:14px;
  --pem-fs-tiny:11.5px;
  --pem-fs-icon:20px;
}

html,
body,
.app-shell,
.app-main{
  font-size:var(--pem-fs-body)!important;
}

.page-title,
.home-clinical-title,
.guideline-hero .page-title,
.rot-page-title{
  font-size:var(--pem-fs-h1)!important;
  line-height:1.12!important;
}

.content-block > h2,
.card__title,
.tool-card h2,
.home-quickstart-card h2,
.home-workflow-panel h2,
.home-scenario-panel h2,
.quick-access-home--clinical h2,
.pem-ctx-panel h2,
.guideline-browser-search-head h2,
.opeg-diagnosis-title,
.rot-section-title,
.rot-result-head strong{
  font-size:var(--pem-fs-h2)!important;
  line-height:1.18!important;
}

.guide-box h2,
.guide-accordion-block h3,
.guideline-content-card h3,
.guideline-accordion-title-copy,
.home-scenario-card strong,
.home-workflow-step,
.pem-card-title,
.pem-core-symptom-card strong,
.pem-pattern-card strong,
.v42-box h4,
.v42-redflags h4,
.v42-recheck h4,
.opeg-quick-step-head h3,
.opeg-flow-head h3,
.opeg-med-card strong,
.guideline-library-item__title,
.rot-question-card h3,
.rot-age-chip strong,
.rot-context-chip strong,
.rot-time-chip strong,
.quick-access-item strong,
.search-result-card h3{
  font-size:var(--pem-fs-h3)!important;
  line-height:1.22!important;
}

.symptom-card h3,
.dx-accordion-body h4,
.vnext-bridge-box h3,
.free-text-match h3,
.free-text-match strong,
.v42-pitfall-lead strong,
.symptom-info-popup-card h3,
.critical-dx-card strong,
.opeg-quick-step-body h4,
.opeg-quick-meds h4,
.guideline-content-card h4,
.guideline-item-title,
.rot-context-copy strong,
.pem-ctx-copy strong{
  font-size:var(--pem-fs-h4)!important;
  line-height:1.25!important;
}

.page-description,
.diagnose-summary,
.card__desc,
.home-clinical-lead,
.home-alert-strip,
.home-quickstart-card p,
.home-scenario-card span,
.quick-access-item span,
.guideline-block-copy,
.guide-accordion-block li,
.guideline-content-card p,
.guideline-content-card li,
.guideline-summary-box,
.guideline-structured-list li,
.guideline-library-item__meta,
.opeg-quick-step-body,
.opeg-quick-step-body p,
.opeg-quick-step-body li,
.opeg-mini-box,
.opeg-mini-box p,
.opeg-mini-box li,
.opeg-med-card,
.opeg-med-card span,
.opeg-med-card dd,
.opeg-action-list li,
.rot-question-card p,
.rot-question-card li,
.rot-result,
.rot-result p,
.rot-result li,
.rot-context-chip span,
.rot-time-chip span,
.rot-age-chip span,
.pem-card-desc,
.pem-ctx-chip span,
.pem-ctx-copy span,
.v7-muted,
.v7-summary-line,
.symptom-card p,
.search-pool-item,
.selected-chip,
.v42-box p,
.v42-box li,
.v42-redflags li,
.v42-recheck p,
.v42-pitfall-row p,
.symptom-info-popup-card p,
.critical-dx-card p,
.tool-card p,
.tool-card li,
.tool-output,
.reference-drawer-card,
.reference-drawer-card p,
.reference-drawer-card li{
  font-size:var(--pem-fs-body)!important;
  line-height:1.52!important;
}

.v7-kicker,
.home-clinical-kicker,
.home-section-kicker,
.home-quickstart-label,
.guideline-kicker,
.guideline-meta-pill,
.guideline-accordion-badge,
.guideline-score-pill,
.v7-score-badge,
.v7-severity-badge,
.v7-combo-badge,
.v7-mini-pill,
.v7-legend-badge,
.v42-type-pill,
.v42-score,
.v42-disc,
.v42-map,
.v42-badge,
.v42-pitfall-lead span,
.muted-small,
.breadcrumb,
.guideline-updated-meta,
.opeg-priority-row span,
.opeg-branch-card em,
.rot-step-pill,
.rot-score-label,
.rot-risk-band-label{
  font-size:var(--pem-fs-small)!important;
  line-height:1.32!important;
}

.nav-btn,
.route-action-btn,
.lang-btn,
.font-btn,
.ghost-btn,
.chip,
.v7-chip,
.v7-primary-btn,
.v7-secondary-btn,
.action-button,
.finder-top-chip,
.category-chip,
.age-chip,
.symptom-info-btn,
.dock-action,
.search-result-action,
.guideline-library-item,
.home-quickstart-main,
.home-quickstart-training-btn,
.quick-access-item,
.rot-age-chip,
.rot-context-chip,
.rot-time-chip,
.pem-icon-card,
.pem-ctx-chip,
.pem-core-symptom-card{
  font-size:var(--pem-fs-chip)!important;
  line-height:1.28!important;
}

input,
select,
textarea,
#globalSearch,
.finder-search input,
.search-inline,
.v7-search input,
.tool-grid input,
.tool-grid select,
.app-search-shell input{
  font-size:var(--pem-fs-body)!important;
  line-height:1.35!important;
}

.pem-card-icon,
.scroll-top-btn,
.mobile-menu-toggle,
.symptom-info-popup-close,
.reference-drawer-close,
.critical-dx-popup-close,
.age-required-popup-close{
  font-size:var(--pem-fs-icon)!important;
}

@media (max-width:700px){
  .nav-btn,
  .route-action-btn,
  .lang-btn,
  .font-btn{
    font-size:var(--pem-fs-chip)!important;
  }
  .breadcrumb,
  .muted-small,
  .v7-kicker,
  .home-quickstart-label{
    font-size:var(--pem-fs-small)!important;
  }
}

/* V4_F4_77B: late coverage for dynamically rendered nested UI.
   Keep this after legacy route CSS so A+/A- remains authoritative. */
.app-title,
#appTitle,
.app-logo{
  font-size:calc(var(--pem-fs-h3) * 1.02)!important;
  line-height:1.1!important;
}
.app-subtitle,
.app-header,
.app-header p,
.route-action-bar,
.nav-search-slot{
  font-size:var(--pem-fs-small)!important;
}

button,
.button,
[role="button"],
summary,
label{
  font-size:var(--pem-fs-chip)!important;
  line-height:1.3!important;
}

#content,
#content .section-stack,
#content .guideline-detail-view,
#content .guideline-accordion-body,
#content .guideline-content-card,
#content .guide-accordion-block,
#content .opeg-detail-view,
#content .opeg-operational-flow,
#content .opeg-quick-guide,
#content .opeg-flow-body,
#content .rot-page,
#content .rot-panel,
#content .pem-level-panel,
#content .v7-detail-card,
#content .v7-subbox,
#content .vnext-bridge-box,
#content .tool-card{
  font-size:var(--pem-fs-body)!important;
}

#content p,
#content li,
#content dd,
#content dt,
#content blockquote,
#content table,
#content td,
#content th,
#content .guideline-inline-label,
#content .guideline-content-card .guideline-inline-label,
#content .guideline-content-card strong,
#content .guide-accordion-block strong,
#content .opeg-quick-step-body strong,
#content .opeg-flow-body strong,
#content .opeg-action-list strong,
#content .opeg-reassessment-box strong,
#content .opeg-activation-box strong,
#content .opeg-flow-safety-card strong,
#content .rot-panel strong,
#content .pem-level-panel strong,
#content .v7-subbox strong{
  font-size:inherit!important;
  line-height:inherit!important;
}

#content h1,
#content .page-title,
#content .home-clinical-title{
  font-size:var(--pem-fs-h1)!important;
  line-height:1.12!important;
}
#content h2,
#content .opeg-diagnosis-title,
#content .guideline-library-item__title{
  font-size:var(--pem-fs-h2)!important;
  line-height:1.16!important;
}
#content h3,
#content .guideline-accordion-title-copy,
#content .opeg-quick-step-head h3,
#content .opeg-flow-head h3,
#content .home-scenario-card strong,
#content .home-workflow-step,
#content .pem-card-title,
#content .pem-core-symptom-card strong,
#content .pem-pattern-card strong{
  font-size:var(--pem-fs-h3)!important;
  line-height:1.22!important;
}
#content h4,
#content h5,
#content .opeg-recognition-box h4,
#content .opeg-quick-mini-box h4,
#content .opeg-quick-meds h4,
#content .opeg-med-section h4,
#content .opeg-flow-safety-card h4,
#content .opeg-parallel-card h4,
#content .guideline-content-card h4,
#content .v42-pitfall-lead strong,
#content .critical-dx-card strong{
  font-size:var(--pem-fs-h4)!important;
  line-height:1.24!important;
}

#content .v7-kicker,
#content .home-clinical-kicker,
#content .home-section-kicker,
#content .guideline-kicker,
#content .guideline-meta-pill,
#content .guideline-updated-meta,
#content .guideline-accordion-badge,
#content .opeg-priority-row span,
#content .opeg-branch-card span,
#content .opeg-branch-card::before,
#content .rot-step-pill,
#content .rot-risk-band-label,
#content .reference-badge,
#content .reference-meta,
#content small,
#content .muted-small{
  font-size:var(--pem-fs-small)!important;
  line-height:1.32!important;
}

#content .opeg-branch-card strong,
#content .opeg-branch-card em,
#content .opeg-activation-box,
#content .opeg-quick-mini-box,
#content .opeg-quick-mini-box li,
#content .opeg-recognition-box,
#content .opeg-recognition-box li,
#content .opeg-quick-med-card,
#content .opeg-quick-med-card span,
#content .opeg-quick-med-card li,
#content .opeg-med-card,
#content .opeg-med-card dt,
#content .opeg-med-card dd,
#content .opeg-med-literature,
#content .opeg-med-literature li,
#content .opeg-parallel-card,
#content .opeg-action-list li,
#content .opeg-reassessment-box li,
#content .opeg-flow-safety-card li,
#content .guideline-library-item,
#content .guideline-library-item p,
#content .guideline-library-item span,
#content .pem-card-desc,
#content .pem-ctx-copy span,
#content .pem-ctx-chip span,
#content .rot-context-copy span,
#content .rot-age-chip span,
#content .rot-time-chip span,
#content .tool-result-grid span,
#content .tool-result-grid strong{
  font-size:var(--pem-fs-body)!important;
  line-height:1.5!important;
}

#content .guideline-accordion-head,
#content .opeg-quick-step-head,
#content .opeg-flow-phase > summary,
#content .guide-accordion-block > summary,
#content .v42-details summary{
  font-size:var(--pem-fs-h4)!important;
  line-height:1.25!important;
}

#content .guideline-accordion-icon,
#content .pem-card-icon,
#content .opeg-quick-step-head span:first-child{
  font-size:var(--pem-fs-chip)!important;
  line-height:1!important;
}

@media (max-width:700px){
  .app-subtitle,
  .breadcrumb,
  #content .v7-kicker,
  #content .guideline-kicker,
  #content .guideline-meta-pill,
  #content .guideline-updated-meta,
  #content .muted-small{
    font-size:var(--pem-fs-small)!important;
  }
  #content .guideline-accordion-title-copy,
  #content .opeg-quick-step-head h3,
  #content .pem-card-title{
    font-size:var(--pem-fs-h3)!important;
  }
}

/* V4_F4_78: stronger navigation icons. */
#navHome{
  min-width:58px!important;
  width:58px!important;
  padding:8px 10px!important;
  border-color:#9fd3b2!important;
  background:linear-gradient(180deg,#f2fff6,#e5f8ec)!important;
  color:#0b6b3a!important;
  box-shadow:0 8px 18px rgba(22,101,52,.10)!important;
}
#navHome.active{
  border-color:#22a05a!important;
  background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;
  color:#075f35!important;
  box-shadow:0 0 0 2px rgba(34,160,90,.16) inset, 0 10px 22px rgba(22,101,52,.14)!important;
}
.nav-home-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  color:inherit!important;
}
.nav-home-icon svg{
  width:30px!important;
  height:30px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#navHome::after{
  content:none!important;
}

#backBtn,
#forwardBtn,
.route-action-btn--icon{
  min-width:48px!important;
  width:48px!important;
  min-height:46px!important;
  padding:8px 12px!important;
  font-size:calc(var(--pem-fs-icon) * 1.12)!important;
  line-height:1!important;
  font-weight:1000!important;
  border-width:1.5px!important;
  box-shadow:0 8px 18px rgba(15,39,68,.08)!important;
}
#backBtn,
.route-action-btn--icon:first-child{
  color:#b42318!important;
  border-color:#fecaca!important;
  background:linear-gradient(180deg,#fff7f7,#fee2e2)!important;
}
#forwardBtn,
.route-action-btn--icon:nth-child(2){
  color:#15803d!important;
  border-color:#bbf7d0!important;
  background:linear-gradient(180deg,#f0fdf4,#dcfce7)!important;
}
#backBtn:hover,
.route-action-btn--icon:first-child:hover{
  border-color:#f87171!important;
  background:linear-gradient(180deg,#fff1f2,#fecaca)!important;
}
#forwardBtn:hover,
.route-action-btn--icon:nth-child(2):hover{
  border-color:#4ade80!important;
  background:linear-gradient(180deg,#ecfdf5,#bbf7d0)!important;
}
#backBtn:disabled,
#forwardBtn:disabled,
.route-action-btn--icon:disabled{
  opacity:.38!important;
  filter:saturate(.6)!important;
  box-shadow:none!important;
}

@media (max-width:700px){
  #navHome{
    min-width:52px!important;
    width:52px!important;
    padding:7px 9px!important;
  }
  .nav-home-icon,
  .nav-home-icon svg{
    width:27px!important;
    height:27px!important;
  }
  #backBtn,
  #forwardBtn,
  .route-action-btn--icon{
    min-width:44px!important;
    width:44px!important;
    min-height:42px!important;
    font-size:calc(var(--pem-fs-icon) * 1.04)!important;
  }
}

/* V4_F4_79: visual balance after global font scaling.
   Diagnosefinder cards stay compact; nav home no longer dominates the menu. */
#navHome{
  min-width:46px!important;
  width:46px!important;
  min-height:44px!important;
  padding:7px 9px!important;
  border-color:#c9def6!important;
  background:linear-gradient(180deg,#f7fbff,#eaf4ff)!important;
  color:#245089!important;
  box-shadow:0 7px 16px rgba(36,80,137,.08)!important;
}
#navHome.active{
  border-color:#8fb7e6!important;
  background:linear-gradient(180deg,#edf6ff,#dceeff)!important;
  color:#174f84!important;
  box-shadow:0 0 0 2px rgba(47,106,230,.10) inset, 0 8px 18px rgba(36,80,137,.10)!important;
}
.nav-home-icon,
.nav-home-icon svg{
  width:22px!important;
  height:22px!important;
}
.nav-home-icon svg{
  stroke-width:2.05!important;
}

body.route-finder-hub .pem-ctx-panel h2{
  font-size:calc(var(--pem-fs-h3) * 1.06)!important;
  line-height:1.2!important;
}
body.route-finder-hub .pem-ctx-panel .v7-muted{
  font-size:calc(var(--pem-fs-small) * 1.02)!important;
  line-height:1.4!important;
}
body.route-finder-hub .pem-ctx-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr))!important;
  align-items:stretch!important;
}
body.route-finder-hub .pem-ctx-chip{
  min-height:92px!important;
  padding:13px 14px!important;
  align-content:start!important;
}
body.route-finder-hub .pem-ctx-chip strong{
  font-size:calc(var(--pem-fs-chip) * 1.02)!important;
  line-height:1.22!important;
  font-weight:820!important;
}
body.route-finder-hub .pem-ctx-chip span{
  font-size:calc(var(--pem-fs-small) * 1.04)!important;
  line-height:1.38!important;
  font-weight:500!important;
}

body.route-finder-hub .pem-icon-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))!important;
  align-items:stretch!important;
}
body.route-finder-hub .pem-icon-card{
  min-height:118px!important;
  height:auto!important;
  padding:13px 14px!important;
  gap:9px!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-content:start!important;
}
body.route-finder-hub .pem-card-icon{
  font-size:calc(var(--pem-fs-icon) * .86)!important;
  line-height:1!important;
}
body.route-finder-hub .pem-card-title{
  font-size:calc(var(--pem-fs-chip) * 1.02)!important;
  line-height:1.18!important;
  font-weight:820!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.route-finder-hub .pem-card-desc{
  font-size:calc(var(--pem-fs-small) * .98)!important;
  line-height:1.32!important;
  font-weight:520!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* V4_F4_81: make forward navigation visibly green, including inactive state. */
#forwardBtn,
.route-action-btn--icon:nth-child(2){
  color:#047857!important;
  border-color:#34d399!important;
  background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;
  box-shadow:0 8px 18px rgba(5,150,105,.13)!important;
}
#forwardBtn:hover,
.route-action-btn--icon:nth-child(2):hover{
  color:#065f46!important;
  border-color:#10b981!important;
  background:linear-gradient(180deg,#bbf7d0,#86efac)!important;
  box-shadow:0 10px 22px rgba(5,150,105,.17)!important;
}
#forwardBtn:disabled,
.route-action-btn--icon:nth-child(2):disabled{
  opacity:.62!important;
  color:#15803d!important;
  border-color:#86efac!important;
  background:linear-gradient(180deg,#ecfdf5,#d1fae5)!important;
  filter:none!important;
}

/* V4_F4_82: finder age chips use the same readable card scale as symptom cards. */
body.route-finder-hub .age-selector-panel{
  padding:14px!important;
  border-radius:17px!important;
}
body.route-finder-hub .age-selector-title{
  gap:5px!important;
  margin-bottom:12px!important;
  font-size:var(--pem-fs-small)!important;
  line-height:1.24!important;
}
body.route-finder-hub .age-selector-title small{
  font-size:calc(var(--pem-fs-small) * .98)!important;
  line-height:1.35!important;
}
body.route-finder-hub .age-group-bar,
body.route-finder-hub .age-group-bar--locked{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
body.route-finder-hub .age-chip{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:62px!important;
  height:auto!important;
  padding:10px 12px!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:5px!important;
  border-radius:13px!important;
}
body.route-finder-hub .age-chip strong{
  font-size:calc(var(--pem-fs-chip) * .98)!important;
  line-height:1.18!important;
  font-weight:820!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.route-finder-hub .age-chip span{
  font-size:calc(var(--pem-fs-small) * .98)!important;
  line-height:1.26!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media (max-width:700px){
  body.route-finder-hub .age-selector-panel{
    padding:12px!important;
    overflow:hidden!important;
  }
  body.route-finder-hub .age-group-bar,
  body.route-finder-hub .age-group-bar--locked{
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.route-finder-hub .age-chip{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:60px!important;
    padding:10px 11px!important;
  }
}
@media (max-width:360px){
  body.route-finder-hub .age-group-bar,
  body.route-finder-hub .age-group-bar--locked{
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    grid-template-columns:1fr!important;
  }
}

@media (max-width:760px){
  body.route-finder-hub .pem-ctx-grid,
  body.route-finder-hub .pem-icon-card-grid{
    grid-template-columns:1fr!important;
  }
  #navHome{
    min-width:44px!important;
    width:44px!important;
    min-height:42px!important;
  }
  .nav-home-icon,
  .nav-home-icon svg{
    width:20px!important;
    height:20px!important;
  }
}

/* === PEMGuide mobile app shell: bottom navigation and compact clinical header === */
.mobile-tab-bar{
  display:none;
}

@media (max-width:900px){
  :root{
    --pem-mobile-header-h:72px;
    --pem-mobile-tab-h:72px;
  }

  body.mobile-search-open{
    --pem-mobile-header-h:104px;
  }

  body:has(.route-action-bar.visible){
    --pem-mobile-header-h:106px;
  }

  body.mobile-search-open:has(.route-action-bar.visible){
    --pem-mobile-header-h:136px;
  }

  .app-shell{
    padding-top:calc(var(--pem-mobile-header-h) + 8px)!important;
    padding-bottom:calc(var(--pem-mobile-tab-h) + 18px + env(safe-area-inset-bottom))!important;
  }

  .app-header{
    position:fixed!important;
    left:50%!important;
    top:0!important;
    transform:translateX(-50%)!important;
    width:100%!important;
    max-width:var(--pem-shell-max-width)!important;
    z-index:1200!important;
    background:rgba(243,244,246,.98)!important;
    border-bottom:1px solid rgba(215,220,227,.75)!important;
    box-shadow:0 8px 20px rgba(15,39,68,.10)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    padding:7px 10px 8px!important;
    min-height:auto!important;
  }

  .app-header__top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    margin-bottom:0!important;
    gap:8px!important;
  }

  .app-logo-wrap{
    gap:8px!important;
  }

  .app-logo-icon{
    width:32px!important;
    height:32px!important;
    border-radius:9px!important;
  }

  .app-logo{
    font-size:1.05rem!important;
    line-height:1.1!important;
  }

  .app-subtitle,
  .font-switch,
  .mobile-menu-toggle{
    display:none!important;
  }

  .header-controls{
    gap:5px!important;
  }

  .lang-switch{
    display:flex!important;
    gap:5px!important;
  }

  .lang-btn{
    min-width:38px!important;
    min-height:34px!important;
    height:34px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    font-size:12px!important;
    box-shadow:0 3px 10px rgba(15,39,68,.08)!important;
  }

  .nav-row{
    display:none!important;
  }

  body .app-header .nav-row,
  body:has(.rot-page) .app-header .nav-row,
  body.mobile-menu-open .app-header .nav-row{
    display:none!important;
  }

  body.mobile-search-open .app-header .nav-row{
    display:block!important;
    margin:7px 0 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  body.mobile-search-open .app-header .nav-row > .nav-btn,
  body.mobile-search-open .app-header .nav-row > .nav-actions{
    display:none!important;
  }

  body.mobile-search-open .app-header .nav-search-slot{
    display:block!important;
  }

  .search-row{
    display:none!important;
    margin:7px 0 0!important;
  }

  body.mobile-search-open .search-row{
    display:block!important;
  }

  #globalSearch{
    min-height:42px!important;
    border-radius:14px!important;
    padding:10px 14px!important;
    box-shadow:0 4px 14px rgba(15,39,68,.08)!important;
  }

  .breadcrumb{
    display:none!important;
  }

  .route-action-bar.visible{
    display:flex!important;
    margin:6px 0 0!important;
    padding:0!important;
    gap:6px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }

  .route-action-bar.visible::-webkit-scrollbar{
    display:none!important;
  }

  .route-action-btn{
    min-height:32px!important;
    padding:6px 10px!important;
    font-size:11.5px!important;
    border-radius:999px!important;
  }

  .mobile-tab-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1300;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    min-height:calc(var(--pem-mobile-tab-h) + env(safe-area-inset-bottom));
    padding:7px 7px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(203,213,225,.95);
    background:rgba(255,255,255,.96);
    box-shadow:0 -10px 26px rgba(15,39,68,.13);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .mobile-tab-btn{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    min-height:56px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#1a3658;
    font-weight:650;
    cursor:pointer;
  }

  .mobile-tab-btn.active{
    background:#eef6ff;
    color:#0b4f86;
    box-shadow:inset 0 0 0 1px #c6dbf7;
  }

  .mobile-tab-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:27px;
    height:27px;
    color:#0b4f86;
    font-size:20px;
    font-weight:720;
    line-height:1;
  }

  .mobile-tab-icon--rot{
    color:#d00000;
    font-size:13px;
    font-weight:760;
    letter-spacing:0;
  }

  .mobile-tab-icon--dx,
  .mobile-tab-icon--opeg{
    border:1px solid #c6dbf7;
    border-radius:9px;
    background:#f7fbff;
    font-size:13px;
  }

  .mobile-tab-label{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10.8px;
    line-height:1.1;
  }

  .scroll-top-btn{
    bottom:calc(var(--pem-mobile-tab-h) + 16px + env(safe-area-inset-bottom))!important;
    width:42px!important;
    height:42px!important;
    font-size:20px!important;
  }
}

/* === ROT mobile action bar refinement === */
@media (max-width:900px){
  .rot-result{
    position:sticky!important;
    top:var(--pem-rot-sticky-top, calc(var(--pem-mobile-header-h, 72px) + 8px))!important;
  }

  .rot-result-head{
    position:relative!important;
    padding-right:58px!important;
  }

  .rot-result-details > summary{
    position:absolute!important;
    top:15px!important;
    right:15px!important;
    z-index:3!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    font-size:0!important;
    color:transparent!important;
    justify-content:center!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(15,39,68,.12)!important;
  }

  .rot-result-details > summary::after{
    margin:0!important;
  }

  .rot-result-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .rot-result-actions .v7-primary-btn,
  .rot-result-actions .v7-secondary-btn{
    min-height:54px!important;
    padding:7px 6px!important;
    border-radius:14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    white-space:nowrap!important;
    font-size:0!important;
  }

  .rot-reset-btn::before,
  #rotOpenFinderBtn::before,
  .rot-result-actions [data-route="opeg/home"]::before{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:24px!important;
    height:24px!important;
    border-radius:9px!important;
    font-size:15px!important;
    font-weight:760!important;
    line-height:1!important;
  }

  .rot-reset-btn::before{
    content:"\21BA";
  }

  #rotOpenFinderBtn::before{
    content:"Dx";
    background:rgba(255,255,255,.16);
  }

  .rot-result-actions [data-route="opeg/home"]::before{
    content:"O";
    border:1px solid #c6dbf7;
    background:#f7fbff;
    color:#0b4f86;
  }

  .rot-reset-btn::after,
  #rotOpenFinderBtn::after,
  .rot-result-actions [data-route="opeg/home"]::after{
    display:block!important;
    font-size:11.5px!important;
    font-weight:700!important;
    line-height:1.08!important;
  }

  .rot-reset-btn::after{
    content:"Reset";
  }

  #rotOpenFinderBtn::after{
    content:"Diagnose";
  }

  .rot-result-actions [data-route="opeg/home"]::after{
    content:"OPEG";
  }
}

/* === V4_F5: professional mobile medical-app frontend layer === */
:root{
  --pem-clinical-ink:#061f3b;
  --pem-clinical-blue:#075a9c;
  --pem-clinical-red:#d00000;
  --pem-clinical-line:#c8d8ec;
  --pem-clinical-soft:#f6faff;
}

body,
.app-shell,
.app-main,
#content,
#content :where(p,li,span,small,dd,dt,label,input,button,summary){
  color:var(--pem-clinical-ink)!important;
}

#content :where(.muted,.muted-small,.v7-muted,.page-description,.guideline-library-item__meta,.card__desc,.home-quickstart-card p,.home-scenario-card span,.rot-result p,.rot-result li){
  color:#163758!important;
}

#content :where(strong,b,.card__title,.home-quickstart-card h2,.home-workflow-panel h2,.home-scenario-panel h2,.guideline-library-item__title,.guideline-accordion-title-copy,.rot-result-head strong,.rot-question strong,.rot-complaint strong,.rot-discriminator strong,.v7-primary-btn,.v7-secondary-btn){
  font-weight:700!important;
}

.rot-word,
.rot-acronym,
.mobile-tab-icon--rot,
#navTriage .rot-word{
  color:var(--pem-clinical-red)!important;
}

.mobile-tab-icon svg{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.guideline-library-item__arrow{
  font-size:0!important;
  width:26px;
  min-width:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.guideline-library-item__arrow::before{
  content:"\203A";
  font-size:24px;
  line-height:1;
  color:#174f84;
}

@media (max-width:900px){
  :root{
    --pem-mobile-header-h:58px;
    --pem-mobile-tab-h:66px;
  }

  body.mobile-search-open{
    --pem-mobile-header-h:108px;
  }

  body:has(.route-action-bar.visible){
    --pem-mobile-header-h:58px;
  }

  body.mobile-search-open:has(.route-action-bar.visible){
    --pem-mobile-header-h:108px;
  }

  body{
    background:#f3f6fa!important;
  }

  .app-shell{
    width:100%!important;
    padding:calc(var(--pem-mobile-header-h) + 8px) 8px calc(var(--pem-mobile-tab-h) + 14px + env(safe-area-inset-bottom))!important;
  }

  .app-main{
    max-width:100%!important;
  }

  .app-header{
    min-height:58px!important;
    padding:8px 10px!important;
    border-radius:0!important;
    background:rgba(250,252,255,.97)!important;
    box-shadow:0 4px 14px rgba(15,39,68,.10)!important;
  }

  .app-logo-wrap{
    min-width:0!important;
  }

  .app-logo-icon{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
  }

  .app-logo{
    font-size:1.08rem!important;
    letter-spacing:0!important;
  }

  .header-controls{
    min-width:max-content!important;
  }

  .lang-btn{
    min-width:36px!important;
    height:32px!important;
    min-height:32px!important;
    border-radius:10px!important;
    color:#061f3b!important;
    font-weight:700!important;
  }

  .route-action-bar.visible{
    display:none!important;
  }

  body.mobile-search-open .app-header .nav-row{
    display:block!important;
  }

  body.mobile-search-open #globalSearch{
    height:42px!important;
    min-height:42px!important;
    font-size:15px!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  .mobile-tab-bar{
    width:100%!important;
    max-width:var(--pem-shell-max-width, 1360px)!important;
    margin:0 auto!important;
    padding:6px 7px calc(6px + env(safe-area-inset-bottom))!important;
    min-height:calc(var(--pem-mobile-tab-h) + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #d6e1ef!important;
  }

  .mobile-tab-btn{
    min-height:52px!important;
    border-radius:12px!important;
    color:#173653!important;
    font-weight:650!important;
  }

  .mobile-tab-btn.active{
    background:#eef7ff!important;
    color:#075a9c!important;
    box-shadow:inset 0 0 0 1px #b7d5f5!important;
  }

  .mobile-tab-btn.active .mobile-tab-icon--rot{
    color:var(--pem-clinical-red)!important;
  }

  .mobile-tab-icon{
    height:24px!important;
    min-width:24px!important;
    font-size:18px!important;
  }

  .mobile-tab-icon--rot{
    min-width:34px!important;
    font-size:13px!important;
    font-weight:760!important;
  }

  .mobile-tab-label{
    font-size:10.5px!important;
    font-weight:650!important;
  }

  .scroll-top-btn{
    right:12px!important;
    bottom:calc(var(--pem-mobile-tab-h) + 12px + env(safe-area-inset-bottom))!important;
    background:#071833!important;
  }

  body.route-home .home-clinical-hero{
    padding:14px!important;
    margin:0 0 8px!important;
    border-radius:14px!important;
    background:#fff!important;
  }

  body.route-home .home-clinical-kicker{
    display:none!important;
  }

  body.route-home .home-clinical-title{
    font-size:1.34rem!important;
    line-height:1.15!important;
    margin:0!important;
  }

  body.route-home .home-alert-strip{
    margin-top:10px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    display:block!important;
    font-size:.9rem!important;
  }

  body.route-home .home-quickstart-grid,
  body.route-home .home-dual-grid,
  body.route-home .quick-access-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.route-home .home-quickstart-card,
  body.route-home .home-workflow-panel,
  body.route-home .home-scenario-panel,
  body.route-home .quick-access-home--clinical{
    border-radius:14px!important;
    padding:10px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  body.route-home .home-quickstart-card{
    min-height:0!important;
    border-left:5px solid #b9d7f4!important;
  }

  body.route-home .home-quickstart-main,
  body.route-home .home-quickstart-main-box,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training){
    width:100%!important;
  }

  body.route-home .home-quickstart-main{
    display:grid!important;
    grid-template-columns:42px 1fr 18px!important;
    gap:10px!important;
    align-items:center!important;
    padding:8px!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training):not(.home-dose-rechner-card){
    display:grid!important;
    grid-template-columns:42px 1fr 18px!important;
    gap:10px!important;
    align-items:center!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    content:"";
    width:36px;
    height:36px;
    border-radius:11px;
    background:#eef7ff;
    border:1px solid #c6dbf7;
    grid-row:1 / span 3;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#075a9c;
    font-weight:760;
    font-size:12px;
    line-height:1;
  }

  body.route-home .home-quickstart-main::after,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
    content:"\203A";
    color:#174f84;
    font-size:26px;
    line-height:1;
    grid-column:3;
    grid-row:1 / span 3;
  }

  body.route-home .home-quickstart-card--danger{
    border-left-color:#e05a5a!important;
  }
  body.route-home .home-quickstart-card--danger .home-quickstart-main::before{
    content:"ROT";
    background:#fff3f3;
    border-color:#ffc8c8;
    color:var(--pem-clinical-red);
  }
  body.route-home .home-quickstart-card--brand{
    border-left-color:#2b75bb!important;
  }
  body.route-home .home-quickstart-card--brand::before,
  body.route-home .home-quickstart-card--brand .home-quickstart-main::before{
    content:"Dx"!important;
    font-size:13px!important;
    color:#075a9c!important;
  }
  body.route-home .diagnosefinder-card-icon{
    display:none!important;
  }
  body.route-home .home-quickstart-card--guidelines{
    border-left-color:#1d9a83!important;
  }
  body.route-home .home-quickstart-card--guidelines::before,
  body.route-home .home-quickstart-card--guidelines .home-quickstart-main::before{
    content:"O";
    color:#006b5d;
  }
  body.route-home .home-quickstart-card--tools{
    border-left-color:#bf8a00!important;
  }
  body.route-home .home-quickstart-card--tools::before,
  body.route-home .home-quickstart-card--tools .home-quickstart-main::before{
    content:"kg";
    color:#805800;
  }

  body.route-home .home-quickstart-label{
    grid-column:2;
    font-size:.68rem!important;
    margin:0!important;
  }

  body.route-home .home-quickstart-card h2{
    grid-column:2;
    font-size:1.03rem!important;
    line-height:1.18!important;
  }

  body.route-home .home-quickstart-card p{
    grid-column:2;
    font-size:.86rem!important;
    line-height:1.32!important;
  }

  body.route-home .home-quickstart-training-box{
    margin:8px 0 0!important;
    padding:9px!important;
    border-radius:12px!important;
    background:#fff8f8!important;
  }

  body.route-home .home-quickstart-training-btn{
    width:100%!important;
    min-height:38px!important;
    border-radius:12px!important;
    color:#061f3b!important;
    background:#fff!important;
  }

  body.route-home .home-dose-rechner-list{
    display:none!important;
  }

  body.route-home .home-workflow-list,
  body.route-home .home-scenario-grid{
    gap:7px!important;
  }

  body.route-home .home-workflow-step,
  body.route-home .home-scenario-card,
  .quick-access-item{
    min-height:48px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    background:#fff!important;
    border:1px solid #c8d8ec!important;
    box-shadow:none!important;
  }

  .guideline-browser-page,
  .section-stack{
    gap:9px!important;
  }

  .guideline-browser-hero,
  .guideline-browser-shell,
  .content-block{
    border-radius:14px!important;
    padding:12px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .guideline-browser-hero .page-title{
    font-size:1.32rem!important;
    line-height:1.16!important;
  }

  .guideline-browser-hero .page-description,
  .guideline-browser-search-head p{
    font-size:.9rem!important;
    line-height:1.35!important;
  }

  .guideline-browser-search-head h2{
    font-size:1.05rem!important;
  }

  .guideline-library-groups{
    gap:8px!important;
  }

  .guideline-library-group{
    border-radius:12px!important;
    overflow:hidden!important;
    border:1px solid var(--pem-clinical-line)!important;
    background:#fff!important;
  }

  .guideline-library-group__head{
    min-height:52px!important;
    padding:11px 12px!important;
    display:grid!important;
    grid-template-columns:1fr auto 22px!important;
    gap:8px!important;
    align-items:center!important;
    color:#061f3b!important;
    font-weight:700!important;
  }

  .guideline-library-group__head::after{
    content:"\203A";
    font-size:24px;
    color:#174f84;
    transform:rotate(90deg);
  }

  .guideline-library-group:not([open]) .guideline-library-group__head::after{
    transform:rotate(0deg);
  }

  .guideline-library-group__count{
    min-width:30px!important;
    height:24px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef7ff!important;
    color:#075a9c!important;
    font-size:12px!important;
    font-weight:700!important;
  }

  .guideline-library-group__body{
    padding:0!important;
  }

  .guideline-library-item{
    min-height:58px!important;
    padding:11px 12px!important;
    border-width:1px 0 0!important;
    border-radius:0!important;
    display:grid!important;
    gap:4px!important;
    text-align:left!important;
    background:#fff!important;
  }

  .guideline-library-item__title-row{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    align-items:center!important;
  }

  .guideline-library-item__title{
    font-size:1rem!important;
    line-height:1.22!important;
  }

  .guideline-library-item__meta{
    font-size:.82rem!important;
    line-height:1.25!important;
  }

  .app-search-shell input,
  .guideline-browser-search input{
    min-height:44px!important;
    border-radius:12px!important;
    font-size:15px!important;
    color:#061f3b!important;
    background:#fff!important;
  }

  body.route-finder-hub .v7-panel.pem-f2-hub,
  body.route-finder-results .finder-stage{
    border-radius:14px!important;
    background:#fff!important;
  }

  body.route-finder-hub .pem-icon-card-grid,
  body.route-finder-hub .pem-ctx-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.route-finder-hub .pem-icon-card,
  body.route-finder-hub .pem-ctx-chip,
  body.route-finder-hub .symptom-card{
    min-height:58px!important;
    padding:11px 12px!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .rot-result{
    top:calc(var(--pem-mobile-header-h) + 6px)!important;
    max-height:calc(100vh - var(--pem-mobile-header-h) - var(--pem-mobile-tab-h) - 26px)!important;
    overflow:auto!important;
    border-radius:14px!important;
    padding:8px!important;
  }

  .rot-result-head{
    min-height:50px!important;
    padding:8px 54px 8px 12px!important;
    border-radius:11px!important;
  }

  .rot-result-head span{
    font-size:.82rem!important;
    line-height:1.1!important;
  }

  .rot-result-head strong{
    font-size:1.25rem!important;
    line-height:1.12!important;
  }

  .rot-result-details > summary{
    top:12px!important;
    right:12px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }

  .rot-result-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    position:sticky!important;
    bottom:-8px!important;
    gap:7px!important;
    margin:8px -8px -8px!important;
    padding:8px!important;
    background:rgba(255,255,255,.96)!important;
    border-top:1px solid #d6e1ef!important;
  }

  .rot-result-actions .v7-primary-btn,
  .rot-result-actions .v7-secondary-btn{
    min-height:48px!important;
    border-radius:12px!important;
    padding:6px!important;
  }
}

@media (min-width:901px){
  .mobile-tab-bar{
    display:none!important;
  }
}

/* === V4_F5_1: no black action buttons + clearer accordion arrows === */
button,
.v7-primary-btn,
.v7-secondary-btn,
.action-button,
.route-action-btn,
.dock-action--primary,
.rot-result-actions .v7-primary-btn,
.rot-result-actions .v7-secondary-btn{
  text-decoration:none!important;
}

.v7-primary-btn,
.action-button,
.route-action-btn--primary,
.dock-action--primary,
.rot-result-actions .v7-primary-btn,
#rotOpenFinderBtn{
  background:#eef7ff!important;
  color:#06365f!important;
  border:1px solid #9fc5ef!important;
  box-shadow:0 5px 14px rgba(31,95,159,.10)!important;
}

.v7-primary-btn:hover,
.action-button:hover,
.route-action-btn--primary:hover,
.dock-action--primary:hover,
.rot-result-actions .v7-primary-btn:hover,
#rotOpenFinderBtn:hover{
  background:#dff0ff!important;
  border-color:#6fa9e5!important;
  color:#052f54!important;
}

.v7-primary-btn:disabled,
.v7-primary-btn[disabled],
.action-button:disabled,
.action-button[disabled],
.route-action-btn--primary:disabled,
.route-action-btn--primary[disabled],
#rotOpenFinderBtn:disabled,
#rotOpenFinderBtn[disabled]{
  background:#f7fbff!important;
  color:#516d8c!important;
  border-color:#c9d9eb!important;
  opacity:1!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}

.rot-reset-btn{
  background:#f0fff5!important;
  color:#0b5630!important;
  border-color:#8bd7a4!important;
}

.scroll-top-btn{
  background:#eef7ff!important;
  color:#06365f!important;
  border-color:#9fc5ef!important;
  box-shadow:0 8px 20px rgba(31,95,159,.18)!important;
}

details > summary{
  cursor:pointer;
}

.rot-step-accordion > summary::after,
.rot-complaint-group > summary::after,
.rot-result-accordion > summary::after,
.rot-training-section > summary::after,
.guideline-library-group__head::after,
.guideline-accordion-head::after,
.guideline-content-subaccordion-head::after,
.guideline-age-accordion-head::after,
.opeg-flow-phase summary::after,
.opeg-quick-step > summary::after,
.symptom-group--accordion .symptom-group-head::after{
  content:"\25B2"!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff3f3!important;
  border:1px solid #f3b4b4!important;
  color:#c60000!important;
  font-size:12px!important;
  font-weight:720!important;
  line-height:1!important;
  transform:none!important;
  box-shadow:0 2px 7px rgba(160,20,20,.08)!important;
}

.rot-step-accordion:not([open]) > summary::after,
.rot-complaint-group:not([open]) > summary::after,
.rot-result-accordion:not([open]) > summary::after,
.rot-training-section:not([open]) > summary::after,
.guideline-library-group:not([open]) .guideline-library-group__head::after,
.guideline-accordion:not([open]) .guideline-accordion-head::after,
.guideline-content-subaccordion:not([open]) .guideline-content-subaccordion-head::after,
.guideline-age-accordion:not([open]) .guideline-age-accordion-head::after,
.opeg-flow-phase:not([open]) summary::after,
.opeg-quick-step:not([open]) > summary::after,
.symptom-group--accordion:not([open]) .symptom-group-head::after{
  content:"\25BC"!important;
  background:#effaf3!important;
  border-color:#94d5a8!important;
  color:#167342!important;
  transform:none!important;
}

.guideline-library-item__arrow::before,
body.route-home .home-quickstart-main::after,
body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
  content:"\203A"!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#174f84!important;
}

@media (max-width:900px){
  .v7-primary-btn,
  .action-button,
  .route-action-btn--primary,
  .dock-action--primary,
  .rot-result-actions .v7-primary-btn,
  #rotOpenFinderBtn{
    background:#eef7ff!important;
    color:#06365f!important;
    border:1px solid #9fc5ef!important;
  }

  .rot-result-actions .v7-primary-btn::before,
  .rot-result-actions .v7-primary-btn::after,
  .rot-result-actions .v7-secondary-btn::before,
  .rot-result-actions .v7-secondary-btn::after{
    color:inherit!important;
  }
}

/* === V4_F5_2: compact clinical decision flow for Diagnosefinder + ROT mobile === */
@media (max-width:900px){
  body.route-finder-hub .v7-panel.pem-f2-hub{
    padding:8px!important;
    gap:8px!important;
    border-radius:14px!important;
  }

  body.route-finder-hub .age-selector-panel{
    margin:0 0 8px!important;
    padding:10px!important;
    border-radius:14px!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  body.route-finder-hub .age-selector-title{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    margin:0 0 8px!important;
    font-size:11px!important;
    letter-spacing:.03em!important;
  }

  body.route-finder-hub .age-selector-title small{
    font-size:12px!important;
    line-height:1.25!important;
    color:#163758!important;
  }

  body.route-finder-hub .age-group-bar--locked{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }

  body.route-finder-hub .age-chip{
    min-width:0!important;
    min-height:54px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    box-shadow:none!important;
    white-space:normal!important;
    text-align:left!important;
  }

  body.route-finder-hub .age-chip strong{
    display:block!important;
    font-size:15px!important;
    line-height:1.16!important;
    font-weight:700!important;
  }

  body.route-finder-hub .age-chip span{
    display:block!important;
    margin-top:4px!important;
    font-size:13px!important;
    line-height:1.1!important;
    color:#061f3b!important;
  }

  body.route-finder-hub .hub-selected-zone{
    position:sticky!important;
    top:calc(var(--pem-mobile-header-h) + 6px)!important;
    z-index:70!important;
    margin:0 0 8px!important;
    padding:6px!important;
    border:1px solid #c8d8ec!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 8px 20px rgba(15,39,68,.10)!important;
    overflow:visible!important;
  }

  body.route-finder-hub .hub-selected-zone:has(.hub-selected-box.has-selection){
    position:fixed!important;
    top:calc(var(--pem-mobile-header-h) + 5px)!important;
    left:8px!important;
    right:8px!important;
    z-index:260!important;
    margin:0!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(15,39,68,.14)!important;
  }

  body.route-finder-hub .hub-selected-zone:has(.hub-selected-box.has-selection)::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    border-radius:14px;
    background:#fff;
  }

  body.route-finder-hub .pem-f2-hub:has(.hub-selected-box.has-selection){
    padding-top:172px!important;
  }

  body.route-finder-hub .pem-f2-hub:has(.hub-selected-box.has-selection) .pem-ctx-panel.finder-accordion-panel{
    margin-top:118px!important;
  }

  body.route-finder-hub .hub-selected-box{
    padding:8px!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .hub-selected-box__top{
    min-height:36px!important;
    grid-template-columns:auto auto minmax(0,1fr) 28px!important;
  }

  body.route-finder-hub .hub-selected-box__count{
    min-width:26px!important;
    height:26px!important;
    font-size:12px!important;
    padding:0 7px!important;
  }

  body.route-finder-hub .hub-selected-box__preview{
    font-size:11.5px!important;
    color:#061f3b!important;
  }

  body.route-finder-hub .hub-selected-box__top em{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    border-radius:999px!important;
    background:#effaf3!important;
    border:1px solid #94d5a8!important;
    color:#167342!important;
    font-size:0!important;
  }

  body.route-finder-hub .hub-selected-box.open .hub-selected-box__top em{
    background:#fff3f3!important;
    border-color:#f3b4b4!important;
    color:#c60000!important;
  }

  body.route-finder-hub .hub-selected-box__top em::before{
    content:"\25BC";
    font-size:12px!important;
    line-height:1!important;
  }

  body.route-finder-hub .hub-selected-box.open .hub-selected-box__top em::before{
    content:"\25B2";
  }

  body.route-finder-hub .hub-selected-box__content{
    max-height:150px!important;
    overflow:auto!important;
    margin-top:6px!important;
    padding-top:6px!important;
  }

  body.route-finder-hub .hub-selected-box__hint{
    margin-bottom:6px!important;
    font-size:12.5px!important;
    color:#163758!important;
  }

  body.route-finder-hub .hub-sticky-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:7px!important;
  }

  body.route-finder-hub .hub-sticky-actions .action-button{
    min-height:42px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
    font-size:13px!important;
    font-weight:700!important;
    color:#06365f!important;
    background:#eef7ff!important;
    border-color:#9fc5ef!important;
    box-shadow:none!important;
  }

  body.route-finder-hub #startFinderBtn::before{
    content:"Dx";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:24px;
    margin-right:6px;
    border-radius:8px;
    background:#dff0ff;
    color:#075a9c;
    font-size:12px;
    font-weight:760;
  }

  body.route-finder-hub #startFinderBtn{
    font-size:0!important;
  }

  body.route-finder-hub #startFinderBtn::after{
    content:"Diagnose";
    font-size:13px!important;
    line-height:1!important;
  }

  body.route-finder-hub #resetFinderBtn{
    background:#f0fff5!important;
    color:#0b5630!important;
    border-color:#8bd7a4!important;
  }

  body.route-finder-hub .pem-ctx-panel,
  body.route-finder-hub .pem-level-panel{
    padding:10px!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .finder-accordion-panel{
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #c8d8ec!important;
    background:#fff!important;
  }

  body.route-finder-hub .finder-accordion-summary{
    width:100%!important;
    min-height:54px!important;
    padding:10px 12px!important;
    border:0!important;
    background:#fff!important;
    color:#061f3b!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 28px!important;
    align-items:center!important;
    gap:8px!important;
    text-align:left!important;
    box-shadow:none!important;
  }

  body.route-finder-hub .finder-accordion-summary span{
    min-width:0!important;
    display:grid!important;
    gap:2px!important;
  }

  body.route-finder-hub .finder-accordion-summary em{
    font-style:normal!important;
    color:#245089!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
  }

  body.route-finder-hub .finder-accordion-summary strong{
    color:#061f3b!important;
    font-size:1.08rem!important;
    line-height:1.16!important;
    font-weight:700!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body.route-finder-hub .finder-accordion-summary b{
    min-width:26px!important;
    height:24px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef7ff!important;
    color:#075a9c!important;
    font-size:12px!important;
    font-weight:700!important;
  }

  body.route-finder-hub .finder-accordion-summary i{
    width:24px!important;
    height:24px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#effaf3!important;
    border:1px solid #94d5a8!important;
    color:#167342!important;
  }

  body.route-finder-hub .finder-accordion-summary i::before{
    content:"\25BC";
    font-style:normal;
    font-size:12px;
    line-height:1;
    font-weight:720;
  }

  body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-summary i{
    background:#fff3f3!important;
    border-color:#f3b4b4!important;
    color:#c60000!important;
  }

  body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-summary i::before{
    content:"\25B2";
  }

  body.route-finder-hub .finder-accordion-body{
    padding:0 10px 10px!important;
  }

  body.route-finder-hub .finder-accordion-body[hidden]{
    display:none!important;
  }

  body.route-finder-hub .pem-ctx-panel h2,
  body.route-finder-hub .pem-level-panel h2{
    font-size:1.05rem!important;
    line-height:1.16!important;
    margin-bottom:6px!important;
  }

  body.route-finder-hub .pem-ctx-panel .v7-muted,
  body.route-finder-hub .pem-level-panel .v7-muted{
    font-size:.86rem!important;
    line-height:1.3!important;
  }

  body.route-finder-hub .pem-icon-card,
  body.route-finder-hub .pem-ctx-chip{
    min-height:54px!important;
    padding:10px!important;
    border-radius:12px!important;
  }

  body.route-finder-hub .pem-card-title,
  body.route-finder-hub .pem-ctx-copy strong{
    font-size:1rem!important;
    line-height:1.18!important;
  }

  body.route-finder-hub .pem-card-desc,
  body.route-finder-hub .pem-ctx-copy span{
    font-size:.84rem!important;
    line-height:1.24!important;
    color:#163758!important;
  }

  .rot-result{
    padding:6px!important;
    border-radius:14px!important;
  }

  .rot-result:not(:has(.rot-result-details[open])){
    max-height:86px!important;
    overflow:hidden!important;
  }

  .rot-result-head{
    min-height:46px!important;
    padding:7px 48px 7px 10px!important;
  }

  .rot-result-head span{
    font-size:.78rem!important;
    color:#061f3b!important;
  }

  .rot-result-head strong{
    font-size:1.16rem!important;
  }

  .rot-result-details > summary{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    top:10px!important;
    right:10px!important;
  }

  .rot-result-details > summary::after{
    content:"\25BC"!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#effaf3!important;
    border:1px solid #94d5a8!important;
    color:#167342!important;
    font-size:12px!important;
    line-height:1!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .rot-result-details[open] > summary::after{
    content:"\25B2"!important;
    background:#fff3f3!important;
    border-color:#f3b4b4!important;
    color:#c60000!important;
  }

  .rot-result-detail-body{
    padding-top:6px!important;
  }

  .rot-result-accordion{
    margin:7px 0!important;
    border-radius:12px!important;
  }

  .rot-result-accordion > summary{
    min-height:42px!important;
    padding:8px 10px!important;
    font-size:.9rem!important;
    line-height:1.15!important;
  }

  .rot-result-accordion-body{
    padding:8px!important;
  }

  .rot-opeg-action{
    padding:10px!important;
    border-radius:12px!important;
  }

  .rot-opeg-action h3{
    font-size:1.05rem!important;
    line-height:1.16!important;
    margin:2px 0 8px!important;
  }

  .rot-opeg-priority{
    font-size:.95rem!important;
    line-height:1.35!important;
  }

  .rot-opeg-mini{
    padding:8px!important;
    border-radius:10px!important;
  }

  .rot-opeg-mini li,
  .rot-result-complaint span,
  .rot-critical-suspicion p,
  .rot-critical-suspicion small{
    font-size:.9rem!important;
    line-height:1.32!important;
  }

  .rot-result-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:7px -6px -6px!important;
    padding:7px!important;
  }

  .rot-result-actions .v7-primary-btn,
  .rot-result-actions .v7-secondary-btn{
    min-height:44px!important;
    border-radius:12px!important;
  }

  .rot-age-chip,
  body.route-finder-hub .age-chip{
    min-height:42px!important;
    padding:8px 10px!important;
    display:block!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .rot-age-chip strong,
  body.route-finder-hub .age-chip strong{
    display:inline!important;
    font-size:15px!important;
    line-height:1.15!important;
    font-weight:700!important;
  }

  .rot-age-chip span,
  body.route-finder-hub .age-chip span{
    display:inline!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.15!important;
    color:#061f3b!important;
  }

  .rot-age-chip span::before,
  body.route-finder-hub .age-chip span::before{
    content:" (";
  }

  .rot-age-chip span::after,
  body.route-finder-hub .age-chip span::after{
    content:")";
  }
}

/* === V4_F6_2 final desktop/tablet override: stable app-layout cards === */
@media (min-width:901px){
  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:start!important;
  }

  body.route-home .home-quickstart-card,
  body.route-home .home-quickstart-card--brand,
  body.route-home .home-quickstart-card--guidelines,
  body.route-home .home-quickstart-card--tools,
  body.route-home .home-dose-rechner-card{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:14px 48px 14px 16px!important;
    text-align:left!important;
    overflow:hidden!important;
  }

  body.route-home .home-quickstart-card--with-training{
    padding:12px!important;
  }

  body.route-home .home-quickstart-main,
  body.route-home .home-dose-rechner-main,
  body.route-home .home-quickstart-main-box{
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-main{
    position:relative!important;
    padding:14px 48px 14px 16px!important;
    border:1px solid #d4e1f0!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  body.route-home .home-quickstart-main::before,
  body.route-home .home-dose-rechner-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    display:none!important;
    content:none!important;
  }

  body.route-home .home-quickstart-main::after,
  body.route-home .home-dose-rechner-main::after,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
    content:"\203A"!important;
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    grid-column:auto!important;
    grid-row:auto!important;
    transform:translateY(-50%)!important;
    font-size:22px!important;
    line-height:1!important;
    color:#174f84!important;
  }

  body.route-home .home-quickstart-label,
  body.route-home .home-quickstart-card h2,
  body.route-home .home-quickstart-card p,
  body.route-home .home-quickstart-card .diagnosefinder-card-title{
    display:block!important;
    grid-column:auto!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-label{
    margin:0 0 6px!important;
    font-size:.68rem!important;
    line-height:1.1!important;
  }

  body.route-home .home-quickstart-card h2{
    margin:0 0 6px!important;
    font-size:1.05rem!important;
    line-height:1.2!important;
  }

  body.route-home .home-quickstart-card p{
    margin:0!important;
    font-size:.9rem!important;
    line-height:1.35!important;
  }

  body.route-home .home-quickstart-training-box{
    display:block!important;
    grid-template-columns:none!important;
    margin-top:10px!important;
    padding:10px!important;
    border-radius:12px!important;
    background:#fff8f8!important;
  }

  body.route-home .home-quickstart-training-btn{
    width:auto!important;
    min-width:220px!important;
  }

  body.route-home .home-dose-rechner-list{
    display:none!important;
  }

  body.route-home .home-dual-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  body.route-home .home-quickstart-grid,
  body.route-home .home-dual-grid,
  body.route-home .quick-access-grid{
    grid-template-columns:1fr!important;
  }
}

@media (min-width:901px){
  body.route-home #content .home-quickstart-card.home-quickstart-card--brand,
  body.route-home #content .home-quickstart-card.home-quickstart-card--guidelines,
  body.route-home #content .home-quickstart-card.home-quickstart-card--tools,
  body.route-home #content .home-quickstart-card.home-quickstart-card--danger,
  body.route-home #content .home-dose-rechner-card,
  body.route-home #content .home-quickstart-card:not(.home-quickstart-card--with-training):not(.home-dose-rechner-card){
    display:block!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    padding:14px 48px 14px 16px!important;
    min-height:96px!important;
  }
}
/* === V4_F7: clinical app list accents and calculator actions === */
.clinical-calc-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  margin:2px 0 2px 8px;
  padding:4px 9px 4px 7px;
  border:1px solid #8ed4aa;
  border-radius:8px;
  background:#ecfff4;
  color:#064826;
  font-size:.82rem;
  font-weight:650;
  line-height:1;
  vertical-align:middle;
  box-shadow:0 1px 4px rgba(6,72,38,.08);
  cursor:pointer;
}
.clinical-calc-link:hover,
.clinical-calc-link:focus-visible{
  border-color:#2fb565;
  background:#dffbed;
  outline:2px solid rgba(47,181,101,.22);
  outline-offset:2px;
}
.clinical-calc-icon{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:5px;
  background:#2f9f5b;
  color:#fff;
  font-size:.85rem;
  font-weight:800;
}
.guideline-library-item,
.guideline-accordion-head,
.opeg-quick-step-head,
.opeg-flow-phase > summary,
.finder-accordion-summary,
.dx-result-accordion > summary,
.dx-operational-accordion > summary,
.rot-result-accordion > summary,
.symptom-group-head{
  position:relative;
  overflow:hidden;
}
.guideline-library-item::before,
.guideline-accordion-head::before,
.opeg-quick-step-head::before,
.opeg-flow-phase > summary::before,
.finder-accordion-summary::before,
.dx-result-accordion > summary::before,
.dx-operational-accordion > summary::before,
.rot-result-accordion > summary::before,
.symptom-group-head::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--clinical-accent, #0b6fb8);
  border-radius:0 4px 4px 0;
}
.guideline-library-group:nth-child(6n+1),
.guideline-accordion:nth-child(6n+1),
.opeg-quick-step:nth-child(6n+1),
.opeg-flow-phase:nth-child(6n+1),
.symptom-group-wrap:nth-child(6n+1),
.finder-accordion-panel:nth-child(6n+1){--clinical-accent:#0b6fb8;}
.guideline-library-group:nth-child(6n+2),
.guideline-accordion:nth-child(6n+2),
.opeg-quick-step:nth-child(6n+2),
.opeg-flow-phase:nth-child(6n+2),
.symptom-group-wrap:nth-child(6n+2),
.finder-accordion-panel:nth-child(6n+2){--clinical-accent:#b91c1c;}
.guideline-library-group:nth-child(6n+3),
.guideline-accordion:nth-child(6n+3),
.opeg-quick-step:nth-child(6n+3),
.opeg-flow-phase:nth-child(6n+3),
.symptom-group-wrap:nth-child(6n+3),
.finder-accordion-panel:nth-child(6n+3){--clinical-accent:#0f766e;}
.guideline-library-group:nth-child(6n+4),
.guideline-accordion:nth-child(6n+4),
.opeg-quick-step:nth-child(6n+4),
.opeg-flow-phase:nth-child(6n+4),
.symptom-group-wrap:nth-child(6n+4),
.finder-accordion-panel:nth-child(6n+4){--clinical-accent:#b45309;}
.guideline-library-group:nth-child(6n+5),
.guideline-accordion:nth-child(6n+5),
.opeg-quick-step:nth-child(6n+5),
.opeg-flow-phase:nth-child(6n+5),
.symptom-group-wrap:nth-child(6n+5),
.finder-accordion-panel:nth-child(6n+5){--clinical-accent:#6d28d9;}
.guideline-library-group:nth-child(6n+6),
.guideline-accordion:nth-child(6n+6),
.opeg-quick-step:nth-child(6n+6),
.opeg-flow-phase:nth-child(6n+6),
.symptom-group-wrap:nth-child(6n+6),
.finder-accordion-panel:nth-child(6n+6){--clinical-accent:#15803d;}
.guideline-accordion-head,
.opeg-quick-step-head,
.opeg-flow-phase > summary,
.finder-accordion-summary,
.dx-result-accordion > summary,
.dx-operational-accordion > summary,
.rot-result-accordion > summary,
.symptom-group-head{
  padding-left:18px;
}
.guideline-library-item{
  padding-left:18px;
}
.route-action-bar.visible{
  align-items:center;
  gap:8px;
}
.route-action-btn{
  border-color:#b7c9e3;
  background:#f7fbff;
  color:#071d3a;
  font-weight:650;
}
.route-action-btn--icon{
  width:42px;
  min-width:42px;
  border-radius:12px;
  color:#0b4f93;
}
.route-action-btn--primary{
  background:#e8f4ff;
  color:#063966;
  border-color:#8dc5ef;
}
.route-action-btn[disabled]{
  opacity:.55;
}
@media (max-width: 760px){
  .clinical-calc-link{
    min-height:34px;
    margin:6px 0 0;
    padding:6px 10px;
    font-size:.9rem;
  }
  .opeg-quick-med-card h5 .clinical-calc-link,
  .opeg-med-card strong .clinical-calc-link,
  .guideline-medication-card h4 .clinical-calc-link{
    display:flex;
    width:max-content;
    margin:8px 0 0;
  }
  .route-action-bar.visible{
    margin:6px 12px;
    overflow-x:auto;
    padding-bottom:4px;
  }
}

/* === V4_F8: final clinical shell hardening === */
.v7-primary-btn,
.action-button,
.route-action-btn--primary,
.dock-action--primary,
.rot-result-actions .v7-primary-btn,
#rotOpenFinderBtn,
.fluid-therapy-form button,
.bsa-input-row button{
  background:#e8f4ff!important;
  color:#06365f!important;
  border:1px solid #8dc5ef!important;
  box-shadow:0 5px 14px rgba(31,95,159,.10)!important;
}
.v7-primary-btn:hover,
.action-button:hover,
.route-action-btn--primary:hover,
.dock-action--primary:hover,
.rot-result-actions .v7-primary-btn:hover,
#rotOpenFinderBtn:hover,
.fluid-therapy-form button:hover,
.bsa-input-row button:hover{
  background:#d9edff!important;
  color:#052f54!important;
  border-color:#62a7df!important;
}
.v7-primary-btn:disabled,
.v7-primary-btn[disabled],
.action-button:disabled,
.action-button[disabled],
.route-action-btn--primary:disabled,
.route-action-btn--primary[disabled],
#rotOpenFinderBtn:disabled,
#rotOpenFinderBtn[disabled]{
  background:#f6fbff!important;
  color:#34516e!important;
  border-color:#c8d9ec!important;
}
.scroll-top-btn{
  background:#ffffff!important;
  color:#0b4f93!important;
  border:1px solid #9fc5ef!important;
  box-shadow:0 8px 20px rgba(31,95,159,.18)!important;
}
.rot-step-accordion > summary::after,
.rot-complaint-group > summary::after,
.rot-result-accordion > summary::after,
.rot-training-section > summary::after,
.guideline-library-group__head::after,
.guideline-accordion-head::after,
.guideline-content-subaccordion-head::after,
.guideline-age-accordion-head::after,
.opeg-flow-phase summary::after,
.opeg-quick-step > summary::after,
.symptom-group--accordion .symptom-group-head::after{
  content:"\25B2"!important;
}
.rot-step-accordion:not([open]) > summary::after,
.rot-complaint-group:not([open]) > summary::after,
.rot-result-accordion:not([open]) > summary::after,
.rot-training-section:not([open]) > summary::after,
.guideline-library-group:not([open]) .guideline-library-group__head::after,
.guideline-accordion:not([open]) .guideline-accordion-head::after,
.guideline-content-subaccordion:not([open]) .guideline-content-subaccordion-head::after,
.guideline-age-accordion:not([open]) .guideline-age-accordion-head::after,
.opeg-flow-phase:not([open]) summary::after,
.opeg-quick-step:not([open]) > summary::after,
.symptom-group--accordion:not([open]) .symptom-group-head::after{
  content:"\25BC"!important;
}
.guideline-library-item__arrow::before,
body.route-home .home-quickstart-main::after,
body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
  content:"\203A"!important;
}
.guideline-library-item,
.global-search-result,
.search-result-item,
.quick-pattern-btn,
.opeg-quick-step,
.guideline-accordion,
.dx-result-accordion{
  border-radius:10px!important;
}
@media (max-width: 900px){
  .guideline-browser-hero,
  .guideline-hero,
  .opeg-hero{
    padding:12px 14px!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }
  .guideline-hero .page-title,
  .guideline-browser-hero .page-title,
  .opeg-hero .page-title{
    font-size:1.35rem!important;
    line-height:1.16!important;
  }
  .guideline-hero .page-description,
  .guideline-browser-hero .page-description,
  .opeg-hero .page-description{
    font-size:.95rem!important;
    line-height:1.45!important;
  }
  .route-action-bar.visible{
    position:sticky!important;
    top:calc(var(--pem-mobile-header-h, 118px) + 2px)!important;
    z-index:260!important;
    padding:5px 6px!important;
    margin:4px 8px 8px!important;
    border:1px solid #d6e3f3!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 4px 14px rgba(15,39,68,.07)!important;
  }
  .route-action-btn{
    min-height:34px!important;
    padding:6px 10px!important;
    border-radius:10px!important;
  }
  .route-action-btn--icon{
    width:36px!important;
    min-width:36px!important;
  }
  .opeg-detail-view .opeg-hero{
    gap:6px!important;
  }
  .opeg-detail-view .opeg-hero .page-title{
    max-width:none!important;
    font-size:15px!important;
    line-height:1.18!important;
    color:#006b5f!important;
    font-weight:700!important;
  }
  body.route-guideline-detail #content .opeg-detail-view .opeg-hero h1.page-title{
    font-size:15px!important;
    line-height:1.18!important;
  }
  .opeg-detail-view .opeg-diagnosis-title{
    margin:2px 0 4px!important;
    font-size:22px!important;
    line-height:1.18!important;
    color:#061f3b!important;
  }
  .opeg-detail-view .opeg-priority-row{
    gap:6px!important;
  }
  .opeg-detail-view .opeg-priority-row span{
    min-height:28px!important;
    padding:5px 8px!important;
    font-size:.82rem!important;
  }
}

/* === V4_F9: diagnosis results + OPEG detail clinical app polish === */
body.route-finder-results .dx-result-accordion-list{
  gap:8px!important;
}
body.route-finder-results .dx-result-accordion{
  border-radius:10px!important;
  border-color:#cfddef!important;
  box-shadow:0 3px 12px rgba(15,39,68,.045)!important;
}
body.route-finder-results .dx-result-accordion.is-critical{
  border-color:#f0aaa2!important;
  background:linear-gradient(180deg,#fff,#fff7f5)!important;
}
body.route-finder-results .dx-result-summary{
  min-height:64px!important;
  padding:10px 14px 10px 18px!important;
  grid-template-columns:36px minmax(0,1fr) auto 22px!important;
}
body.route-finder-results .dx-result-summary::after{
  content:"\25B2"!important;
  color:#0b5f9f!important;
  font-size:14px!important;
  transform:none!important;
}
body.route-finder-results .dx-result-accordion:not([open]) .dx-result-summary::after{
  content:"\25BC"!important;
}
body.route-finder-results .dx-result-rank{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:10px!important;
  background:#edf5ff!important;
  border-color:#b9d7f4!important;
}
body.route-finder-results .dx-result-main strong{
  font-size:clamp(1rem,1.4vw,1.18rem)!important;
  line-height:1.18!important;
}
body.route-finder-results .dx-result-main em{
  color:#496176!important;
  font-size:.92rem!important;
}
body.route-finder-results .dx-result-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);
  gap:10px!important;
  padding:10px 14px 14px 18px!important;
  background:#fbfdff!important;
}
body.route-finder-results .dx-result-why,
body.route-finder-results .dx-result-signs{
  border:1px solid #d7e4f3!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:10px 12px!important;
}
body.route-finder-results .dx-result-why h4,
body.route-finder-results .dx-result-signs .section-title{
  margin:0 0 6px!important;
  color:#0f3f6e!important;
  font-size:.9rem!important;
  letter-spacing:.02em!important;
}
body.route-guideline-detail .opeg-detail-view{
  gap:10px!important;
}
body.route-guideline-detail .opeg-detail-view .opeg-hero{
  border-radius:12px!important;
  border-color:#cfe1f2!important;
  box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
}
body.route-guideline-detail .opeg-priority-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px!important;
}
body.route-guideline-detail .opeg-priority-row span{
  border-radius:9px!important;
  border:1px solid #d7e4f3!important;
  background:#fbfdff!important;
  color:#294158!important;
}
body.route-guideline-detail .opeg-operational-flow{
  border-radius:12px!important;
  border:1px solid #d3e1f1!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,39,68,.045)!important;
}
body.route-guideline-detail .opeg-flow-head{
  padding:12px 14px!important;
  border-bottom:1px solid #e1ebf6!important;
}
body.route-guideline-detail .opeg-flow-timeline,
body.route-guideline-detail .opeg-quick-step-list{
  gap:8px!important;
}
body.route-guideline-detail .opeg-flow-phase,
body.route-guideline-detail .opeg-quick-step{
  border-radius:10px!important;
  border-color:#d7e4f3!important;
  box-shadow:none!important;
}
body.route-guideline-detail .opeg-flow-phase > summary,
body.route-guideline-detail .opeg-quick-step-head{
  min-height:52px!important;
  padding:10px 14px 10px 18px!important;
  background:#f8fbff!important;
}
body.route-guideline-detail .opeg-flow-body,
body.route-guideline-detail .opeg-quick-step-body{
  padding:12px 14px!important;
}
body.route-guideline-detail .opeg-med-card,
body.route-guideline-detail .opeg-quick-med-card,
body.route-guideline-detail .opeg-recognition-box,
body.route-guideline-detail .opeg-quick-mini-box{
  border-radius:10px!important;
  border-color:#d8e5f3!important;
  box-shadow:none!important;
}
@media (max-width: 760px){
  body.route-finder-results .dx-result-summary{
    grid-template-columns:34px minmax(0,1fr) 22px!important;
    padding:10px 12px 10px 16px!important;
  }
  body.route-finder-results .dx-result-body{
    grid-template-columns:1fr;
    padding:10px 12px 12px 16px!important;
  }
  body.route-guideline-detail .opeg-priority-row{
    grid-template-columns:1fr!important;
  }
  body.route-guideline-detail .opeg-flow-head,
  body.route-guideline-detail .opeg-flow-body,
  body.route-guideline-detail .opeg-quick-step-body{
    padding:10px 12px!important;
  }
}

/* === V4_F10: responsive clinical app shell, web/tablet/mobile harmonization === */
:root{
  --pem-app-max:1280px;
  --pem-app-line:#d5e1ee;
  --pem-app-blue:#0b5f9f;
  --pem-app-ink:#061f3b;
  --pem-app-muted:#40566f;
}

@media (min-width:901px){
  .app-shell{
    max-width:var(--pem-app-max)!important;
    padding:14px 18px 28px!important;
  }
  .app-header{
    display:grid!important;
    grid-template-columns:minmax(190px,260px) minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    margin-bottom:10px!important;
    padding:0!important;
    min-height:0!important;
  }
  .app-header__top{
    display:contents!important;
    margin:0!important;
  }
  .app-brand-block{
    gap:4px!important;
    min-width:0!important;
  }
  .app-logo{
    font-size:1.18rem!important;
    line-height:1.1!important;
  }
  .app-subtitle{
    max-width:340px!important;
    font-size:.84rem!important;
    line-height:1.25!important;
    color:var(--pem-app-muted)!important;
  }
  .header-controls{
    justify-self:end!important;
    gap:6px!important;
    grid-column:3!important;
  }
  .font-btn,
  .lang-btn{
    min-width:40px!important;
    min-height:36px!important;
    height:36px!important;
    padding:6px 10px!important;
    border-radius:12px!important;
  }
  .nav-row{
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:auto auto auto auto auto auto minmax(220px,1fr)!important;
    gap:8px!important;
    align-items:center!important;
    margin:0!important;
  }
  .nav-btn{
    min-height:42px!important;
    padding:8px 14px!important;
    border-radius:12px!important;
    box-shadow:0 2px 8px rgba(15,39,68,.055)!important;
  }
  .nav-actions{
    display:flex!important;
    gap:6px!important;
  }
  .nav-actions .nav-btn{
    min-width:42px!important;
    width:42px!important;
    padding:0!important;
  }
  .search-row,
  .nav-search-slot{
    min-width:0!important;
  }
  #globalSearch{
    min-height:42px!important;
    border-radius:14px!important;
  }
  .route-action-bar,
  .breadcrumb{
    grid-column:1 / -1!important;
  }
  .route-action-bar.visible{
    margin:8px 0 0!important;
  }
  .breadcrumb{
    margin:4px 0 0!important;
  }

  body.route-home .home-clinical-hero{
    padding:22px 24px!important;
    margin:0 0 14px!important;
    border-radius:14px!important;
    box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
  }
  body.route-home .home-clinical-kicker{
    width:max-content!important;
    max-width:100%!important;
    padding:5px 10px!important;
    border-radius:999px!important;
  }
  body.route-home .home-clinical-title{
    max-width:850px!important;
    margin:14px 0 14px!important;
    font-size:clamp(1.65rem,2.6vw,2.25rem)!important;
    line-height:1.12!important;
  }
  body.route-home .home-clinical-lead{
    padding:10px 12px!important;
    border-radius:12px!important;
    font-size:1rem!important;
  }
  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.route-home .home-quickstart-card{
    min-height:118px!important;
    border-radius:12px!important;
    box-shadow:0 3px 12px rgba(15,39,68,.045)!important;
  }
  body.route-home .home-quickstart-card--with-training{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:12px!important;
  }
  body.route-home .home-quickstart-main,
  body.route-home .home-quickstart-main-box,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training){
    min-height:92px!important;
    padding:14px 44px 14px 16px!important;
    border-radius:10px!important;
  }
  body.route-home .home-quickstart-training-box{
    padding:12px!important;
    border-radius:10px!important;
  }
  body.route-home .home-dose-rechner-card::after,
  body.route-home .home-quickstart-card--with-training::after{
    content:none!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .nav-row{
    grid-template-columns:repeat(5,minmax(0,auto)) auto minmax(220px,1fr)!important;
  }
  .nav-btn{
    padding:8px 10px!important;
    font-size:.9rem!important;
  }
  body.route-home .home-quickstart-grid{
    gap:10px!important;
  }
}

@media (max-width:900px){
  .app-header{
    min-height:56px!important;
    padding:7px 10px!important;
  }
  .app-brand-block{
    min-width:0!important;
  }
  .app-logo{
    display:block!important;
    max-width:48vw!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .lang-switch{
    gap:6px!important;
  }
  .lang-btn{
    min-width:42px!important;
    height:34px!important;
    border-radius:12px!important;
  }
  .mobile-tab-bar{
    border-radius:0!important;
  }

  body.route-finder-hub .mobile-selected-dock{
    top:calc(var(--pem-mobile-header-h, 58px) + 6px)!important;
    z-index:1180!important;
    border-radius:12px!important;
    box-shadow:0 6px 18px rgba(15,39,68,.14)!important;
  }
  body.route-finder-hub .hub-selected-box:not(.has-selection){
    display:none!important;
  }
  body.route-finder-hub .age-group-bar--locked{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.route-finder-hub .age-chip{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  .rot-result{
    top:calc(var(--pem-mobile-header-h, 58px) + 6px)!important;
    max-height:calc(100vh - var(--pem-mobile-header-h, 58px) - var(--pem-mobile-tab-h, 66px) - 20px)!important;
    border:1px solid #c7dff7!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 8px 22px rgba(15,39,68,.10)!important;
  }
  .rot-result:not(:has(.rot-result-details[open])){
    max-height:74px!important;
  }
  .rot-result-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:44px!important;
    padding:7px 44px 7px 10px!important;
  }
  .rot-result-head span{
    font-size:.78rem!important;
    line-height:1.1!important;
  }
  .rot-result-head strong{
    font-size:1.04rem!important;
    line-height:1.08!important;
    text-align:right!important;
  }
  .rot-result-details > summary{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    top:9px!important;
    right:9px!important;
  }
  .rot-result-details > summary::after{
    content:"\25BC"!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#effaf3!important;
    border:1px solid #94d5a8!important;
    color:#167342!important;
    font-size:12px!important;
    line-height:1!important;
    transform:none!important;
  }
  .rot-result-details[open] > summary::after{
    content:"\25B2"!important;
    background:#fff3f3!important;
    border-color:#f3b4b4!important;
    color:#c60000!important;
  }
}

@media (max-width:430px){
  .app-shell{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .app-logo{
    max-width:44vw!important;
  }
  .lang-btn{
    min-width:38px!important;
  }
  .rot-result-head strong{
    font-size:.98rem!important;
  }
}

/* === V4_F10_1: desktop toolbar de-cramp === */
@media (min-width:901px){
  .app-header{
    display:block!important;
    margin-bottom:12px!important;
  }
  .app-header__top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    margin:0 0 10px!important;
  }
  .app-brand-block{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    align-items:center!important;
  }
  .app-logo-icon,
  .app-logo-wrap img{
    grid-row:1 / span 2!important;
  }
  .app-logo{
    font-size:1.2rem!important;
    white-space:nowrap!important;
  }
  .app-subtitle{
    max-width:none!important;
    font-size:.84rem!important;
  }
  .nav-row{
    display:grid!important;
    grid-template-columns:auto auto minmax(150px,auto) auto auto auto minmax(360px,1fr)!important;
    gap:8px!important;
    align-items:center!important;
    margin:0!important;
  }
  .nav-btn{
    white-space:nowrap!important;
  }
  #navFinder{
    min-width:150px!important;
  }
  #globalSearch{
    width:100%!important;
    min-width:0!important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  .nav-row{
    grid-template-columns:auto auto minmax(130px,auto) auto auto auto minmax(260px,1fr)!important;
  }
  .nav-btn{
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:.86rem!important;
  }
  #navFinder{
    min-width:130px!important;
  }
}

/* === V4_F11: route-typed detail/tool action bar === */
@media (max-width:900px){
  body.route-detail{
    --pem-mobile-header-h:96px;
  }
  body.route-detail.mobile-search-open{
    --pem-mobile-header-h:140px;
  }
  body.route-detail .route-action-bar.visible{
    display:flex!important;
    position:static!important;
    align-items:center!important;
    gap:6px!important;
    margin:7px 0 0!important;
    padding:0 1px 2px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body.route-detail .route-action-bar.visible::-webkit-scrollbar{
    display:none!important;
  }
  body.route-detail .route-action-btn{
    flex:0 0 auto!important;
    min-height:32px!important;
    padding:6px 10px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    line-height:1!important;
    background:#f7fbff!important;
    color:#071d3a!important;
    border:1px solid #b7c9e3!important;
    box-shadow:0 2px 8px rgba(15,39,68,.055)!important;
  }
  body.route-detail .route-action-btn--icon{
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
    font-size:15px!important;
  }
  body.route-detail .route-action-btn--primary{
    background:#e8f4ff!important;
    border-color:#8dc5ef!important;
    color:#063966!important;
  }
  body.route-detail .route-action-btn:disabled{
    opacity:.45!important;
  }
}

/* === V4_F12: Home as clinical dashboard, not landing page === */
body.route-home #content{
  display:grid!important;
  gap:12px!important;
}

@media (min-width:901px){
  body.route-home .home-clinical-hero{
    display:grid!important;
    gap:10px!important;
    padding:18px 20px!important;
    margin:0!important;
    border:1px solid #d5e1ee!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(15,39,68,.035)!important;
  }
  body.route-home .home-clinical-kicker{
    margin:0!important;
    padding:4px 10px!important;
    width:max-content!important;
    max-width:100%!important;
    border-radius:999px!important;
    background:#edf5ff!important;
    color:#15538a!important;
    font-size:.78rem!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }
  body.route-home .home-clinical-title{
    max-width:860px!important;
    margin:0!important;
    font-size:clamp(1.45rem,2.1vw,1.9rem)!important;
    line-height:1.12!important;
    letter-spacing:0!important;
  }
  body.route-home .home-clinical-lead,
  body.route-home .home-alert-strip{
    margin:4px 0 0!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    font-size:.95rem!important;
    line-height:1.35!important;
    background:#fff7f7!important;
  }

  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  body.route-home .home-quickstart-card{
    position:relative!important;
    display:grid!important;
    min-height:132px!important;
    padding:0!important;
    border:1px solid #d7e4f3!important;
    border-left:5px solid var(--clinical-accent,#9bc7ef)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(15,39,68,.035)!important;
    overflow:hidden!important;
  }
  body.route-home .home-quickstart-card--danger{--clinical-accent:#e05a5a;}
  body.route-home .home-quickstart-card--brand{--clinical-accent:#2b75bb;}
  body.route-home .home-quickstart-card--guidelines{--clinical-accent:#1d9a83;}
  body.route-home .home-quickstart-card--tools{--clinical-accent:#bf8a00;}

  body.route-home .home-quickstart-card--with-training{
    grid-template-rows:auto auto!important;
    gap:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body.route-home .home-quickstart-main,
  body.route-home .home-quickstart-main-box,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training):not(.home-dose-rechner-card),
  body.route-home .home-dose-rechner-main{
    position:relative!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:4px!important;
    align-items:center!important;
    width:100%!important;
    min-height:126px!important;
    padding:16px 18px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
  }
  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    grid-column:1!important;
    grid-row:1 / span 3!important;
    align-self:start!important;
    width:38px!important;
    height:38px!important;
    border-radius:10px!important;
    margin:2px 0 0!important;
    background:#edf5ff!important;
    border:1px solid #c7def7!important;
    box-shadow:none!important;
  }
  body.route-home .home-quickstart-main::after,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::after{
    grid-column:3!important;
    grid-row:1 / span 3!important;
    align-self:center!important;
    justify-self:end!important;
    color:#0b5f9f!important;
    font-size:22px!important;
    line-height:1!important;
  }
  body.route-home .home-quickstart-label{
    grid-column:2!important;
    margin:0!important;
    color:#071d3a!important;
    font-size:.72rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
  }
  body.route-home .home-quickstart-card h2,
  body.route-home .home-dose-rechner-card h2{
    grid-column:2!important;
    margin:0!important;
    max-width:100%!important;
    color:#061f3b!important;
    font-size:clamp(1.08rem,1.45vw,1.32rem)!important;
    line-height:1.12!important;
    letter-spacing:0!important;
  }
  body.route-home .home-quickstart-card p,
  body.route-home .home-dose-rechner-card p{
    grid-column:2!important;
    margin:0!important;
    color:#24415e!important;
    font-size:.9rem!important;
    line-height:1.35!important;
  }
  body.route-home .home-quickstart-training-box{
    margin:0!important;
    padding:14px 18px 16px 58px!important;
    border:0!important;
    border-top:1px solid #f2c9c9!important;
    border-radius:0!important;
    background:#fff8f8!important;
  }
  body.route-home .home-quickstart-training-box .home-quickstart-label{
    display:block!important;
    margin:0 0 8px!important;
  }
  body.route-home .home-quickstart-training-box p{
    margin:0 0 10px!important;
    max-width:640px!important;
    font-size:.92rem!important;
    line-height:1.35!important;
  }
  body.route-home .home-quickstart-training-btn{
    min-height:36px!important;
    width:max-content!important;
    max-width:100%!important;
    padding:8px 16px!important;
    border-radius:10px!important;
    background:#fff!important;
  }
  body.route-home .home-dose-rechner-card{
    padding:0!important;
  }
  body.route-home .home-dose-rechner-card > .home-quickstart-main,
  body.route-home .home-dose-rechner-main{
    min-height:132px!important;
  }
  body.route-home .home-dose-rechner-list,
  body.route-home .home-dose-rechner-card .home-dose-rechner-list{
    display:none!important;
  }

  body.route-home .home-workflow-panel,
  body.route-home .home-scenario-panel,
  body.route-home .quick-access-home--clinical{
    margin:0!important;
    padding:14px 16px!important;
    border:1px solid #d7e4f3!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(15,39,68,.03)!important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  body.route-home .home-quickstart-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  body.route-home .home-quickstart-main,
  body.route-home .home-quickstart-main-box,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training):not(.home-dose-rechner-card),
  body.route-home .home-dose-rechner-main{
    grid-template-columns:34px minmax(0,1fr) 16px!important;
    padding:14px!important;
  }
  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    width:32px!important;
    height:32px!important;
  }
}

@media (max-width:900px){
  body.route-home #content{
    gap:10px!important;
  }
  body.route-home .home-clinical-hero{
    padding:14px!important;
    border-radius:12px!important;
  }
  body.route-home .home-clinical-title{
    font-size:1.45rem!important;
    line-height:1.12!important;
  }
  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.route-home .home-quickstart-card{
    border-radius:12px!important;
    box-shadow:0 2px 10px rgba(15,39,68,.035)!important;
  }
}

/* === V4_F12_1: fix Home ROT module wrapper collapse === */
@media (min-width:901px){
  body.route-home .home-quickstart-main-box{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.route-home .home-quickstart-card--with-training .home-quickstart-main{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:126px!important;
    justify-items:start!important;
    align-items:center!important;
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  body.route-home .home-quickstart-card--with-training .home-quickstart-label,
  body.route-home .home-quickstart-card--with-training h2,
  body.route-home .home-quickstart-card--with-training p{
    min-width:0!important;
    max-width:100%!important;
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:left!important;
  }
  body.route-home .home-quickstart-card--with-training h2{
    display:block!important;
  }
}

/* === V4_F13: Home web dashboard card system reset === */
@media (min-width:901px){
  body.route-home .home-quickstart-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  body.route-home .home-quickstart-card,
  body.route-home button.home-quickstart-card,
  body.route-home .home-dose-rechner-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    min-height:172px!important;
    width:100%!important;
    padding:18px 56px 18px 22px!important;
    border:1px solid #d6e2f0!important;
    border-left:6px solid var(--home-accent,#8ebfe9)!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 3px 12px rgba(15,39,68,.045)!important;
    color:#061f3b!important;
    text-align:left!important;
    overflow:hidden!important;
  }

  body.route-home .home-quickstart-card--danger{--home-accent:#e25a5a;}
  body.route-home .home-quickstart-card--brand{--home-accent:#2b75bb;}
  body.route-home .home-quickstart-card--guidelines{--home-accent:#1d9a83;}
  body.route-home .home-quickstart-card--tools,
  body.route-home .home-dose-rechner-card{--home-accent:#bf8a00;}

  body.route-home .home-quickstart-card::before,
  body.route-home .home-quickstart-main::before,
  body.route-home .home-quickstart-card:not(.home-quickstart-card--with-training)::before{
    content:none!important;
  }

  body.route-home .home-quickstart-card::after,
  body.route-home button.home-quickstart-card::after,
  body.route-home .home-quickstart-main::after,
  body.route-home .home-dose-rechner-main::after{
    content:"\203A"!important;
    position:absolute!important;
    right:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#0b5f9f!important;
    font-size:26px!important;
    font-weight:500!important;
    line-height:1!important;
  }

  body.route-home .home-quickstart-card--with-training{
    padding:0!important;
  }

  body.route-home .home-quickstart-main-box{
    display:block!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }

  body.route-home .home-quickstart-main,
  body.route-home .home-dose-rechner-main{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-height:116px!important;
    padding:18px 56px 14px 22px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#061f3b!important;
    text-align:left!important;
  }

  body.route-home .home-quickstart-label{
    display:block!important;
    margin:0!important;
    color:#061f3b!important;
    font-size:.76rem!important;
    line-height:1!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    font-weight:850!important;
  }

  body.route-home .home-quickstart-card h2,
  body.route-home .home-dose-rechner-card h2,
  body.route-home .home-quickstart-main h2{
    display:block!important;
    margin:0!important;
    max-width:100%!important;
    color:#061f3b!important;
    font-size:clamp(1.22rem,1.65vw,1.55rem)!important;
    line-height:1.14!important;
    letter-spacing:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  body.route-home .home-quickstart-card p,
  body.route-home .home-dose-rechner-card p,
  body.route-home .home-quickstart-main p{
    display:block!important;
    margin:0!important;
    max-width:680px!important;
    color:#24415e!important;
    font-size:.95rem!important;
    line-height:1.38!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  body.route-home .home-quickstart-training-box{
    margin:0!important;
    padding:14px 22px 18px!important;
    border:0!important;
    border-top:1px solid #f2c9c9!important;
    border-radius:0!important;
    background:#fff8f8!important;
  }

  body.route-home .home-quickstart-training-box p{
    margin:8px 0 12px!important;
    max-width:640px!important;
  }

  body.route-home .home-quickstart-training-btn{
    min-height:38px!important;
    width:max-content!important;
    max-width:100%!important;
    padding:8px 18px!important;
    border-radius:10px!important;
    background:#fff!important;
    border:1px solid #f0aaa2!important;
    color:#061f3b!important;
  }

  body.route-home .home-dose-rechner-list,
  body.route-home .home-dose-rechner-card .home-dose-rechner-list{
    display:none!important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  body.route-home .home-quickstart-card,
  body.route-home button.home-quickstart-card,
  body.route-home .home-dose-rechner-card{
    min-height:158px!important;
    padding:16px 46px 16px 18px!important;
  }
  body.route-home .home-quickstart-main,
  body.route-home .home-dose-rechner-main{
    padding:16px 46px 12px 18px!important;
  }
  body.route-home .home-quickstart-card h2,
  body.route-home .home-dose-rechner-card h2,
  body.route-home .home-quickstart-main h2{
    font-size:1.18rem!important;
  }
}

/* === V4_F14: Home clinical app card component === */
body.route-home .home-quickstart-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}

body.route-home .home-app-card{
  --home-card-accent:#8ebfe9;
  --home-card-soft:#f5f9fd;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:168px!important;
  border:1px solid #d6e2f0!important;
  border-left:6px solid var(--home-card-accent)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,39,68,.045)!important;
  overflow:hidden!important;
}

body.route-home .home-app-card--danger{
  --home-card-accent:#e25a5a;
  --home-card-soft:#fff7f7;
}

body.route-home .home-app-card--brand{
  --home-card-accent:#2b75bb;
  --home-card-soft:#f3f8ff;
}

body.route-home .home-app-card--guidelines{
  --home-card-accent:#1d9a83;
  --home-card-soft:#f2fbf8;
}

body.route-home .home-app-card--reference{
  --home-card-accent:#4f77b6;
  --home-card-soft:#f3f7ff;
}

body.route-home .home-app-card--tools{
  --home-card-accent:#bf8a00;
  --home-card-soft:#fffaf0;
}

body.route-home .home-app-card__main{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 24px!important;
  gap:14px!important;
  align-items:center!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:126px!important;
  padding:18px 18px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#061f3b!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

body.route-home .home-app-card__main:hover{
  background:linear-gradient(180deg,#fff 0%,var(--home-card-soft) 100%)!important;
}

body.route-home .home-app-card__icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  border:1px solid color-mix(in srgb,var(--home-card-accent) 42%,#d7e5f2)!important;
  border-radius:10px!important;
  background:var(--home-card-soft)!important;
  color:#064b82!important;
  font-size:.82rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

body.route-home .home-app-card--guidelines .home-app-card__icon{
  font-size:.68rem!important;
}

body.route-home .home-app-card--reference .home-app-card__icon{
  font-size:.68rem!important;
}

body.route-home .home-app-card__content{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
}

body.route-home .home-app-card__label{
  display:block!important;
  color:#061f3b!important;
  font-size:.73rem!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

body.route-home .home-app-card__title{
  display:block!important;
  color:#061f3b!important;
  font-size:clamp(1.18rem,1.45vw,1.48rem)!important;
  line-height:1.16!important;
  font-weight:850!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

body.route-home .home-app-card__title .diagnosefinder-card-title{
  display:inline!important;
}

body.route-home .home-app-card__title .diagnosefinder-card-icon{
  display:none!important;
}

body.route-home .home-app-card__text{
  display:block!important;
  max-width:680px!important;
  color:#24415e!important;
  font-size:.95rem!important;
  line-height:1.38!important;
  font-weight:500!important;
}

body.route-home .home-app-card__arrow{
  align-self:center!important;
  justify-self:end!important;
  color:#0b5f9f!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:500!important;
}

body.route-home .home-app-card__subaction{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  min-height:48px!important;
  padding:12px 18px 14px 80px!important;
  border:0!important;
  border-top:1px solid #f0caca!important;
  border-radius:0!important;
  background:#fff8f8!important;
  color:#061f3b!important;
  text-align:left!important;
  font-size:.94rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}

body.route-home .home-app-card__subaction:hover{
  background:#fff1f1!important;
}

body.route-home .home-app-card .rot-title,
body.route-home .home-app-card .opeg-title{
  letter-spacing:0!important;
}
body.route-home .home-app-card--guidelines .home-app-card__label{
  font-size:.68rem!important;
  letter-spacing:.075em!important;
}
body.route-home .home-app-card--guidelines .home-app-card__title{
  font-size:clamp(1.06rem,1.25vw,1.28rem)!important;
  line-height:1.14!important;
  max-width:640px!important;
}
body.route-home .home-app-card--guidelines .opeg-title,
body.route-home .home-app-card--guidelines .opeg-acronym,
body.route-home .home-app-card--guidelines .opeg-word{
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:850!important;
}

/* V4_F39: professional clinical decision-support entry */
body.route-home .home-clinical-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  padding:22px 24px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #cfe0f2!important;
  box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
}
body.route-home .home-clinical-hero__copy{
  display:grid!important;
  gap:10px!important;
  max-width:1080px!important;
}
body.route-home .home-clinical-title{
  margin:0!important;
  max-width:980px!important;
  color:#061f3b!important;
  font-size:clamp(1.55rem,2.2vw,2.25rem)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
body.route-home .home-clinical-subtitle{
  margin:0!important;
  max-width:980px!important;
  color:#24415e!important;
  font-size:clamp(.98rem,1.1vw,1.08rem)!important;
  line-height:1.45!important;
  font-weight:550!important;
}
body.route-home .home-clinical-signals{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
body.route-home .home-clinical-signals span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  border:1px solid #cfe0f2!important;
  color:#0f4f85!important;
  font-size:.8rem!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
}
body.route-home .home-clinical-hero .home-alert-strip{
  margin:0!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  background:#fff8f8!important;
}
@media(max-width:900px){
  body.route-home .home-clinical-hero{
    gap:8px!important;
    padding:12px!important;
    border-radius:12px!important;
  }
  body.route-home .home-clinical-title{
    font-size:1.22rem!important;
    line-height:1.14!important;
  }
  body.route-home #content .home-clinical-subtitle,
  body.route-home .home-clinical-subtitle{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.84rem!important;
    line-height:1.3!important;
  }
  body.route-home .home-clinical-signals{
    display:none!important;
  }
  body.route-home #content .home-clinical-hero .home-alert-strip,
  body.route-home .home-clinical-hero .home-alert-strip{
    padding:9px 10px!important;
    font-size:.84rem!important;
    line-height:1.25!important;
  }
}

/* V4_F39: Diagnosefinder mobile accordion density */
@media(max-width:900px){
  body.route-finder-hub .pem-f2-hub{
    padding:12px!important;
    gap:10px!important;
  }
  body.route-finder-hub .finder-accordion-panel{
    margin:0!important;
    border-radius:14px!important;
    box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
  }
  body.route-finder-hub .finder-accordion-summary{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 32px!important;
    gap:2px 10px!important;
    min-height:56px!important;
    padding:10px 12px!important;
    align-items:center!important;
  }
  body.route-finder-hub .finder-accordion-summary span,
  body.route-finder-hub .finder-accordion-summary em{
    grid-column:1!important;
    margin:0!important;
    font-size:.72rem!important;
    line-height:1.08!important;
    letter-spacing:.06em!important;
  }
  body.route-finder-hub .finder-accordion-summary strong,
  body.route-finder-hub .finder-accordion-summary b{
    grid-column:1!important;
    margin:0!important;
    color:#061f3b!important;
    font-size:1rem!important;
    line-height:1.16!important;
    white-space:normal!important;
  }
  body.route-finder-hub .finder-accordion-summary i{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    align-self:center!important;
    justify-self:center!important;
    font-size:12px!important;
  }
  body.route-finder-hub .finder-accordion-body{
    padding:10px 12px 12px!important;
  }
  body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-body{
    max-height:min(58vh, 520px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
  }
  body.route-finder-hub .age-selector-panel{
    margin:8px 0!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  body.route-finder-hub .age-group-bar--locked,
  body.route-finder-hub .age-grid{
    gap:8px!important;
  }
  body.route-finder-hub .age-chip{
    min-height:48px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
  }
  body.route-finder-hub .pem-icon-card-grid,
  body.route-finder-hub .pem-core-symptom-grid{
    gap:8px!important;
  }
  body.route-finder-hub .pem-icon-card,
  body.route-finder-hub .pem-core-symptom-card{
    min-height:64px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
  }
  body.route-tools .ped-emergency-header p,
  body.route-tools .ana-subtitle,
  body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero p{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.88rem!important;
    line-height:1.32!important;
  }
  body.route-tools .ped-emergency-header h2,
  body.route-tools .ana-hero h2,
  body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero h2{
    font-size:1.12rem!important;
    line-height:1.18!important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  body.route-home .home-app-card__main{
    grid-template-columns:42px minmax(0,1fr) 20px!important;
    gap:12px!important;
    padding:16px!important;
  }

  body.route-home .home-app-card__icon{
    width:40px!important;
    height:40px!important;
  }

  body.route-home .home-app-card__title{
    font-size:1.14rem!important;
  }
  body.route-home .home-app-card--guidelines .home-app-card__title{
    font-size:1.04rem!important;
  }

  body.route-home .home-app-card__text{
    font-size:.9rem!important;
  }
}

@media (max-width:900px){
  body.route-home .home-quickstart-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.route-home .home-app-card{
    min-height:0!important;
    border-radius:10px!important;
  }

  body.route-home .home-app-card__main{
    grid-template-columns:44px minmax(0,1fr) 20px!important;
    gap:12px!important;
    min-height:92px!important;
    padding:14px!important;
  }

  body.route-home .home-app-card__icon{
    width:40px!important;
    height:40px!important;
    border-radius:9px!important;
  }

  body.route-home .home-app-card__label{
    font-size:.68rem!important;
  }
  body.route-home .home-app-card--guidelines .home-app-card__label{
    font-size:.62rem!important;
  }

  body.route-home .home-app-card__title{
    font-size:1.12rem!important;
  }
  body.route-home .home-app-card--guidelines .home-app-card__title{
    font-size:1rem!important;
  }

  body.route-home .home-app-card__text{
    font-size:.86rem!important;
    line-height:1.34!important;
  }

  body.route-home .home-app-card__subaction{
    min-height:44px!important;
    padding:10px 14px 12px 70px!important;
    font-size:.88rem!important;
  }
}

/* === V4_F15: Guideline/OPEG index rows as clinical app list === */
body.route-guideline-browser .guideline-library-groups{
  display:grid!important;
  gap:12px!important;
}

body.route-guideline-browser .guideline-library-group{
  --guide-index-accent:#1683c7;
  border:1px solid #d6e4f4!important;
  border-left:6px solid var(--guide-index-accent)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,39,68,.04)!important;
  overflow:hidden!important;
}

body.route-guideline-browser .guideline-library-group:nth-of-type(4n+2){
  --guide-index-accent:#1d9a83;
}

body.route-guideline-browser .guideline-library-group:nth-of-type(4n+3){
  --guide-index-accent:#b98500;
}

body.route-guideline-browser .guideline-library-group:nth-of-type(4n+4){
  --guide-index-accent:#c45a4e;
}

body.route-guideline-browser .guideline-library-group__head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-height:64px!important;
  width:100%!important;
  padding:14px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#061f3b!important;
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-align:left!important;
}

body.route-guideline-browser .guideline-library-group__head:hover{
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;
}

body.route-guideline-browser .guideline-library-group__count{
  order:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  height:26px!important;
  padding:0 9px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#164d82!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:850!important;
}

body.route-guideline-browser .guideline-library-group__head::after{
  order:3!important;
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  border:1px solid #f1b9b4!important;
  border-radius:999px!important;
  background:#fff7f7!important;
  color:#c0392b!important;
  font-size:16px!important;
  line-height:1!important;
  transform:none!important;
}

body.route-guideline-browser .guideline-library-group:not([open]) .guideline-library-group__head::after{
  border-color:#93d7aa!important;
  background:#f4fbf5!important;
  color:#15733b!important;
  transform:none!important;
}

body.route-guideline-browser .guideline-library-group__body{
  display:grid!important;
  gap:10px!important;
  padding:0 14px 14px!important;
  border-top:1px solid #e5eef9!important;
  background:#fbfdff!important;
}

body.route-guideline-browser .guideline-library-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px 12px!important;
  min-height:70px!important;
  padding:14px 16px 14px 20px!important;
  border:1px solid #d6e4f4!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.route-guideline-browser .guideline-library-item::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  border-radius:10px 0 0 10px!important;
  background:var(--guide-index-accent)!important;
}

body.route-guideline-browser .guideline-library-item__title-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  grid-column:1 / -1!important;
}

body.route-guideline-browser .guideline-library-item__title{
  color:#061f3b!important;
  font-size:1rem!important;
  line-height:1.22!important;
  font-weight:850!important;
}

body.route-guideline-browser .guideline-library-item__meta{
  grid-column:1 / -1!important;
  color:#2a4968!important;
  font-size:.88rem!important;
  line-height:1.3!important;
}

body.route-guideline-browser .guideline-library-item__arrow{
  color:#0b5f9f!important;
}

body.route-home .home-workflow-list{
  display:grid!important;
  gap:10px!important;
}

body.route-home .home-workflow-step{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:48px!important;
  padding:10px 14px!important;
  border:1px solid #d8e6f7!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  color:#061f3b!important;
  text-align:left!important;
  font-size:1rem!important;
  line-height:1.28!important;
  font-weight:760!important;
  box-shadow:none!important;
}

body.route-home .home-workflow-step:hover{
  background:#f1f7ff!important;
  border-color:#bad5f3!important;
}

body.route-home .home-workflow-step__index{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  background:#eaf3ff!important;
  color:#15548b!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:850!important;
}

body.route-home .home-workflow-step__text{
  min-width:0!important;
  color:#061f3b!important;
}

@media (max-width:900px){
  body.route-guideline-browser .guideline-library-group__head{
    min-height:56px!important;
    padding:12px 12px!important;
    gap:10px!important;
  }

  body.route-guideline-browser .guideline-library-group__count{
    min-width:28px!important;
    height:24px!important;
    padding:0 8px!important;
    font-size:.74rem!important;
  }

  body.route-guideline-browser .guideline-library-item{
    min-height:62px!important;
    padding:12px 12px 12px 18px!important;
  }
}

/* === V4_F17: Practical personal quick access / recall panel === */
body.route-home .quick-access-home--legacy{
  display:none!important;
}

body.route-home .home-recall{
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
  border:1px solid #d6e4f4!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(15,39,68,.04)!important;
}

body.route-home .home-recall__head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
}

body.route-home .home-recall__head h2{
  margin:4px 0 0!important;
  color:#061f3b!important;
  font-size:clamp(1.2rem,1.55vw,1.5rem)!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}

body.route-home .home-recall__search-action,
body.route-home .home-recall-panel__action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:36px!important;
  padding:8px 12px!important;
  border:1px solid #cfe0f4!important;
  border-radius:999px!important;
  background:#f7fbff!important;
  color:#0b4778!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:none!important;
}

body.route-home .home-recall-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}

body.route-home .home-recall-panel{
  --recall-accent:#2b75bb;
  --recall-soft:#f4f9ff;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  min-width:0!important;
  min-height:178px!important;
  border:1px solid #d8e6f7!important;
  border-left:5px solid var(--recall-accent)!important;
  border-radius:10px!important;
  background:#fff!important;
  overflow:hidden!important;
}

body.route-home .home-recall-panel--favorites{
  --recall-accent:#356ee8;
  --recall-soft:#f4f7ff;
}

body.route-home .home-recall-panel--recent{
  --recall-accent:#1d9a83;
  --recall-soft:#f2fbf8;
}

body.route-home .home-recall-panel--searches{
  --recall-accent:#bf7a18;
  --recall-soft:#fff8ef;
}

body.route-home .home-recall-panel__head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 14px 10px!important;
  border-bottom:1px solid #edf3fb!important;
  background:linear-gradient(180deg,#fff 0%,var(--recall-soft) 100%)!important;
}

body.route-home .home-recall-panel__icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  border:1px solid color-mix(in srgb,var(--recall-accent) 38%,#d8e6f7)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#0b4778!important;
  font-size:.76rem!important;
  line-height:1!important;
  font-weight:900!important;
}

body.route-home .home-recall-panel__head h3{
  margin:0!important;
  color:#061f3b!important;
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:850!important;
}

body.route-home .home-recall-panel__body{
  display:grid!important;
  align-content:start!important;
  gap:8px!important;
  padding:10px 12px!important;
  min-height:0!important;
}

body.route-home .home-recall-empty{
  margin:0!important;
  color:#4a6682!important;
  font-size:.9rem!important;
  line-height:1.35!important;
}

body.route-home .home-recall-item{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 16px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  padding:8px 10px!important;
  border:1px solid #dbe8f7!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#061f3b!important;
  text-align:left!important;
  box-shadow:none!important;
}

body.route-home .home-recall-item:hover{
  background:var(--recall-soft)!important;
  border-color:#bed4ee!important;
}

body.route-home .home-recall-item__marker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:8px!important;
  background:var(--recall-soft)!important;
  color:#0b4778!important;
  font-size:.72rem!important;
  font-weight:900!important;
}

body.route-home .home-recall-item__copy{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:0!important;
}

body.route-home .home-recall-item__copy strong{
  color:#061f3b!important;
  font-size:.94rem!important;
  line-height:1.18!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.route-home .home-recall-item__copy span{
  color:#315371!important;
  font-size:.8rem!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

body.route-home .home-recall-item__arrow{
  color:#0b5f9f!important;
  font-size:20px!important;
  line-height:1!important;
}

body.route-home .home-recall-search-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 10px!important;
  align-items:flex-start!important;
}

body.route-home .home-recall-search-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-height:34px!important;
  min-width:max-content!important;
  max-width:100%!important;
  padding:7px 14px!important;
  border:1px solid #f0d2ad!important;
  border-radius:999px!important;
  background:#fffaf4!important;
  color:#061f3b!important;
  font-size:.88rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}

body.route-home .home-recall-search-chip span:first-child{
  min-width:0!important;
  max-width:18ch!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

body.route-home .home-recall-panel__action{
  justify-self:start!important;
  margin:0 12px 12px!important;
}

@media (max-width:1100px){
  body.route-home .home-recall-grid{
    grid-template-columns:1fr!important;
  }

  body.route-home .home-recall-panel{
    min-height:0!important;
  }
}

@media (max-width:900px){
  body.route-home .home-recall{
    padding:14px!important;
    gap:12px!important;
  }

  body.route-home .home-recall__head{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  body.route-home .home-recall__search-action{
    align-self:flex-start!important;
  }
}

/* === V4_F18: Make recall panel compact and content-driven === */
body.route-home .home-recall-grid{
  align-items:start!important;
}

body.route-home .home-recall-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
}

body.route-home .home-recall-panel__body{
  flex:0 0 auto!important;
  min-height:0!important;
  padding:10px 12px 8px!important;
}

body.route-home .home-recall-panel__action{
  margin:2px 12px 12px!important;
}

body.route-home .home-recall-empty{
  padding:4px 0 8px!important;
}

body.route-home .home-recall-item{
  min-height:46px!important;
  padding:7px 9px!important;
}

body.route-home .home-recall-item__marker{
  width:28px!important;
  height:28px!important;
}

body.route-home .home-recall-search-list{
  align-content:start!important;
}

body.route-home .home-recall-search-chip{
  min-height:32px!important;
  padding:6px 10px!important;
}

@media (min-width:1101px){
  body.route-home .home-recall-panel--recent .home-recall-panel__body{
    max-height:210px!important;
    overflow:auto!important;
  }
}

/* === V4_F21: Compact guideline detail header and collapse-all action === */
body.route-guideline-detail .guideline-detail-view{
  gap:14px!important;
}

body.route-guideline-detail .guideline-hero{
  padding:14px 18px!important;
  border-radius:16px!important;
  gap:8px!important;
  background:#ffffff!important;
  box-shadow:0 10px 24px rgba(15,39,68,.05)!important;
}

body.route-guideline-detail .guideline-hero .page-title{
  max-width:none!important;
  margin:0!important;
  font-size:clamp(1.55rem,2.3vw,2.15rem)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}

body.route-guideline-detail .guideline-detail-view:not(.opeg-detail-view) .guideline-hero .page-description{
  display:none!important;
}

body.route-guideline-detail .guideline-hero .meta-pill{
  align-self:flex-start!important;
  padding:5px 10px!important;
  font-size:.9rem!important;
}

body.route-guideline-detail .route-action-btn--collapse{
  border-color:#cfe0f5!important;
  background:#f7fbff!important;
  color:#164a7a!important;
}

@media (max-width:900px){
  body.route-guideline-detail .guideline-detail-view{
    gap:10px!important;
  }

  body.route-guideline-detail .guideline-hero{
    padding:12px 14px!important;
    border-radius:14px!important;
  }

  body.route-guideline-detail .guideline-hero .page-title{
    font-size:clamp(1.35rem,5.2vw,1.72rem)!important;
    line-height:1.14!important;
  }

body.route-guideline-detail .guideline-hero .meta-pill{
    font-size:.78rem!important;
  }
}

/* === V4_F41: Mobile/tablet bottom nav includes Rechner === */
@media (max-width:900px){
  .mobile-tab-bar{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:1px!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }

  .mobile-tab-btn{
    min-height:48px!important;
    border-radius:10px!important;
    gap:2px!important;
  }

  .mobile-tab-icon--guidelines,
  .mobile-tab-icon--tools{
    border:1px solid #c6dbf7!important;
    border-radius:9px!important;
    background:#f7fbff!important;
  }

  .mobile-tab-icon--tools{
    color:#8a6400!important;
    border-color:#d8c58f!important;
    background:#fffdf5!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  .mobile-tab-icon--menu{
    border:1px solid #c6dbf7!important;
    border-radius:9px!important;
    background:#f7fbff!important;
  }

  .mobile-tab-label{
    font-size:8.2px!important;
    letter-spacing:0!important;
  }
}

@media (max-width:380px){
  .mobile-tab-label{
    font-size:7.6px!important;
  }

  .mobile-tab-icon{
    height:22px!important;
    min-width:22px!important;
  }
}

/* === V4_F23: Bottom hamburger quick-jump menu === */
.mobile-quick-menu{
  display:none;
}

@media (max-width:900px){
  .mobile-quick-menu{
    position:fixed!important;
    inset:0!important;
    z-index:1295!important;
    display:none!important;
    align-items:flex-end!important;
    background:rgba(7,29,58,.22)!important;
  }

  body.mobile-bottom-menu-open .mobile-quick-menu{
    display:flex!important;
  }

  .mobile-quick-menu__sheet{
    width:100%!important;
    max-width:var(--pem-shell-max-width, 1360px)!important;
    margin:0 auto calc(var(--pem-mobile-tab-h, 66px) + env(safe-area-inset-bottom))!important;
    padding:14px!important;
    border:1px solid #cfe0f5!important;
    border-bottom:0!important;
    border-radius:18px 18px 0 0!important;
    background:#ffffff!important;
    box-shadow:0 -18px 34px rgba(15,39,68,.18)!important;
  }

  .mobile-quick-menu__head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:12px!important;
    color:#061f3b!important;
  }

  .mobile-quick-menu__head strong{
    font-size:1rem!important;
    font-weight:850!important;
  }

  .mobile-quick-menu__close{
    width:34px!important;
    height:34px!important;
    border:1px solid #d8e5f4!important;
    border-radius:999px!important;
    background:#f7fbff!important;
    color:#143a5f!important;
    font-size:22px!important;
    line-height:1!important;
  }

  .mobile-quick-menu__grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .mobile-quick-menu__grid button{
    min-height:44px!important;
    padding:10px 12px!important;
    border:1px solid #cfe0f5!important;
    border-left:4px solid #7db8eb!important;
    border-radius:12px!important;
    background:#fbfdff!important;
    color:#061f3b!important;
    text-align:left!important;
    font-weight:800!important;
    box-shadow:none!important;
  }
}

/* === V4_F24: Anaphylaxis calculator professional tool layout === */
body.route-tools .ana-page.ana-tool{
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  gap:14px!important;
  font-family:inherit!important;
  color:#061f3b!important;
}

body.route-tools .ana-tool .ana-hero{
  display:none!important;
  gap:6px!important;
  padding:16px 18px!important;
  border:1px solid #d6e4f4!important;
  border-left:6px solid #c9473f!important;
  border-radius:16px!important;
  background:#ffffff!important;
  color:#061f3b!important;
  box-shadow:0 8px 20px rgba(15,39,68,.055)!important;
}

/* === V4_F25: one standardized calculator medical notice === */
body.route-tools .calculator-medical-notice{
  border:1px solid #f0d0ca!important;
  border-left:5px solid #c9473f!important;
  border-radius:14px!important;
  background:#fff8f7!important;
  color:#061f3b!important;
  box-shadow:0 6px 18px rgba(15,39,68,.04)!important;
  overflow:hidden!important;
}

body.route-tools .calculator-medical-notice summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:44px!important;
  padding:10px 14px!important;
  cursor:pointer!important;
  color:#8f2d23!important;
  font-weight:900!important;
  list-style:none!important;
}

body.route-tools .calculator-medical-notice summary::-webkit-details-marker{
  display:none!important;
}

body.route-tools .calculator-medical-notice summary::after{
  content:"\25BC"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  border:1px solid #efb8b0!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#a83228!important;
  font-size:12px!important;
}

body.route-tools .calculator-medical-notice[open] summary::after{
  content:"\25B2"!important;
}

body.route-tools .calculator-medical-notice__body{
  display:grid!important;
  gap:8px!important;
  padding:0 14px 13px!important;
}

body.route-tools .calculator-medical-notice__body p{
  margin:0!important;
  color:#294158!important;
  font-size:.92rem!important;
  line-height:1.42!important;
}

body.route-tools .ped-emergency-warning,
body.route-tools .tool-card--warn{
  display:none!important;
}

@media (max-width:900px){
  body.route-tools .calculator-medical-notice summary{
    min-height:40px!important;
    padding:9px 12px!important;
    font-size:.9rem!important;
  }

  body.route-tools .calculator-medical-notice__body{
    padding:0 12px 12px!important;
  }
}

body.route-tools .ana-tool .ana-hero .v7-kicker{
  margin:0!important;
  color:#9f2f2a!important;
}

body.route-tools .ana-tool .ana-hero h2{
  margin:0!important;
  color:#061f3b!important;
  font-size:clamp(1.55rem,2.4vw,2.15rem)!important;
  line-height:1.1!important;
  letter-spacing:0!important;
}

body.route-tools .ana-tool .ana-subtitle{
  margin:0!important;
  max-width:76ch!important;
  color:#40566f!important;
  font-size:.98rem!important;
  line-height:1.42!important;
}

body.route-tools .ana-tool-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}

body.route-tools .ana-tool .ana-card,
body.route-tools .ana-tool .ana-alert{
  margin:0!important;
}

body.route-tools .ana-tool .ana-card{
  padding:16px!important;
  border:1px solid #d6e4f4!important;
  border-left:5px solid #7db8eb!important;
  border-radius:16px!important;
  background:#ffffff!important;
  box-shadow:0 8px 20px rgba(15,39,68,.045)!important;
}

body.route-tools .ana-card-head{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-bottom:12px!important;
}

body.route-tools .ana-card-head h2{
  margin:0!important;
  color:#061f3b!important;
  font-size:1.15rem!important;
  line-height:1.15!important;
}

body.route-tools .ana-card-head p{
  margin:4px 0 0!important;
  color:#496176!important;
  font-size:.9rem!important;
  line-height:1.34!important;
}

body.route-tools .ana-step{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:#edf5ff!important;
  border:1px solid #c7def7!important;
  color:#0b5f9f!important;
  font-weight:900!important;
}

body.route-tools .ana-tool .ana-input-row{
  display:grid!important;
  grid-template-columns:minmax(120px,.35fr) minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}

body.route-tools .ana-tool .ana-input-row label{
  color:#061f3b!important;
  font-weight:850!important;
  font-size:.92rem!important;
}

body.route-tools .ana-tool .ana-input-row input,
body.route-tools .ana-tool .ana-input-row button{
  min-height:44px!important;
  border-radius:12px!important;
}

body.route-tools .ana-tool .ana-input-row input{
  width:100%!important;
  min-width:0!important;
}

body.route-tools .ana-tool .ana-input-row button{
  padding:10px 16px!important;
  background:#0b5f9f!important;
  color:#ffffff!important;
  box-shadow:none!important;
}

body.route-tools .ana-tool .ana-input-note{
  margin:10px 0 0!important;
  color:#40566f!important;
  font-size:.9rem!important;
  line-height:1.35!important;
}

body.route-tools .ana-safety-stack{
  display:grid!important;
  gap:10px!important;
}

body.route-tools .ana-tool .ana-alert{
  min-height:0!important;
  padding:13px 14px!important;
  border-radius:14px!important;
  line-height:1.38!important;
  box-shadow:none!important;
}

body.route-tools .ana-tool .ana-severity-card{
  border-left-color:#2b8a72!important;
}

body.route-tools .ana-tool .severity-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}

body.route-tools .ana-tool .severity-box{
  min-height:0!important;
  padding:12px!important;
  border-radius:12px!important;
  color:#061f3b!important;
  box-shadow:none!important;
}

body.route-tools .ana-tool .severity-box h3{
  margin:0 0 6px!important;
  color:#061f3b!important;
  font-size:.98rem!important;
}

body.route-tools .ana-tool .severity-box p{
  color:#294158!important;
  font-size:.86rem!important;
  line-height:1.3!important;
}

body.route-tools .ana-tool [data-ana-result] .ana-card{
  border-left-color:#c9473f!important;
}

body.route-tools .ana-tool .result-summary{
  display:grid!important;
  gap:5px!important;
  margin:0 0 12px!important;
  padding:13px 14px!important;
  border-radius:14px!important;
  background:#fff8f7!important;
  border:1px solid #f3c6c2!important;
}

body.route-tools .ana-tool .result-summary h2{
  margin:0!important;
  color:#7a241f!important;
  font-size:1.18rem!important;
  line-height:1.18!important;
}

body.route-tools .ana-tool .result-summary p{
  margin:0!important;
  color:#061f3b!important;
  font-size:.94rem!important;
  line-height:1.35!important;
}

body.route-tools .ana-tool .category-block{
  margin-top:14px!important;
}

body.route-tools .ana-tool .category-title{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:36px!important;
  padding:7px 12px!important;
  border-radius:12px!important;
  font-size:.9rem!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

body.route-tools .ana-tool .med-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

body.route-tools .ana-tool .med-box{
  padding:14px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

body.route-tools .ana-tool .med-box h3{
  margin:0 0 8px!important;
  color:#061f3b!important;
  font-size:1.02rem!important;
  line-height:1.16!important;
}

body.route-tools .ana-tool .prep-list{
  padding-left:17px!important;
  line-height:1.42!important;
  font-size:.88rem!important;
}

body.route-tools .ana-tool .dose-main{
  font-size:1.35rem!important;
  line-height:1.15!important;
}

body.route-tools .ana-tool .dose-text{
  font-size:.88rem!important;
  line-height:1.34!important;
}

@media (max-width:900px){
  body.route-tools .ana-page.ana-tool{
    gap:10px!important;
  }

  body.route-tools .ana-tool .ana-hero{
    padding:13px 14px!important;
    border-radius:14px!important;
  }

  body.route-tools .ana-tool .ana-hero h2{
    font-size:1.45rem!important;
  }

  body.route-tools .ana-tool-grid{
    grid-template-columns:1fr!important;
  }

  body.route-tools .ana-tool .ana-card{
    padding:13px!important;
    border-radius:14px!important;
  }

  body.route-tools .ana-tool .ana-input-row{
    grid-template-columns:1fr!important;
  }

  body.route-tools .ana-tool .ana-input-row button{
    width:100%!important;
  }

  body.route-tools .ana-tool .severity-grid,
  body.route-tools .ana-tool .med-grid{
    grid-template-columns:1fr!important;
  }
}

/* V4_F27b: keep fluid calculator primary action visually decisive */
body.route-tools .fluid-therapy-form button[data-fluid-calc-btn]{
  background:linear-gradient(135deg,#0f5ea8,#1c79c8)!important;
  color:#fff!important;
  border:1px solid #0f5ea8!important;
  box-shadow:0 8px 18px rgba(15,95,168,.16)!important;
}
body.route-tools .fluid-therapy-form button[data-fluid-calc-btn]:hover{
  background:linear-gradient(135deg,#0d5598,#166fb8)!important;
  color:#fff!important;
}

/* V4_F29: no oversized metric boxes in calculator results */
body.route-tools .fluid-result-list{
  gap:8px!important;
}
body.route-tools .fluid-result-list>div{
  min-height:54px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
body.route-tools .fluid-result-list>div strong{
  font-size:.92rem!important;
  line-height:1.18!important;
}
body.route-tools .fluid-result-value{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:5px!important;
  white-space:nowrap!important;
}
body.route-tools .fluid-result-value span{
  color:#0f5ea8!important;
  font-size:1.05rem!important;
  font-weight:850!important;
}
body.route-tools .fluid-result-value em{
  color:#18324a!important;
  font-size:.82rem!important;
  font-style:normal!important;
}
body.route-tools .fluid-result-total .fluid-result-value span{
  color:#106546!important;
  font-size:1.18rem!important;
}
@media(max-width:900px){
  body.route-tools .fluid-result-list{
    grid-template-columns:1fr!important;
  }
  body.route-tools .fluid-result-list>div{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:50px!important;
    padding:9px 11px!important;
  }
  body.route-tools .fluid-result-list>div strong{
    font-size:.88rem!important;
  }
  body.route-tools .fluid-result-value span{
    font-size:1rem!important;
  }
  body.route-tools .fluid-result-value em{
    font-size:.78rem!important;
  }
}

/* V4_F39: PEMGuide calculator color authority */
body.route-tools .hno-dosecalc-app--locked,
body.route-tools .ped-emergency-calc,
body.route-tools .ana-page,
body.route-tools .fluid-therapy-calc,
body.route-tools .bsa-calc{
  --calc-primary:#0f5ea8!important;
  --calc-primary-2:#1d7fbe!important;
  --calc-ink:#061f3b!important;
  --calc-muted:#49637f!important;
  --calc-line:#cfe0f2!important;
  --calc-panel:#ffffff!important;
  --calc-panel-soft:#f5f9fd!important;
  --calc-primary-soft:#eef6ff!important;
  --calc-green-soft:#f2fbf6!important;
  --calc-warning-soft:#fff8ec!important;
  --calc-danger-soft:#fff6f5!important;
  --calc-shadow:0 6px 18px rgba(15,39,68,.06)!important;
}
body.route-tools .ped-emergency-header,
body.route-tools .ana-hero,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero{
  background:linear-gradient(180deg,#f8fbff,#eef6ff)!important;
  color:var(--calc-ink)!important;
  border:1px solid var(--calc-line)!important;
  border-left:6px solid var(--calc-primary)!important;
  border-radius:18px!important;
  box-shadow:var(--calc-shadow)!important;
}
body.route-tools .ped-emergency-header h2,
body.route-tools .ped-emergency-header p,
body.route-tools .ana-hero h2,
body.route-tools .ana-subtitle,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero h2,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero p{
  color:var(--calc-ink)!important;
  text-shadow:none!important;
}
body.route-tools .ped-emergency-header h2,
body.route-tools .ana-hero h2,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero h2{
  font-size:clamp(1.2rem,1.8vw,1.55rem)!important;
  line-height:1.2!important;
}
body.route-tools .ped-emergency-header p,
body.route-tools .ana-subtitle,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero p{
  color:#24415e!important;
  font-size:.98rem!important;
  line-height:1.45!important;
}
body.route-tools .ped-emergency-input-box,
body.route-tools .ped-emergency-summary,
body.route-tools .ped-emergency-section,
body.route-tools .ped-emergency-footer-note,
body.route-tools .ana-card,
body.route-tools .fluid-therapy-card,
body.route-tools .bsa-card,
body.route-tools .hno-dosecalc-drugbox,
body.route-tools .hno-dosecalc-weightbox,
body.route-tools .hno-dosecalc-result{
  background:var(--calc-panel)!important;
  border:1px solid var(--calc-line)!important;
  border-radius:16px!important;
  box-shadow:var(--calc-shadow)!important;
}
body.route-tools .ped-emergency-input-grid button,
body.route-tools .ana-input-row button,
body.route-tools .fluid-therapy-form button,
body.route-tools .bsa-input-row button,
body.route-tools .hno-dosecalc-weightbox button,
body.route-tools .hno-dosecalc-drugbox button{
  background:var(--calc-primary-soft)!important;
  color:var(--calc-ink)!important;
  border:1px solid #8dbce8!important;
  border-left:5px solid var(--calc-primary)!important;
  border-radius:14px!important;
  box-shadow:0 4px 12px rgba(15,94,168,.08)!important;
}
body.route-tools .ped-emergency-input-grid button:hover,
body.route-tools .ana-input-row button:hover,
body.route-tools .fluid-therapy-form button:hover,
body.route-tools .bsa-input-row button:hover,
body.route-tools .hno-dosecalc-weightbox button:hover,
body.route-tools .hno-dosecalc-drugbox button:hover{
  background:#e3f1ff!important;
  color:var(--calc-ink)!important;
  filter:none!important;
}
body.route-tools .ped-emergency-section-header{
  background:var(--calc-primary-soft)!important;
  color:#0f4f85!important;
  border-bottom:1px solid var(--calc-line)!important;
}
body.route-tools .ped-emergency-section-header.airway,
body.route-tools .ped-emergency-section-header.cpr,
body.route-tools .ped-emergency-section-header.anaphylaxie,
body.route-tools .ped-emergency-section-header.fluid,
body.route-tools .ped-emergency-section-header.analgosedierung,
body.route-tools .ped-emergency-section-header.krampfanfall,
body.route-tools .ped-emergency-section-header.narkose,
body.route-tools .ped-emergency-section-header.atemnot,
body.route-tools .ped-emergency-section-header.sonstiges{
  background:var(--calc-primary-soft)!important;
  color:#0f4f85!important;
}
body.route-tools .calculator-medical-notice{
  background:var(--calc-danger-soft)!important;
  border-color:#f1c8c4!important;
  border-left-color:#c9473f!important;
}
@media(max-width:900px){
  body.route-tools .ped-emergency-header,
  body.route-tools .ana-hero,
  body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-hero{
    border-radius:16px!important;
    padding:16px!important;
  }
}

/* V4_F28: responsive drill-down app menu for desktop, tablet and mobile */
.mobile-menu-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.mobile-menu-toggle-icon,
.mobile-menu-toggle-icon svg{
  width:22px!important;
  height:22px!important;
  display:block!important;
}
.mobile-menu-toggle-icon svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.5!important;
  stroke-linecap:round!important;
}
.mobile-quick-menu{
  position:fixed!important;
  inset:0!important;
  z-index:1295!important;
  display:none!important;
  background:rgba(7,29,58,.24)!important;
}
body.mobile-bottom-menu-open .mobile-quick-menu{
  display:flex!important;
}
.mobile-quick-menu__sheet{
  width:380px!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 42px)!important;
  margin:22px 0 0 22px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  padding:10px!important;
  border:1px solid #cfe0f5!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,39,68,.20)!important;
}
.mobile-quick-menu__head{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 36px!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:0 0 8px!important;
  margin:0!important;
  border-bottom:1px solid #e2edf8!important;
}
.mobile-quick-menu__head strong{
  font-size:1rem!important;
  font-weight:850!important;
  color:#061f3b!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mobile-quick-menu__back,
.mobile-quick-menu__close{
  width:34px!important;
  height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #cfe0f5!important;
  border-radius:10px!important;
  background:#f7fbff!important;
  color:#143a5f!important;
  font-size:24px!important;
  line-height:1!important;
  box-shadow:none!important;
}
.mobile-quick-menu__back[hidden]{
  visibility:hidden!important;
  display:inline-flex!important;
}
.mobile-quick-menu__panel{
  min-height:0!important;
  overflow:auto!important;
  padding:8px 0 2px!important;
  display:grid!important;
  align-content:start!important;
  gap:6px!important;
  overscroll-behavior:contain!important;
}
.mobile-quick-menu__grid{
  display:none!important;
}
.mobile-quick-menu__row{
  width:100%!important;
  min-height:42px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 10px!important;
  border:1px solid #d4e3f2!important;
  border-left:4px solid #7db8eb!important;
  border-radius:10px!important;
  background:#fbfdff!important;
  color:#061f3b!important;
  text-align:left!important;
  box-shadow:none!important;
}
.mobile-quick-menu__row-main{
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.mobile-quick-menu__row-main strong{
  font-size:.95rem!important;
  line-height:1.18!important;
  font-weight:820!important;
  color:#061f3b!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mobile-quick-menu__row-main em{
  color:#50627a!important;
  font-size:.78rem!important;
  font-style:normal!important;
  line-height:1.2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mobile-quick-menu__count{
  min-width:28px!important;
  height:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#edf5ff!important;
  color:#17476f!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
.mobile-quick-menu__chevron{
  color:#0b5f9f!important;
  font-size:1.2rem!important;
  line-height:1!important;
}
.mobile-quick-menu__loading{
  padding:12px!important;
  border:1px solid #d8e5f4!important;
  border-radius:10px!important;
  background:#f7fbff!important;
  color:#40566f!important;
}
@media(max-width:900px){
  .mobile-quick-menu{
    align-items:flex-end!important;
  }
  .mobile-quick-menu__sheet{
    width:100%!important;
    max-width:none!important;
    max-height:min(62vh,560px)!important;
    margin:0 0 calc(var(--pem-mobile-tab-h, 66px) + env(safe-area-inset-bottom))!important;
    border-radius:16px 16px 0 0!important;
    border-bottom:0!important;
    padding:10px 12px!important;
  }
  .mobile-quick-menu__row{
    min-height:40px!important;
    padding:8px 10px!important;
  }
  .mobile-quick-menu__row-main strong{
    font-size:.92rem!important;
  }
  .mobile-quick-menu__row-main em{
    font-size:.75rem!important;
  }
}

/* V4_F40: accordion behavior authority
   All accordion panels open downward in normal document flow; no bottom-sheet expansion. */
#content details > summary{
  cursor:pointer;
}
#content .finder-accordion-body,
#content .guideline-accordion-body,
#content .guideline-content-subaccordion-body,
#content .guideline-age-accordion-body,
#content .opeg-flow-body,
#content .opeg-quick-step-body,
#content .dx-operational-body,
#content .dx-result-body,
#content .rot-step-body,
#content .rot-result-detail-body,
#content .rot-result-accordion-body,
#content .fluid-solution-body{
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
@media(max-width:900px){
  #content .rot-result-details[open],
  #content .rot-result-details[open] .rot-result-detail-body{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    transform:none!important;
  }
  #content .rot-result-details[open]::before,
#content .rot-result-details[open] .rot-result-detail-body::before{
    display:none!important;
    content:none!important;
  }
}

/* V4_F42: calculator index as single-action clinical app rows */
body.route-tools .tools-calculator-index{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
body.route-tools .tools-calculator-card{
  --tool-accent:#0f5ea8;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 24px!important;
  gap:12px!important;
  align-items:center!important;
  text-align:left!important;
  padding:16px 16px 16px 14px!important;
  border:1px solid #cfe0ef!important;
  border-left:7px solid var(--tool-accent)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  color:#061f3b!important;
  box-shadow:0 8px 18px rgba(15,39,68,.055)!important;
  cursor:pointer!important;
}
body.route-tools .tools-calculator-card:hover,
body.route-tools .tools-calculator-card:focus-visible{
  border-color:#b7cfea!important;
  box-shadow:0 12px 26px rgba(15,39,68,.095)!important;
  transform:translateY(-1px);
}
body.route-tools .tools-calculator-card__icon{
  width:44px!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border:1px solid color-mix(in srgb, var(--tool-accent) 42%, white)!important;
  border-radius:13px!important;
  background:color-mix(in srgb, var(--tool-accent) 10%, white)!important;
  color:var(--tool-accent)!important;
  font-size:.95rem!important;
  font-weight:900!important;
  line-height:1!important;
}
body.route-tools .tools-calculator-card__copy{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
  margin:0!important;
}
body.route-tools .tools-calculator-card__copy strong{
  color:#061f3b!important;
  font-size:clamp(1.02rem,2.7vw,1.22rem)!important;
  line-height:1.14!important;
}
body.route-tools .tools-calculator-card__copy span{
  color:#334f6d!important;
  font-size:.94rem!important;
  line-height:1.35!important;
}
body.route-tools .tools-calculator-card__chevron{
  margin:0!important;
  color:var(--tool-accent)!important;
  font-size:1.45rem!important;
  font-weight:900!important;
  line-height:1!important;
  justify-self:end!important;
}
body.route-tools .tools-calculator-card--antibiotika{--tool-accent:#0f5ea8;}
body.route-tools .tools-calculator-card--kindernotfall{--tool-accent:#17805f;}
body.route-tools .tools-calculator-card--anaphylaxie{--tool-accent:#c9473f;}
body.route-tools .tools-calculator-card--fluessigkeit{--tool-accent:#2f7fa5;}
body.route-tools .tools-calculator-card--koerperoberflaeche{--tool-accent:#b17800;}
body.route-tools .tools-calculator-card .home-dose-rechner-link,
body.route-tools .tools-calculator-index .home-dose-rechner-link{
  display:none!important;
}
@media(max-width:700px){
  body.route-tools .tools-calculator-card{
    grid-template-columns:48px minmax(0,1fr) 20px!important;
    gap:10px!important;
    padding:14px 14px 14px 12px!important;
    border-radius:14px!important;
  }
  body.route-tools .tools-calculator-card__icon{
    width:40px!important;
    height:40px!important;
  }
  body.route-tools .tools-calculator-card__copy strong{
    font-size:1rem!important;
  }
  body.route-tools .tools-calculator-card__copy span{
    font-size:.86rem!important;
  }
}

/* V4_F43: bottom navigation authority, 8 items stay on one row */
@media(max-width:900px){
  :root{
    --pem-mobile-tab-h:60px;
  }
  #mobileTabBar.mobile-tab-bar{
    display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-rows:1fr!important;
    align-items:stretch!important;
    gap:0!important;
    height:calc(var(--pem-mobile-tab-h) + env(safe-area-inset-bottom))!important;
    min-height:calc(var(--pem-mobile-tab-h) + env(safe-area-inset-bottom))!important;
    max-height:calc(var(--pem-mobile-tab-h) + env(safe-area-inset-bottom))!important;
    padding:4px 3px calc(4px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  #mobileTabBar .mobile-tab-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    padding:3px 1px!important;
    gap:1px!important;
    border-radius:9px!important;
  }
  #mobileTabBar .mobile-tab-icon{
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    min-height:24px!important;
    font-size:15px!important;
    line-height:1!important;
  }
  #mobileTabBar .mobile-tab-icon svg{
    width:19px!important;
    height:19px!important;
    stroke-width:2.2!important;
  }
  #mobileTabBar .mobile-tab-icon--rot,
  #mobileTabBar .mobile-tab-icon--tools{
    font-size:11px!important;
    letter-spacing:0!important;
  }
  #mobileTabBar .mobile-tab-label{
    display:block!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:7.8px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:380px){
  :root{
    --pem-mobile-tab-h:56px;
  }
  #mobileTabBar .mobile-tab-btn{
    height:48px!important;
    min-height:48px!important;
    padding:3px 0!important;
  }
  #mobileTabBar .mobile-tab-icon{
    width:21px!important;
    min-width:21px!important;
    height:21px!important;
    min-height:21px!important;
    font-size:13px!important;
  }
  #mobileTabBar .mobile-tab-icon svg{
    width:17px!important;
    height:17px!important;
  }
  #mobileTabBar .mobile-tab-icon--rot,
  #mobileTabBar .mobile-tab-icon--tools{
    font-size:10px!important;
  }
  #mobileTabBar .mobile-tab-label{
    font-size:6.9px!important;
  }
}

/* V4_F44: compact Finder shell and safe mobile header clearance */
@media(max-width:900px){
  body:has(.route-action-bar.visible){
    --pem-mobile-header-h:100px!important;
  }
  body.mobile-search-open:has(.route-action-bar.visible){
    --pem-mobile-header-h:136px!important;
  }
  .app-shell{
    padding-top:calc(var(--pem-mobile-header-h, 72px) + 10px)!important;
  }
  .route-action-bar.visible{
    width:100%!important;
    min-height:0!important;
    margin:6px 0 0!important;
    padding:0!important;
    gap:6px!important;
    align-items:center!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .route-action-bar.visible .route-action-btn{
    flex:0 0 auto!important;
    min-height:34px!important;
    height:34px!important;
    padding:6px 10px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
    line-height:1.05!important;
  }
  .route-action-bar.visible .route-action-btn--icon{
    width:36px!important;
    min-width:36px!important;
    height:34px!important;
    padding:0!important;
  }
  body.route-finder-hub .pem-f2-hub{
    margin-top:0!important;
    padding:8px!important;
    gap:10px!important;
    border-radius:14px!important;
  }
  body.route-finder-hub .finder-accordion-panel{
    margin:0!important;
    border-radius:13px!important;
  }
  body.route-finder-hub .finder-accordion-summary{
    min-height:48px!important;
    padding:8px 10px 8px 12px!important;
  }
  body.route-finder-hub .finder-accordion-summary strong,
  body.route-finder-hub .finder-accordion-summary b{
    font-size:.95rem!important;
    line-height:1.12!important;
  }
  body.route-finder-hub .finder-accordion-summary em{
    font-size:.68rem!important;
  }
  body.route-finder-hub .finder-accordion-summary i{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
  }
  body.route-finder-hub .finder-accordion-body{
    padding:8px 10px 10px!important;
  }
  body.route-finder-hub .age-selector-panel{
    margin:0!important;
    padding:10px!important;
    border-radius:13px!important;
  }
  body.route-finder-hub .age-selector-panel h3{
    margin:0 0 4px!important;
    font-size:.9rem!important;
    line-height:1.12!important;
  }
  body.route-finder-hub .age-selector-panel .v7-muted,
  body.route-finder-hub .age-selector-panel p{
    margin:0 0 8px!important;
    font-size:.82rem!important;
    line-height:1.25!important;
  }
  body.route-finder-hub .age-grid,
  body.route-finder-hub .age-group-bar--locked{
    gap:8px!important;
  }
  body.route-finder-hub .age-chip{
    min-height:42px!important;
    padding:8px 10px!important;
    border-radius:11px!important;
  }
  body.route-finder-hub .age-chip strong{
    font-size:.96rem!important;
    line-height:1.08!important;
  }
  body.route-finder-hub .age-chip span{
    font-size:.78rem!important;
    line-height:1.12!important;
  }
}

@media(min-width:901px){
  body.route-finder-hub .pem-f2-hub{
    display:grid!important;
    gap:12px!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  body.route-finder-hub .finder-accordion-panel{
    margin:0!important;
    padding:0!important;
    border-radius:13px!important;
    box-shadow:0 3px 12px rgba(15,39,68,.035)!important;
  }
  body.route-finder-hub .finder-accordion-summary{
    min-height:50px!important;
    padding:9px 12px!important;
    grid-template-columns:minmax(0,1fr) auto 28px!important;
    gap:8px!important;
  }
  body.route-finder-hub .finder-accordion-summary strong{
    font-size:.98rem!important;
    line-height:1.12!important;
  }
  body.route-finder-hub .finder-accordion-summary em{
    font-size:.72rem!important;
    line-height:1!important;
  }
  body.route-finder-hub .finder-accordion-summary i{
    width:24px!important;
    height:24px!important;
  }
  body.route-finder-hub .finder-accordion-body{
    padding:10px 12px 12px!important;
  }
  body.route-finder-hub .age-selector-panel{
    margin:0!important;
    padding:12px!important;
    border-radius:13px!important;
  }
  body.route-finder-hub .age-selector-panel h3{
    margin:0 0 4px!important;
    font-size:.95rem!important;
  }
  body.route-finder-hub .age-selector-panel p{
    margin:0 0 10px!important;
    font-size:.88rem!important;
    line-height:1.25!important;
  }
  body.route-finder-hub .age-grid,
  body.route-finder-hub .age-group-bar--locked{
    grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;
    gap:10px!important;
  }
  body.route-finder-hub .age-chip{
    min-height:48px!important;
    padding:9px 12px!important;
    border-radius:12px!important;
  }
  body.route-finder-hub .age-chip strong{
    font-size:.98rem!important;
  }
  body.route-finder-hub .age-chip span{
    font-size:.78rem!important;
  }
}

/* V4_F47: ROT mobile workflow authority */
@media(max-width:900px){
  body.route-rot{
    --pem-mobile-header-h:96px!important;
  }
  body.route-rot:has(.route-action-bar.visible){
    --pem-mobile-header-h:104px!important;
  }
  body.route-rot .app-shell{
    padding-top:calc(var(--pem-mobile-header-h, 96px) + 8px)!important;
  }
  body.route-rot #content,
  body.route-rot .section-stack,
  body.route-rot .rot-page,
  body.route-rot .rot-workspace,
  body.route-rot .rot-flow,
  body.route-rot .rot-hero{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body.route-rot .route-action-bar.visible{
    padding:0 10px!important;
    min-height:38px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body.route-rot .route-action-bar.visible::-webkit-scrollbar{
    display:none!important;
  }
  body.route-rot .route-action-bar.visible .route-action-btn{
    height:32px!important;
    min-height:32px!important;
    padding:6px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  body.route-rot .route-action-bar.visible .route-action-btn--icon{
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
  }
  body.route-rot .rot-workspace{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr)!important;
    grid-template-areas:
      "hero"
      "result"
      "flow"!important;
    gap:10px!important;
  }
  body.route-rot .rot-workspace > .rot-hero{
    grid-area:hero!important;
    padding:12px 12px 10px!important;
    border-radius:14px!important;
    gap:8px!important;
  }
  body.route-rot .rot-flow{
    grid-area:flow!important;
    display:grid!important;
    gap:10px!important;
  }
  body.route-rot .rot-workspace .rot-result{
    grid-area:result!important;
    position:static!important;
    top:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
    box-shadow:0 6px 18px rgba(15,39,68,.08)!important;
  }
  body.route-rot .rot-result:not(:has(.rot-result-details[open])){
    max-height:none!important;
    overflow:visible!important;
  }
  body.route-rot .rot-result-head{
    display:grid!important;
    grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:42px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
  }
  body.route-rot .rot-result-head span{
    min-width:0!important;
    font-size:.72rem!important;
    line-height:1.1!important;
    white-space:normal!important;
  }
  body.route-rot .rot-result-head strong{
    min-width:0!important;
    font-size:1.05rem!important;
    line-height:1.08!important;
    text-align:right!important;
    overflow-wrap:anywhere!important;
  }
  body.route-rot .rot-result-details > summary{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:.82rem!important;
  }
  body.route-rot .rot-page .v7-kicker{
    margin:0!important;
    font-size:.68rem!important;
    line-height:1!important;
    max-width:100%!important;
  }
  body.route-rot .rot-page .page-title{
    margin:0!important;
    max-width:100%!important;
    font-size:clamp(1.28rem, 6vw, 1.62rem)!important;
    line-height:1.08!important;
    letter-spacing:0!important;
    overflow-wrap:anywhere!important;
  }
  body.route-rot .rot-page .page-description{
    margin:0!important;
    font-size:.92rem!important;
    line-height:1.35!important;
    max-width:100%!important;
  }
  body.route-rot .rot-hero .home-alert-strip{
    margin:0!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    gap:4px!important;
    font-size:.88rem!important;
    line-height:1.28!important;
  }
  body.route-rot .rot-step-accordion,
  body.route-rot .rot-complaint-panel,
  body.route-rot .rot-discriminator-panel,
  body.route-rot .rot-training-entry,
  body.route-rot .rot-legacy-links{
    margin:0!important;
    border-radius:14px!important;
  }
  body.route-rot .rot-step-accordion > summary{
    display:grid!important;
    grid-template-columns:38px minmax(0, 1fr) 30px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:2px!important;
    min-height:56px!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  body.route-rot .rot-step-accordion > summary .home-section-kicker{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border-radius:14px!important;
    background:#eaf4ff!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-indent:0!important;
    visibility:visible!important;
    -webkit-text-fill-color:transparent!important;
  }
  body.route-rot .rot-age-panel > summary .home-section-kicker::before{content:"1"!important;}
  body.route-rot .rot-context-panel > summary .home-section-kicker::before{content:"2"!important;}
  body.route-rot .rot-time-panel > summary .home-section-kicker::before{content:"3"!important;}
  body.route-rot .rot-gate-panel > summary .home-section-kicker::before{content:"4"!important;}
  body.route-rot .rot-step-accordion > summary .home-section-kicker::before{
    display:block!important;
    visibility:visible!important;
    color:#0f2744!important;
    -webkit-text-fill-color:#0f2744!important;
    font-size:.88rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  body.route-rot .rot-step-accordion > summary strong{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    font-size:.98rem!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  body.route-rot .rot-step-summary{
    grid-column:2!important;
    grid-row:2!important;
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    color:#0f2744!important;
    opacity:.9!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:left!important;
  }
  body.route-rot .rot-step-accordion > summary::after{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    justify-self:end!important;
    align-self:center!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    font-size:14px!important;
    line-height:28px!important;
  }
  body.route-rot .rot-step-body{
    padding:10px 12px 12px!important;
  }
  body.route-rot .rot-age-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:8px!important;
  }
  body.route-rot .rot-age-chip{
    display:grid!important;
    gap:2px!important;
    min-height:50px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-align:left!important;
  }
  body.route-rot .rot-age-chip strong,
  body.route-rot .rot-age-chip span{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.12!important;
  }
  body.route-rot .rot-age-chip strong{
    font-size:.96rem!important;
  }
  body.route-rot .rot-age-chip span{
    font-size:.76rem!important;
  }
}

@media(max-width:430px){
  body.route-rot .rot-page .page-title{
    font-size:1.32rem!important;
  }
  body.route-rot .rot-page .page-description{
    font-size:.86rem!important;
  }
  body.route-rot .rot-workspace > .rot-hero{
    padding:10px!important;
  }
  body.route-rot .rot-step-accordion > summary{
    grid-template-columns:34px minmax(0, 1fr) 28px!important;
    column-gap:8px!important;
    min-height:52px!important;
    padding:9px 10px!important;
  }
  body.route-rot .rot-step-accordion > summary .home-section-kicker{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:12px!important;
  }
  body.route-rot .rot-step-accordion > summary strong{
    font-size:.9rem!important;
  }
  body.route-rot .rot-step-summary{
    font-size:.68rem!important;
  }
  body.route-rot .rot-result-head{
    grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr)!important;
    padding:7px 9px!important;
  }
  body.route-rot .rot-result-head strong{
    font-size:.98rem!important;
  }
}

/* V4_F48: Diagnosefinder mobile compact authority */
@media(max-width:900px){
  body.route-finder-hub{
    --pem-mobile-header-h:94px!important;
  }
  body.route-finder-hub:has(.route-action-bar.visible){
    --pem-mobile-header-h:96px!important;
  }
  body.route-finder-hub .app-shell{
    padding-top:calc(var(--pem-mobile-header-h, 116px) + 10px)!important;
  }
  body.route-finder-hub #content,
  body.route-finder-hub .section-stack,
  body.route-finder-hub .pem-f2-hub,
  body.route-finder-hub .finder-accordion-panel,
  body.route-finder-hub .age-selector-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.route-finder-hub .route-action-bar.visible{
    padding:0 10px!important;
    min-height:38px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body.route-finder-hub .route-action-bar.visible::-webkit-scrollbar{
    display:none!important;
  }
  body.route-finder-hub .route-action-bar.visible .route-action-btn{
    height:32px!important;
    min-height:32px!important;
    padding:6px 10px!important;
    border-radius:12px!important;
    font-size:11px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  body.route-finder-hub .pem-f2-hub{
    margin-top:0!important;
    padding:8px!important;
    gap:8px!important;
    border-radius:14px!important;
    overflow:visible!important;
  }
  body.route-finder-hub .finder-accordion-panel{
    margin:0!important;
    border-radius:13px!important;
    box-shadow:0 4px 14px rgba(15,39,68,.045)!important;
  }
  body.route-finder-hub .finder-accordion-summary{
    min-height:52px!important;
    padding:9px 10px 9px 12px!important;
    grid-template-columns:minmax(0,1fr) 30px!important;
    gap:8px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.route-finder-hub .finder-accordion-summary span,
  body.route-finder-hub .finder-accordion-summary em{
    min-width:0!important;
  }
  body.route-finder-hub .finder-accordion-summary em{
    font-size:.68rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-finder-hub .finder-accordion-summary strong,
  body.route-finder-hub .finder-accordion-summary b{
    font-size:.92rem!important;
    line-height:1.1!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.route-finder-hub .finder-accordion-summary i{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    font-size:13px!important;
  }
  body.route-finder-hub .finder-accordion-body{
    padding:8px 10px 10px!important;
  }
  body.route-finder-hub .age-selector-panel{
    margin:0!important;
    padding:10px!important;
    border-radius:13px!important;
  }
  body.route-finder-hub .age-selector-panel h3,
  body.route-finder-hub .age-selector-title{
    margin:0 0 4px!important;
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  body.route-finder-hub .age-selector-panel p,
  body.route-finder-hub .age-selector-panel .v7-muted,
  body.route-finder-hub .age-selector-title small{
    margin:0 0 8px!important;
    font-size:.78rem!important;
    line-height:1.24!important;
  }
  body.route-finder-hub .age-grid,
  body.route-finder-hub .age-group-bar,
  body.route-finder-hub .age-group-bar--locked{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:7px!important;
  }
  body.route-finder-hub .age-chip{
    display:grid!important;
    gap:2px!important;
    min-height:48px!important;
    padding:8px 9px!important;
    border-radius:12px!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.route-finder-hub .age-chip strong,
  body.route-finder-hub .age-chip span{
    display:block!important;
    min-width:0!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.route-finder-hub .age-chip strong{
    font-size:.94rem!important;
  }
  body.route-finder-hub .age-chip span{
    font-size:.72rem!important;
  }
  body.route-finder-hub .hub-sticky-actions{
    position:static!important;
    margin:8px 0 0!important;
    padding:8px!important;
    border-radius:13px!important;
    gap:8px!important;
  }
  body.route-finder-hub .hub-sticky-actions .action-button{
    min-height:42px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    font-size:.9rem!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

@media(max-width:430px){
  body.route-finder-hub{
    --pem-mobile-header-h:94px!important;
  }
  body.route-finder-hub:has(.route-action-bar.visible){
    --pem-mobile-header-h:98px!important;
  }
  body.route-finder-hub .pem-f2-hub{
    padding:7px!important;
    gap:7px!important;
  }
  body.route-finder-hub .finder-accordion-summary{
    min-height:50px!important;
    padding:8px 9px 8px 10px!important;
  }
  body.route-finder-hub .age-selector-panel{
    padding:9px!important;
  }
  body.route-finder-hub .age-grid,
  body.route-finder-hub .age-group-bar,
  body.route-finder-hub .age-group-bar--locked{
    gap:6px!important;
  }
  body.route-finder-hub .age-chip{
    min-height:44px!important;
    padding:7px 8px!important;
  }
  body.route-finder-hub .age-chip strong{
    font-size:.88rem!important;
  }
  body.route-finder-hub .age-chip span{
    font-size:.68rem!important;
  }
  body.route-finder-hub .hub-sticky-actions .action-button{
    font-size:.82rem!important;
  }
}

/* V4_F49: ROT mobile result details must stay inside the result card */
@media(max-width:900px){
  body.route-rot .rot-workspace{
    grid-template-areas:
      "result"
      "hero"
      "flow"!important;
  }
  body.route-rot .rot-workspace > .rot-result{
    margin-top:0!important;
  }
  body.route-rot .rot-workspace > .rot-hero{
    margin-top:0!important;
  }
  body.route-rot .rot-workspace .rot-result{
    display:grid!important;
    gap:8px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.route-rot .rot-result:not(:has(.rot-result-details[open])){
    max-height:none!important;
    overflow:visible!important;
  }
  body.route-rot .rot-result-details{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.route-rot .rot-result-details > summary{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:34px!important;
    margin:0!important;
    padding:7px 10px!important;
    border:1px solid #cfe0f2!important;
    border-radius:12px!important;
    background:#f8fbff!important;
    color:#0f2744!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    cursor:pointer!important;
  }
  body.route-rot .rot-result-details > summary::-webkit-details-marker{
    display:none!important;
  }
  body.route-rot .rot-result-details > summary::after{
    position:static!important;
    content:"\25BC"!important;
    flex:0 0 auto!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:8px!important;
    border-radius:999px!important;
    background:#effaf3!important;
    border:1px solid #94d5a8!important;
    color:#167342!important;
    font-size:12px!important;
    line-height:1!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.route-rot .rot-result-details[open] > summary{
    background:#fffafa!important;
    border-color:#f3c1c1!important;
  }
  body.route-rot .rot-result-details[open] > summary::after{
    content:"\25B2"!important;
    background:#fff3f3!important;
    border-color:#f3b4b4!important;
    color:#c60000!important;
  }
  body.route-rot .rot-result-detail-body{
    position:static!important;
    display:grid!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    padding:8px 0 0!important;
    overflow:visible!important;
  }
}

/* V4_F51: Diagnosefinder mobile readable compact density */
@media(max-width:900px){
  body.route-finder-hub .finder-accordion-summary{
    min-height:46px!important;
    padding:7px 10px!important;
    grid-template-columns:minmax(0,1fr) 28px!important;
    gap:5px 8px!important;
  }
  body.route-finder-hub .finder-accordion-summary em{
    font-size:.76rem!important;
    line-height:1.02!important;
    letter-spacing:.04em!important;
  }
  body.route-finder-hub .finder-accordion-summary strong,
  body.route-finder-hub .finder-accordion-summary b{
    font-size:1rem!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  body.route-finder-hub .finder-accordion-summary i{
    width:26px!important;
    min-width:26px!important;
    height:26px!important;
    min-height:26px!important;
    font-size:12px!important;
  }
  body.route-finder-hub .finder-accordion-body{
    padding:7px 9px 9px!important;
  }
  body.route-finder-hub .finder-accordion-panel.is-open .finder-accordion-body{
    max-height:min(56vh, 460px)!important;
  }
  body.route-finder-hub .pem-icon-card-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body.route-finder-hub .pem-icon-card{
    min-height:74px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) 20px!important;
    grid-template-rows:auto auto!important;
    align-items:start!important;
    gap:3px 9px!important;
    letter-spacing:0!important;
  }
  body.route-finder-hub .pem-card-icon{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    min-height:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:1rem!important;
    line-height:1!important;
  }
  body.route-finder-hub .pem-card-title{
    grid-column:2!important;
    grid-row:1!important;
    font-size:1.08rem!important;
    line-height:1.12!important;
    letter-spacing:0!important;
    font-weight:850!important;
    overflow-wrap:normal!important;
  }
  body.route-finder-hub .pem-card-desc{
    grid-column:2 / span 2!important;
    grid-row:2!important;
    margin:0!important;
    color:#193a56!important;
    font-size:.88rem!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    font-weight:600!important;
  }
  body.route-finder-hub .pem-card-check{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:start!important;
  }
}

@media(max-width:430px){
  body.route-finder-hub .finder-accordion-summary{
    min-height:44px!important;
    padding:7px 9px!important;
  }
  body.route-finder-hub .finder-accordion-summary em{
    font-size:.72rem!important;
  }
  body.route-finder-hub .finder-accordion-summary strong,
  body.route-finder-hub .finder-accordion-summary b{
    font-size:.96rem!important;
  }
  body.route-finder-hub .pem-icon-card{
    min-height:68px!important;
    padding:9px 10px!important;
    gap:2px 8px!important;
  }
  body.route-finder-hub .pem-card-title{
    font-size:1rem!important;
  }
  body.route-finder-hub .pem-card-desc{
    font-size:.8rem!important;
    line-height:1.22!important;
  }
}

/* V4_F52: ROT clinical urgency stays visible during mobile scrolling */
@media(max-width:900px){
  body.route-rot .rot-workspace .rot-result{
    position:sticky!important;
    top:calc(var(--pem-mobile-header-h, 104px) + 4px)!important;
    z-index:38!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid #cfe0f2!important;
    box-shadow:0 10px 22px rgba(15,39,68,.12)!important;
    backdrop-filter:saturate(1.05) blur(8px)!important;
  }
  body.route-rot .rot-result-head{
    min-height:38px!important;
    padding:7px 10px!important;
  }
  body.route-rot .rot-result-details[open] .rot-result-detail-body{
    max-height:min(42vh, 360px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    padding-right:2px!important;
  }
  body.route-rot .rot-step-accordion,
  body.route-rot .rot-complaint-panel,
  body.route-rot .rot-discriminator-panel{
    scroll-margin-top:calc(var(--pem-mobile-header-h, 104px) + 88px)!important;
  }
}

@media(max-width:430px){
  body.route-rot .rot-workspace .rot-result{
    top:calc(var(--pem-mobile-header-h, 104px) + 2px)!important;
  }
  body.route-rot .rot-result-head{
    min-height:36px!important;
    padding:6px 9px!important;
  }
}

/* V4_F53: Diagnosefinder selected dock must not reserve a large blank area */
@media(max-width:900px){
  body.route-finder-hub .hub-selected-zone:has(.hub-selected-box.has-selection){
    position:sticky!important;
    top:calc(var(--pem-mobile-header-h, 96px) + 4px)!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    z-index:70!important;
  }
  body.route-finder-hub .pem-f2-hub:has(.hub-selected-box.has-selection){
    padding-top:8px!important;
  }
  body.route-finder-hub .pem-f2-hub:has(.hub-selected-box.has-selection) .pem-ctx-panel.finder-accordion-panel{
    margin-top:0!important;
  }
  body.route-finder-hub .hub-selected-zone:has(.hub-selected-box.has-selection)::before{
    display:none!important;
  }
  body.route-finder-hub .hub-selected-box__content{
    max-height:96px!important;
  }
}

@media(max-width:430px){
  body.route-finder-hub .hub-selected-zone:has(.hub-selected-box.has-selection){
    top:calc(var(--pem-mobile-header-h, 96px) + 2px)!important;
  }
  body.route-finder-hub .pem-f2-hub:has(.hub-selected-box.has-selection){
    padding-top:7px!important;
  }
}

/* V4_F54: Diagnosefinder Schnellwahl should match Risikokontext visual weight */
body.route-finder-hub .pem-level-panel--primary .pem-icon-card{
  letter-spacing:0!important;
}

body.route-finder-hub #content .pem-level-panel--primary .pem-card-title,
body.route-finder-hub .pem-level-panel--primary .pem-card-title{
  font-size:15.5px!important;
  line-height:1.14!important;
  letter-spacing:0!important;
  font-weight:810!important;
}

body.route-finder-hub #content .pem-level-panel--primary .pem-card-desc,
body.route-finder-hub .pem-level-panel--primary .pem-card-desc{
  font-size:13.5px!important;
  line-height:1.22!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

@media(min-width:901px){
  body.route-finder-hub #content .pem-level-panel--primary .pem-icon-card-grid,
  body.route-finder-hub .pem-level-panel--primary .pem-icon-card-grid{
    gap:10px!important;
    align-items:start!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-icon-card,
  body.route-finder-hub .pem-level-panel--primary .pem-icon-card{
    height:auto!important;
    min-height:78px!important;
    max-height:none!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    grid-template-columns:24px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto!important;
    gap:3px 7px!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-icon,
  body.route-finder-hub .pem-level-panel--primary .pem-card-icon{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    font-size:.92rem!important;
    line-height:1!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-title,
  body.route-finder-hub .pem-level-panel--primary .pem-card-title{
    grid-column:2 / span 2!important;
    grid-row:1!important;
    min-width:0!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-desc,
  body.route-finder-hub .pem-level-panel--primary .pem-card-desc{
    grid-column:2 / span 2!important;
    grid-row:2!important;
    min-width:0!important;
    margin:0!important;
    overflow-wrap:normal!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-check,
  body.route-finder-hub .pem-level-panel--primary .pem-card-check{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }
}

@media(max-width:900px){
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-title,
  body.route-finder-hub .pem-level-panel--primary .pem-card-title{
    font-size:.9rem!important;
    line-height:1.1!important;
  }
  body.route-finder-hub #content .pem-level-panel--primary .pem-card-desc,
  body.route-finder-hub .pem-level-panel--primary .pem-card-desc{
    font-size:.74rem!important;
    line-height:1.2!important;
  }
}

/* V4_F55: Home becomes a compact clinical launcher, especially on mobile */
body.route-home .home-clinical-hero{
  gap:12px!important;
  padding:18px 20px!important;
}

/* V4_F56: ROT mobile should open as a decision tool, not as a document header */
@media(max-width:900px){
  body.route-rot{
    --pem-mobile-header-h:72px!important;
  }
  body.route-rot:has(.route-action-bar.visible){
    --pem-mobile-header-h:106px!important;
  }
  body.route-rot .app-shell{
    padding-top:calc(var(--pem-mobile-header-h, 72px) + 4px)!important;
  }
  body.route-rot .route-action-bar:not(.visible){
    display:none!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
  }
  body.route-rot .rot-workspace{
    gap:8px!important;
  }
  body.route-rot .rot-workspace > .rot-hero{
    padding:9px 10px!important;
    gap:6px!important;
    border-radius:12px!important;
  }
  body.route-rot .rot-page .v7-kicker{
    font-size:.58rem!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }
  body.route-rot .rot-page .page-title{
    font-size:1.18rem!important;
    line-height:1.08!important;
    max-width:100%!important;
  }
  body.route-rot .rot-page .page-description{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.78rem!important;
    line-height:1.24!important;
  }
  body.route-rot .rot-hero .home-alert-strip{
    padding:7px 8px!important;
    border-radius:10px!important;
    font-size:.75rem!important;
    line-height:1.22!important;
  }
  body.route-rot .rot-result{
    padding:6px!important;
    border-radius:12px!important;
  }
  body.route-rot .rot-result-head{
    min-height:36px!important;
    padding:6px 8px!important;
    border-radius:10px!important;
  }
  body.route-rot .rot-result-head span{
    font-size:.66rem!important;
  }
  body.route-rot .rot-result-head strong{
    font-size:.92rem!important;
  }
  body.route-rot .rot-flow{
    gap:8px!important;
  }
  body.route-rot .rot-step-accordion > summary{
    min-height:48px!important;
    padding:8px 10px!important;
    grid-template-columns:32px minmax(0, 1fr) 28px!important;
    column-gap:8px!important;
  }
  body.route-rot .rot-step-accordion > summary .home-section-kicker{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:11px!important;
  }
  body.route-rot .rot-step-accordion > summary strong{
    font-size:.9rem!important;
    line-height:1.08!important;
  }
  body.route-rot .rot-step-summary{
    font-size:.66rem!important;
    line-height:1.08!important;
  }
  body.route-rot .rot-step-body{
    padding:8px 10px 10px!important;
  }
}

@media(max-width:430px){
  body.route-rot .rot-page .page-title{
    font-size:1.12rem!important;
  }
  body.route-rot .rot-page .page-description{
    font-size:.74rem!important;
  }
  body.route-rot .rot-hero .home-alert-strip{
    font-size:.72rem!important;
  }
  body.route-rot .rot-result-head strong{
    font-size:.88rem!important;
  }
}

/* V4_F57: ROT trajectory choices as compact clinical signal rows */
body.route-rot .rot-time-panel .rot-step-body > .page-description{
  margin:0 0 8px!important;
  padding:8px 10px!important;
  border:1px solid #d7e5f5!important;
  border-left:4px solid #2d8f8a!important;
  border-radius:10px!important;
  background:#f7fbff!important;
  color:#23415f!important;
  font-size:.86rem!important;
  line-height:1.32!important;
}

/* V4_F58: ROT Zeitachse final mobile signal-list polish */
@media(max-width:900px){
  body.route-rot .rot-time-panel[open]{
    border-left-color:#2d8f8a!important;
  }
  body.route-rot .rot-time-panel .rot-step-body{
    display:grid!important;
    gap:6px!important;
  }
  body.route-rot .rot-time-panel .rot-step-body > .page-description{
    margin:0!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    background:#f6fafc!important;
    border-color:#d2e1ef!important;
    border-left-color:#2d8f8a!important;
    color:#284763!important;
  }
  body.route-rot .rot-time-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  body.route-rot .rot-time-chip{
    min-height:52px!important;
    grid-template-columns:4px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:1px 9px!important;
    padding:8px 9px 8px 0!important;
    border:1px solid #d5e2ee!important;
    border-radius:10px!important;
    border-left:0!important;
    background:linear-gradient(180deg,#fff,#fbfdff)!important;
    box-shadow:none!important;
  }
  body.route-rot .rot-time-chip::before{
    content:""!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:stretch!important;
    width:4px!important;
    border-radius:999px!important;
    background:#7fb0d8!important;
  }
  body.route-rot .rot-time-chip::after{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    width:13px!important;
    height:13px!important;
  }
  body.route-rot .rot-time-chip strong,
  body.route-rot .rot-time-chip span{
    grid-column:2!important;
    min-width:0!important;
  }
  body.route-rot .rot-time-chip strong{
    font-size:.76rem!important;
    line-height:1.08!important;
  }
  body.route-rot .rot-time-chip span{
    font-size:.66rem!important;
    line-height:1.14!important;
    color:#36536e!important;
  }
  body.route-rot .rot-time-chip.active{
    background:#eef7ff!important;
    border-color:#9dc7ec!important;
    box-shadow:0 0 0 2px rgba(15,94,168,.08)!important;
  }
  body.route-rot .rot-time-chip.active::before{
    background:#0f5ea8!important;
  }
}

/* V4_F59: Home mobile secondary sections and quick access density */
.home-secondary-mobile{
  display:none;
}

@media(max-width:900px){
  body.route-home .home-dual-grid{
    display:none!important;
  }
  body.route-home .home-secondary-mobile{
    display:block!important;
    border:1px solid #cfe0f2!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(15,39,68,.05)!important;
    overflow:hidden!important;
  }
  body.route-home .home-secondary-mobile > summary{
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:10px 12px!important;
    cursor:pointer!important;
    list-style:none!important;
    background:linear-gradient(180deg,#f8fbff,#fff)!important;
  }
  body.route-home .home-secondary-mobile > summary::-webkit-details-marker{
    display:none!important;
  }
  body.route-home .home-secondary-mobile > summary::after{
    content:"\25BC"!important;
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #8ed0a4!important;
    border-radius:999px!important;
    color:#167342!important;
    background:#f0fff6!important;
    font-size:12px!important;
    font-weight:900!important;
  }
  body.route-home .home-secondary-mobile[open] > summary::after{
    content:"\25B2"!important;
    border-color:#f4b1ad!important;
    color:#bf1d13!important;
    background:#fff6f5!important;
  }
  body.route-home .home-secondary-mobile > summary span{
    min-width:0!important;
    display:grid!important;
    gap:2px!important;
  }
  body.route-home .home-secondary-mobile > summary strong{
    color:#0f2744!important;
    font-size:.92rem!important;
    line-height:1.1!important;
  }
  body.route-home .home-secondary-mobile > summary small{
    color:#47627f!important;
    font-size:.72rem!important;
    line-height:1.1!important;
  }
  body.route-home .home-secondary-mobile__body{
    display:grid!important;
    gap:8px!important;
    padding:10px!important;
    border-top:1px solid #e4edf7!important;
    background:#fbfdff!important;
  }
  body.route-home .home-secondary-mobile__panel{
    display:grid!important;
    gap:6px!important;
  }
  body.route-home .home-secondary-mobile__list{
    display:grid!important;
    gap:5px!important;
  }
  body.route-home .home-secondary-mobile__row{
    min-height:38px!important;
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 9px!important;
    border:1px solid #d5e3f2!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#0f2744!important;
    text-align:left!important;
  }
  body.route-home .home-secondary-mobile__row span{
    width:24px!important;
    height:24px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    background:#eaf4ff!important;
    color:#0f4f85!important;
    font-size:.72rem!important;
    font-weight:900!important;
  }
  body.route-home .home-secondary-mobile__row strong{
    min-width:0!important;
    font-size:.78rem!important;
    line-height:1.12!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-home .home-secondary-mobile__chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  body.route-home .home-secondary-mobile__chip{
    min-height:34px!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border:1px solid #d6e3f0!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#0f2744!important;
  }
  body.route-home .home-secondary-mobile__chip strong{
    display:block!important;
    max-width:100%!important;
    font-size:.76rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-home .home-recall{
    padding:12px!important;
    border-radius:14px!important;
  }
  body.route-home .home-recall__head{
    align-items:center!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }
  body.route-home .home-recall__head h2{
    font-size:1rem!important;
    line-height:1.12!important;
  }
  body.route-home .home-recall__search-action{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:.76rem!important;
  }
  body.route-home .home-recall-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.route-home .home-recall-panel{
    min-height:0!important;
    padding:0!important;
    border-radius:12px!important;
  }
  body.route-home .home-recall-panel--favorites:has(.home-recall-empty){
    display:none!important;
  }
  body.route-home .home-recall-panel__head{
    min-height:42px!important;
    padding:8px 10px!important;
  }
  body.route-home .home-recall-panel__icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:.72rem!important;
  }
  body.route-home .home-recall-panel__head h3{
    font-size:.88rem!important;
  }
  body.route-home .home-recall-panel__body{
    padding:8px 10px!important;
    gap:6px!important;
    min-height:0!important;
    max-height:142px!important;
    overflow:hidden!important;
  }
  body.route-home .home-recall-panel--recent .home-recall-item:nth-child(n+3){
    display:none!important;
  }
  body.route-home .home-recall-item{
    min-height:44px!important;
    padding:7px 8px!important;
    border-radius:10px!important;
  }
  body.route-home .home-recall-item__marker{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    font-size:.7rem!important;
  }
  body.route-home .home-recall-item__copy strong{
    font-size:.82rem!important;
    line-height:1.05!important;
  }
  body.route-home .home-recall-item__copy span{
    -webkit-line-clamp:1!important;
    font-size:.7rem!important;
    line-height:1.12!important;
  }
  body.route-home .home-recall-search-list{
    gap:6px!important;
  }
  body.route-home .home-recall-search-chip{
    min-height:32px!important;
    padding:6px 9px!important;
    font-size:.74rem!important;
  }
  body.route-home .home-recall-panel__action{
    min-height:32px!important;
    margin:0 10px 10px!important;
    padding:6px 10px!important;
    font-size:.74rem!important;
  }
}
body.route-rot .rot-time-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:8px!important;
}
body.route-rot .rot-time-chip{
  position:relative!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) 20px!important;
  align-items:center!important;
  gap:4px 10px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  border:1px solid #d4e3f3!important;
  border-left:5px solid #83b4dc!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(15,39,68,.04)!important;
}
body.route-rot .rot-time-chip::after{
  content:""!important;
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:14px!important;
  height:14px!important;
  border-radius:999px!important;
  border:2px solid #b9c9d9!important;
  background:#fff!important;
  justify-self:end!important;
}
body.route-rot .rot-time-chip strong{
  grid-column:1!important;
  font-size:.9rem!important;
  line-height:1.13!important;
  letter-spacing:0!important;
}
body.route-rot .rot-time-chip span{
  grid-column:1!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#304966!important;
  font-size:.76rem!important;
  line-height:1.22!important;
}
body.route-rot .rot-time-chip.active{
  border-color:#86bcec!important;
  border-left-color:#0f5ea8!important;
  background:#eef7ff!important;
  box-shadow:0 0 0 2px rgba(15,94,168,.1)!important;
}
body.route-rot .rot-time-chip.active::after{
  border-color:#0f5ea8!important;
  background:#0f5ea8!important;
  box-shadow:inset 0 0 0 3px #fff!important;
}

@media(max-width:900px){
  body.route-rot .rot-time-panel .rot-step-body > .page-description{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin-bottom:7px!important;
    padding:7px 9px!important;
    font-size:.76rem!important;
    line-height:1.25!important;
  }
  body.route-rot .rot-time-grid{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  body.route-rot .rot-time-chip{
    padding:8px 10px!important;
    border-radius:10px!important;
    border-left-width:4px!important;
    gap:2px 8px!important;
  }
  body.route-rot .rot-time-chip strong{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.8rem!important;
    line-height:1.08!important;
  }
  body.route-rot .rot-time-chip span{
    -webkit-line-clamp:1!important;
    font-size:.7rem!important;
    line-height:1.18!important;
  }
}

body.route-home .home-clinical-title{
  max-width:920px!important;
  font-size:clamp(1.45rem,2vw,2rem)!important;
}

body.route-home .home-clinical-subtitle{
  max-width:900px!important;
}

body.route-home .home-workflow-panel,
body.route-home .home-scenario-panel{
  min-height:0!important;
}

body.route-home .home-scenario-grid{
  display:grid!important;
  gap:10px!important;
}

body.route-home .home-scenario-card{
  min-height:66px!important;
  padding:12px 14px!important;
  border-radius:10px!important;
}

body.route-home .home-scenario-card strong{
  font-size:1rem!important;
  line-height:1.18!important;
}

body.route-home .home-scenario-card span{
  font-size:.88rem!important;
  line-height:1.28!important;
}

@media(max-width:900px){
  body.route-home #content{
    gap:10px!important;
  }

  body.route-home .home-clinical-hero{
    gap:8px!important;
    padding:10px!important;
    border-radius:12px!important;
  }

  body.route-home .home-clinical-kicker{
    display:none!important;
  }

  body.route-home .home-clinical-title{
    font-size:1.28rem!important;
    line-height:1.12!important;
    max-width:none!important;
  }

  body.route-home .home-clinical-subtitle{
    display:block!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:unset!important;
    max-width:none!important;
    font-size:.86rem!important;
    line-height:1.28!important;
  }

  body.route-home .home-clinical-hero .home-alert-strip{
    display:grid!important;
    gap:3px!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    font-size:.8rem!important;
    line-height:1.22!important;
  }

  body.route-home .home-quickstart-grid{
    gap:8px!important;
  }

  body.route-home .home-app-card{
    border-left-width:5px!important;
    border-radius:10px!important;
  }

  body.route-home .home-app-card__main{
    grid-template-columns:36px minmax(0,1fr) 16px!important;
    gap:10px!important;
    min-height:76px!important;
    padding:10px 11px!important;
  }

  body.route-home .home-app-card__icon{
    width:34px!important;
    height:34px!important;
    border-radius:8px!important;
    font-size:.68rem!important;
  }

  body.route-home .home-app-card--guidelines .home-app-card__icon{
    font-size:.55rem!important;
  }

  body.route-home .home-app-card__content{
    gap:3px!important;
  }

  body.route-home .home-app-card__label,
  body.route-home .home-app-card--guidelines .home-app-card__label{
    font-size:.58rem!important;
    line-height:1!important;
    letter-spacing:.075em!important;
  }

  body.route-home .home-app-card__title,
  body.route-home .home-quickstart-main h2,
  body.route-home .home-dose-rechner-card h2{
    font-size:1rem!important;
    line-height:1.12!important;
  }

  body.route-home .home-app-card--guidelines .home-app-card__title{
    font-size:.92rem!important;
    line-height:1.12!important;
  }

  body.route-home .home-app-card__text{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.76rem!important;
    line-height:1.22!important;
  }

  body.route-home .home-app-card__arrow{
    font-size:22px!important;
  }

  body.route-home .home-app-card__subaction{
    min-height:36px!important;
    padding:8px 11px 9px 56px!important;
    font-size:.76rem!important;
  }

  body.route-home .home-dual-grid{
    gap:10px!important;
  }

  body.route-home .home-workflow-panel,
  body.route-home .home-scenario-panel,
  body.route-home .quick-access-home--clinical{
    padding:12px!important;
    border-radius:12px!important;
  }

  body.route-home .home-workflow-panel h2,
  body.route-home .home-scenario-panel h2,
  body.route-home .home-recall__head h2{
    font-size:1.06rem!important;
    line-height:1.14!important;
    margin-top:2px!important;
  }

  body.route-home .home-workflow-list,
  body.route-home .home-scenario-grid{
    gap:7px!important;
  }

  body.route-home .home-workflow-step{
    grid-template-columns:28px minmax(0,1fr)!important;
    min-height:40px!important;
    padding:8px 10px!important;
    gap:9px!important;
    font-size:.84rem!important;
  }

  body.route-home .home-workflow-step__index{
    width:24px!important;
    height:24px!important;
    font-size:.72rem!important;
  }

  body.route-home .home-scenario-card{
    min-height:52px!important;
    padding:9px 10px!important;
  }

  body.route-home .home-scenario-card strong{
    font-size:.88rem!important;
    line-height:1.14!important;
  }

  body.route-home .home-scenario-card span{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.75rem!important;
    line-height:1.18!important;
  }

  body.route-home .home-recall{
    padding:12px!important;
    gap:10px!important;
  }

  body.route-home .home-recall-panel__head{
    padding:10px 11px 8px!important;
  }

  body.route-home .home-recall-panel__icon{
    width:28px!important;
    height:28px!important;
  }

  body.route-home .home-recall-panel__head h3{
    font-size:.92rem!important;
  }

  body.route-home .home-recall-panel__body{
    padding:8px 10px 6px!important;
  }

  body.route-home .home-recall-item{
    min-height:42px!important;
  }

  body.route-home .home-recall-panel__action,
  body.route-home .home-recall__search-action{
    min-height:32px!important;
    padding:7px 10px!important;
    font-size:.78rem!important;
  }
}

/* V4_F62: final Home mobile launcher density */
@media(max-width:600px){
  body.route-home #content{
    gap:8px!important;
  }

  body.route-home .home-clinical-hero{
    padding:8px 10px!important;
    gap:6px!important;
  }

  body.route-home .home-clinical-title{
    font-size:1.18rem!important;
    line-height:1.08!important;
  }

  body.route-home .home-clinical-subtitle{
    font-size:.8rem!important;
    line-height:1.22!important;
  }

  body.route-home .home-clinical-hero .home-alert-strip{
    padding:7px 8px!important;
    font-size:.74rem!important;
    line-height:1.18!important;
  }

  body.route-home .home-quickstart-grid{
    gap:7px!important;
  }

  body.route-home .home-app-card__main{
    grid-template-columns:32px minmax(0,1fr) 14px!important;
    min-height:66px!important;
    gap:8px!important;
    padding:8px 10px!important;
  }

  body.route-home .home-app-card__icon{
    width:30px!important;
    height:30px!important;
    border-radius:8px!important;
    font-size:.6rem!important;
  }

  body.route-home .home-app-card__label,
  body.route-home .home-app-card--guidelines .home-app-card__label{
    font-size:.52rem!important;
    line-height:1!important;
  }

  body.route-home .home-app-card__title,
  body.route-home .home-quickstart-main h2,
  body.route-home .home-dose-rechner-card h2{
    font-size:.92rem!important;
    line-height:1.08!important;
  }

  body.route-home .home-app-card--guidelines .home-app-card__title{
    font-size:.82rem!important;
  }

  body.route-home .home-app-card__text{
    -webkit-line-clamp:1!important;
    font-size:.7rem!important;
    line-height:1.16!important;
  }

  body.route-home .home-app-card__subaction{
    min-height:30px!important;
    padding:6px 10px 7px 50px!important;
    font-size:.7rem!important;
  }

  body.route-home .home-secondary-mobile > summary{
    min-height:44px!important;
    padding:8px 42px 8px 12px!important;
  }
}

/* V4_F63: desktop brand subtitle belongs directly under PEMGuide */
@media(min-width:901px){
  .app-header__top .app-brand-block{
    display:block!important;
  }

  .app-header__top .app-logo-wrap{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:10px!important;
    align-items:center!important;
  }

  .app-header__top .app-logo-wrap > span{
    padding-top:0!important;
  }

  .app-header__top .app-subtitle{
    display:block!important;
    margin-top:-2px!important;
    padding-left:54px!important;
    max-width:none!important;
    font-size:calc(var(--pem-fs-small) + 2px)!important;
    line-height:1.12!important;
  }

  .app-header .nav-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
  }

  .app-header .nav-row > .nav-btn{
    flex:0 0 auto!important;
    min-width:auto!important;
    height:44px!important;
    padding-inline:13px!important;
    white-space:nowrap!important;
  }

  .app-header .nav-row #navHome{
    width:46px!important;
    padding-inline:0!important;
  }

  .app-header .nav-row .nav-actions{
    flex:0 0 auto!important;
    display:flex!important;
    gap:8px!important;
  }

  .app-header .nav-row .nav-actions .nav-btn{
    width:44px!important;
    min-width:44px!important;
    padding-inline:0!important;
  }

  .app-header .nav-row .nav-search-slot{
    flex:1 1 420px!important;
    min-width:320px!important;
    max-width:none!important;
    margin:0!important;
  }

  .app-header .nav-row #globalSearch{
    width:100%!important;
  }
}

/* V4_F71: Home mobile opens as a clinical launcher, not a landing page */
@media(max-width:600px){
  body.route-home .home-clinical-hero{
    padding:7px 9px!important;
    gap:5px!important;
    border-radius:10px!important;
  }

  html body.route-home #content h1.home-clinical-title,
  body.route-home #content .home-clinical-title,
  body.route-home .home-clinical-title{
    font-size:22px!important;
    line-height:1.08!important;
    max-width:100%!important;
  }

  body.route-home #content .home-clinical-subtitle,
  body.route-home .home-clinical-subtitle{
    font-size:15px!important;
    line-height:1.18!important;
  }

  body.route-home .home-clinical-signals{
    display:none!important;
  }

  body.route-home #content .home-clinical-hero .home-alert-strip,
  body.route-home .home-clinical-hero .home-alert-strip{
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:14px!important;
    line-height:1.16!important;
  }

  body.route-home #content .home-clinical-hero .home-alert-strip strong,
  body.route-home #content .home-clinical-hero .home-alert-strip strong,
  body.route-home .home-clinical-hero .home-alert-strip strong{
    font-size:13px!important;
    line-height:1.05!important;
  }

  body.route-home .home-quickstart-grid{
    gap:6px!important;
  }
}

/* V4_F83: durable Home launcher guard against legacy quickstart overrides */
body.route-home #content .home-quickstart-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
}

body.route-home #content .home-app-card{
  --home-card-accent:#8ebfe9;
  --home-card-soft:#f7fbff;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  border:1px solid #cfe0f2!important;
  border-left:6px solid var(--home-card-accent)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,39,68,.055)!important;
}

body.route-home #content .home-app-card--danger{--home-card-accent:#e25a5a;--home-card-soft:#fff7f7;}
body.route-home #content .home-app-card--brand{--home-card-accent:#2b75bb;--home-card-soft:#f3f8ff;}
body.route-home #content .home-app-card--guidelines{--home-card-accent:#1d9a83;--home-card-soft:#f2fbf8;}
body.route-home #content .home-app-card--reference{--home-card-accent:#4f77b6;--home-card-soft:#f3f7ff;}
body.route-home #content .home-app-card--tools{--home-card-accent:#bf8a00;--home-card-soft:#fffaf0;}

body.route-home #content button.home-app-card__main,
body.route-home #content .home-app-card__main{
  appearance:none!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 26px!important;
  gap:14px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:116px!important;
  margin:0!important;
  padding:16px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#061f3b!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

body.route-home #content .home-app-card__icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:1px solid color-mix(in srgb,var(--home-card-accent) 45%,#d7e5f2)!important;
  border-radius:12px!important;
  background:var(--home-card-soft)!important;
  color:#064b82!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

body.route-home #content .home-app-card__content{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0!important;
}

body.route-home #content .home-app-card__label{
  display:block!important;
  color:#061f3b!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

body.route-home #content .home-app-card__title{
  display:block!important;
  color:#061f3b!important;
  font-size:clamp(1.08rem,1.28vw,1.34rem)!important;
  line-height:1.16!important;
  font-weight:850!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

body.route-home #content .home-app-card__text{
  display:block!important;
  color:#24415e!important;
  font-size:.9rem!important;
  line-height:1.34!important;
  font-weight:520!important;
  max-width:760px!important;
}

body.route-home #content .home-app-card__arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#0b5f9f!important;
  font-size:26px!important;
  line-height:1!important;
  font-weight:600!important;
}

body.route-home #content .home-app-card__subaction{
  appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 18px 12px 76px!important;
  border:0!important;
  border-top:1px solid #f0caca!important;
  border-radius:0!important;
  background:#fff8f8!important;
  color:#061f3b!important;
  text-align:left!important;
  font-size:.9rem!important;
  font-weight:850!important;
  box-shadow:none!important;
}

body.route-home #content .home-clinical-signals{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

body.route-home #content .home-clinical-signals span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 10px!important;
  border:1px solid #cfe0f2!important;
  border-radius:999px!important;
  background:#f3f8ff!important;
  color:#1b4f86!important;
  font-size:.82rem!important;
  line-height:1.1!important;
  font-weight:800!important;
}

body.route-home #content .home-workflow-step{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  text-align:left!important;
}

body.route-home #content .home-workflow-step__index{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  background:#eaf3ff!important;
  color:#0f4f85!important;
  font-weight:850!important;
}

body.route-home #content .home-workflow-step__text{
  min-width:0!important;
  overflow-wrap:normal!important;
}

@media(max-width:900px){
  body.route-home #content .home-quickstart-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.route-home #content button.home-app-card__main,
  body.route-home #content .home-app-card__main{
    grid-template-columns:40px minmax(0,1fr) 22px!important;
    gap:10px!important;
    min-height:82px!important;
    padding:12px 12px!important;
  }

  body.route-home #content .home-app-card__icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:10px!important;
    font-size:.72rem!important;
  }

  body.route-home #content .home-app-card__label{
    font-size:.66rem!important;
    letter-spacing:.07em!important;
  }

  body.route-home #content .home-app-card__title{
    font-size:1.04rem!important;
    line-height:1.14!important;
  }

  body.route-home #content .home-app-card__text{
    font-size:.84rem!important;
    line-height:1.25!important;
  }

  body.route-home #content .home-app-card__subaction{
    min-height:38px!important;
    padding:8px 12px 9px 62px!important;
    font-size:.84rem!important;
  }
}

/* V4_F72: ROT mobile opens on the decision workflow, not a document header */
@media(max-width:600px){
  body.route-rot #content{
    gap:8px!important;
  }

  body.route-rot .rot-workspace{
    gap:7px!important;
  }

  body.route-rot #content .rot-workspace > .rot-hero,
  body.route-rot .rot-workspace > .rot-hero{
    padding:8px 9px!important;
    gap:5px!important;
    margin:0!important;
    border-radius:10px!important;
  }

  body.route-rot #content .rot-page .v7-kicker,
  body.route-rot .rot-page .v7-kicker{
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    margin:0!important;
    white-space:normal!important;
  }

  html body.route-rot #content h1.page-title,
  html body.route-rot #content .rot-page .page-title,
  body.route-rot #content .rot-page .page-title,
  body.route-rot .rot-page .page-title{
    font-size:22px!important;
    line-height:1.08!important;
    margin:0!important;
    max-width:100%!important;
    letter-spacing:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  body.route-rot #content .rot-page .page-description,
  body.route-rot .rot-page .page-description{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }

  body.route-rot #content .rot-hero .home-alert-strip,
  body.route-rot .rot-hero .home-alert-strip{
    padding:6px 7px!important;
    border-radius:9px!important;
    font-size:14px!important;
    line-height:1.15!important;
    margin:0!important;
  }

  body.route-rot #content .rot-hero .home-alert-strip strong,
  body.route-rot .rot-hero .home-alert-strip strong{
    font-size:13px!important;
    line-height:1.05!important;
  }

  body.route-rot .rot-result-head{
    min-height:34px!important;
    padding:5px 8px!important;
    border-radius:10px!important;
  }

  body.route-rot .rot-result-head strong{
    font-size:13px!important;
    line-height:1.1!important;
  }

  body.route-rot .rot-result-head span{
    font-size:16px!important;
    line-height:1.1!important;
  }

  body.route-rot .rot-step-accordion > summary{
    min-height:52px!important;
  }
}

/* V4_F73: OPEG/Guidelines index pages are compact clinical selectors */
body.route-guideline-browser .guideline-browser-page{
  gap:10px!important;
}

body.route-guideline-browser .guideline-browser-hero{
  display:grid!important;
  gap:5px!important;
  padding:14px 16px!important;
  border:1px solid #d6e4f4!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.route-guideline-browser .guideline-browser-hero .v7-kicker{
  margin:0!important;
  font-size:.72rem!important;
  line-height:1!important;
  letter-spacing:.09em!important;
}

html body.route-guideline-browser #content .guideline-browser-hero .page-title,
body.route-guideline-browser .guideline-browser-hero .page-title{
  max-width:none!important;
  margin:0!important;
  color:#061f3b!important;
  font-size:clamp(1.28rem,2.2vw,1.65rem)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}

body.route-guideline-browser .guideline-browser-hero .page-description{
  max-width:92ch!important;
  margin:0!important;
  color:#38536f!important;
  font-size:.94rem!important;
  line-height:1.34!important;
}

body.route-guideline-browser .guideline-browser-shell{
  padding:14px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

body.route-guideline-browser .guideline-browser-search-head{
  gap:3px!important;
  margin-bottom:9px!important;
}

body.route-guideline-browser .guideline-browser-search-head h2{
  margin:0!important;
  font-size:1rem!important;
  line-height:1.18!important;
}

body.route-guideline-browser .guideline-browser-search-head p{
  margin:0!important;
  font-size:.86rem!important;
  line-height:1.28!important;
}

body.route-guideline-browser .guideline-browser-search{
  margin-bottom:10px!important;
}

body.route-guideline-browser .guideline-browser-search #guidelineLibrarySearch,
body.route-guideline-browser .guideline-browser-search #opegLibrarySearch{
  min-height:42px!important;
  padding:10px 42px 10px 13px!important;
  border-radius:12px!important;
  box-shadow:none!important;
  font-size:15px!important;
}

body.route-guideline-browser .guideline-library-groups{
  gap:8px!important;
}

body.route-guideline-browser .guideline-library-group{
  border-radius:10px!important;
  box-shadow:none!important;
}

body.route-guideline-browser .guideline-library-group__head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 30px!important;
  gap:8px!important;
  min-height:48px!important;
  padding:9px 12px!important;
  align-items:center!important;
  font-size:.94rem!important;
  line-height:1.16!important;
}

body.route-guideline-browser .guideline-library-group__head > span:first-child{
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

body.route-guideline-browser .guideline-library-group__count{
  min-width:26px!important;
  height:22px!important;
  padding:0 7px!important;
  font-size:.72rem!important;
}

body.route-guideline-browser .guideline-library-group__head::after{
  content:"\25B2"!important;
  width:28px!important;
  height:28px!important;
  font-size:12px!important;
}

body.route-guideline-browser .guideline-library-group:not([open]) .guideline-library-group__head::after{
  content:"\25BC"!important;
}

body.route-guideline-browser .guideline-library-group__body{
  gap:7px!important;
  padding:0 10px 10px!important;
}

body.route-guideline-browser .guideline-library-item{
  min-height:52px!important;
  padding:10px 12px 10px 16px!important;
  border-radius:8px!important;
}

body.route-guideline-browser .guideline-library-item::before{
  width:4px!important;
  border-radius:8px 0 0 8px!important;
}

body.route-guideline-browser .guideline-library-item__title-row{
  gap:8px!important;
}

body.route-guideline-browser .guideline-library-item__title{
  font-size:.94rem!important;
  line-height:1.18!important;
}

body.route-guideline-browser .guideline-library-item__meta{
  font-size:.76rem!important;
  line-height:1.18!important;
}

@media(max-width:700px){
  body.route-guideline-browser .guideline-browser-page{
    gap:8px!important;
  }

  body.route-guideline-browser .guideline-browser-hero{
    padding:10px 11px!important;
    border-radius:11px!important;
  }

  html body.route-guideline-browser #content .guideline-browser-hero .page-title,
  body.route-guideline-browser .guideline-browser-hero .page-title{
    font-size:21px!important;
    line-height:1.08!important;
  }

  body.route-guideline-browser .guideline-browser-hero .page-description{
    display:none!important;
  }

  body.route-guideline-browser .guideline-browser-shell{
    padding:10px!important;
    border-radius:11px!important;
  }

  body.route-guideline-browser .guideline-browser-search-head p{
    display:none!important;
  }

  body.route-guideline-browser .guideline-browser-search-head h2{
    font-size:.94rem!important;
  }

  body.route-guideline-browser .guideline-library-group__head{
    min-height:44px!important;
    padding:8px 10px!important;
    font-size:.9rem!important;
  }

  body.route-guideline-browser .guideline-library-group__body{
    padding:0 8px 8px!important;
  }

  body.route-guideline-browser .guideline-library-item{
    min-height:48px!important;
    padding:9px 10px 9px 14px!important;
  }
}

/* V4_F74C: calculator buttons stay readable in PEMGuide palette */
body.route-tools .ped-emergency-input-grid button,
body.route-tools .ana-input-row button,
body.route-tools .fluid-therapy-form button,
body.route-tools .bsa-input-row button,
body.route-tools .hno-dosecalc-weightbox button,
body.route-tools .hno-dosecalc-drugbox button,
body.route-tools .fluid-therapy-form button[data-fluid-calc-btn]{
  background:#eaf4ff!important;
  color:#061f3b!important;
  border:1px solid #91bfec!important;
  border-left:5px solid #0f5ea8!important;
  box-shadow:0 4px 12px rgba(15,94,168,.08)!important;
}

body.route-tools .ped-emergency-input-grid button:hover,
body.route-tools .ana-input-row button:hover,
body.route-tools .fluid-therapy-form button:hover,
body.route-tools .bsa-input-row button:hover,
body.route-tools .hno-dosecalc-weightbox button:hover,
body.route-tools .hno-dosecalc-drugbox button:hover,
body.route-tools .fluid-therapy-form button[data-fluid-calc-btn]:hover{
  background:#dff0ff!important;
  color:#061f3b!important;
}

@media(max-width:900px){
  html body.route-tools #content .tools-page .page-title{
    font-size:1.45rem!important;
    line-height:1.12!important;
  }
}

/* V4_F74B: final calculator authority after legacy overrides */
body.route-tools .tools-page{
  max-width:1220px!important;
  margin:0 auto!important;
  gap:12px!important;
}

body.route-tools .tools-page > div:first-child .page-title{
  font-size:clamp(1.45rem,2vw,1.8rem)!important;
  line-height:1.12!important;
}

body.route-tools .tools-page > div:first-child .page-description{
  max-width:72ch!important;
  font-size:.98rem!important;
  line-height:1.35!important;
  color:#2f4a66!important;
}

body.route-tools .calculator-medical-notice{
  max-width:1220px!important;
}

body.route-tools .ana-priority-panel{
  display:grid!important;
  align-content:start!important;
  gap:9px!important;
  padding:14px 15px!important;
  border:1px solid #f1c8c4!important;
  border-left:5px solid #c9473f!important;
  border-radius:16px!important;
  background:#fff8f7!important;
  color:#061f3b!important;
  box-shadow:0 6px 18px rgba(15,39,68,.045)!important;
}

body.route-tools .ana-priority-panel .ana-alert{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#263f58!important;
  font-size:.92rem!important;
  line-height:1.36!important;
}

body.route-tools .ana-priority-panel .ana-alert strong{
  display:block!important;
  margin-bottom:3px!important;
  color:#7f2a24!important;
}

body.route-tools .fluid-therapy-card{
  max-width:1220px!important;
  display:grid!important;
  grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:16px!important;
  border-left-color:#7db8eb!important;
}

body.route-tools .fluid-therapy-card > h2,
body.route-tools .fluid-therapy-intro,
body.route-tools .fluid-solutions,
body.route-tools .fluid-note{
  grid-column:1 / -1!important;
}

body.route-tools .fluid-therapy-card > h2{
  margin:0!important;
  text-align:left!important;
  color:#061f3b!important;
  font-size:1.35rem!important;
  line-height:1.16!important;
}

body.route-tools .fluid-therapy-intro{
  margin:0!important;
  padding:12px 13px!important;
  border:1px solid #cfe0f2!important;
  border-left:5px solid #0f5ea8!important;
  border-radius:14px!important;
  background:#f5f9fd!important;
  color:#294158!important;
  font-size:.92rem!important;
  line-height:1.42!important;
}

body.route-tools .fluid-therapy-form{
  margin:0!important;
  display:grid!important;
  gap:9px!important;
  align-self:start!important;
}

body.route-tools .fluid-therapy-form label{
  margin:0!important;
  color:#061f3b!important;
  font-size:.88rem!important;
  font-weight:850!important;
}

body.route-tools .fluid-therapy-form input,
body.route-tools .fluid-therapy-form select{
  min-height:42px!important;
  margin-top:5px!important;
  border-radius:12px!important;
}

body.route-tools .fluid-result-list{
  margin:0!important;
  align-self:start!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

body.route-tools .fluid-result-list > div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid #cfe0f2!important;
  border-left:5px solid #9fc3df!important;
  background:#f8fbff!important;
}

body.route-tools .fluid-result-list > .fluid-result-deficit{
  border-left-color:#c78b22!important;
  background:#fffaf1!important;
}

body.route-tools .fluid-result-list > .fluid-result-losses{
  border-left-color:#0f78b8!important;
  background:#f1f8fe!important;
}

body.route-tools .fluid-result-list > .fluid-result-total{
  border-left-color:#2b8a72!important;
  background:#f2fbf6!important;
}

body.route-tools .fluid-info,
body.route-tools .fluid-example,
body.route-tools .fluid-error{
  grid-column:2!important;
  margin:0!important;
}

body.route-tools .fluid-info,
body.route-tools .fluid-example{
  padding:10px 12px!important;
  border:1px solid #d6e4f4!important;
  border-radius:12px!important;
  background:#fbfdff!important;
  color:#40566f!important;
  font-size:.88rem!important;
  line-height:1.34!important;
}

body.route-tools .fluid-solutions{
  margin-top:4px!important;
}

body.route-tools .fluid-solutions-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:10px!important;
}

body.route-tools .fluid-solutions-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

body.route-tools .fluid-solution-item{
  border:1px solid #cfe0f2!important;
  border-left:5px solid #2b8a72!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 6px 18px rgba(15,39,68,.045)!important;
}

body.route-tools .fluid-solution-item summary{
  min-height:48px!important;
  padding:10px 12px!important;
  background:#f2fbf6!important;
  color:#061f3b!important;
}

body.route-tools .fluid-solution-item summary strong{
  font-size:.98rem!important;
}

body.route-tools .fluid-solution-item summary em{
  color:#49637f!important;
  font-size:.78rem!important;
  font-style:normal!important;
}

body.route-tools .fluid-solution-body{
  padding:10px 12px!important;
}

body.route-tools .fluid-solution-type-pill{
  display:inline-flex!important;
  margin-bottom:8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#dff7ea!important;
  color:#125b43!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

body.route-tools .fluid-solution-row{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:8px!important;
  padding:7px 0!important;
  border-top:1px solid #dbe7f4!important;
}

body.route-tools .fluid-note{
  margin:0!important;
  padding:12px 13px!important;
  border:1px solid #d8eadf!important;
  border-left:5px solid #2b8a72!important;
  border-radius:14px!important;
  background:#f7fcf9!important;
  color:#294158!important;
  font-size:.88rem!important;
  line-height:1.36!important;
  box-shadow:0 6px 18px rgba(15,39,68,.045)!important;
}

@media(max-width:900px){
  body.route-tools .tools-page{
    gap:9px!important;
  }

  body.route-tools .tools-page > div:first-child .page-title{
    font-size:1.3rem!important;
  }

  body.route-tools .tools-page > div:first-child .page-description{
    font-size:.9rem!important;
    line-height:1.28!important;
  }

  body.route-tools .fluid-therapy-card{
    grid-template-columns:1fr!important;
    padding:12px!important;
    gap:10px!important;
  }

  body.route-tools .fluid-therapy-card > h2,
  body.route-tools .fluid-therapy-intro,
  body.route-tools .fluid-solutions,
  body.route-tools .fluid-note,
  body.route-tools .fluid-info,
  body.route-tools .fluid-example,
  body.route-tools .fluid-error{
    grid-column:1!important;
  }

  body.route-tools .fluid-result-list,
  body.route-tools .fluid-solutions-grid{
    grid-template-columns:1fr!important;
  }

  body.route-tools .fluid-solutions-head{
    display:grid!important;
    gap:3px!important;
  }

  body.route-tools .ana-priority-panel{
    padding:12px!important;
    border-radius:14px!important;
  }
}
/* V4_F74E: absolute final calculator action contrast guard */
body.route-tools .ana-tool .ana-input-row button,
body.route-tools .fluid-therapy-calc .fluid-therapy-form button,
body.route-tools .fluid-therapy-calc .fluid-therapy-form button[data-fluid-calc-btn],
body.route-tools .bsa-calc .bsa-input-row button,
body.route-tools .ped-emergency-calc .ped-emergency-input-grid button,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-weightbox button,
body.route-tools .hno-dosecalc-app--locked .hno-dosecalc-drugbox button{
  background:#eaf4ff!important;
  color:#061f3b!important;
  border:1px solid #91bfec!important;
  border-left:5px solid #0f5ea8!important;
  box-shadow:0 4px 12px rgba(15,94,168,.08)!important;
}
/* PEMGuide V4_F76_ROT_CONTEXT_RULE_ENGINE */
.rot-context-rule {
  border: 1px solid rgba(204, 30, 20, 0.28);
  border-left: 6px solid #cc1e14;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 246, 245, 0.96), rgba(255, 251, 250, 0.98));
  box-shadow: 0 12px 30px rgba(74, 102, 133, 0.08);
  color: var(--pem-ink, #061f3b);
  margin: 0 0 14px;
  padding: 14px 16px;
}

.rot-context-rule__label {
  color: #9a241c;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.rot-context-rule h4 {
  color: #061f3b;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.18;
  margin: 0 0 8px;
}

.rot-context-rule p {
  color: #17395f;
  font-size: 0.94rem;
  line-height: 1.42;
  margin: 0 0 12px;
}

.rot-context-rule__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.rot-context-rule__grid > div {
  border: 1px solid rgba(132, 167, 204, 0.45);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px 12px;
}

.rot-context-rule__grid strong {
  display: block;
  color: #174f86;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.rot-context-rule__grid ul {
  margin: 0;
  padding-left: 18px;
}

.rot-context-rule__grid li {
  font-size: 0.9rem;
  line-height: 1.34;
  margin: 0 0 4px;
}

.rot-context-rule__superseded {
  opacity: 0.52;
}

@media (max-width: 700px) {
  .rot-context-rule {
    border-radius: 12px;
    margin: 0 0 10px;
    padding: 12px;
  }

  .rot-context-rule__grid {
    grid-template-columns: 1fr;
  }
}

/* PEMGuide V4_F77_ROT_MOBILE_DETAIL_NAV */
/* PEMGuide V4_F81_ROT_VERTICAL_DECISION_LISTS */
body.route-rot .rot-complaint-grid,
body.route-rot .rot-discriminator-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  max-width: 760px !important;
}

body.route-rot .rot-complaint,
body.route-rot .rot-discriminator {
  align-items: flex-start !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 8px 12px !important;
  min-width: 0 !important;
  padding: 12px 14px !important;
  width: 100% !important;
}

body.route-rot .rot-complaint strong,
body.route-rot .rot-discriminator strong,
body.route-rot .rot-complaint small,
body.route-rot .rot-discriminator small {
  grid-column: 2 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.route-rot .rot-discriminator em {
  grid-column: 2 !important;
  justify-self: start !important;
}

body.route-rot .rot-inline-discriminator-group {
  max-width: 760px !important;
}

body.route-rot .rot-inline-discriminator-group .rot-discriminator-grid {
  grid-template-columns: 1fr !important;
}

.rot-result-details > summary,
.rot-result-details-link {
  align-items: flex-start !important;
  background: linear-gradient(180deg, #fffafa, #fff6f6) !important;
  border: 1px solid rgba(226, 77, 70, 0.42) !important;
  border-left: 5px solid #c91f16 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(74, 102, 133, 0.07) !important;
  color: #061f3b !important;
  display: grid !important;
  gap: 7px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  line-height: 1.18 !important;
  margin: 8px 0 0 !important;
  min-height: 0 !important;
  padding: 13px 16px !important;
  text-align: left !important;
  white-space: normal !important;
}

.rot-result-details > summary span,
.rot-result-details > summary strong,
.rot-result-details-link span,
.rot-result-details-link strong {
  color: #061f3b !important;
  overflow-wrap: anywhere !important;
}

.rot-result-details > summary strong,
.rot-result-details-link strong {
  display: block !important;
  font-size: clamp(0.98rem, 1.35vw, 1.12rem) !important;
  font-weight: 900 !important;
  grid-column: 1 / -1 !important;
  order: 1 !important;
}

.rot-result-details > summary span,
.rot-result-details-link span {
  align-items: center !important;
  color: #8f1e18 !important;
  display: inline-flex !important;
  font-size: 0.84rem !important;
  font-weight: 900 !important;
  gap: 8px !important;
  grid-column: 1 / -1 !important;
  letter-spacing: 0.04em !important;
  order: 2 !important;
  text-transform: uppercase !important;
}

.rot-result-details > summary::after,
.rot-result-details-link::after {
  align-items: center !important;
  align-self: center !important;
  background: #fff !important;
  border: 1px solid rgba(226, 77, 70, 0.56) !important;
  border-radius: 999px !important;
  color: #b51610 !important;
  content: "\203A" !important;
  display: inline-flex !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  height: 30px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin-left: 12px !important;
  width: 30px !important;
}

.rot-result-details[open] > summary::after {
  color: #b51610 !important;
  content: "\25B2" !important;
  font-size: 0.8rem !important;
}

@media (max-width: 700px) {
  .rot-mobile-detail-entry {
    align-items: flex-start !important;
    background: linear-gradient(180deg, #fffafa, #fff6f6) !important;
    border: 1px solid rgba(226, 77, 70, 0.42) !important;
    border-left: 4px solid #c91f16 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(74, 102, 133, 0.08) !important;
    color: #061f3b !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    line-height: 1.2 !important;
    margin: 8px 0 10px !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .rot-mobile-detail-entry__main {
    color: #061f3b !important;
    font-size: 0.86rem !important;
    font-weight: 900 !important;
    grid-column: 1 / -1 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .rot-mobile-detail-entry__action {
    align-items: center !important;
    color: #8f1e18 !important;
    display: inline-flex !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    gap: 8px !important;
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
  }

  .rot-mobile-detail-entry__arrow {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(226, 77, 70, 0.56) !important;
    border-radius: 999px !important;
    color: #b51610 !important;
    display: inline-flex !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    height: 24px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 24px !important;
  }

  .rot-detail-back-button {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(124, 169, 220, 0.72) !important;
    border-radius: 12px !important;
    color: #061f3b !important;
    display: inline-flex !important;
    font-size: 0.9rem !important;
    font-weight: 900 !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    width: auto !important;
  }
}

/* PEMGuide V4_F85: encoding cleanup and stable ROT/Home clinical cards */
body.route-home #content .home-quickstart-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.route-home #content .home-app-card {
  appearance: none !important;
  background: #fff !important;
  border: 1px solid rgba(188, 213, 239, 0.95) !important;
  border-left: 6px solid var(--card-accent, #1c76bb) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(74, 102, 133, 0.08) !important;
  color: #061f3b !important;
  display: grid !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  white-space: normal !important;
}

body.route-home #content .home-app-card__main,
body.route-home #content .home-app-card__secondary {
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  color: #061f3b !important;
  display: grid !important;
  min-width: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}

body.route-home #content .home-app-card__main {
  align-items: center !important;
  gap: 8px 14px !important;
  grid-template-columns: 48px minmax(0, 1fr) 24px !important;
  padding: 16px 18px !important;
}

body.route-home #content .home-app-card__secondary {
  border-top: 1px solid rgba(226, 77, 70, 0.2) !important;
  padding: 10px 18px 12px 80px !important;
}

body.route-home #content .home-card-copy,
body.route-home #content .home-card-copy > * {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

body.route-home #content .home-card-chev {
  align-items: center !important;
  color: #0f5ea8 !important;
  display: inline-flex !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.route-rot .rot-complaint-grid,
body.route-rot .rot-discriminator-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  max-width: 760px !important;
}

body.route-rot .rot-complaint-stack {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.route-rot .rot-complaint-discriminator-slot {
  display: grid !important;
  grid-column: 1 / -1 !important;
  margin: -2px 0 4px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.route-rot .rot-inline-discriminator-group {
  background: linear-gradient(180deg, #fff7f7, #fffafa) !important;
  border: 1px solid rgba(226, 77, 70, 0.42) !important;
  border-left: 5px solid #c91f16 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(97, 33, 29, 0.06) !important;
  color: #061f3b !important;
  display: grid !important;
  margin: 0 !important;
  max-width: 760px !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.route-rot .rot-inline-discriminator-group > summary {
  align-items: center !important;
  background: linear-gradient(180deg, #fffafa, #fff4f4) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(226, 77, 70, 0.25) !important;
  color: #061f3b !important;
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  list-style: none !important;
  min-height: 50px !important;
  padding: 10px 12px !important;
}

body.route-rot .rot-inline-discriminator-group > summary::-webkit-details-marker {
  display: none !important;
}

body.route-rot .rot-inline-discriminator-group > summary span {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body.route-rot .rot-inline-discriminator-group > summary strong,
body.route-rot .rot-inline-discriminator-group > summary small {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

body.route-rot .rot-inline-discriminator-group > summary strong {
  color: #061f3b !important;
  font-size: 0.94rem !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
}

body.route-rot .rot-inline-discriminator-group > summary small {
  color: #8f1e18 !important;
  font-size: 0.72rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
}

body.route-rot .rot-inline-discriminator-group > summary em {
  align-items: center !important;
  background: #eaf4ff !important;
  border-radius: 999px !important;
  color: #174f86 !important;
  display: inline-flex !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-weight: 950 !important;
  height: 26px !important;
  justify-content: center !important;
  min-width: 26px !important;
  padding: 0 8px !important;
}

body.route-rot .rot-inline-discriminator-group > summary::after {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(226, 77, 70, 0.55) !important;
  border-radius: 999px !important;
  color: #b51610 !important;
  content: "\25B2" !important;
  display: inline-flex !important;
  font-size: 0.76rem !important;
  font-weight: 950 !important;
  height: 30px !important;
  justify-content: center !important;
  line-height: 1 !important;
  width: 30px !important;
}

body.route-rot .rot-inline-discriminator-group:not([open]) > summary::after {
  border-color: rgba(92, 187, 125, 0.72) !important;
  color: #0d7a45 !important;
  content: "\25BC" !important;
}

body.route-rot .rot-inline-discriminator-group .rot-discriminator-grid {
  background: rgba(255, 247, 247, 0.72) !important;
  display: grid !important;
  gap: 9px !important;
  grid-template-columns: 1fr !important;
  max-width: none !important;
  padding: 12px !important;
}

body.route-rot .rot-inline-discriminator-group .rot-discriminator {
  background: #fff !important;
  border: 1px solid rgba(226, 77, 70, 0.28) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  width: 100% !important;
}

body.route-rot .rot-inline-discriminator-group .rot-discriminator span,
body.route-rot .rot-inline-discriminator-group .rot-discriminator strong,
body.route-rot .rot-inline-discriminator-group .rot-discriminator small,
body.route-rot .rot-inline-discriminator-group .rot-discriminator em {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

@media (max-width: 700px) {
  body.route-home #content .home-quickstart-grid {
    grid-template-columns: 1fr !important;
  }

  body.route-home #content .home-app-card__main {
    grid-template-columns: 42px minmax(0, 1fr) 20px !important;
    padding: 12px 14px !important;
  }

  body.route-home #content .home-app-card__secondary {
    padding: 9px 14px 11px 68px !important;
  }

  body.route-rot .rot-inline-discriminator-group > summary {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    min-height: 46px !important;
    padding: 9px 10px !important;
  }

body.route-rot .rot-inline-discriminator-group .rot-discriminator-grid {
    padding: 10px !important;
  }
}

/* PEMGuide local AI: deterministic ROT context hints */
.rot-ai-insight {
  margin: 12px 0;
}

.rot-ai-insight[hidden] {
  display: none !important;
}

.rot-ai-insight__inner {
  display: grid;
  gap: 10px;
}

.rot-ai-rule-card {
  background: linear-gradient(180deg, rgba(255, 247, 247, 0.96), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(226, 77, 70, 0.42);
  border-left: 6px solid #d62822;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(72, 90, 110, 0.08);
  color: #061d3a;
  padding: 14px 16px;
}

.rot-ai-rule-card h4 {
  color: #8f1e18;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.2;
  margin: 4px 0 8px;
}

.rot-ai-rule-card p {
  font-size: 0.98rem;
  line-height: 1.42;
  margin: 0 0 10px;
}

.rot-ai-rule-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.rot-ai-list {
  background: #fff;
  border: 1px solid rgba(189, 209, 229, 0.88);
  border-radius: 10px;
  min-width: 0;
  padding: 10px 12px;
}

.rot-ai-list strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.rot-ai-list ul {
  display: grid;
  gap: 5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rot-ai-list li {
  font-size: 0.92rem;
  line-height: 1.28;
  overflow-wrap: normal;
  word-break: normal;
}

.rot-ai-list--actions {
  border-color: rgba(226, 77, 70, 0.34);
}

.rot-ai-list--actions strong {
  color: #9b271f;
}

.rot-ai-list--keep {
  border-color: rgba(28, 131, 89, 0.32);
}

.rot-ai-list--keep strong {
  color: #0b7046;
}

.rot-ai-list--deprioritize {
  background: rgba(245, 249, 252, 0.92);
}

.rot-ai-list--deprioritize strong {
  color: #315270;
}

.rot-ai-sources {
  align-items: center;
  color: #48637d;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.78rem;
}

.rot-ai-sources span {
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.rot-ai-sources code {
  background: rgba(232, 242, 252, 0.9);
  border: 1px solid rgba(188, 210, 232, 0.8);
  border-radius: 999px;
  color: #19466d;
  font-family: inherit;
  padding: 3px 7px;
}

@media (max-width: 900px) {
  .rot-ai-rule-grid {
    grid-template-columns: 1fr;
  }

  .rot-ai-rule-card {
    border-radius: 12px;
    padding: 12px;
  }

  .rot-ai-list li {
    font-size: 0.95rem;
    line-height: 1.34;
  }
}

/* V4_F87: final Home launcher safety net after cache refresh */
body.route-home #content > .home-quickstart-grid {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 !important;
  width: 100% !important;
}

body.route-home #content > .home-quickstart-grid > .home-app-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #cfe0f2 !important;
  border-left: 6px solid var(--home-card-accent, #2b75bb) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15, 39, 68, 0.06) !important;
}

body.route-home #content > .home-quickstart-grid > .home-app-card > button {
  appearance: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  margin: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}

body.route-home #content .home-app-card__main {
  align-items: center !important;
  background: #fff !important;
  color: #061f3b !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 48px minmax(0, 1fr) 26px !important;
  min-height: 104px !important;
  min-width: 0 !important;
  padding: 16px 18px !important;
  width: 100% !important;
}

body.route-home #content .home-app-card__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  min-width: 0 !important;
}

body.route-home #content .home-app-card__label,
body.route-home #content .home-app-card__title,
body.route-home #content .home-app-card__text {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  word-break: normal !important;
}

body.route-home #content .home-app-card__label {
  color: #174f84 !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body.route-home #content .home-app-card__title {
  color: #061f3b !important;
  font-size: clamp(1.08rem, 1.3vw, 1.34rem) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

body.route-home #content .home-app-card__text {
  color: #24415e !important;
  font-size: 0.9rem !important;
  font-weight: 520 !important;
  line-height: 1.34 !important;
}

body.route-home #content .home-app-card__arrow {
  align-items: center !important;
  color: #0b5f9f !important;
  display: inline-flex !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.route-home #content .home-app-card__subaction {
  align-items: center !important;
  background: #fff8f8 !important;
  border-top: 1px solid #f0caca !important;
  color: #061f3b !important;
  cursor: pointer !important;
  display: flex !important;
  font-weight: 900 !important;
  gap: 10px !important;
  justify-content: space-between !important;
  min-height: 42px !important;
  padding: 9px 18px 11px 76px !important;
  width: 100% !important;
}

@media (max-width: 700px) {
  body.route-home #content > .home-quickstart-grid {
    gap: 8px !important;
    grid-template-columns: 1fr !important;
  }

  body.route-home #content .home-app-card__main {
    gap: 10px !important;
    grid-template-columns: 40px minmax(0, 1fr) 22px !important;
    min-height: 78px !important;
    padding: 12px !important;
  }

  body.route-home #content .home-app-card__subaction {
    min-height: 38px !important;
    padding: 8px 12px 9px 62px !important;
  }
}

/* PEMGuide V4_F4.2 quick-pattern duplicate-selection guard */
.pem-core-symptom-card.pattern-locked,
.quick-pattern-btn.pattern-locked,
.search-pool-item-wrap.pattern-locked .pem-core-symptom-card{
  cursor:not-allowed!important;
  opacity:.72!important;
  background:#f8fafc!important;
  border-style:dashed!important;
}
.pem-core-symptom-card.pattern-locked small,
.quick-pattern-btn.pattern-locked small{
  display:block!important;
  margin-top:5px!important;
  color:#64748b!important;
  font-weight:700!important;
}

/* Diagnosefinder unified shell: keep route arrows visible without colliding with breadcrumbs. */
@media (max-width: 900px){
  .app-header #routeActionBar.route-action-bar.visible{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    width:auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .app-header:has(#routeActionBar.visible){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand actions"
      "crumb crumb"!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:4px!important;
  }
  .app-header:has(#routeActionBar.visible) .app-header__top{
    grid-area:brand!important;
    min-width:0!important;
  }
  .app-header:has(#routeActionBar.visible) #routeActionBar{
    grid-area:actions!important;
    justify-self:end!important;
  }
  .app-header:has(#routeActionBar.visible) .header-controls{
    display:none!important;
  }
  .app-header:has(#routeActionBar.visible) #breadcrumb{
    grid-area:crumb!important;
  }
  .app-header #routeActionBar.route-action-bar.visible .route-action-btn{
    flex:0 0 auto!important;
  }
  .app-header #routeActionBar.route-action-bar.visible .route-action-btn:not(.route-action-btn--icon){
    display:none!important;
  }
  .app-header #routeActionBar.route-action-bar.visible .route-action-btn--icon{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:16px!important;
  }
  .app-header #breadcrumb.breadcrumb{
    display:flex!important;
    position:relative!important;
    z-index:0!important;
    width:100%!important;
    clear:both!important;
    margin:4px 0 0!important;
    padding:2px 0 3px!important;
    line-height:1.25!important;
  }
  .finder-companion-summary{
    align-items:center!important;
    padding:11px 14px!important;
  }
  .finder-companion-summary span{
    display:grid!important;
    gap:2px!important;
    min-width:0!important;
  }
  .finder-companion-summary small{
    display:block!important;
    margin-bottom:0!important;
  }
  .finder-companion-summary strong{
    font-size:1.06rem!important;
  }
}
