/* ---- Pultrack confirmation modal (shared mutation gate) ----------------
   The styled, in-brand replacement for the browser's window.confirm chrome.
   Built by ptConfirmModal() in _confirmation_runtime.html. Palette matches the app (green head,
   cream card) so a confirmation looks like Pultrack, not the OS. */
.pt-cf-overlay{position:fixed;inset:0;z-index:20000;background:rgba(19,33,27,.45);
  display:flex;align-items:center;justify-content:center;padding:16px;
  animation:pt-cf-fade .12s ease-out;}
@keyframes pt-cf-fade{from{opacity:0}to{opacity:1}}
.pt-cf-card{background:#FCFBF8;border-radius:14px;max-width:440px;width:100%;
  box-shadow:0 12px 40px rgba(19,33,27,.30);overflow:hidden;}
.pt-cf-head{background:#1B5739;color:#F4F1E9;padding:12px 18px;font-weight:600;font-size:1.05rem;}
.pt-cf-body{padding:16px 18px;color:#13211B;}
.pt-cf-action{font-weight:600;margin:0 0 10px;font-size:1rem;white-space:pre-line;}
.pt-cf-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.95rem;}
.pt-cf-k{color:#6E685B;}
.pt-cf-v{font-weight:600;text-align:right;word-break:break-word;}
.pt-cf-extra{margin:10px 0 0;}
.pt-cf-note{margin:10px 0 0;font-size:.9rem;color:#6E685B;}
.pt-cf-danger{color:#992C22;font-weight:600;}
.pt-cf-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;
  background:#F4F1E9;border-top:1px solid #E7E2D6;}

.pt-cf-overlay,.pt-cf-overlay *{box-sizing:border-box;}
.pt-cf-foot .btn{min-height:44px;padding:8px 16px;border:1px solid #6E685B;border-radius:6px;
  font:inherit;cursor:pointer;background:#FCFBF8;color:#13211B;}
.pt-cf-foot .btn-primary{background:#1B5739;color:#fff;border-color:#1B5739;}
.pt-cf-foot .btn-danger{background:#992C22;color:#fff;border-color:#992C22;}
.pt-cf-foot .btn:focus-visible{outline:3px solid #1B5739;outline-offset:3px;}
@media print{.pt-cf-overlay{display:none!important;}}
