:root{--g:#087a4b;--g2:#063f2a;--o:#f58220;--bg:#f3f7f5;--text:#17382c;--muted:#718078;--line:#dce8e1;--white:#fff;--shadow:0 10px 28px rgba(9,64,43,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--g2),var(--g) 62%,var(--o))}.login-card{width:min(430px,92vw);background:#fff;padding:36px;border-radius:24px;box-shadow:0 30px 80px #0004}.brand{font-size:32px;font-weight:900;color:var(--g)}.brand span{color:var(--o)}.white{color:#fff}.login-card h1{margin:8px 0}.login-card label{display:block;font-size:12px;font-weight:800;margin:18px 0 7px}.login-card select,.filters select,input[type=file]{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.primary{width:100%;border:0;border-radius:11px;padding:13px;margin-top:15px;background:var(--g);color:#fff;font-weight:800;cursor:pointer}.primary.small{width:auto;padding:10px 18px}.muted,small{color:var(--muted)}.demo{text-align:center;font-size:11px;margin-top:12px}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}aside{background:var(--g2);padding:24px 15px;color:#fff;position:sticky;top:0;height:100vh}.side-sub{font-size:9px;letter-spacing:3px;opacity:.65;margin:0 8px 28px}nav button{display:block;width:100%;border:0;background:transparent;color:#d7eee5;text-align:left;padding:12px 13px;border-radius:10px;margin:4px 0;cursor:pointer}nav button.active,nav button:hover{background:#ffffff16;color:#fff}.logout{position:absolute;left:15px;right:15px;bottom:20px;background:transparent;color:#fff;border:1px solid #ffffff25;padding:10px;border-radius:10px}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}header small{display:block;font-size:11px;margin-top:3px}.version{font-size:10px;font-weight:800;color:var(--g);background:#eaf6f0;padding:7px 10px;border-radius:20px}.content{padding:28px;max-width:1500px;margin:auto}.title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.title h1{margin:0;font-size:29px}.title p{margin:5px 0 0;color:var(--muted)}.filters{display:flex;gap:8px}.filters select{width:auto;min-width:140px}.hero{background:linear-gradient(115deg,var(--g2),var(--g));color:#fff;border-radius:18px;padding:23px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.hero h2{margin:7px 0;font-size:25px}.hero i{color:#ffad70;font-style:normal}.hero p{margin:0;opacity:.82}.hero-score{background:#ffffff18;border:1px solid #ffffff22;border-radius:15px;padding:15px 20px;text-align:center}.hero-score b{display:block;font-size:28px}.compact{display:block}.progress{height:9px;background:#ffffff28;border-radius:10px;margin-top:18px;overflow:hidden}.progress div{height:100%;background:var(--o);border-radius:10px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.kpi span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.kpi strong{display:block;font-size:22px;margin:8px 0 4px}.kpi small{font-size:11px}.attention strong{color:#bd6419}.columns{display:grid;grid-template-columns:1.25fr 1fr;gap:15px;margin-top:15px}.card h3{margin:0 0 16px}.bars{height:230px;display:flex;align-items:end;gap:9px;padding:8px}.bar{flex:1;min-width:12px;background:linear-gradient(var(--g),var(--g2));border-radius:7px 7px 2px 2px;position:relative}.bar label{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);font-size:12px}th{font-size:10px;color:var(--muted);text-transform:uppercase}.table-card{margin-top:15px;overflow:auto}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{display:inline-block;background:#e8f6ef;color:var(--g);padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.badge.orange{background:#fff0e4;color:#b95c12}.notice{background:#fff7ed;border:1px solid #ffe0c2;padding:12px;border-radius:11px;color:#87551d;margin-top:14px;font-size:12px}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.podium div{background:#f6faf8;border:1px solid var(--line);border-radius:13px;padding:16px;text-align:center}.podium small{display:block;font-size:22px;font-weight:900;color:var(--o)}.podium b{display:block;margin:5px 0}.podium span{font-size:12px;color:var(--g);font-weight:800}footer{margin-top:24px;padding:14px 2px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}footer b{color:var(--g)}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:720px){.shell{grid-template-columns:1fr}aside{position:static;height:auto}.logout{position:static;width:100%;margin-top:14px}.grid{grid-template-columns:1fr}.title{align-items:stretch;flex-direction:column}.filters{flex-wrap:wrap}header{padding:0 16px}.content{padding:18px}}

.summary-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.summary-hero{background:linear-gradient(115deg,var(--g2),var(--g));color:#fff;border-radius:20px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px;box-shadow:0 14px 35px rgba(9,64,43,.14)}.summary-intro h2{margin:7px 0;font-size:28px}.summary-intro p{margin:0 0 14px;opacity:.82}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#cfe9de}.hero-actions{font-size:10px;opacity:.9}.status-dot{color:#7ee0b2;margin-right:5px}.goal-ring{min-width:145px;height:145px;border:8px solid #ffffff2a;border-top-color:var(--o);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.goal-ring strong{font-size:27px}.goal-ring span{font-size:10px}.goal-ring small{color:#d7eee5;margin-top:5px}.summary-columns{display:grid;grid-template-columns:1.45fr .75fr;gap:15px;margin-top:15px}.summary-columns.lower{grid-template-columns:1fr 1fr}.card-sub{margin:-9px 0 0;color:var(--muted);font-size:11px}.team-list{display:grid;gap:16px}.team-row{display:grid;grid-template-columns:155px 1fr 58px;gap:12px;align-items:center}.team-name b,.team-name small{display:block}.team-name small{font-size:10px;margin-top:3px}.team-track,.focus-track{height:10px;background:#edf3ef;border-radius:10px;overflow:hidden}.team-track div,.focus-track div{height:100%;background:linear-gradient(90deg,var(--g),#2bb879);border-radius:10px}.team-row>strong{font-size:13px;text-align:right;color:var(--g)}.highlight-card{background:linear-gradient(145deg,#fff,#edf8f2);border-color:#cfe7da}.highlight-label{font-size:10px;font-weight:900;color:var(--o);letter-spacing:1px}.highlight-card h3{font-size:24px;margin:8px 0 2px}.highlight-card>strong{font-size:38px;color:var(--g)}.highlight-card>p{font-size:12px;color:var(--muted);margin:2px 0 18px}.mini-stat{border-top:1px solid var(--line);padding-top:13px}.mini-stat span,.mini-stat small{display:block;font-size:10px;color:var(--muted)}.mini-stat b{display:block;margin:4px 0}.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ops-grid div{background:#f7faf8;border:1px solid var(--line);border-radius:11px;padding:13px}.ops-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.ops-grid b{display:block;margin-top:5px;font-size:17px}.alert-card p{font-size:13px;line-height:1.55}.focus-line{display:flex;justify-content:space-between;font-size:11px;margin:12px 0 6px}.focus-track div{background:var(--o)}
@media(max-width:1050px){.summary-kpis{grid-template-columns:repeat(2,1fr)}.summary-columns,.summary-columns.lower{grid-template-columns:1fr}}
@media(max-width:720px){.summary-kpis{grid-template-columns:1fr}.summary-hero{flex-direction:column;align-items:flex-start}.goal-ring{align-self:center}.team-row{grid-template-columns:115px 1fr 48px}.ops-grid{grid-template-columns:repeat(2,1fr)}}

.indicator-banner{background:linear-gradient(115deg,var(--g2),var(--g));color:#fff;border-radius:20px;padding:23px 25px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.indicator-banner h2{margin:7px 0 4px;font-size:27px}.indicator-banner p{margin:0;opacity:.82}.filter-chip{background:#ffffff1b;border:1px solid #ffffff25;padding:9px 12px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.chart-card{min-height:300px}.chart-area{margin-top:8px}.bar-chart{height:220px;display:flex;align-items:end;justify-content:space-around;gap:20px;padding:12px 15px 25px;border-bottom:1px solid var(--line)}.chart-col{height:100%;flex:1;max-width:150px;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative}.chart-value{font-size:11px;font-weight:900;color:var(--g);margin-bottom:5px}.chart-bar{width:min(68px,65%);min-height:8px;background:linear-gradient(var(--g),var(--g2));border-radius:8px 8px 2px 2px;transition:height .25s ease}.chart-col>b{font-size:11px;margin-top:8px}.chart-caption{font-size:10px;color:var(--muted);margin-top:10px}.compare-chart{display:grid;gap:18px;margin-top:15px}.compare-row{display:grid;grid-template-columns:145px 1fr 55px;gap:10px;align-items:center}.compare-label b,.compare-label span{display:block}.compare-label span{font-size:9px;color:var(--muted);margin-top:3px}.compare-track{height:22px;background:#eef4f0;border-radius:8px;position:relative;overflow:hidden}.compare-track i,.compare-track em{position:absolute;left:0;height:8px;border-radius:6px;display:block}.compare-track i{top:3px;background:var(--g)}.compare-track em{bottom:3px;background:var(--o);opacity:.75}.compare-row>strong{font-size:11px;color:var(--g);text-align:right}.chart-legend{display:flex;gap:16px;margin-top:12px;font-size:10px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{display:inline-block;width:12px;height:6px;border-radius:4px}.legend-real{background:var(--g)}.legend-meta{background:var(--o)}.team-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.team-highlights .card{background:linear-gradient(145deg,#fff,#edf8f2)}.team-highlights h3{margin:7px 0 2px}.team-highlights strong{font-size:28px;color:var(--g)}
@media(max-width:1050px){.chart-grid{grid-template-columns:1fr}.team-highlights{grid-template-columns:1fr}.indicator-banner{align-items:flex-start;flex-direction:column}.compare-row{grid-template-columns:120px 1fr 50px}}
@media(max-width:720px){.bar-chart{gap:8px}.chart-col>b{font-size:9px}.compare-row{grid-template-columns:95px 1fr 44px}.compare-label span{font-size:8px}}

/* V4 - canais e hierarquia */
.channel-chart,.channel-compare{display:flex;flex-direction:column;gap:18px}
.channel-row{display:grid;grid-template-columns:minmax(150px,1.1fr) 2fr 70px;gap:12px;align-items:center}
.channel-label{display:flex;flex-direction:column;gap:3px}
.channel-label span{font-size:12px;opacity:.72}
.channel-track{height:12px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden}
.channel-track>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#0b8f55,#f28c28);transition:width .35s ease}
.channel-row>strong{text-align:right}
.channel-team{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.channel-team:last-child{border-bottom:0}
.channel-team-head{display:flex;justify-content:space-between;margin-bottom:12px}
@media(max-width:900px){.channel-row{grid-template-columns:1fr}.channel-row>strong{text-align:left}}

/* V4 - cartões de canais e hierarquia */
.kpi.external{border-top:4px solid var(--g)}
.kpi.tv{border-top:4px solid var(--o)}
.kpi.external strong{color:var(--g)}
.kpi.tv strong{color:var(--o)}
.kpi.external small,.kpi.tv small{font-weight:800}
.hierarchy-card{background:linear-gradient(145deg,#fff,#f4faf7)}
.supervisor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
.supervisor-block{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.supervisor-block>span,.supervisor-block>small{display:block;color:var(--muted);font-size:10px}
.supervisor-block>b{display:block;font-size:17px;margin:4px 0 9px;color:var(--g)}
.supervisor-block small+small{margin-top:5px}
.supervisor-block strong{color:var(--ink)}
@media(max-width:720px){.supervisor-grid{grid-template-columns:1fr}}

/* V4 - FECHAMENTO: cartões e gráficos dinâmicos */
.closing-hero{background:linear-gradient(115deg,var(--g2),var(--g));color:#fff;border-radius:20px;padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;box-shadow:0 14px 35px rgba(9,64,43,.14)}
.closing-hero h2{margin:6px 0;font-size:28px}.closing-hero p{margin:0;opacity:.84}.closing-hero small{display:block;color:#d7eee5;margin-top:7px;font-weight:800}.closing-progress{height:11px;background:#ffffff28;border-radius:999px;overflow:hidden;margin-top:17px;min-width:320px}.closing-progress div{height:100%;background:var(--o);border-radius:999px;transition:width .35s ease}.closing-score{min-width:145px;height:145px;border-radius:50%;border:8px solid #ffffff25;border-right-color:var(--o);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.closing-score strong{font-size:29px}.closing-score span{font-size:10px}.closing-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.closing-kpis.secondary{grid-template-columns:repeat(4,1fr);margin-top:12px}.closing-kpis .card{min-height:118px}.kpi.closing-meta{border-top:4px solid #315c8c}.kpi.closing-fat{border-top:4px solid var(--g)}.kpi.closing-percent{border-top:4px solid #6c4b9e}.kpi.closing-saldo{border-top:4px solid var(--o)}.kpi.closing-meta strong{color:#315c8c}.kpi.closing-fat strong{color:var(--g)}.kpi.closing-percent strong{color:#6c4b9e}.kpi.closing-saldo strong{color:#bd6419}.closing-supervisors{margin-top:15px}.closing-chart-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;margin-top:15px}.closing-team-chart{display:grid;gap:17px;margin-top:16px}.closing-team-row{display:grid;grid-template-columns:120px 1fr 155px;gap:12px;align-items:center}.closing-team-label b,.closing-team-label span{display:block}.closing-team-label span{font-size:10px;color:var(--g);font-weight:800;margin-top:3px}.closing-bars{height:34px;background:#eef4f0;border-radius:8px;position:relative;overflow:hidden}.closing-bar-meta,.closing-bar-real{position:absolute;left:0;height:10px;border-radius:7px;transition:width .35s ease}.closing-bar-meta{top:5px;background:var(--o);opacity:.7}.closing-bar-real{bottom:5px;background:var(--g)}.closing-team-row>small{font-size:9px;color:var(--muted);text-align:right}.channel-donut{display:flex;align-items:center;justify-content:center;gap:25px;min-height:210px}.donut{width:155px;height:155px;border-radius:50%;background:conic-gradient(var(--g) 0 calc(var(--ext)*1%),var(--o) calc(var(--ext)*1%) 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:23px;background:#fff;border-radius:50%}.donut>div{position:relative;z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:23px;color:var(--g)}.donut span{font-size:9px;color:var(--muted);margin-top:2px}.donut-legend{display:grid;gap:15px}.donut-legend div{display:grid;grid-template-columns:12px 1fr;column-gap:7px}.donut-legend i{width:10px;height:10px;border-radius:50%;margin-top:3px}.donut-legend b{font-size:11px}.donut-legend span{grid-column:2;font-size:10px;color:var(--muted);margin-top:2px}.dot-ext{background:var(--g)}.dot-tv{background:var(--o)}.closing-channel-chart{display:grid;gap:18px;margin-top:14px}.closing-channel-row{display:grid;grid-template-columns:190px 1fr 65px;gap:13px;align-items:center}.closing-channel-row>div:first-child b,.closing-channel-row>div:first-child span{display:block}.closing-channel-row>div:first-child span{font-size:10px;color:var(--muted);margin-top:3px}.closing-channel-track{height:15px;background:#eef4f0;border-radius:999px;overflow:hidden}.closing-channel-track i{display:block;height:100%;background:var(--g);border-radius:999px;transition:width .35s ease}.closing-channel-track i.tv-fill{background:var(--o)}.closing-channel-row>strong{text-align:right;color:var(--g)}
@media(max-width:1100px){.closing-kpis{grid-template-columns:repeat(3,1fr)}.closing-chart-grid{grid-template-columns:1fr}}
@media(max-width:720px){.closing-hero{flex-direction:column;align-items:flex-start}.closing-score{align-self:center}.closing-progress{min-width:0;width:100%}.closing-kpis,.closing-kpis.secondary{grid-template-columns:1fr}.closing-team-row,.closing-channel-row{grid-template-columns:1fr}.closing-team-row>small,.closing-channel-row>strong{text-align:left}.channel-donut{flex-direction:column}.donut-legend{width:100%}}

/* V4 - FECHAMENTO: detalhamento das duplas */
.closing-pairs .table-wrap{overflow:auto;margin-top:12px}.closing-pairs table{min-width:1280px}.closing-pairs tbody tr:hover{background:#f7fbf9}.closing-pairs tfoot td{background:#f1f8f4;border-top:2px solid var(--line);font-size:12px}.team-pill{display:inline-block;background:#eaf6f0;color:var(--g);padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.table-muted{font-size:9px;color:var(--muted)}.att-badge{display:inline-block;padding:6px 8px;border-radius:8px;font-size:10px;font-weight:900}.att-badge.good{background:#e5f6eb;color:#177442}.att-badge.near{background:#fff5d9;color:#9a6b00}.att-badge.low{background:#ffebe7;color:#b74734}.status-label{display:block;font-size:8px;color:var(--muted);margin-top:3px}.closing-pairs tbody td{vertical-align:middle}.closing-pairs tbody td:nth-child(7){color:var(--g)}

/* Destaque individual de vendas no fechamento */
.sales-value{display:inline-block;margin-top:5px;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:900;line-height:1.1;white-space:nowrap}.seller-sales{background:#e7f5ee;color:#176f4a;border:1px solid #bfe4d1}.tv-sales{background:#fff1df;color:#a85d12;border:1px solid #f0c995}.pair-sales{background:#e9eef8;color:#315c8c;border:1px solid #c8d5e8;box-shadow:0 2px 6px rgba(0,0,0,.05)}.closing-pairs tbody td:nth-child(4),.closing-pairs tbody td:nth-child(5),.closing-pairs tbody td:nth-child(7){vertical-align:middle}.closing-pairs tbody td:nth-child(7){color:inherit}

/* V4 - RANKING: visual e interatividade */
.ranking-hero{background:linear-gradient(120deg,var(--g2),var(--g));color:#fff;border-radius:20px;padding:24px 26px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:0 14px 35px rgba(9,64,43,.14)}
.ranking-hero h2{margin:5px 0;font-size:28px}.ranking-hero p{margin:0;opacity:.85}.ranking-summary{display:flex;gap:10px}.ranking-summary>div{min-width:155px;background:#ffffff18;border:1px solid #ffffff25;border-radius:14px;padding:12px}.ranking-summary span,.ranking-summary b,.ranking-summary strong{display:block}.ranking-summary span{font-size:9px;opacity:.8}.ranking-summary b{margin:4px 0;font-size:12px}.ranking-summary strong{font-size:18px;color:#ffd98a}.ranking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.ranking-card{min-height:290px}.ranking-list{display:grid;gap:7px;margin-top:10px}.rank-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:#f7faf8;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease}.rank-row:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.07)}.rank-position{font-weight:950;text-align:center}.rank-name b,.rank-name small{display:block}.rank-name small{font-size:9px;color:var(--muted);margin-top:2px}.rank-row>strong{font-size:12px}.rank-gold{background:#fff5d6!important;border-color:#f0d27b!important;color:#8b6200}.rank-silver{background:#f0f3f6!important;border-color:#d1d8df!important;color:#53616d}.rank-bronze{background:#f9eee7!important;border-color:#e7c5ad!important;color:#8b5433}.rank-normal{background:#f7faf8}.ranking-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px}.ranking-note>b{margin-right:5px}.ranking-note span{font-size:10px;font-weight:800}.legend-rank{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-1px;border:1px solid #ddd}.ranking-note p{flex-basis:100%;margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:900px){.ranking-grid{grid-template-columns:1fr}.ranking-hero{flex-direction:column;align-items:flex-start}.ranking-summary{width:100%}.ranking-summary>div{flex:1;min-width:0}}
@media(max-width:560px){.ranking-summary{display:grid;grid-template-columns:1fr 1fr}.ranking-summary>div{padding:10px}.ranking-summary strong{font-size:15px}.rank-row{grid-template-columns:34px 1fr auto;padding:8px}.ranking-card{min-height:0}}

/* V4 - AJUSTE VISUAL: cartões intuitivos e resultados de atenção */
.summary-kpis .kpi:nth-child(1),.grid .kpi:nth-child(1){border-top:4px solid #315c8c}
.summary-kpis .kpi:nth-child(2),.grid .kpi:nth-child(2){border-top:4px solid #6c4b9e}
.summary-kpis .kpi:nth-child(3),.grid .kpi.external{border-top:4px solid var(--g)}
.summary-kpis .kpi:nth-child(4),.grid .kpi.tv{border-top:4px solid var(--o)}
.summary-kpis .kpi:nth-child(5),.grid .kpi:nth-child(6){border-top:4px solid #2f7d62}
.summary-kpis .kpi:nth-child(6),.grid .kpi:nth-child(7){border-top:4px solid #4f8a9d}
.summary-kpis .kpi:nth-child(7),.grid .kpi:nth-child(8){border-top:4px solid #7b6aa6}
.summary-kpis .kpi:nth-child(8),.grid .kpi:nth-child(9){border-top:4px solid #8a8f96}
.summary-kpis .kpi:nth-child(9){border-top:4px solid #e2a11a;background:linear-gradient(145deg,#fff,#fff9e8)}
.summary-kpis .kpi:nth-child(1) strong,.grid .kpi:nth-child(1) strong{color:#315c8c}
.summary-kpis .kpi:nth-child(2) strong,.grid .kpi:nth-child(2) strong{color:#6c4b9e}
.summary-kpis .kpi:nth-child(5) strong,.grid .kpi:nth-child(6) strong{color:#2f7d62}
.summary-kpis .kpi:nth-child(6) strong,.grid .kpi:nth-child(7) strong{color:#4f8a9d}
.summary-kpis .kpi:nth-child(7) strong,.grid .kpi:nth-child(8) strong{color:#7b6aa6}
.summary-kpis .kpi:nth-child(8) strong,.grid .kpi:nth-child(9) strong{color:#5f6870}
.summary-kpis .kpi.attention{border-top-color:#e2a11a;background:linear-gradient(145deg,#fff,#fff9e8)}
.summary-kpis .kpi.attention strong{color:#bd6419}
.summary-columns .team-row>strong{padding:5px 7px;border-radius:7px;background:#e7f5ee}
.summary-columns .team-row>strong[style*="color"]{color:var(--g)}
/* Destaque visual de atenção sem alterar valores ou regras */
.alert-card{border-top:4px solid #e2a11a;background:linear-gradient(145deg,#fff,#fffaf0)}
.attention,.status-attention{box-shadow:0 4px 14px rgba(226,161,26,.12)}
/* Indicadores: leitura rápida dos cartões */
.grid .kpi.external{background:linear-gradient(145deg,#fff,#eef9f3)}
.grid .kpi.tv{background:linear-gradient(145deg,#fff,#fff4e8)}
.grid .kpi:nth-child(2){background:linear-gradient(145deg,#fff,#f5f1fb)}
.grid .kpi:nth-child(3){background:linear-gradient(145deg,#fff,#f4f7fb)}
.grid .kpi:nth-child(1){background:linear-gradient(145deg,#fff,#f4f7fb)}

/* V4.1 — estrutura de filtro: equipe → canal → responsável */
.filters select[aria-label="Vendedor ou Televendas"]{min-width:230px}
.filters select{cursor:pointer}
.result-value{font-weight:700;padding:3px 7px;border-radius:6px;display:inline-block}
.result-seller{background:#e9f7ef;color:#16724b}
.result-tv{background:#fff1e4;color:#b35a0b}
.result-total{background:#eef2f7;color:#315c8c}

/* V4.2 — REFINAMENTO VISUAL: somente apresentação, sem alteração de filtros, regras ou dados */
:root{
  --success:#16834f;
  --success-soft:#eaf7f0;
  --warning:#e39a19;
  --warning-soft:#fff5df;
  --danger:#c94b45;
  --danger-soft:#fff0ef;
  --info:#3975a5;
  --info-soft:#edf5fb;
}
.card,.kpi,.ranking-card,.chart-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(9,64,43,.10)}
.kpi{position:relative;overflow:hidden}
.kpi:after{content:"";position:absolute;right:-28px;top:-30px;width:82px;height:82px;border-radius:50%;background:currentColor;opacity:.035;pointer-events:none}
.kpi strong{letter-spacing:-.5px}
.kpi.external strong{color:var(--success)}
.kpi.tv strong{color:#c66b16}

/* Gráfico de atingimento com semáforo */
.enhanced-bars{align-items:flex-end;padding:12px 8px 0}
.enhanced-bars .chart-col{position:relative;min-width:72px}
.enhanced-bars .chart-bar{border-radius:9px 9px 4px 4px;box-shadow:inset 0 -8px 18px rgba(0,0,0,.08);min-height:10px}
.enhanced-bars .chart-col small{font-size:8px;font-weight:800;margin-top:3px;color:var(--muted)}
.enhanced-bars .bar-good .chart-bar{background:linear-gradient(180deg,#25a866,#16834f)}
.enhanced-bars .bar-near .chart-bar{background:linear-gradient(180deg,#f4b33e,#df8c10)}
.enhanced-bars .bar-low .chart-bar{background:linear-gradient(180deg,#e86a62,#c94b45)}
.enhanced-bars .bar-good .chart-value{color:var(--success)}
.enhanced-bars .bar-near .chart-value{color:#b9790c}
.enhanced-bars .bar-low .chart-value{color:var(--danger)}

/* Meta x realizado: leitura mais clara */
.compare-track,.closing-bars{background:linear-gradient(90deg,#f2f5f3,#e9efeb);border:1px solid #e0e9e4}
.compare-track i,.closing-bar-real{background:linear-gradient(90deg,#16834f,#36a96f)!important}
.compare-track em,.closing-bar-meta{background:linear-gradient(90deg,#8f9aa3,#b6bec4)!important;opacity:.75}
.legend-real{background:#16834f!important}
.legend-meta{background:#8f9aa3!important}

/* Canal: cores intuitivas e separação visual */
.channel-track,.closing-channel-track{background:#edf2ef;border:1px solid #e0e8e3}
.channel-track>div,.closing-channel-track i{background:linear-gradient(90deg,#16834f,#39a86f)!important}
.channel-track>div.tv-fill,.closing-channel-track i.tv-fill{background:linear-gradient(90deg,#f58220,#f7ad58)!important}
.dot-ext{background:#16834f!important}
.dot-tv{background:#f58220!important}

/* Ranking: barra proporcional para facilitar comparação */
.rank-name{min-width:0}
.rank-track{height:5px;background:#e9efeb;border-radius:99px;overflow:hidden;margin-top:6px}
.rank-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#087a4b,#f58220)}
.rank-row.rank-gold .rank-track i{background:#d6a72b}
.rank-row.rank-silver .rank-track i{background:#87949e}
.rank-row.rank-bronze .rank-track i{background:#b87345}
.rank-row.rank-normal .rank-track i{background:#4f8a72}

/* Status badges */
.att-badge.good{background:var(--success-soft);color:var(--success);border-color:#b9e2cc}
.att-badge.near{background:var(--warning-soft);color:#9b6707;border-color:#efd28e}
.att-badge.low{background:var(--danger-soft);color:var(--danger);border-color:#efc0bc}
.status-label{font-weight:800;color:var(--muted);display:block;margin-top:3px}

/* Hierarquia / supervisão */
.supervisor-block{border-left:4px solid var(--g);background:linear-gradient(145deg,#fff,#f5faf7)}
.supervisor-block:nth-child(2){border-left-color:var(--o);background:linear-gradient(145deg,#fff,#fff8ef)}
.team-pill{font-weight:800;padding:4px 8px;border-radius:999px;background:var(--info-soft);color:var(--info)}
.table-wrap{border-radius:14px}
.table-card table tbody tr:hover{background:#f7fbf9}

/* Destaques executivos */
.highlight-card{position:relative;overflow:hidden}
.highlight-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#087a4b,#f58220)}
.ranking-hero,.summary-hero,.closing-hero,.indicator-banner{box-shadow:0 16px 38px rgba(9,64,43,.13)!important}

/* Pequenos marcadores de contexto */
.filter-chip,.badge{box-shadow:0 2px 8px rgba(0,0,0,.04)}
.chart-caption{line-height:1.45}
@media(max-width:700px){
  .enhanced-bars .chart-col{min-width:54px}
  .enhanced-bars .chart-col b{font-size:9px}
  .rank-track{margin-top:4px}
}

/* Ranking — apresentação específica de Laboratórios e Produtos. Não altera os rankings de equipe. */
.ranking-people-grid{margin-bottom:18px}.ranking-section-title{grid-column:1/-1;padding:4px 2px 0}.ranking-section-title span{font-size:9px;font-weight:900;letter-spacing:1.8px;color:var(--o)}.ranking-section-title h2{margin:4px 0 3px;font-size:21px}.ranking-section-title p{margin:0;color:var(--muted);font-size:11px}.ranking-catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.ranking-catalog-card{border-radius:19px;padding:20px;overflow:hidden;position:relative}.ranking-catalog-card.lab{background:linear-gradient(145deg,#f7fcfa,#ffffff)}.ranking-catalog-card.product{background:linear-gradient(145deg,#fffaf5,#ffffff)}.catalog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line)}.catalog-kicker{display:inline-block;font-size:9px;font-weight:900;letter-spacing:1.4px;color:var(--g);margin-bottom:4px}.product .catalog-kicker{color:#b95c12}.catalog-head h3{margin:0 0 4px;font-size:17px}.catalog-head p{margin:0;color:var(--muted);font-size:10px}.catalog-badge{background:#edf7f2;color:var(--g);padding:6px 9px;border-radius:20px;font-size:9px;font-weight:900;white-space:nowrap}.product .catalog-badge{background:#fff0e4;color:#b95c12}.catalog-list{display:grid;gap:8px;margin-top:14px}.catalog-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fff}.catalog-medal{font-size:12px;font-weight:950;text-align:center}.catalog-main{min-width:0}.catalog-main>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.catalog-main b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-main small{font-size:9px;white-space:nowrap}.catalog-bar{height:6px;background:#e9efeb;border-radius:99px;overflow:hidden;margin-top:7px}.catalog-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--g),#4f9b7a)}.product .catalog-bar i{background:linear-gradient(90deg,var(--o),#e5a467)}.catalog-value{text-align:right;min-width:62px}.catalog-value strong{display:block;font-size:13px}.catalog-value span{display:block;font-size:8px;text-transform:uppercase;color:var(--muted);margin-top:2px}.catalog-row.rank-gold .catalog-medal{color:#9b7100}.catalog-row.rank-silver .catalog-medal{color:#65727d}.catalog-row.rank-bronze .catalog-medal{color:#9a6040}@media(max-width:900px){.ranking-catalog-grid{grid-template-columns:1fr}}@media(max-width:560px){.catalog-row{grid-template-columns:34px 1fr auto;padding:9px}.catalog-main>div:first-child{display:block}.catalog-main small{display:block;margin-top:2px}.catalog-value{min-width:52px}}

/* Ranking — gráficos intuitivos somente para Top Laboratórios, Top Produtos e Top Cidades. */
.ranking-people-grid{margin-bottom:18px}
.ranking-portfolio{margin-top:2px}
.portfolio-chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:stretch}
.ranking-chart-card{border-radius:19px;padding:20px;overflow:hidden;position:relative;background:#fff}
.ranking-chart-card.lab{background:linear-gradient(145deg,#f5fbf8,#fff)}
.ranking-chart-card.product{background:linear-gradient(145deg,#fff8f1,#fff)}
.ranking-chart-card.city{background:linear-gradient(145deg,#f5f8fb,#fff)}
.ranking-chart-card .catalog-kicker{font-size:9px;font-weight:950;letter-spacing:1.5px;color:var(--g)}
.ranking-chart-card.product .catalog-kicker{color:#b95c12}
.ranking-chart-card.city .catalog-kicker{color:#48677d}
.ranking-chart-card .catalog-badge{font-size:9px;font-weight:900;padding:6px 9px;border-radius:20px;background:#edf7f2;color:var(--g)}
.ranking-chart-card.product .catalog-badge{background:#fff0e4;color:#b95c12}
.ranking-chart-card.city .catalog-badge{background:#edf3f7;color:#48677d}
.visual-ranking{display:grid;gap:11px;margin-top:16px}
.visual-row{display:grid;grid-template-columns:28px minmax(90px,1fr) 1.15fr auto;align-items:center;gap:9px;padding:9px 8px;border-radius:12px;background:#ffffffb8;border:1px solid var(--line)}
.visual-rank{font-size:11px;font-weight:950;text-align:center;width:25px;height:25px;line-height:25px;border-radius:50%;background:#edf2ef;color:#476456}
.visual-row.rank-1 .visual-rank{background:#d9f0e4;color:#087a4b}
.visual-row.rank-2 .visual-rank{background:#e8edf1;color:#596872}
.visual-row.rank-3 .visual-rank{background:#f6e7dc;color:#955c39}
.visual-label{min-width:0}.visual-label b,.visual-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-label b{font-size:11px}.visual-label small{font-size:8px;color:var(--muted);margin-top:2px}
.visual-track{height:9px;background:#e8eee9;border-radius:99px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.visual-track i{display:block;height:100%;border-radius:99px;transition:width .3s ease}
.visual-row.high .visual-track i{background:linear-gradient(90deg,#087a4b,#45a87d)}
.visual-row.mid .visual-track i{background:linear-gradient(90deg,#d79a20,#f0bf5a)}
.visual-row.low .visual-track i{background:linear-gradient(90deg,#d86b38,#e99a70)}
.visual-row>strong{font-size:11px;min-width:62px;text-align:right}
.visual-footer{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;padding-top:11px;border-top:1px solid var(--line);font-size:8px;color:var(--muted);font-weight:800}
.result-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:-1px}.result-dot.high{background:#087a4b}.result-dot.mid{background:#d79a20}.result-dot.low{background:#d86b38}
@media(max-width:1050px){.portfolio-chart-grid{grid-template-columns:1fr 1fr}.ranking-chart-card.city{grid-column:1/-1}}
@media(max-width:900px){.portfolio-chart-grid{grid-template-columns:1fr}.ranking-chart-card.city{grid-column:auto}.visual-row{grid-template-columns:28px minmax(100px,1fr) 1fr auto}}
@media(max-width:560px){.visual-row{grid-template-columns:28px 1fr auto}.visual-track{grid-column:2/4}.visual-row>strong{grid-column:3;grid-row:1}.visual-label b{font-size:10px}.visual-footer{gap:6px}}

/* V4.6 — correção exclusiva de largura e responsividade, sem alteração de conteúdo */
html,body{max-width:100%;overflow-x:hidden}
body{width:100%}
.shell{width:100%;min-width:0}
.shell>main{min-width:0;width:100%;overflow-x:hidden}
.content{width:100%;max-width:1500px;min-width:0;margin-left:auto;margin-right:auto;overflow:visible}
.content>*{max-width:100%;min-width:0}
.grid,.summary-kpis,.columns,.summary-columns,.chart-grid,.ranking-grid,.ranking-catalog-grid,.portfolio-chart-grid,.closing-kpis,.closing-kpis.secondary,.closing-chart-grid,.team-highlights{min-width:0}
.grid>*,.summary-kpis>*,.columns>*,.summary-columns>*,.chart-grid>*,.ranking-grid>*,.ranking-catalog-grid>*,.portfolio-chart-grid>*,.closing-kpis>*,.closing-chart-grid>*,.team-highlights>*{min-width:0;max-width:100%}
.title,.section-head,.hero,.summary-hero,.indicator-banner,.ranking-hero,.closing-hero{min-width:0;max-width:100%}
.title>*,.section-head>*{min-width:0}
.filters{min-width:0;max-width:100%}
.filters select{max-width:100%}
.table-card,.table-wrap,.closing-pairs .table-wrap{max-width:100%;overflow-x:auto}
.table-card table,.table-wrap table,.closing-pairs table{max-width:none}
.bar-chart,.enhanced-bars{max-width:100%;overflow-x:auto}
@media(max-width:1200px){.content{padding-left:22px;padding-right:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.content{padding-left:16px;padding-right:16px}.title h1{font-size:25px}.hero,.summary-hero,.indicator-banner,.ranking-hero,.closing-hero{width:100%}.ranking-summary{max-width:100%;overflow:hidden}.filters{width:100%}.filters select{flex:1 1 160px;min-width:0}}
@media(max-width:480px){.content{padding-left:12px;padding-right:12px}.card{padding:14px}.grid,.summary-kpis,.ops-grid{grid-template-columns:1fr}.ranking-summary{display:grid;grid-template-columns:1fr 1fr}.ranking-summary>div{min-width:0}.hero-score,.goal-ring{max-width:100%}}

/* V4.7 — KPIs compactos e informativos; sem alteração dos dados */
.summary-kpis,.grid{align-items:stretch}
.card.kpi{padding:13px 15px;border-radius:14px;min-height:108px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.kpi strong{font-size:20px;margin:5px 0 2px;line-height:1.1}
.kpi span{font-size:10px;letter-spacing:.35px}
.kpi small{font-size:10px;line-height:1.25}
.kpi-extra{display:block;font-style:normal;font-size:10px;font-weight:800;color:var(--g);margin-top:5px;padding-top:5px;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.attention .kpi-extra{color:#b95c12}
.kpi.external .kpi-extra,.kpi.tv .kpi-extra{color:var(--muted)}
@media(max-width:1050px){.card.kpi{min-height:104px}}
@media(max-width:720px){.card.kpi{min-height:96px;padding:12px 14px}.kpi strong{font-size:19px}}

/* V4.8 — apresentação visual dos resultados; sem alteração de dados ou regras */
.hierarchy-subtle{background:#fbfdfc;border-color:#e5eee9;box-shadow:none!important;padding:14px 16px;opacity:.92}
.hierarchy-subtle h3{font-size:14px;margin-bottom:4px}.hierarchy-subtle .card-sub{font-size:10px}.hierarchy-subtle .badge{font-size:8px;padding:4px 7px;opacity:.8}.hierarchy-subtle .supervisor-grid{gap:9px}.hierarchy-subtle .supervisor-block{padding:10px 11px;background:#f8fbf9;border:1px solid #e8f0eb;border-radius:10px}.hierarchy-subtle .supervisor-block b{font-size:12px}.hierarchy-subtle .supervisor-block small{font-size:9px;color:#7d8983}
.card.kpi.result-good{border-top:4px solid #087a4b;background:linear-gradient(180deg,#f5fcf8,#fff)}
.card.kpi.result-near{border-top:4px solid #d79a20;background:linear-gradient(180deg,#fffaf0,#fff)}
.card.kpi.result-low{border-top:4px solid #d86b38;background:linear-gradient(180deg,#fff7f2,#fff)}
.card.kpi.external{border-left:4px solid #087a4b}.card.kpi.tv{border-left:4px solid #f58220}
.sales-horizontal-card,.sales-funnel-card{min-width:0}.sales-funnel{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 0 3px}.funnel-stage{min-height:48px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;box-sizing:border-box;transition:width .25s ease}.funnel-stage span{font-size:10px;font-weight:900;text-transform:uppercase}.funnel-stage b{font-size:14px}.funnel-stage small{font-size:9px}.funnel-meta{width:100%;background:#edf7f2;border:1px solid #cfe7da;color:#176247}.funnel-real{background:#e5f3ec;border:1px solid #b9dccb;color:#087a4b}.funnel-gap{background:#fff0e4;border:1px solid #f4d1b0;color:#a75a20}.sales-horizontal-card .compare-chart{gap:13px}.sales-horizontal-card .compare-track{height:26px}.sales-horizontal-card .compare-track i{height:10px;top:4px}.sales-horizontal-card .compare-track em{height:8px;bottom:4px}.sales-horizontal-card .compare-row{grid-template-columns:125px 1fr 58px}
@media(max-width:1050px){.sales-funnel-card{grid-column:1/-1}.hierarchy-subtle{padding:13px 14px}}
@media(max-width:720px){.hierarchy-subtle{opacity:.9}.sales-horizontal-card .compare-row{grid-template-columns:100px 1fr 50px}.funnel-stage{padding:8px 10px}.funnel-stage b{font-size:12px}.funnel-stage small{font-size:8px}}


/* V4.9 — assinatura digital personalizada no rodapé de todos os módulos; sem alteração do conteúdo existente */
.digital-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:24px;padding:14px 4px 8px;border-top:1px solid var(--line);color:var(--muted)}
.footer-brand{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}
.footer-brand b{color:var(--g);font-weight:950;letter-spacing:.5px}
.digital-signature{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:auto;line-height:1}
.digital-signature small{font-size:8px;font-weight:700;color:var(--muted);align-self:flex-end;margin-bottom:3px}
.digital-signature strong{font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:27px;font-weight:600;letter-spacing:-1.1px;color:#174f3b;white-space:nowrap;transform:rotate(-2deg);text-shadow:.2px .2px 0 #174f3b}
.digital-signature em{font-size:8px;font-style:normal;font-weight:900;letter-spacing:.65px;text-transform:uppercase;color:#708078;align-self:flex-end;margin-bottom:2px}
.footer-updated{font-size:8px;white-space:nowrap}
@media(max-width:720px){.digital-footer{justify-content:center;text-align:center;gap:9px}.footer-brand,.footer-updated{width:100%;justify-content:center}.digital-signature{margin:0 auto;max-width:100%}.digital-signature strong{font-size:24px}.digital-signature small,.digital-signature em{font-size:7px}}
@media(max-width:420px){.digital-signature{gap:5px}.digital-signature strong{font-size:21px}.digital-signature small,.digital-signature em{font-size:6px}}


/* V4.10 — ajuste exclusivo da assinatura digital */
.digital-signature{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:1px;
  line-height:1;
}
.digital-signature small{
  font-size:9px;
  color:#555;
  font-weight:400;
}
.digital-signature strong{
  font-family:"Segoe Script","Lucida Handwriting","Brush Script MT",cursive;
  font-size:17px;
  font-weight:400;
  font-style:italic;
  letter-spacing:.15px;
  color:#000;
  white-space:nowrap;
}
.digital-signature em{display:none!important}
@media(max-width:760px){
  .digital-signature strong{font-size:15px}
  .digital-signature small{font-size:8px}
}
.login-card input[type=password]{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.login-card input[type=password]:focus{outline:2px solid #087a4b22;border-color:var(--g)}.digital-signature{display:flex;align-items:baseline;gap:7px}.digital-signature small{font-size:9px}.digital-signature strong{font-family:"Segoe Script","Brush Script MT",cursive;font-size:18px;font-weight:400;color:#111;letter-spacing:.2px}.digital-footer{align-items:center}

.access-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}.access-actions p{margin:4px 0 0;font-size:11px}.access-actions .primary{margin-top:0;white-space:nowrap}.secondary{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:10px;background:#fff;color:var(--g2);font-weight:800;cursor:pointer}@media(max-width:720px){.access-actions{flex-direction:column;align-items:stretch}.access-actions .primary{width:100%}}

/* V4.16 — substituição exclusiva do logotipo pela identidade fornecida pelo usuário */
.brand-logo{display:flex;align-items:center}.brand-logo img{display:block;width:235px;height:auto;object-fit:contain}.brand-logo-side img{width:190px}.login-card .brand-logo{margin-bottom:6px}.login-card .brand-logo img{width:250px}@media(max-width:720px){.login-card .brand-logo img{width:210px}.brand-logo-side img{width:165px}}

/* V4.18 — refinamento visual exclusivo da barra lateral; conteúdo e funcionalidades preservados */
aside{
  background:
    radial-gradient(circle at 88% 8%, rgba(245,130,32,.18) 0 55px, transparent 56px),
    linear-gradient(165deg,#063f2a 0%,#07543a 48%,#087a4b 100%);
  padding:20px 14px 22px;
  border-right:1px solid rgba(255,255,255,.10);
  box-shadow:8px 0 28px rgba(6,63,42,.10);
  overflow:hidden;
}
aside::before{
  content:"";
  position:absolute;
  top:-80px;
  left:-90px;
  width:190px;
  height:190px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  pointer-events:none;
}
aside::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:80px;
  width:140px;
  height:140px;
  border:22px solid rgba(245,130,32,.08);
  border-radius:50%;
  pointer-events:none;
}
.brand-logo-side{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:82px;
  padding:12px 10px;
  margin:0 2px 12px;
  background:#fff;
  border-radius:15px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.brand-logo-side img{
  width:190px;
  max-width:100%;
  height:auto;
}
.side-sub{
  position:relative;
  z-index:1;
  text-align:center;
  color:#dff4eb;
  opacity:1;
  font-size:8px;
  letter-spacing:2.5px;
  margin:0 8px 18px;
}
nav{position:relative;z-index:1}
nav button{
  color:#dff3eb;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;
}
nav button:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.10);
  color:#fff;
  transform:translateX(2px);
}
nav button.active{
  background:#fff;
  color:#064631;
  border-color:rgba(255,255,255,.75);
  box-shadow:0 6px 16px rgba(0,0,0,.10);
  font-weight:900;
}
.logout{
  z-index:2;
  background:rgba(0,0,0,.10);
  border-color:rgba(255,255,255,.22);
  transition:background .18s ease,border-color .18s ease;
}
.logout:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.35)}
@media(max-width:720px){
  aside{padding:14px 12px 16px}
  .brand-logo-side{min-height:70px;margin-bottom:9px}
  .brand-logo-side img{width:165px}
  .side-sub{margin-bottom:12px}
}

/* V4.19 — nova experiência visual da tela de acesso DIS360 */
.login{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  height:100vh;
  height:100svh;
  min-height:0;
  padding:20px 18px;
  background:
    linear-gradient(118deg,rgba(6,63,42,.88) 0%,rgba(8,122,75,.72) 43%,rgba(245,130,32,.62) 100%),
    url("fundo-distribuicao-dis360.png") center/cover no-repeat;
}
.login::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.42;
  background-image:linear-gradient(rgba(6,63,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(6,63,42,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
}
.login-topline{position:absolute;inset:0 0 auto;height:9px;background:linear-gradient(90deg,#063f2a 0%,#087a4b 55%,#f58220 100%);box-shadow:0 3px 16px rgba(6,63,42,.18)}
.login-watermark{position:absolute;right:-42px;bottom:-28px;z-index:-2;font-size:clamp(110px,22vw,320px);line-height:.8;font-weight:950;letter-spacing:-.09em;color:rgba(255,255,255,.075);text-shadow:0 2px 25px rgba(6,63,42,.10);user-select:none}.login-watermark span{color:rgba(255,208,164,.13)}
.login-orb{position:absolute;z-index:-1;border-radius:50%;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 0 28px rgba(255,255,255,.045)}
.login-orb-one{width:310px;height:310px;left:-150px;top:10%}.login-orb-two{width:180px;height:180px;right:8%;top:-85px;border-color:rgba(245,130,32,.16)}
.login-card{position:relative;width:min(480px,94vw);padding:38px 42px 30px;border:1px solid rgba(255,255,255,.82);border-radius:26px;background:rgba(255,255,255,.93);box-shadow:0 30px 80px rgba(3,37,24,.32),0 3px 12px rgba(6,63,42,.10);backdrop-filter:blur(16px)}
.login-accent{position:absolute;left:38px;right:38px;top:0;height:5px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,var(--g2),var(--g) 65%,var(--o))}
.login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.login-card .login-brand-row .brand-logo{margin:0}.login-card .login-brand-row .brand-logo img{width:220px}
.dis360-mark{display:flex;align-items:baseline;font-size:22px;font-weight:950;letter-spacing:-1.5px;white-space:nowrap}.dis360-mark b{color:var(--g2)}.dis360-mark span{color:var(--o)}
.login-eyebrow{font-size:10px;font-weight:900;letter-spacing:2.2px;color:var(--g);text-transform:uppercase;margin-bottom:8px}.login-card h1{font-size:29px;letter-spacing:-.7px;color:#123b2e;margin:0 0 8px}.login-intro{font-size:13px;line-height:1.55;margin:0 0 22px}
.login-field{margin-top:14px}.login-field label{margin:0 0 7px;font-size:11px;letter-spacing:.35px;color:#315d4d}.input-shell{display:flex;align-items:center;border:1px solid #d5e4dc;border-radius:13px;background:#fafdFB;transition:border-color .18s,box-shadow .18s,background .18s}.input-shell:focus-within{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(8,122,75,.09)}.input-shell>span{width:43px;text-align:center;font-size:15px;filter:grayscale(1);opacity:.55}.input-shell input,.login-card .input-shell input[type=password]{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;padding:13px 13px 13px 0;color:var(--text)}
.login-primary{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:14px 17px;border-radius:13px;background:linear-gradient(100deg,var(--g2),var(--g));box-shadow:0 9px 20px rgba(8,122,75,.20);transition:transform .18s,box-shadow .18s}.login-primary:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(8,122,75,.26)}.login-primary b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.17);font-size:17px}
.login-message{min-height:15px;margin-top:8px;color:#b23a2d;font-weight:800}.login-first-access{padding:10px 12px;margin-top:7px;border-radius:10px;background:#f2f7f4;color:#62756d;font-size:10px;text-align:center}.login-first-access b{color:var(--g2)}
.login-divider{display:flex;align-items:center;gap:10px;margin:15px 0 0;color:#93a59d;font-size:10px}.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:var(--line)}.login-admin{margin-top:10px;border-color:#cbded4;background:#fff;transition:background .18s,border-color .18s,color .18s}.login-admin:hover{border-color:var(--g);background:#eef8f3;color:var(--g)}
.login-footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:9px;color:#819088}.login-footer span{font-weight:800;color:#426557}.login-footer small{font-size:9px;text-align:right}
@media(max-width:560px){.login{padding:24px 12px}.login-card{padding:32px 24px 24px;border-radius:22px}.login-accent{left:24px;right:24px}.login-brand-row{align-items:flex-start}.login-card .login-brand-row .brand-logo img{width:185px}.dis360-mark{font-size:18px}.login-footer{flex-direction:column;text-align:center}.login-footer small{text-align:center}}

/* V4.21 — login integralmente ajustado à altura útil, sem rolagem */
@media(max-height:820px){
  .login{padding:12px 16px}
  .login-card{padding:27px 38px 20px;border-radius:22px}
  .login-brand-row{margin-bottom:10px}
  .login-card .login-brand-row .brand-logo img{width:190px}
  .dis360-mark{font-size:19px}
  .login-eyebrow{margin-bottom:5px}
  .login-card h1{font-size:25px;margin-bottom:5px}
  .login-intro{font-size:12px;line-height:1.4;margin-bottom:12px}
  .login-field{margin-top:9px}
  .login-field label{margin-bottom:5px}
  .input-shell input,.login-card .input-shell input[type=password]{padding-top:10px;padding-bottom:10px}
  .login-primary{margin-top:13px;padding:11px 15px}
  .login-message{margin-top:4px;min-height:10px}
  .login-first-access{padding:7px 10px;margin-top:3px}
  .login-divider{margin-top:9px}
  .login-admin{margin-top:7px;padding:9px}
  .login-footer{margin-top:12px;padding-top:10px}
}
@media(max-height:650px){
  .login-card{padding:21px 34px 15px}
  .login-brand-row{margin-bottom:6px}
  .login-card .login-brand-row .brand-logo img{width:165px}
  .login-eyebrow,.login-intro,.login-first-access,.login-footer{display:none}
  .login-card h1{font-size:22px;margin-bottom:6px}
  .login-field{margin-top:7px}
  .login-primary{margin-top:10px}
  .login-divider{margin-top:6px}
}
@media(max-width:560px) and (max-height:820px){
  .login{padding:10px}
  .login-card{padding:26px 23px 18px}
}

/* V4.22 — Acesso Rápido e retorno global */
.header-actions{display:flex;align-items:center;gap:10px}.quick-home{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:20px;padding:7px 11px;background:#fff;color:var(--g2);font-size:10px;cursor:pointer;transition:.18s}.quick-home span{font-size:16px;line-height:1}.quick-home:hover,.quick-home.is-home{border-color:#bcd8ca;background:#edf7f2;color:var(--g)}
.quick-welcome{position:relative;overflow:hidden;min-height:235px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;border-radius:22px;color:#fff;background:linear-gradient(105deg,rgba(6,63,42,.96),rgba(8,122,75,.86) 57%,rgba(245,130,32,.74)),url("fundo-distribuicao-dis360.png") center/cover no-repeat;box-shadow:0 17px 40px rgba(6,63,42,.17)}.quick-welcome::after{content:"DIS360";position:absolute;right:-15px;bottom:-35px;font-size:128px;font-weight:950;letter-spacing:-12px;color:rgba(255,255,255,.055);pointer-events:none}.quick-welcome-content{position:relative;z-index:1;max-width:670px}.quick-welcome .eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:2.2px;color:#ffd1aa}.quick-welcome h1{font-size:34px;margin:8px 0 9px;letter-spacing:-1px}.quick-welcome p{max-width:590px;margin:0;line-height:1.55;color:rgba(255,255,255,.82)}.quick-context{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.quick-context span{padding:6px 10px;border:1px solid rgba(255,255,255,.19);border-radius:20px;background:rgba(255,255,255,.10);font-size:10px;font-weight:800}.quick-brand{position:relative;z-index:1;min-width:175px;text-align:right;font-size:45px;font-weight:950;letter-spacing:-4px}.quick-brand b{color:#fff}.quick-brand span{color:#ff9a45}.quick-brand small{display:block;margin-top:-4px;font-size:8px;letter-spacing:2px;color:rgba(255,255,255,.75)}
.quick-status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:15px}.quick-status article{padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.quick-status span,.quick-status small{display:block;font-size:9px;color:var(--muted)}.quick-status span{font-weight:900;text-transform:uppercase;letter-spacing:.5px}.quick-status strong{display:block;margin:7px 0 3px;font-size:19px;color:var(--g2)}
.quick-section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 2px 12px}.quick-section-title span{font-size:9px;font-weight:900;letter-spacing:1.8px;color:var(--o)}.quick-section-title h2{margin:4px 0 0;font-size:23px}.quick-section-title p{margin:0;color:var(--muted);font-size:11px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.quick-card{min-height:112px;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}.quick-card:hover{transform:translateY(-2px);border-color:#b8d8c8;box-shadow:0 15px 32px rgba(9,64,43,.13)}.quick-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e5f5ed,#fff1e5);color:var(--g);font-size:20px;font-weight:900}.quick-copy b,.quick-copy small{display:block}.quick-copy b{margin-bottom:6px;font-size:13px}.quick-copy small{font-size:10px;line-height:1.45;color:var(--muted)}.quick-card i{font-style:normal;color:var(--o);font-size:18px}
@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-status{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.header-actions{gap:5px}.quick-home b{display:none}.quick-home{padding:6px 9px}.quick-welcome{min-height:210px;padding:28px 23px}.quick-welcome h1{font-size:28px}.quick-brand{display:none}.quick-grid{grid-template-columns:1fr}.quick-section-title{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:430px){.quick-status{grid-template-columns:1fr 1fr}.quick-status article{padding:12px}.quick-welcome{padding:24px 19px}.quick-context{margin-top:14px}}

/* V4.23 — controles de escopo e filtros protegidos por perfil */
.filter-zone{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.scope-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:15px;background:#eaf5ef;color:var(--g2);font-size:9px;font-weight:900;letter-spacing:.25px}.filters select:disabled{cursor:not-allowed;color:#557066;background:#edf3f0;border-color:#d7e3dd;opacity:1}.access-control-card .table-card{max-height:560px}.access-select{min-width:112px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:11px;font-weight:700}.access-select:disabled{background:#edf3f0;color:#61736b}.access-legend{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 5px}.access-legend span{padding:8px 10px;border-radius:10px;background:#f3f8f5;color:var(--muted);font-size:10px}.access-legend b{color:var(--g2)}
@media(max-width:720px){.filter-zone{align-items:stretch}.scope-badge{align-self:flex-start}.access-legend{flex-direction:column}}

/* V4.25 — densidade otimizada apenas nos módulos internos */
.module-content{max-width:1320px;padding:20px 22px;overflow-x:hidden}
.module-content .title{margin-bottom:14px;gap:14px}.module-content .title h1{font-size:25px}.module-content .title p{font-size:11px;margin-top:3px}
.module-content .card{padding:14px;border-radius:14px}.module-content .card h3{margin-bottom:12px;font-size:15px}
.module-content .summary-hero,.module-content .indicator-banner,.module-content .closing-hero,.module-content .ranking-hero{padding:18px 21px;border-radius:16px;margin-bottom:12px}
.module-content .summary-intro h2,.module-content .indicator-banner h2,.module-content .closing-hero h2,.module-content .ranking-hero h2{font-size:23px}
.module-content .goal-ring,.module-content .closing-score{min-width:116px;width:116px;height:116px;border-width:6px}.module-content .goal-ring strong,.module-content .closing-score strong{font-size:23px}
.module-content .summary-kpis,.module-content>.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.module-content .card.kpi{min-height:92px;padding:11px 13px}.module-content .kpi span{font-size:9px}.module-content .kpi strong{font-size:18px;margin:5px 0 2px}.module-content .kpi small,.module-content .kpi-extra{font-size:9px}
.module-content .summary-columns,.module-content .summary-columns.lower,.module-content .chart-grid,.module-content .closing-chart-grid,.module-content .ranking-grid{gap:11px;margin-top:11px}
.module-content .summary-columns{grid-template-columns:1.35fr .8fr}.module-content .summary-columns.lower{grid-template-columns:1fr 1fr}.module-content .team-list{gap:11px}.module-content .team-row{grid-template-columns:135px 1fr 52px;gap:9px}
.module-content .team-highlights{gap:10px;margin-top:11px}.module-content .team-highlights .card{min-height:100px}.module-content .team-highlights h3{font-size:16px}.module-content .team-highlights strong{font-size:23px}
.module-content .chart-card{min-height:245px}.module-content .bar-chart{height:175px;padding-top:7px}.module-content .compare-chart{gap:12px;margin-top:10px}.module-content .compare-row{grid-template-columns:125px 1fr 48px}
.module-content .closing-kpis{gap:9px}.module-content .closing-kpis.secondary{gap:9px;margin-top:9px}.module-content .closing-kpis .card{min-height:92px}.module-content .closing-supervisors{margin-top:11px}.module-content .channel-donut{min-height:175px}.module-content .donut{width:125px;height:125px}.module-content .closing-team-chart,.module-content .closing-channel-chart{gap:12px;margin-top:10px}
.module-content .ranking-card{min-height:250px}.module-content .ranking-list{gap:5px;margin-top:7px}.module-content .rank-row{padding:7px 8px}.module-content .ranking-people-grid{margin-bottom:12px}.module-content .portfolio-chart-grid{gap:10px}.module-content .ranking-chart-card{padding:14px}.module-content .visual-row{padding:7px 8px}.module-content .ranking-note{margin-top:10px}
.module-content .table-card,.module-content .table-wrap,.module-content .closing-pairs .table-wrap{overflow-x:hidden}.module-content table,.module-content .closing-pairs table{width:100%;min-width:0!important;table-layout:auto}.module-content th,.module-content td{padding:7px 5px;font-size:9px;white-space:normal;overflow-wrap:anywhere}.module-content th{font-size:8px}.module-content .table-muted,.module-content .status-label{font-size:7px}.module-content .att-badge,.module-content .team-pill{padding:4px 5px;font-size:8px}.module-content .access-select{min-width:88px;width:100%;padding:6px 5px;font-size:9px}
.module-content footer{margin-top:16px;padding-top:10px}
@media(max-width:1180px){.module-content .summary-kpis,.module-content>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-content .closing-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.module-content .portfolio-chart-grid{grid-template-columns:1fr 1fr}.module-content .ranking-chart-card.city{grid-column:1/-1}}
@media(max-width:900px){.module-content{padding:18px}.module-content .summary-columns,.module-content .summary-columns.lower,.module-content .chart-grid,.module-content .closing-chart-grid{grid-template-columns:1fr}.module-content .summary-kpis,.module-content>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-content .team-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.module-content .portfolio-chart-grid{grid-template-columns:1fr}.module-content .ranking-chart-card.city{grid-column:auto}}
@media(max-width:720px){.module-content{padding:15px 12px}.module-content .summary-kpis,.module-content>.grid,.module-content .closing-kpis,.module-content .closing-kpis.secondary,.module-content .team-highlights{grid-template-columns:1fr}.module-content .card{padding:13px}.module-content .summary-hero,.module-content .indicator-banner,.module-content .closing-hero,.module-content .ranking-hero{padding:16px}.module-content table{font-size:8px}.module-content th,.module-content td{padding:5px 3px;font-size:7px}}

/* V4.26 — filtros padronizados, compactos e intuitivos */
.filter-zone{position:relative;display:flex;flex-direction:row;align-items:flex-end;gap:9px;max-width:100%;padding:8px 9px;border-radius:14px;background:linear-gradient(105deg,#063f2a 0%,#087a4b 70%,#d66b18 100%);box-shadow:0 8px 20px rgba(6,63,42,.14)}
.filter-zone .scope-badge{align-self:center;flex:0 0 auto;padding:5px 8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff;white-space:nowrap}
.filter-zone .filters{display:grid;grid-template-columns:136px 152px minmax(205px,1fr);align-items:end;gap:7px;width:auto}
.filter-item{display:block;min-width:0;color:#fff}.filter-item>span{display:block;margin:0 0 3px 3px;font-size:8px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.82)}
.filter-item select,.filter-zone .filters select{width:100%;min-width:0;height:34px;padding:6px 29px 6px 9px;border:1px solid rgba(255,255,255,.65);border-radius:9px;background:#fff;color:var(--g2);font-size:10px;font-weight:800;box-shadow:0 3px 8px rgba(0,0,0,.08)}
.filter-zone .filters select:focus{outline:2px solid #ffc08a;outline-offset:1px}.filter-zone .filters select:disabled{border-color:rgba(255,255,255,.38);background:#e9f0ec;color:#5a6e65;box-shadow:none}
.quick-filter-panel{display:flex;justify-content:flex-end;margin-top:12px}.quick-filter-panel .filter-zone{width:100%;justify-content:flex-end}.quick-filter-panel .filters{width:min(100%,510px)}
@media(max-width:1180px){.module-content .title{align-items:stretch;flex-direction:column}.module-content .filter-zone{align-self:stretch;justify-content:flex-end}}
@media(max-width:760px){.filter-zone,.quick-filter-panel .filter-zone{flex-direction:column;align-items:stretch}.filter-zone .scope-badge{align-self:flex-start}.filter-zone .filters,.quick-filter-panel .filters{grid-template-columns:1fr 1fr;width:100%}.filter-user{grid-column:1/-1}}
@media(max-width:430px){.filter-zone .filters,.quick-filter-panel .filters{grid-template-columns:1fr}.filter-user{grid-column:auto}}


/* DIS360 V5.04 - Status Base Real */
#status-base-dis360{
  background:#ffffff;
  border-bottom:1px solid #dce8e1;
  color:#17382c;
}
