:root {
    --mv-page: #f4f1e8;
    --mv-surface: #fffdf8;
    --mv-surface-2: #f0ece1;
    --mv-text: #0e2b38;
    --mv-muted: #68747a;
    --mv-border: rgba(14,43,56,.14);
    --mv-primary: #0a5f7a;
    --mv-primary-2: #073f53;
    --mv-gold: #b98a39;
    --mv-danger: #a93e3e;
    --mv-success: #2e7d57;
    --mv-warning: #b36d17;
    --mv-shadow: 0 18px 50px rgba(9, 32, 43, .10);
}

html[data-theme="dark"] {
    --mv-page: #09131D;
    --mv-surface: #102536;
    --mv-surface-2: #17354A;
    --mv-text: #F8F6F0;
    --mv-muted: #ABB8C4;
    --mv-border: rgba(248,246,240,.12);
    --mv-primary: #2f8fb3;
    --mv-primary-2: #1b6f90;
    --mv-gold: #d2a95d;
    --mv-danger: #df6a6a;
    --mv-success: #57b982;
    --mv-warning: #f0a24d;
    --mv-shadow: 0 18px 55px rgba(0,0,0,.28);
}

body { background: var(--mv-page); color: var(--mv-text); }
.mv-page { max-width: 1600px; margin: 0 auto; padding: 30px clamp(18px, 3vw, 42px) 60px; }
.mv-hero { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:24px; }
.mv-eyebrow,.mv-card header span,.mv-jobs-header>div>span { display:block; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:800; color:var(--mv-gold); }
.mv-hero h1 { margin:.35rem 0 .55rem; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.05; }
.mv-hero p,.mv-jobs-header p,.mv-control-note { margin:0; color:var(--mv-muted); max-width:850px; line-height:1.6; }
.mv-hero-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.mv-state { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border-radius:999px; border:1px solid var(--mv-border); background:var(--mv-surface); font-size:.78rem; font-weight:800; white-space:nowrap; }
.mv-state::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--mv-muted); box-shadow:0 0 0 4px rgba(120,130,136,.12); }
.mv-state.online::before,.mv-state.success::before { background:var(--mv-success); }
.mv-state.warning::before { background:var(--mv-warning); }
.mv-state.danger::before { background:var(--mv-danger); }
.mv-btn { appearance:none; border:0; border-radius:11px; padding:10px 14px; font:inherit; font-weight:800; cursor:pointer; transition:.18s ease; }
.mv-btn:hover { transform:translateY(-1px); }
.mv-btn:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.mv-btn.primary { background:var(--mv-primary); color:#fff; }
.mv-btn.secondary { background:var(--mv-surface-2); color:var(--mv-text); border:1px solid var(--mv-border); }
.mv-btn.ghost { background:transparent; color:var(--mv-text); border:1px solid var(--mv-border); }
.mv-btn.danger { background:var(--mv-danger); color:#fff; }
.mv-alert { display:flex; gap:10px; padding:14px 16px; border-radius:14px; margin:0 0 18px; border:1px solid color-mix(in srgb, var(--mv-warning) 45%, transparent); background:color-mix(in srgb, var(--mv-warning) 11%, var(--mv-surface)); }
.mv-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.mv-kpis article,.mv-card,.mv-progress-card { background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:18px; box-shadow:var(--mv-shadow); }
.mv-kpis article { padding:16px; min-width:0; }
.mv-kpis span { color:var(--mv-muted); font-size:.79rem; font-weight:700; }
.mv-kpis strong { display:block; margin:.32rem 0 .2rem; font-size:1.7rem; }
.mv-kpis small { color:var(--mv-muted); font-size:.74rem; }
.mv-progress-card { padding:16px 18px; margin-bottom:16px; }
.mv-progress-top { display:flex; justify-content:space-between; gap:14px; align-items:end; }
.mv-progress-top>div:first-child span { color:var(--mv-muted); font-size:.78rem; }
.mv-progress-top strong { display:block; font-size:1.45rem; margin-top:3px; }
.mv-progress-meta { display:flex; gap:15px; color:var(--mv-muted); font-size:.76rem; flex-wrap:wrap; justify-content:flex-end; }
.mv-progress-track { height:10px; margin-top:12px; background:var(--mv-surface-2); border-radius:999px; overflow:hidden; }
.mv-progress-track span { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--mv-primary),var(--mv-gold)); transition:width .35s ease; }
.mv-grid-top { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:16px; margin-bottom:16px; }
.mv-card { padding:19px; }
.mv-card>header { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:16px; }
.mv-card h2 { margin:.25rem 0 0; font-size:1.15rem; }
.mv-worker-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.mv-worker-data div { background:var(--mv-surface-2); border:1px solid var(--mv-border); border-radius:12px; padding:11px; min-width:0; }
.mv-worker-data dt { color:var(--mv-muted); font-size:.72rem; font-weight:800; }
.mv-worker-data dd { margin:4px 0 0; font-weight:750; overflow-wrap:anywhere; }
.mv-control-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mv-control-note { margin-top:13px; font-size:.76rem; }
.mv-action-status { min-height:1.2em; margin-top:10px; font-size:.78rem; font-weight:750; color:var(--mv-muted); }
.mv-jobs-header { align-items:center !important; }
.mv-selection-count { display:flex; flex-direction:column; align-items:flex-end; background:var(--mv-surface-2); border-radius:12px; padding:8px 12px; min-width:100px; }
.mv-selection-count strong { font-size:1.2rem; }
.mv-selection-count span { color:var(--mv-muted); font-size:.7rem; }
.mv-filters { display:grid; grid-template-columns:minmax(200px,1.4fr) minmax(160px,.7fr) minmax(160px,.7fr) auto; gap:10px; align-items:end; margin-bottom:12px; }
.mv-filters label { display:flex; flex-direction:column; gap:6px; color:var(--mv-muted); font-size:.73rem; font-weight:800; }
.mv-filters input,.mv-filters select,.mv-batchbar select { width:100%; min-height:42px; border:1px solid var(--mv-border); border-radius:10px; background:var(--mv-surface-2); color:var(--mv-text); padding:8px 10px; }
.mv-batchbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:12px; padding:10px; border:1px solid var(--mv-border); border-radius:13px; background:var(--mv-surface-2); }
.mv-batchbar select { width:auto; min-width:165px; }
.mv-batch-separator { width:1px; align-self:stretch; background:var(--mv-border); margin:0 2px; }
.mv-table-wrap { overflow:auto; border:1px solid var(--mv-border); border-radius:14px; }
.mv-table { width:100%; border-collapse:separate; border-spacing:0; min-width:1180px; }
.mv-table th,.mv-table td { padding:12px 10px; border-bottom:1px solid var(--mv-border); text-align:left; vertical-align:middle; font-size:.78rem; }
.mv-table th { position:sticky; top:0; z-index:2; background:var(--mv-surface-2); color:var(--mv-muted); text-transform:uppercase; letter-spacing:.05em; font-size:.66rem; }
.mv-table tbody tr:last-child td { border-bottom:0; }
.mv-table tbody tr:hover { background:color-mix(in srgb,var(--mv-primary) 5%,transparent); }
.mv-check { width:42px; text-align:center !important; }
.mv-video-title { font-weight:850; max-width:300px; }
.mv-video-meta,.mv-cell-muted { color:var(--mv-muted); font-size:.7rem; margin-top:3px; }
.mv-badge { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:.66rem; font-weight:850; background:var(--mv-surface-2); border:1px solid var(--mv-border); white-space:nowrap; }
.mv-badge.success { color:var(--mv-success); }
.mv-badge.warning { color:var(--mv-warning); }
.mv-badge.danger { color:var(--mv-danger); }
.mv-mini-progress { min-width:105px; }
.mv-mini-progress-track { height:6px; border-radius:999px; background:var(--mv-surface-2); overflow:hidden; margin-bottom:4px; }
.mv-mini-progress-track span { display:block; height:100%; background:var(--mv-primary); }
.mv-actions-inline { display:flex; gap:5px; flex-wrap:wrap; }
.mv-link { color:var(--mv-primary); font-weight:800; text-decoration:none; }
.mv-empty { text-align:center !important; color:var(--mv-muted); padding:30px !important; }

