.reviewSection{
  background:#FFFFFF;
  border-radius:22px;
  padding:24px;
  margin-bottom:20px;
  box-shadow:0 7px 24px rgba(0,98,104,.07);
}
.reviewHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:18px;
}
.reviewHeader h2{margin:0;font-size:20px}
.smallAction{
  background:var(--teal-soft);
  color:var(--teal);
  padding:10px 14px;
  border-radius:11px;
  font-weight:800;
}
.caseFields{
  display:grid;
  grid-template-columns:repeat(5,minmax(130px,1fr));
  gap:13px;
}
.caseFields.secondary{
  grid-template-columns:repeat(6,minmax(110px,1fr));
  margin-top:13px;
}
.field label{
  display:block;
  font-size:12px;
  font-weight:800;
  color:var(--sec);
  margin-bottom:5px;
}
.field input,.field select{
  width:100%;
  height:40px;
  border:1px solid var(--borde);
  border-radius:10px;
  padding:7px 9px;
  background:#FFFFFF;
  color:var(--texto);
  font:inherit;
}
.field input:focus,.field select:focus{
  outline:0;
  border-color:var(--teal);
  box-shadow:0 0 0 3px var(--teal-soft);
}

/* Comparación de instrumentos */
.instrumentGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(195px,1fr));
  grid-auto-flow:column;
  grid-auto-columns:minmax(195px,1fr);
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 12px;
  -webkit-overflow-scrolling:touch;
}
.instrumentCard,.lensCard{
  border:1px solid var(--borde);
  border-radius:17px;
  padding:14px;
  background:#F0F9FA;
}
.cardMiniHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
}
.cardMiniHeader strong{
  font-size:14px;
  color:var(--texto);
}
.removeMini{
  background:#FDF0F5;
  color:#DB0B5B;
  border-radius:8px;
  padding:6px 8px;
  font-size:11px;
}
.compactGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.compactGrid .wide{grid-column:span 2}
.dataDivider{
  grid-column:1/-1;
  font-size:10px;
  font-weight:900;
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.04em;
  padding-top:7px;
}
.derived{
  grid-column:span 2;
  min-height:39px;
  background:var(--azul-soft);
  border-radius:9px;
  padding:6px 9px;
}
.derived span{
  display:block;
  font-size:10px;
  color:var(--sec);
}
.derived strong{font-size:12px}

.rotateNote{
  display:none;
  background:var(--azul-soft);
  color:var(--texto);
  border-radius:11px;
  padding:9px 12px;
  margin-bottom:12px;
  font-size:12px;
  font-weight:700;
}

/* Lentes */
.lensGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.lensTop{
  display:grid;
  grid-template-columns:1.3fr .9fr .55fr;
  gap:10px;
}
.constantsGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:11px;
}
.mappingLine{
  margin-top:10px;
  font-size:12px;
  color:var(--sec);
}

/* Calculadores */
.calcGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.calcCard{
  border:1px solid var(--borde);
  border-radius:16px;
  padding:16px;
}
.calcCard h3{margin:0 0 4px;font-size:17px}
.calcCard p{
  font-size:12px;
  color:var(--sec);
  min-height:30px;
}
.segmented{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:3px;
  background:#EFF9FC;
  border-radius:11px;
  gap:3px;
}
.segButton{
  background:transparent;
  color:var(--sec);
  border-radius:8px;
  padding:8px 4px;
  font-size:11px;
  font-weight:800;
}
.segButton.selected{
  background:#FFFFFF;
  color:var(--teal);
  box-shadow:0 2px 7px rgba(0,98,104,.10);
}

/* Añadir documentos siempre accesible */
.addDocumentsBar{
  position:sticky;
  top:72px;
  z-index:8;
  display:flex;
  justify-content:flex-end;
  padding:7px 0;
  pointer-events:none;
}
.addDocumentsBar button{
  pointer-events:auto;
  background:var(--teal);
  color:#FFFFFF;
  border-radius:11px;
  padding:10px 15px;
  font-weight:900;
  box-shadow:0 5px 16px rgba(0,98,104,.20);
}

.reviewActions{
  display:flex;
  justify-content:flex-end;
  gap:11px;
  margin-top:20px;
}
.saveReview{
  padding:13px 20px;
  border-radius:12px;
  background:var(--teal-soft);
  color:var(--teal);
  font-weight:900;
}
.calculateReview{
  padding:13px 26px;
  border-radius:12px;
  background:linear-gradient(100deg,#006268,#50BFDB,#006268);
  color:#FFFFFF;
  font-weight:900;
}
.reviewStatus{
  min-height:23px;
  text-align:right;
  margin-top:9px;
  font-size:13px;
}

@media(max-width:900px){
  .caseFields,.caseFields.secondary{
    grid-template-columns:repeat(2,1fr);
  }
  .calcGrid{
    grid-template-columns:1fr;
  }
  .rotateNote{
    display:block;
  }
}

@media(max-width:600px){
  .reviewSection{padding:15px}
  .lensTop{grid-template-columns:1fr}
  .constantsGrid{grid-template-columns:1fr}
  .reviewActions{flex-direction:column}
  .reviewActions button{width:100%}

  /* mantenemos las 4 columnas, no las apilamos */
  .instrumentGrid{
    grid-template-columns:repeat(4,minmax(195px,1fr));
  }
}

.reselectDocuments{
  display:block;
  margin:12px auto 0;
  padding:8px 13px;
  border-radius:9px;
  background:#EFF9FC;
  color:#006268;
  font-size:12px;
  font-weight:800;
}

.reselectDocuments:hover{
  background:#D5EFF1;
}


.negativeInput{
  display:flex;
  align-items:center;
  height:40px;
  border:1px solid var(--borde);
  border-radius:10px;
  background:#FFFFFF;
  overflow:hidden;
}

.negativeInput span{
  padding-left:9px;
  font-weight:900;
  color:var(--texto);
}

.negativeInput input{
  border:0 !important;
  box-shadow:none !important;
  padding-left:4px;
  height:38px;
}


.compactCalc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
}

.compactCalc strong{
  white-space:nowrap;
}

.calcModeSelect{
  min-width:115px;
  border:1px solid var(--borde);
  border-radius:9px;
  padding:8px 9px;
  background:#FFFFFF;
  color:var(--texto);
  font-weight:800;
}

@media(max-width:600px){
  .compactCalc{
    min-height:48px;
  }

  .calcModeSelect{
    min-width:105px;
  }
}


.signedTarget{
  display:flex;
  gap:5px;
}

.signedTarget input{
  flex:1;
  min-width:0;
}

