/*
 * Main WRF Configuration Studio layout and domain-map styles.
 * This file styles the map shell, WPS panels, namelist dialogs, and custom
 * controls. Vendor CSS remains under vendor/ and should not be edited here.
 */
html,
body {
  height: 100%;
}
div#map {
  height: 100%;
}
div.modal div.modal-header,
div.modal div.modal-footer {
  background-color: #f8f9fa;
  padding: 10px;
}
div#wps-save-dialog textarea {
  height: 70vh;
}
.font-namelist {
  font-family: 'Courier New';
  font-size: small;
}
.resize-none {
  resize: none;
}
.alert-sm {
  font-size: small;
}
.leaflet-control-coordinates {
  background: rgba(255, 255, 255, 0.7);
  width: 100px;
}
.leaflet-control-coordinates div {
  margin-left: 5px;
}
.leaflet-control-coordinates div span {
  width: 30px;
  font-weight: bold;
  display: inline-block;
}
.leaflet-control-downloaded-elevation-data {
  background: rgba(255, 255, 255, 0.7);
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  padding: 5px;
  padding-top: 20px;
}
.leaflet-control-downloaded-elevation-data div {
  max-height: 200px;
  overflow-y: auto;
}
.leaflet-control-downloaded-elevation-data div a {
  display: block;
  width: initial !important;
  height: initial !important;
}
.popup-elevation-data {
  text-align: center;
}
.popup-elevation-data a {
  color: #6c757d;
}
.popup-elevation-data table {
  margin-bottom: 5px;
}
.popup-elevation-data table tr td {
  text-align: left;
  word-break: break-all;
}
.popup-elevation-data table tr td:first-child {
  text-align: right;
  font-weight: bold;
  vertical-align: top;
  word-break: normal;
}
.wrf-domain-grid {
  outline: none;
}
.wrf-domain-grid-corner {
  width: 10px;
  height: 10px;
  background-color: white;
  border: 1px solid black;
}
.wrf-domain-grid-corner.cursor-nesw-resize {
  cursor: nesw-resize;
}
.wrf-domain-grid-corner.cursor-nwse-resize {
  cursor: nwse-resize;
}
.wrf-domain-grid-corner.cursor-ns-resize {
  cursor: ns-resize;
}
.wrf-domain-grid-corner.cursor-ew-resize {
  cursor: ew-resize;
}
.geogrid-corner-icon {
  background-color: yellow;
  border: 1px solid black;
  border-radius: 100px;
}
.wrf-domain-grid-tooltip {
  padding: 0px;
  border: none;
}
.wrf-domain-grid-tooltip table {
  border-collapse: collapse;
  width: 100%;
}
.wrf-domain-grid-tooltip table > thead > tr > th,
.wrf-domain-grid-tooltip table > tbody > tr > td {
  padding-bottom: 2px;
  padding-top: 2px;
  padding-left: 5px;
  padding-right: 5px;
  text-align: left;
  white-space: nowrap;
}
.wrf-domain-grid-tooltip table > tbody > tr > td:nth-child(1) {
  font-weight: bold;
}
.wrf-domain-grid-tooltip table > thead > tr {
  background-color: #6c757d;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  color: white;
  font-weight: bold;
}
.wrf-domain-grid-tooltip table > tbody > tr {
  color: black;
  font-weight: normal;
}
.wrf-domain-grid-tooltip table > tbody > tr {
  border-bottom: 1px solid #f5f5f5;
}
.wrf-domain-grid-tooltip table > tbody > tr:nth-last-child(1) {
  border-bottom: none;
}
.wrf-domain-grid-tooltip table > tbody > tr > td:nth-child(1) {
  border-right: 1px solid #f5f5f5;
}
.loader-1 {
  transform: rotateZ(45deg);
  perspective: 1000px;
  border-radius: 50%;
  color: #0810a3;
}
.loader-1:before,
.loader-1:after {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  border-radius: 50%;
  transform: rotateX(70deg);
  animation: 1s spin linear infinite;
}
.loader-1:after {
  color: #FF3D00;
  transform: rotateY(70deg);
  animation-delay: 0.4s;
}
@keyframes rotate {
  0% {
    transform: translate(-50%, -50%) rotateZ(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotateZ(360deg);
  }
}
@keyframes rotateccw {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@keyframes spin {
  0%,
  100% {
    box-shadow: 0.2em 0px 0 0px currentcolor;
  }
  12% {
    box-shadow: 0.2em 0.2em 0 0 currentcolor;
  }
  25% {
    box-shadow: 0 0.2em 0 0px currentcolor;
  }
  37% {
    box-shadow: -0.2em 0.2em 0 0 currentcolor;
  }
  50% {
    box-shadow: -0.2em 0 0 0 currentcolor;
  }
  62% {
    box-shadow: -0.2em -0.2em 0 0 currentcolor;
  }
  75% {
    box-shadow: 0px -0.2em 0 0 currentcolor;
  }
  87% {
    box-shadow: 0.2em -0.2em 0 0 currentcolor;
  }
}
.switch {
  position: relative;
  display: inline-block;
  width: 31px;
  height: 15px;
  margin-bottom: 0;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
/* The slider */
.slider {
  position: fixed;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: none;
  border: 1px solid rgba(0, 0, 0, 0.25);
  transition: 0.4s;
}
.slider:before {
  position: fixed;
  content: "";
  height: 10px;
  width: 10px;
  left: 2px;
  bottom: 2px;
  background-color: rgba(0, 0, 0, 0.25);
  transition: 0.4s;
}
input:checked + .slider {
  background-color: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(0, 0, 0, 0.35);
}
input:focus + .slider {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.35);
}
input:checked + .slider:before {
  transform: translateX(16px);
  background-color: white;
}
/* Rounded sliders */
.slider.round {
  border-radius: 10px;
}
.slider.round:before {
  border-radius: 50%;
}
div.leaflet-sidebar {
  z-index: 1000;
  font-size: 16px;
}
div.leaflet-sidebar-pane {
  padding: 10px 10px;
}
div.leaflet-sidebar-pane div.leaflet-sidebar-pane-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  margin: 10px;
  text-align: end;
}
div.leaflet-sidebar-pane button.btn {
  box-shadow: none;
  -webkit-box-shadow: none;
}
@media (min-width: 768px) and (max-width: 991px) {
  .leaflet-sidebar-pane {
    min-width: 261px;
  }
  div.leaflet-sidebar-pane-bottom {
    min-width: 241px;
  }
  div.leaflet-sidebar-pane-bottom button i {
    padding-right: 5px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .leaflet-sidebar-pane {
    min-width: 346px;
  }
  div.leaflet-sidebar-pane-bottom {
    min-width: 326px;
  }
}
@media (min-width: 1200px) {
  .leaflet-sidebar-pane {
    min-width: 416px;
  }
  div.leaflet-sidebar-pane-bottom {
    min-width: 396px;
  }
}
div.leaflet-sidebar-pane#elevation-data div.elevation-data-overlays {
  position: fixed;
  bottom: 50px;
  top: 50px;
  left: 10px;
  right: 0px;
  overflow-y: auto;
  padding-left: 10px;
}
div.leaflet-sidebar-pane#domains form span.all-domains {
  width: 139px;
}
div.leaflet-sidebar-pane#domains form span.all-domains-2 {
  width: 70px;
}
div.leaflet-sidebar-pane#domains form span[data-name="geog_data_res"] {
  text-overflow: ellipsis;
  overflow: hidden;
  background-color: #e9ecef;
}
div.leaflet-sidebar-pane#domains form div.invalid-feedback {
  margin-top: 2px;
  margin-bottom: 2px;
}
div.leaflet-sidebar-pane#domains form div.invalid-feedback p {
  margin-bottom: 2px;
}
div.leaflet-sidebar-pane#domains div.wps-top-buttons {
  padding-top: 5px;
  padding-bottom: 5px;
}
div.leaflet-sidebar-pane#domains div.wps-top-buttons button i {
  padding-right: 5px;
}
div.leaflet-sidebar-pane#domains div#grids {
  overflow-y: auto;
}
div.leaflet-sidebar-pane#domains div#grids i.fa-vector-square {
  color: #dc3545;
}
div.leaflet-sidebar-pane#domains div.input-group {
  margin-bottom: -1px;
}
div.leaflet-sidebar-pane#domains .input-group-append button.btn-light {
  border-color: #ced4da;
}
div.leaflet-sidebar-pane#domains .form-control.is-valid,
div.leaflet-sidebar-pane#domains .was-validated .form-control:valid {
  border-color: #ced4da;
  background-image: none;
  padding-right: 8px;
}
div.leaflet-sidebar-pane#domains .form-control.is-invalid,
div.leaflet-sidebar-pane#domains .was-validated .form-control:invalid {
  border-color: #ced4da;
  background-image: none;
  padding-right: 8px;
}
div.leaflet-sidebar-pane#domains .was-validated .form-control:valid:focus {
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
}
div.leaflet-sidebar-pane#domains .form-control:focus {
  box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25);
}
div.leaflet-sidebar-pane#domains input:invalid {
  background-color: #ff8080;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners {
  width: 100%;
  border: 1px solid #ced4da;
  border-collapse: separate;
  border-left: 0;
  border-spacing: 0px;
  font-size: 14px;
  color: #495057;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
  border-collapse: separate;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners thead tr th:nth-child(2),