@media (max-width:1180px) {
    .mv-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .mv-grid-top { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .mv-page { padding:20px 12px 42px; }
    .mv-hero { flex-direction:column; }
    .mv-hero-actions { justify-content:flex-start; width:100%; }
    .mv-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mv-progress-top { align-items:flex-start; flex-direction:column; }
    .mv-progress-meta { justify-content:flex-start; }
    .mv-worker-data { grid-template-columns:1fr; }
    .mv-control-grid { grid-template-columns:1fr; }
    .mv-filters { grid-template-columns:1fr; }
    .mv-filters .mv-btn { width:100%; }
    .mv-batchbar { align-items:stretch; }
    .mv-batchbar .mv-btn,.mv-batchbar select { flex:1 1 145px; }
    .mv-batch-separator { display:none; }
    .mv-jobs-header { align-items:flex-start !important; flex-direction:column; }
    .mv-selection-count { align-items:flex-start; }
}

.mv-daily-card { margin-bottom:16px; }
.mv-daily-card>header { align-items:center; }
.mv-daily-card>header small { color:var(--mv-muted); font-size:.76rem; font-weight:750; }
.mv-daily-bars { display:grid; gap:9px; }
.mv-daily-item { display:grid; grid-template-columns:110px minmax(120px,1fr) 110px; gap:12px; align-items:center; }
.mv-daily-label { display:flex; flex-direction:column; gap:2px; }
.mv-daily-label strong { font-size:.78rem; }
.mv-daily-label span,.mv-daily-volume { color:var(--mv-muted); font-size:.7rem; }
.mv-daily-volume { text-align:right; font-weight:800; }
.mv-daily-track { height:8px; background:var(--mv-surface-2); border-radius:999px; overflow:hidden; }
.mv-daily-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--mv-primary),var(--mv-gold)); }
.mv-batchbar input[type="date"],.mv-batchbar input[type="text"] { min-height:42px; border:1px solid var(--mv-border); border-radius:10px; background:var(--mv-surface-2); color:var(--mv-text); padding:8px 10px; font:inherit; }
.mv-batchbar input[type="text"] { min-width:210px; }