.targetSign{
  width:38px;
  flex:0 0 38px;
  border-radius:9px;
  background:var(--teal-soft);
  color:var(--teal);
  font-size:20px;
  font-weight:900;
}

.targetSign.negative{
  background:var(--teal);
  color:#FFFFFF;
}


.analysisWarnings{
  margin:-4px 0 20px;
  padding:13px 16px;
  border-radius:13px;
  background:#E8F6F7;
  border:1px solid #009DA8;
  color:#006268;
  font-size:13px;
  line-height:1.55;
}


.borrowedSummary{
  margin-top:12px;
  padding:9px 10px;
  border-radius:10px;
  background:#E8F6F7;
  color:#006268;
  font-size:11px;
  line-height:1.5;
}


.analysisTimer{
  margin-top:12px;
  padding:11px 14px;
  border-radius:12px;
  background:#EEF9FB;
  color:#006268;
  font-size:13px;
  font-weight:800;
  text-align:center;
}

.analysisTimer strong{
  color:#006268;
}

.borrowedField{
  background:#EEF9FB !important;
  color:#006268 !important;
  font-weight:900 !important;
  text-align:center;
  cursor:text;
}

.missingRequired{
  border:2px solid #DB0B5B !important;
  background:#FDF0F5 !important;
  box-shadow:0 0 0 2px rgba(219,11,91,.08) !important;
}


.fallbackSourceSelect{
  width:100%;
  margin-top:4px;
  height:26px !important;
  padding:2px 5px !important;
  border-radius:7px !important;
  font-size:10px !important;
  color:#006268 !important;
  background:#EEF9FB !important;
}

.fallbackLabel{
  display:block;
  margin-top:4px;
  font-size:9px;
  color:#006268;
}

.borrowedSummary{
  display:none !important;
}

.comparisonSummary{
  margin:-5px 0 16px;
  padding:10px 12px;
  border:1px solid #D8F1F7;
  background:#F0F9FA;
  border-radius:12px;
}

.comparisonChips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.comparisonChip{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:8px;
  font-size:10px;
  font-weight:800;
  line-height:1.25;
}

.comparisonOk{
  background:#F0F9F5;
  color:#006268;
}

.comparisonAlert{
  background:#FCE9F0;
  color:#DB0B5B;
}

.posteriorReference{
  margin-top:7px;
  padding-top:6px;
  border-top:1px solid #E0F4F9;
  color:#006268;
  font-size:10px;
  text-align:right;
}


.addDocumentsBar .analysisRunning{
  min-width:250px;
  font-size:17px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
}

.analysisCountdown{
  font-size:24px;
  line-height:1;
  color:#FFFFFF;
}


.emptyDataField{
  background:#F1FAFC !important;
  color:#006268;
}

.qcSection{
  padding:7px 0;
}

.qcSection + .qcSection{
  border-top:1px solid #E0F4F9;
  margin-top:7px;
  padding-top:11px;
}

.qcTitle{
  font-size:11px;
  font-weight:900;
  color:#006268;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:6px;
}

.qcGood{
  display:inline-block;
  padding:5px 8px;
  margin:2px 5px 2px 0;
  border-radius:7px;
  background:#F0F9F5;
  color:#006268;
  font-size:10px;
  font-weight:900;
}

.qcPair{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:4px 0;
  font-size:10px;
  color:#006268;
}

.qcMetricFail{
  display:inline-block;
  padding:4px 7px;
  border-radius:6px;
  background:#FDF0F5;
  color:#DB0B5B;
  font-weight:900;
}

.fallbackSourceSelect{
  margin-top:4px;
  height:25px !important;
  padding:2px 5px !important;
  border-radius:6px !important;
  background:#EEF9FB !important;
  border:1px solid #D3EFF6 !important;
  color:#006268 !important;
  font-size:10px !important;
  font-weight:800;
}

.fallbackLabel{
  display:block;
  margin-top:4px;
  font-size:9px;
  color:#006268;
}

.posteriorReference{
  margin-top:7px;
  padding-top:6px;
  border-top:1px solid #E0F4F9;
  color:#006268;
  font-size:9px;
  text-align:right;
}


.emptyDataField{
  background:#F1FAFC !important;
  color:#006268;
}

.fallbackSourceSelect{
  width:100%;
  height:26px !important;

  margin-top:4px;
  padding:2px 5px !important;

  background:#EEF9FB !important;
  color:#006268 !important;

  border:1px solid #D3EFF6 !important;
  border-radius:7px !important;

  font-size:10px !important;
  font-weight:800;
}

.fallbackLabel{
  display:block;

  margin-top:4px;

  color:#006268;

  font-size:9px;
}

.qcSection{
  padding:6px 0;
}

.qcSection + .qcSection{
  border-top:1px solid #E1F4F9;

  margin-top:8px;
  padding-top:10px;
}

.qcTitle{
  margin-bottom:5px;

  color:#006268;

  font-size:11px;
  font-weight:900;

  text-transform:uppercase;
  letter-spacing:.05em;
}

.qcResultRow{
  padding:5px 0;
}

.qcResultRow + .qcResultRow{
  border-top:1px solid #EDF8FB;
}

.qcResultHead{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:6px;

  margin-bottom:4px;

  font-size:10px;
}

.qcMetrics{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.qcMetricPass{
  padding:4px 7px;

  background:#F0F9F5;
  color:#006268;

  border-radius:6px;

  font-size:10px;
  font-weight:900;
}

.qcMetricFail{
  padding:4px 7px;

  background:#FDF0F5;
  color:#DB0B5B;

  border-radius:6px;

  font-size:10px;
  font-weight:900;
}

.qcStatusGood{
  color:#006268;

  font-size:10px;
  font-weight:900;
}

.qcStatusFail{
  color:#DB0B5B;

  font-size:10px;
  font-weight:900;
}

.qcExpected{
  margin-top:3px;

  color:#006268;

  font-size:9px;
}

.posteriorReference{
  margin-top:7px;
  padding-top:6px;

  border-top:1px solid #E0F4F9;

  color:#006268;

  font-size:9px;
  line-height:1.4;
}


.posteriorAnterion{
  display:grid;
  gap:2px;
}

.posteriorAnterion > div{
  display:flex;
  justify-content:space-between;
  gap:6px;

  font-size:10px;
  line-height:1.3;
}

.posteriorAnterion span{
  color:#006268;
  white-space:nowrap;
}

.posteriorAnterion b{
  color:#006268;
  text-align:right;
}


/*
 * Si el dato posterior está prestado y
 * aparece IOLM/PENTA/SIRIUS, ocultamos el
 * signo negativo fijo que hay fuera del input.
 */

.negativeInput:has(.borrowedField) > span{
  visibility:hidden;
}


.qcComparisonGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:start;
}

