:root{--vinho: #6c2a3b;--vinho-escuro: #561f2e;--vinho-claro: #f3e7ea;--grafite: #322b2b;--grafite-2: #403737;--creme: #f4f0ec;--terracota: #b36e51;--terracota-claro: #f6ebe5;--cinza: #565350;--fundo: var(--creme);--superficie: #ffffff;--superficie-2: #faf8f6;--borda: #e4ddd6;--borda-forte: #cfc5bb;--texto: #1f1a1a;--texto-2: #565350;--texto-3: #857f79;--serie-entrada: #2a78d6;--serie-saida: #eb6834;--serie-saldo: var(--vinho);--grade: #ece6e0;--ok: #17803d;--ok-fundo: #e5f4ea;--alerta: #9a6400;--alerta-fundo: #fdf3dc;--perigo: #b42828;--perigo-fundo: #fbe7e7;--info: #2a5f9e;--info-fundo: #e7eff9;--raio: 10px;--raio-p: 6px;--sombra: 0 1px 2px rgba(50, 43, 43, .06), 0 2px 8px rgba(50, 43, 43, .05);--sombra-alta: 0 12px 40px rgba(50, 43, 43, .22);--fonte: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--menu: 248px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--fundo);color:var(--texto);font:14px/1.45 var(--fonte);-webkit-font-smoothing:antialiased}a{color:var(--vinho)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650;letter-spacing:-.01em}h2{font-size:16px;font-weight:650}h3{font-size:14px;font-weight:650}.num,td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.mudo{color:var(--texto-3)}.sec{color:var(--texto-2)}.peq{font-size:12px}.neg{color:var(--perigo)}.pos{color:var(--ok)}.forte{font-weight:650}.nowrap{white-space:nowrap}.oculto{display:none!important}:focus-visible{outline:2px solid var(--terracota);outline-offset:2px}.app{display:grid;grid-template-columns:var(--menu) 1fr;min-height:100vh}.menu{background:var(--grafite);color:#e9e2dc;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.menu-logo{padding:22px 22px 16px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-logo img{width:132px;height:auto;display:block}.menu-logo span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c9b9ae}.menu nav{padding:10px 10px 20px;flex:1}.menu-grupo{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#a3958b;padding:12px 12px 4px}.menu a{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;color:#eae3dd;text-decoration:none;font-size:13.5px}.menu a svg{width:17px;height:17px;flex:none;opacity:.85}.menu a:hover{background:#ffffff0f}.menu a.ativo{background:var(--vinho);color:#fff}.menu a.ativo svg{opacity:1}.menu a .contador{margin-left:auto;background:var(--terracota);color:#fff;border-radius:10px;font-size:11px;padding:0 7px;line-height:18px}.menu-rodape{padding:14px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;display:flex;align-items:center;gap:10px}.menu-rodape .avatar{width:30px;height:30px;border-radius:50%;background:var(--terracota);color:#fff;display:grid;place-items:center;font-weight:650;flex:none}.menu-rodape .quem{flex:1;min-width:0}.menu-rodape .quem b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-rodape button{background:none;border:1px solid rgba(255,255,255,.2);color:#eae3dd;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:12px}.menu-rodape button:hover{background:#ffffff14}.conteudo{min-width:0;padding:22px 28px 60px}.topo-pagina{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.topo-pagina .titulo p{margin:4px 0 0;color:var(--texto-2)}.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.barra-mobile{display:none}.cartao{background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}.cartao>.cab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 0;flex-wrap:wrap}.cartao>.cab p{margin:2px 0 0;color:var(--texto-3);font-size:12.5px}.cartao>.corpo{padding:14px 16px 16px}.grade{display:grid;gap:14px}.grade>*{min-width:0}.cartao>.corpo:not(:has(.grafico)){overflow-x:auto}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.mt{margin-top:14px}.mt2{margin-top:22px}.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.espaco{flex:1}.kpi{padding:14px 16px;border-left:4px solid var(--borda-forte)}.kpi .rot{font-size:12px;color:var(--texto-2);display:flex;align-items:center;gap:6px}.kpi .val{font-size:22px;font-weight:650;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi .sub{font-size:12px;color:var(--texto-3);margin-top:2px}.kpi.clicavel{cursor:pointer;transition:transform .08s}.kpi.clicavel:hover{transform:translateY(-1px);border-color:var(--borda-forte)}.kpi.selecionado{outline:2px solid var(--vinho);outline-offset:-1px}.kpi.t-vinho{border-left-color:var(--vinho)}.kpi.t-ok{border-left-color:var(--ok)}.kpi.t-perigo{border-left-color:var(--perigo)}.kpi.t-alerta{border-left-color:#d9a21b}.kpi.t-info{border-left-color:var(--info)}.kpi.t-terracota{border-left-color:var(--terracota)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 13px;border-radius:var(--raio-p);border:1px solid var(--borda-forte);background:var(--superficie);cursor:pointer;font-weight:550;white-space:nowrap;min-height:34px}.btn:hover{background:var(--superficie-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn.primario{background:var(--vinho);border-color:var(--vinho);color:#fff}.btn.primario:hover{background:var(--vinho-escuro)}.btn.secundario{background:var(--terracota);border-color:var(--terracota);color:#fff}.btn.secundario:hover{filter:brightness(.94)}.btn.perigo{color:var(--perigo);border-color:#e3b6b6}.btn.perigo:hover{background:var(--perigo-fundo)}.btn.fantasma{border-color:transparent;background:transparent}.btn.fantasma:hover{background:#322b2b0f}.btn.peq{padding:3px 9px;min-height:28px;font-size:12.5px}.btn.icone{padding:5px;min-height:30px;width:30px}.campo{display:flex;flex-direction:column;gap:4px;min-width:0}.campo>span{font-size:12px;font-weight:600;color:var(--texto-2)}.campo>small{font-size:11.5px;color:var(--texto-3)}.campo.erro input,.campo.erro select{border-color:var(--perigo)}input:not([type]),input[type=text],input[type=number],input[type=date],input[type=month],input[type=password],input[type=email],input[type=search],select,textarea{width:100%;padding:7px 10px;border:1px solid var(--borda-forte);border-radius:var(--raio-p);background:#fff;min-height:34px}textarea{min-height:70px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--vinho);box-shadow:0 0 0 3px #6c2a3b1f}input.dinheiro{text-align:right;font-variant-numeric:tabular-nums}.check{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:16px;height:16px;accent-color:var(--vinho)}.form-grade{display:grid;gap:12px;grid-template-columns:repeat(12,minmax(0,1fr))}.c12{grid-column:span 12}.c9{grid-column:span 9}.c8{grid-column:span 8}.c6{grid-column:span 6}.c4{grid-column:span 4}.c3{grid-column:span 3}.c2{grid-column:span 2}.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:12px 14px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio);margin-bottom:14px}.filtros .campo{min-width:140px}.filtros .campo.largo{min-width:220px;flex:1}.segmentado{display:inline-flex;border:1px solid var(--borda-forte);border-radius:var(--raio-p);overflow:hidden;background:#fff;max-width:100%;overflow-x:auto}.segmentado button{border:0;background:transparent;padding:6px 12px;cursor:pointer;border-right:1px solid var(--borda);font-size:13px;min-height:32px}.segmentado button:last-child{border-right:0}.segmentado button.ativo{background:var(--vinho);color:#fff}.abas{display:flex;gap:2px;border-bottom:1px solid var(--borda);margin-bottom:16px;overflow-x:auto}.abas button{border:0;background:none;padding:9px 14px;cursor:pointer;color:var(--texto-2);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:550;white-space:nowrap}.abas button.ativo{color:var(--vinho);border-bottom-color:var(--vinho)}.tabela-caixa{overflow-x:auto}table.tabela{width:100%;border-collapse:collapse;font-size:13px}.tabela th{text-align:left;font-weight:600;color:var(--texto-2);font-size:12px;padding:9px 10px;border-bottom:1px solid var(--borda);background:var(--superficie-2);white-space:nowrap;position:sticky;top:0}.tabela th.num,.tabela td.num{text-align:right}.tabela th.ordenavel{cursor:pointer;-webkit-user-select:none;user-select:none}.tabela th.ordenavel:hover{color:var(--texto)}.tabela td{padding:8px 10px;border-bottom:1px solid #f0ebe6;vertical-align:middle}.tabela tbody tr:hover td{background:#fcfaf8}.tabela tr.clicavel{cursor:pointer}.tabela tr.sel td{background:var(--vinho-claro)!important}.tabela tfoot td{font-weight:650;background:var(--superficie-2);border-top:1px solid var(--borda);border-bottom:0}.tabela td.chk,.tabela th.chk{width:34px;padding-right:0}.tabela .desc{max-width:380px}.tabela .desc b{font-weight:550;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabela .desc small{color:var(--texto-3);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabela tr.grupo td{background:var(--superficie-2);font-weight:650}.tabela tr.total td{font-weight:700;border-top:2px solid var(--borda-forte)}.tabela tr.destaque td{background:var(--vinho-claro);font-weight:700}.tabela input,.tabela select{min-height:30px;padding:4px 7px}.selo{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.selo svg{width:13px;height:13px}.selo.ok{background:var(--ok-fundo);color:var(--ok)}.selo.perigo{background:var(--perigo-fundo);color:var(--perigo)}.selo.alerta{background:var(--alerta-fundo);color:var(--alerta)}.selo.info{background:var(--info-fundo);color:var(--info)}.selo.neutro{background:#efebe7;color:var(--texto-2)}.selo.vinho{background:var(--vinho-claro);color:var(--vinho)}.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.alertas{display:flex;flex-direction:column;gap:8px}.alertas .alerta{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;font-size:13px;text-decoration:none;color:inherit}.alertas .alerta svg{width:18px;height:18px;flex:none;margin-top:1px}.alertas .alerta.critico{background:var(--perigo-fundo);color:#7d1d1d}.alertas .alerta.atencao{background:var(--alerta-fundo);color:#6b4700}.alertas .alerta.info{background:var(--info-fundo);color:#1f4777}.alertas .alerta:hover{filter:brightness(.98)}.aviso{padding:10px 12px;border-radius:8px;background:var(--terracota-claro);color:#6a3a26;font-size:13px}.aviso.erro{background:var(--perigo-fundo);color:#7d1d1d}.aviso.ok{background:var(--ok-fundo);color:#14532d}.aviso>svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px}.selo svg,.btn svg{flex:none}a.selo{text-decoration:none}.vazio{text-align:center;padding:36px 16px;color:var(--texto-3)}.vazio b{display:block;color:var(--texto-2);margin-bottom:4px}.carregando{padding:30px;text-align:center;color:var(--texto-3)}.girando{width:22px;height:22px;border:3px solid var(--borda);border-top-color:var(--vinho);border-radius:50%;animation:gira .8s linear infinite;margin:0 auto 8px}@keyframes gira{to{transform:rotate(360deg)}}.barra-selecao{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--grafite);color:#fff;border-radius:var(--raio);box-shadow:var(--sombra-alta);margin-top:12px}.barra-selecao .btn{background:transparent;color:#fff;border-color:#ffffff4d}.barra-selecao .btn.primario{background:var(--terracota);border-color:var(--terracota)}.fundo-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#201a1a7a;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;z-index:50;overflow-y:auto}.modal{background:var(--superficie);border-radius:12px;box-shadow:var(--sombra-alta);width:100%;max-width:640px;display:flex;flex-direction:column}.modal.largo{max-width:920px}.modal.estreito{max-width:440px}.modal-cab{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--borda);gap:12px}.modal-corpo{padding:16px 18px}.modal-rodape{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--borda);background:var(--superficie-2);border-radius:0 0 12px 12px;flex-wrap:wrap}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:80}.toast{background:var(--grafite);color:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--sombra-alta);max-width:380px;font-size:13.5px;display:flex;gap:8px;align-items:flex-start}.toast.erro{background:#8f2020}.toast.ok{background:#1d5e33}.grafico{position:relative;width:100%}.grafico svg{display:block;width:100%;height:auto;overflow:visible}.grafico .eixo text{fill:var(--texto-3);font-size:11px;font-variant-numeric:tabular-nums}.grafico .gradeh line{stroke:var(--grade);stroke-width:1}.grafico .base{stroke:var(--borda-forte);stroke-width:1}.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--texto-2);margin-bottom:6px}.legenda span{display:inline-flex;align-items:center;gap:6px}.legenda i{width:10px;height:10px;border-radius:3px;display:inline-block}.legenda i.linha{height:2px;border-radius:1px;width:14px}.dica{position:absolute;pointer-events:none;background:var(--grafite);color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:var(--sombra-alta);white-space:nowrap;z-index:4;transform:translate(-50%,calc(-100% - 10px))}.dica b{display:block;margin-bottom:3px}.dica div{display:flex;gap:8px;align-items:center;justify-content:space-between;font-variant-numeric:tabular-nums}.dica i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:5px}.barra-h{display:flex;align-items:center;gap:10px;font-size:13px;padding:5px 0}.barra-h .rot{width:150px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--texto-2)}.barra-h .trilha{flex:1;height:14px;background:#f2ede8;border-radius:4px;overflow:hidden;position:relative}.barra-h .trilha>div{height:100%;border-radius:0 4px 4px 0}.barra-h .v{width:110px;text-align:right;font-variant-numeric:tabular-nums;flex:none}.progresso{height:8px;background:#efe9e3;border-radius:4px;overflow:hidden}.progresso>div{height:100%;border-radius:4px;background:var(--vinho)}.progresso>div.estourou{background:var(--perigo)}.tela-login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-marca{background:var(--vinho);color:var(--creme);display:flex;flex-direction:column;justify-content:space-between;padding:48px}.login-marca img{width:220px}.login-marca h2{font-size:30px;font-weight:600;line-height:1.2;max-width:420px}.login-marca p{color:#e8cfd5;max-width:420px}.login-form{display:flex;align-items:center;justify-content:center;padding:32px}.login-form form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.login-form .logo-mobile{display:none}@media print{.menu,.acoes,.filtros,.barra-selecao,.btn,.barra-mobile,.toasts{display:none!important}.app{display:block}.conteudo{padding:0}body{background:#fff}.cartao{box-shadow:none;break-inside:avoid}}@media (max-width: 1200px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.app{grid-template-columns:1fr}.menu{position:fixed;left:0;top:0;bottom:0;width:270px;z-index:60;transform:translate(-100%);transition:transform .2s}.menu.aberto{transform:none;box-shadow:var(--sombra-alta)}.barra-mobile{display:flex;align-items:center;gap:12px;background:var(--grafite);padding:10px 16px;position:sticky;top:0;z-index:20}.barra-mobile img{height:22px}.barra-mobile button{background:none;border:0;color:#fff;padding:4px;cursor:pointer}.conteudo{padding:16px 16px 60px}.g2,.g3,.g-2-1,.tela-login{grid-template-columns:1fr}.login-marca{display:none}.login-form .logo-mobile{display:block;width:170px;margin:0 auto 10px}}@media (max-width: 640px){.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .val{font-size:18px}.form-grade>*{grid-column:span 12!important}.filtros .campo{min-width:0;flex:1 1 140px}h1{font-size:19px}}
