/* BioSphere MVP · shell e utilitários. Prefixo mv-. Componentes visuais vêm do design system (bs-). */
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font-family: var(--font-sans, Inter, sans-serif); background: var(--bg); color: var(--ink); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p { margin: 0; }
.mv-halo { position: fixed; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(40% 45% at 85% 5%, rgba(171,116,236,.18), transparent 70%), radial-gradient(35% 40% at 10% 100%, rgba(255,190,102,.12), transparent 70%), radial-gradient(30% 35% at 100% 95%, rgba(159,244,179,.18), transparent 70%); }

/* Layout */
.mv-app { position: relative; z-index: 1; display: grid; grid-template-columns: 268px 1fr; min-height: 100vh; }
.mv-side { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 18px 12px 24px 16px; display: flex; flex-direction: column; gap: 4px; scrollbar-width: thin; }
.mv-side__logo { display: flex; align-items: center; gap: 10px; padding: 6px 8px 14px; }
.mv-side__logo img { height: 22px; }
.mv-side__logo span { font: 500 10px/1 var(--font-mono); color: var(--purple); background: var(--purple-tint); padding: 4px 7px; border-radius: 99px; }
.mv-side__sec { font: 500 10.5px/1 var(--font-mono); text-transform: uppercase; letter-spacing: 1px; color: var(--ink-faint); padding: 14px 10px 6px; }
.mv-nav { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 10px; border-radius: 12px; color: var(--ink-muted); font-size: 13.5px; transition: background .2s, color .2s; }
.mv-nav:hover { background: var(--surface-glass); color: var(--ink); }
.mv-nav.is-on { background: var(--surface-raised); color: var(--ink); font-weight: 500; box-shadow: 0 1px 0 var(--line); }
.mv-nav .bs-i { width: 17px; height: 17px; flex: none; }
.mv-nav b { margin-left: auto; font: 500 10.5px/1 var(--font-mono); background: var(--surface-strong); color: var(--ink-muted); padding: 3px 6px; border-radius: 99px; }
.mv-nav b.al { background: var(--orange-soft); color: var(--orange-ink); }
.mv-proj { margin: 10px 0 4px; padding: 12px; border-radius: 18px; background: var(--surface-raised); box-shadow: 0 1px 0 var(--line); }
.mv-proj__top { display: flex; align-items: center; gap: 10px; }
.mv-proj__ico { width: 34px; height: 34px; border-radius: 10px; background: url(../ds/img/cell.jpg) 58% 46%/260% no-repeat; flex: none; }
.mv-proj b { display: block; font-size: 13px; font-weight: 500; line-height: 1.25; }
.mv-proj small { color: var(--ink-muted); font-size: 11.5px; }
.mv-proj__bar { margin-top: 10px; display: flex; gap: 6px; font: 400 10.5px var(--font-mono); color: var(--ink-muted); align-items: center; }
.mv-proj__bar i { flex: 1; height: 5px; border-radius: 9px; background: var(--surface-strong); overflow: hidden; display: block; }
.mv-proj__bar i em { display: block; height: 100%; background: var(--purple); }
.mv-grp { font: 500 10px/1 var(--font-mono); color: var(--ink-faint); text-transform: uppercase; letter-spacing: .8px; padding: 10px 10px 4px 12px; }

