.escape-dialog,.cancel-dialog{width:min(530px,calc(100% - 28px));max-width:calc(100% - 28px);max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line,#ded8cb);border-radius:20px;background:var(--paper,#fffdf8);color:var(--ink,#29332c);box-shadow:0 24px 80px rgba(35,43,37,.25);overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
.escape-dialog::backdrop,.cancel-dialog::backdrop{background:rgba(35,43,37,.52)}
.escape-dialog-panel{padding:30px}.escape-dialog-status{margin:0 0 12px;color:var(--dark,#405d4c);font:700 .75rem/1.4 Segoe UI,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.escape-dialog h2{margin:0 0 14px;color:var(--dark,#405d4c);font:600 1.65rem/1.2 Georgia,serif}.escape-dialog-message{margin:0;font:400 1rem/1.6 Segoe UI,Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere}.escape-dialog-details{margin:16px 0 0;padding:14px;border:1px solid var(--line,#ded8cb);border-radius:12px;background:#f7f3ea;overflow-wrap:anywhere}.escape-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:26px}.escape-dialog .btn{min-height:46px;padding:11px 18px;border-radius:11px;border:1px solid var(--line,#ded8cb);font:700 .95rem Segoe UI,Arial,sans-serif;cursor:pointer}.escape-dialog .primary{background:var(--dark,#405d4c);color:#fff}.escape-dialog .secondary{background:#fffefa;color:var(--ink,#29332c)}.escape-dialog .danger{background:#9d4741;border-color:#9d4741;color:#fff}.escape-dialog-danger .escape-dialog-status,.escape-dialog-error .escape-dialog-status{color:#9d4741}.escape-dialog .btn:focus-visible{outline:3px solid var(--sage,#758b75);outline-offset:3px}.escape-dialog-warning .escape-dialog-status{color:#806542}
.escape-dialog-typed-label{display:block;margin-top:18px;font-weight:700;overflow-wrap:anywhere}.escape-dialog-typed-input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--line,#ded8cb);border-radius:9px;box-sizing:border-box;font:inherit}.escape-dialog-typed-input:focus-visible{outline:3px solid var(--sage,#758b75);outline-offset:2px}.escape-dialog .btn:disabled{opacity:.48;cursor:default}
body:has(dialog[open]){overflow:hidden}
.staff-surface .escape-dialog:modal{position:fixed;inset:0;margin:auto}
.staff-surface .escape-dialog-scheduling{border-top:5px solid #aa8050}
.staff-surface .escape-dialog-scheduling .escape-dialog-status,.staff-surface .escape-dialog-scheduling h2{color:#79572f}
.escape-toast-region{position:fixed;bottom:24px;right:24px;z-index:1000;display:grid;gap:10px;max-width:min(420px,calc(100% - 28px));pointer-events:none}.escape-toast{padding:15px 20px;border:1px solid var(--line,#ded8cb);border-left:4px solid var(--dark,#405d4c);border-radius:13px;background:var(--paper,#fffdf8);color:var(--ink,#29332c);box-shadow:0 10px 35px rgba(35,43,37,.16);font:500 .95rem/1.5 Segoe UI,Arial,sans-serif;overflow-wrap:anywhere}
@media(max-width:550px){.escape-dialog-panel{padding:24px 20px}.escape-dialog h2{font-size:1.4rem}.escape-dialog-actions{display:grid;grid-template-columns:1fr}.escape-dialog-actions .btn{width:100%}.escape-toast-region{bottom:14px;right:14px;left:14px;max-width:none}}
@media print{.escape-dialog,.escape-toast-region{display:none!important}}

/* Momentary actions only; shared input feedback also covers touch and Enter.
   Individual transforms preserve existing transforms, layout and focus indicators. */
@media screen {
  :where(.staff-surface, .client-surface) button:not(:disabled, [aria-disabled="true"], [aria-pressed], [aria-selected], [aria-current], [aria-expanded], [role="tab"], [role="switch"], [role="radio"], [role="checkbox"], .active, .selected, .is-active, .is-selected, .mobile-nav-backdrop, [data-calendar-mode], #toggleVoucherSent) {
    --escape-action-feedback: 1;
    transition: translate 140ms ease-out, scale 140ms ease-out, filter 140ms ease-out;
  }
  :where(.staff-surface, .client-surface) button:not(:disabled, [aria-disabled="true"], [aria-pressed], [aria-selected], [aria-current], [aria-expanded], [role="tab"], [role="switch"], [role="radio"], [role="checkbox"], .active, .selected, .is-active, .is-selected, .mobile-nav-backdrop, [data-calendar-mode], #toggleVoucherSent):is(:active, .escape-action-pressed) {
      translate: 0 1px;
      scale: .99;
      filter: brightness(.94);
      transition-duration: 45ms;
  }
}
@media screen and (prefers-reduced-motion: reduce) {
  :where(.staff-surface, .client-surface) button:not(:disabled, [aria-disabled="true"], [aria-pressed], [aria-selected], [aria-current], [aria-expanded], [role="tab"], [role="switch"], [role="radio"], [role="checkbox"], .active, .selected, .is-active, .is-selected, .mobile-nav-backdrop, [data-calendar-mode], #toggleVoucherSent) {
      transition: none;
  }
  :where(.staff-surface, .client-surface) button:not(:disabled, [aria-disabled="true"], [aria-pressed], [aria-selected], [aria-current], [aria-expanded], [role="tab"], [role="switch"], [role="radio"], [role="checkbox"], .active, .selected, .is-active, .is-selected, .mobile-nav-backdrop, [data-calendar-mode], #toggleVoucherSent):is(:active, .escape-action-pressed) {
    translate: none;
    scale: none;
    transition: none;
  }
}
