:root{--brand: #4b0d63;--brand-2: #370a49;--accent: #6c4ef0;--bg: #eef1fa;--card: #ffffff;--ink: #1c2333;--ink-soft: #5d6781;--line: #e3e7f2;--navy: #0f3d6e;--blue: #1f8ef1;--blue-soft: #a8cdf5;--teal: #12384a;--gray: #b9c2d0;--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--radius: 14px;--shadow: 0 1px 2px rgba(20, 30, 60, .06), 0 8px 24px rgba(20, 30, 60, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input,select{font:inherit}.shell{display:flex;gap:16px;padding:14px;min-height:100%;align-items:flex-start}.main{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}.sidebar{width:234px;flex:0 0 234px;position:sticky;top:14px;background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:18px 16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 28px)}.logo-produto{width:100%;display:block;height:auto}.logo-fraga{width:96px;display:block;margin:0 auto}.kpi-destaque{background:linear-gradient(160deg,#0f5c33,#0b3f24)}.sidebar-sub{text-align:center;font-size:14px;font-weight:700;color:var(--brand);line-height:1.35;margin-top:-4px}.side-label{font-size:12.5px;color:var(--ink-soft);font-weight:600}.search-box{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:6px 9px}.search-box input{border:0;outline:0;width:100%;background:transparent;font-size:13px}.nav{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow-y:auto}.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:9px 10px;color:var(--ink);font-size:14.5px;font-weight:600;position:relative}.nav button:hover{background:#f4f5fc}.nav button.active{color:var(--accent);background:#f2effe}.nav button.active:before{content:"";position:absolute;left:-16px;top:6px;bottom:6px;width:4px;border-radius:0 4px 4px 0;background:var(--accent)}.nav .ico{width:18px;text-align:center;opacity:.85}.btn-primary{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:11px 12px;font-weight:700;width:100%}.btn-primary:hover{background:var(--brand-2)}.btn-ghost{background:transparent;border:0;color:var(--accent);font-weight:700;display:flex;gap:8px;align-items:center;padding:8px 2px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;text-align:center}.kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.kpi{background:linear-gradient(160deg,#58146f,#3c0a51);color:#fff;border-radius:12px;padding:10px 12px 12px;text-align:center;box-shadow:var(--shadow)}.kpi .k-label{font-size:12px;opacity:.88;font-weight:500}.kpi .k-value{font-size:22px;font-weight:800;letter-spacing:-.5px;margin-top:2px}.kpi .k-sub{font-size:10.5px;opacity:.72;margin-top:2px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.card-title{font-size:14px;font-weight:700;text-align:center;color:var(--ink);margin-bottom:6px}.card-title.left{text-align:left;display:flex;align-items:center;gap:8px}.grid{display:grid;gap:14px}.filters{display:flex;gap:22px;align-items:flex-end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:13px;color:var(--ink-soft);font-weight:600}.field select,.field input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);outline:none;min-width:190px}.seg{display:flex}.seg button{border:1px solid var(--line);background:#fff;padding:11px 15px;font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.3px}.seg button:first-child{border-radius:8px 0 0 8px}.seg button:last-child{border-radius:0 8px 8px 0}.seg button+button{border-left:0}.seg button.on{background:var(--brand);border-color:var(--brand);color:#fff}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}.chip.on{background:#f2effe;border-color:#c9bcfb;color:var(--accent)}.table-wrap{overflow:auto;max-height:460px;border-radius:10px}table.dt{width:100%;border-collapse:collapse;font-size:12.5px}table.dt thead th{position:sticky;top:0;background:#fff;z-index:2;text-align:right;font-weight:700;color:var(--ink);padding:9px 10px;border-bottom:2px solid var(--line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}table.dt thead th.txt,table.dt tbody td.txt{text-align:left}table.dt tbody td{padding:7px 10px;text-align:right;border-bottom:1px solid #f1f3f9;white-space:nowrap}table.dt tbody tr:nth-child(2n){background:#fafbff}table.dt tbody tr:hover{background:#f2effe}table.dt tfoot td{position:sticky;bottom:0;background:#fff;font-weight:800;padding:9px 10px;text-align:right;border-top:2px solid var(--line)}table.dt tfoot td.txt{text-align:left}.grp-row td{font-weight:800;background:#f6f7fd!important}table.dt tbody tr.clicavel{cursor:pointer}table.dt tbody tr.sel,table.dt tbody tr.sel:nth-child(2n){background:#e8e2fe!important}table.dt tbody tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.comp-list{display:flex;flex-direction:column;gap:10px;max-height:760px;overflow:auto}.comp{border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:7px}.comp.me{border:2px solid var(--green)}.comp-head{display:flex;justify-content:space-between;align-items:center}.comp-name{font-weight:800;font-size:13.5px;letter-spacing:.4px;color:var(--navy)}.comp.me .comp-name{color:var(--brand)}.comp-val{font-weight:800;font-size:15px}.comp-sub{font-size:11.5px;color:var(--ink-soft)}.bar{height:9px;background:#e6e9f2;border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--navy);border-radius:999px}.comp.me .bar>i{background:var(--green)}.legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-soft);margin-top:4px}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:4px}.muted{color:var(--ink-soft)}.small{font-size:12px}.right{text-align:right}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:#f2effe;color:var(--accent)}.tag.gap{background:#fff1f1;color:var(--red)}.tag.ok{background:#ecfdf3;color:#15803d}.loading{display:grid;place-items:center;height:100vh;color:var(--ink-soft);font-size:15px}.note{font-size:11.5px;color:var(--ink-soft);line-height:1.5}.kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:12.5px}.kv b{font-variant-numeric:tabular-nums}.formula{background:#f7f8fd;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--ink);line-height:1.8}.param-grid{display:grid;grid-template-columns:1.5fr repeat(5,88px);gap:6px 10px;align-items:center}.param-grid input{width:100%;text-align:right;border:1px solid var(--line);border-radius:7px;padding:6px 8px}.param-grid .h{font-size:11.5px;font-weight:700;color:var(--ink-soft);text-align:center}.map-wrap{display:grid;place-items:center}.map-wrap path{transition:fill .2s;cursor:pointer}.aviso{background:#fff8e6;border:1px solid #f5d98a;border-radius:10px;padding:9px 12px;font-size:12px;color:#7a5b12;margin-bottom:10px;line-height:1.5}.ms{position:relative}.ms>label{display:flex;align-items:center;gap:8px}.ms-contador{font-size:10.5px;font-weight:700;color:var(--accent);background:#f2effe;border-radius:999px;padding:1px 7px}.ms-botao{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px;color:var(--ink);text-align:left}.ms-botao.aberto{border-color:var(--accent);box-shadow:0 0 0 3px #f2effe}.ms-resumo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-seta{color:var(--ink-soft);font-size:11px}.ms-painel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #141e3c29;padding:8px}.ms-busca{width:100%;border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:12.5px;margin-bottom:6px;outline:none}.ms-acoes{display:flex;gap:6px;margin-bottom:6px}.ms-acoes button{flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:4px 6px;font-size:11.5px;font-weight:600;color:var(--ink-soft)}.ms-acoes button:hover{background:#f4f5fc;color:var(--accent)}.ms-lista{max-height:260px;overflow-y:auto}.ms-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;font-size:12.5px;cursor:pointer}.ms-item:hover{background:#f4f5fc}.ms-item input{accent-color:var(--accent);margin:0}.ms-label{flex:1}.ms-nota{font-size:10.5px;color:var(--ink-soft)}.ms-vazio{padding:10px 6px;font-size:12px;color:var(--ink-soft)}.ms-item input[type=checkbox]{min-width:0;width:15px;height:15px;padding:0;margin:0;flex:0 0 15px;accent-color:var(--accent)}.ms .ms-busca{min-width:0}.ms-lista{overflow-x:hidden}.filtros-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;min-width:0}.filtros-grade .field{min-width:0}.filtros-grade .field>select,.filtros-grade .field>input{min-width:0;width:100%}.seg.vertical{flex-direction:column;align-items:stretch}.seg.vertical button{text-align:left;white-space:nowrap}.seg.vertical button:first-child{border-radius:8px 8px 0 0}.seg.vertical button:last-child{border-radius:0 0 8px 8px}.seg.vertical button+button{border-left:1px solid var(--line);border-top:0}.seg.vertical button.on+button.on{border-top-color:var(--brand)}@media(max-width:1240px){.filtros-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}.premissas ul{columns:2;column-gap:34px}.premissas li{break-inside:avoid;margin-bottom:8px}@media(max-width:1100px){.premissas ul{columns:1}}.filtros-grade .field>label{min-height:16px;display:flex;align-items:center;gap:7px;font-size:12px}.filtros-grade .field>select,.filtros-grade .field>input,.filtros-grade .ms-botao{height:33px;padding:0 9px;line-height:1;font-size:13px}.filtros-grade .ms{width:100%}.seg.vertical button{min-width:150px;padding:9px 14px}