div.leaflet-sidebar-pane#domains table.table-grid-corners thead tr th:nth-child(3) {
  font-weight: bold;
  text-align: center;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners tr td:first-child,
div.leaflet-sidebar-pane#domains table.table-grid-corners tr th:first-child {
  width: 139px;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners tbody tr:nth-child(1) > td:first-child,
div.leaflet-sidebar-pane#domains table.table-grid-corners tbody tr:nth-child(2) > td:first-child {
  text-align: right;
  font-weight: bold;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners tbody tr td:nth-child(2),
div.leaflet-sidebar-pane#domains table.table-grid-corners tbody tr td:nth-child(3) {
  background-color: #f8f9fa;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners th,
div.leaflet-sidebar-pane#domains table.table-grid-corners td {
  padding: 0.25rem 0.5rem;
  text-align: left;
  vertical-align: top;
  border-left: 1px solid #ced4da;
  background-color: #e9ecef;
  font-weight: normal;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners td {
  border-top: 1px solid #ced4da;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners tbody td:first-child {
  border-top: none;
}
div.leaflet-sidebar-pane#domains table.table-grid-corners thead th:nth-child(2),
div.leaflet-sidebar-pane#domains table.table-grid-corners thead th:nth-child(3) {
  border-left: none;
}
div.leaflet-sidebar-pane#domains div#grids-header {
  margin-top: 5px;
}
div.leaflet-sidebar-pane#domains div#grids-header h5 {
  margin-bottom: 2px;
}
div.leaflet-sidebar-pane#domains div#grids-header button {
  padding: 2px 6px;
}
div.leaflet-sidebar-pane#domains div.container-grid {
  margin-bottom: 2px;
}
div.leaflet-sidebar-pane#domains div.container-grid div.grid-header label {
  margin-bottom: 2px;
}
div.leaflet-sidebar-pane#domains div.container-grid div.grid-header button {
  padding: 2px 6px;
}
div.modal-dialog.modal-fullscreen {
  margin: 0;
  max-width: 100%;
  height: 100%;
}
div.modal-dialog.modal-fullscreen div.modal-content {
  height: 100%;
}
div.modal-dialog.modal-fullscreen div.modal-content div.modal-body {
  height: 100%;
  overflow: auto;
}
div#geog-data-res-dialog div.modal-footer {
  font-size: 14px;
}
div#geog-data-res-dialog div.modal-footer a,
div#geog-data-res-dialog div.modal-footer i {
  color: #383d41;
}
div#geog-data-res-dialog table.geog-categories {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  font-size: 11px;
}
div#geog-data-res-dialog table.geog-categories > thead > tr > th {
  font-weight: bold;
  background-color: white;
  border-top: 1px solid #ced4da;
  padding: 2px 4px;
}
div#geog-data-res-dialog table.geog-categories > thead > tr > th:first-child {
  border-left: 1px solid #ced4da;
  border-top-left-radius: 0.2rem;
}
div#geog-data-res-dialog table.geog-categories > thead > tr > th:last-child {
  border-right: 1px solid #ced4da;
  border-top-right-radius: 0.2rem;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr > td {
  background: #e9ecef;
  padding: 2px 4px;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr > td:first-child {
  border-left: 1px solid #ced4da;
  width: 100px;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr > td > select {
  width: 100%;
  border-radius: 0.2rem;
  line-height: 1;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr > td:last-child {
  width: 150px;
  border-right: 1px solid #ced4da;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr:last-child > td {
  border-bottom: 1px solid #ced4da;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr:last-child > td:first-child {
  border-bottom-left-radius: 0.2rem;
}
div#geog-data-res-dialog table.geog-categories > tbody > tr:last-child > td:last-child {
  border-bottom-right-radius: 0.2rem;
}
div#message-box-dialog {
  z-index: 2050;
}
div#message-box-dialog div.global-error textarea {
  height: 200px;
  overflow: auto;
  resize: none;
  font-family: 'Courier New';
  font-size: small;
  white-space: pre;
}
body.modal-open div.modal-backdrop ~ div.modal-backdrop {
  z-index: 2040;
}
div.namelist-input-editor div.namelist-input-group.namelist-input-group-highlight div.namelist-input-group-header {
  background-color: #ffeb3b7d;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header {
  width: 100%;
  display: flex;
  flex-direction: row;
  margin-top: 3px;
  margin-bottom: 3px;
  align-items: center;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header h5 {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 5px;
  margin-right: 0;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header button {
  outline: none !important;
  box-shadow: none;
  width: 30px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header button:hover {
  border-color: #e1e1e1;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header div.namelist-input-group-header-switch {
  display: flex;
  align-items: center;
  margin-left: 4px;
  margin-right: 4px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header div.namelist-input-group-header-switch > span {
  font-size: small;
  margin-left: 2px;
  margin-right: 2px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header span.badge.badge-pill.namelist-input-set-variable-count {
  color: #212529;
  background-color: #89ff007a;
  font-size: 65%;
  margin-left: 1rem;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header a.namelist-input-variables-user-guide-link {
  margin-left: 1rem;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-group-header a.namelist-input-variables-user-guide-link i {
  color: #2196f3bd;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap !important;
  margin-top: -1px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable button.btn.btn-namelist-input-erase {
  border: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable button.btn.btn-namelist-input-erase:focus {
  box-shadow: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-name {
  width: 200px;
  border-radius: 0;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #495057;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value {
  width: 200px;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  border-top: 1px solid #ced4da;
  border-bottom: 1px solid #ced4da;
  border-right: 1px solid #ced4da;
  border-left: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value input.form-control,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value select.form-control {
  border-radius: 0;
  border: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value input.form-control:invalid,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value select.form-control:invalid {
  background-color: #ff8080;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value input.form-control:focus,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value select.form-control:focus {
  box-shadow: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value div.input-group.namelist-input-datetime-picker div.input-group-text {
  border-radius: 0;
  border-top: none;
  border-bottom: none;
  border-right: none;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value div.namelist-input-variable-check {
  height: 100%;
  width: 100%;
  background-color: #e9ecef;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value div.namelist-input-variable-check div.form-check {
  display: flex;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-value div.namelist-input-variable-check div.form-check input.form-check-input {
  position: relative;
  margin: auto;
  padding: 0;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-description {
  font-size: 0.75rem;
  align-self: center;
  padding-left: 10px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: #495057;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-highlight {
  background-color: #ffeb3b7d;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable:hover {
  background-color: aliceblue;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable:hover div.namelist-input-variable-name {
  font-weight: bold;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable:hover div.namelist-input-variable-value input,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable:hover div.namelist-input-variable-value select {
  font-weight: bold;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable:hover div.namelist-input-variable-description {
  font-weight: bold;
  color: #495057;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-unset button.btn.btn-namelist-input-erase {
  visibility: hidden;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-unset div.namelist-input-variable-name {
  font-style: italic;
  color: #5f6b76;
  background-color: #f3f5f7;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-unset div.namelist-input-variable-value input,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-unset div.namelist-input-variable-value select {
  font-style: italic;
  color: #5f6b76;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable.namelist-input-variable-unset div.namelist-input-variable-description {
  color: #5f6b76;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables.namelist-input-hide-unset div.namelist-input-variable.namelist-input-variable-unset {
  display: none;
}
div.namelist-input-editor div.namelist-input-group.namelist-input-group-unset.namelist-input-hide-unset {
  display: none;
}
#namelist-input-dialog div.modal-body {
  display: flex;
  flex-direction: column;
}
#namelist-input-dialog div.modal-body div.tab-content {
  flex-grow: 1;
}
#namelist-input-dialog div.modal-body div.tab-content div.tab-pane {
  height: 100%;
  overflow: auto;
}
#namelist-input-dialog div.modal-body div.tab-content div.tab-pane textarea {
  width: 100%;
  height: 100%;
  resize: none;
  overflow: auto;
}
#namelist-input-dialog div.modal-header {
  align-items: center !important;
}
#namelist-input-dialog div.modal-header nav.navbar ul.navbar-nav li.nav-item.dropdown a.nav-link.dropdown-toggle {
  font-size: 0.875rem;
}
#namelist-input-dialog div.modal-header nav.navbar ul.navbar-nav li.nav-item.dropdown div.dropdown-menu a.dropdown-item {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
#namelist-input-dialog div.modal-header nav.navbar ul.navbar-nav li.nav-item.dropdown div.dropdown-namelist-input-view {
  margin-left: 2rem;
}
#namelist-input-dialog div.modal-header nav.navbar ul.navbar-nav li.nav-item.dropdown div.dropdown-namelist-input-view a.dropdown-item i {
  visibility: hidden;
}
#namelist-input-dialog div.modal-header nav.navbar ul.navbar-nav li.nav-item.dropdown div.dropdown-namelist-input-view a.dropdown-item.dropdown-selected i {
  visibility: visible;
}
#namelist-input-dialog div.modal-header nav.navbar span.navbar-text {
  font-size: 0.875rem;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline > button {
  border: none;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline > button:focus {
  box-shadow: none;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline div.bootstrap-select button.btn.dropdown-toggle {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  background-color: #eff2f5;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline div.bootstrap-select button.btn.dropdown-toggle:focus {
  outline: none !important;
  box-shadow: none;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline div.bootstrap-select .dropdown-item,
#namelist-input-dialog div.modal-header nav.navbar form.form-inline div.bootstrap-select .no-results {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
#namelist-input-dialog div.modal-header nav.navbar form.form-inline div.bootstrap-select input.form-control {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.leaflet-container.cursor-crosshair {
  cursor: crosshair;
}
.leaflet-gridLines-pane {
  z-index: 210;
}
.leaflet-grid-label .gridlabel-vert {
  margin-left: 8px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.leaflet-grid-label .gridlabel-vert,
.leaflet-grid-label .gridlabel-horiz {
  padding-left: 2px;
  text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;
}


.namelist-input-compatibility-legend {
  border: 1px solid #d7dce1;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  background: #f8f9fa;
}
.namelist-input-compatibility-legend-title {
  font-weight: 600;
  margin-bottom: 0.35rem;
}
.namelist-input-compatibility-legend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}
.namelist-input-compatibility-legend-note,
.namelist-input-variable-compatibility {
  font-size: 0.85rem;
  line-height: 1.35;
}
.namelist-input-variable.compatibility-good {
  background-color: rgba(40, 167, 69, 0.08);
  border-left: 4px solid #28a745;
}
.namelist-input-variable.compatibility-maybe {
  background-color: rgba(255, 193, 7, 0.10);
  border-left: 4px solid #ffc107;
}
.namelist-input-variable.compatibility-bad {
  background-color: rgba(220, 53, 69, 0.10);
  border-left: 4px solid #dc3545;
}
.namelist-input-variable.compatibility-good .namelist-input-variable-row,
.namelist-input-variable.compatibility-maybe .namelist-input-variable-row,
.namelist-input-variable.compatibility-bad .namelist-input-variable-row {
  background-color: transparent;
}
.compatibility-pill {
  display: inline-block;
  border: 2px solid #adb5bd;
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
  margin-right: 0.35rem;
  margin-top: 0.35rem;
  background: #fff;
  font-size: 0.75rem;
  white-space: nowrap;
}
.compatibility-pill.compatibility-good { border-color: #28a745; }
.compatibility-pill.compatibility-maybe { border-color: #ffc107; }
.compatibility-pill.compatibility-bad { border-color: #dc3545; }
.compatibility-option-list { margin-top: 0.35rem; }
.compatibility-message { margin-top: 0.2rem; }
.compatibility-summary { color: #495057; }

.namelist-input-template-toolbar {
  border: 1px solid #d9dee3;
  border-radius: 0.5rem;
  padding: 0.75rem;
  margin-bottom: 0.75rem;
  background: #f8f9fa;
}
.namelist-input-template-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
}
.namelist-input-template-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.namelist-input-template-row select {
  min-width: 260px;
  max-width: 420px;
}
.namelist-input-template-summary {
  margin-top: 0.5rem;
  color: #495057;
  font-size: 0.92rem;
}


.compatibility-pill.compatibility-neutral {
  border-color: #adb5bd;
}
.namelist-input-compatibility-inspector {
  border: 1px solid #d7dce1;
  border-radius: 0.5rem;
  padding: 0.9rem 1rem;
  margin-bottom: 1rem;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.compatibility-inspector-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.compatibility-inspector-title {
  font-weight: 600;
  margin-bottom: 0.2rem;
}
.compatibility-inspector-subtitle,
.compatibility-inspector-empty,
.compatibility-rule-source,
.compatibility-rule-notes,
.compatibility-inspector-summary-block,
.compatibility-inspector-value {
  font-size: 0.9rem;
  color: #495057;
}
.compatibility-inspector-controls {
  min-width: 170px;
}
.compatibility-filter-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.compatibility-inspector-summary {
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
}
.compatibility-inspector-var {
  font-weight: 600;
  margin-left: 0.35rem;
}
.compatibility-inspector-body {
  display: grid;
  gap: 0.65rem;
}
.compatibility-rule-card {
  border: 1px solid #dee2e6;
  border-left-width: 5px;
  border-radius: 0.45rem;
  padding: 0.7rem 0.8rem;
  background: #fbfcfd;
}
.compatibility-rule-card.compatibility-good { border-left-color: #28a745; }
.compatibility-rule-card.compatibility-maybe { border-left-color: #ffc107; }
.compatibility-rule-card.compatibility-bad { border-left-color: #dc3545; }
.compatibility-rule-head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
.compatibility-rule-id {
  font-weight: 700;
}
.compatibility-rule-category {
  color: #6c757d;
}
.compatibility-rule-trigger,
.compatibility-rule-requirements {
  margin-top: 0.25rem;
}
.compatibility-rule-checks {
  margin: 0.45rem 0 0 1rem;
  padding: 0;
}
.compatibility-rule-checks li {
  margin-top: 0.25rem;
}
.compatibility-filter-hidden,
.compatibility-group-hidden {
  display: none !important;
}
.namelist-input-variable.compatibility-inspector-selected {
  box-shadow: 0 0 0 3px rgba(13,110,253,0.18);
}


.domain-size-warning {
  font-size: 0.85rem;
  line-height: 1.35;
}

.container-grid.domain-size-warning-active .grid-label {
  color: #856404;
}

.container-grid.domain-size-warning-active {
  border-left: 4px solid #ffc107;
  padding-left: 0.35rem;
}

.nest-spacing-warning {
  font-size: 0.92rem;
}

.container-grid.nest-spacing-error-active .grid-label {
  color: #842029;
  font-weight: 700;
}

.container-grid.nest-spacing-error-active {
  border-left: 4px solid #dc3545;
  background: rgba(220, 53, 69, 0.05);
}


/* Documentation-backed upgrade patch */
.container-grid.parent-ratio-warning-active .grid-label {
  color: #856404;
}
.container-grid.parent-ratio-warning-active {
  border-left: 4px solid #ffc107;
  padding-left: 8px;
}
.namelist-input-variable .compatibility-message-list .compatibility-message {
  margin-bottom: 2px;
}


/* Smart registry filtering upgrade (v0.5.0) */
.namelist-input-smartfilter-toolbar {
    margin: 0 0 0.75rem 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid #d7dde5;
    border-radius: 0.4rem;
    background: #f8fafc;
}
.namelist-input-smartfilter-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}
.namelist-input-smartfilter-row label {
    margin: 0;
    font-weight: 600;
}
.namelist-input-smartfilter-summary {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    color: #51606f;
}
.namelist-input-variable-smart-hidden {
    display: none !important;
}
.namelist-input-group-smart-hidden {
    display: none !important;
}


/* Preset selector modal */
.namelist-preset-choice-list {
  display: grid;
  gap: 0.75rem;
}
.namelist-preset-choice {
  white-space: normal;
}
#namelist-preset-mode-modal .modal-dialog {
  max-width: 640px;
}


/* Curated editor empty section note */
.namelist-input-group-empty {
  padding: 0.5rem 0.75rem;
  font-style: italic;
  color: #6c757d;
}


/* UI error log */
.wrf-ui-error-log-panel {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: min(780px, calc(100vw - 32px));
  max-height: 60vh;
  z-index: 5000;
  background: #212529;
  color: #f8f9fa;
  border: 1px solid #495057;
  border-radius: 0.5rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,0.35);
  display: none;
}
.wrf-ui-error-log-panel.visible {
  display: block;
}
.wrf-ui-error-log-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #495057;
}
.wrf-ui-error-log-title {
  font-weight: 700;
}
.wrf-ui-error-log-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.wrf-ui-error-log-body {
  margin: 0;
  padding: 1rem;
  max-height: calc(60vh - 56px);
  overflow: auto;
  white-space: pre-wrap;
  font-size: 0.85rem;
  line-height: 1.35;
}
.wrf-ui-error-log-floating-button {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 4900;
}


/* Safe curated editor empty section note */
.namelist-input-group-empty {
  padding: 0.5rem 0.75rem;
  font-style: italic;
  color: #6c757d;
}


/* Side-by-side max_dom namelist controls */
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue {
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-domain-headers {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap !important;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-domain-header {
  width: 120px;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  text-align: center;
  font-size: 0.72rem;
  color: #6c757d;
  padding-bottom: 0.12rem;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap !important;
  align-items: stretch;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue-row div.namelist-input-variable-value {
  width: 120px;
}


/* Side-by-side select/logical control polish */
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue-row {
  column-gap: 8px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue-row div.namelist-input-variable-value.namelist-input-variable-value-select,
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable div.namelist-input-variable-multivalue-row div.namelist-input-variable-value {
  display: flex;
  flex-direction: column;
  flex: 0 0 120px;
  min-width: 120px;
  max-width: 120px;
}
div.namelist-input-editor div.namelist-input-group div.namelist-input-variables div.namelist-input-variable select.namelist-input-domain-select {
  width: 100%;
}

.namelist-input-logical-select{min-width:110px;}


/* UI Error Log readability fixes v0.8.7 */
.wrf-ui-error-log-panel,
.wrf-ui-error-log-panel * {
  color: #f8f9fa !important;
}
.wrf-ui-error-log-body {
  background: #111 !important;
  color: #f8f9fa !important;
}
.wrf-ui-error-log-panel .btn {
  color: #f8f9fa !important;
  border-color: #adb5bd !important;
}

/* v0.8.8 readable log override */
.wrf-ui-error-log-panel,.wrf-ui-error-log-body,.wrf-ui-error-log-title,.wrf-ui-error-log-actions button{color:#f8f9fa !important;}
.wrf-ui-error-log-body{background:#212529 !important;}

/* v0.8.9 readability hardening */
#wrf-ui-error-log-panel, #wrf-ui-error-log-panel * { color: #f8f9fa !important; }
#wrf-ui-error-log-panel .btn { color: #f8f9fa !important; border-color: #ced4da !important; }


/* v0.9.4 physics subsection UI */
.namelist-input-subsection {
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  margin: 10px 0;
  background: rgba(255,255,255,0.6);
}
.namelist-input-subsection-title {
  cursor: pointer;
  font-weight: 600;
  padding: 10px 12px;
  list-style: none;
}
.namelist-input-subsection-title::-webkit-details-marker {
  display: none;
}
.namelist-input-subsection-title::before {
  content: '▸';
  margin-right: 8px;
}
.namelist-input-subsection[open] > .namelist-input-subsection-title::before {
  content: '▾';
}
.namelist-input-subsection-body {
  padding: 0 10px 10px 10px;
}

.namelist-input-subsection-hidden {
  display: none;
}

/* Rebuild v2.0.0 hybrid namelist.input UI */
.namelist-input-toolbar { border-bottom: 1px solid #e9ecef; }
.namelist-input-group { border: 1px solid #dee2e6; border-radius: 6px; margin-bottom: 12px; background: #fff; }
.namelist-input-group-core .namelist-input-group-header { border-left: 4px solid #0d6efd; }
.namelist-input-group-header { display:flex; align-items:center; padding:10px 12px; background:#f8f9fa; border-bottom:1px solid #e9ecef; }
.namelist-input-group-header h5 { font-size: 1rem; }
.namelist-input-variable-row { gap: 10px; }
.namelist-input-variable { border-top:1px solid #f1f3f5; padding:10px 12px; }
.namelist-input-variable:first-child { border-top:none; }
.namelist-input-variable-name { min-width: 210px; cursor:pointer; }
.namelist-input-variable-value { flex:1; min-width: 240px; }
.namelist-input-variable-description { color:#495057; font-size:.875rem; line-height:1.4; margin-top:4px; margin-left:28px; }
.namelist-input-variable-compatibility { margin-top:4px; margin-left:28px; color:#495057; }
.namelist-input-variable-multivalue-row { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.namelist-input-variable-unset { opacity:.9; background:#fbfcfd; }
.namelist-input-variable-highlight { background:#fff3cd; }
#namelist-input-doc-panel { min-height: 260px; }

.wrf-domain-grid-lock-container {
  background: transparent;
  border: none;
}
.wrf-domain-grid-lock {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #222;
  box-shadow: 0 1px 4px rgba(0,0,0,.35);
  color: #222;
  font-size: 12px;
}
.wrf-domain-grid-lock.unlocked {
  background: rgba(255,255,255,.95);
}
.wrf-domain-grid-lock.locked {
  background: rgba(255,230,230,.95);
  color: #b00020;
}

.wrf-ui-error-log-fixed-button {
  position: fixed;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 4900;
  box-shadow: 0 0.35rem 0.8rem rgba(0,0,0,0.25);
}
@media (max-width: 900px) {
  .wrf-ui-error-log-fixed-button {
    left: auto;
    right: 12px;
    transform: none;
  }
}


.about-dedication {
  font-size: 0.95rem;
  color: #444;
}
.about-dedication p:last-child {
  margin-bottom: 0;
}

#namelist-input-dialog .modal-content,
#namelist-input-save-dialog .modal-content { color:#212529; }
#namelist-input-dialog .text-muted,
#namelist-input-save-dialog .text-muted { color:#5c6770 !important; }
#namelist-input-dialog .form-control,
#namelist-input-save-dialog .form-control { color:#212529; background-color:#ffffff; }
#namelist-input-container .namelist-input-variable-name strong { color:#1f2933; }
#namelist-input-container .namelist-input-variable-row .small.text-muted { color:#5c6770 !important; }
#namelist-input-container .namelist-input-group-header { background:#f5f7f9; }


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix */
#namelist-input-dialog .modal-content,
#namelist-input-save-dialog .modal-content {
  border-radius: 12px;
  overflow: hidden;
}

#namelist-input-dialog .modal-header,
#namelist-input-save-dialog .modal-header {
  background: #f8fafc;
  border-bottom: 1px solid #e5e9ef;
}

#namelist-input-dialog .modal-footer,
#namelist-input-save-dialog .modal-footer {
  background: #f8fafc;
  border-top: 1px solid #e5e9ef;
}

#namelist-input-dialog .nav-tabs .nav-link {
  color: #495057;
  font-weight: 500;
}

#namelist-input-dialog .nav-tabs .nav-link.active {
  color: #0d6efd;
  background: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

#namelist-input-dialog-tab-content {
  background: #fff;
  border-radius: 0 0 10px 10px;
}

.namelist-input-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  background: linear-gradient(to bottom, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
  padding-bottom: 8px;
  border-bottom: 1px solid #edf1f5;
}

#namelist-input-search,
#namelist-input-group-jump,
#namelist-input-variable-jump {
  min-height: 34px;
}

#namelist-input-container .namelist-input-group {
  border: 1px solid #e9edf2;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px;
  background: #fff;
}

#namelist-input-container .namelist-input-group-header {
  background: #f7f9fb;
}

#namelist-input-container .namelist-input-group-header .badge-light {
  background: #eef2f6;
  color: #495057;
}

#namelist-input-container .namelist-input-variable {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

#namelist-input-container .namelist-input-variable:hover {
  background: #fafcff;
}

#namelist-input-container .namelist-input-variable-name strong {
  letter-spacing: 0.01em;
}

#namelist-input-container .namelist-input-variable-value input,
#namelist-input-container .namelist-input-variable-value select,
#namelist-input-save-text {
  border-color: #d7dee7;
  box-shadow: none;
}

#namelist-input-container .namelist-input-variable-value input:focus,
#namelist-input-container .namelist-input-variable-value select:focus,
#namelist-input-save-text:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.16rem rgba(13, 110, 253, 0.12);
}

#namelist-input-save-text {
  background: #fbfdff;
  line-height: 1.35;
}

.namelist-input-variable-highlight {
  background: #fff8db;
  border-left: 4px solid #f0c419;
}

.namelist-input-subsection {
  border-top: 1px solid #eef2f6;
  padding-top: 6px;
  margin-top: 2px;
}

.namelist-input-subsection-title {
  font-weight: 600;
  color: #495057;
  cursor: pointer;
}

#namelist-input-summary {
  font-weight: 500;
}

@media (max-width: 991.98px) {
  #namelist-input-dialog .modal-dialog {
    max-width: 98vw !important;
    margin: 0.5rem auto;
  }

  .namelist-input-toolbar .form-control,
  .namelist-input-toolbar .btn {
    margin-bottom: 0.35rem;
  }
}


#wps-advanced-share-fields {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}
#wps-advanced-share-fields label {
  color: #495057;
}
#wps-advanced-share-fields .form-control {
  font-family: inherit;
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix responsive text wrapping and row flow */
#namelist-input-container .namelist-input-variable-description,
#namelist-input-container .namelist-input-variable-compatibility,
#namelist-input-doc-panel,
#namelist-input-doc-panel * {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#namelist-input-container .namelist-input-variable-name,
#namelist-input-container .namelist-input-variable-value,
#namelist-input-container .namelist-input-variable-description,
#namelist-input-container .namelist-input-variable-compatibility {
  min-width: 0;
}

@media (max-width: 1400px) {
  #namelist-input-container .namelist-input-variable-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  #namelist-input-container .namelist-input-variable-name {
    flex: 1 1 220px;
    min-width: 220px;
  }

  #namelist-input-container .namelist-input-variable-value {
    flex: 1 1 320px;
    min-width: 280px;
  }

  #namelist-input-container .namelist-input-variable-description,
  #namelist-input-container .namelist-input-variable-compatibility {
    margin-left: 28px;
    max-width: calc(100% - 28px);
  }
}

@media (max-width: 991.98px) {
  #namelist-input-container .namelist-input-variable-name,
  #namelist-input-container .namelist-input-variable-value {
    flex: 1 1 100%;
    min-width: 100%;
  }

  #namelist-input-container .namelist-input-variable-multivalue {
    width: 100%;
  }

  #namelist-input-container .namelist-input-variable-multivalue-row {
    flex-wrap: wrap !important;
    row-gap: 6px;
  }

  #namelist-input-container .namelist-input-variable-multivalue-row > .small.text-muted {
    min-width: 36px;
  }

  #namelist-input-container .namelist-input-variable-multivalue-row .namelist-input-variable-value,
  #namelist-input-container .namelist-input-variable-multivalue-row .namelist-input-variable-value.namelist-input-variable-value-select {
    flex: 1 1 calc(100% - 44px);
    min-width: calc(100% - 44px);
    max-width: calc(100% - 44px);
    width: auto;
  }
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix wrap rollback and stacked descriptions */
#namelist-input-container .namelist-input-variable-row {
  display: grid !important;
  grid-template-columns: 28px minmax(190px, 260px) minmax(260px, 1fr);
  column-gap: 10px;
  row-gap: 6px;
  align-items: start;
}

#namelist-input-container .namelist-input-variable-row > .mr-2.mt-1 {
  margin: 0 !important;
  grid-column: 1;
  grid-row: 1;
  padding-top: 4px;
}

#namelist-input-container .namelist-input-variable-name {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

#namelist-input-container .namelist-input-variable-value {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
}

#namelist-input-container .namelist-input-variable-description,
#namelist-input-container .namelist-input-variable-compatibility {
  display: block;
  margin-left: 38px;
  margin-top: 2px;
  max-width: calc(100% - 38px);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.35;
}

#namelist-input-container .namelist-input-variable-description {
  color: #495057;
}

#namelist-input-container .namelist-input-variable-compatibility {
  color: #5c6770;
}

#namelist-input-container .namelist-input-variable-multivalue {
  width: 100%;
}