.mv-main { min-width: 0; padding: 0 28px 60px 12px; }
.mv-top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 10px; padding: 16px 0 14px; background: linear-gradient(var(--bg) 70%, transparent); }
.mv-crumbs { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-muted); min-width: 0; flex-wrap: wrap; }
.mv-crumbs b { color: var(--ink); font-weight: 500; }
.mv-crumbs i { font-style: normal; color: var(--ink-faint); }
.mv-grow { flex: 1; }
.mv-search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; width: 300px; border-radius: 99px; background: var(--surface-glass); box-shadow: inset 0 0 0 1px var(--line); backdrop-filter: blur(14px); color: var(--ink-muted); font-size: 13px; }
.mv-search kbd { margin-left: auto; font: 500 10.5px var(--font-mono); background: var(--surface-strong); padding: 3px 6px; border-radius: 6px; }
.mv-ibtn { position: relative; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-glass); box-shadow: inset 0 0 0 1px var(--line); backdrop-filter: blur(14px); }
.mv-ibtn em { position: absolute; top: -2px; right: -2px; min-width: 18px; height: 18px; border-radius: 99px; background: var(--alert); color: #151515; font: 500 10px/18px var(--font-mono); font-style: normal; text-align: center; padding: 0 4px; }
.mv-me { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px 0 4px; border-radius: 99px; background: var(--surface-raised); font-size: 12.5px; }
.mv-me small { color: var(--purple); font: 500 10px var(--font-mono); text-transform: uppercase; }

/* Página */
.mv-page { display: flex; flex-direction: column; gap: 18px; animation: mv-in .35s ease; }
@keyframes mv-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.mv-head { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding: 6px 0 2px; }
.mv-head__t { flex: 1; min-width: 280px; }
.mv-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 500 11px/1 var(--font-mono); text-transform: uppercase; letter-spacing: 1px; color: var(--purple); margin-bottom: 10px; }
.mv-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mv-head h1 { font-size: 34px; font-weight: 500; letter-spacing: -.8px; line-height: 1.1; }
.mv-head p { color: var(--ink-muted); font-size: 15px; margin-top: 6px; max-width: 820px; }
.mv-head__acts { display: flex; gap: 8px; flex-wrap: wrap; }

.mv-grid { display: grid; gap: 16px; }
.mv-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mv-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mv-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mv-g21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.mv-g12 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.mv-span2 { grid-column: span 2; }
@media (max-width: 1180px) { .mv-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mv-g3, .mv-g21, .mv-g12 { grid-template-columns: 1fr; } .mv-span2 { grid-column: auto; } }

