/* The modelling-bundle action and panel on the open map (open_map_bundle.js).
   Same palette as the draw control it sits under (open_map_watershed.css). */
.nh-drawctrl__bundle {
  display: block; width: 100%; margin-top: 6px; padding: 5px 9px;
  font: inherit; font-weight: 600; font-size: 0.8rem;
  color: #ffffff; background: #1f4e79; border: 1px solid #1f4e79;
  border-radius: var(--r-sm, 6px); cursor: pointer;
}
.nh-drawctrl__bundle:hover { background: #163a5a; }
.nh-drawctrl__bundlehint:empty { display: none; }

.nh-bundle {
  position: absolute; left: 12px; top: 60px; z-index: 30; width: 300px; max-width: calc(100vw - 24px);
  max-height: calc(100% - 80px); overflow: auto;
  background: #ffffff; color: #1A1A19; border-radius: var(--r-md, 10px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); font-size: 0.82rem;
}
body.dark-mode .nh-bundle { background: #1f2937; color: #e5e7eb; }
.nh-bundle__head { display: flex; align-items: center; justify-content: space-between;
                   padding: 8px 10px; border-bottom: 1px solid #e5e7eb; }
body.dark-mode .nh-bundle__head { border-bottom-color: #374151; }
.nh-bundle__title { margin: 0; font-size: 0.95rem; }
.nh-bundle__close { font: inherit; font-size: 1.1rem; line-height: 1; background: none;
                    border: 0; cursor: pointer; color: inherit; padding: 2px 6px; }
.nh-bundle__body { padding: 8px 10px 10px; }
.nh-bundle__status { margin: 0 0 6px; font-weight: 600; }
.nh-bundle__status:empty { display: none; }
.nh-bundle__status.is-error { color: #991b1b; }
body.dark-mode .nh-bundle__status.is-error { color: #fca5a5; }
.nh-bundle__status.is-ok { color: #065f46; }
.nh-bundle__status.is-loading { color: #56534C; }
.nh-bundle__facts { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; row-gap: 2px;
                    margin: 0 0 8px; }
.nh-bundle__facts dt { font-weight: 600; color: #56534C; }
body.dark-mode .nh-bundle__facts dt { color: #9ca3af; }
.nh-bundle__facts dd { margin: 0; }
.nh-bundle__field { display: block; margin: 6px 0; }
.nh-bundle__field span { display: block; font-weight: 600; margin-bottom: 2px; }
.nh-bundle__field input { width: 100%; box-sizing: border-box; font: inherit; padding: 4px 6px;
                          border: 1px solid #d1d5db; border-radius: var(--r-sm, 6px); }
body.dark-mode .nh-bundle__field input { background: #111827; color: #e5e7eb; border-color: #4b5563; }
.nh-bundle__presets { display: flex; gap: 4px; margin: 8px 0 4px; }
.nh-bundle__preset { flex: 1; font: inherit; font-size: 0.75rem; padding: 3px 4px;
                     background: #f3f4f6; border: 1px solid #d1d5db; border-radius: var(--r-sm, 6px);
                     cursor: pointer; color: inherit; }
body.dark-mode .nh-bundle__preset { background: #374151; border-color: #4b5563; }
.nh-bundle__layers { display: block; margin: 4px 0 8px; }
.nh-bundle__layer { display: flex; align-items: center; gap: 6px; padding: 2px 0; }
.nh-bundle__layer span { flex: 1; }
.nh-bundle__tag { font-size: 0.65rem; padding: 0 4px; border-radius: 3px;
                  background: #e5e7eb; color: #374151; }
body.dark-mode .nh-bundle__tag { background: #4b5563; color: #e5e7eb; }
.nh-bundle__build { display: block; width: 100%; padding: 6px; font: inherit; font-weight: 700;
                    color: #ffffff; background: #1f4e79; border: 1px solid #1f4e79;
                    border-radius: var(--r-sm, 6px); cursor: pointer; }
.nh-bundle__build[disabled] { opacity: 0.6; cursor: default; }
.nh-bundle__hint { margin: 6px 0 0; font-size: 0.72rem; color: #56534C; line-height: 1.3; }
body.dark-mode .nh-bundle__hint { color: #9ca3af; }
.nh-bundle__link { display: inline-block; margin-top: 4px; font-weight: 600; }

/* The data window (start/end + quick ranges) and the basin card's button. */
.nh-bundle__window { margin: 8px 0; padding: 6px 8px 8px; border: 1px solid #e5e7eb;
                     border-radius: var(--r-sm, 6px); }
body.dark-mode .nh-bundle__window { border-color: #374151; }
.nh-bundle__window legend { font-weight: 600; padding: 0 4px; }
.nh-bundle__quick { flex-wrap: wrap; margin-top: 2px; }
.nh-bundle__quick .nh-bundle__preset { flex: 1 1 22%; }
.nh-bundle__field input[type="datetime-local"] { min-width: 0; }
.nh-bundle__hint.is-error { color: #991b1b; font-weight: 600; }
body.dark-mode .nh-bundle__hint.is-error { color: #fca5a5; }
.nh-ws__bundle { margin-top: 8px; }