#namelist-input-container .namelist-input-variable-multivalue-row {
  display: grid !important;
  grid-template-columns: 44px minmax(140px, 1fr);
  column-gap: 8px;
  row-gap: 6px;
  align-items: center;
}

#namelist-input-container .namelist-input-variable-multivalue-row > .small.text-muted {
  min-width: 0;
}

#namelist-input-container .namelist-input-variable-multivalue-row .namelist-input-variable-value,
#namelist-input-container .namelist-input-variable-multivalue-row .namelist-input-variable-value.namelist-input-variable-value-select {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
}

@media (max-width: 1200px) {
  #namelist-input-container .namelist-input-variable-row {
    grid-template-columns: 28px minmax(170px, 220px) minmax(220px, 1fr);
  }
}

@media (max-width: 900px) {
  #namelist-input-container .namelist-input-variable-row {
    grid-template-columns: 28px 1fr;
  }

  #namelist-input-container .namelist-input-variable-name {
    grid-column: 2;
    grid-row: 1;
  }

  #namelist-input-container .namelist-input-variable-value {
    grid-column: 2;
    grid-row: 2;
  }

  #namelist-input-container .namelist-input-variable-description,
  #namelist-input-container .namelist-input-variable-compatibility {
    margin-left: 38px;
  }
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix helper field tooltip polish */
#wps-advanced-share-fields [data-toggle="tooltip"] {
  cursor: help;
}
.tooltip.show {
  opacity: 1;
}
.tooltip .tooltip-inner {
  max-width: 320px;
  background: rgba(0, 0, 0, 0.92);
  color: #fff;
  text-align: left;
  padding: 0.5rem 0.65rem;
  font-size: 0.85rem;
  line-height: 1.35;
  border-radius: 0.35rem;
  box-shadow: 0 0.35rem 0.9rem rgba(0,0,0,0.28);
}
.tooltip.bs-tooltip-right .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before,
.tooltip.bs-tooltip-top .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before,
.tooltip.bs-tooltip-bottom .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before,
.tooltip.bs-tooltip-left .arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-right-color: rgba(0,0,0,0.92);
  border-top-color: rgba(0,0,0,0.92);
  border-bottom-color: rgba(0,0,0,0.92);
  border-left-color: rgba(0,0,0,0.92);
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix helper tooltip refinement */
#wps-advanced-share-fields .wps-helper-tooltip-label {
  cursor: help;
  display: inline-block;
}
#wps-advanced-share-fields input.form-control {
  cursor: text;
}
.tooltip {
  pointer-events: none;
}
.tooltip .tooltip-inner {
  max-width: 320px;
  white-space: normal;
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix geog_data_path tooltip consistency */
#wps-advanced-share-fields .wps-helper-tooltip-label {
  position: relative;
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix helper tooltip full normalization */
.wps-helper-tooltip-label {
  cursor: help;
  text-decoration: none;
}
.wps-helper-tooltip {
  pointer-events: none;
}
.wps-helper-tooltip .tooltip-inner {
  max-width: 320px;
  background: rgba(0, 0, 0, 0.92);
  color: #fff;
  text-align: left;
  padding: 0.5rem 0.65rem;
  font-size: 0.85rem;
  line-height: 1.35;
  border-radius: 0.35rem;
  box-shadow: 0 0.35rem 0.9rem rgba(0,0,0,0.28);
}
.wps-helper-tooltip.bs-tooltip-top .arrow::before,
.wps-helper-tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: rgba(0, 0, 0, 0.92);
}
.wps-helper-tooltip.bs-tooltip-right .arrow::before,
.wps-helper-tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: rgba(0, 0, 0, 0.92);
}
.wps-helper-tooltip.bs-tooltip-bottom .arrow::before,
.wps-helper-tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: rgba(0, 0, 0, 0.92);
}
.wps-helper-tooltip.bs-tooltip-left .arrow::before,
.wps-helper-tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: rgba(0, 0, 0, 0.92);
}


