.psrq-modal{position:fixed;inset:0;display:block;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9999;font-family:inherit}
.psrq-modal[aria-hidden="false"]{opacity:1;pointer-events:auto}
.psrq-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.psrq-modal__content{position:relative;margin:5vh auto;background:#fff;max-width:640px;max-height:90vh;overflow:auto;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:20px}
.psrq-modal__close{position:absolute;top:8px;right:10px;background:transparent;border:0;font-size:28px;cursor:pointer}
.psrq-title{margin:0 0 12px;font-size:20px}
#psrq-form fieldset{border:1px solid #e5e5e5;margin:0 0 14px;padding:10px 12px;border-radius:4px}
#psrq-form legend{font-size:14px;padding:0 6px;color:#333;font-weight:600}
.psrq-field{display:flex;flex-direction:column;margin-bottom:10px}
.psrq-field label{margin-bottom:4px;text-align:left}
.psrq-field input,.psrq-field textarea{border:1px solid #ccc;border-radius:4px;padding:8px}
.psrq-field.required label:after{content:' *';color:#d00}
.psrq-actions{margin-top:12px}
.psrq-message{margin-top:10px;font-size:14px}
.psrq-messages{margin-top:12px}
.psrq-alert{padding:10px;border-radius:4px;margin:6px 0;font-size:14px}
.psrq-alert--error{background:#fdecea;color:#611a15;border:1px solid #f5c2c0}
.psrq-alert--success{background:#ecfdf3;color:#0f5132;border:1px solid #badbcc}
.psrq-actions .btn[disabled]{opacity:.7;cursor:not-allowed}
.psrq-btn-loading{width:16px;height:16px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:8px;animation:psrq-spin .9s linear infinite}
@keyframes psrq-spin{to{transform:rotate(360deg)}}
.psrq-filepreview{margin-top:8px}
.psrq-filepreview img{max-width:300px;max-height:200px;object-fit:contain;border:1px solid #eee;border-radius:4px}
.psrq-fileinfo{margin-top:6px;font-size:13px;color:#666}



