/* Shared dialog — modal-based replacement for window.prompt / window.confirm.
   Built on top of the .ct-modal primitive in components.css. */

.ct-dialog__message {
  color: var(--ct-text);
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 var(--ct-sp-4);
  white-space: pre-wrap;
  word-wrap: break-word;
}

.ct-dialog__input {
  width: 100%;
  background: var(--ct-bg-input);
  border: 1px solid var(--ct-border-strong);
  border-radius: var(--ct-r-md);
  color: var(--ct-text);
  padding: 8px 10px;
  font-family: inherit;
  font-size: 14px;
  box-sizing: border-box;
  transition: border-color 0.15s, background 0.15s;
}
.ct-dialog__input:focus {
  outline: none;
  border-color: var(--ct-accent);
  background: var(--ct-bg-hover);
}

.ct-dialog__actions {
  display: flex;
  gap: var(--ct-sp-2);
  justify-content: flex-end;
  margin-top: var(--ct-sp-4);
  padding-top: var(--ct-sp-4);
  border-top: 1px solid var(--ct-border);
}

.ct-dialog__btn {
  padding: 6px 14px;
  border-radius: var(--ct-r-md);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  border: 1px solid var(--ct-border-strong);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ct-dialog__btn--cancel {
  background: var(--ct-bg-input);
  color: var(--ct-text-muted);
}
.ct-dialog__btn--cancel:hover {
  background: var(--ct-bg-hover);
  color: var(--ct-text);
  border-color: var(--ct-text-muted);
}
.ct-dialog__btn--confirm {
  background: var(--ct-accent);
  color: var(--ct-bg);
  border-color: var(--ct-accent);
  font-weight: 600;
}
.ct-dialog__btn--confirm:hover {
  filter: brightness(1.1);
}
.ct-dialog__btn--danger {
  background: color-mix(in srgb, var(--ct-negative) 20%, transparent);
  color: var(--ct-negative);
  border-color: color-mix(in srgb, var(--ct-negative) 40%, transparent);
  font-weight: 600;
}
.ct-dialog__btn--danger:hover {
  background: color-mix(in srgb, var(--ct-negative) 30%, transparent);
  border-color: var(--ct-negative);
}
