/* Shared public dialogs and footer. Keep Bootstrap sizing, focus and dismissal behavior. */
.footer-bg,.footer-bg footer.bg-dark { background-color:#164b4c !important; }
.modal { --bs-modal-color:#314b4b; --bs-modal-bg:#fff; --bs-modal-border-color:#d5e6df; --bs-modal-border-radius:24px; --bs-modal-header-border-color:#dbe8e2; --bs-modal-footer-border-color:#dbe8e2; }
.modal .modal-content { border:1px solid #d5e6df; border-radius:24px; box-shadow:0 24px 80px rgba(10,49,48,.25); }
.modal .modal-header { padding:24px; border-radius:23px 23px 0 0; background:linear-gradient(115deg,#edf7f2,#f8fcfb); border-bottom-color:#dbe8e2; gap:16px; }
.modal .modal-title { color:#164b4c; font-size:1.3rem; line-height:1.4; font-weight:600; }
.modal .modal-body { padding:24px; color:#526c69; line-height:1.75; }
.modal .modal-body p:last-child,.modal .modal-body ul:last-child { margin-bottom:0; }
.modal .modal-body li + li { margin-top:6px; }
.modal .modal-footer { padding:18px 24px; gap:10px; border-top-color:#dbe8e2; border-radius:0 0 23px 23px; background:#f8fbf9; }
.modal .modal-footer > * { margin:0; }
.modal .btn { border-radius:999px; padding:11px 20px; line-height:1.4; }
.modal .btn-primary { background:linear-gradient(110deg,#075e62,#08796e); border-color:#08796e; color:#fff; box-shadow:0 4px 12px #075e6214; }
.modal .btn-primary:hover { background:#075e62; border-color:#075e62; }
.modal .btn-secondary,.modal .btn-outline-primary,.modal .btn-outline-secondary { background:#fff; border-color:#a9c7c1; color:#075e62; }
.modal .btn-secondary:hover,.modal .btn-outline-primary:hover,.modal .btn-outline-secondary:hover { background:#e8f5ef; border-color:#08796e; color:#075e62; }
.modal .btn:focus-visible,.modal .btn-close:focus-visible { outline:3px solid #08796e; outline-offset:3px; box-shadow:none; }
.modal .btn-close { flex-shrink:0; width:20px; height:20px; border-radius:50%; padding:10px; background-color:#e3efea; opacity:.75; }
.modal .btn-close:hover { opacity:1; }
.modal .form-control,.modal .form-select { border-radius:12px; border-color:#cbded6; padding:12px 14px; }
.modal .form-control:focus,.modal .form-select:focus { border-color:#08796e; box-shadow:0 0 0 3px #08796e20; }
.modal-backdrop { --bs-backdrop-bg:#123d3e; --bs-backdrop-opacity:.48; }
@media(max-width:575.98px) {
 .modal .modal-content { border-radius:20px; }
 .modal .modal-header { padding:20px; border-radius:19px 19px 0 0; }
 .modal .modal-body { padding:20px; }
 .modal .modal-footer { padding:16px 20px; border-radius:0 0 19px 19px; }
 .modal .modal-footer .btn { flex:1 1 auto; white-space:normal; }
}