/* v3.2.3.6-beta-save-dialog-isolation-and-index-fix helper tooltip label-only enforcement */
#wps-advanced-share-fields input[title],
#wps-advanced-share-fields select[title] {
  cursor: text;
}


/* v3.2.2.4-beta grid panel visibility fix */
div.leaflet-sidebar-pane#domains form {
  padding-bottom: 92px;
}

div.leaflet-sidebar-pane#domains div#grids {
  overflow-y: visible;
  padding-bottom: 16px;
}

div.leaflet-sidebar-pane#domains div#grids .container-grid {
  display: block;
}

div.leaflet-sidebar-pane#domains div#grids .container-grid:first-of-type {
  margin-top: 6px;
}


/* v3.2.2.6-beta users-guide subsection order and indentation */
.namelist-input-subsection {
  margin: 0.5rem 0 0.75rem 1.25rem;
  padding-left: 0.9rem;
  border-left: 3px solid rgba(0, 0, 0, 0.12);
}

.namelist-input-subsection-title {
  font-size: 0.92rem;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.72);
  cursor: pointer;
  list-style: none;
  margin-bottom: 0.4rem;
}

.namelist-input-subsection-title::-webkit-details-marker {
  display: none;
}

.namelist-input-subsection-body {
  margin-top: 0.35rem;
}

