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

.topology-v2-dialog{
  width:min(1180px,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;
}

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

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

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

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

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

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

.topology-tabs{
  position:sticky;
  top:105px;
  z-index:4;
  display:flex;
  gap:4px;
  margin:0 -25px 18px;
  padding:12px 25px;
  border-bottom:1px solid rgba(42,55,46,.1);
  background:#f6f3eb;
}

.topology-tabs button{
  padding:9px 14px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#667363;
  font-size:10px;
  font-weight:600;
}

.topology-tabs button.active{
  border-color:#cbd4c5;
  background:#fffdfa;
  color:#25422d;
}

.topology-config-layout,
.topology-combo-layout{
  display:grid;
  grid-template-columns:minmax(270px,.7fr) minmax(500px,1.35fr);
  gap:18px;
  align-items:start;
}

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

.topology-list-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(42,55,46,.12);
}

.topology-list-head h3,
.topology-editor-title h3{
  margin:0;
  font:500 1.25rem/1.2 Georgia,serif;
}

.topology-list-head .btn{
  margin:0;
}

.topology-list{
  margin-top:14px;
  border:1px solid rgba(42,55,46,.11);
  border-radius:8px;
  overflow:hidden;
}

.topology-row{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:13px;
  border:0;
  border-left:3px solid transparent;
  border-bottom:1px solid rgba(42,55,46,.09);
  background:#fff;
  color:#203024;
  text-align:left;
}

.topology-row:last-child{
  border-bottom:0;
}

.topology-row:hover{
  background:#f2f4eb;
}

.topology-row.selected{
  border-left-color:#57754e;
  background:#edf2e7;
}

.topology-row.inactive{
  opacity:.55;
}

.topology-row strong,
.topology-row small{
  display:block;
}

.topology-row strong{
  font-size:11px;
}

.topology-row small,
.topology-row>span:last-child{
  margin-top:3px;
  color:#7c8578;
  font-size:9px;
}

.topology-editor-title{
  padding-bottom:12px;
  border-bottom:1px solid rgba(42,55,46,.12);
}

.topology-fieldset{
  margin:17px 0 0;
  padding:12px;
  border:1px solid #d8ded2;
  border-radius:8px;
}

.topology-fieldset legend{
  padding:0 6px;
  color:#4a5847;
  font-size:10px;
}

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

.topology-option-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.topology-option{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  padding:10px;
  border:1px solid #dce2d6;
  border-radius:7px;
  background:#fafbf7;
}

.topology-option.inactive{
  opacity:.55;
}

.topology-option input{
  margin-top:2px;
}

.topology-option strong,
.topology-option small{
  display:block;
}

.topology-option strong{
  font-size:10px;
}

.topology-option small{
  margin-top:3px;
  color:#7f877b;
  font-size:8px;
}

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

.topology-three{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.topology-effect{
  display:grid;
  gap:3px;
  margin:13px 0 4px;
  padding:11px 12px;
  border-radius:7px;
  background:#edf2e7;
  color:#5d6c58;
  font-size:10px;
  line-height:1.55;
}

.topology-effect.warning{
  background:#f6eadc;
  color:#8a572d;
}

.topology-effect strong{
  color:#405643;
}

.topology-actions{
  display:flex;
  gap:9px;
  margin-top:20px;
}

.topology-actions .btn{
  margin:0;
}

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

@media(max-width:900px){
  .topology-config-layout,
  .topology-combo-layout{
    grid-template-columns:1fr;
  }
}

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

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

  .topology-tabs{
    top:98px;
    margin:0 -16px 15px;
    padding:10px 16px;
  }

  .topology-two,
  .topology-three{
    grid-template-columns:1fr;
  }

  .topology-option-list{
    grid-template-columns:1fr;
  }

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