/* Recorded order windows keep their native groups while allowing the content to scroll. */
.orderfloat { container: order-window / inline-size; }
.orderfloat .clinicalwindowbody > .labfieldset,
.orderfloat .clinicalwindowbody > .vaccinecatalog,
.orderfloat .clinicalwindowbody > .vaccineassigned,
.orderfloat .clinicalwindowbody > .labfootertabs,
.orderfloat .clinicalwindowbody > .recordedform { flex-shrink: 0; }
.orderfloat .clinicalwindowbody > .recordedform { flex-grow: 1; }
.orderfloat .labfieldset.testfieldset { flex: 0 0 auto; min-height: 0; }
.orderfloat .labtestcatalog { columns: 3; min-height: 0; overflow: visible; padding: 6px 3px; }
.orderfloat .labtestcatalog label { break-inside: avoid; align-items: flex-start; font-size: 13px; line-height: 1.35; padding: 5px 2px; white-space: normal; overflow-wrap: anywhere; }
.orderfloat .labtestcatalog input { flex: 0 0 15px; margin-top: 1px; }
.orderfloat .labfieldset.assignment { flex: 0 0 auto; min-height: 130px; margin-top: 9px !important; }
.orderfloat .squarebuttons { flex-wrap: wrap; row-gap: 4px; }
.orderfloat .squarebuttons button { white-space: nowrap; }
.orderfloat .labstaged { max-height: 190px; }
.orderfloat .labentity, .orderfloat .vaccineentity { flex-wrap: wrap; gap: 8px 14px; }
.orderfloat .labentity > label:first-child { min-width: 230px; max-width: 100%; }
.orderfloat .labfootertabs { flex-wrap: wrap; gap: 7px 20px; }
.orderfloat .labtaskfooter { flex-wrap: wrap; gap: 7px; padding: 9px 10px; margin-top: 0; border-top: 1px solid #aaa; }
.orderfloat .labtaskfooter > label { margin-right: auto; font-size: 12px; }
.orderfloat .labtaskfooter .btn { min-height: 28px; padding: 3px 16px; border-radius: 0; white-space: nowrap; }
.orderfloat .splitTask > button:last-of-type { min-width: 29px; }
.orderfloat .mateammenu { width: max-content; min-width: 210px; max-width: min(320px,85vw); max-height: 200px; overflow-y: auto; }
.orderfloat .mateammenu > button { font-size: 13px; min-height: 30px; }

/* The original ten-column fixed row allowed labels and controls to overlap. */
.orderfloat .diagnosticrecorded { min-width: 0; }
.orderfloat .diagnosticrecordedtop { min-width: 0; grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: 14px; }
.orderfloat .diagnosticlists { min-width: 0; gap: 8px; }
.orderfloat .diagnosticlists > .nativegrid { min-width: 0; }
.orderfloat .diagnosticcategories { min-width: 0; }
.orderfloat .diagnosticcategories button { font-size: 13px; line-height: 1.3; padding: 5px 2px; overflow-wrap: anywhere; }
.orderfloat .diagnosticstudyfields { min-width: 0; grid-template-columns: 58px minmax(170px,2.2fr) minmax(68px,.7fr) minmax(118px,1.1fr) minmax(132px,1.3fr); gap: 10px; margin: 16px 0 10px; align-items: end; }
.orderfloat .diagnosticoptionalfields { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 0 0 15px; align-items: end; }
.orderfloat .diagnosticstudyfields > label,
.orderfloat .diagnosticoptionalfields > label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.3; white-space: normal; min-width: 0; }
.orderfloat .diagnosticstudyfields input,
.orderfloat .diagnosticstudyfields select,
.orderfloat .diagnosticoptionalfields input { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 28px; height: 28px; font-size: 13px; margin: 0; }
.orderfloat .diagnosticrecorded .inlinefields > label { flex: 1 1 150px; font-size: 13px; gap: 4px; }
.orderfloat .diagnosticrecorded .inlinefields > label:first-child { flex-basis: 220px; }
.orderfloat .diagnosticrecorded .inlinefields > .recordedradios { flex: 1 1 240px; align-self: end; min-height: 28px; }
.orderfloat .studyattributes { font-size: 12px; }

