
:root{--red:#df1720;--dark:#15191f;--graph:#2a3038;--green:#138a52;--amber:#dd9d00;--bg:#f4f6f8;--line:#dbe1e6;--muted:#687281}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:#171b21}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#11151a,#252b33);color:#fff;padding:16px 14px;display:flex;flex-direction:column}.brand{text-align:center;border-bottom:1px solid #ffffff22;padding-bottom:14px}.brand img{width:180px;max-height:120px;object-fit:contain}.brand small{display:block;margin-top:4px}nav{padding-top:13px;flex:1;overflow:auto}nav button{width:100%;border:0;background:transparent;color:#fff;padding:10px 12px;border-radius:9px;text-align:left;margin:2px 0;cursor:pointer}nav button:hover,nav button.active{background:var(--red)}.side-foot{padding:10px;background:#ffffff12;border-radius:9px;font-size:11px;line-height:1.5}main{padding:20px;min-width:0}.top{margin-bottom:14px}.top h1{margin:0;font-size:29px}.top p{margin:4px 0;color:var(--muted)}.section{display:none}.section.active{display:block}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:0 4px 14px #10182809}.card h2,.card h3{margin:0 0 11px}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.mt{margin-top:14px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label{min-width:170px}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:900;cursor:pointer}.btn.red{background:var(--red);color:#fff}.btn.black{background:var(--graph);color:#fff}.btn.light{background:#edf0f3}.btn.green{background:var(--green);color:#fff}.toolbar{display:flex;gap:9px;flex-wrap:wrap}.center{justify-content:center}.row-between{display:flex;justify-content:space-between;align-items:end;gap:12px}.kpi{border-top:5px solid var(--red)}.kpi.green{border-top-color:var(--green)}.kpi.amber{border-top-color:var(--amber)}.kpi.dark{border-top-color:var(--graph)}.kpi small{display:block;text-transform:uppercase;font-size:10px;font-weight:900;color:var(--muted)}.kpi b{display:block;font-size:29px;margin:6px 0}.kpi span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:850px;font-size:12px}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{background:#f7f8fa;font-size:10px;text-transform:uppercase;color:#4c5664}.total td{font-weight:900;background:#f2f4f6}.neg{color:var(--red);font-weight:900}.pos{color:var(--green);font-weight:900}.pill{display:inline-block;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:900}.pill.ok{background:#e5f6ed;color:#087444}.pill.warn{background:#fff2cf;color:#836000}.pill.bad{background:#ffe4e7;color:#b21420}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}label{font-size:12px;font-weight:800;color:#46505d}input,select,textarea{width:100%;padding:9px;border:1px solid #ccd4dc;border-radius:8px;background:#fff;margin-top:5px}textarea{min-height:72px}.subhead{margin:16px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--red);font-weight:900}.note{padding:10px 12px;background:#fff5f6;border:1px solid #f0c7ca;border-radius:8px;color:#7d1d23;font-size:12px}.muted{color:var(--muted);font-size:12px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-card{border:1px solid var(--line);border-radius:10px;padding:11px}.rank{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.rank .n{width:27px;height:27px;border-radius:50%;background:#edf0f3;display:flex;align-items:center;justify-content:center;font-weight:900}.bar{height:7px;background:#e9edf0;border-radius:99px;overflow:hidden;margin-top:5px}.bar span{display:block;height:100%;background:var(--red)}.chart{width:100%;height:310px;display:block}.chart-title{display:flex;justify-content:space-between;gap:10px}.tip-chip{font-size:10px;padding:5px 8px;border-radius:99px;background:#fff1cf;color:#745400;height:max-content}.tooltip{position:fixed;display:none;pointer-events:none;background:#11151a;color:#fff;padding:9px 11px;border-radius:8px;font-size:12px;line-height:1.45;z-index:5000;box-shadow:0 10px 30px #0005}.hidden{display:none!important}.validation{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.validation div{border:1px solid var(--line);padding:9px;border-radius:8px}.validation b{display:block;font-size:20px}.print-head{display:none}.suggestion{border-left:5px solid var(--red);padding:11px;background:#fafbfc;border-radius:8px;margin:8px 0}.forecast{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px}.forecast b{font-size:24px}.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:6000}.modal.hidden{display:none}.modal-card{width:min(420px,92vw);background:#fff;border-radius:15px;padding:23px;text-align:center}.lock{font-size:38px}.error{color:var(--red);font-weight:900;min-height:22px;padding-top:8px}.editable input,.editable select{min-width:110px;padding:6px;margin:0}.has-tip{cursor:help}
#splash{position:fixed;inset:0;background:radial-gradient(circle,#fff,#e9ecef);display:flex;align-items:center;justify-content:center;z-index:9000;animation:fade .7s 2s forwards}#splash img{width:min(560px,80vw)}#splash .load{height:4px;background:var(--red);width:0;margin:12px auto;animation:load 1.8s forwards}@keyframes load{to{width:70%}}@keyframes fade{to{opacity:0;visibility:hidden}}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g2,.g3,.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app{grid-template-columns:1fr}aside{position:relative;height:auto}.g4,.g3,.g2,.form-grid{grid-template-columns:1fr}main{padding:13px}}
@page{size:A4 landscape;margin:9mm}@media print{aside,.top,.toolbar,.filters,.btn{display:none!important}main{padding:0}.section{display:none!important}body.print-consolidado #consolidado,body.print-diagnostico #diagnostico,body.print-historico-mes #historico-mes{display:block!important}.print-head{display:flex!important;align-items:center;gap:15px;border-bottom:2px solid var(--red);padding-bottom:8px}.print-head img{width:110px}.card{box-shadow:none!important;break-inside:avoid;padding:8px!important;margin-top:7px!important}table{font-size:8px!important;min-width:0!important;table-layout:fixed}th,td{padding:4px!important;white-space:normal!important}.g4{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.kpi b{font-size:19px!important}}

#monthCompareNote{margin:-4px 0 8px}

.insights{display:grid;gap:9px}.insight{padding:11px 12px;border-left:5px solid var(--amber);background:#fafbfc;border-radius:8px}.insight b{display:block;margin-bottom:3px}.insight span{font-size:12px;color:#4d5764}.insight.good{border-left-color:var(--green)}.insight.warn{border-left-color:var(--amber)}.insight.bad{border-left-color:var(--red)}

/* Refinamento visual corporativo */
body{background:linear-gradient(180deg,#f7f8fa 0,#eef1f4 100%)}
main{max-width:1700px;width:100%;margin:0 auto}
.top{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 2px}.top h1{letter-spacing:-.5px}.top p{font-size:13px}
.card{border-color:#d7dde3;box-shadow:0 8px 24px rgba(16,24,40,.045)}
.executive-card{min-height:420px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.section-heading h3{margin:0 0 3px}.section-heading small{color:var(--muted);font-size:11px}
.rank{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:11px 0}.rank-content{min-width:0}.rank-title{display:block;font-weight:900;font-size:15px;line-height:1.2}.rank-detail{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.25}.rank-value{font-weight:900;font-size:14px;white-space:nowrap}.seller-rank .rank-title{font-size:14px}
.bar{margin-top:7px;height:7px}.bar span{background:linear-gradient(90deg,#df1720,#f04a51)}
.coverage-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-weight:900;font-size:11px}.coverage-badge.complete{background:#e5f6ed;color:#087444}.coverage-badge.partial{background:#fff2cf;color:#836000}.coverage-badge.empty{background:#ffe4e7;color:#b21420}
.executive-status-card{padding:17px}.status-card{min-height:112px;display:flex;flex-direction:column;justify-content:space-between;background:#fbfcfd;transition:.18s}.status-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,24,40,.07)}.status-card.sent{border-left:4px solid var(--green)}.status-card.pending{border-left:4px solid var(--amber)}.status-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--amber)}.status-card.sent .status-dot{background:var(--green)}.status-card small{display:block;color:var(--muted);margin-top:4px}.status-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.status-time{font-size:10px;color:var(--muted)}
.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:24px}.empty-state b{color:#27303a;font-size:15px;margin-bottom:5px}.empty-state.compact{min-height:80px;padding:12px}
#piv-dashboard .card{overflow:hidden}#piv-dashboard .chart{height:300px}#piv-dashboard .table-wrap{min-height:120px}
.filters{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);position:relative;z-index:2}
@media(max-width:760px){
  main{padding:10px}.executive-card{min-height:auto}.section-heading{flex-direction:column}.coverage-badge{align-self:flex-start}
  .status-grid{grid-template-columns:1fr!important}.status-card{min-height:98px}
  .rank-title{font-size:14px}.rank-detail{font-size:10px}.rank-value{font-size:13px}
  #piv-dashboard .chart{height:250px}
}