/* v3.2.2.8-beta clean rebuild array render */
.namelist-input-variable-array-compact textarea {
  min-height: 4.75rem;
  font-family: var(--font-monospace, monospace);
  white-space: pre-wrap;
}

.namelist-input-variable-array-compact .small {
  padding-left: 0.1rem;
}



/* v4.0.0.0 namelist.input editor floating scroll controls */
#pane-namelist-input-editor {
  position: relative;
}

#namelist-input-container {
  padding-right: 2.75rem;
}

.namelist-input-scroll-dock {
  position: fixed;
  right: calc(3vw + 1.15rem);
  bottom: 5.75rem;
  z-index: 1065;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  pointer-events: none;
}

.namelist-input-scroll-fab {
  pointer-events: auto;
  width: 2.15rem;
  height: 2.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: rgba(108, 117, 125, 0.95);
  color: #fff;
  box-shadow: 0 0.35rem 0.85rem rgba(0, 0, 0, 0.24);
  cursor: pointer;
}

.namelist-input-scroll-fab:hover,
.namelist-input-scroll-fab:focus {
  background: rgba(90, 98, 104, 0.98);
  color: #fff;
  outline: none;
  box-shadow: 0 0 0 0.18rem rgba(108, 117, 125, 0.28), 0 0.35rem 0.85rem rgba(0, 0, 0, 0.24);
}

