/* Massing Vault — My Account "My Vaults" area. Echoes the Massing brand. */
.mv { --c:#2DE2E6; --b:#5B8CFF; --p:#B14CFF; --ink:#0E1430; --line:#e6e9f5; --muted:#7b829b; }
.mv-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.mv-head h2 { margin:0; color:var(--ink); }
.mv-plan { color:var(--muted); margin:.25rem 0 0; }
.mv-back a { color:var(--b); text-decoration:none; }

.mv-btn { display:inline-block; background:linear-gradient(100deg,var(--c),var(--b),var(--p)); color:#06122b !important;
	font-weight:600; padding:.55rem 1rem; border-radius:.55rem; text-decoration:none; border:0; cursor:pointer; }
.mv-btn[disabled] { opacity:.5; cursor:not-allowed; }
.mv-btn--ghost { background:none; border:1px solid var(--line); color:var(--ink) !important; }

.mv-meters { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:1.5rem 0; }
.mv-meter { background:#f5f7fd; border:1px solid var(--line); border-radius:.7rem; padding:.8rem .9rem; }
.mv-meter__top { display:flex; justify-content:space-between; font-size:.82rem; color:var(--muted); margin-bottom:.45rem; }
.mv-meter__top strong { color:var(--ink); }
.mv-meter__bar { height:7px; background:#e2e7f4; border-radius:5px; overflow:hidden; }
.mv-meter__bar span { display:block; height:100%; background:linear-gradient(90deg,var(--c),var(--b),var(--p)); }

.mv-create { display:flex; gap:.5rem; margin:1rem 0 .25rem; flex-wrap:wrap; }
.mv-create input[type=text] { flex:1; min-width:240px; padding:.55rem .8rem; border:1px solid var(--line); border-radius:.55rem; }
.mv-note { color:var(--muted); font-size:.9rem; }

.mv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; margin-top:1.25rem; }
.mv-card { display:block; padding:1.25rem; border:1px solid var(--line); border-radius:.9rem; text-decoration:none; color:var(--ink);
	background:#fff; transition:transform .12s ease, box-shadow .15s ease, border-color .15s ease; position:relative; overflow:hidden; }
.mv-card::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--c),var(--b),var(--p)); }
.mv-card:hover { transform:translateY(-3px); box-shadow:0 16px 36px -22px rgba(14,20,48,.45); border-color:rgba(91,140,255,.45); }
.mv-card__icon { color:var(--b); font-size:1.4rem; margin-bottom:.4rem; }
.mv-card h3 { margin:.2rem 0 .35rem; font-size:1.05rem; }
.mv-card__meta { color:var(--muted); font-size:.85rem; margin:0; }

.mv-models { width:100%; border-collapse:collapse; margin-top:1.25rem; }
.mv-models th, .mv-models td { text-align:left; padding:.6rem .5rem; border-bottom:1px solid var(--line); vertical-align:middle; }
.mv-models th { font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.mv-model-name { font-weight:600; color:var(--ink); }
.mv-fmt { background:var(--ink); color:#9fe9ee; font-size:.72rem; padding:.12rem .45rem; border-radius:.3rem; letter-spacing:.04em; }
.mv-model-actions { display:flex; gap:.75rem; align-items:center; justify-content:flex-end; }
.mv-model-actions form { margin:0; }
.mv-link { background:none; border:0; color:var(--b); cursor:pointer; text-decoration:none; font-size:.9rem; padding:0; }
.mv-link:hover { text-decoration:underline; }
.mv-link--danger { color:#d8537a; }

.mv-upload { display:flex; gap:.5rem; margin:1.25rem 0 .25rem; flex-wrap:wrap; align-items:center;
	background:#f5f7fd; border:1px solid var(--line); border-radius:.7rem; padding:.75rem; }
.mv-upload input[type=text] { flex:1; min-width:200px; padding:.5rem .7rem; border:1px solid var(--line); border-radius:.5rem; }
.mv-upload input[type=file] { flex:2; min-width:200px; }
.mv-thumb { border-radius:.35rem; object-fit:cover; vertical-align:middle; border:1px solid var(--line); }

.mv-empty { text-align:center; padding:2rem; border:1px dashed var(--line); border-radius:1rem; color:var(--muted); margin-top:1.25rem; }
.mv-danger { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--line); }

/* ── Phase 3: viewer ── */
.mv-viewer { display:block; width:100%; height:min(60vh,520px); margin:1rem 0; border-radius:1rem;
	background:radial-gradient(120% 100% at 50% 0%, #141b3a, #070a18); border:1px solid var(--line); }
.mv-metrics { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.mv-metric { background:#f5f7fd; border:1px solid var(--line); border-radius:.6rem; padding:.5rem .85rem; }
.mv-metric span { display:block; font-size:.68rem; letter-spacing:.05em; color:var(--muted); }
.mv-metric strong { color:var(--ink); font-size:1.05rem; }

/* ── search + filter ── */
.mv-search { display:flex; gap:.5rem; margin:1rem 0; }
.mv-search input[type=search] { flex:1; max-width:340px; padding:.5rem .8rem; border:1px solid var(--line); border-radius:.55rem; }
.mv-filter { width:100%; max-width:320px; margin:1rem 0 .25rem; padding:.5rem .8rem; border:1px solid var(--line); border-radius:.55rem; }

/* ── shared badge ── */
.mv-card { position:relative; }
.mv-shared { position:absolute; top:.75rem; right:.75rem; background:var(--ink); color:#9fe9ee;
	font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:.12rem .45rem; border-radius:999px; }

/* ── versions ── */
.mv-versions-row td { background:#fafbff; }
.mv-versions summary { cursor:pointer; color:var(--b); font-size:.85rem; }
.mv-versions ul { list-style:none; margin:.5rem 0 0; padding:0; }
.mv-versions li { font-size:.82rem; color:var(--muted); padding:.25rem 0; }

/* ── team ── */
.mv-team { margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.mv-team h3 { margin:0 0 .25rem; }
.mv-members { list-style:none; padding:0; margin:.5rem 0 1rem; }
.mv-members li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px dashed var(--line); }
.mv-members li span { font-size:.9rem; color:var(--ink); }
.mv-members form { margin:0; }

/* ── post-checkout welcome ── */
.mv-welcome { margin:0 0 1.5rem; padding:1.25rem 1.4rem; border:1px solid var(--line);
	border-left:4px solid var(--b); border-radius:.7rem; background:linear-gradient(180deg,#f6fbfc,#fff); }
.mv-welcome h2 { margin:0 0 .35rem; font-size:1.25rem; }
.mv-welcome p { margin:0 0 .9rem; color:var(--muted); max-width:60ch; }
