/* =========================================================================
   Dialog — styled prompt/confirm replacement for native browser dialogs
   ========================================================================= */

.lh-dialog-overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  animation: lh-dialog-fade 140ms ease-out;
}
@keyframes lh-dialog-fade { from { opacity: 0 } to { opacity: 1 } }
html.light .lh-dialog-overlay { background: rgba(20,14,30,0.4); }

.lh-dialog {
  width: min(440px, 100%);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 20px 22px 18px;
  box-shadow:
    0 30px 80px rgba(0,0,0,0.45),
    0 0 0 1px rgba(var(--primary-rgb, 127,13,242), 0.15);
  animation: lh-dialog-pop 160ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes lh-dialog-pop {
  from { transform: translateY(8px) scale(0.97); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

.lh-dialog-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(var(--primary-rgb, 127,13,242), 0.12);
  color: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.lh-dialog-icon.is-danger {
  background: rgba(248,113,113,0.12);
  color: var(--color-error);
}
.lh-dialog-icon .material-symbols-outlined {
  font-size: 24px;
  font-variation-settings: "FILL" 1, "wght" 500;
}

.lh-dialog-body { margin-bottom: 18px; }
.lh-dialog-title {
  font-size: 17px; font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text-hi);
  margin-bottom: 4px;
}
.lh-dialog-message {
  font-size: 13px; color: var(--text-lo);
  line-height: 1.5;
  margin-bottom: 12px;
}

.lh-dialog-input {
  font-size: 14px !important;
  padding: 10px 14px !important;
}

.lh-dialog-actions {
  display: flex; gap: 8px; justify-content: flex-end;
}
.lh-dialog-actions .lh-btn { min-width: 90px; justify-content: center; }

/* Danger button variant for confirmations */
.lh-btn.danger-solid {
  background: var(--color-error);
  border-color: var(--color-error);
  color: #fff;
  box-shadow: 0 6px 18px rgba(248,113,113,0.3);
}
.lh-btn.danger-solid:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #fff;
  transform: translateY(-1px);
}
