/* Tooltip */
.dv-tooltip {
  position: fixed;
  max-width: 260px;
  padding: 8px 10px;
  font-size: 0.875rem;
  line-height: 1.3;
  background: var(--dv-surface-2, #111418);
  color: var(--dv-text, #e7ecf5);
  border: 1px solid var(--dv-border, #2a2f36);
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  z-index: var(--z-tooltip) !important;
  pointer-events: none;
}

.dv-help-popover,
.dv-tooltip,
.tippy-box {
  z-index: var(--z-tooltip) !important;
}

.dv-help-popover {
  position: fixed;
  max-width: 28rem;
  padding: 16px 18px;
  background: var(--dv-help-surface, #1c2d4a);
  color: var(--dv-text, #e7ecf5);
  border: 1px solid rgba(59, 209, 255, 0.55);
  border-radius: 12px;
  box-shadow: 0 18px 38px rgba(0,0,0,0.55);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.16s ease, transform 0.16s ease;
  pointer-events: auto;
}

.dv-help-popover[data-open="1"] {
  opacity: 1;
  transform: translateY(0);
}

.dv-help-popover__title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 600;
}

.dv-help-popover__body {
  font-size: 0.95rem;
  line-height: 1.45;
  opacity: 0.95;
}

body.light .dv-help-popover {
  background: var(--dv-panel-bg, #ffffff);
  color: var(--dv-text, #1a2a3a);
  border-color: rgba(76, 141, 255, 0.28);
  box-shadow: 0 18px 38px rgba(12, 18, 32, 0.22);
}

/* Help link (“?”) */
.dv-help-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: 6px;
  border-radius: 50%;
  border: 1px solid rgba(123, 132, 148, 0.4);
  background: transparent;
  color: var(--dv-muted-text, #7b8494);
  font-weight: 600;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.dv-help-link:hover {
  border-color: var(--dv-border, #2a2f36);
  color: var(--dv-text, #e7ecf5);
  background: rgba(59, 209, 255, 0.06);
}

/* Dialogs */
.dv-dialog::backdrop { background: rgba(0,0,0,0.45); }
.dv-dialog {
  border: none;
  border-radius: 12px;
  padding: 0;
  max-width: 560px;
  width: calc(100% - 2rem);
  background: var(--dv-surface-1, #0b0e12);
  color: var(--dv-text, #e7ecf5);
  box-shadow: 0 14px 44px rgba(0,0,0,0.5);
}
.dv-dialog-content { padding: 18px 18px 16px; }
.dv-dialog-title { margin: 0 0 8px; font-size: 1.15rem; }
.dv-dialog-body { font-size: 0.95rem; opacity: 0.95; }

.dv-dialog-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 10px;
}

.dv-btn {
  appearance: none;
  border: 1px solid var(--dv-border, #2a2f36);
  background: transparent;
  color: inherit;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.dv-btn-primary {
  background: var(--dv-accent, #3bd1ff);
  color: #061018;
  border-color: transparent;
  font-weight: 600;
}
.dv-btn:hover { filter: brightness(1.05); }