/* Card simples (sobre o bs-card) */
.mv-card { background: var(--surface-raised); border-radius: 28px; padding: 20px 22px; box-shadow: var(--shadow-card, 0 1px 0 var(--line)); min-width: 0; }
.mv-card--soft { background: var(--surface); }
.mv-card--night { background: #151515; color: #fff; position: relative; overflow: hidden; }
.mv-card--night::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 60% at 90% 0%, rgba(119,12,205,.5), transparent 70%); pointer-events: none; }
.mv-card--night > * { position: relative; }
.mv-card--mint { background: linear-gradient(160deg, var(--surface-raised) 0%, var(--mint-tint) 45%, var(--purple-tint) 100%); }
.mv-card--purple { background: var(--purple); color: #fff; }
.mv-card--img { color: #fff; background: linear-gradient(180deg, rgba(10,10,14,.35), rgba(10,10,14,.82)), url(../ds/img/cell.jpg) 58% 46%/cover; }
.mv-ch { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.mv-ch h3 { font-size: 16px; font-weight: 500; letter-spacing: -.2px; }
.mv-ch small { display: block; color: var(--ink-muted); font-size: 12.5px; font-weight: 400; }
.mv-card--night .mv-ch small, .mv-card--img .mv-ch small, .mv-card--purple .mv-ch small { color: rgba(255,255,255,.7); }
.mv-ch .mv-grow + * { flex: none; }
.mv-ico { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-sunken); flex: none; }
.mv-card--night .mv-ico, .mv-card--img .mv-ico, .mv-card--purple .mv-ico { background: rgba(255,255,255,.12); }

/* Números */
.mv-num { font-size: 30px; font-weight: 500; letter-spacing: -.8px; line-height: 1.05; font-variant-numeric: tabular-nums; }
.mv-num small { font-size: 14px; color: var(--ink-muted); letter-spacing: 0; margin-left: 4px; }
.mv-card--night .mv-num small, .mv-card--img .mv-num small { color: rgba(255,255,255,.7); }
.mv-lbl { font-size: 12.5px; color: var(--ink-muted); }
.mv-card--night .mv-lbl, .mv-card--img .mv-lbl, .mv-card--purple .mv-lbl { color: rgba(255,255,255,.72); }
.mv-mono { font-family: var(--font-mono); font-size: 12px; }
.mv-muted { color: var(--ink-muted); }
.mv-faint { color: var(--ink-faint); }
.mv-alert-t { color: var(--orange-ink); }
.mv-ok-t { color: var(--mint-ink); }

/* Listas */
.mv-list { display: flex; flex-direction: column; gap: 6px; }
.mv-li { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 16px; background: var(--surface-sunken); text-align: left; width: 100%; min-width: 0; }
button.mv-li:hover, a.mv-li:hover { background: var(--surface-strong); }
.mv-li__m { flex: 1; min-width: 0; }
.mv-li__m b { display: block; font-weight: 500; font-size: 13.5px; line-height: 1.3; }
.mv-li__m small { display: block; color: var(--ink-muted); font-size: 12px; line-height: 1.35; margin-top: 2px; }
.mv-li__s { flex: none; display: flex; align-items: center; gap: 8px; }
.mv-card--night .mv-li { background: rgba(255,255,255,.07); }
.mv-card--night .mv-li__m small { color: rgba(255,255,255,.65); }

/* Barras */
.mv-bar { height: 8px; border-radius: 9px; background: var(--surface-strong); overflow: hidden; position: relative; }
.mv-bar > i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 9px; background: var(--purple); }
.mv-bar > i.mint { background: var(--mint-strong); } .mv-bar > i.ink { background: var(--ink); } .mv-bar > i.orange { background: var(--orange); } .mv-bar > i.soft { background: var(--purple-300); opacity: .5; }
.mv-bar--l { height: 12px; }
.mv-stack { display: flex; height: 10px; border-radius: 9px; overflow: hidden; background: var(--surface-strong); gap: 2px; }
.mv-stack i { display: block; height: 100%; }

/* Tabela */
.mv-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.mv-table th { text-align: left; font: 500 10.5px/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .6px; color: var(--ink-faint); padding: 0 10px 10px; white-space: nowrap; }
.mv-table td { padding: 11px 10px; border-top: 1px solid var(--line); vertical-align: middle; }
.mv-table tr.is-click { cursor: pointer; }
.mv-table tr.is-click:hover td { background: var(--surface-sunken); }
.mv-table td.num, .mv-table th.num { text-align: right; }
.mv-table td b { font-weight: 500; }
.mv-table td small { display: block; color: var(--ink-muted); font-size: 11.5px; }
.mv-scroll { overflow-x: auto; }

/* Pessoa */
.mv-p { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.mv-av { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; font: 500 10px var(--font-sans); color: #fff; background: linear-gradient(135deg, var(--purple-400), var(--orange)); flex: none; }
.mv-av.cu { background: linear-gradient(135deg, #2a3aa8, #e4434f); }
.mv-av.vago { background: var(--surface-strong); color: var(--ink-faint); box-shadow: inset 0 0 0 1px var(--line-strong); }
.mv-av.ag { background: radial-gradient(circle at 35% 30%, #fff 0 12%, #ab74ec 45%, #770ccd 100%); }

/* Chips de filtro e abas da página */
.mv-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.mv-pills { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }

/* Gantt próprio (meses do projeto) */
.mv-gantt { display: grid; grid-template-columns: 260px 1fr; font-size: 12.5px; }
.mv-gantt__scale { display: grid; font: 400 10.5px var(--font-mono); color: var(--ink-faint); padding-bottom: 8px; }
.mv-gantt__lbl { padding: 7px 10px 7px 0; border-top: 1px solid var(--line); min-width: 0; }
.mv-gantt__lbl b { font-weight: 500; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mv-gantt__lbl small { color: var(--ink-muted); font-size: 11px; }
.mv-gantt__trk { position: relative; border-top: 1px solid var(--line); min-height: 40px; background-image: linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: calc(100% / var(--n)) 100%; }
.mv-gantt__bar { position: absolute; top: 11px; height: 18px; border-radius: 9px; background: var(--purple-soft); overflow: hidden; cursor: pointer; }
.mv-gantt__bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--purple); }
.mv-gantt__bar.done { background: var(--mint); } .mv-gantt__bar.done i { background: var(--mint-strong); }
.mv-gantt__bar.late { background: var(--orange-soft); } .mv-gantt__bar.late i { background: var(--orange); }
.mv-gantt__bar.wait { background: var(--surface-strong); }
.mv-gantt__grp { grid-column: 1 / -1; font: 500 11px var(--font-mono); text-transform: uppercase; letter-spacing: .6px; color: var(--purple); padding: 14px 0 6px; }
.mv-gantt__today { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--ink); opacity: .5; }
.mv-gantt__ms { position: absolute; top: 12px; width: 14px; height: 14px; transform: rotate(45deg); background: var(--ink); border-radius: 3px; margin-left: -7px; }
.mv-gantt__ms.g { background: var(--purple); } .mv-gantt__ms.ok { background: var(--mint-strong); } .mv-gantt__ms.risk { background: var(--alert); }

/* Kanban */
.mv-kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; }
.mv-col { background: var(--surface); border-radius: 22px; padding: 12px; display: flex; flex-direction: column; gap: 8px; min-height: 120px; }
.mv-col__h { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 500; padding: 2px 4px 6px; }
.mv-col__h i { width: 8px; height: 8px; border-radius: 50%; }
.mv-kc { background: var(--surface-raised); border-radius: 16px; padding: 12px 13px; text-align: left; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 1px 0 var(--line); width: 100%; }
.mv-kc:hover { box-shadow: 0 0 0 1px var(--purple-300); }
.mv-kc b { font-weight: 500; font-size: 13px; line-height: 1.3; }
.mv-kc small { color: var(--ink-muted); font-size: 11.5px; }
.mv-kc__f { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mv-kc.late { box-shadow: inset 3px 0 0 var(--alert); }

/* Escada de TRL própria */
.mv-trl { display: flex; gap: 4px; }
.mv-trl i { flex: 1; height: 26px; border-radius: 7px; background: var(--surface-strong); display: grid; place-items: center; font: 500 10.5px var(--font-mono); font-style: normal; color: var(--ink-faint); }
.mv-trl i.on { background: var(--purple); color: #fff; }
.mv-trl i.alvo { box-shadow: inset 0 0 0 2px var(--purple); color: var(--purple); background: var(--purple-tint); }
.mv-trl i.prox { background: repeating-linear-gradient(45deg, var(--purple-tint), var(--purple-tint) 4px, var(--surface-strong) 4px, var(--surface-strong) 8px); color: var(--purple-ink); }

/* Drawer / modal / toast */
.mv-scrim { position: fixed; inset: 0; z-index: 80; background: rgba(15,15,20,.28); backdrop-filter: blur(2px); animation: mv-fade .2s; }
@keyframes mv-fade { from { opacity: 0; } }
.mv-drawer { position: fixed; z-index: 90; top: 12px; right: 12px; bottom: 12px; width: min(620px, calc(100vw - 24px)); background: var(--surface); border-radius: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.22); display: flex; flex-direction: column; animation: mv-slide .28s cubic-bezier(.2,.8,.2,1); overflow: hidden; }
@keyframes mv-slide { from { transform: translateX(40px); opacity: 0; } }
.mv-drawer__h { display: flex; align-items: flex-start; gap: 12px; padding: 22px 22px 14px; }
.mv-drawer__h small { color: var(--ink-muted); font: 500 11px var(--font-mono); text-transform: uppercase; letter-spacing: .6px; }
.mv-drawer__h h2 { font-size: 22px; font-weight: 500; letter-spacing: -.4px; line-height: 1.2; margin-top: 4px; }
.mv-drawer__b { flex: 1; overflow-y: auto; padding: 4px 22px 22px; display: flex; flex-direction: column; gap: 14px; }
.mv-drawer__f { display: flex; gap: 8px; justify-content: flex-end; padding: 14px 22px; border-top: 1px solid var(--line); background: var(--surface-raised); flex-wrap: wrap; }
.mv-x { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-strong); flex: none; margin-left: auto; }
.mv-modal { position: fixed; z-index: 95; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 40px); overflow-y: auto; background: var(--surface-raised); border-radius: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.25); padding: 24px; display: flex; flex-direction: column; gap: 14px; animation: mv-fade .2s; }
.mv-modal h2 { font-size: 20px; font-weight: 500; }
.mv-toasts { position: fixed; z-index: 120; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; gap: 8px; align-items: center; }
.mv-toast { background: #151515; color: #fff; padding: 12px 18px; border-radius: 16px; font-size: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.25); display: flex; gap: 10px; align-items: center; max-width: 560px; animation: mv-in .25s; }
.mv-toast i { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); flex: none; }
.mv-toast.ag i { background: var(--purple-300); }

/* Formulários */
.mv-field { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--ink-muted); }
.mv-field input, .mv-field select, .mv-field textarea { font: inherit; font-size: 14px; color: var(--ink); background: var(--surface-sunken); border: 0; border-radius: 12px; padding: 10px 12px; box-shadow: inset 0 0 0 1px var(--line); outline: none; }
.mv-field input:focus, .mv-field select:focus, .mv-field textarea:focus { box-shadow: inset 0 0 0 2px var(--purple-300); }
.mv-kvs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.mv-kv { background: var(--surface-raised); border-radius: 14px; padding: 10px 12px; }
.mv-kv small { display: block; color: var(--ink-muted); font-size: 11.5px; }
.mv-kv b { font-weight: 500; font-size: 13.5px; }
.mv-box { border-radius: 16px; padding: 12px 14px; font-size: 13px; background: var(--surface-raised); }
.mv-box--warn { background: var(--orange-tint); color: var(--orange-deep, #7a4300); box-shadow: inset 0 0 0 1px var(--orange-soft); }
.mv-box--ok { background: var(--mint-tint); color: var(--mint-ink); box-shadow: inset 0 0 0 1px var(--mint-soft); }
.mv-box--ag { background: var(--purple-tint); color: var(--purple-ink); box-shadow: inset 0 0 0 1px var(--purple-soft); }
.mv-sec-t { font: 500 11px var(--font-mono); text-transform: uppercase; letter-spacing: .8px; color: var(--ink-faint); margin: 4px 0 -4px; }

/* Matriz de risco */
.mv-riskmap { display: grid; grid-template-columns: 26px repeat(4, 1fr); grid-template-rows: repeat(4, 74px) 22px; gap: 4px; }
.mv-riskmap__c { border-radius: 12px; padding: 6px; display: flex; flex-wrap: wrap; gap: 4px; align-content: flex-start; }
.mv-riskmap__c button { font: 500 10px var(--font-mono); background: rgba(255,255,255,.92); color: #151515; padding: 3px 6px; border-radius: 99px; }
.mv-riskmap__y, .mv-riskmap__x { font: 400 10px var(--font-mono); color: var(--ink-faint); display: grid; place-items: center; }

/* Botão do agente */
.mv-agt { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 99px; background: var(--purple-soft); color: var(--purple-ink); font-size: 11.5px; font-weight: 500; }
.mv-agt::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0 12%, #ab74ec 45%, #770ccd 100%); }

/* Copiloto flutuante */
.mv-cop { position: fixed; z-index: 70; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 20px 0 8px; border-radius: 99px; background: #151515; color: #fff; box-shadow: 0 14px 40px rgba(0,0,0,.25); font-size: 13.5px; }
.mv-cop .orb { width: 38px; height: 38px; border-radius: 50%; background: radial-gradient(circle at 32% 26%, rgba(255,255,255,.95) 0 6%, transparent 20%), radial-gradient(circle at 40% 35%, #ab74ec, #770ccd 55%, #ffa333 110%); }

/* ---------- Usabilidade (revisão do dono, 30/10): navegação curta, ação óbvia, pistas de clique ---------- */
.mv-app { grid-template-columns: 250px 1fr; }
.mv-criar { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; margin: 4px 0 14px; border-radius: 16px; background: var(--ink); color: #fff; font-size: 15px; font-weight: 500; box-shadow: 0 8px 20px rgba(21,21,21,.18); transition: transform .15s; }
.mv-criar:hover { transform: translateY(-1px); background: #000; }
.mv-nav--big { height: auto; min-height: 52px; padding: 8px 12px; font-size: 14.5px; color: var(--ink); }
.mv-nav--big small { display: block; font-size: 11.5px; color: var(--ink-muted); font-weight: 400; }
.mv-nav--big .bs-i { width: 20px; height: 20px; }
.mv-nav b { background: var(--purple-soft); color: var(--purple-ink); }
.mv-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; margin: 0 4px; }
.mv-side__help { margin-top: auto; padding: 14px; border-radius: 18px; background: var(--surface-raised); display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--ink-muted); }
.mv-side__help b { color: var(--ink); font-weight: 500; font-size: 13px; }
.mv-side__help .bs-btn { align-self: flex-start; margin-top: 4px; }

.mv-projbar { background: var(--surface-raised); border-radius: 24px; padding: 14px 16px 0; margin-bottom: 18px; box-shadow: 0 1px 0 var(--line); }
.mv-projbar__t { display: flex; align-items: center; gap: 12px; padding: 0 4px 12px; }
.mv-projbar__t b { display: block; font-size: 17px; font-weight: 500; letter-spacing: -.2px; }
.mv-projbar__t small { color: var(--ink-muted); font-size: 12.5px; }
.mv-projbar__t .mv-proj__ico { width: 40px; height: 40px; border-radius: 12px; }
.mv-projbar__st { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 99px; background: var(--mint-tint); color: var(--mint-ink); font-size: 12.5px; font-weight: 500; }
.mv-abas { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; border-top: 1px solid var(--line); padding-top: 4px; }
.mv-aba { display: inline-flex; align-items: center; gap: 7px; height: 46px; padding: 0 14px; font-size: 13.5px; color: var(--ink-muted); white-space: nowrap; border-bottom: 2.5px solid transparent; }
.mv-aba:hover { color: var(--ink); }
.mv-aba.is-on { color: var(--ink); font-weight: 500; border-bottom-color: var(--purple); }
.mv-aba b { font: 500 10.5px/1 var(--font-mono); background: var(--orange-soft); color: var(--orange-ink); padding: 3px 6px; border-radius: 99px; }
.mv-sub { display: flex; gap: 6px; padding: 10px 2px 14px; flex-wrap: wrap; }
.mv-sub a { height: 34px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 99px; font-size: 13px; color: var(--ink-muted); background: var(--surface-sunken); }
.mv-sub a:hover { color: var(--ink); }
.mv-sub a.is-on { background: var(--ink); color: #fff; }
.mv-crumbs a { color: var(--ink-muted); } .mv-crumbs a:hover { color: var(--ink); text-decoration: underline; }
.mv-search { width: 220px; }

/* pista de clique: seta nas linhas clicáveis */
button.mv-li, a.mv-li { padding-right: 38px; position: relative; }
button.mv-li::after, a.mv-li::after { content: "›"; position: absolute; right: 14px; top: 50%; transform: translateY(-52%); font-size: 20px; color: var(--ink-faint); transition: transform .15s, color .15s; }
button.mv-li:hover::after, a.mv-li:hover::after { color: var(--purple); transform: translate(3px, -52%); }
.mv-table tr.is-click td:last-child { position: relative; padding-right: 30px; }
.mv-table tr.is-click td:last-child::after { content: "›"; position: absolute; right: 10px; top: 50%; transform: translateY(-52%); font-size: 18px; color: var(--ink-faint); }
.mv-table tr.is-click:hover td:last-child::after { color: var(--purple); }

/* criação guiada */
.mv-criar-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.mv-criar-it { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px; border-radius: 18px; background: var(--surface-sunken); text-align: left; transition: background .15s, box-shadow .15s; }
.mv-criar-it:hover { background: var(--purple-tint); box-shadow: inset 0 0 0 1.5px var(--purple-300); }
.mv-criar-it .bs-i { color: var(--purple); margin-bottom: 6px; }
.mv-criar-it b { font-weight: 500; font-size: 14.5px; }
.mv-criar-it small { color: var(--ink-muted); font-size: 12px; }
.mv-steps { display: flex; gap: 6px; font-size: 12px; }
.mv-steps span { flex: 1; padding: 8px 10px; border-radius: 10px; background: var(--surface-sunken); color: var(--ink-faint); }
.mv-steps span.is-on { background: var(--purple-tint); color: var(--purple-ink); font-weight: 500; }
.mv-drop { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 20px; border-radius: 16px; border: 1.5px dashed var(--line-strong); color: var(--ink-muted); font-size: 13px; text-align: center; }
.mv-field__l { color: var(--ink); font-weight: 500; font-size: 13px; }
.mv-modal { width: min(600px, calc(100vw - 24px)); }
.bs-btn--ink { font-weight: 500; }
.mv-atalhos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px) { .mv-atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mv-atalho { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 18px; border-radius: 22px; background: var(--surface-raised); text-align: left; box-shadow: 0 1px 0 var(--line); transition: box-shadow .15s, transform .15s; }
.mv-atalho:hover { box-shadow: 0 0 0 2px var(--purple-300); transform: translateY(-1px); }
.mv-atalho__i { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--purple-tint); color: var(--purple); margin-bottom: 10px; }
.mv-atalho b { font-size: 15px; font-weight: 500; }
.mv-atalho small { font-size: 12.5px; color: var(--ink-muted); }
.mv-link-claro { display: inline-block; margin-top: 12px; color: #fff; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; opacity: .85; }
.mv-projcard { display: flex; flex-direction: column; gap: 6px; min-height: 230px; }
.mv-projcard b { font-size: 22px; font-weight: 500; letter-spacing: -.4px; }
.mv-projcard small { color: rgba(255,255,255,.78); font-size: 13px; }
.mv-projcard__bar { display: flex; flex-direction: column; gap: 6px; margin: 8px 0 6px; font-size: 12.5px; color: rgba(255,255,255,.85); }
.mv-projcard__bar .mv-bar { background: rgba(255,255,255,.2); }
.mv-projcard .bs-btn { align-self: flex-start; }
/* entrada sem opacidade (não fica esmaecida se a animação pausar) */
@keyframes mv-in { from { transform: translateY(4px); } to { transform: none; } }
@keyframes mv-fade { from { transform: scale(.995); } }
/* abas do projeto cabem em 1280px+ */
.mv-aba { padding: 0 11px; gap: 6px; font-size: 13.5px; }
.mv-aba .bs-i { display: none; }
/* dentro do projeto o caminho já está na barra: sem eyebrow repetido */
.mv-projbar + .mv-page .mv-head .mv-eyebrow { display: none; }
.mv-projbar + .mv-page .mv-head h1 { font-size: 28px; }
body[data-rota="copiloto"] .mv-cop { display: none; }
