/* PES V1.2: shared dialog surfaces, preserving business-specific widths. */
body dialog {
  --primary:#087f8c; --primary-hover:#066774; --ink:#203039; --muted:#586873; --line:#dde4e8;
  color:#203039; background:#fff; border:1px solid #dde4e8; border-radius:6px;
  box-shadow:0 12px 36px rgb(32 48 57 / 18%); font:inherit;
  max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto;
}
body dialog::backdrop { background:rgb(32 48 57 / 38%); }
body dialog :is(h2,h3) { color:#203039; font-size:17px; line-height:1.5; font-weight:600; }
body dialog :is(p,label,legend) { font-size:13px; }
body dialog :is(button,.button) { border-radius:4px; }
body dialog :is(.button-primary,.pes-dialog-primary) { background:#087f8c; border:1px solid #087f8c; color:#fff; box-shadow:none; }
body dialog :is(.button-primary,.pes-dialog-primary):hover { background:#066774; border-color:#066774; }
body dialog :is(.button-danger,.button.danger,.pes-dialog-danger) { color:#b42318; background:#fff; border:1px solid #dde4e8; box-shadow:none; }
body dialog :is(.button-danger,.button.danger,.pes-dialog-danger):hover { background:#fff3f1; border-color:#b42318; }
body dialog :is(button,input,select,textarea,a):focus-visible { outline:2px solid #087f8c; outline-offset:2px; }
body dialog :is(.dialog-actions,.calendar-dialog-actions,.document-dialog-actions,.schedule-requirement-dialog-actions,.business-process-dialog-footer,.research-workbench-footer,.plan-export-actions,.schedule-bulk-edit-actions) { gap:10px; background:#f8fafb; border-top:1px solid #dde4e8; padding:14px 20px; }
body dialog :is(.dialog-actions,.calendar-dialog-actions,.document-dialog-actions,.schedule-requirement-dialog-actions) :is(button,.button) { min-height:34px; font-size:13px; }
body dialog.account-danger-dialog { width:min(500px,calc(100vw - 32px)); }
body dialog.account-danger-dialog form { padding:24px; }
body dialog.account-danger-dialog .dialog-actions { margin:8px -24px -24px; padding:14px 24px; }
body dialog.calendar-delete-dialog { padding:24px; width:min(500px,calc(100vw - 32px)); }
body dialog.calendar-delete-dialog .calendar-dialog-actions { margin:24px -24px -24px; padding:14px 24px; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) { color:#203039; background:#fff; border:1px solid #dde4e8; border-radius:6px; box-shadow:0 12px 36px rgb(32 48 57 / 18%); padding:24px; max-width:calc(100% - 32px); }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) > strong { color:#203039; font-size:17px; font-weight:600; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) > p { color:#586873; font-size:14px; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) > div { display:flex; justify-content:flex-end; gap:10px; margin:20px -24px -24px; padding:14px 24px; background:#f8fafb; border-top:1px solid #dde4e8; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) button { min-height:34px; border-radius:4px; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) button.danger { order:-1; color:#b42318; border:1px solid #dde4e8; background:white; }
body :is(.business-process-delete-confirm,.research-requirement-delete-confirm) button:not(.danger) { color:white; background:#087f8c; border-color:#087f8c; }
body dialog.pes-confirm { width:500px; padding:0; }
.pes-confirm .pes-confirm-body { display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:16px; padding:24px 48px 26px 24px; position:relative; }
.pes-confirm .pes-confirm-icon { width:22px; height:22px; fill:#a35b00; margin-top:2px; }
.pes-confirm .pes-confirm-body h2 { margin:0; font-size:17px; }
.pes-confirm .pes-confirm-body p { grid-column:2; margin:14px 0 0; color:#586873; font-size:14px; line-height:22px; white-space:pre-line; overflow-wrap:anywhere; max-height:calc(100dvh - 230px); overflow:auto; }
.pes-confirm .pes-confirm-close { position:absolute; right:14px; top:14px; width:28px; height:28px; padding:0; border:0; color:#586873; background:transparent; font-size:22px; line-height:28px; cursor:pointer; }
.pes-confirm .pes-confirm-close:hover { background:#edf3f5; }
.pes-confirm .pes-confirm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:14px 24px; border-top:1px solid #dde4e8; background:#f8fafb; }
.pes-confirm .pes-confirm-actions button { min-height:34px; padding:6px 16px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
@media(max-width:480px) { .pes-confirm .pes-confirm-body { padding:20px 40px 22px 20px; column-gap:12px; } .pes-confirm .pes-confirm-actions { padding:14px 20px; } }

body dialog .calendar-delete-confirm { order:-1; color:#b42318; background:#fff; border:1px solid #dde4e8; }
body dialog.calendar-delete-dialog [data-calendar-delete-close] { color:#fff; background:#087f8c; border:1px solid #087f8c; }
body dialog.account-danger-dialog .button-danger { order:-1; }
body dialog.account-danger-dialog [data-close-danger-dialog] { color:#fff; background:#087f8c; border:1px solid #087f8c; }