.qcPanel{
  min-width:0;
  padding:8px 10px;

  background:#F0F9FA;
  border:1px solid #E0F4F9;
  border-radius:11px;
}

@media(max-width:800px){

  .qcComparisonGrid{
    grid-template-columns:1fr;
  }
}


/* ----- VACÍOS ----- */

.emptyDataField{
  background:#F1FAFC !important;
  color:#006268;
}


/* ----- DATO DE OTRO INSTRUMENTO ----- */

.borrowedField{
  background:#EEF9FB !important;
  color:#006268 !important;

  font-weight:900 !important;
  text-align:center;
}

.negativeInput:has(.borrowedField) > span{
  visibility:hidden;
}


/* ----- SELECTOR PEQUEÑO AXL/ACD/LT ----- */

.fallbackSourceSelect{
  width:100%;
  height:27px !important;

  margin-top:4px;
  padding:2px 5px !important;

  background:#EEF9FB !important;
  color:#006268 !important;

  border:1px solid #D3EFF6 !important;
  border-radius:7px !important;

  font-size:10px !important;
  font-weight:800;
}


/* ----- ÚNICO SELECTOR CP ----- */

.posteriorSourceField{
  grid-column:span 2;
}


/* ----- RESUMEN CP ----- */

.posteriorCompact{
  display:grid;
  gap:3px;
}

.posteriorCompact > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;

  font-size:11px;
  line-height:1.3;
}

.posteriorCompact span{
  color:#006268;
}

.posteriorCompact b{
  color:#006268;
  text-align:right;
}


/* ----- COMPARATIVA ----- */

.qcComparisonGrid{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:10px;
  align-items:start;
}

.qcPanel{
  min-width:0;

  padding:8px 10px;

  background:#F0F9FA;

  border:1px solid #E0F4F9;
  border-radius:11px;
}

.qcTitle{
  margin-bottom:6px;

  color:#006268;

  font-size:11px;
  font-weight:900;

  text-transform:uppercase;
  letter-spacing:.05em;
}

.qcResultRow{
  padding:5px 0;
}

.qcResultRow + .qcResultRow{
  border-top:1px solid #EBF8FB;
}

.qcResultHead{
  display:flex;
  flex-wrap:wrap;
  align-items:center;

  gap:6px;
  margin-bottom:4px;

  font-size:10px;
}

.qcMetrics{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}

.qcMetricPass{
  padding:4px 6px;

  background:#F0F9F5;
  color:#006268;

  border-radius:6px;

  font-size:9px;
  font-weight:900;
}

.qcMetricFail{
  padding:4px 6px;

  background:#FDF0F5;
  color:#DB0B5B;

  border-radius:6px;

  font-size:9px;
  font-weight:900;
}

.qcStatusGood{
  color:#006268;
  font-size:9px;
  font-weight:900;
}

.qcStatusFail{
  color:#DB0B5B;
  font-size:9px;
  font-weight:900;
}

.qcExpected{
  margin-top:3px;

  color:#006268;
  font-size:8px;
}

.posteriorReference{
  margin-top:7px;
  padding-top:6px;

  border-top:1px solid #E0F4F9;

  color:#006268;

  font-size:8px;
  line-height:1.35;
}


/* Móvil */

@media(max-width:800px){

  .qcComparisonGrid{
    grid-template-columns:1fr;
  }
}



/* ============================================================
   ALERTAS HOA / CHORD MU
   ============================================================ */

.clinicalValueAlert{
  background:#FDF0F5 !important;
  border:2px solid #DB0B5B !important;
  color:#DB0B5B !important;
  font-weight:900 !important;
}


/* ============================================================
   DESHACER INSTRUMENTO
   ============================================================ */

