/* GIO-RESERVAS-V2-SIMULATOR-UI-20260916 */

.sim-v2-dialog{
  width:min(1100px,calc(100% - 28px));
  max-height:94dvh;
  padding:0;
  border:1px solid rgba(42,55,46,.18);
  border-radius:14px;
  background:#f6f3eb;
  color:#203024;
  box-shadow:0 30px 100px #0005;
}

.sim-v2-dialog::backdrop{
  background:#0e1d13aa;
  backdrop-filter:blur(3px);
}

.sim-shell{
  padding:0 25px 25px;
}

.sim-head{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin:0 -25px 18px;
  padding:23px 25px 17px;
  border-bottom:1px solid rgba(42,55,46,.11);
  background:#f6f3eb;
}

.sim-head h2{
  margin:0 0 6px;
}

.sim-head p:not(.kicker){
  max-width:720px;
  margin:0;
  color:#747b70;
  font-size:11px;
}

.sim-close{
  border:0;
  background:transparent;
  color:#304331;
  font-size:31px;
  line-height:1;
  padding:2px 8px;
}

.sim-layout{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(470px,1.25fr);
  gap:18px;
  align-items:start;
}

.sim-controls,
.sim-result{
  min-width:0;
  padding:20px;
  border:1px solid rgba(42,55,46,.13);
  border-radius:12px;
  background:#fffdfa;
}

.sim-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.sim-label{
  display:flex;
  align-items:center;
  gap:6px;
}

.sim-note{
  display:grid;
  gap:3px;
  margin:15px 0;
  padding:11px 12px;
  border-radius:7px;
  background:#f0f2eb;
  color:#697267;
  font-size:9px;
}

.sim-note strong{
  color:#405342;
  font-size:10px;
}

.sim-run{
  width:100%;
  margin-top:6px;
}

.sim-empty{
  display:flex;
  min-height:390px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#859080;
  text-align:center;
}

.sim-empty>span{
  font-size:38px;
  color:#8ea083;
}

.sim-empty h3{
  margin:12px 0 4px;
  font:500 20px Georgia,serif;
  color:#526150;
}

.sim-empty p{
  max-width:360px;
  font-size:10px;
}

.sim-result-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:17px;
}

.sim-result-badge,
.sim-mode-badge{
  padding:4px 8px;
  border-radius:20px;
  font-size:8px;
  font-weight:700;
  letter-spacing:.06em;
}

.sim-result-badge.success{
  background:#e5efe1;
  color:#527248;
}

.sim-result-badge.failure{
  background:#f2dfd9;
  color:#934d40;
}

.sim-mode-badge{
  background:#eeeade;
  color:#766d55;
}

.sim-path{
  display:grid;
  gap:5px;
}

.sim-path article{
  padding:12px 14px;
  border:1px solid #dce2d6;
  border-radius:8px;
  background:#fafbf7;
}

.sim-path article.has-exception{
  border-color:#ddcda4;
  background:#f8f1dd;
}

.sim-path article>span{
  display:block;
  margin-bottom:4px;
  color:#8a9582;
  font-size:8px;
  letter-spacing:.08em;
}

.sim-path article strong,
.sim-path article small{
  display:block;
}

.sim-path article strong{
  font-size:12px;
}

.sim-path article small{
  margin-top:3px;
  color:#7a8477;
  font-size:9px;
}

.sim-arrow{
  color:#97a392;
  font-size:13px;
  text-align:center;
}

.sim-cross-midnight{
  margin:14px 0;
  padding:10px 12px;
  border-radius:7px;
  background:#eceff4;
  color:#657080;
  font-size:9px;
}

.sim-rules{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:17px;
}

.sim-rules article{
  padding:11px 8px;
  border:1px solid #dde2d8;
  border-radius:8px;
  background:#fff;
  text-align:center;
}

.sim-rules span,
.sim-rules small{
  display:block;
  color:#899184;
  font-size:8px;
}