@media (max-width:760px) {
    .mv-daily-item { grid-template-columns:86px minmax(80px,1fr) 82px; gap:8px; }
    .mv-batchbar input[type="date"],.mv-batchbar input[type="text"] { flex:1 1 145px; min-width:0; }
    .mv-table-wrap { overflow:visible; border:0; }
    .mv-table { min-width:0; display:block; }
    .mv-table thead { display:none; }
    .mv-table tbody { display:grid; gap:12px; }
    .mv-table tbody tr { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--mv-border); border-radius:14px; overflow:hidden; background:var(--mv-surface-2); }
    .mv-table td { display:flex; flex-direction:column; gap:4px; min-width:0; padding:11px 12px; border-bottom:1px solid var(--mv-border); }
    .mv-table td::before { content:attr(data-label); color:var(--mv-muted); font-size:.62rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
    .mv-table td.mv-check { grid-column:1 / -1; width:auto; flex-direction:row; align-items:center; justify-content:space-between; text-align:left !important; }
    .mv-table td.mv-check::before { content:"Selecionar vídeo"; }
    .mv-table td:nth-last-child(-n+1) { border-bottom:0; }
    .mv-table td[data-label="Vídeo"],.mv-table td[data-label="Destino"],.mv-table td[data-label="Status"],.mv-table td[data-label="Ações"] { grid-column:1 / -1; }
    .mv-actions-inline { gap:12px; }
    .mv-video-title { max-width:none; }
}