@media (max-width: 768px) {
  .namelist-input-scroll-dock {
    right: 1.25rem;
    bottom: 5.5rem;
  }
}


/* Desktop touch-screen and trackpad interaction fixes.
   Keep browser scrolling out of the map canvas so Leaflet can handle pan, zoom, domain drawing,
   domain dragging, and resize handles consistently. */
html,
body,
div#map,
.leaflet-container {
  overscroll-behavior: none;
}

div#map,
div#map .leaflet-container,
div#map .leaflet-pane,
div#map .leaflet-marker-icon,
div#map .leaflet-interactive,
.wrf-domain-grid,
.wrf-domain-grid-corner,
.grid-corner-icon,
.geogrid-corner-icon {
  touch-action: none;
  -ms-touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.leaflet-sidebar,
.leaflet-sidebar-content,
.modal,
.modal-dialog,
.modal-content,
.namelist-input-dialog,
#namelist-input-dialog,
#namelist-input-modal {
  overscroll-behavior: contain;
  touch-action: pan-y;
}

@media (pointer: coarse) {
  .wrf-domain-grid-corner {
    width: 18px;
    height: 18px;
    margin-left: -4px;
    margin-top: -4px;
  }

  .grid-corner-icon,
  .geogrid-corner-icon {
    min-width: 18px;
    min-height: 18px;
  }

  .wrf-domain-grid-lock-container,
  .wrf-domain-grid-lock {
    min-width: 28px;
    min-height: 28px;
  }
}

