.qp-btn{margin-top:10px;width:100%;background:#00AEEF;border-color:#00AEEF;font-weight:700}
.qp-modal[hidden]{display:none}
.qp-modal{position:fixed;inset:0;z-index:9999}
.qp-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.qp-modal__dialog{position:relative;margin:5vh auto;background:#fff;max-width:520px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:24px}
.qp-modal__close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.qp-title{margin:0 0 12px 0;font-size:20px;font-weight:700}
.qp-field{margin-bottom:12px}
.qp-field label{display:block;margin-bottom:6px;font-weight:600}
.qp-field label span{color:#d00}
.qp-field input,.qp-field select{width:100%;height:40px;padding:0 10px;border:1px solid #ddd;border-radius:8px}
.qp-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}
.qp-actions .btn{padding:10px 16px;border-radius:8px;border:1px solid #ddd;background:#f6f6f6;cursor:pointer}
.qp-actions .btn-primary{background:#00AEEF;border-color:#00AEEF;color:#fff}
.qp-msg{margin-top:12px;font-size:14px}
.qp-msg.error{color:#b80000}
.qp-msg.ok{color:#0a7d00}
