.ops-configurator{width:100%;margin:1.5rem 0;padding:1.25rem;border:1px solid #d5dfdc;border-radius:10px;background:#f8fbfa;color:#20332e;box-sizing:border-box;clear:both}
.ops-configurator [hidden]{display:none!important}
.ops-configurator[hidden]{display:none!important}
.ops-configurator{grid-column:1/-1;flex:0 0 100%;min-width:0}
.ops-availability{font-size:.9rem;line-height:1.5}
.ops-availability:empty{display:none}
.ops-position-reference img{display:block;max-width:100%;max-height:240px;object-fit:contain;margin:.8rem auto}
.ops-position-reference a{display:block;font-size:.85rem;margin:.6rem 0;text-decoration:underline}
.ops-configurator h3{margin:0 0 .75rem;font-size:1.2rem}
.ops-enable{display:flex;align-items:center;gap:.6rem;font-weight:600;cursor:pointer}
.ops-fields{margin-top:1rem}
.ops-row{margin:0 0 1rem;padding:1rem;border:1px solid #cbd8d2;border-radius:6px;background:white;min-width:0}
.ops-row legend{padding:0 .4rem;font-weight:600;font-size:.9rem}
.ops-row label,.ops-file-label{display:block;margin:.6rem 0;font-size:.9rem}
.ops-row input,.ops-row select{display:block;box-sizing:border-box;width:100%;min-height:42px;margin-top:.3rem;border:1px solid #a9bab2;border-radius:4px;background:#fff;color:#20332e;padding:.5rem}
.ops-row input[readonly]{background:#f0f3f1}
.ops-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.ops-dimensions small,.ops-dimensions p{grid-column:1/-1;margin:0}
.ops-configurator small{display:block;font-size:.8rem;line-height:1.5;color:#4a6055}
.ops-remove{padding:.35rem 0;background:none;border:0;color:#794137;text-decoration:underline;cursor:pointer;font-size:.85rem}
.ops-configurator .ops-add{float:none!important;display:block;width:fit-content;max-width:100%;white-space:normal}
.ops-configurator .ops-file-label{clear:both;margin-top:1.3rem}
.ops-file{display:block;margin-top:.5rem;max-width:100%}
.ops-preview img{display:block;max-width:180px;max-height:130px;margin:1rem 0;padding:.5rem;background:#fff;border:1px solid #d5dfdc}
.ops-price:not(:empty){margin-top:1rem;padding:1rem;border-radius:6px;background:#e4f1e9;font-size:1rem}
.ops-status,.ops-upload-status{font-size:.9rem;line-height:1.5}
.ops-status:empty,.ops-upload-status:empty{display:none}
.ops-configurator :focus-visible{outline:3px solid #376e55;outline-offset:3px}
@media(max-width:420px){.ops-dimensions{grid-template-columns:1fr}.ops-configurator{padding:.85rem}}