.sim-rules strong{
  display:block;
  margin:4px 0 1px;
  font:500 22px Georgia,serif;
  color:#334535;
}

.sim-rooms{
  margin-top:18px;
}

.sim-section-title{
  display:flex;
  justify-content:space-between;
  padding-bottom:8px;
  color:#7c8877;
  font-size:8px;
  letter-spacing:.06em;
}

.sim-room{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-top:1px solid #e2e6dd;
}

.sim-room strong,
.sim-room small{
  display:block;
}

.sim-room strong{
  font-size:10px;
}

.sim-room small,
.sim-room>span:last-child{
  margin-top:2px;
  color:#828b7f;
  font-size:8px;
}

.sim-check{
  margin-top:16px;
  padding:12px 14px;
  border-radius:8px;
  font-size:10px;
  font-weight:600;
}

.sim-check.ok{
  background:#e6f0e2;
  color:#496b43;
}

.sim-check.bad{
  background:#f3e1dc;
  color:#904c42;
}

.sim-safety-note{
  margin:14px 0 0;
  color:#90988c;
  font-size:8px;
  text-align:center;
}

.sim-failure{
  min-height:350px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.sim-failure h3{
  margin:15px 0 5px;
  font:500 21px Georgia,serif;
}

.sim-failure p{
  color:#767f73;
  font-size:10px;
}

.sim-candidates{
  display:grid;
  gap:6px;
  margin-top:14px;
}

.sim-candidates>span{
  color:#879180;
  font-size:8px;
  letter-spacing:.07em;
}

.sim-candidates>div{
  padding:9px 11px;
  border:1px solid #dde2d7;
  border-radius:7px;
}

.sim-candidates strong,
.sim-candidates small{
  display:block;
}

.sim-candidates small{
  color:#858e81;
  font-size:8px;
}

.sim-foot{
  margin:17px 0 0;
  color:#858c80;
  font-size:9px;
  text-align:center;
}

@media(max-width:850px){
  .sim-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .sim-shell{
    padding:0 16px 18px;
  }

  .sim-head{
    margin:0 -16px 15px;
    padding:18px 16px 14px;
  }

  .sim-two{
    grid-template-columns:1fr;
  }

  .sim-rules{
    grid-template-columns:repeat(2,1fr);
  }
}

/* ==========================================================
   GIO-RESERVAS-V2-SIMULATOR-ALLOCATOR-20260916
   ========================================================== */

.sim-assignment-section{
  margin-top:22px;
  padding-top:19px;
  border-top:1px solid #dce2d7;
}

.sim-assignment-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:12px;
}

.sim-assignment-title>div>span{
  display:block;
  color:#86927f;
  font-size:8px;
  letter-spacing:.08em;
}

.sim-assignment-title h3{
  margin:4px 0 0;
  font:500 19px Georgia,serif;
}

.sim-assignment-title>small{
  color:#879084;
  font-size:8px;
}

.sim-assignment-candidate{
  margin-top:8px;
  padding:13px;
  border:1px solid #dce3d8;
  border-radius:9px;
  background:#fff;
}

.sim-assignment-candidate.recommended{
  border-color:#8baa7e;
  background:#f0f6ec;
  box-shadow:0 6px 20px #37552a0d;
}

.sim-assignment-candidate.blocked{
  border-color:#e3d0cb;
  background:#faf2ef;
  opacity:.82;
}

.sim-assignment-candidate-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.sim-assignment-candidate-head strong,
.sim-assignment-candidate-head small{
  display:block;
}

.sim-assignment-candidate-head strong{
  margin-top:3px;
  font-size:12px;
}

.sim-assignment-candidate-head small{
  margin-top:2px;
  color:#818b7e;
  font-size:8px;
}

.sim-assignment-type{
  color:#819079;
  font-size:7px;
  font-weight:700;
  letter-spacing:.09em;
}

.sim-recommended-badge,
.sim-available-badge,
.sim-blocked-badge{
  flex:none;
  padding:3px 7px;
  border-radius:20px;
  font-size:7px;
  font-weight:700;
  letter-spacing:.06em;
}