.undoInstrumentButton{
  margin-left:7px;
  padding:7px 11px;

  border:1px solid #50BFDB;
  border-radius:8px;

  background:#FFFFFF;
  color:#006268;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}

.undoInstrumentButton:hover:not(:disabled){
  background:#E3F4F5;
  border-color:#009DA8;
}

.undoInstrumentButton:disabled{
  opacity:.38;
  cursor:default;
}


.instrumentCard .field:has([data-f="type"]),
.instrumentCard .field:has([data-f="eye"]),
.instrumentCard .field:has([data-f="measurementLabel"]){
  display:none !important;
}



/* ============================================================
   ESTIMADA / MEDIDA EN EVO Y BARRETT
   ============================================================ */

.posteriorModeControl{
  display:flex;
  align-items:center;
  gap:8px;

  margin-left:auto;
}

.posteriorModeControl label{
  color:#006268;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}

.posteriorModeControl select{
  min-width:118px;
  height:42px;

  padding:0 30px 0 10px;

  border:1px solid #D4EFF6;
  border-radius:10px;

  background:#FFFFFF;
  color:#006268;

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

@media(max-width:700px){

  .posteriorModeControl{
    width:100%;
    margin-left:0;
    margin-top:7px;
  }

  .posteriorModeControl select{
    flex:1;
  }
}



/* ============================================================
   REANÁLISIS EN PROFUNDIDAD
   ============================================================ */

.deepAnalysisButton{
  margin-left:8px;
  padding:10px 14px;

  border:1px solid #009DA8;
  border-radius:10px;

  background:#F1FAFC;
  color:#006268;

  font-size:12px;
  font-weight:800;

  cursor:pointer;
}

.deepAnalysisButton:hover{
  background:#D9F0F2;
}


.pendingDeepAnalysis{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;

  margin-top:10px;
  padding:10px 12px;

  border:1px solid #009DA8;
  border-radius:10px;

  background:#F0F9FA;
  color:#006268;

  font-size:11px;
}

.pendingDeepAnalysis > span{
  color:#006268;
}

.pendingDeepActions{
  display:flex;
  gap:6px;
  margin-left:auto;
}

.pendingDeepActions button{
  padding:7px 10px;

  border:1px solid #BFE6E9;
  border-radius:8px;

  background:#FFFFFF;
  color:#006268;

  font-weight:800;
  cursor:pointer;
}



/* ============================================================
   ELECCIÓN DEL TIPO DE ANÁLISIS
   ============================================================ */

.analysisModeChooser{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:7px;

  margin:10px 0 9px 0;
}

.analysisModeTitle{
  display:flex;
  align-items:center;

  margin-right:3px;

  color:#006268;
  font-size:11px;
  font-weight:900;
}

.analysisModeOption{
  display:flex;
  align-items:center;
  gap:7px;

  min-width:175px;

  padding:7px 10px;

  border:1px solid #D3EFF6;
  border-radius:10px;

  background:#FFFFFF;

  cursor:pointer;
}

.analysisModeOption.selected{
  border-color:#009DA8;
  background:#E8F6F7;
}

.analysisModeOption input{
  margin:0;
}

.analysisModeOption span{
  display:flex;
  flex-direction:column;
  gap:1px;
}

.analysisModeOption b{
  color:#006268;
  font-size:11px;
}

.analysisModeOption small{
  color:#006268;
  font-size:9px;
}


/* ============================================================
   CUENTA ATRÁS ESTIMADA
   ============================================================ */

.adaptiveAnalysisCountdown{
  display:inline-flex;
  align-items:center;
  gap:7px;

  min-height:42px;

  margin-left:8px;
  padding:0 11px;

  border:1px solid #BFE6E9;
  border-radius:10px;

  background:#F1FAFC;

  vertical-align:middle;
}

.adaptiveAnalysisCountdown span{
  color:#006268;
  font-size:10px;
  font-weight:700;
}

.adaptiveAnalysisCountdown strong{
  min-width:52px;

  color:#006268;
  font-size:17px;
  font-weight:900;

  font-variant-numeric:tabular-nums;
}

.adaptiveAnalysisCountdown[data-mode="deep"]{
  background:#F4FBFD;
  border-color:#D3EFF6;
}

.adaptiveAnalysisCountdown[data-mode="deep"] strong{
  color:#006268;
}


/* ============================================================
   BOTÓN PROFUNDO EN REVISIÓN
   ============================================================ */

.deepAnalysisReviewButton{
  margin-right:8px;
  padding:11px 15px;

  border:1px solid #009DA8;
  border-radius:10px;

  background:#E8F6F7;
  color:#006268;

  font-size:12px;
  font-weight:900;

  cursor:pointer;
}

.deepAnalysisReviewButton:hover{
  background:#D5EFF1;
}


/* móvil */

@media(max-width:700px){

  .analysisModeChooser{
    display:grid;
    grid-template-columns:1fr;
  }

  .analysisModeTitle{
    margin-bottom:2px;
  }

  .analysisModeOption{
    width:100%;
    min-width:0;
  }

  .adaptiveAnalysisCountdown{
    margin:7px 0 0 0;
  }
}



/* ============================================================
   ACCIONES DE REVISIÓN
   ============================================================ */

.reviewSecondaryAction{
  margin-left:7px;
  padding:8px 12px;

  border:1px solid #009DA8;
  border-radius:9px;

  background:#FFFFFF;
  color:#006268;

  font-size:11px;
  font-weight:850;

  cursor:pointer;
}

.reviewSecondaryAction:hover{
  background:#E8F6F7;
}


/*
 * El botón profundo queda visualmente
 * en la misma línea de acciones.
 */

#deepAnalysisReviewButton,
#deepAnalysisButton{
  margin-left:7px !important;
  margin-right:0 !important;
}


@media(max-width:700px){

  .reviewSecondaryAction,
  #deepAnalysisReviewButton,
  #deepAnalysisButton{
    margin-top:6px;
  }
}



/* ============================================================
   ACCIONES DE REVISIÓN V2
   ============================================================ */

.reviewActionButton{
  margin-left:7px;
  padding:8px 12px;

  border:1px solid #009DA8;
  border-radius:9px;

  background:#FFFFFF;
  color:#006268;

  font-size:11px;
  font-weight:850;

  cursor:pointer;
}

.reviewActionButton:hover{
  background:#E8F6F7;
}

.reviewActionButton.deep{
  background:#F1FAFC;
}


/* ============================================================
   ESTIMADA / MEDIDA
   ============================================================ */

.posteriorCalculationChecks{
  display:flex;
  align-items:center;
  gap:14px;

  margin-top:7px;
  padding-left:27px;
}

.posteriorCalculationChecks label{
  display:inline-flex;
  align-items:center;
  gap:5px;

  color:#006268;

  font-size:11px;
  font-weight:750;

  cursor:pointer;
}

.posteriorCalculationChecks input{
  width:15px;
  height:15px;

  accent-color:#006268;
}

.posteriorCalculationChecks input:disabled +
span{
  color:#50BFDB;
}



/* ============================================================
   ÚNICO ANÁLISIS + CUENTA ATRÁS
   ============================================================ */

.singleAnalysisCountdown{
  display:inline-flex;
  align-items:center;
  gap:8px;

  min-height:42px;

  margin-left:9px;
  padding:0 12px;

  border:1px solid #BFE6E9;
  border-radius:10px;

  background:#F1FAFC;
}

.singleAnalysisCountdown span{
  color:#006268;
  font-size:10px;
  font-weight:700;
}

.singleAnalysisCountdown strong{
  min-width:54px;

  color:#006268;

  font-size:17px;
  font-weight:900;

  font-variant-numeric:tabular-nums;
}

.singleAnalysisCountdown[hidden]{
  display:none !important;
}



/* ============================================================
   CONTROLES ESTABLES
   ============================================================ */

.instrumentHeaderActions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.secondaryAction{
  background:#FFFFFF !important;
  color:#006268 !important;
  border:1px solid #009DA8 !important;
}


/* Estimada / Medida */

.posteriorCalcChecks{
  display:flex;
  align-items:center;
  gap:13px;

  width:100%;
  margin-top:7px;
}

.posteriorCalcChecks label{
  display:flex;
  align-items:center;
  gap:5px;

  color:#006268;

  font-size:11px;
  font-weight:750;

  cursor:pointer;
}

.posteriorCalcChecks input{
  width:15px;
  height:15px;

  accent-color:#006268;
}

.posteriorCalcChecks input:disabled{
  opacity:.45;
}

.posteriorCalcChecks input:disabled + *,
.posteriorCalcChecks label:has(input:disabled){
  color:#50BFDB;
}


/* Cronómetro */

.analysisCountdown{
  margin-left:5px;
  font-variant-numeric:tabular-nums;
}



/* Control antiguo eliminado definitivamente */

.posteriorModeControl,
[data-posterior-mode]{
  display:none !important;
}


.reviewStatus{
  white-space:pre-line;
}



.calculationArtifacts{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;

  margin-top:12px;
}

.calculationArtifactButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:38px;
  padding:8px 14px;

  border:1px solid #009DA8;
  border-radius:12px;

  background:#FFFFFF;
  color:#006268;

  font-size:13px;
  font-weight:700;

  text-decoration:none;
}

.calculationArtifactButton:hover{
  background:#EAF7F8;
}

.excelArtifact{
  background:#DFF3F4;
  border-color:#009DA8;
}



