/* URG360 Alpha 1.15.101 — fenêtre dédiée de prescription biologique. */

body.v115-lab-modal-open{
  overflow:hidden!important;
}

.v115-lab-modal-overlay{
  position:fixed;
  inset:0;
  z-index:40150;
  display:grid;
  place-items:center;
  padding:14px;
  background:rgba(7,24,37,.60);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}

.v115-lab-modal{
  width:min(1540px,calc(100vw - 28px));
  height:min(900px,calc(100vh - 28px));
  min-height:560px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #b9c9d4;
  border-radius:20px;
  background:#eef3f6;
  box-shadow:0 30px 90px rgba(4,22,35,.30);
  color:#17384f;
}

.v115-lab-modal-head{
  flex:0 0 auto;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 18px;
  border-bottom:1px solid #c7d4dd;
  background:linear-gradient(180deg,#ffffff 0%,#edf3f6 100%);
}
.v115-lab-modal-head>div{min-width:0}
.v115-lab-modal-head span{
  display:block;
  margin-bottom:2px;
  color:#176fa5;
  font-size:9px;
  font-weight:950;
  letter-spacing:.09em;
}
.v115-lab-modal-head h2{
  margin:0;
  color:#123b59;
  font-size:21px;
  line-height:1.12;
  letter-spacing:-.02em;
}
.v115-lab-modal-head p{
  margin:4px 0 0;
  color:#687f90;
  font-size:10.5px;
}
.v115-lab-modal-head>button{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1px solid #c7d3dc;
  border-radius:10px;
  background:#f7fafb;
  color:#536e80;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.v115-lab-modal-head>button:hover{background:#fff;border-color:#a8bdcb}

.v115-lab-modal-body{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr);
  overflow:hidden;
}

.v115-lab-catalog{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-right:1px solid #c9d6de;
  background:#edf2f5;
}

.v115-lab-catalog-toolbar{
  flex:0 0 auto;
  padding:12px 14px 10px;
  border-bottom:1px solid #ced9e1;
  background:#e5edf2;
}
.v115-lab-catalog-toolbar label{
  display:block;
  color:#607687;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.v115-lab-catalog-toolbar input{
  width:100%;
  min-height:43px;
  box-sizing:border-box;
  margin-top:5px;
  padding:9px 12px;
  border:1px solid #abc7da;
  border-radius:11px;
  background:#fff;
  color:#15394f;
  font:inherit;
  font-size:12px;
  box-shadow:0 1px 3px rgba(22,55,77,.035);
}
.v115-lab-catalog-toolbar input:focus{
  outline:0;
  border-color:#4f9ac6;
  box-shadow:0 0 0 3px rgba(23,111,165,.10);
}
.v115-lab-catalog-toolbar nav{
  display:flex;
  gap:6px;
  margin-top:9px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.v115-lab-catalog-toolbar nav button{
  min-height:31px;
  padding:5px 10px;
  border:1px solid #c7d5de;
  border-radius:999px;
  background:#f7fafb;
  color:#526b7c;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}
.v115-lab-catalog-toolbar nav button:hover{background:#fff;border-color:#a9c0cf}
.v115-lab-catalog-toolbar nav button.active{
  border-color:#176fa5;
  background:#176fa5;
  color:#fff;
}

.v115-lab-catalog-content{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:11px 13px 18px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}

.v115-lab-rai-card{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:11px;
  margin-bottom:9px;
  padding:10px 12px;
  border:1px solid #a8cbe0;
  border-left:5px solid #2487bd;
  border-radius:12px;
  background:#f7fbfd;
  color:#173b54;
  text-align:left;
  cursor:pointer;
}
.v115-lab-rai-card:hover{background:#fff;border-color:#7eb4d3}
.v115-lab-rai-card span{
  grid-column:1;
  grid-row:1/3;
  align-self:center;
  padding:5px 7px;
  border-radius:8px;
  background:#e5f2f9;
  color:#176fa5;
  font-size:8px;
  font-weight:950;
  letter-spacing:.05em;
}
.v115-lab-rai-card strong{font-size:12px}
.v115-lab-rai-card small{margin-top:2px;color:#718594;font-size:9.5px}

.v115-lab-modal-group{
  margin-bottom:9px;
  overflow:hidden;
  border:1px solid #c9d7df;
  border-left:5px solid #95abb9;
  border-radius:13px;
  background:#f9fbfc;
}
.v115-lab-modal-group.tube-edta{border-left-color:#a84a9d;background:#fcf6fb}
.v115-lab-modal-group.tube-citrate{border-left-color:#46b4e8;background:#f4fbfe}
.v115-lab-modal-group.tube-sst,
.v115-lab-modal-group.tube-serum{border-left-color:#e3bc3f;background:#fffdf5}
.v115-lab-modal-group.tube-heparin{border-left-color:#2f9b63;background:#f5fbf7}
.v115-lab-modal-group.tube-fluoride{border-left-color:#8f9ca5;background:#f8fafb}
.v115-lab-modal-group>summary{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  cursor:pointer;
  list-style:none;
  border-bottom:1px solid transparent;
}
.v115-lab-modal-group[open]>summary{
  border-bottom-color:#dbe4e9;
  background:rgba(255,255,255,.42);
}
.v115-lab-modal-group>summary::-webkit-details-marker{display:none}
.v115-lab-modal-group>summary>span{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.v115-lab-modal-group>summary strong{
  color:#183a52;
  font-size:12px;
}
.v115-lab-modal-group>summary em{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  background:#fff;
  color:#647b8c;
  font-size:9px;
  font-style:normal;
  font-weight:800;
}
.v115-lab-modal-group>summary em b{color:#176fa5}
.v115-lab-modal-group-body{padding:9px 10px 11px}
.v115-lab-modal-subgroup+.v115-lab-modal-subgroup{margin-top:9px}
.v115-lab-modal-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.v115-lab-modal-choice{
  min-width:0;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto;
  align-items:center!important;
  gap:1px 7px!important;
  min-height:52px;
  box-sizing:border-box;
  padding:7px 8px!important;
  border:1px solid #d3dde4!important;
  border-radius:9px!important;
  background:#fff!important;
}
.v115-lab-modal-choice:hover{border-color:#a9c2d1!important}
.v115-lab-modal-choice.selected{
  border-color:#69a9ce!important;
  background:#eef8fd!important;
  box-shadow:0 0 0 1px rgba(23,111,165,.06);
}
.v115-lab-modal-choice input{
  grid-column:1;
  grid-row:1/3;
  width:16px;
  height:16px;
  margin:0;
}
.v115-lab-modal-choice>span{
  min-width:0;
  grid-column:2;
  grid-row:1;
  overflow:hidden;
  color:#193b53!important;
  font-size:10.5px!important;
  font-weight:850!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v115-lab-modal-choice>small{
  min-width:0;
  grid-column:2;
  grid-row:2;
  display:flex!important;
  align-items:center;
  gap:5px;
  overflow:hidden;
  color:#708493!important;
  font-size:8.5px!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v115-lab-modal-choice>small i,
.v115-lab-selected-row>i{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#b8c4cc;
}
.v115-lab-modal-choice>small i.tube-edta,
.v115-lab-selected-row>i.tube-edta{background:#a84a9d}
.v115-lab-modal-choice>small i.tube-citrate,
.v115-lab-selected-row>i.tube-citrate{background:#46b4e8}
.v115-lab-modal-choice>small i.tube-sst,
.v115-lab-selected-row>i.tube-sst{background:#f2c84b}
.v115-lab-modal-choice>small i.tube-serum,
.v115-lab-selected-row>i.tube-serum{background:#d94b4b}
.v115-lab-modal-choice>small i.tube-heparin,
.v115-lab-selected-row>i.tube-heparin{background:#2f9b63}
.v115-lab-modal-choice>small i.tube-fluoride,
.v115-lab-selected-row>i.tube-fluoride{background:#9aa7ad}
.v115-lab-modal-choice>small i.tube-urine,
.v115-lab-selected-row>i.tube-urine{background:#e5bf55}

.v115-lab-modal-empty{
  padding:30px 18px;
  border:1px dashed #c8d5dd;
  border-radius:12px;
  background:#f6f9fa;
  color:#718493;
  text-align:center;
  font-size:11px;
}

/* Colonne droite : panier biologique. */
.v115-lab-selected-panel{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:#f4f7f9;
}
.v115-lab-selected-panel>header{
  flex:0 0 auto;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid #d1dbe2;
  background:#e8eef2;
}
.v115-lab-selected-panel>header span{
  display:block;
  color:#708392;
  font-size:8px;
  font-weight:950;
  letter-spacing:.06em;
}
.v115-lab-selected-panel>header strong{
  display:block;
  margin-top:1px;
  color:#173a53;
  font-size:12px;
}
.v115-lab-selected-panel>header button{
  border:1px solid #ccd7de;
  border-radius:8px;
  background:#f8fafb;
  color:#617787;
  padding:6px 8px;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.v115-lab-selected-panel>header button:hover{background:#fff}
.v115-lab-selected-content{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:11px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.v115-lab-selected-empty{
  min-height:160px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:18px;
  border:1px dashed #c6d4dd;
  border-radius:12px;
  background:#eef3f6;
  text-align:center;
}
.v115-lab-selected-empty strong{color:#425e71;font-size:11px}
.v115-lab-selected-empty span{color:#7b8d99;font-size:9.5px}
.v115-lab-selected-summary{
  margin-bottom:9px;
  padding:10px 11px;
  border:1px solid #bdd4e2;
  border-radius:11px;
  background:#eef7fb;
}
.v115-lab-selected-summary>span{
  display:block;
  color:#33769c;
  font-size:8px;
  font-weight:950;
  letter-spacing:.06em;
}
.v115-lab-selected-summary>strong{
  display:block;
  margin-top:2px;
  color:#163b54;
  font-size:14px;
}
.v115-lab-selected-summary>small{
  display:block;
  margin-top:5px;
  color:#5e788a;
  font-size:9px;
  line-height:1.35;
}
.v115-lab-context-note{
  margin-bottom:9px;
  padding:9px 10px;
  border:1px solid #e2c88f;
  border-radius:10px;
  background:#fff9ed;
}
.v115-lab-context-note strong,
.v115-lab-context-note span{display:block}
.v115-lab-context-note strong{color:#77530e;font-size:10px}
.v115-lab-context-note span{margin-top:2px;color:#856f45;font-size:9px;line-height:1.35}
.v115-lab-selected-groups{display:grid;gap:9px}
.v115-lab-selected-groups section{
  overflow:hidden;
  border:1px solid #d0dbe2;
  border-radius:10px;
  background:#fff;
}
.v115-lab-selected-groups section>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 9px;
  border-bottom:1px solid #e1e7eb;
  background:#f1f5f7;
}
.v115-lab-selected-groups section>header strong{font-size:9.5px;color:#405f72}
.v115-lab-selected-groups section>header span{
  min-width:20px;
  padding:2px 5px;
  border-radius:999px;
  background:#fff;
  color:#6c8190;
  font-size:8px;
  font-weight:850;
  text-align:center;
}
.v115-lab-selected-row{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) 26px;
  gap:7px;
  align-items:center;
  padding:7px 8px;
}
.v115-lab-selected-row+.v115-lab-selected-row{border-top:1px solid #edf1f3}
.v115-lab-selected-row>div{min-width:0}
.v115-lab-selected-row strong{
  display:block;
  overflow:hidden;
  color:#193b52;
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v115-lab-selected-row small{
  display:block;
  margin-top:1px;
  overflow:hidden;
  color:#7a8d99;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.v115-lab-selected-row button{
  width:25px;
  height:25px;
  border:1px solid #e1c6c9;
  border-radius:7px;
  background:#fff7f8;
  color:#9a4550;
  cursor:pointer;
}

/* Footer toujours visible. */
.v115-lab-modal-foot{
  flex:0 0 auto;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:9px 14px;
  border-top:1px solid #c5d2da;
  background:#e3ebf0;
}
.v115-lab-modal-foot>span{
  color:#456477;
  font-size:10.5px;
  font-weight:750;
}
.v115-lab-modal-foot>span b{color:#116a9f;font-size:15px}
.v115-lab-modal-foot>div{display:flex;gap:7px}
.v115-lab-modal-foot button{
  min-height:38px;
  padding:8px 13px;
  border:1px solid #bdccd5;
  border-radius:9px;
  background:#f8fafb;
  color:#496476;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.v115-lab-modal-foot button.primary{
  min-width:165px;
  border-color:#116a9f;
  background:#116fa8;
  color:#fff;
}
.v115-lab-modal-foot button.primary:disabled{
  border-color:#cbd5dc;
  background:#d5dee4;
  color:#8797a3;
  cursor:not-allowed;
}

/* Launcher compact dans la colonne Prescription. */
.v115-rx-left-column.v115-rx-lab-mode .v26-catalog-search{
  display:none!important;
}
.v115-lab-inline-launcher{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid #b8cfdd;
  border-radius:12px;
  background:#f3f9fc;
}
.v115-lab-inline-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:#dceef8;
  color:#176fa5;
  font-size:18px;
}
.v115-lab-inline-copy{min-width:0}
.v115-lab-inline-copy>span{
  display:block;
  color:#28789f;
  font-size:8px;
  font-weight:950;
  letter-spacing:.06em;
}
.v115-lab-inline-copy>strong{
  display:block;
  margin-top:1px;
  color:#183b54;
  font-size:11px;
}
.v115-lab-inline-copy>small{
  display:block;
  margin-top:2px;
  color:#708493;
  font-size:8.5px;
  line-height:1.35;
}
.v115-lab-inline-copy>em{
  display:block;
  margin-top:5px;
  color:#4e6b7e;
  font-size:8.5px;
  font-style:normal;
}
.v115-lab-inline-copy>em b{color:#176fa5}
.v115-lab-inline-launcher>button{
  min-height:35px;
  border:1px solid #78acd0;
  border-radius:9px;
  background:#fff;
  color:#176fa5;
  padding:7px 10px;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.v115-lab-inline-launcher>button:hover{background:#eaf5fb}

/* Les formulaires officiels existants s'intègrent dans le scroll du catalogue. */
.v115-lab-catalog-content .v26-lab-docs{
  margin:0!important;
}
.v115-lab-catalog-content .v26-lab-docs-head{
  position:static!important;
}

@media(max-width:1100px){
  .v115-lab-modal-body{grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr)}
  .v115-lab-modal-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .v115-lab-modal-overlay{padding:4px}
  .v115-lab-modal{width:100%;height:100%;min-height:0;border-radius:10px}
  .v115-lab-modal-head{min-height:62px;padding:9px 11px}
  .v115-lab-modal-head h2{font-size:17px}
  .v115-lab-modal-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1.6fr) minmax(180px,.7fr)}
  .v115-lab-catalog{border-right:0;border-bottom:1px solid #c9d6de}
  .v115-lab-modal-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v115-lab-modal-foot{padding:7px 9px}
  .v115-lab-inline-launcher{grid-template-columns:34px minmax(0,1fr)}
  .v115-lab-inline-launcher>button{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
  .v115-lab-modal-choice-grid{grid-template-columns:1fr}
  .v115-lab-modal-foot{align-items:stretch;flex-direction:column}
  .v115-lab-modal-foot>div{display:grid;grid-template-columns:1fr 1.5fr}
  .v115-lab-modal-foot button.primary{min-width:0}
}

