#dialog:has(#opp-form){width:min(960px,94vw);max-height:92vh;margin:auto;overflow:auto}
#dialog:has(#opp-form) .modalhead{padding:24px 32px;background:#fff;position:sticky;top:0;z-index:2}
#dialog:has(#opp-form) .modalhead h2{font-size:25px;letter-spacing:-.5px}
#opp-form{margin:0;text-align:left}
#opp-form .opp-body{padding:8px 32px 28px;background:#f7f9fc}
#opp-form .opp-intro{color:#66718a;line-height:1.6;font-size:14px;margin:18px 0 24px}
#opp-form .opp-section{padding:24px;margin:0 0 20px;border:1px solid #e1e6ef;border-radius:16px;background:#fff}
#opp-form h3{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:17px;color:#17224d}
#opp-form h3>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e9f3f0;color:#24746b;font-size:12px}
#opp-form .opp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#opp-form label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:600;color:#39435f}
#opp-form .opp-wide{grid-column:1/-1}
#opp-form input:not([type=checkbox]),#opp-form select,#opp-form textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d5ddeb;border-radius:9px;background:#fff;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:400;color:#17224d;min-height:46px}
#opp-form textarea{resize:vertical;line-height:1.7}
#opp-form input:focus-visible,#opp-form select:focus-visible,#opp-form textarea:focus-visible{outline:3px solid #a5d8cf;outline-offset:2px;border-color:#398b80}
#opp-form #opp-selection-count{font-size:12px;color:#67728a;margin:16px 0 10px}
#opp-form .opp-products{max-height:270px;overflow:auto;border:1px solid #e1e6ef;border-radius:10px}
#opp-form .opp-product{display:flex;flex-direction:row;align-items:center;gap:14px;padding:13px 14px;border-bottom:1px solid #edf0f5;cursor:pointer}
#opp-form .opp-product:last-child{border:0}
#opp-form .opp-product:hover{background:#f6f9fb}
#opp-form .opp-product:has(input:checked){background:#eef7f3}
#opp-form .opp-product input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#287e72}
#opp-form .opp-product-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
#opp-form .opp-product-copy strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}
#opp-form .opp-product-copy small{font-size:12px;color:#717b91;font-weight:400}
#opp-form .opp-stock{flex-shrink:0;font-size:11px;background:#f0f3f7;border-radius:6px;padding:5px 8px;font-weight:500}
#opp-form .opp-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:18px 32px;background:#fff;border-top:1px solid #e1e6ef}
#opp-form #opp-save-status{margin:0 auto 0 0;font-size:13px;color:#526079;max-width:50%}
#opp-form .opp-footer button{padding:12px 18px}
@media(max-width:640px){#dialog:has(#opp-form){width:96vw;max-height:94vh}#dialog:has(#opp-form) .modalhead{padding:18px}#dialog:has(#opp-form) .modalhead h2{font-size:21px}#opp-form .opp-body{padding:4px 14px 16px}#opp-form .opp-section{padding:18px 14px}#opp-form .opp-grid{grid-template-columns:1fr;gap:16px}#opp-form .opp-wide{grid-column:auto}#opp-form input:not([type=checkbox]),#opp-form select,#opp-form textarea{font-size:16px}#opp-form .opp-footer{padding:14px;flex-wrap:wrap}#opp-form #opp-save-status{max-width:100%;flex-basis:100%}#opp-form .opp-stock{font-size:10px}}
