:root{
  --bg:#f3f6fb;--surface:#fff;--surface-2:#f8fafc;--ink:#152033;--muted:#6c788b;--line:#dde4ee;
  --navy:#0b1220;--navy-2:#111c2e;--primary:#2563eb;--primary-2:#1d4ed8;--green:#0f9f6e;--orange:#e67e22;
  --red:#d64545;--violet:#7c3aed;--cyan:#0891b2;--shadow:0 12px 30px rgba(15,23,42,.08);--radius:14px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45}
button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:50;height:72px;background:rgba(11,18,32,.98);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 8px 25px rgba(2,6,23,.18)}
.topbar-brand,.topbar-actions{display:flex;align-items:center;gap:12px}.brand-mark{width:62px;height:62px;border-radius:14px;background:linear-gradient(145deg,#2f6df6,#1645bd);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 22px rgba(37,99,235,.25)}.brand-mark.small{width:40px;height:40px;border-radius:9px;font-size:12px}.brand-title{font-weight:750;font-size:15px}.brand-subtitle{font-size:11px;color:#a9b5c7;letter-spacing:.08em;text-transform:uppercase;margin-top:1px}
.page-shell{max-width:1680px;margin:0 auto;padding:24px 28px 38px}.hero-card{background:linear-gradient(125deg,#0b1220 0%,#13233a 55%,#17345d 100%);color:#fff;border-radius:16px;padding:28px 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;box-shadow:0 18px 36px rgba(11,18,32,.18);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;right:-90px;top:-140px;width:350px;height:350px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018)}.hero-copy{position:relative;z-index:1}.eyebrow,.section-kicker{display:block;font-size:10px;letter-spacing:.17em;font-weight:800;color:#8eb3ff;text-transform:uppercase}.hero-card h1{margin:7px 0 8px;font-size:28px;line-height:1.18;letter-spacing:-.02em}.hero-card p{margin:0;color:#bdc9da;max-width:900px}.hero-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.badge{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);padding:7px 10px;border-radius:8px;color:#d8e3f1;font-size:12px}.badge.positive{color:#9ef0d2;background:rgba(15,159,110,.12);border-color:rgba(15,159,110,.25)}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;transition:.18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 7px 16px rgba(37,99,235,.22)}.btn-primary:hover{background:var(--primary-2)}.btn-ghost{background:transparent;color:inherit;border-color:rgba(127,145,168,.25)}.topbar .btn-ghost{color:#d7e0ed;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}.topbar .btn-ghost:hover{background:rgba(255,255,255,.08)}.btn-icon{width:38px;height:38px;padding:0;background:transparent;border-color:rgba(127,145,168,.25)}.topbar .btn-icon{color:#d7e0ed;border-color:rgba(255,255,255,.12)}.btn-small{font-size:12px;padding:7px 10px}.btn-block{width:100%;margin-top:14px}
.filters-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(15,23,42,.035)}.filters-card{margin-top:18px;padding:18px 20px}.section-head,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head.compact{margin-bottom:14px}.section-head h2,.panel-head h3{margin:3px 0 0;letter-spacing:-.01em}.section-head h2{font-size:17px}.panel-head h3{font-size:16px}.section-kicker{color:#66809e}.filter-actions{display:flex;align-items:center;gap:10px}.active-filter-count{font-size:12px;color:var(--muted)}.filter-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.4fr 1fr;gap:12px}.field label{display:block;font-size:11px;font-weight:800;color:#667489;margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em}.field input,.field select,.multi-select-button{width:100%;height:42px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;color:var(--ink);padding:0 11px;outline:none}.field input:focus,.field select:focus,.multi-select-button:focus{border-color:#8bb1ff;box-shadow:0 0 0 3px rgba(37,99,235,.09)}.search-input{display:flex;align-items:center;border:1px solid #d7dfeb;border-radius:9px;background:#fff;height:42px;padding:0 10px;gap:7px}.search-input input{border:0!important;box-shadow:none!important;padding:0!important;height:100%;min-width:0}.search-input span{color:#8693a5}.search-input.compact{height:36px;width:250px}.field select,.table-tools select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7b8798 50%),linear-gradient(135deg,#7b8798 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}
.multi-select{position:relative}.multi-select-button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.multi-select-button .ms-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-button .ms-count{font-size:10px;background:#eef4ff;color:#2458b8;padding:2px 6px;border-radius:6px;font-weight:800}.ms-popover{position:absolute;z-index:70;top:47px;left:0;min-width:100%;width:300px;background:#fff;border:1px solid #dbe3ee;border-radius:12px;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:10px;display:none}.multi-select.open .ms-popover{display:block}.ms-search{height:34px!important;margin-bottom:8px}.ms-actions{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #edf1f6;padding:0 1px 8px;margin-bottom:6px}.ms-actions button{background:none;border:0;color:#3569c9;font-size:11px;font-weight:700;padding:2px}.ms-options{max-height:220px;overflow:auto}.ms-option{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:7px}.ms-option:hover{background:#f4f7fb}.ms-option input{width:15px;height:15px;margin:0}.ms-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 16px;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.035)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb}.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#788597;font-weight:800}.kpi-value{font-size:22px;font-weight:800;letter-spacing:-.025em;margin-top:6px}.kpi-foot{font-size:11px;color:#7e8b9e;margin-top:5px}.accent-violet:before{background:var(--violet)}.accent-green:before{background:var(--green)}.accent-orange:before{background:var(--orange)}.accent-cyan:before{background:var(--cyan)}.accent-red:before{background:var(--red)}
.insight-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.insight{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 13px;display:flex;gap:10px;align-items:flex-start}.insight-icon{width:28px;height:28px;border-radius:7px;background:#eef4ff;color:#2f65c7;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.insight strong{display:block;font-size:12px}.insight span{display:block;color:#7b8798;font-size:11px;margin-top:2px}
.dashboard-grid{display:grid;gap:14px;margin-top:14px}.main-grid{grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr)}.secondary-grid{grid-template-columns:1.25fr 1fr 1fr}.panel{padding:17px;min-width:0}.panel-wide{min-width:0}.panel-note{font-size:11px;color:#8592a4;background:#f3f6fa;border:1px solid #e4eaf1;border-radius:7px;padding:5px 7px}.legend{display:flex;gap:13px;color:#758296;font-size:11px}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:2px;display:inline-block;background:#2563eb}.legend-dot.purchases{background:#7c3aed}.legend-dot.normal{background:#0f9f6e}.legend-dot.offer{background:#e67e22}.legend-dot.cmv{background:#f59e0b}.chart-box{height:285px;margin-top:12px;overflow:hidden}.chart-box.tall{height:315px}.chart-box svg{width:100%;height:100%;display:block}.axis-label{fill:#8a96a8;font-size:10px}.grid-line{stroke:#e8edf4;stroke-width:1}.bar-label{fill:#5e6b7d;font-size:10px}.bar-value{fill:#334155;font-size:10px;font-weight:700}
.donut-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:315px}.donut{width:190px;height:190px;border-radius:50%;background:conic-gradient(#e67e22 0deg,#e67e22 0deg,#2563eb 0deg 360deg);display:grid;place-items:center;position:relative}.donut:before{content:"";width:126px;height:126px;background:#fff;border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1px #eef2f7}.donut-center{z-index:1;text-align:center}.donut-center strong{display:block;font-size:25px}.donut-center span{font-size:11px;color:#7f8b9b}.donut-legend{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.donut-item{border:1px solid #e5eaf1;border-radius:9px;padding:10px}.donut-item span{display:flex;align-items:center;gap:6px;color:#7a8799;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.donut-item strong{font-size:14px;display:block;margin-top:3px}
.hbar-row{display:grid;grid-template-columns:minmax(100px,1.7fr) 2.2fr auto;gap:9px;align-items:center;margin:9px 0}.hbar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#46546a}.hbar-track{height:9px;background:#edf2f7;border-radius:4px;overflow:hidden}.hbar-fill{height:100%;background:linear-gradient(90deg,#2c65dd,#5d8cf0);border-radius:4px}.hbar-value{font-size:10px;font-weight:700;color:#5a687b;min-width:72px;text-align:right}.risk-list{margin-top:10px;max-height:285px;overflow:auto}.risk-empty{display:grid;place-items:center;height:230px;text-align:center;color:#8190a3}.risk-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 2px;border-bottom:1px solid #edf1f5}.risk-row:last-child{border-bottom:0}.risk-row strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:245px}.risk-row small{color:#8592a4}.risk-loss{text-align:right}.risk-loss strong{color:#c63535}.risk-loss small{display:block;color:#9a6a6a}.risk-badge{font-size:9px;background:#fff0f0;color:#bb3333;border:1px solid #ffd7d7;padding:2px 5px;border-radius:5px;margin-left:5px}
.table-panel{margin-top:14px;padding:0;overflow:hidden}.table-panel-head{padding:17px 18px 13px}.table-tools{display:flex;align-items:center;gap:8px}.table-tools select{height:36px;border:1px solid #d7dfeb;border-radius:8px;background-color:#fff;padding:0 30px 0 10px;color:#4f5c6e}.tabs{display:flex;gap:3px;padding:0 18px;border-bottom:1px solid #e4e9f0;background:#fbfcfe}.tab{border:0;background:transparent;color:#667489;padding:11px 12px;font-size:12px;font-weight:750;border-bottom:2px solid transparent}.tab.active{color:#245bc0;border-bottom-color:#245bc0}.table-wrap{overflow:auto;max-height:610px}.table-wrap table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.table-wrap thead{position:sticky;top:0;z-index:3}.table-wrap th{background:#f4f7fb;color:#5e6b7d;font-size:10px;text-transform:uppercase;letter-spacing:.055em;text-align:left;padding:10px 11px;border-bottom:1px solid #dce4ee;white-space:nowrap;cursor:pointer}.table-wrap td{padding:10px 11px;border-bottom:1px solid #edf1f5;font-size:11px;white-space:nowrap}.table-wrap tbody tr:hover{background:#f8fbff}.table-wrap td.num,.table-wrap th.num{text-align:right}.table-wrap td.desc{max-width:330px;overflow:hidden;text-overflow:ellipsis}.value-positive{color:#087a54;font-weight:750}.value-negative{color:#c23939;font-weight:750}.margin-pill{display:inline-block;padding:2px 6px;border-radius:5px;background:#ecf8f3;color:#0b8059;font-weight:750}.margin-pill.negative{background:#fff0f0;color:#bd3838}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:11px 17px;border-top:1px solid #e7ecf2;background:#fbfcfe;color:#758195;font-size:11px}.pagination{display:flex;gap:4px}.page-btn{min-width:30px;height:28px;border:1px solid #dbe2eb;background:#fff;border-radius:7px;color:#536176;font-size:11px}.page-btn.active{background:#255fca;color:#fff;border-color:#255fca}.page-btn:disabled{opacity:.45;cursor:not-allowed}
.page-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:#7b8798;font-size:10px;padding:18px 4px 0}.page-footer div:first-child{display:flex;gap:8px;flex-wrap:wrap}.page-footer strong{color:#4e5b6e}
.modal{border:0;padding:0;background:transparent;max-width:600px;width:calc(100% - 30px)}.modal::backdrop{background:rgba(7,12,22,.62);backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between}.modal-head h3{margin:3px 0 0}.muted{color:#778598}.drop-zone{height:160px;border:1.5px dashed #b7c5d8;border-radius:12px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-top:16px;color:#526276;transition:.2s}.drop-zone.dragging{background:#eef5ff;border-color:#5b8bea}.drop-zone .drop-icon{font-size:28px;color:#3770da}.drop-zone strong{color:#334155}.drop-zone span:last-child{font-size:11px;color:#8592a5}.upload-preview{margin-top:12px;border:1px solid #dfe6ef;border-radius:10px;padding:12px;background:#fbfcfe;font-size:12px}.upload-preview strong{display:block}.upload-preview .preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.preview-stat{background:#fff;border:1px solid #e7ecf2;border-radius:8px;padding:8px}.preview-stat span{display:block;font-size:9px;text-transform:uppercase;color:#8693a4;font-weight:800}.preview-stat strong{margin-top:2px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.toast-root{position:fixed;right:18px;top:84px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{background:#101a2a;color:#fff;border-radius:10px;padding:11px 14px;box-shadow:0 12px 32px rgba(0,0,0,.22);min-width:260px;max-width:380px;font-size:12px;border-left:4px solid #2f6fec}.toast.success{border-left-color:#0f9f6e}.toast.error{border-left-color:#d64545}
.alert{padding:10px 12px;border-radius:9px;font-size:12px}.alert-danger{background:#fff0f0;border:1px solid #ffd2d2;color:#b93333}.login-body{min-height:100vh;background:radial-gradient(circle at 18% 20%,#17365d 0,#0b1220 38%,#070c15 100%);display:grid;place-items:center;padding:30px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.35)}.login-brand{color:#fff;padding:54px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(145deg,rgba(38,86,166,.16),rgba(255,255,255,.015));min-height:500px}.login-brand h1{font-size:39px;margin:12px 0 9px;letter-spacing:-.03em}.login-brand p{max-width:500px;color:#b9c6d8;font-size:15px}.login-card{background:#fff;padding:50px 42px;display:flex;flex-direction:column;justify-content:center}.login-card-head{display:flex;align-items:center;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#718096;font-weight:800}.status-dot{width:7px;height:7px;border-radius:50%;background:#0f9f6e;box-shadow:0 0 0 4px #e3f8f0}.login-card h2{margin:10px 0 2px;font-size:24px}.login-card label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;color:#667489;margin:18px 0 6px}.password-wrap{display:flex;border:1px solid #d7dfeb;border-radius:9px;overflow:hidden}.password-wrap input{border:0;outline:0;flex:1;height:44px;padding:0 12px;min-width:0}.password-wrap .icon-btn{border:0;background:#f7f9fc;color:#778498;width:44px}.login-foot{font-size:10px;color:#9aa5b4;text-align:center;margin-top:18px}
body.presentation .topbar{display:none}body.presentation .page-shell{max-width:none;padding:18px}body.presentation .filters-card{display:none}body.presentation .hero-card{padding:19px 23px}body.presentation .table-panel{display:none}body.presentation .page-footer{display:none}body.presentation .kpi-card{padding:13px 14px}body.presentation .chart-box{height:300px}
@media(max-width:1350px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.secondary-grid{grid-template-columns:1fr 1fr}.secondary-grid .panel:last-child{grid-column:1/-1}.risk-list{max-height:240px}.filter-grid{grid-template-columns:repeat(3,1fr)}.field.grow{grid-column:span 2}}
@media(max-width:980px){.topbar{padding:0 16px}.topbar-actions .btn span{display:none}.page-shell{padding:18px 15px 28px}.hero-card{align-items:flex-start;flex-direction:column}.hero-badges{justify-content:flex-start}.main-grid,.secondary-grid{grid-template-columns:1fr}.secondary-grid .panel:last-child{grid-column:auto}.insight-strip{grid-template-columns:1fr 1fr}.filter-grid{grid-template-columns:1fr 1fr}.field.grow{grid-column:auto}.kpi-grid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}}
@media(max-width:640px){.topbar{height:64px}.topbar-brand>div:last-child{display:none}.topbar-actions{gap:6px}.topbar .btn{padding:8px 9px}.page-shell{padding:12px 10px 22px}.hero-card{border-radius:12px;padding:20px 18px}.hero-card h1{font-size:22px}.filters-card{padding:15px}.filter-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr}.insight-strip{grid-template-columns:1fr}.panel{padding:14px}.table-panel{padding:0}.table-panel-head{align-items:flex-start;flex-direction:column}.table-tools{width:100%}.search-input.compact{width:100%}.page-footer{flex-direction:column}.login-body{padding:14px}.login-card{padding:34px 24px}}
@media print{body{background:#fff}.topbar,.filters-card,.table-panel,.page-footer,.toast-root{display:none!important}.page-shell{max-width:none;padding:0}.hero-card{box-shadow:none;border-radius:0;padding:18px 20px;background:#0b1220!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi-card,.panel,.insight{box-shadow:none;break-inside:avoid}.dashboard-grid{break-inside:avoid}.chart-box{height:260px}.main-grid{grid-template-columns:2fr 1fr}.secondary-grid{grid-template-columns:1fr 1fr 1fr}.insight-strip{grid-template-columns:repeat(4,1fr)} }

/* ===== v2: evolução em linhas + inteligência de sortimento ===== */
.panel-subtitle{display:block;margin-top:4px;color:#8793a5;font-size:10px}.legend-dot.margin{background:#0f9f6e;border-radius:50%}.line-chart-box{min-height:315px}.margin-axis{fill:#0b8059}.axis-title{fill:#69778b;font-size:10px;font-weight:700}.matrix-zone{fill:#668078;font-size:9px;font-weight:800;letter-spacing:.05em}.matrix-zone.danger{fill:#b95b5b}.matrix-zone.warning{fill:#a66b18}
.mix-panel{margin-top:14px;padding:18px}.mix-panel-head{align-items:flex-start}.panel-description{max-width:900px;margin:6px 0 0;color:#778598;font-size:11px}.mix-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.mix-kpi{border:1px solid #e2e8f0;border-radius:10px;padding:13px 14px;background:#fbfcfe;position:relative;overflow:hidden}.mix-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2563eb}.mix-kpi.warning:before{background:#e67e22}.mix-kpi.danger:before,.mix-kpi.negative:before{background:#d64545}.mix-kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.065em;color:#758397;font-weight:800}.mix-kpi strong{display:block;font-size:21px;line-height:1.15;margin-top:6px;letter-spacing:-.02em}.mix-kpi small{display:block;margin-top:5px;color:#8491a3;font-size:10px}.mix-kpi.negative strong{color:#c73a3a}
.mix-grid{grid-template-columns:minmax(0,1.55fr) minmax(360px,.95fr);margin-top:12px}.mix-subpanel{border:1px solid #e3e9f1;border-radius:11px;background:#fff;padding:14px;min-width:0}.mix-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mix-subhead>div:first-child{min-width:0}.mix-subhead strong{display:block;font-size:12px}.mix-subhead span{display:block;color:#7e8b9d;font-size:10px;margin-top:2px}.mix-legend{display:flex!important;align-items:center;gap:10px;white-space:nowrap}.mix-legend span{display:flex;align-items:center;gap:4px;margin:0!important;font-size:9px!important}.mix-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.mix-dot.healthy{background:#0f9f6e}.mix-dot.attention{background:#e0a11b}.mix-dot.cut{background:#d64545}.mix-matrix{height:330px;margin-top:9px}.mix-matrix svg{width:100%;height:100%;display:block}
.mix-candidate-list{margin-top:8px;max-height:330px;overflow:auto}.mix-candidate{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid #edf1f5}.mix-candidate:last-child{border-bottom:0}.mix-score{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:850;background:#eef4ff;color:#245bc0}.mix-score.cut{background:#fff0f0;color:#c63535}.mix-score.review{background:#fff5e8;color:#bd6817}.mix-score.price{background:#fff3e8;color:#c36a18}.mix-score.attention{background:#fff9e7;color:#9a6b08}.mix-score.healthy{background:#eaf8f2;color:#087a54}.mix-candidate-main{min-width:0}.mix-candidate-main strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-candidate-main span{display:block;font-size:9.5px;color:#7f8c9e;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-candidate-metric{text-align:right;white-space:nowrap}.mix-candidate-metric strong{display:block;font-size:10.5px}.mix-candidate-metric span{display:block;color:#8190a3;font-size:9.5px;margin-top:1px}
.status-pill,.score-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:800;font-size:9.5px;padding:3px 7px;background:#edf2f7;color:#526173}.status-pill.cut,.score-pill.cut{background:#fff0f0;color:#bd3838}.status-pill.review,.score-pill.review{background:#fff5e8;color:#b96114}.status-pill.price,.score-pill.price{background:#fff1e6;color:#c25f0d}.status-pill.attention,.score-pill.attention{background:#fff8df;color:#946a0a}.status-pill.potential,.score-pill.potential{background:#eef4ff;color:#285fbd}.status-pill.healthy,.score-pill.healthy{background:#eaf8f2;color:#0a7b56}.score-pill{min-width:32px;padding-left:5px;padding-right:5px}

@media(max-width:1200px){.mix-grid{grid-template-columns:1fr}.mix-candidate-list{max-height:280px}.mix-kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.mix-panel{padding:14px}.mix-kpi-grid{grid-template-columns:1fr}.mix-subhead{flex-direction:column}.mix-legend{white-space:normal;flex-wrap:wrap}.mix-matrix{height:285px}.mix-candidate{grid-template-columns:36px minmax(0,1fr)}.mix-candidate-metric{grid-column:2;text-align:left}.tabs{overflow-x:auto;white-space:nowrap}}
@media print{.mix-panel{break-inside:avoid}.mix-grid{grid-template-columns:1.5fr 1fr}.mix-kpi-grid{grid-template-columns:repeat(4,1fr)}.mix-matrix{height:270px}.mix-candidate-list{max-height:270px;overflow:hidden}}
.margin-pill.neutral{background:#f1f4f8;color:#738095}

/* ===== v3: sortimento simplificado para decisão executiva ===== */
.mix-grid-v3{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}
.mix-classification-panel,.mix-priority-panel{min-height:390px}
.mix-class-chart{margin-top:12px}
.mix-class-list{display:flex;flex-direction:column;gap:8px}
.mix-class-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(160px,1fr) 78px 150px;gap:12px;align-items:center;padding:9px 10px;border:1px solid #edf1f5;border-radius:9px;background:#fbfcfe}
.mix-class-label{display:flex;align-items:flex-start;gap:9px;min-width:0}.mix-class-label>div{min-width:0}.mix-class-label strong{display:block;font-size:11px;color:#223047}.mix-class-label small{display:block;font-size:9px;color:#8491a3;margin-top:2px;line-height:1.25}
.mix-class-dot{width:9px;height:9px;border-radius:50%;margin-top:3px;flex:0 0 auto}.mix-class-dot.cut{background:#d64545}.mix-class-dot.price{background:#e67e22}.mix-class-dot.review{background:#d66a2c}.mix-class-dot.attention{background:#e0a11b}.mix-class-dot.potential{background:#2563eb}.mix-class-dot.healthy{background:#0f9f6e}
.mix-class-bar{height:9px;background:#e9eef5;border-radius:999px;overflow:hidden}.mix-class-bar>span{display:block;height:100%;border-radius:999px;min-width:0}.mix-class-bar .cut{background:#d64545}.mix-class-bar .price{background:#e67e22}.mix-class-bar .review{background:#d66a2c}.mix-class-bar .attention{background:#e0a11b}.mix-class-bar .potential{background:#2563eb}.mix-class-bar .healthy{background:#0f9f6e}
.mix-class-count{text-align:right}.mix-class-count strong{display:block;font-size:13px;color:#27354a}.mix-class-count span{display:block;font-size:9px;color:#8794a6;margin-top:1px}.mix-class-result{text-align:right;white-space:nowrap}.mix-class-result strong{display:block;font-size:10.5px}.mix-class-result span{display:block;font-size:9px;color:#8794a6;margin-top:1px}
.mix-guidance{margin-top:11px;padding:10px 11px;border:1px solid #dce6f3;background:#f6f9fd;border-radius:8px;color:#68778b;font-size:9.5px;line-height:1.4}.mix-guidance strong{color:#2d3a4d}.mix-guidance b{color:#263a5c}

.mix-priority-list{max-height:350px;overflow:auto;margin-top:9px;padding-right:3px}.mix-priority-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:9px 2px;border-bottom:1px solid #edf1f5}.mix-priority-row:last-child{border-bottom:0}.mix-priority-rank{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#f0f4fa;color:#627087;font-size:10px;font-weight:850}
.mix-priority-main{min-width:0}.mix-priority-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.mix-priority-title strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mix-priority-title .status-pill{flex:0 0 auto}
.mix-priority-bar{height:5px;background:#edf1f5;border-radius:999px;overflow:hidden;margin:6px 0 5px}.mix-priority-bar span{display:block;height:100%;border-radius:999px}.mix-priority-bar .cut{background:#d64545}.mix-priority-bar .price{background:#e67e22}.mix-priority-bar .review{background:#d66a2c}.mix-priority-bar .attention{background:#e0a11b}.mix-priority-bar .potential{background:#2563eb}
.mix-priority-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:9px;color:#7b899c}.mix-priority-meta b{color:#344256}.mix-priority-reason{font-size:9px;color:#8794a6;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.mix-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.mix-action-card{border:1px solid #e2e8f0;border-radius:10px;padding:13px 14px;background:#fff;position:relative;overflow:hidden}.mix-action-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2563eb}.mix-action-card.danger:before{background:#d64545}.mix-action-card.warning:before{background:#e67e22}.mix-action-card.info:before{background:#2563eb}.mix-action-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.mix-action-head span{display:block;text-transform:uppercase;letter-spacing:.055em;color:#8491a4;font-size:8.5px;font-weight:800}.mix-action-head strong{display:block;font-size:12px;margin-top:2px;color:#223047}.mix-action-head>b{font-size:22px;line-height:1;color:#26354b}.mix-action-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.mix-action-metrics span{font-size:8.8px;color:#8290a3}.mix-action-metrics strong{display:block;font-size:10.5px;color:#344256;margin-top:2px}.mix-action-top{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.mix-action-top span{font-size:9px;color:#68778b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-action-top b{color:#30405a}.mix-action-card p{font-size:9px;line-height:1.35;color:#7d8a9c;margin:9px 0 0}

@media(max-width:1250px){.mix-grid-v3{grid-template-columns:1fr}.mix-classification-panel,.mix-priority-panel{min-height:auto}.mix-priority-list{max-height:320px}.mix-action-grid{grid-template-columns:1fr 1fr}.mix-action-card:last-child{grid-column:1/-1}.mix-class-row{grid-template-columns:minmax(180px,1fr) minmax(150px,.9fr) 70px 140px}}
@media(max-width:760px){.mix-class-row{grid-template-columns:minmax(0,1fr) 64px}.mix-class-bar{grid-column:1/-1;grid-row:2}.mix-class-result{grid-column:1/-1;text-align:left;display:flex;gap:8px;align-items:center}.mix-class-result strong,.mix-class-result span{display:inline;margin:0}.mix-action-grid{grid-template-columns:1fr}.mix-action-card:last-child{grid-column:auto}.mix-priority-title{align-items:flex-start;flex-direction:column}.mix-priority-meta{gap:7px 10px}.mix-classification-panel,.mix-priority-panel{min-height:0}}
@media print{.mix-grid-v3{grid-template-columns:1fr 1fr}.mix-action-grid{grid-template-columns:repeat(3,1fr)}.mix-priority-list{max-height:320px;overflow:hidden}.mix-class-row{grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) 65px 120px;padding:6px 8px}.mix-guidance{display:none}}

/* ===== v4: tema executivo dark premium ===== */
.theme-toggle{min-width:118px}.theme-toggle .theme-icon{font-size:15px;line-height:1;width:16px;text-align:center}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07111f;--surface:#0d1828;--surface-2:#111f32;--ink:#eaf2ff;--muted:#8fa0b6;--line:#223249;
  --navy:#050b14;--navy-2:#0a1423;--primary:#3b82f6;--primary-2:#2563eb;--green:#18b983;--orange:#f59e42;
  --red:#f05a5a;--violet:#8b5cf6;--cyan:#22b8cf;--shadow:0 14px 34px rgba(0,0,0,.28);
}
html[data-theme="dark"] body{background:radial-gradient(circle at 18% -8%,rgba(37,99,235,.12),transparent 33%),linear-gradient(180deg,#07111f 0%,#081321 58%,#07111f 100%);color:var(--ink)}
html[data-theme="dark"] .topbar{background:rgba(4,10,18,.94);border-bottom-color:#1d2a3d;box-shadow:0 9px 28px rgba(0,0,0,.30);backdrop-filter:blur(16px)}
html[data-theme="dark"] .topbar .btn-ghost,html[data-theme="dark"] .topbar .btn-icon{background:#0c1726;border-color:#26364d;color:#d9e5f6}
html[data-theme="dark"] .topbar .btn-ghost:hover,html[data-theme="dark"] .topbar .btn-icon:hover{background:#14243a;border-color:#355174}
html[data-theme="dark"] .theme-toggle{background:linear-gradient(180deg,#13243a,#0d1a2b)!important;border-color:#2d4667!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
html[data-theme="dark"] .brand-subtitle{color:#8092aa}
html[data-theme="dark"] .page-shell{position:relative}
html[data-theme="dark"] .hero-card{background:linear-gradient(125deg,#0a1525 0%,#102544 52%,#153e70 100%);border:1px solid #244466;box-shadow:0 22px 50px rgba(0,0,0,.28)}
html[data-theme="dark"] .hero-card p{color:#aebdd1}
html[data-theme="dark"] .badge{background:rgba(9,21,36,.48);border-color:rgba(148,180,220,.20);color:#d7e5f7}
html[data-theme="dark"] .badge.positive{color:#8ff0c8;background:rgba(24,185,131,.12);border-color:rgba(24,185,131,.28)}

html[data-theme="dark"] .filters-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .kpi-card,html[data-theme="dark"] .insight{background:linear-gradient(180deg,#0f1b2c 0%,#0b1726 100%);border-color:#22344d;box-shadow:0 8px 24px rgba(0,0,0,.15)}
html[data-theme="dark"] .filters-card{box-shadow:0 10px 30px rgba(0,0,0,.16)}
html[data-theme="dark"] .section-kicker{color:#6f9ee8}
html[data-theme="dark"] .active-filter-count,html[data-theme="dark"] .muted{color:#899bb2}
html[data-theme="dark"] .field label{color:#889ab1}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .multi-select-button,html[data-theme="dark"] .search-input,html[data-theme="dark"] .table-tools select{background:#091524;color:#e8f1ff;border-color:#293b55}
html[data-theme="dark"] .field input::placeholder,html[data-theme="dark"] .search-input input::placeholder{color:#64778f}
html[data-theme="dark"] .field input:focus,html[data-theme="dark"] .field select:focus,html[data-theme="dark"] .multi-select-button:focus{border-color:#4d82d6;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
html[data-theme="dark"] .search-input span{color:#69809c}
html[data-theme="dark"] .multi-select-button .ms-count{background:#142c4f;color:#8db8ff}
html[data-theme="dark"] .ms-popover{background:#0b1727;border-color:#2a3c55;box-shadow:0 20px 48px rgba(0,0,0,.42)}
html[data-theme="dark"] .ms-actions{border-bottom-color:#203049}
html[data-theme="dark"] .ms-actions button{color:#76a9ff}
html[data-theme="dark"] .ms-option:hover{background:#13243a}

html[data-theme="dark"] .kpi-card{background:linear-gradient(155deg,#101e31,#0a1524);border-color:#23364f}
html[data-theme="dark"] .kpi-card:after{content:"";position:absolute;width:95px;height:95px;right:-48px;top:-50px;border-radius:50%;background:rgba(255,255,255,.018);box-shadow:0 0 0 24px rgba(255,255,255,.009)}
html[data-theme="dark"] .kpi-label{color:#8294aa}html[data-theme="dark"] .kpi-value{color:#f3f7ff}html[data-theme="dark"] .kpi-foot{color:#71849c}
html[data-theme="dark"] .insight{background:#0d1929}html[data-theme="dark"] .insight-icon{background:#132c50;color:#7aabff}html[data-theme="dark"] .insight span{color:#7e91aa}

html[data-theme="dark"] .panel-note{background:#132137;border-color:#283b55;color:#91a3b9}
html[data-theme="dark"] .legend{color:#8497b0}
html[data-theme="dark"] .axis-label{fill:#8396ae!important}html[data-theme="dark"] .grid-line{stroke:#223249!important}html[data-theme="dark"] .bar-label{fill:#9aacbf!important}html[data-theme="dark"] .bar-value{fill:#dce8f7!important}
html[data-theme="dark"] .donut:before{background:#0d1929;box-shadow:inset 0 0 0 1px #23344c}html[data-theme="dark"] .donut-center span{color:#7f91a9}
html[data-theme="dark"] .donut-item{border-color:#26374f;background:#0a1625}html[data-theme="dark"] .donut-item span{color:#8092aa}html[data-theme="dark"] .hbar-label{color:#a9b8cb}html[data-theme="dark"] .hbar-track{background:#1c2b40}html[data-theme="dark"] .hbar-value{color:#a7b6c9}
html[data-theme="dark"] .risk-row{border-bottom-color:#203047}html[data-theme="dark"] .risk-row small{color:#7f91a9}html[data-theme="dark"] .risk-empty{color:#7d90a9}
html[data-theme="dark"] .risk-badge{background:#341b22;color:#ff8b8b;border-color:#60303a}html[data-theme="dark"] .risk-loss small{color:#c17d84}

html[data-theme="dark"] .table-panel{background:#0b1726}html[data-theme="dark"] .tabs{background:#0b1726;border-bottom-color:#24354d}html[data-theme="dark"] .tab{color:#8294aa}html[data-theme="dark"] .tab.active{color:#79aaff;border-bottom-color:#4b8cf7}
html[data-theme="dark"] .table-wrap th{background:#101f33;color:#9aacbf;border-bottom-color:#2a3d58}html[data-theme="dark"] .table-wrap td{border-bottom-color:#1d2c42;color:#d7e3f2}html[data-theme="dark"] .table-wrap tbody tr:nth-child(even){background:rgba(18,32,50,.24)}html[data-theme="dark"] .table-wrap tbody tr:hover{background:#12243a}
html[data-theme="dark"] .table-footer{background:#0c1828;border-top-color:#25364e;color:#8495ab}html[data-theme="dark"] .page-btn{background:#0d1a2c;border-color:#2b3c55;color:#9cafc5}html[data-theme="dark"] .page-btn.active{background:#3478e5;color:#fff;border-color:#3478e5}
html[data-theme="dark"] .page-footer{color:#6f829a}html[data-theme="dark"] .page-footer strong{color:#9bacc0}

html[data-theme="dark"] .margin-pill{background:#123229;color:#54ddb0}html[data-theme="dark"] .margin-pill.negative{background:#361c23;color:#ff8585}html[data-theme="dark"] .margin-pill.neutral{background:#1a283b;color:#91a2b7}
html[data-theme="dark"] .status-pill,html[data-theme="dark"] .score-pill{background:#1b2a3e;color:#a7b8cc}html[data-theme="dark"] .status-pill.cut,html[data-theme="dark"] .score-pill.cut{background:#371c24;color:#ff8585}html[data-theme="dark"] .status-pill.review,html[data-theme="dark"] .score-pill.review{background:#352718;color:#f4b75c}html[data-theme="dark"] .status-pill.price,html[data-theme="dark"] .score-pill.price{background:#3a2718;color:#ffb65e}html[data-theme="dark"] .status-pill.attention,html[data-theme="dark"] .score-pill.attention{background:#332d17;color:#e9c75f}html[data-theme="dark"] .status-pill.potential,html[data-theme="dark"] .score-pill.potential{background:#142a4c;color:#81afff}html[data-theme="dark"] .status-pill.healthy,html[data-theme="dark"] .score-pill.healthy{background:#123229;color:#55d7aa}
html[data-theme="dark"] .value-positive{color:#41d7a2}html[data-theme="dark"] .value-negative{color:#ff7272}

html[data-theme="dark"] .mix-kpi,html[data-theme="dark"] .mix-subpanel,html[data-theme="dark"] .mix-action-card{background:#0a1625;border-color:#24364e}
html[data-theme="dark"] .mix-kpi span,html[data-theme="dark"] .mix-kpi small,html[data-theme="dark"] .mix-subhead span{color:#8193aa}
html[data-theme="dark"] .mix-class-row{background:#0d1a2b;border-color:#203249}html[data-theme="dark"] .mix-class-label strong{color:#d9e5f4}html[data-theme="dark"] .mix-class-label small{color:#74869e}html[data-theme="dark"] .mix-class-bar{background:#1a2a40}html[data-theme="dark"] .mix-class-count strong{color:#e4edf8}html[data-theme="dark"] .mix-class-count span,html[data-theme="dark"] .mix-class-result span{color:#7789a0}
html[data-theme="dark"] .mix-guidance{border-color:#28405d;background:#0c1d31;color:#8397af}html[data-theme="dark"] .mix-guidance strong,html[data-theme="dark"] .mix-guidance b{color:#c6d5e7}
html[data-theme="dark"] .mix-priority-row,html[data-theme="dark"] .mix-candidate{border-bottom-color:#203047}html[data-theme="dark"] .mix-priority-rank{background:#14253b;color:#91a8c2}html[data-theme="dark"] .mix-priority-bar{background:#1c2c42}html[data-theme="dark"] .mix-priority-meta,html[data-theme="dark"] .mix-priority-reason{color:#7b8da4}html[data-theme="dark"] .mix-priority-meta b{color:#b8c7d9}
html[data-theme="dark"] .mix-action-head span,html[data-theme="dark"] .mix-action-metrics span,html[data-theme="dark"] .mix-action-card p{color:#7b8da4}html[data-theme="dark"] .mix-action-head strong,html[data-theme="dark"] .mix-action-head>b,html[data-theme="dark"] .mix-action-metrics strong,html[data-theme="dark"] .mix-action-top b{color:#d9e5f4}html[data-theme="dark"] .mix-action-top{border-top-color:#213148}html[data-theme="dark"] .mix-action-top span{color:#8799af}

html[data-theme="dark"] .modal-card{background:#0d1929;color:#e9f1fd;border:1px solid #2a3a52}html[data-theme="dark"] .drop-zone{background:#091727;border-color:#36506f;color:#a9bad0}html[data-theme="dark"] .drop-zone.dragging{background:#102a49;border-color:#5c92e7}html[data-theme="dark"] .drop-zone strong{color:#d8e4f4}html[data-theme="dark"] .drop-zone span:last-child{color:#7d8fa7}html[data-theme="dark"] .upload-preview{background:#0a1625;border-color:#27384f}html[data-theme="dark"] .preview-stat{background:#0e1b2c;border-color:#24364e}html[data-theme="dark"] .preview-stat span{color:#7d8fa7}

html[data-theme="dark"] .login-body{background:radial-gradient(circle at 18% 20%,#15345c 0,#07111f 40%,#040912 100%)}html[data-theme="dark"] .login-shell{background:rgba(10,22,38,.70);border-color:#21344d}html[data-theme="dark"] .login-card{background:#0d1929;color:#eaf2ff}html[data-theme="dark"] .login-card-head,html[data-theme="dark"] .login-card label{color:#8496ad}html[data-theme="dark"] .password-wrap{border-color:#2b3d55}html[data-theme="dark"] .password-wrap input{background:#091524;color:#eaf2ff}html[data-theme="dark"] .password-wrap .icon-btn{background:#132238;color:#93a5bb}

@media(max-width:760px){.theme-toggle{min-width:0}.theme-toggle #themeLabel{display:none}}

/* Impressão/PDF sempre em tema claro para economizar tinta e melhorar leitura. */
@media print{
  html[data-theme="dark"]{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f8fafc;--ink:#152033;--muted:#6c788b;--line:#dde4ee}
  html[data-theme="dark"] body{background:#fff;color:#152033}
  html[data-theme="dark"] .kpi-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .insight,html[data-theme="dark"] .mix-subpanel,html[data-theme="dark"] .mix-action-card{background:#fff;color:#152033;border-color:#dde4ee}
  html[data-theme="dark"] .axis-label{fill:#8a96a8!important}html[data-theme="dark"] .grid-line{stroke:#e8edf4!important}
  html[data-theme="dark"] .bar-label{fill:#5e6b7d!important}html[data-theme="dark"] .bar-value{fill:#334155!important}
  html[data-theme="dark"] .donut:before{background:#fff}html[data-theme="dark"] .donut-item{background:#fff;border-color:#e5eaf1}
  html[data-theme="dark"] .mix-class-row{background:#fbfcfe;border-color:#edf1f5}html[data-theme="dark"] .mix-class-label strong,html[data-theme="dark"] .mix-class-count strong,html[data-theme="dark"] .mix-action-head strong,html[data-theme="dark"] .mix-action-head>b,html[data-theme="dark"] .mix-action-metrics strong{color:#223047}
}


/* ===== v4.1: ajustes de altura/overflow dos cards de lista ===== */
.fill-list-card{display:flex;flex-direction:column;min-height:0}
.fill-list-card .panel-head,.fill-list-card .mix-subhead{flex:0 0 auto}
.fill-list-card .risk-list,.fill-list-card .mix-priority-list{flex:1 1 auto;min-height:0;max-height:none}
.risk-list{margin-top:10px;overflow-y:auto;overflow-x:hidden;padding-right:4px}
.risk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 2px;border-bottom:1px solid #edf1f5;align-items:start}
.risk-row strong{max-width:none;min-width:0}
.risk-loss{min-width:108px}
.risk-loss small{line-height:1.3;white-space:normal}
.risk-badge{display:inline-flex;vertical-align:middle;margin-left:4px}
.mix-priority-list{overflow-y:auto;overflow-x:hidden;padding-right:4px}

/* ===== v4.1: classificação do mix responsiva ===== */
.mix-class-row{grid-template-columns:minmax(0,1.5fr) minmax(100px,1fr) minmax(64px,74px) minmax(96px,124px);align-items:center}
.mix-class-label,.mix-class-bar,.mix-class-count,.mix-class-result{min-width:0}
.mix-class-result{white-space:normal;overflow:hidden}
.mix-class-result strong{font-size:10px;line-height:1.2;word-break:break-word}
.mix-class-result span{line-height:1.25;word-break:break-word}
.mix-class-count strong{font-size:12px}

@media(max-width:1250px){.mix-class-row{grid-template-columns:minmax(0,1.35fr) minmax(90px,.95fr) 66px 110px}}


/* ===== V4.2 — correção de altura e rolagem interna ===== */
/* O card de ofertas não pode determinar a altura da linha inteira. */
.secondary-grid > .fill-list-card{
  display:block;
  min-height:0;
}
.secondary-grid > .fill-list-card .risk-list{
  display:block;
  height:285px;
  max-height:285px;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  scrollbar-gutter:stable;
}

/* Os dois cards de sortimento ficam com a mesma altura e a lista rola dentro. */
@media (min-width:1251px){
  .mix-classification-panel,
  .mix-priority-panel.fill-list-card{
    height:500px;
    min-height:500px;
    max-height:500px;
  }
  .mix-classification-panel{
    overflow:hidden;
  }
  .mix-priority-panel.fill-list-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .mix-priority-panel.fill-list-card .mix-subhead{
    flex:0 0 auto;
  }
  .mix-priority-panel.fill-list-card .mix-priority-list{
    flex:1 1 auto;
    height:auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:6px;
    scrollbar-gutter:stable;
  }
}

/* Em telas menores, mantém rolagem sem esticar a página. */
@media (max-width:1250px){
  .mix-priority-panel.fill-list-card{
    display:flex;
    flex-direction:column;
    min-height:390px;
    max-height:390px;
    overflow:hidden;
  }
  .mix-priority-panel.fill-list-card .mix-priority-list{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }
}

/* Scrollbar discreta, porém sempre visível nos cards roláveis. */
.risk-list,
.mix-priority-list{
  scrollbar-width:thin;
  scrollbar-color:#60738c #132238;
}
.risk-list::-webkit-scrollbar,
.mix-priority-list::-webkit-scrollbar{
  width:9px;
}
.risk-list::-webkit-scrollbar-track,
.mix-priority-list::-webkit-scrollbar-track{
  background:#132238;
  border-radius:10px;
}
.risk-list::-webkit-scrollbar-thumb,
.mix-priority-list::-webkit-scrollbar-thumb{
  background:#60738c;
  border-radius:10px;
  border:2px solid #132238;
}
.risk-list::-webkit-scrollbar-thumb:hover,
.mix-priority-list::-webkit-scrollbar-thumb:hover{
  background:#7890ad;
}


/* ===== V4.3 — FIX DEFINITIVO: CARDS COM ALTURA FIXA + SCROLL INTERNO ===== */

/* Linha dos três cards (ranking / rentabilidade / prejuízos). */
.secondary-grid{
  align-items:stretch;
}
.secondary-grid > .panel{
  min-height:350px;
  height:350px;
  max-height:350px;
  overflow:hidden;
}
.secondary-grid > .panel .chart-box{
  height:285px;
  max-height:285px;
}
.secondary-grid > .panel.fill-list-card{
  display:flex !important;
  flex-direction:column !important;
}
.secondary-grid > .panel.fill-list-card .panel-head{
  flex:0 0 auto;
}
.secondary-grid > .panel.fill-list-card .risk-list{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding-right:7px;
  scrollbar-gutter:stable;
}

/* Sortimento: os dois cards têm a mesma altura; só a lista direita rola. */
.mix-grid-v3{
  align-items:stretch;
}
.mix-grid-v3 > .mix-classification-panel,
.mix-grid-v3 > .mix-priority-panel{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  overflow:hidden !important;
}
.mix-grid-v3 > .mix-priority-panel{
  display:flex !important;
  flex-direction:column !important;
}
.mix-grid-v3 > .mix-priority-panel .mix-subhead{
  flex:0 0 auto;
}
.mix-grid-v3 > .mix-priority-panel .mix-priority-list{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding-right:7px;
  scrollbar-gutter:stable;
}

/* Scroll visível no tema escuro. */
html[data-theme="dark"] .risk-list,
html[data-theme="dark"] .mix-priority-list{
  scrollbar-color:#6f829b #132238;
}
.risk-list::-webkit-scrollbar,
.mix-priority-list::-webkit-scrollbar{
  width:10px;
}
.risk-list::-webkit-scrollbar-track,
.mix-priority-list::-webkit-scrollbar-track{
  background:#132238;
  border-radius:10px;
}
.risk-list::-webkit-scrollbar-thumb,
.mix-priority-list::-webkit-scrollbar-thumb{
  background:#6f829b;
  border-radius:10px;
  border:2px solid #132238;
}

/* Em notebook/telas menores mantém altura compacta e scroll. */
@media(max-width:1250px){
  .secondary-grid > .panel{
    height:350px;
    min-height:350px;
    max-height:350px;
  }
  .mix-grid-v3 > .mix-classification-panel,
  .mix-grid-v3 > .mix-priority-panel{
    height:440px !important;
    min-height:440px !important;
    max-height:440px !important;
  }
}

/* Mobile: volta para altura natural para não esmagar conteúdo. */
@media(max-width:760px){
  .secondary-grid > .panel,
  .mix-grid-v3 > .mix-classification-panel{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .secondary-grid > .panel.fill-list-card,
  .mix-grid-v3 > .mix-priority-panel{
    height:390px !important;
    min-height:390px !important;
    max-height:390px !important;
    overflow:hidden !important;
  }
}

/* ===== V5.0 — Módulo Compras por Departamento ===== */
.module-switcher{display:flex;gap:10px;margin:0 0 16px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 16px rgba(15,23,42,.035)}
.module-tab{flex:1;min-height:58px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;padding:10px 14px;text-align:left;transition:.18s ease}
.module-tab>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);color:#6f8299;font-size:17px;font-weight:800}
.module-tab div{min-width:0}.module-tab strong{display:block;color:var(--ink);font-size:13px}.module-tab small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.module-tab:hover{background:var(--surface-2)}.module-tab.active{background:#eef4ff;border-color:#cfe0ff;box-shadow:inset 0 0 0 1px rgba(37,99,235,.04)}.module-tab.active>span{background:#2563eb;color:#fff}.module-tab.active strong{color:#1f55ba}
.module-view{display:none}.module-view.active{display:block}
.dept-hero{background:linear-gradient(125deg,#0b1220 0%,#16263e 55%,#253f68 100%)}
.dept-filter-grid{grid-template-columns:minmax(280px,1.8fr) minmax(180px,.8fr) minmax(200px,.9fr) minmax(180px,.72fr)}
.toggle-field{height:42px;align-self:end;border:1px solid #d7dfeb;border-radius:9px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--ink);cursor:pointer}
.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{width:34px;height:18px;border-radius:999px;background:#cfd8e5;position:relative;flex:0 0 auto;transition:.18s}.toggle-ui:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:.18s}.toggle-field input:checked+.toggle-ui{background:#2563eb}.toggle-field input:checked+.toggle-ui:after{transform:translateX(16px)}.toggle-field>span:last-child{display:flex;flex-direction:column;line-height:1.15}.toggle-field strong{font-size:11px}.toggle-field small{font-size:9px;color:var(--muted);margin-top:2px}
.dept-main-grid{grid-template-columns:minmax(0,2.2fr) minmax(300px,.8fr)}
.dept-secondary-grid{grid-template-columns:1fr 1fr 1fr}.dept-secondary-grid>.panel{height:390px!important;min-height:390px!important;max-height:390px!important}
.dept-chart-list{margin-top:12px;max-height:355px;overflow:auto;padding-right:6px;scrollbar-gutter:stable}.dept-main-grid .dept-chart-list{max-height:340px}.compact-bars{max-height:300px}
.dept-bar-row{display:grid;grid-template-columns:minmax(145px,1.25fr) minmax(150px,2.4fr) minmax(88px,.7fr);gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1f5}.dept-bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#5f6f84}.dept-bar-label strong{color:var(--ink)}.dept-bar-track{height:22px;display:flex;align-items:center;gap:2px;position:relative}.dept-bar-stack{width:100%;display:flex;gap:4px;align-items:center}.dept-bar-segment{height:8px;border-radius:4px;min-width:1px}.dept-bar-segment.purchase{background:#7c3aed}.dept-bar-segment.cmv{background:#2563eb}.dept-bar-value{text-align:right;font-size:10px;color:#637187}.dept-bar-value strong{display:block;font-size:11px;color:var(--ink)}
.diff-track{height:9px;border-radius:999px;background:#edf1f6;position:relative;overflow:hidden}.diff-fill{position:absolute;top:0;bottom:0;border-radius:999px}.diff-fill.positive{left:50%;background:#e67e22}.diff-fill.negative{right:50%;background:#0f9f6e}.diff-zero{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:#8997a9}
.dept-donut{background:conic-gradient(#d64545 0 0,#e67e22 0 0,#d8b232 0 0,#7c3aed 0 0,#0f9f6e 0 360deg)}.dept-donut-legend{grid-template-columns:1fr}.dept-donut-legend .donut-item{display:flex;align-items:center;justify-content:space-between}.dept-donut-legend .donut-item strong{margin-top:0}.attention-dot{width:8px;height:8px;border-radius:2px;display:inline-block}.attention-dot.critical{background:#d64545}.attention-dot.high{background:#e67e22}.attention-dot.attention{background:#d8b232}.attention-dot.normal{background:#7c3aed}.attention-dot.ok{background:#0f9f6e}
.dept-priority-card .dept-priority-list{height:auto!important;max-height:none!important;overflow-y:auto!important}.dept-priority-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px 2px;border-bottom:1px solid #edf1f5}.dept-priority-rank{width:29px;height:29px;border-radius:7px;background:#eef3f8;display:grid;place-items:center;color:#6e7c90;font-weight:800;font-size:11px}.dept-priority-main strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dept-priority-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.dept-priority-value{text-align:right}.dept-priority-value strong{font-size:11px}.dept-priority-value small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.attention-pill{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.04em}.attention-pill.critical{background:#fee2e2;color:#b42323}.attention-pill.high{background:#ffedd5;color:#b45309}.attention-pill.attention{background:#fef3c7;color:#95640b}.attention-pill.normal{background:#ede9fe;color:#6d3bd1}.attention-pill.ok{background:#dcfce7;color:#137a53}
.dept-table-wrap{max-height:540px}.dept-table-note{font-size:11px;color:var(--muted)}
.dept-table-panel table td,.dept-table-panel table th{white-space:nowrap}.dept-table-panel td.desc{min-width:210px;max-width:320px}
.dept-kpi-grid .kpi-value{font-size:20px}

html[data-theme="dark"] .module-switcher{background:#0d1929;border-color:#24364e}html[data-theme="dark"] .module-tab{color:#8193aa}html[data-theme="dark"] .module-tab strong{color:#cdd9e7}html[data-theme="dark"] .module-tab>span{background:#142238;color:#879bb3}html[data-theme="dark"] .module-tab:hover{background:#101e31}html[data-theme="dark"] .module-tab.active{background:#102847;border-color:#28558c}html[data-theme="dark"] .module-tab.active>span{background:#3478e5;color:#fff}html[data-theme="dark"] .module-tab.active strong{color:#9bc0ff}
html[data-theme="dark"] .toggle-field{background:#091524;border-color:#2a3b53;color:#d9e5f4}html[data-theme="dark"] .toggle-ui{background:#34455b}
html[data-theme="dark"] .dept-bar-row,html[data-theme="dark"] .dept-priority-row{border-bottom-color:#1f3047}html[data-theme="dark"] .dept-bar-label{color:#91a3b9}html[data-theme="dark"] .dept-bar-label strong,html[data-theme="dark"] .dept-bar-value strong{color:#dce7f5}html[data-theme="dark"] .dept-bar-value{color:#7f91a8}html[data-theme="dark"] .diff-track{background:#1b2b41}html[data-theme="dark"] .diff-zero{background:#52657d}html[data-theme="dark"] .dept-priority-rank{background:#14253b;color:#91a8c2}
html[data-theme="dark"] .attention-pill.critical{background:#3a1c23;color:#ff8585}html[data-theme="dark"] .attention-pill.high{background:#3a2818;color:#ffb65e}html[data-theme="dark"] .attention-pill.attention{background:#332d17;color:#e9c75f}html[data-theme="dark"] .attention-pill.normal{background:#251d42;color:#b9a1ff}html[data-theme="dark"] .attention-pill.ok{background:#123229;color:#55d7aa}

@media(max-width:1180px){.dept-filter-grid{grid-template-columns:1.4fr 1fr 1fr}.toggle-field{grid-column:1/-1;width:max-content}.dept-secondary-grid{grid-template-columns:1fr 1fr}.dept-secondary-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:900px){.module-switcher{flex-direction:column}.dept-main-grid,.dept-secondary-grid{grid-template-columns:1fr}.dept-secondary-grid>.panel:last-child{grid-column:auto}.dept-secondary-grid>.panel{height:auto!important;min-height:0!important;max-height:none!important}.dept-filter-grid{grid-template-columns:1fr 1fr}.toggle-field{width:100%}.dept-bar-row{grid-template-columns:minmax(130px,1.2fr) minmax(120px,1.8fr) 90px}}
@media(max-width:620px){.dept-filter-grid{grid-template-columns:1fr}.toggle-field{grid-column:auto}.module-tab{min-height:54px}.dept-bar-row{grid-template-columns:minmax(120px,1fr) minmax(110px,1.4fr);}.dept-bar-value{grid-column:2;text-align:left}.dept-kpi-grid{grid-template-columns:1fr 1fr}.dept-priority-row{grid-template-columns:30px minmax(0,1fr)}.dept-priority-value{grid-column:2;text-align:left}}

@media print{.module-switcher{display:none}.module-view{display:none!important}.module-view.active{display:block!important}.dept-chart-list{max-height:none;overflow:visible}.dept-secondary-grid>.panel{height:auto!important;min-height:0!important;max-height:none!important}}
.dept-bar-track{display:grid;grid-template-rows:8px 8px;gap:4px;align-content:center}.dept-bar-segment{display:block;max-width:100%}


/* ===== V6.0 — limpeza individual + filtro de loja em setores ===== */
.btn-danger-soft{background:rgba(214,69,69,.08);border-color:rgba(214,69,69,.30);color:#b73535}
.btn-danger-soft:hover{background:rgba(214,69,69,.15);border-color:rgba(214,69,69,.48)}
html[data-theme="dark"] .btn-danger-soft{background:#2b151c;border-color:#6b2d3a;color:#ff8c96}
html[data-theme="dark"] .btn-danger-soft:hover{background:#3a1b24;border-color:#8b3a49}
.dept-filter-grid{grid-template-columns:minmax(160px,.75fr) minmax(260px,1.45fr) minmax(180px,.8fr) minmax(200px,.9fr) minmax(180px,.72fr)}
@media(max-width:1180px){.dept-filter-grid{grid-template-columns:1fr 1.4fr 1fr}.toggle-field{grid-column:auto;width:100%}}
@media(max-width:900px){.dept-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.dept-filter-grid{grid-template-columns:1fr}}

.product-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1350px){.product-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.product-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-kpi-grid{grid-template-columns:1fr}}

/* v8 - Compras por Departamento com recorte mensal */
.dept-filter-grid{grid-template-columns:minmax(150px,.72fr) minmax(150px,.72fr) minmax(250px,1.35fr) minmax(170px,.78fr) minmax(190px,.88fr) minmax(170px,.72fr)}
.dept-monthly-panel{margin-top:14px}
@media(max-width:1180px){.dept-filter-grid{grid-template-columns:1fr 1fr 1.35fr}.toggle-field{grid-column:auto;width:100%}}
@media(max-width:900px){.dept-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.dept-filter-grid{grid-template-columns:1fr}}

/* ===== v9 — Produtos: leitura executiva mais clara ===== */
.analysis-block{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface);box-shadow:0 4px 16px rgba(15,23,42,.035)}
.analysis-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:13px}
.analysis-block-head h2{font-size:17px;margin:3px 0 3px;letter-spacing:-.01em}
.analysis-block-head p{margin:0;color:var(--muted);font-size:11px;max-width:820px}
.compact-analysis-head{margin-bottom:10px}
.reading-rule{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:620px}
.reading-rule strong{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#758397;margin-right:2px}
.reading-rule span{font-size:10px;color:#64748b;border:1px solid #e1e7ef;background:#f8fafc;border-radius:7px;padding:5px 8px;white-space:nowrap}
.product-flow-kpis,.product-sales-kpis,.product-result-kpis{margin-top:0}
.product-flow-kpis .kpi-card,.product-sales-kpis .kpi-card,.product-result-kpis .kpi-card{min-height:100px}
.product-flow-kpis .focus-kpi{border-color:rgba(230,126,34,.38);background:linear-gradient(180deg,#fffaf5,#fff)}
.product-flow-kpis .kpi-value,.product-sales-kpis .kpi-value,.product-result-kpis .kpi-value{font-size:21px}
.product-sales-block{margin-top:10px;padding-top:14px;padding-bottom:14px}
.executive-summary{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:13px 15px;display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,2.45fr);gap:16px;align-items:start;box-shadow:0 4px 14px rgba(15,23,42,.03)}
.executive-summary-title strong{display:block;margin-top:4px;font-size:14px;color:var(--ink)}
.executive-summary-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.summary-line{display:flex;gap:8px;align-items:flex-start;border-left:3px solid #94a3b8;background:#f8fafc;border-radius:8px;padding:9px 10px;min-height:58px}
.summary-line>span{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto;background:#e7edf5;color:#526176;font-size:10px;font-weight:850}
.summary-line p{margin:0;color:#5f6d80;font-size:10.5px;line-height:1.38}
.summary-line.positive{border-left-color:var(--green);background:rgba(15,159,110,.055)}
.summary-line.warning{border-left-color:var(--orange);background:rgba(230,126,34,.06)}
.summary-line.danger{border-left-color:var(--red);background:rgba(214,69,69,.06)}
.summary-line.neutral{border-left-color:#64748b}
.product-main-grid{margin-top:12px}

html[data-theme="dark"] .analysis-block,html[data-theme="dark"] .executive-summary{background:linear-gradient(180deg,#0f1b2c 0%,#0b1726 100%);border-color:#22344d;box-shadow:0 8px 24px rgba(0,0,0,.13)}
html[data-theme="dark"] .analysis-block-head p{color:#8193aa}
html[data-theme="dark"] .reading-rule strong{color:#8294aa}
html[data-theme="dark"] .reading-rule span{background:#091524;border-color:#293b55;color:#91a3b9}
html[data-theme="dark"] .product-flow-kpis .focus-kpi{background:linear-gradient(155deg,#211a15,#0d1724);border-color:#654426}
html[data-theme="dark"] .executive-summary-title strong{color:#e5eefb}
html[data-theme="dark"] .summary-line{background:#0a1625}
html[data-theme="dark"] .summary-line p{color:#8ea0b7}
html[data-theme="dark"] .summary-line>span{background:#14243a;color:#9db1c9}
html[data-theme="dark"] .summary-line.positive{background:rgba(24,185,131,.07)}
html[data-theme="dark"] .summary-line.warning{background:rgba(245,158,66,.07)}
html[data-theme="dark"] .summary-line.danger{background:rgba(240,90,90,.07)}

@media(max-width:1180px){
  .analysis-block-head{flex-direction:column;gap:10px}.reading-rule{justify-content:flex-start;max-width:none}
  .executive-summary{grid-template-columns:1fr}.executive-summary-body{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:800px){
  .executive-summary-body{grid-template-columns:1fr}.reading-rule span{white-space:normal}
}
@media(max-width:640px){
  .analysis-block{padding:14px}.product-flow-kpis,.product-sales-kpis,.product-result-kpis{grid-template-columns:1fr}
}
@media print{.analysis-block,.executive-summary{box-shadow:none;break-inside:avoid}.executive-summary-body{grid-template-columns:repeat(3,1fr)}}

/* v10 - formulas explicitas nos KPIs */
.kpi-formula{font-size:11px;color:#66768b;margin-top:5px;font-weight:700;line-height:1.25}
html[data-theme="dark"] .kpi-formula{color:#8ea1b8}
.product-sales-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.product-sales-kpis .kpi-card{min-width:0}
.product-sales-kpis .kpi-foot{line-height:1.35}
@media(max-width:1250px){.product-sales-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.product-sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-sales-kpis{grid-template-columns:1fr}}

/* v11 - KPIs organizados em duas linhas de 4 */
.product-result-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.product-result-kpis .kpi-card{min-width:0;min-height:108px}
.product-result-kpis .kpi-foot{line-height:1.35}
.product-result-kpis .focus-kpi{border-color:rgba(15,159,110,.34);background:linear-gradient(180deg,#f5fffb,#fff)}
html[data-theme="dark"] .product-result-kpis .focus-kpi{background:linear-gradient(155deg,#0d251d,#0d1724);border-color:#245f4b}
@media(max-width:1100px){.product-result-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-result-kpis{grid-template-columns:1fr}}


/* ===== v13 — Análise de Mix 5 meses ===== */
.mix-hero{background:linear-gradient(125deg,#0b1220 0%,#1a2942 50%,#234e52 100%)}
.mix-filter-grid{grid-template-columns:minmax(140px,.65fr) minmax(145px,.65fr) minmax(190px,.9fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1.25fr) minmax(190px,.85fr)}
.mix-main-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.mix-main-kpis .kpi-value{font-size:20px}.mix-main-kpis .kpi-card{min-width:0}
.mix-main-grid-v13{grid-template-columns:minmax(0,2fr) minmax(330px,.85fr)}
.mix-secondary-grid-v13{grid-template-columns:1.25fr 1fr 1fr}.mix-secondary-grid-v13>.panel{height:410px!important;min-height:410px!important;max-height:410px!important}
.mix-share-list{margin-top:12px;max-height:360px;overflow:auto;padding-right:5px}.mix-share-row{display:grid;grid-template-columns:minmax(130px,1.4fr) minmax(110px,1.3fr) 58px;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.mix-share-label{min-width:0}.mix-share-label strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-share-label small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.mix-share-track{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden}.mix-share-fill{height:100%;background:#3478e5;border-radius:999px}.mix-share-value{text-align:right;font-size:10px;font-weight:800;color:var(--ink)}
.mix-quadrant{height:310px;margin-top:10px;position:relative;border:1px solid var(--line);border-radius:10px;background:linear-gradient(90deg,rgba(230,126,34,.035) 0 50%,rgba(15,159,110,.03) 50% 100%);overflow:hidden}.quadrant-v{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}.quadrant-h{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.q-label{position:absolute;font-size:9px;color:var(--muted);font-weight:750;pointer-events:none}.q-tl{top:8px;left:9px}.q-tr{top:8px;right:9px}.q-bl{bottom:8px;left:9px}.q-br{bottom:8px;right:9px}.mix-dot{position:absolute;border-radius:50%;background:#3478e5;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(15,23,42,.22);transform:translate(-50%,-50%);cursor:help}.mix-dot.risk{background:#d64545}.mix-dot.review{background:#e67e22}.mix-dot.keep{background:#0f9f6e}.mix-dot.highlight{background:#7c3aed}
.mix-priority-list-v13,.mix-trend-list{max-height:330px;overflow:auto}.mix-priority-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:start;padding:9px 1px;border-bottom:1px solid var(--line)}.mix-priority-rank{width:27px;height:27px;border-radius:7px;background:#eef3f8;display:grid;place-items:center;font-size:10px;font-weight:850;color:#64748b}.mix-priority-main{min-width:0}.mix-priority-main strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-priority-main small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.mix-priority-metric{text-align:right}.mix-priority-metric strong{display:block;font-size:10.5px}.mix-priority-metric small{font-size:9px;color:var(--muted)}
.mix-rec-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:850;letter-spacing:.025em;white-space:nowrap}.mix-rec-pill.cut{background:#fee2e2;color:#b42323}.mix-rec-pill.reduce{background:#ffedd5;color:#b45309}.mix-rec-pill.review{background:#fef3c7;color:#8b6508}.mix-rec-pill.margin{background:#ede9fe;color:#6d3bd1}.mix-rec-pill.keep{background:#dcfce7;color:#137a53}.mix-rec-pill.highlight{background:#dbeafe;color:#1d4ed8}
.mix-table-wrap{max-height:620px}.mix-table-panel table td,.mix-table-panel table th{white-space:nowrap}.mix-table-panel td.desc{min-width:240px;max-width:360px}.trend-up{color:#0f9f6e;font-weight:800}.trend-down{color:#d64545;font-weight:800}.trend-flat{color:#64748b;font-weight:800}
html[data-theme="dark"] .mix-share-track{background:#1b2b41}html[data-theme="dark"] .mix-priority-rank{background:#14253b;color:#91a8c2}html[data-theme="dark"] .mix-rec-pill.cut{background:#3a1c23;color:#ff8585}html[data-theme="dark"] .mix-rec-pill.reduce{background:#3a2818;color:#ffb65e}html[data-theme="dark"] .mix-rec-pill.review{background:#332d17;color:#e9c75f}html[data-theme="dark"] .mix-rec-pill.margin{background:#251d42;color:#b9a1ff}html[data-theme="dark"] .mix-rec-pill.keep{background:#123229;color:#55d7aa}html[data-theme="dark"] .mix-rec-pill.highlight{background:#142a4b;color:#8db7ff}html[data-theme="dark"] .mix-quadrant{background:linear-gradient(90deg,rgba(230,126,34,.055) 0 50%,rgba(15,159,110,.045) 50% 100%)}
@media(max-width:1450px){.mix-main-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.mix-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.mix-filter-grid .grow{grid-column:span 2}}
@media(max-width:1100px){.mix-main-grid-v13{grid-template-columns:1fr}.mix-secondary-grid-v13{grid-template-columns:1fr 1fr}.mix-secondary-grid-v13>.panel:last-child{grid-column:1/-1}.mix-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:800px){.mix-main-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mix-secondary-grid-v13{grid-template-columns:1fr}.mix-secondary-grid-v13>.panel:last-child{grid-column:auto}.mix-secondary-grid-v13>.panel{height:auto!important;min-height:0!important;max-height:none!important}.mix-filter-grid{grid-template-columns:1fr 1fr}.mix-filter-grid .grow{grid-column:1/-1}}
@media(max-width:560px){.mix-main-kpis,.mix-filter-grid{grid-template-columns:1fr}.mix-filter-grid .grow{grid-column:auto}}
@media print{.mix-secondary-grid-v13>.panel{height:auto!important;min-height:0!important;max-height:none!important}.mix-share-list,.mix-priority-list-v13,.mix-trend-list{max-height:none;overflow:visible}}

/* ===== v17: análise de mix orientada à decisão ===== */
.mix-decision-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.mix-decision-kpi{position:relative;min-width:0;padding:16px 15px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.mix-decision-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#64748b}.mix-decision-kpi.good:before{background:var(--green)}.mix-decision-kpi.reduce:before{background:var(--orange)}.mix-decision-kpi.review:before{background:#d3a216}.mix-decision-kpi.danger:before{background:var(--red)}.mix-decision-kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.mix-decision-kpi strong{display:block;margin-top:6px;font-size:24px;line-height:1.05;letter-spacing:-.03em}.mix-decision-kpi small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.35}
.mix-decision-panel{margin-top:14px}.mix-decision-list{display:grid;gap:10px;margin-top:13px}.mix-decision-item{border:1px solid var(--line);border-left:4px solid #d3a216;border-radius:11px;background:var(--surface-2);padding:14px 15px}.mix-decision-item.cut{border-left-color:var(--red)}.mix-decision-item.reduce{border-left-color:var(--orange)}.mix-decision-item.review{border-left-color:#d3a216}.mix-decision-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mix-decision-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.mix-decision-title>div{min-width:0}.mix-decision-title strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-decision-title small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.mix-decision-rank{width:28px;height:28px;flex:0 0 28px;border-radius:7px;background:#eaf0f8;color:#55657a;display:grid;place-items:center;font-weight:850;font-size:10px}.mix-decision-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.mix-decision-metrics span{display:block;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 9px;min-width:0}.mix-decision-metrics b{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.055em}.mix-decision-metrics strong{display:block;margin-top:3px;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-decision-why,.mix-decision-action{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:start;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.45}.mix-decision-why b,.mix-decision-action b{color:var(--ink)}.mix-decision-why span,.mix-decision-action span{color:var(--muted)}.mix-decision-action span{font-weight:650;color:var(--ink)}.mix-decision-empty{padding:30px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted)}.mix-decision-empty strong{display:block;color:var(--ink);font-size:13px}.mix-decision-empty span{display:block;margin-top:4px;font-size:11px}
.mix-support-grid{grid-template-columns:minmax(360px,.9fr) minmax(0,1.6fr);align-items:stretch}.mix-support-grid>.panel{min-height:390px}.mix-maintain-list{max-height:325px;overflow:auto;margin-top:10px;padding-right:4px}.mix-maintain-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}.mix-maintain-row:last-child{border-bottom:0}.mix-maintain-row>div{min-width:0}.mix-maintain-row strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-maintain-row small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px;line-height:1.35}.mix-history-empty{height:100%;min-height:270px;display:grid;place-content:center;text-align:center;color:var(--muted)}.mix-history-empty strong{display:block;color:var(--ink);font-size:14px}.mix-history-empty span{display:block;margin-top:5px;font-size:11px}
.mix-table-panel td.desc{max-width:420px}.mix-table-panel td:last-child{white-space:normal;min-width:340px;max-width:520px}.mix-reason-cell{display:block;line-height:1.35;color:var(--muted)}
html[data-theme="dark"] .mix-decision-item{background:#0d1a2b}.mix-decision-kpi,.mix-decision-item,.mix-decision-metrics span{box-shadow:none}html[data-theme="dark"] .mix-decision-rank{background:#14253b;color:#91a8c2}
@media(max-width:1450px){.mix-decision-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.mix-decision-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.mix-filter-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.mix-filter-grid .grow{grid-column:span 2}}
@media(max-width:1050px){.mix-support-grid{grid-template-columns:1fr}.mix-decision-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.mix-decision-kpis,.mix-decision-metrics{grid-template-columns:1fr 1fr}.mix-decision-top{flex-direction:column}.mix-decision-why,.mix-decision-action{grid-template-columns:1fr}.mix-filter-grid{grid-template-columns:1fr 1fr}.mix-filter-grid .grow{grid-column:1/-1}}
@media(max-width:520px){.mix-decision-kpis,.mix-decision-metrics,.mix-filter-grid{grid-template-columns:1fr}.mix-filter-grid .grow{grid-column:auto}}
#mixModule .insight-strip{grid-template-columns:1fr}
