
/* Self-contained tokens — dialog teleports to body, outside .app2 */
body .confirm-dialog-mask,
body .p-dialog.confirm-dialog {
  --ui-font: 'Maven Pro', sans-serif;
  --ui-text: #1e293b;
  --ui-border: #e2e8f0;
  --ui-radius: 10px;
  --ui-primary: #e89545;
  --ui-primary-hover: #d38338;
  --ui-primary-border: #d38338;
  --ui-shadow-primary: 0 1px 2px rgba(185, 110, 39, 0.25);
}
body .confirm-dialog-mask {
  z-index: 2100 !important;
}
body .p-dialog.confirm-dialog {
  width: min(420px, calc(100vw - 32px));
  border-radius: var(--ui-radius);
  border: 1px solid var(--ui-border);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
  z-index: 2101 !important;
  font-family: var(--ui-font);
}
.confirm-dialog .p-dialog-content {
  padding: 24px 24px 8px;
  font-family: var(--ui-font);
  color: var(--ui-text);
}
.confirm-dialog__message .alert-warning {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: var(--ui-radius);
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  font-size: 14px;
}
.confirm-dialog__message .alert-danger {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: var(--ui-radius);
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: 14px;
}
.confirm-dialog__message .alert-danger:first-child {
  margin-top: 0;
}
.confirm-dialog__message .alert-danger--after-gap {
  margin-bottom: 16px;
}
.confirm-dialog__message .confirm-dialog__option-list {
  margin-top: 10px;
}
.confirm-dialog__message .confirm-dialog__option-line {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--ui-text);
}
.confirm-dialog__message .confirm-dialog__option-bullet {
  font-size: 20px;
  font-weight: 700;
  color: #ea580c;
  margin-right: 4px;
}
.confirm-dialog .p-dialog-footer {
  padding: 8px 24px 24px;
  border-top: none;
}
.confirm-dialog__message {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}
.confirm-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
}
.confirm-dialog__actions .button--danger {
  color: #dc3545;
  background: #fff;
  border: 1px solid #fecaca;
}
.confirm-dialog__actions .button--danger:hover:not(:disabled) {
  color: #dc3545;
  background: #fef2f2;
  border-color: rgba(220, 53, 69, 0.45);
}
.confirm-dialog__actions .button--success {
  background: #16a34a;
  color: #fff;
  border: 1px solid #15803d;
  box-shadow: 0 1px 2px rgba(21, 128, 61, 0.25);
}
.confirm-dialog__actions .button--success:hover:not(:disabled) {
  background: #15803d;
  border-color: #166534;
}
.confirm-dialog__actions .button--primary {
  background: var(--ui-primary);
  color: #fff;
  border: 1px solid var(--ui-primary-border);
  box-shadow: var(--ui-shadow-primary);
}
.confirm-dialog__actions .button--primary:hover:not(:disabled) {
  background: var(--ui-primary-hover);
}

/* Typed-code confirmation (requireCode) for irreversible actions. */
.confirm-dialog__code {
  margin: 12px 0 4px;
  padding: 10px 12px;
  border-radius: var(--ui-radius);
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: 14px;
  line-height: 1.5;
}
.confirm-dialog__code p {
  margin: 0;
}
.confirm-dialog__code-value {
  font-family: 'Courier New', monospace;
  font-size: 17px;
  letter-spacing: 4px;
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.confirm-dialog__code-input {
  margin-top: 8px;
  width: 120px;
  padding: 8px 10px;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  font-size: 16px;
  letter-spacing: 4px;
  text-align: center;
  color: var(--ui-text);
  background: #fff;
}
.confirm-dialog__code-input:focus {
  outline: 2px solid #dc2626;
  outline-offset: 1px;
}

/* Solid red accept button for destructive actions (acceptVariant="danger"). */
.confirm-dialog__actions .confirm-dialog__accept.confirm-dialog__accept--solid-danger {
  background: #dc2626;
  color: #fff;
  border: 1px solid #b91c1c;
  box-shadow: 0 1px 2px rgba(185, 28, 28, 0.25);
}
.confirm-dialog__actions .confirm-dialog__accept.confirm-dialog__accept--solid-danger:hover:not(:disabled) {
  background: #b91c1c;
  border-color: #991b1b;
}