@media (max-width:440px) {
    .mv-daily-item { grid-template-columns:1fr; gap:5px; padding:8px 0; border-bottom:1px solid var(--mv-border); }
    .mv-daily-item:last-child { border-bottom:0; }
    .mv-daily-volume { text-align:left; }
    .mv-table tbody tr { grid-template-columns:1fr; }
    .mv-table td { grid-column:1 / -1 !important; }
}


/* MV5 — capacidade do destino */
.mv-capacity-card {
    margin: 0 0 18px;
    padding: 18px 22px;
    border: 1px solid rgba(112, 181, 224, .22);
    border-radius: 22px;
    background: rgba(16, 37, 54, .82);
    display: grid;
    gap: 14px;
}
.mv-capacity-card span { display:block; color: var(--mv-muted, #abb8c4); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.mv-capacity-card strong { display:block; margin-top:4px; color:#f8f6f0; font-size:1.12rem; }
.mv-capacity-card small { display:block; margin-top:5px; color:#abb8c4; line-height:1.45; }
.mv-capacity-meter { height:10px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.mv-capacity-meter span { width:0; height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#28a9e0,#67c8f3); transition:width .25s ease; }
.mv-capacity-card.warning { border-color:rgba(255,190,92,.52); }
.mv-capacity-card.warning .mv-capacity-meter span { background:linear-gradient(90deg,#e3a93f,#ffcb6b); }
.mv-capacity-card.danger { border-color:rgba(255,102,102,.58); background:rgba(82,25,31,.28); }
.mv-capacity-card.danger .mv-capacity-meter span { background:linear-gradient(90deg,#d94e5d,#ff7f88); }
@media (max-width: 720px) {
    .mv-capacity-card { padding:16px; border-radius:18px; }
}

/* MV7 — ritmo operacional de curto prazo */
.mv-rate-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 16px;
}
.mv-rate-kpis > div {
    padding: 14px 16px;
    border: 1px solid var(--mv-border, rgba(120,160,190,.22));
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}
.mv-rate-kpis span, .mv-rate-kpis small { display:block; color: var(--mv-muted, #a9bfd0); }
.mv-rate-kpis strong { display:block; margin:4px 0; font-size:1.35rem; }
@media (max-width: 720px) {
    .mv-rate-kpis { grid-template-columns: 1fr; }
}


/* MV8 — feedback visual de ações administrativas */
.mv-action-status {
    display:none;
    margin-top:12px;
    padding:11px 13px;
    min-height:0;
    border:1px solid var(--mv-border);
    border-radius:12px;
    background:var(--mv-surface-2);
    color:var(--mv-text);
    font-size:.82rem;
    font-weight:750;
    line-height:1.4;
}
.mv-action-status.show { display:block; }
.mv-action-status.loading { border-color:rgba(40,169,224,.46); }
.mv-action-status.success { border-color:rgba(69,184,123,.5); color:var(--mv-success); }
.mv-action-status.warning { border-color:rgba(227,169,63,.58); color:var(--mv-warning); }
.mv-action-status.error { border-color:rgba(217,78,93,.58); color:#ff8e98; background:rgba(103,31,39,.20); }
.mv-feedback-toast {
    position:fixed;
    z-index:99999;
    right:22px;
    bottom:22px;
    max-width:min(430px,calc(100vw - 32px));
    padding:13px 16px;
    border:1px solid var(--mv-border);
    border-radius:14px;
    background:var(--mv-surface);
    color:var(--mv-text);
    box-shadow:0 18px 46px rgba(0,0,0,.25);
    font-weight:800;
    line-height:1.4;
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
}
.mv-feedback-toast.show { opacity:1; transform:translateY(0); }
.mv-feedback-toast.loading { border-color:rgba(40,169,224,.55); }
.mv-feedback-toast.success { border-color:rgba(69,184,123,.55); }
.mv-feedback-toast.warning { border-color:rgba(227,169,63,.62); }
.mv-feedback-toast.error { border-color:rgba(217,78,93,.7); }
.mv-btn[aria-busy="true"] { cursor:wait; opacity:.72; }
@media (max-width:720px) {
    .mv-feedback-toast { right:16px; bottom:16px; left:16px; max-width:none; }
}
