/* ---------- Manual material selections ---------- */
#v-selections{max-width:1240px;margin:0 auto}
.sel-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.sel-topline h1{display:inline;margin:0 0 0 8px;font-size:22px;letter-spacing:-.03em}
.sel-topline p{margin:4px 0 0;color:var(--ink-3);font-size:12px}
.sel-kicker{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9e5ff;color:var(--brand);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:3px}
.sel-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.sel-sidebar{position:sticky;top:72px;max-height:calc(100vh - 90px);padding:14px;overflow:auto}
.sel-search{width:100%;margin:4px 0 12px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}
.sel-search:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.sel-project-list{display:grid;gap:6px}
.sel-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.sel-project-row:hover,.sel-project-row.on{border-color:var(--brand);background:var(--brand-soft)}
.sel-project-row b,.sel-project-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sel-project-row b{font-size:11.5px}.sel-project-row span{margin-top:3px;color:var(--ink-3);font-size:9.5px}
.mp-side-status{padding:4px 6px;border-radius:999px;background:#f0f1f4;color:var(--ink-3);font-size:8px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.mp-side-status.sent,.mp-side-status.in_progress{background:#e9e5ff;color:var(--brand)}
.mp-side-status.approved{background:#dcf7e7;color:var(--ok)}
.mp-list-empty{padding:18px 8px;color:var(--ink-3);font-size:11px;text-align:center}
.sel-empty{display:grid;min-height:390px;place-items:center;align-content:center;padding:48px;text-align:center}
.sel-empty-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:17px;background:var(--brand-soft);color:var(--brand);font-size:25px}
.sel-empty h2{margin:14px 0 5px;font-size:18px}.sel-empty p{max-width:480px;margin:0 0 18px;color:var(--ink-3);font-size:11.5px;line-height:1.6}
.mp-create{max-width:720px;padding:24px}
.mp-step{display:flex;gap:12px;align-items:flex-start}
.mp-step.second{margin-top:25px;padding-top:22px;border-top:1px solid var(--line-2)}
.mp-step>span{display:grid;flex:0 0 28px;height:28px;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800}
.mp-step h2{margin:1px 0 3px;font-size:16px}.mp-step p{margin:0;color:var(--ink-3);font-size:11px;line-height:1.5}
.mp-customer-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0 8px 40px}
.mp-customer-search input,.mp-project-name input,.mp-add-material input,.mp-material-head input,.mp-option-fields input,.mp-option-fields textarea,.mp-share-link input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit}
.mp-customer-search input:focus,.mp-project-name input:focus,.mp-add-material input:focus,.mp-material-head input:focus,.mp-option-fields input:focus,.mp-option-fields textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
#mpcustomerresults,.mp-chosen{margin-left:40px}
.mp-customer-results{display:grid;gap:5px;max-height:240px;overflow:auto}
.mp-customer-results button{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.mp-customer-results button:hover{border-color:var(--brand);background:var(--brand-soft)}
.mp-customer-results b,.mp-customer-results span{display:block}.mp-customer-results b{font-size:11.5px}.mp-customer-results span{margin-top:2px;color:var(--ink-3);font-size:9.5px}
.mp-chosen{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #b9e9cc;border-radius:9px;background:#f0fbf4}
.mp-chosen>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--ok);color:#fff}
.mp-chosen b,.mp-chosen small{display:block}.mp-chosen b{font-size:11.5px}.mp-chosen small{margin-top:2px;color:var(--ink-3);font-size:9.5px}
.mp-project-name{display:block;margin:14px 0 0 40px;color:var(--ink-3);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mp-project-name input{display:block;margin-top:5px;font-size:12px;text-transform:none}
.mp-create-button{margin:16px 0 0 40px}
.mp-project{padding:17px}
.mp-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.mp-project-head>div>span{color:var(--brand);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.mp-project-head h2{margin:3px 0 2px;font-size:19px;letter-spacing:-.025em}.mp-project-head p{margin:0;color:var(--ink-3);font-size:10.5px}
.mp-status{padding:6px 9px;border-radius:999px;background:#f0f1f4;color:var(--ink-3);font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.mp-status.sent,.mp-status.in_progress{background:#e9e5ff;color:var(--brand)}.mp-status.approved{background:#dcf7e7;color:var(--ok)}
.mp-progress,.mp-approved{display:flex;gap:11px;align-items:center;margin:14px 0;padding:11px 12px;border:1px solid var(--line-2);border-radius:9px;background:#fafbfc}
.mp-progress b,.mp-progress span,.mp-approved b,.mp-approved p{display:block}.mp-progress b,.mp-approved b{font-size:11.5px}.mp-progress span,.mp-approved p{margin:2px 0 0;color:var(--ink-3);font-size:9.75px}
.mp-approved{border-color:#b9e9cc;background:#f0fbf4}.mp-approved>span{display:grid;flex:0 0 30px;height:30px;place-items:center;border-radius:50%;background:var(--ok);color:#fff;font-weight:800}
.mp-project-actions{display:flex;gap:7px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}
.mp-add-material{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0;padding:11px;border:1px solid #d9d4fb;border-radius:9px;background:var(--brand-soft)}
.mp-materials{display:grid;gap:14px;margin-top:12px}
.mp-first-material{padding:46px 20px;border:1px dashed var(--line);border-radius:10px;text-align:center}
.mp-first-material>span{display:grid;width:34px;height:34px;margin:0 auto 9px;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800}
.mp-first-material h3{margin:0 0 4px;font-size:14px}.mp-first-material p{margin:0;color:var(--ink-3);font-size:10.5px}
.mp-material{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}
.mp-material-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border-bottom:1px solid var(--line-2);background:#fafbfc}
.mp-material-head>span{display:grid;width:26px;height:26px;place-items:center;border-radius:7px;background:var(--brand);color:#fff;font-size:10px;font-weight:800}
.mp-material-head input{padding:7px 9px;font-size:13px;font-weight:700}.mp-material-head>div{display:flex;gap:5px}
.mp-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:11px}
.mp-option{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}
.mp-option-image{position:relative;display:grid;height:145px;place-items:center;overflow:hidden;border:1px solid var(--line-2);border-radius:8px;background:#f4f5f7;color:var(--ink-3);font-size:9.5px}
.mp-option-image img{width:100%;height:100%;object-fit:cover}
.mp-upload{position:absolute;right:5px;bottom:5px;left:5px;padding:6px;border-radius:6px;background:rgba(20,24,34,.82);color:#fff;font-size:8.5px;font-weight:700;text-align:center;cursor:pointer}.mp-upload input{display:none}.mp-upload.disabled{display:none}
.mp-option-fields{display:grid;gap:8px}.mp-option-fields label{color:var(--ink-3);font-size:8.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.mp-option-fields input,.mp-option-fields textarea{display:block;margin-top:4px;padding:7px 8px;font:400 10.5px/1.45 Inter,sans-serif;text-transform:none}.mp-option-fields textarea{min-height:90px;resize:vertical}
.mp-option-actions{display:flex;grid-column:1/-1;gap:6px;justify-content:flex-end;padding-top:7px;border-top:1px solid var(--line-2)}
.mp-add-option{width:calc(100% - 22px);margin:0 11px 11px;border-style:dashed}
.mp-no-options{grid-column:1/-1;padding:22px;border:1px dashed var(--line);border-radius:8px;text-align:center}.mp-no-options b,.mp-no-options span{display:block}.mp-no-options b{font-size:11.5px}.mp-no-options span{margin-top:3px;color:var(--ink-3);font-size:9.5px}
.mp-share{margin:12px 0;padding:12px;border:1px solid #d9d4fb;border-radius:9px;background:var(--brand-soft)}
.mp-share>div>b,.mp-share>div>span{display:block}.mp-share>div>b{font-size:11.5px}.mp-share>div>span{margin-top:2px;color:var(--ink-3);font-size:9.5px}
.mp-share-link{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.mp-share-link input{padding:7px 9px;background:#fff;font-size:10px}
.mp-ok{margin:8px 0;padding:8px 10px;border:1px solid #b9e9cc;border-radius:7px;background:#f0fbf4;color:var(--ok);font-size:10.5px}
.mp-history{display:grid;gap:4px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line-2)}.mp-history b{font-size:10px;text-transform:uppercase}.mp-history span{color:var(--ink-3);font-size:9.5px}
@media(max-width:980px){.sel-layout{grid-template-columns:240px minmax(0,1fr)}.mp-options{grid-template-columns:1fr}.mp-option{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:720px){.sel-topline,.mp-project-head{flex-direction:column}.sel-layout{grid-template-columns:1fr}.sel-sidebar{position:static;max-height:none}.sel-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-project-actions{justify-content:flex-start}.mp-options{grid-template-columns:1fr}}
@media(max-width:520px){.sel-project-list{grid-template-columns:1fr}.mp-create,.mp-project{padding:13px}.mp-customer-search{grid-template-columns:1fr;margin-left:0}#mpcustomerresults,.mp-chosen,.mp-project-name,.mp-create-button{margin-left:0}.mp-material-head{grid-template-columns:28px minmax(0,1fr)}.mp-material-head>div{grid-column:1/-1;justify-content:flex-end}.mp-option{grid-template-columns:1fr}.mp-option-image{height:210px}.mp-add-material,.mp-share-link{grid-template-columns:1fr}.mp-project-actions .btn{flex:1 1 45%}}