.sim-recommended-badge{
  background:#dcebd6;
  color:#4c7042;
}

.sim-available-badge{
  background:#e9eee5;
  color:#64755e;
}

.sim-blocked-badge{
  background:#eedbd6;
  color:#995348;
}

.sim-assignment-capacities{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-top:11px;
}

.sim-assignment-capacities span{
  display:grid;
  gap:2px;
  padding:7px;
  border-radius:6px;
  background:#f6f7f3;
  color:#849080;
  font-size:7px;
  text-align:center;
}

.sim-assignment-capacities b{
  color:#354837;
  font-size:11px;
}

.sim-assignment-candidate>p{
  margin:9px 0 0;
  color:#7d867a;
  font-size:8px;
}

.sim-assignment-candidate>p strong{
  color:#485949;
}

.sim-assignment-details{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #e2e6dd;
}

.sim-assignment-details summary{
  color:#60705e;
  font-size:9px;
  cursor:pointer;
}

.sim-assignment-details.blocked summary{
  color:#91675f;
}

.sim-assignment-list{
  display:grid;
  gap:7px;
  margin-top:8px;
}

.sim-assignment-conflicts{
  display:grid;
  gap:5px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #eadbd6;
}

.sim-assignment-conflicts>span{
  color:#a06a60;
  font-size:7px;
  font-weight:700;
  letter-spacing:.08em;
}

.sim-assignment-conflicts>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:8px;
}

.sim-assignment-conflicts small{
  color:#8f7b76;
}

.sim-assignment-stop{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border-radius:8px;
  background:#f1eee4;
  color:#746c58;
}

.sim-assignment-stop.bad{
  background:#f3e2dd;
  color:#8d5148;
}

.sim-assignment-stop strong{
  font-size:10px;
}

.sim-assignment-stop span{
  font-size:8px;
}

.sim-assignment-explain{
  margin:12px 0 0;
  color:#90988c;
  font-size:8px;
  text-align:center;
}

@media(max-width:620px){
  .sim-assignment-capacities{
    grid-template-columns:1fr 1fr;
  }
}

/* ==========================================================
   GIO-RESERVAS-V2-VIRTUAL-BLOCKS-UI-20260916
   ========================================================== */

.sim-virtual-blocks{
  margin:16px 0;
  padding:12px;
  border:1px solid #d8ded2;
  border-radius:8px;
  background:#fafbf7;
}

.sim-virtual-blocks legend{
  padding:0 6px;
  color:#687663;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
}

.sim-virtual-blocks-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:9px;
}

.sim-virtual-blocks-head p{
  margin:0;
  color:#7d8878;
  font-size:9px;
  line-height:1.5;
}

.sim-virtual-blocks-head button{
  flex:none;
  padding:4px 7px;
  border:1px solid #d0d8ca;
  border-radius:5px;
  background:#fff;
  color:#60705e;
  font-size:8px;
}

.sim-blocked-table-grid{
  display:grid;
  gap:6px;
}

.sim-blocked-table{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:9px 10px;
  border:1px solid #dde3d8;
  border-radius:7px;
  background:#fff;
}

.sim-blocked-table:has(input:checked){
  border-color:#d7b4aa;
  background:#faf0ed;
}

.sim-blocked-table.inactive{
  opacity:.55;
}

.sim-blocked-table input{
  flex:none;
  width:15px;
  height:15px;
  margin:0;
}

.sim-blocked-table>span:nth-child(2){
  flex:1;
  min-width:0;
}

.sim-blocked-table strong,
.sim-blocked-table small{
  display:block;
}

.sim-blocked-table strong{
  color:#384a39;
  font-size:9px;
}

.sim-blocked-table small{
  margin-top:2px;
  color:#858e81;
  font-size:7px;
}

.sim-blocked-state{
  flex:none;
  color:#a16c61;
  font-size:7px;
}