/* ============================================================
   CONFIGURACIÓN DE LOS CÁLCULOS
   ============================================================ */

.legacyCalcControls{
  display:none !important;
}

.calculationConfigLayout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);
  gap:18px;
  margin-top:14px;
}

.calculationConfigPanel,
.calculationInstrumentPanel{
  border:1px solid #D4EFF6;
  border-radius:16px;
  background:#FFFFFF;
  overflow:hidden;
}

.calculationConfigColumnHeader{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:12px;

  padding:9px 14px;

  background:#F4FBFD;

  color:#006268;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.calculationConfigRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px auto;
  align-items:center;
  gap:12px;

  min-height:54px;
  padding:9px 14px;

  border-top:1px solid #ECF8FB;
}

.calculationConfigChoice{
  display:flex;
  align-items:center;
  gap:10px;

  min-width:0;

  font-weight:750;
  color:#006268;
}

.calculationConfigChoice input{
  width:17px;
  height:17px;
  flex:0 0 auto;

  accent-color:#006268;
}

.calculationConfigRow select{
  min-height:36px;
  width:100%;

  border:1px solid #D3EFF6;
  border-radius:9px;

  background:#FFFFFF;
}

.calculationConfigDivider{
  height:6px;
  background:#F4FBFD;
  border-top:1px solid #ECF8FB;
  border-bottom:1px solid #ECF8FB;
}

.configPending{
  padding:3px 7px;

  border-radius:20px;

  background:#F1FAFC;
  color:#50BFDB;

  font-size:10px;
  font-weight:750;
}

.calculationConfigRow.configUnavailable{
  display:none;
}

.calculationConfigRow:has(input:disabled){
  opacity:.55;
}

.calculationInstrumentPanel{
  padding:14px;
}

.calculationInstrumentTitle{
  margin-bottom:3px;

  font-size:13px;
  font-weight:800;
  color:#006268;
}

.calculationInstrumentHelp{
  margin-bottom:10px;
  font-size:11px;
}

.calculationInstrumentOptions{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.calculationInstrumentOption{
  display:flex;
  align-items:center;
  gap:9px;

  padding:9px 10px;

  border:1px solid #E1F4F9;
  border-radius:10px;

  background:#F4FBFD;

  font-size:12px;
  font-weight:650;
  color:#006268;
}

.calculationInstrumentOption input{
  width:16px;
  height:16px;

  accent-color:#006268;
}

.calculationInstrumentEmpty{
  padding:12px;

  border:1px dashed #D3EFF6;
  border-radius:10px;

  color:#50BFDB;
  font-size:12px;
}


@media (max-width:760px){

  .calculationConfigLayout{
    grid-template-columns:1fr;
  }

  .calculationConfigColumnHeader{
    grid-template-columns:minmax(0,1fr) 118px;
  }

  .calculationConfigRow{
    grid-template-columns:minmax(0,1fr) 118px;
    gap:8px;
  }

  .configPending{
    grid-column:1 / -1;
    justify-self:start;
  }
}



/* ============================================================
   ENTREGAS DE CÁLCULOS
   ============================================================ */

#calculationArtifacts{
  margin-top:18px;
}

.completeArtifactActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.completeArtifactButton{
  min-height:72px;

  padding:14px 18px;

  border:1px solid #D3EFF6;
  border-radius:14px;

  background:#F0F9FA;
  color:#006268;

  text-align:left;
  cursor:pointer;

  transition:
    border-color .15s ease,
    background .15s ease;
}

.completeArtifactButton:hover{
  background:#E6F5F6;
  border-color:#009DA8;
}

.completeArtifactButton strong{
  display:block;

  margin-bottom:4px;

  font-size:14px;
  font-weight:800;
}

.completeArtifactButton span{
  display:block;

  color:#006268;
  font-size:11px;
  font-weight:500;
}

.completeArtifactButton:disabled{
  opacity:.6;
  cursor:wait;
}


.customArtifactPanel{
  margin-top:18px;
  padding:16px;

  border:1px solid #F6C2D6;
  border-radius:16px;

  background:#FDF0F5;
}

.customArtifactTitle{
  display:flex;
  flex-direction:column;
  gap:3px;

  margin-bottom:15px;
}

.customArtifactTitle strong{
  color:#DB0B5B;
  font-size:14px;
}

.customArtifactTitle span{
  color:#006268;
  font-size:11px;
}

.customArtifactSelections{
  display:grid;
  grid-template-columns:
    minmax(120px,.55fr)
    minmax(200px,1fr)
    minmax(200px,1fr);

  gap:14px;
}

.artifactSelectionGroup{
  min-width:0;
}

.artifactSelectionTitle{
  margin-bottom:7px;

  color:#006268;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.artifactChoices{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.artifactChoice{
  display:flex;
  align-items:center;
  gap:8px;

  min-height:34px;
  padding:7px 9px;

  border:1px solid #F8CCDD;
  border-radius:9px;

  background:#FFFFFF;

  color:#006268;
  font-size:12px;
  font-weight:650;
}

.artifactChoice input{
  width:16px;
  height:16px;

  accent-color:#DB0B5B;
}

.customArtifactActions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;

  margin-top:16px;
}

.artifactSecondaryButton,
.artifactPrimaryButton{
  min-height:38px;

  padding:8px 14px;

  border-radius:9px;

  font-size:12px;
  font-weight:750;

  cursor:pointer;
}

.artifactSecondaryButton{
  border:1px solid #D3EFF6;
  background:#FFFFFF;
  color:#006268;
}

.artifactPrimaryButton{
  border:1px solid #DB0B5B;
  background:#DB0B5B;
  color:#FFFFFF;
}

.artifactPrimaryButton:disabled{
  opacity:.6;
  cursor:wait;
}


@media(max-width:760px){

  .completeArtifactActions{
    grid-template-columns:1fr;
  }

  .customArtifactSelections{
    grid-template-columns:1fr;
  }
}



/* ============================================================
   CASOS RECIENTES
   ============================================================ */

#recentCases{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:12px;
}

.recentCaseCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  padding:12px 13px;

  border:1px solid #DEF3F8;
  border-radius:12px;

  background:#F4FBFD;
}

.recentCaseInfo{
  min-width:0;
  flex:1;
}

.recentCaseCode{
  display:block;

  margin-bottom:3px;

  color:#006268;
  font-size:13px;
}

