/* App-owned dialogs for desktop, mobile and installed PWA. */
dialog.pronto-dialog{
 --dialog-accent:#087f68;
 position:fixed;inset:0;margin:auto;
 width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);
 max-height:min(85dvh,750px);overflow:auto;box-sizing:border-box;
 padding:22px 24px 24px;border:1px solid rgba(8,127,104,.16);
 border-radius:20px;background:rgba(255,255,255,.96);color:#1d3b32;
 box-shadow:0 28px 75px rgba(13,38,30,.26);
 font:inherit;animation:pronto-modal-rise .18s ease-out;
}
dialog.pronto-dialog::backdrop{background:rgba(12,31,25,.53);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:pronto-modal-fade .18s ease-out}
.pronto-dialog-danger{--dialog-accent:#b42333!important}
.pronto-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.pronto-dialog-heading{display:flex;align-items:center;gap:12px;min-width:0}
.pronto-dialog-symbol{flex:none;display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#e6f5ee;color:var(--dialog-accent);font-weight:800;font-size:22px}
.pronto-dialog-danger .pronto-dialog-symbol{background:#ffedf0}
.pronto-dialog-title{margin:0;color:#153f32;font-size:clamp(19px,3vw,23px);line-height:1.3;font-weight:800}
.pronto-dialog-danger .pronto-dialog-title{color:#8c2030}
.pronto-dialog-x{flex:none;border:0;background:#eff5f1;color:#45635a;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:25px;cursor:pointer;padding:0}
.pronto-dialog-x:hover{background:#dceee3;color:#087f68}
.pronto-dialog-description{margin:0 0 12px;color:#425d51;font-size:15px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-line}
.pronto-dialog-content{margin-bottom:19px}
.pronto-dialog-label{display:block;color:#1e493a;font-weight:700;font-size:14px;margin:14px 0 6px}
.pronto-dialog-input{box-sizing:border-box;width:100%;min-height:115px;padding:12px;border-radius:12px;background:#fff;border:1px solid #cbded2;color:#233b30;font:inherit;font-size:16px;resize:vertical}
.pronto-dialog-input:focus{outline:2px solid #087f68;outline-offset:1px}
.pronto-dialog-error{margin:8px 0 0;color:#a41630;font-size:13px}
.pronto-dialog-footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.pronto-dialog-button{min-height:48px;min-width:122px;padding:10px 18px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-size:15px;font-weight:700;touch-action:manipulation}
.pronto-dialog-button-cancel{background:#eaf1ec;color:#244337}
.pronto-dialog-button-cancel:hover{background:#d9e9df}
.pronto-dialog-button-primary{background:#087f68;color:#fff}
.pronto-dialog-button-primary:hover{background:#046a56}
.pronto-dialog-button-danger{background:#ba2437;color:#fff}
.pronto-dialog-button-danger:hover{background:#92162a}
.pronto-dialog-button:focus-visible,.pronto-dialog-x:focus-visible{outline:3px solid #4ca987;outline-offset:2px}
@keyframes pronto-modal-rise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pronto-modal-fade{from{opacity:0}to{opacity:1}}
@media(max-width:600px){dialog.pronto-dialog{width:calc(100vw - 28px);max-width:calc(100vw - 28px);border-radius:18px;padding:20px;max-height:calc(100dvh - 30px)}.pronto-dialog-footer{flex-direction:column-reverse}.pronto-dialog-button{width:100%;min-height:49px}}
@media(prefers-reduced-motion:reduce){dialog.pronto-dialog,dialog.pronto-dialog::backdrop{animation:none}}
