.qp-pvc-open { overflow: hidden; }
.qp-pvc-overlay { position: fixed; inset: 0; z-index: 10950; display: grid; place-items: center; padding: 24px; background: rgba(21, 39, 62, .58); font-family: Candara, "Segoe UI", sans-serif; }
.qp-pvc-dialog { width: min(1180px, 96vw); max-height: 92vh; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #b8cce5; border-radius: 4px; box-shadow: 0 24px 70px rgba(19, 44, 75, .28); color: #173f70; }
.qp-pvc-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; background: #edf4fc; border-bottom: 1px solid #c8d8ec; }
.qp-pvc-header span { color: #4b75ad; font-size: 11px; letter-spacing: .12em; }
.qp-pvc-header h2 { margin: 3px 0 0; color: #103b6d; font-size: 20px; }
.qp-pvc-close { width: 34px; height: 34px; border: 1px solid #b8cce5; border-radius: 3px; background: #fff; color: #4b75ad; font-size: 22px; }
.qp-pvc-target { display: flex; justify-content: space-between; gap: 16px; padding: 11px 20px; border-bottom: 1px solid #d4e0ef; background: #f9fbfe; }
.qp-pvc-target span { color: #55779e; }
.qp-pvc-body { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px 20px; overflow: auto; }
.qp-pvc-section { padding: 14px; border: 1px solid #cad9eb; border-radius: 3px; background: #fff; }
.qp-pvc-wide { grid-column: 1 / -1; }
.qp-pvc-section h3 { margin: 0 0 11px; font-size: 15px; color: #2c609c; }
.qp-pvc-section select { width: 100%; min-height: 40px; padding: 7px 10px; border: 1px solid #afc6e3; border-radius: 3px; color: #173f70; background: #fff; }
.qp-pvc-summary { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.qp-pvc-summary span, .qp-pvc-count { padding: 3px 8px; border-radius: 10px; background: #eaf1fa; color: #315f96; font-size: 12px; }
.qp-pvc-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.qp-pvc-check { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #d3dfed; border-radius: 3px; }
.qp-pvc-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.qp-pvc-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #c8d8eb; border-left: 3px solid #4b75ad; border-radius: 3px; cursor: pointer; }
.qp-pvc-card-main { display: flex; flex-direction: column; gap: 4px; }
.qp-pvc-card-main small { color: #6c87a7; }
.qp-pvc-card em { grid-column: 2 / -1; color: #9a6735; font-size: 12px; font-style: normal; }
.qp-pvc-card.is-disabled { opacity: .72; cursor: not-allowed; background: #f7f9fc; }
.qp-pvc-note { margin: -3px 0 13px; color: #597596; }
.qp-pvc-warning { border-left: 3px solid #d98d24; background: #fffaf2; }
.qp-pvc-warning p { margin: 5px 0 0; }
.qp-pvc-message { grid-column: 1 / -1; padding: 11px 13px; border: 1px solid; border-radius: 3px; }
.qp-pvc-message.is-error { color: #a12e2e; border-color: #e2aaaa; background: #fff3f3; }
.qp-pvc-message.is-success { color: #176a53; border-color: #9ed4c6; background: #effaf7; }
.qp-pvc-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 13px 20px; border-top: 1px solid #cad9eb; background: #f8fbff; }
.qp-pvc-footer .btn { border-radius: 3px; }
@media (max-width: 760px) { .qp-pvc-overlay { padding: 8px; } .qp-pvc-body, .qp-pvc-card-grid { grid-template-columns: 1fr; } .qp-pvc-section { grid-column: 1; } .qp-pvc-target { flex-direction: column; } }