.recentCaseMeta{
  overflow:hidden;

  color:#006268;
  font-size:11px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.recentCaseStatus{
  margin-top:4px;

  color:#006268;
  font-size:10px;
  font-weight:700;
}

.openRecentCase{
  flex:0 0 auto;

  min-height:36px;
  padding:7px 12px;

  border:1px solid #50BFDB;
  border-radius:9px;

  background:#E9F7F7;
  color:#006268;

  font-size:11px;
  font-weight:800;

  cursor:pointer;
}

.openRecentCase:hover{
  background:#DCF2F3;
}

.recentCasesLoading{
  opacity:.6;
  pointer-events:none;
}


@media(max-width:650px){

  .recentCaseCard{
    align-items:flex-start;
    flex-direction:column;
  }

  .openRecentCase{
    width:100%;
  }

  .recentCaseMeta{
    white-space:normal;
  }
}


.caseFilters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.caseFilters label{display:flex;flex-direction:column;gap:5px;flex:1 1 150px}.caseFilters input,.caseFilters select{min-height:40px;width:100%;padding:8px;border:1px solid #D3EFF6;border-radius:8px}.caseFilters button{padding:10px 16px;border-radius:8px;background:#DB0B5B;color:white;border:0}.calculationConfirm{display:flex;align-items:center;gap:10px;margin:14px 0}.calculationResults{margin-top:20px}.calculationResults progress{width:100%;height:20px;accent-color:#DB0B5B}.captureGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.savedCapture{padding:12px;border:1px solid #F6C2D6;border-radius:12px;min-width:0}.savedCapture img{width:100%;height:auto}.savedCapture pre{font:inherit;white-space:pre-wrap;font-size:13px}.savedCapture .error{color:#DB0B5B}@media(max-width:700px){.captureGrid{grid-template-columns:1fr}}

.casesMenuCard{display:flex;flex-direction:column;align-items:flex-start;gap:16px;cursor:pointer;text-align:left;color:#006268;font:inherit;border:1px solid #F7C7D9}.casesMenuCard strong{font-size:28px}.casesMenuCard span{color:#006268}.casesMenuCard .casesMenuAction{color:#DB0B5B;font-weight:700}.casesMenuCard:hover{border-color:#DB0B5B;box-shadow:0 10px 26px #DB0B5B18}.navigationButton{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #50BFDB;border-radius:9px;background:white;color:#006268;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.navigationButton:hover{background:#EEF9FB}.menuAtRight{margin-left:auto}.pageNavigation{display:flex;justify-content:space-between;gap:12px;padding:20px 0}.recentCasesHeading{margin-top:28px}#casesView>.card{max-width:1100px;margin:0 auto}#casesView .caseFilters{margin-bottom:16px}.viewTitle{flex-wrap:wrap}@media(max-width:600px){.menuAtRight{margin-left:0}.navigationButton{font-size:13px;padding:9px 12px}}

.progressTable{width:100%;border-collapse:collapse;font-size:14px}.progressTable th,.progressTable td{padding:12px 9px;text-align:left;border-bottom:1px solid #E1F4F9}.progressTable th{color:#DB0B5B}.failedProgress td{color:#DB0B5B}.reviewScreenShortcuts{display:flex;gap:12px;margin:14px 0;flex-wrap:wrap}.executionChoice{display:flex;align-items:center;gap:12px;margin-bottom:20px}.executionChoice select{padding:10px;border:1px solid #D3EFF6;border-radius:8px;max-width:100%}#calculationProgress progress{width:100%;accent-color:#DB0B5B}.calculationWarning{color:#006268;font-size:13px}#resultsView .calculationResults{margin-top:0}#resultsView details pre{font-size:11px;max-height:180px;overflow:auto}#progressView>.card,#resultsView>.card{margin-bottom:20px}@media(max-width:600px){.progressTable{font-size:12px}.progressTable th,.progressTable td{padding:8px 4px}.executionChoice{flex-wrap:wrap}}

.caseActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.caseActions .openRecentCase{min-height:40px;padding:9px 12px;white-space:nowrap}.caseTabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.caseTabs button{padding:10px 16px;border:1px solid #DB0B5B;border-radius:9px;color:#DB0B5B;background:#FFFFFF;font:inherit;font-weight:700;cursor:pointer}#reviewView [data-case-destination="review"],#resultsView [data-case-destination="results"],#caseDocumentsView [data-case-destination="documents"]{background:#DB0B5B;color:#FFFFFF}.caseDocumentRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #E1F4F9}.caseDocumentRow strong{overflow-wrap:anywhere}.caseDocumentRow p{color:#006268;font-size:13px}.caseDocumentRow>div:first-child{min-width:0}#casePdfPreview{width:100%;height:75vh;min-height:400px;border:1px solid #D3EFF6;margin-top:20px;border-radius:10px}@media(max-width:800px){.recentCaseCard,.caseDocumentRow{align-items:flex-start;flex-direction:column}.caseActions{justify-content:flex-start}}

/* Explicit type size also applies to the native dropdown popup in Windows. */
#appView select, #appView select option, #appView select optgroup {
  font-family:Inter,Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1.4 !important;
}
#appView select {
  height:auto !important;
  min-height:44px !important;
  padding:10px 12px !important;
  max-width:100%;
}

.startupView{position:fixed;inset:0;z-index:1000;background:#F4FBFD;display:flex;align-items:center;justify-content:center;padding:20px}.startupView .authCard{text-align:center}.startupView button{margin-top:12px}.startupView #startupMenu{margin-left:8px}
.calculationStatus{display:flex;flex-direction:column;gap:6px;min-width:110px;font-size:14px;font-weight:700;margin:8px 0 14px}.calculationStatus .individualProgress{width:100%;height:12px;accent-color:#DB0B5B}.calculationStatus.completed{color:#006268}.calculationStatus.completed .individualProgress{accent-color:#006268}.calculationStatus.failed{color:#DB0B5B}.calculationStatus.failed .individualProgress{accent-color:#DB0B5B}.calculationStatus.pending{color:#006268}.captureGroupTitle{color:#DB0B5B;font-size:21px}.captureTitle{display:block;font-size:18px}.captureTitle.estimated{color:#006268}.captureTitle.measured{color:#DB0B5B}.savedCapture .calculationStatus{max-width:240px}#calculationProgress .calculationStatus.completed .individualProgress{accent-color:#006268}#calculationProgress .calculationStatus.failed .individualProgress{accent-color:#DB0B5B}

.caseDeleteButton{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1px solid #F6C2D6;border-radius:9px;background:#FFFFFF;color:#DB0B5B}.caseDeleteButton:hover{background:#FDF0F5}.caseDeleteButton:disabled{opacity:.5;cursor:wait}

/* Revision: empty fields and validation are distinct states. */
#reviewView .emptyDataField:not(.missingRequired){background:#BFE6E9 !important;border-color:#009DA8 !important;color:#006268;}
#reviewView .missingRequired{background:#BFE6E9 !important;border:2px solid #009DA8 !important;box-shadow:0 0 0 2px #009DA820 !important;}
.cornealConfirmation{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px 14px;background:#FCEBF1;border-radius:10px;font-weight:600;}
.cornealConfirmation input{width:21px;height:21px;flex:none;accent-color:#DB0B5B;}
#comparisonSummary{margin:12px 0;}
#comparisonSummary .qcComparisonGrid{gap:12px;}
#comparisonSummary .qcPanel{padding:10px 12px;}
#comparisonSummary .qcResultRow{padding:6px 0;}
#comparisonSummary .qcResultHead{margin:0 0 4px;gap:5px;font-size:12px;}
#comparisonSummary .qcMetrics{gap:4px;}
#comparisonSummary .qcMetricPass,#comparisonSummary .qcMetricFail{font-size:11px;padding:3px 5px;}
#comparisonSummary .qcTitle{font-size:13px;margin-bottom:6px;}
#comparisonSummary .qcStatusGood,#comparisonSummary .qcStatusFail{font-size:11px;}
#comparisonSummary .posteriorReference{font-size:10px;line-height:1.3;}
#comparisonSummary .qcExpected{font-size:10px;margin:3px 0 0;}
.generatedArtifactLinks{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px;}
.generatedArtifactLinks a{white-space:normal;}
.completeArtifactButton strong,.completeArtifactButton span{display:block;}
.completeArtifactButton span{font-size:14px;margin-top:6px;}
.customArtifactSelections{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;}
.artifactSelectionGroup .artifactChoice{display:flex;margin:8px 0;}
.captureGroupTitle{padding:12px 16px;background:#DB0B5B;color:#FFFFFF;border-radius:9px;font-size:24px;}
.savedCapture .captureTitle{padding:10px 12px;color:#FFFFFF;border-radius:7px;font-size:21px;line-height:1.3;}
.savedCapture .captureTitle.estimated{background:#006268;}
.savedCapture .captureTitle.measured{background:#DB0B5B;}
#comparisonSummary .qcResultRow{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1.4fr);gap:4px 8px;align-items:center;}
#comparisonSummary .qcResultHead{margin:0;}
#comparisonSummary .qcExpected{grid-column:2;}
@media(max-width:600px){#comparisonSummary .qcResultRow{grid-template-columns:1fr;}#comparisonSummary .qcExpected{grid-column:1;}}
.reviewValidationNote{position:sticky;top:8px;z-index:20;max-height:180px;overflow:auto;padding:12px 16px;margin:12px 0;border:1px solid #009DA8;border-radius:10px;background:#DBF1F3;color:#006268;font-weight:600;line-height:1.5;}

/* Only the affected derived metric is red; raw keratometry fields stay neutral. */
#reviewView [data-derived] [data-corneal-metric].cornealValueAlert{
  color:#DB0B5B !important;
  font-weight:900 !important;
}
#reviewView [data-derived="ant"],#reviewView [data-derived="post"]{
  display:block;line-height:1.35;white-space:normal;
}
#reviewView [data-derived] [data-corneal-metric]{display:inline;color:inherit;font-size:inherit;}
/* SIA is an important reminder even when filled. Missing-field orange wins. */
#reviewView .siaImportant label{font-weight:800;color:#006268;}
#reviewView .siaImportant input:not(.missingRequired){background:#BFE6E9 !important;border:2px solid #009DA8 !important;}
/* Blue reminders are distinct from yellow optional and red required omissions. */
#reviewView .siaImportant label,#reviewView .field:has(#reviewCornealStatus)>label{font-weight:800;color:#006268;}
#reviewView .siaImportant input:not(.missingRequired):not(.emptyDataField),
#reviewView #reviewCornealStatus:not(.missingRequired):not(.emptyDataField){background:#EFF9FC !important;border:2px solid #50BFDB !important;color:#006268;}
#reviewView .emptyDataField:not(.missingRequired){background:#BFE6E9 !important;border-color:#009DA8 !important;}
#reviewView .missingRequired{background:#FBE7EF !important;border:2px solid #DB0B5B !important;color:#DB0B5B;box-shadow:0 0 0 2px #DB0B5B1A !important;}
#reviewView .eyeNotSelected{border-color:#D3EFF6;}
#reviewView .eyeNotSelectedNote{margin:0 0 10px;padding:8px 12px;background:#EEF9FB;color:#006268;border-radius:8px;font-size:14px;}
#comparisonSummary .qcCornealDiscrepancy{
  padding-left:8px;border-left:3px solid #DB0B5B;background:#FDF0F5;
}
#comparisonSummary .qcCornealDiscrepancy .qcResultHead > b{color:#DB0B5B;}

/* Casos: all four actions stay reachable on narrow screens. */
.resultsContextBar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:10px;}
.resultsContextBar .executionChoice{flex:0 1 310px;display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;min-width:0;font-weight:700;}
.resultsContextBar .executionChoice select{width:100%;min-width:0;}
.resultCaseIdentity{flex:1 1 320px;min-width:0;display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:14px 18px;background:#FCE9F0;border:1px solid #F6C2D6;border-radius:10px;}
.resultCaseIdentity > div{flex:1 1 160px;min-width:0;overflow-wrap:anywhere;}
.resultCaseIdentity dt{font-size:13px;color:#DB0B5B;margin-bottom:5px;}
.resultCaseIdentity dd{margin:0;font-size:20px;font-weight:800;color:#DB0B5B;line-height:1.3;}
.executionHelp{font-size:13px;margin:0 0 18px;}
.generatedArtifactLinks .artifactDownload{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;max-width:100%;white-space:normal;}
.artifactDownload .artifactFileName{font-size:13px;font-weight:400;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;user-select:text;}
@media(max-width:600px){.resultsContextBar .executionChoice,.resultCaseIdentity{flex-basis:100%;}.resultCaseIdentity dd{font-size:18px;}}

.caseActions{min-width:0;max-width:100%;}
.caseDeleteButton{gap:7px;padding:10px 12px;min-height:44px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;}
.caseDeleteButton svg{flex:none;display:block;}
.caseDeleteButton span{display:inline;}
.caseFilters label{min-width:0;}
.caseFilters input,.caseFilters select{min-width:0;max-width:100%;}
[hidden]{display:none !important;}
.statisticsFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;align-items:end;}
.statisticsFilters label{display:flex;flex-direction:column;gap:7px;min-width:0;font-weight:600;}
.statisticsFilters input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #50BFDB;border-radius:8px;font:inherit;}
#statisticsView>.card{margin-bottom:20px;}
.statisticsTotals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0;}
.statisticsTotal{display:flex;flex-direction:column;gap:6px;padding:20px;background:#FCEAF1;border:1px solid #F6C2D6;border-radius:13px;}
.statisticsTotal strong{font-size:34px;color:#DB0B5B;}
.statisticsTotal span{font-size:14px;}
.statisticsMetricLabel{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-weight:700;}
.statisticsBars{display:flex;flex-direction:column;gap:18px;margin:24px 0;}
.statisticsBarRow{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,3fr) auto;align-items:center;gap:12px;}
.statisticsBarLabel{overflow-wrap:anywhere;font-weight:600;}
.statisticsBarTrack{height:28px;background:#ECF8FB;border-radius:6px;overflow:hidden;}
.statisticsBar{height:100%;min-width:0;border-radius:6px;}
.statisticsExplanation{font-size:13px;line-height:1.5;color:#006268;margin-top:20px;}
.statisticsTable{width:100%;border-collapse:collapse;font-size:14px;}
.statisticsTable th,.statisticsTable td{padding:12px 10px;text-align:left;border-bottom:1px solid #E1F4F9;vertical-align:top;}
.statisticsTable th{color:#DB0B5B;background:#FDF0F5;}
.statisticsGroupTable{margin-top:22px;}
.statisticsTableScroll{overflow:auto;max-width:100%;}
.statisticsPages{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
.noticeCheckbox{display:flex;gap:10px;align-items:flex-start;text-align:left;margin:18px 0;line-height:1.5;font-weight:600;}
.noticeCheckbox input{width:21px !important;height:21px;min-width:21px;margin:3px 0 0;accent-color:#DB0B5B;}
.accessNoticeCard{max-width:720px;width:100%;}
.accessNoticeCard p,.noticeDisclosure p{line-height:1.55;text-align:left;}
.noticeDisclosure{margin-top:20px;line-height:1.5;}
@media(max-width:800px){
  #casesView .recentCaseCard{width:100%;min-width:0;}
  #casesView .caseActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;gap:9px;}
  #casesView .caseActions button{width:100%;min-width:0;white-space:normal;font-size:13px;min-height:46px;}
  #casesView .recentCaseInfo{width:100%;}
}
@media(max-width:500px){
  .statisticsTotals{grid-template-columns:1fr;gap:8px;}
  .statisticsTotal{padding:14px;flex-direction:row;align-items:center;gap:16px;}
  .statisticsTotal strong{font-size:28px;min-width:45px;}
  .statisticsBarRow{grid-template-columns:minmax(90px,1.4fr) minmax(70px,2fr) auto;gap:8px;font-size:13px;}
  .statisticsFilters{grid-template-columns:1fr;}
}
.statisticsFilters select,.statisticsMetricLabel select{border:1px solid #50BFDB;border-radius:8px;background:#FFFFFF;}
.revokeAccessButton{color:#DB0B5B;border-color:#DB0B5B;}
#accountManagement{grid-column:1 / -1;}
#accountManagementList{max-height:450px;}
#accountManagement{min-width:0;max-width:100%;}
.accountList{display:flex;flex-direction:column;gap:12px;min-width:0;}
.accountCard{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #F6C2D6;border-radius:12px;min-width:0;}
.accountCard>div:first-child{min-width:0;overflow-wrap:anywhere;}
.accountCard p{margin:5px 0;font-size:13px;color:#006268;}
.accountActions{display:flex;flex-direction:column;gap:8px;flex:0 1 260px;min-width:0;}
.accountActions .navigationButton{white-space:normal;overflow-wrap:anywhere;}
.accountActions small{color:#DB0B5B;}
@media(max-width:600px){.accountCard{flex-direction:column;align-items:stretch;}.accountCard .navigationButton{width:100%;min-height:44px;}}
@media(max-width:600px){.accountActions{flex-basis:auto;width:100%;}}

/* Alternative readings stay inside the existing box. The number is visible
   for comparison; the menu identifies its instrument and allows manual edits. */
#reviewView .instrumentGrid.alignedInstrumentRows{grid-template-columns:repeat(4,minmax(230px,1fr));grid-auto-columns:minmax(230px,1fr);}
#reviewView .qcBorrowControl{position:relative;min-width:0;}
#reviewView .qcBorrowControl > .fallbackSourceSelect{
  position:absolute;inset:0;
  width:100%;max-width:100%;height:100% !important;min-height:44px !important;
  margin:0 !important;padding:7px 20px 7px 5px !important;
  border:1px solid #D3EFF6 !important;border-radius:10px !important;
  background:#EEF9FB !important;color:#006268 !important;
  text-align:left;font-weight:800;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%23007C83' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 4px center !important;
}
#reviewView .qcBorrowControl:has(> input:focus) > .fallbackSourceSelect{visibility:hidden;}
#reviewView .qcBorrowControl > .fallbackSourceSelect option{color:#006268;background:#FFFFFF;}
#reviewView .instrumentCard .field input{height:44px;}
@supports(grid-template-rows:subgrid){
  #reviewView .instrumentGrid.alignedInstrumentRows{grid-template-rows:repeat(var(--instrument-rows),auto);row-gap:8px;}
  #reviewView .alignedInstrumentRows > .instrumentCard{display:grid;grid-row:1/-1;grid-template-rows:subgrid;row-gap:8px;}
  #reviewView .alignedInstrumentRows > .instrumentCard > .compactGrid{grid-row:2/-1;grid-template-rows:subgrid;row-gap:8px;}
  #reviewView .alignedInstrumentRows .compactGrid > .field{display:flex;flex-direction:column;min-width:0;}
  #reviewView .alignedInstrumentRows .compactGrid > .field > label{margin-bottom:auto;padding-bottom:5px;}
}

.posteriorSelectionNote{padding:10px 12px;border-left:4px solid #006268;background:#E6F5F6;color:#006268;border-radius:6px;font-size:14px;line-height:1.45}

#reviewView .instrumentDisclosure{grid-column:1/-1;align-self:start;min-width:0;border-top:1px solid #F6C2D6;margin-top:4px}
#reviewView .instrumentDisclosure>summary{cursor:pointer;padding:9px 5px;min-height:44px;color:#006268;font-size:12px;font-weight:800;overflow-wrap:anywhere}
#reviewView .instrumentDisclosure .disclosureStatus{font-size:11px;font-weight:600}
#reviewView .instrumentDisclosure.hasOpticalAlert>summary{color:#DB0B5B;background:#FDF0F5;border-radius:7px}
#reviewView .instrumentDisclosure>.disclosureFields{padding:5px 0 8px;grid-template-rows:none}
