.msa-builder{margin:24px 0;padding:20px;background:#f8f7f4;border:1px solid #e6e1d8;border-radius:16px}.msa-builder h2{font-size:1.3rem}.msa-config{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.msa-config label{display:grid;gap:6px;font-weight:600}.msa-config select{width:100%;max-width:100%;padding:9px;background:#fff;color:#222}.msa-render{display:block;width:100%;height:auto;max-width:600px;margin:16px auto;border-radius:12px}.msa-render-note{font-size:.85rem;color:#555}.msa-admin{max-width:1400px}.msa-admin .msa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.msa-admin .msa-card{padding:18px;background:#fff;border:1px solid #dcdcde;border-radius:10px;min-width:0}.msa-admin label{display:block;margin:10px 0}.msa-admin input:not([type=checkbox]),.msa-admin select,.msa-admin textarea{max-width:100%;width:100%}.msa-admin .button{width:auto}.msa-admin .msa-table{overflow-x:auto}.msa-admin img{max-width:240px;height:auto}.msa-admin .msa-state{display:inline-block;padding:4px 8px;background:#eff1f8;border-radius:5px}.msa-admin form{margin-bottom:14px}.msa-admin .msa-actions{display:flex;gap:8px;flex-wrap:wrap}.msa-admin .msa-actions form{margin:0}.msa-admin code{overflow-wrap:anywhere}@media(max-width:600px){.msa-config{grid-template-columns:1fr}.msa-builder{padding:12px}.msa-admin .msa-grid{grid-template-columns:1fr}}
.msa-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:24px auto}.msa-public-card{border:1px solid #e6e1d8;padding:20px;border-radius:16px;background:#fff;min-width:0}.msa-public-card img{width:100%;height:auto}.msa-public-card h2{font-size:1.4rem}.msa-public-card .button{display:inline-block}
.msa-render[hidden]{display:none}.msa-builder[aria-busy=true]{min-height:260px}.msa-render-note{min-height:2.8em}.msa-builder[aria-busy=true] .msa-render-note{color:#684b17}
.msa-upload[hidden]{display:none}.msa-upload{margin-top:16px;padding:14px;background:#fff;border:1px dashed #bbb;border-radius:10px}.msa-upload label{display:grid;gap:8px;font-weight:600}.msa-upload input{width:100%;min-width:0}.msa-upload p{font-size:.85rem;overflow-wrap:anywhere}.msa-config input[type=number]{width:100%;min-width:0;padding:9px;background:#fff;color:#222}.msa-confirm{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;margin-top:14px}.msa-confirm input{margin-top:4px;flex-shrink:0}.msa-builder [data-msa-compare]{padding:8px 12px;font-size:.85rem;cursor:pointer}