.orderfloat .referralrecorded { min-width: 0; }
.orderfloat .referraltop { grid-template-columns: minmax(180px,1fr) minmax(0,2.4fr); gap: 18px; }
.orderfloat .referralrecorded .inlinefields > label { flex: 1 1 155px; }
.orderfloat .referraldiagnoses { gap: 10px 22px; }
.orderfloat .referraldiagnoses > div { grid-template-columns: minmax(0,1fr) 80px; }
.orderfloat .referraldiagnoses label { display: block; }
.orderfloat .pickerfield { height: auto; min-height: 26px; white-space: normal; }
.orderfloat .nativegrid td small { display: inline-block; margin-top: 4px; font-size: 12px; }
.orderfloat .nativefooter { flex-wrap: wrap; }
.orderfloat .vaccinecolumns { min-width: 0; }
.orderfloat .vaccinecolumns label { white-space: normal; display: flex; align-items: flex-start; gap: 2px; }
.orderfloat .vaccinecolumns label input { flex: 0 0 15px; margin-top: 3px; }
.orderfloat .vaccinecatalog .squarebuttons { flex-wrap: wrap; }
.orderfloat .vaccineassigned { flex: 0 0 auto; }
.orderfloat .sepvaccinedx .diagnosiscatalog { grid-auto-columns: minmax(200px,1fr); }

.recordedtaskform .recordedtaskdate { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.recordedtaskform .recordedtaskdate label { grid-template-columns: auto minmax(0,1fr); }
.recordedtaskform .recordedtaskassign { display: grid; grid-template-columns: minmax(0,1fr) 85px; gap: 8px; align-items: center; }
.recordedtaskform .recordedtaskassign input { min-width: 0; }
.recordedtaskform .recordedtaskassign .btn { border-radius: 0; }
.recordedtaskform input, .recordedtaskform select, .recordedtaskform textarea { width: 100%; min-width: 0; }
.taskfloat.windowbehind { z-index: 60; }
.recipientfloat .recipientlayout { min-width: 0; grid-template-columns: minmax(160px,1fr) 115px minmax(160px,1fr); }
.recipientfloat .recipientlayout > div { min-width: 0; }

@container order-window (max-width: 850px) {
  .orderfloat .labtestcatalog { columns: 2; }
  .orderfloat .diagnosticrecordedtop { grid-template-columns: 1fr; }
  .orderfloat .diagnosticlists { padding-top: 0; }
  .orderfloat .diagnosticlists > .nativegrid { min-height: 64px; }
  .orderfloat .diagnosticstudyfields { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .orderfloat .diagnosticstudyfields > label:nth-child(2) { grid-column: span 4; }
  .orderfloat .diagnosticstudyfields > label:nth-child(4),
  .orderfloat .diagnosticstudyfields > label:nth-child(5) { grid-column: span 3; min-width: 0; }
  .orderfloat .diagnosticstudyfields > label:nth-child(5) select { width: 100%; }
  .orderfloat .diagnosticoptionalfields { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .orderfloat .referraltop { grid-template-columns: 1fr; gap: 10px; }
  .orderfloat .referraltop > div:first-child .recordedradios { flex-direction: row; flex-wrap: wrap; }
}
@container order-window (max-width: 620px) {
  .orderfloat .labtestcatalog { columns: 1; }
  .orderfloat .diagnosiscatalog { grid-template-columns: 1fr; }
  .orderfloat .diagnosticstudyfields { grid-template-columns: 60px minmax(0,1fr); }
  .orderfloat .diagnosticstudyfields > label:nth-child(2) { grid-column: 2; }
  .orderfloat .diagnosticstudyfields > label:nth-child(3),
  .orderfloat .diagnosticstudyfields > label:nth-child(4),
  .orderfloat .diagnosticstudyfields > label:nth-child(5) { grid-column: 1 / -1; }
  .orderfloat .diagnosticoptionalfields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .orderfloat .referraldiagnoses { grid-template-columns: 1fr; }
  .orderfloat .referraldiagnoses > div { grid-column: 1 !important; grid-row: auto !important; }
  .orderfloat .vaccinecolumns { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .recordedtaskform { padding: 12px; }
  .recordedtaskform .recordedtaskdate { grid-template-columns: 1fr; gap: 8px; }
  .recordedtaskform .recordedtaskdate label { grid-template-columns: 100px minmax(0,1fr); }
  .recipientfloat .recipientlayout { grid-template-columns: minmax(140px,1fr) 95px minmax(140px,1fr); overflow-x: auto; }
}