/* Structured namelist option descriptions and fixed row documentation layout */
.namelist-input-variable-description-options {
  line-height: 1.35;
}

.namelist-input-option-list {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  max-width: 52rem;
}

.namelist-input-option-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0.1rem 0;
}

.namelist-input-option-value {
  flex: 0 0 auto;
  min-width: 2.25rem;
  padding: 0.05rem 0.35rem;
  border: 1px solid rgba(108, 117, 125, 0.35);
  border-radius: 0.25rem;
  background: rgba(108, 117, 125, 0.08);
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.85em;
  text-align: center;
}

.namelist-input-option-label {
  flex: 1 1 auto;
}

.namelist-input-option-list-panel {
  margin-top: 0.35rem;
}

#namelist-input-container .namelist-input-variable-row {
  display: grid !important;
  grid-template-columns: 1.75rem minmax(15rem, 18rem) minmax(14rem, 18rem) minmax(24rem, 1fr);
  column-gap: 1rem;
  align-items: start;
  width: 100%;
}

#namelist-input-container .namelist-input-variable-name,
#namelist-input-container .namelist-input-variable-value,
#namelist-input-container .namelist-input-variable-doc {
  min-width: 0;
}

#namelist-input-container .namelist-input-variable-doc {
  padding-top: 0.2rem;
  justify-self: stretch;
}