.sim-blocked-empty{
  margin:0;
  padding:9px;
  color:#8a9386;
  font-size:8px;
  text-align:center;
}

/* ==========================================================
   GIO-RESERVAS-V2-SEQUENCE-UI-20260916
   ========================================================== */

.sim-sequence-lab{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #d9dfd3;
}

.sim-sequence-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:11px;
}

.sim-sequence-head>div>span{
  display:block;
  color:#83907e;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
}

.sim-sequence-head h3{
  margin:4px 0 3px;
  font:500 17px Georgia,serif;
}

.sim-sequence-head p{
  margin:0;
  color:#818b7e;
  font-size:8px;
  line-height:1.5;
}

.sim-sequence-head>button{
  flex:none;
  padding:5px 8px;
  border:1px solid #d4dbcf;
  border-radius:6px;
  background:#fff;
  color:#5f705d;
  font-size:8px;
  cursor:pointer;
}

.sim-sequence-rows{
  display:grid;
  gap:6px;
}

.sim-sequence-row{
  display:grid;
  grid-template-columns:1fr 90px 28px;
  gap:6px;
  align-items:end;
  padding:8px;
  border:1px solid #dfe4da;
  border-radius:7px;
  background:#fff;
}

.sim-sequence-row label{
  margin:0;
}

.sim-sequence-row label>span{
  display:block;
  margin-bottom:3px;
  color:#808b7d;
  font-size:7px;
}

.sim-sequence-row input{
  box-sizing:border-box;
  width:100%;
}

.sim-sequence-remove{
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #e1d2ce;
  border-radius:6px;
  background:#fff;
  color:#98685f;
  cursor:pointer;
}

.sim-sequence-run{
  width:100%;
  margin-top:10px;
}

.sim-sequence-result h3{
  margin:14px 0 10px;
  font:500 21px Georgia,serif;
}

.sim-sequence-timeline{
  display:grid;
  gap:9px;
  margin-top:14px;
}

.sim-sequence-step{
  position:relative;
  padding:11px 12px;
  border:1px solid #dfe4da;
  border-radius:8px;
  background:#fff;
}

.sim-sequence-step.accepted{
  border-color:#ccd9c6;
  background:#f7faf4;
}

.sim-sequence-step.rejected{
  border-color:#e2ccc6;
  background:#fbf4f2;
}

.sim-sequence-step>strong{
  display:block;
  padding-right:75px;
  font-size:10px;
}

.sim-sequence-status{
  position:absolute;
  top:10px;
  right:10px;
  font-size:7px;
  font-weight:700;
  letter-spacing:.05em;
}

.sim-sequence-status.ok{
  color:#688060;
}

.sim-sequence-status.bad{
  color:#a15f54;
}

.sim-sequence-step h4{
  margin:7px 0 2px;
  font-size:11px;
}

.sim-sequence-step p{
  margin:0;
  color:#7d877a;
  font-size:8px;
}

.sim-sequence-step small{
  display:block;
  margin-top:5px;
  color:#687765;
  font-size:8px;
}

@media(max-width:620px){
  .sim-sequence-row{
    grid-template-columns:1fr 72px 28px;
  }
}

/* ==========================================================
   GIO-RESERVAS-V2-MODE-TABS-CSS-20260916
   ========================================================== */

.sim-mode-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-bottom:16px;
  padding:4px;
  border:1px solid #d8ded2;
  border-radius:8px;
  background:#f3f5ef;
}

.sim-mode-tabs button{
  padding:8px 10px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#778372;
  font-size:9px;
  cursor:pointer;
}

.sim-mode-tabs button.active{
  background:#fff;
  color:#344a37;
  font-weight:700;
  box-shadow:0 1px 4px #273d2614;
}

.sim-two.sim-one{
  grid-template-columns:1fr;
}

.sim-two.sim-one > label[hidden]{
  display:none;
}

.sim-sequence-lab[hidden]{
  display:none;
}

.sim-run[hidden]{
  display:none;
}
