/**
 * styles.css — identidade visual e responsividade do painel.
 * Não contém configurações ou objetos Qlik.
 */

:root{
  --blue:#2CA4C6; --gold:#EBBE78; --green:#B4D2AF;
  --blue-dark:#197c9a; --green-dark:#588e54; --gold-dark:#b98338;
  --ink:#14212b; --muted:#647482; --line:#dfe7ec; --bg:#f6f9fb; --card:#ffffff;
}
*{box-sizing:border-box} body{margin:0;font-family:'Exo 2',Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
.app-shell{display:grid;grid-template-columns:205px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--blue) 0%,#2397b8 100%);color:white;padding:20px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:10}
.brand{height:82px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.brand img{max-width:176px;max-height:76px;object-fit:contain;filter:brightness(0) invert(1)}
.nav-btn{width:100%;border:0;border-radius:10px;background:transparent;color:#f4fbfe;padding:14px 12px;margin:4px 0;text-align:left;font-weight:700;cursor:pointer;font-size:13px;line-height:1.35}.nav-btn:hover{background:rgba(255,255,255,.14)}.nav-btn.active{background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.12));color:#fff;box-shadow:inset 3px 0 0 #EBBE78}
.nav-icon{font-size:19px;margin-right:9px;vertical-align:-2px}.side-meta{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);padding:14px 8px 0;font-size:11px;line-height:1.55;color:#d9e7ee}
.content{min-width:0}
header{background:white;border-bottom:1px solid var(--line);padding:16px 22px;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:5}
.title h1{font-size:22px;margin:0;color:#0a3f55}.title small{color:var(--muted)}
.controls{margin-left:auto;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.control{display:flex;flex-direction:column;gap:4px;justify-content:flex-end}.control label{min-height:14px;font-size:11px;font-weight:700;color:#52606b;line-height:14px}.control select{min-width:220px;height:36px;padding:8px 12px;border:1px solid #cfd9df;border-radius:8px;background:white;font-size:13px}#clientGroupControl .multi-filter,#espClientGroupControl .multi-filter{min-width:250px}#clientUfControl .multi-filter,#espClientUfControl .multi-filter,#espUfControl .multi-filter{min-width:150px}#year{min-width:120px}#referenceMonth{min-width:180px}.filter-context{display:inline;margin-left:4px;font-size:10px;font-weight:700;color:#197c9a;white-space:nowrap}.control[hidden]{display:none!important}.specialist-control select{min-width:210px}.multi-filter-source{display:none!important}.multi-filter{position:relative;min-width:220px}.specialist-control .multi-filter{min-width:210px}.multi-filter-trigger{width:100%;height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border:1px solid #cfd9df;border-radius:8px;background:#fff;color:#243746;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.multi-filter-trigger:hover{border-color:#8fc8d8}.multi-filter-trigger:disabled{background:#f5f7f8;color:#8a98a3;cursor:wait}.multi-filter-trigger .multi-filter-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:235px}.multi-filter-trigger .multi-filter-caret{font-size:10px;color:#647482}.multi-filter.open .multi-filter-trigger{border-color:var(--blue);box-shadow:0 0 0 3px rgba(44,164,198,.12)}.multi-filter-panel{position:absolute;z-index:80;top:calc(100% + 5px);left:0;width:330px;max-width:min(88vw,380px);padding:9px;background:#fff;border:1px solid #cedbe2;border-radius:10px;box-shadow:0 14px 32px rgba(15,56,78,.18)}.multi-filter-search{width:100%;height:34px;padding:7px 10px;border:1px solid #d3dde3;border-radius:7px;font-family:inherit;font-size:12px;outline:0}.multi-filter-search:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(44,164,198,.11)}.multi-filter-all{display:flex;align-items:center;gap:8px;margin-top:7px;padding:7px 8px;border-radius:7px;background:#f6fafc;color:#173443;font-size:11px;font-weight:800;cursor:pointer}.multi-filter-list{max-height:250px;overflow:auto;margin-top:5px;border-top:1px solid #edf2f5}.multi-filter-option{display:flex;align-items:flex-start;gap:8px;padding:7px 6px;border-bottom:1px solid #f0f3f5;font-size:11px;line-height:1.25;color:#334155;cursor:pointer}.multi-filter-option:hover{background:#f4fbfd}.multi-filter-option input,.multi-filter-all input{margin:1px 0 0;accent-color:var(--blue)}.multi-filter-option span{min-width:0;overflow-wrap:anywhere}.multi-filter-note{padding:7px 6px 2px;color:#7a8791;font-size:9.5px}.multi-filter-count{margin-left:auto;color:#197c9a;font-size:9.5px}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.primary{background:#0b7a3c;color:white}.btn.secondary{background:#0f6f9d;color:white}.btn:disabled{opacity:.72;cursor:wait}
main{padding:18px;max-width:1680px;margin:auto}.notice{font-size:12px;color:#52606b;background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:8px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(20,33,43,.03)}
.kpi{grid-column:span 4;min-height:156px;display:grid;grid-template-columns:1fr 150px}.kpi .main{padding:18px}.kpi .side{border-left:1px solid var(--line);padding:18px 14px;background:#fbfdfe}.kpi h3{font-size:14px;margin:0 0 10px}.kpi .value{font-size:34px;font-weight:800;line-height:1.05}.kpi .period{margin-top:8px;color:var(--muted);font-size:13px}.kpi .compare{font-size:13px;color:var(--muted)}.kpi .growth{font-size:24px;font-weight:800;margin-top:15px}.up{color:#18843b}.down{color:#d92d20}.flat{color:#667085}
.blue-accent{border-top:7px solid var(--blue)}.green-accent{border-top:7px solid var(--green)}.gold-accent{border-top:7px solid var(--gold)}
.chart-card{grid-column:span 4}.chart-card.wide{grid-column:span 6}.chart-card.full{grid-column:span 12}.head{padding:10px 12px;font-size:14px;font-weight:800;color:white;display:flex;justify-content:space-between;align-items:center}.head.blue{background:var(--blue)}.head.green{background:#83b77d}.head.guide-green{background:var(--green);color:#29452d}.head.gold{background:var(--gold);color:#47341d}.head button{background:transparent;color:white;border:0;cursor:pointer;font-weight:700}.body{padding:10px 12px 12px}.chart-wrap{height:285px}.chart-wrap.short{height:220px}.chart-wrap svg{width:100%;height:100%;display:block}.legend{font-size:11px;color:#52606b;margin-bottom:6px;display:flex;gap:14px;flex-wrap:wrap}.legend span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px;vertical-align:-1px}.l-current:before{background:var(--blue)}.l-prev:before{background:var(--gold)}.l-pos-current:before{background:var(--green)}.l-line:before{background:#125a93;border-radius:50%!important}.l-pos-line:before{background:#256b34;border-radius:50%!important}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.placeholder{height:220px;display:flex;align-items:center;justify-content:center;text-align:center;color:#6b7785;background:linear-gradient(145deg,#fbfcfd,#f4f7f9);border:1px dashed #c8d3da;border-radius:8px;padding:24px}.footer{font-size:11px;color:#667085;margin-top:12px;text-align:center}.stock-section{display:flex;flex-direction:column;gap:14px}.stock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:8px 0 0}.stock-kpi{border:1px solid #ead6b5;border-top:4px solid var(--gold);border-radius:10px;padding:13px 16px 16px;background:#fffdf9;text-align:center}.stock-kpi b{display:block;font-size:25px;margin-top:7px}.stock-kpi small{color:var(--muted)}.stock-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stock-top-card{border:1px solid #e9c78f;border-radius:10px;background:#fff;min-width:0;overflow:hidden;box-shadow:0 6px 16px rgba(115,78,30,.06)}.stock-top-head{padding:10px 12px 3px;font-size:12px;font-weight:900;color:#47341d;background:var(--gold)}.stock-top-sub{padding:0 12px 9px;font-size:9px;color:#6d512b;background:linear-gradient(180deg,var(--gold),#f3d8ac)}.stock-top-table-wrap{overflow-x:hidden;overflow-y:visible;border-top:1px solid #ead6b5}.stock-top-table{width:100%;border-collapse:collapse;font-size:9px;min-width:0;table-layout:fixed}.stock-top-table th,.stock-top-table td{padding:6px 5px;border-bottom:1px solid #f1e7d7;vertical-align:top}.stock-top-table th{position:sticky;top:0;background:#fbf1e0;color:#6d512b;text-align:left;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.1px;white-space:normal}.stock-top-table th:nth-child(1),.stock-top-table td:nth-child(1){width:20%}.stock-top-table th:nth-child(2),.stock-top-table td:nth-child(2){width:43%}.stock-top-table th:nth-child(3),.stock-top-table td:nth-child(3){width:14%}.stock-top-table th:nth-child(4),.stock-top-table td:nth-child(4){width:23%}.stock-top-table td.qty,.stock-top-table td.days{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-top-table td.code{font-weight:700;color:#334155;overflow-wrap:anywhere}.stock-top-table td.desc span{display:-webkit-box;max-width:100%;white-space:normal;overflow:hidden;overflow-wrap:anywhere;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical}.stock-top-table td.empty{text-align:center;color:#7a8791;padding:18px 8px}.brand-chart-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:2px 0 14px}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy>b{font-size:13px;color:#334155}.brand-copy>span{font-size:11px;color:var(--muted)}.brand-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}.brand-period-control select{min-width:250px}.brand-period-badge{min-width:190px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fbfc;text-align:center}.brand-period-badge small{display:block;font-size:9px;font-weight:800;letter-spacing:.35px;color:#52606b}.brand-period-badge b{display:block;margin-top:2px;font-size:12px;color:#173443}.brand-ranking-chart{width:100%;overflow-x:auto;padding:2px 0 4px}.brand-ranking-chart svg{display:block;width:100%;min-width:940px;height:auto}.brand-ranking-chart .no-data{min-width:0}.visual-maximized .brand-ranking-chart{overflow:auto}.visual-maximized .brand-ranking-chart svg{min-width:1080px;max-height:calc(100vh - 170px)}
.product-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.product-toolbar input,.product-toolbar select{padding:9px 11px;border:1px solid #cfd9df;border-radius:8px;background:white;min-width:260px}.product-toolbar #productControl .multi-filter{min-width:390px}.product-toolbar #productControl .multi-filter-panel{width:430px;max-width:min(92vw,480px)}.combo-wrap{position:relative;display:inline-block}.combo-wrap input{padding-right:34px}.combo-arrow{position:absolute;right:10px;bottom:10px;pointer-events:none;color:#52606b;font-size:12px}.product-selection-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfc}.product-selection-summary>div{display:flex;flex-direction:column;gap:2px}.product-selection-summary small{font-size:9px;font-weight:800;letter-spacing:.35px;color:#52606b}.product-selection-summary b{font-size:13px;color:#173443}.product-selection-summary>span{font-size:10px;color:var(--muted);text-align:right}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.product-detail-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff;min-width:0}.product-detail-card h4{margin:0;color:#0E5A94;font-size:14px}.product-detail-card.green h4{color:#2E7D32}.product-detail-card .sub{font-size:11px;color:var(--muted);margin:5px 0 0}.product-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.product-share-badge{min-width:145px;padding:7px 10px;border:1px solid #b9dce8;border-radius:9px;background:#eef8fb;text-align:center}.product-share-badge.green{border-color:#c8dfc4;background:#f1f8ef}.product-share-badge small{display:block;font-size:8px;font-weight:800;letter-spacing:.3px;color:#52606b}.product-share-badge b{display:block;margin-top:1px;font-size:21px;line-height:1.05;color:#0E5A94}.product-share-badge.green b{color:#2E7D32}.product-share-badge span{display:block;margin-top:2px;font-size:8.5px;color:var(--muted)}.product-chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:4px 0 2px;font-size:10px;color:#52606b}.product-chart-legend span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;background:var(--legend-color)}.product-legend-bar:before{border-radius:2px}.product-legend-line:before{border-radius:50%}.product-svg-wrap{width:100%;overflow-x:auto}.product-svg-wrap svg{display:block;width:100%;min-width:520px;height:auto}.product-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.product-kpi{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfdfe}.product-kpi .pv{font-size:23px;font-weight:800;margin-top:5px}.product-combo{position:relative;min-width:390px}.product-combo input{width:100%;box-sizing:border-box;padding-right:38px}.product-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid #cfd9df;border-radius:8px;box-shadow:0 8px 22px rgba(15,56,78,.16);max-height:240px;overflow:auto;display:none}.product-suggestions.open{display:block}.product-option{padding:9px 11px;font-size:12px;cursor:pointer;border-bottom:1px solid #eef2f4}.product-option:last-child{border-bottom:0}.product-option:hover,.product-option.active{background:#eef7fb;color:#0b5f83}.stock-kpi .stock-label{font-size:12px;font-weight:800;color:#52606b}.stock-kpi .stock-days{font-size:24px;font-weight:800;margin-top:7px}.stock-kpi .stock-units{font-size:16px;font-weight:800;margin-top:6px;color:#52606b}.stock-kpi .stock-main{font-size:25px;font-weight:800;margin-top:7px}.stock-kpi .stock-sub{font-size:15px;font-weight:800;margin-top:6px;color:#52606b}@media(max-width:900px){.product-detail-grid{grid-template-columns:1fr}.product-selection-summary{align-items:flex-start;flex-direction:column}.product-selection-summary>span{text-align:left}}.esp-section{margin-bottom:14px}.esp-title{font-size:12px;font-weight:800;color:#52606b;margin:0 0 8px}.esp-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.esp-kpi{background:white;border:1px solid var(--line);border-radius:10px;padding:14px}.esp-kpi .v{font-size:24px;font-weight:800;margin-top:5px}.rank-wrap{overflow:auto}.rank{width:100%;border-collapse:collapse;font-size:12px}.rank th,.rank td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:right}.rank th:first-child,.rank td:first-child{text-align:left;position:sticky;left:0;background:white}.rank th{color:#52606b;background:#f8fafb}.upload-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px dashed #b9c8d0;border-radius:10px;padding:12px;margin-bottom:12px}.upload-box input{max-width:300px}.muted{color:var(--muted);font-size:12px}.no-data{padding:26px;text-align:center;color:#7a8791;background:#fbfcfd;border:1px dashed #cad5dc;border-radius:8px}.search-note{font-size:11px;color:var(--muted);margin-top:6px}.chart-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:3px}.ytd-badge{margin-left:auto;min-width:138px;padding:6px 12px 7px;border:1px solid var(--line);border-radius:9px;background:#f8fbfc;text-align:center}.ytd-badge small{display:block;font-size:9px;font-weight:800;letter-spacing:.35px;color:#52606b}.ytd-badge b{display:block;font-size:28px;line-height:1.05;margin-top:2px}.qlik-status{font-size:11px;font-weight:700;padding:6px 9px;border-radius:999px;background:#eef4f6;color:#52606b;white-space:nowrap}.qlik-status.live{background:#e8f7ec;color:#16743a}.qlik-status.warn{background:#fff4df;color:#8a5a00}
.esp-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.esp-title-row .esp-title{margin:0}.esp-scope-label{font-size:10px;font-weight:800;color:#52606b;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 9px}.esp-kpis{display:grid;grid-template-columns:1fr 1fr 1.45fr 1fr 1fr;gap:12px}.esp-kpi{min-width:0;position:relative;padding:16px 16px 14px;border:1px solid #d9e6ec;border-radius:14px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);box-shadow:0 10px 24px rgba(11,55,76,.05);overflow:hidden}.esp-kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#2CA4C6 0%,#2397b8 100%)}.esp-kpi .v{font-size:28px;font-weight:900;line-height:1.05;margin-top:8px;color:#173443;letter-spacing:-.2px}.esp-kpi small{display:block;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.35}.esp-kpi:nth-child(1):before,.esp-kpi:nth-child(2):before{background:linear-gradient(180deg,#607D8B 0%,#7a94a1 100%)}.esp-kpi:nth-child(3):before{background:linear-gradient(180deg,#2CA4C6 0%,#2397b8 100%)}.esp-kpi:nth-child(4):before{background:linear-gradient(180deg,#4f9652 0%,#3f8042 100%)}.esp-kpi:nth-child(5):before{background:linear-gradient(180deg,#EBBE78 0%,#cf983f 100%)}.esp-sales-line{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.esp-sales-line .v{margin-top:8px}.esp-growth-badge{margin-bottom:2px;padding:5px 8px;border-radius:999px;background:#eef4f6;font-size:14px;font-weight:900;line-height:1}.esp-growth-badge.growth-positive{background:#e8f7ec}.esp-growth-badge.growth-negative{background:#fdecec}.esp-growth-badge.growth-neutral{background:#fff4df}.esp-aa-label{margin-top:3px!important;font-size:9px!important}.growth-positive{color:#17823b!important}.growth-negative{color:#c62828!important}.growth-neutral{color:#b57b13!important}.rank{min-width:1560px;font-size:11px}.rank th,.rank td{white-space:nowrap}.rank th:nth-child(6),.rank td:nth-child(6){text-align:left}.rank th{position:sticky;top:0;z-index:2}.rank th:first-child{z-index:3;background:#f8fafb}.rank tbody tr:hover td,.rank tbody tr:hover td:first-child{background:#f6fbfd}.rank .table-message{text-align:center!important;color:#7a8791;position:static!important}.status-pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}.status-pill.active{background:#e8f7ec;color:#16743a}.status-pill.vacant{background:#fff4df;color:#8a5a00}.status-pill.unknown{background:#eef4f6;color:#52606b}.specialist-evolution-grid{display:grid;grid-template-columns:1fr;gap:16px}.specialist-chart-card{overflow:hidden;border:1px solid #d8e3e9;box-shadow:0 10px 24px rgba(11,55,76,.05)}.specialist-chart{min-height:245px;overflow-x:auto;background:#fff}.specialist-chart svg{display:block;width:100%;min-width:760px;height:245px}
[data-visual-menu]{position:relative;cursor:context-menu}[data-visual-menu] input,[data-visual-menu] select,[data-visual-menu] button{cursor:auto}.visual-context-menu[hidden]{display:none}.visual-context-menu{position:fixed;z-index:1200;min-width:165px;padding:6px;background:#fff;border:1px solid #d6e0e6;border-radius:10px;box-shadow:0 12px 34px rgba(9,43,61,.22)}.visual-context-menu button{display:block;width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#243746;text-align:left;font-size:13px;font-weight:700;cursor:pointer}.visual-context-menu button:hover,.visual-context-menu button:focus{background:#eaf6fa;color:#075d7b;outline:0}.visual-modal-open{overflow:hidden}.visual-maximized{position:fixed!important;inset:14px!important;z-index:1000!important;display:flex!important;flex-direction:column!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;background:#fff;box-shadow:0 24px 70px rgba(3,28,42,.34)!important}.visual-maximized>.head{flex:0 0 auto;padding-right:52px}.visual-maximized>.body{flex:1;min-height:0;overflow:auto}.visual-maximized .chart-wrap{height:calc(100vh - 125px)}.visual-maximized .specialist-chart{height:calc(100vh - 100px);overflow:auto}.visual-maximized .specialist-chart svg{height:calc(100vh - 105px);min-width:900px}.visual-maximized .rank-wrap{flex:1;min-height:0;overflow:auto}.visual-maximized-close{position:absolute;z-index:3;top:5px;right:9px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#173443;font-size:23px;line-height:28px;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.15)}.visual-maximized-close:hover{background:#fff}.visual-maximized.stock-top-card{padding:0!important;overflow:hidden!important}.visual-maximized.stock-top-card .stock-top-head{padding:18px 58px 4px 20px;font-size:18px}.visual-maximized.stock-top-card .stock-top-sub{padding:0 20px 14px;font-size:11px}.visual-maximized.stock-top-card .stock-top-table-wrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.visual-maximized.stock-top-card .stock-top-table{font-size:13px;table-layout:fixed}.visual-maximized.stock-top-card .stock-top-table th{font-size:11px;padding:10px 12px}.visual-maximized.stock-top-card .stock-top-table td{padding:10px 12px}.visual-maximized.stock-top-card .stock-top-table td.desc span{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:normal}.visual-maximized.product-detail-card{padding:24px!important;overflow:hidden!important}.visual-maximized.product-detail-card .product-card-head{flex:0 0 auto}.visual-maximized.product-detail-card .product-svg-wrap{flex:1;min-height:0;overflow:hidden}.visual-maximized.product-detail-card .product-svg-wrap svg{width:100%;height:calc(100vh - 190px);min-width:0}.visual-maximized.product-detail-card .product-chart-legend{flex:0 0 auto}

.qlik-loading-overlay{position:fixed;inset:0 0 0 205px;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:radial-gradient(circle at center,rgba(255,255,255,.30) 0%,rgba(246,249,251,.78) 46%,rgba(238,245,248,.88) 100%);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.qlik-loading-overlay.active{opacity:1;visibility:visible}.qlik-loading-stage{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center}.qlik-loading-halo{position:absolute;inset:28px;border-radius:50%;background:radial-gradient(circle,rgba(44,164,198,.18) 0%,rgba(44,164,198,.08) 40%,rgba(44,164,198,0) 72%);filter:blur(2px)}.qlik-loading-stage::before,.qlik-loading-stage::after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(44,164,198,.16)}.qlik-loading-stage::before{inset:18px}.qlik-loading-stage::after{inset:0;border-color:rgba(20,33,43,.08)}.qlik-loading-watermark{position:absolute;display:flex;align-items:center;justify-content:center;line-height:1;color:var(--blue);text-shadow:0 10px 24px rgba(44,164,198,.18)}.qlik-gear-lg{font-size:104px;opacity:.90;animation:qlikGearSpin 3.3s linear infinite}.qlik-gear-sm{font-size:50px;right:34px;bottom:42px;opacity:.72;animation:qlikGearSpinReverse 2.4s linear infinite}.qlik-loading-copy{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:280px;padding:14px 22px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(44,164,198,.18);box-shadow:0 18px 40px rgba(15,49,69,.10);color:#173443;text-align:center}.qlik-loading-copy b{font-size:16px;letter-spacing:.2px}.qlik-loading-overlay.error .qlik-gear-lg,.qlik-loading-overlay.error .qlik-gear-sm{animation:none;opacity:.24}.qlik-loading-overlay.error .qlik-loading-copy{border-color:rgba(20,33,43,.12)}@keyframes qlikGearSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes qlikGearSpinReverse{from{transform:rotate(360deg)}to{transform:rotate(0)}}
@media(max-width:1250px){.esp-kpis{grid-template-columns:repeat(3,1fr)}.esp-sales-kpi{grid-column:span 1}}
@media(max-width:1100px){.qlik-loading-overlay{inset:0}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:8px;padding:8px 12px}.brand{height:48px;margin:0 8px 0 0}.brand img{max-width:120px;max-height:44px}.nav-btn{width:auto;margin:0}.side-meta{display:none}.kpi,.chart-card,.chart-card.wide{grid-column:span 12}.controls{margin-left:0}.control select{min-width:180px}.multi-filter{min-width:180px}.kpi{grid-template-columns:1fr 140px}}
@media(max-width:700px){.esp-kpis{grid-template-columns:1fr 1fr}.esp-title-row{align-items:flex-start;flex-direction:column}.esp-sales-kpi{grid-column:span 2}.specialist-chart svg{min-width:620px}.specialist-chart{min-height:245px}.brand-chart-topline{align-items:flex-start;flex-direction:column}.brand-toolbar{width:100%;justify-content:stretch}.brand-period-control,.brand-period-control select,.brand-period-badge{min-width:0;width:100%}.brand-ranking-chart svg{min-width:820px}.product-card-head{flex-direction:column}.product-share-badge{width:100%}.product-svg-wrap svg{min-width:580px}}
@media print{.qlik-loading-overlay{display:none!important}.app-shell{display:block}.sidebar{display:none}header{position:static}.btn,.head button,.visual-context-menu,.visual-maximized-close{display:none!important}.notice{display:none}body{background:#fff;overflow:visible}.visual-maximized{position:static!important;inset:auto!important;display:block!important;box-shadow:none!important}.card{break-inside:avoid;box-shadow:none}.chart-wrap{height:240px}main{max-width:none}}

/* --------------------------------------------------------------------------
   Exportacao PDF — conteudo real ja renderizado pelo Qlik
   -------------------------------------------------------------------------- */
.executive-export-root{display:none}
.executive-page{font-family:'Exo 2',Arial,Helvetica,sans-serif;color:#14212b;background:#fff}
.executive-page-header{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.6fr);gap:16px;align-items:start;border-bottom:2px solid #2CA4C6;padding-bottom:10px;margin-bottom:12px}
.executive-brand-block{display:flex;align-items:flex-start;gap:13px;min-width:0}.executive-logo{width:126px;height:52px;object-fit:contain}.executive-brand-block h1{margin:2px 0 2px;color:#0a3f55;font-size:22px;line-height:1.05;letter-spacing:.1px}.executive-brand-block p{margin:0;color:#647482;font-size:10px;font-weight:700}
.executive-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px}.executive-filter{min-width:0;padding:5px 7px;border:1px solid #dfe7ec;border-radius:7px;background:#f8fbfc}.executive-filter span{display:block;color:#647482;font-size:7.7px;font-weight:800;text-transform:uppercase;letter-spacing:.22px}.executive-filter b{display:block;margin-top:1px;color:#173443;font-size:8.6px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.executive-section-title{font-size:11px;font-weight:900;color:#173443;text-transform:uppercase;letter-spacing:.35px;margin:0 0 7px}.executive-section-spaced{margin-top:11px}.executive-context-note{font-size:9px;color:#52606b;margin:-2px 0 8px;padding:5px 8px;background:#f8fbfc;border:1px solid #dfe7ec;border-radius:7px}.executive-context-note span{margin:0 5px;color:#9aa7b1}.executive-specialist-name{font-size:10px;margin-bottom:10px}.executive-empty{padding:20px;text-align:center;color:#7a8791;border:1px dashed #cad5dc;border-radius:8px;background:#fbfcfd}
.executive-kpi-grid{display:grid;gap:10px}.executive-kpi-grid.distributor-kpis{grid-template-columns:repeat(3,1fr)}.executive-kpi-grid.specialist-kpis{grid-template-columns:1fr 1fr 1.45fr 1fr 1fr}.executive-export-root .executive-kpi,.executive-export-root .executive-specialist-kpi{min-height:0;box-shadow:none}.executive-export-root .executive-kpi{display:grid;grid-template-columns:1fr 112px}.executive-export-root .executive-kpi .main,.executive-export-root .executive-kpi .side{padding:11px}.executive-export-root .executive-kpi .value{font-size:24px}.executive-export-root .executive-kpi .growth{font-size:17px;margin-top:10px}.executive-export-root .executive-kpi h3{font-size:11px;margin-bottom:7px}.executive-export-root .executive-kpi .period,.executive-export-root .executive-kpi .compare{font-size:9px}.executive-export-root .executive-specialist-kpi{padding:11px;border-radius:10px}.executive-export-root .executive-specialist-kpi .v{font-size:22px}.executive-export-root .executive-specialist-kpi small{font-size:8px;margin-top:5px}.executive-export-root .esp-sales-line{gap:7px}.executive-export-root .esp-growth-badge{font-size:11px;padding:4px 6px}
.executive-chart-grid{display:grid;gap:10px}.executive-chart-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-export-root .executive-chart-card{display:block;min-width:0;box-shadow:none;border-radius:8px}.executive-export-root .executive-chart-card .head{padding:7px 9px;font-size:9.5px}.executive-export-root .executive-chart-card .body{padding:7px}.executive-export-root .executive-chart-card .chart-topline{min-height:28px}.executive-export-root .executive-chart-card .legend{font-size:7.5px;gap:7px;margin-bottom:2px}.executive-export-root .executive-chart-card .ytd-badge{min-width:84px;padding:4px 7px}.executive-export-root .executive-chart-card .ytd-badge small{font-size:6.5px}.executive-export-root .executive-chart-card .ytd-badge b{font-size:17px}.executive-export-root .executive-chart-card .chart-wrap{height:205px}.executive-export-root .executive-chart-card .chart-wrap svg{width:100%;height:100%;min-width:0}
.executive-stock-block .card,.executive-product-block .card,.executive-brand-chart .card{box-shadow:none;border-radius:8px}.executive-stock-block .head,.executive-product-block .head,.executive-brand-chart .head{padding:7px 9px;font-size:10px}.executive-stock-block .body,.executive-product-block .body,.executive-brand-chart .body{padding:8px}.executive-stock-block .stock-grid{grid-template-columns:repeat(4,1fr);gap:7px;padding:2px 0}.executive-stock-block .stock-kpi{padding:9px}.executive-stock-block .stock-kpi .stock-label{font-size:8px}.executive-stock-block .stock-kpi .stock-days,.executive-stock-block .stock-kpi .stock-main{font-size:18px}.executive-stock-block .stock-kpi .stock-units,.executive-stock-block .stock-kpi .stock-sub{font-size:11px}.executive-stock-block .stock-top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.executive-stock-block .stock-top-head{padding:8px 9px 1px;font-size:9px}.executive-stock-block .stock-top-sub{padding:0 9px 6px;font-size:8px}.executive-stock-block .stock-top-table{font-size:8px;min-width:0}.executive-stock-block .stock-top-table th,.executive-stock-block .stock-top-table td{padding:5px 6px}
.executive-product-block .product-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:0}.executive-product-block .product-detail-card{padding:10px}.executive-product-block .product-detail-card h4{font-size:10px}.executive-product-block .product-detail-card .sub{font-size:8px}.executive-product-block .product-card-head{margin-bottom:5px}.executive-product-block .product-share-badge{min-width:100px;padding:5px 7px}.executive-product-block .product-share-badge small{font-size:6px}.executive-product-block .product-share-badge b{font-size:16px}.executive-product-block .product-share-badge span{font-size:6.5px}.executive-product-block .product-chart-legend{font-size:7px;gap:7px}.executive-product-block .product-svg-wrap{overflow:hidden}.executive-product-block .product-svg-wrap svg{min-width:0!important;width:100%!important;max-height:225px}.executive-product-block .product-kpis{gap:6px}.executive-product-block .product-kpi{padding:8px}.executive-product-block .product-kpi .pv{font-size:15px}
.executive-brand-chart .brand-chart-topline{margin:0 0 5px;align-items:center}.executive-brand-chart .brand-copy>b{font-size:10px}.executive-brand-chart .brand-copy>span{font-size:8px}.executive-brand-chart .brand-ranking-chart{overflow:hidden}.executive-brand-chart .brand-ranking-chart svg{min-width:0!important;width:100%!important;max-height:510px}
.executive-rank-wrap{border:1px solid #dfe7ec;border-radius:8px;overflow:hidden}.executive-rank{width:100%;border-collapse:collapse;font-size:8px}.executive-rank th,.executive-rank td{padding:5px 6px;border-bottom:1px solid #e6edf1;text-align:right;white-space:nowrap}.executive-rank th{background:#f4f8fa;color:#52606b;font-size:7.5px;text-transform:uppercase;letter-spacing:.15px}.executive-rank th:first-child,.executive-rank td:first-child{text-align:left}.executive-rank tbody tr:nth-child(even){background:#fbfdfe}.executive-rank .growth-positive{color:#17823b!important}.executive-rank .growth-negative{color:#c62828!important}.executive-table-note{padding:5px 7px;font-size:7.5px;color:#647482;background:#f8fbfc}
.executive-chart-grid.specialist-charts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.executive-export-root .executive-specialist-chart .specialist-chart{min-height:250px;height:250px;overflow:hidden}.executive-export-root .executive-specialist-chart .specialist-chart svg{width:100%!important;height:250px!important;min-width:0!important}.executive-export-root .executive-specialist-chart .body{padding:6px}
.executive-page-footer{margin-top:10px;padding-top:6px;border-top:1px solid #dfe7ec;display:flex;justify-content:space-between;gap:12px;color:#7a8791;font-size:7.2px}.executive-page-footer span:last-child{text-align:right}

@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff!important;width:auto!important;height:auto!important;overflow:visible!important}
  .app-shell,.qlik-loading-overlay,.visual-context-menu{display:none!important}
  .executive-export-root{display:block!important;margin:0!important;padding:0!important}
  .executive-page{display:block;break-after:page;page-break-after:always;min-height:184mm;padding:0;margin:0;overflow:visible}
  .executive-page:last-child{break-after:auto;page-break-after:auto}
  .executive-page-header,.executive-kpi-grid,.executive-chart-grid,.executive-stock-block,.executive-product-block,.executive-brand-chart,.executive-rank-wrap,.executive-context-note{break-inside:avoid;page-break-inside:avoid}
  .executive-export-root .card{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
  .executive-page-footer{break-inside:avoid;page-break-inside:avoid}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}


/* Pré-visualização robusta da exportação PDF */
.pdf-preview-shell[hidden]{display:none!important}
.pdf-preview-shell{position:fixed;inset:0;z-index:5000;background:#e9f0f4;display:flex;flex-direction:column;font-family:'Exo 2',sans-serif}
.pdf-preview-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 18px;background:#173443;color:#fff;box-shadow:0 3px 14px rgba(0,0,0,.18)}
.pdf-preview-title{display:flex;align-items:baseline;gap:10px;min-width:0}.pdf-preview-title strong{font-size:14px;white-space:nowrap}.pdf-preview-title span{font-size:11px;opacity:.82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-preview-actions{display:flex;gap:8px;flex:0 0 auto}.pdf-preview-actions button{border:0;border-radius:8px;padding:9px 14px;font:700 12px 'Exo 2',sans-serif;cursor:pointer}.pdf-preview-actions button:disabled{opacity:.45;cursor:wait}
.pdf-preview-close{background:#fff;color:#173443}.pdf-preview-print{background:#2CA4C6;color:#fff}
.pdf-preview-scroll{flex:1;min-height:0;overflow:auto;padding:14px}.pdf-preview-shell .executive-export-root{display:block!important;max-width:1450px;margin:0 auto!important;padding:0!important}
.pdf-preview-loading,.pdf-preview-error{min-height:calc(100vh - 110px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#173443}
.pdf-preview-loading b{font-size:20px;margin-top:14px}.pdf-preview-loading span{font-size:12px;color:#667785;margin-top:6px}.pdf-preview-spinner{width:42px;height:42px;border-radius:50%;border:4px solid #d5e4ea;border-top-color:#2CA4C6;animation:pdfSpin .8s linear infinite}
.pdf-preview-error h2{margin:0 0 8px}.pdf-preview-error p{margin:0;color:#667785}
@keyframes pdfSpin{to{transform:rotate(360deg)}}

@media print{
  @page{size:A4 landscape;margin:8mm}
  body.pdf-preview-active{background:#fff!important}
  body.pdf-preview-active>*:not(#pdfPreviewShell){display:none!important}
  body.pdf-preview-active #pdfPreviewShell{display:block!important;position:static!important;inset:auto!important;background:#fff!important}
  body.pdf-preview-active .pdf-preview-toolbar{display:none!important}
  body.pdf-preview-active .pdf-preview-scroll{display:block!important;overflow:visible!important;padding:0!important}
  body.pdf-preview-active .executive-export-root{display:block!important;margin:0!important;max-width:none!important}
}

body.pdf-preview-active{overflow:hidden}

@media(max-width:900px){.stock-grid{grid-template-columns:repeat(2,1fr)}.stock-top-grid{grid-template-columns:1fr}.stock-top-table{font-size:10px}}