#namelist-input-container .namelist-input-variable-description,
#namelist-input-container .namelist-input-variable-suggestion,
#namelist-input-container .namelist-input-variable-compatibility {
  margin-left: 0 !important;
  max-width: 58rem;
}

@media (max-width: 1100px) {
  #namelist-input-container .namelist-input-variable-row {
    grid-template-columns: 1.75rem minmax(13rem, 1fr);
  }

  #namelist-input-container .namelist-input-variable-value,
  #namelist-input-container .namelist-input-variable-doc {
    grid-column: 2;
  }
}

/* OBSPROC-only group marker */
.namelist-input-obsproc-only-badge {
  margin-left: 0.45rem;
  font-size: 0.72rem;
  vertical-align: middle;
  cursor: help;
}

/* ==========================================================
 * Polar reference cartography
 * ========================================================== */

.polar-reference-label-icon {
  background: transparent;
  border: 0;
  pointer-events: none;
}

.polar-reference-label {
  position: absolute;
  left: 5px;
  top: 0;
  display: block;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;

  color: #3f4852;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;

  text-shadow:
    -1px -1px 0 rgba(255, 255, 255, 0.95),
     1px -1px 0 rgba(255, 255, 255, 0.95),
    -1px  1px 0 rgba(255, 255, 255, 0.95),
     1px  1px 0 rgba(255, 255, 255, 0.95),
     0     0   3px rgba(255, 255, 255, 0.95);

  transform: translateY(-50%);
}


.polar-reference-label-capital {
  color: #202830;
  font-size: 11px;
  font-weight: 600;
}


.polar-reference-label-world-city {
  color: #2e3740;
  font-weight: 500;
}

.polar-reference-label-station {
  color: #3f4852;
  font-size: 10px;
  font-style: italic;
}

/*
 * Polar marine geographic labels.
 *
 * These intentionally sit below populated-place and scientific-station
 * labels in the visual hierarchy.
 */
.polar-reference-marine-label-icon {
  background: transparent;
  border: 0;
  pointer-events: none;
}

.polar-reference-marine-label {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;

  color: #687a89;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.4px;

  text-shadow:
    -1px -1px 0 rgba(255, 255, 255, 0.78),
     1px -1px 0 rgba(255, 255, 255, 0.78),
    -1px  1px 0 rgba(255, 255, 255, 0.78),
     1px  1px 0 rgba(255, 255, 255, 0.78),
     0     0   3px rgba(255, 255, 255, 0.75);

  transform: translate(-50%, -50%);
}

.polar-reference-marine-label-major {
  color: #596d7d;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}
