.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}*{box-sizing:border-box}:root{--bg: #eef1f6;--surface: #ffffff;--surface-alt: #f6f8fb;--border: #e2e8f0;--text: #1a2333;--text-muted: #6b7688;--sidebar-bg: #0f2540;--sidebar-text: #a9bcd4;--sidebar-text-active: #ffffff;--sidebar-active-bg: rgba(255, 255, 255, .08);--accent: #f0993d;--accent-contrast: #ffffff;--verde: #1e8449;--vermelho: #d64545;--azul: #2b6cb0;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px rgba(16, 24, 40, .05)}[data-tema=escuro]{--bg: #0b1220;--surface: #141d30;--surface-alt: #101827;--border: #253248;--text: #e7ecf3;--text-muted: #93a1b8;--sidebar-bg: #080f1c;--sidebar-text: #8fa1bc;--sidebar-text-active: #ffffff;--sidebar-active-bg: rgba(255, 255, 255, .06);--accent: #f0993d;--verde: #3fbd73;--vermelho: #e56767;--azul: #5b9bd9;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 20px rgba(0, 0, 0, .35)}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:background .15s ease,color .15s ease}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.login-card{background:var(--surface);padding:2.2rem;border-radius:14px;box-shadow:var(--shadow);width:340px;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border)}.login-card h1{font-size:1.3rem;margin:0 0 .5rem}.login-logo{max-width:220px;height:auto;align-self:center;margin-bottom:.5rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted)}.login-card input{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);color:var(--text);font-size:.95rem}.login-card button{background:var(--accent);color:#fff;padding:.75rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem}.login-card button:hover{filter:brightness(1.05)}.erro{color:var(--vermelho);font-size:.85rem}.app-shell{display:flex;min-height:100vh;width:100%}.sidebar{width:240px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:1.4rem .9rem;position:sticky;top:0;height:100vh}.marca{display:flex;align-items:center;gap:.6rem;padding:0 .5rem 1.4rem}.marca-logo{max-width:100%;height:auto;background:#fff;border-radius:8px;padding:.5rem .7rem;box-sizing:border-box}.nav-lateral{display:flex;flex-direction:column;gap:.15rem}.nav-lateral a{display:flex;align-items:center;gap:.7rem;color:var(--sidebar-text);text-decoration:none;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;font-weight:500}.nav-lateral a span{font-size:1rem;width:1.2rem;text-align:center}.nav-lateral a:hover{background:var(--sidebar-active-bg);color:var(--sidebar-text-active)}.nav-lateral a.active{background:var(--accent);color:#fff}.nav-secao{color:#fff6;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:.9rem .75rem .3rem}.area-principal{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.6rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.topbar-acoes{display:flex;align-items:center;gap:.9rem}.botao-tema{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;width:2.2rem;height:2.2rem;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.avatar{width:2.2rem;height:2.2rem;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.usuario-texto{display:flex;flex-direction:column;line-height:1.2;font-size:.85rem}.usuario-texto span{color:var(--text-muted);font-size:.75rem}.botao-sair{background:transparent;border:1px solid var(--border);color:var(--text);padding:.45rem .9rem;border-radius:8px;cursor:pointer;font-size:.85rem}.botao-sair:hover{background:var(--surface-alt)}.content{padding:1.6rem 2rem;width:100%}.content h2{margin:0 0 1.2rem;font-size:1.3rem}.cards{display:flex;gap:1.1rem;margin-bottom:1.5rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.3rem 1.4rem;flex:1;min-width:200px;box-shadow:var(--shadow)}.card h3{margin:0 0 .5rem;font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.valor{font-size:1.7rem;font-weight:700;margin:0}.verde{color:var(--verde)}.vermelho{color:var(--vermelho)}.laranja{color:var(--accent)}.alertas{background:var(--surface);border:1px solid var(--vermelho);border-left:4px solid var(--vermelho);border-radius:12px;padding:1rem 1.4rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.5rem}.grafico-bloco{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.3rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.grid-2>div{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.3rem;box-shadow:var(--shadow)}.grid-2 h3,.grafico-bloco h3{margin-top:0;font-size:.95rem}.exportacao{display:flex;gap:.6rem;margin-bottom:1.5rem;flex-wrap:wrap}.exportacao button{background:var(--surface);border:1px solid var(--border);padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.88rem;color:var(--text)}.exportacao button:hover{background:var(--surface-alt)}.alternador-custo{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.alternador-custo button{background:var(--surface-alt)!important;color:var(--text-muted)!important;border:none!important;padding:.55rem .8rem;cursor:pointer;font-size:.82rem;font-weight:500}.alternador-custo button.ativo{background:var(--accent)!important;color:#fff!important}.campo-com-dica{display:flex;flex-direction:column;gap:.2rem;max-width:13rem}.campo-com-dica .dica{font-size:.72rem}.bloco-campos-compra{display:flex;gap:1.4rem;flex-wrap:wrap;background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem}.campo-rotulado{display:flex;flex-direction:column;gap:.35rem}.campo-rotulado label{font-size:.82rem;color:var(--text);font-weight:500}.campo-rotulado input,.campo-rotulado select{width:auto;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.9rem}.resumo-calculo{background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--accent);border-radius:8px;padding:.6rem .9rem;font-size:.88rem;margin:0}.checkbox-inline{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text)}.checkbox-inline input{width:auto}.dashboard-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.8rem}.controle-mes-dashboard{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.4rem .6rem .4rem .9rem;box-shadow:var(--shadow)}.controle-mes-dashboard label{font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.controle-mes-dashboard input[type=month]{padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);color:var(--text);font-size:.88rem}.aviso-mes{display:flex;align-items:center;gap:.7rem;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:10px;padding:.75rem 1rem;margin-bottom:1.2rem;font-size:.88rem;color:var(--text)}.aviso-mes-icone{font-size:1.1rem;flex-shrink:0}.aviso-mes span:nth-child(2){flex:1}.aviso-mes-fechar{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .3rem;flex-shrink:0}.aviso-mes-fechar:hover{color:var(--text)}.grid-livre-dashboard{position:relative}.item-grid{position:relative;height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.item-grid-cabecalho{position:absolute;top:.4rem;right:.5rem;z-index:6;cursor:grab;display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.3rem;border-radius:6px;color:var(--text-muted);font-size:.8rem;letter-spacing:-.15em;background:var(--surface-alt);border:1px solid var(--border);opacity:0;transition:opacity .15s ease}.item-grid:hover .item-grid-cabecalho{opacity:.85}.item-grid-cabecalho:hover{opacity:1!important}.item-grid-cabecalho:active{cursor:grabbing}.item-grid-conteudo{flex:1;min-height:0;padding:0;display:flex}.item-grid-conteudo>.card,.item-grid-conteudo>section{flex:1;min-width:0;min-height:0;margin:0;box-shadow:none;display:flex;flex-direction:column;overflow:auto}.item-grid-conteudo table{flex-shrink:0}.react-grid-item.react-grid-placeholder{background:var(--accent)!important;opacity:.15!important;border-radius:12px}.react-resizable-handle{z-index:5;opacity:0;transition:opacity .15s ease;background-image:none!important}.item-grid:hover .react-resizable-handle{opacity:.7}.react-resizable-handle:hover{opacity:1!important}.react-resizable-handle:after{content:"";position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);border-radius:0 0 2px}.toggle-pagamento{position:relative;display:inline-flex;align-items:center;height:26px;min-width:92px;border-radius:999px;cursor:pointer;transition:background .2s ease}.toggle-pagamento input{display:none}.toggle-pagamento.pendente{background:#cbd5e1;justify-content:flex-end;padding-right:1.7rem}.toggle-pagamento.pago{background:#22c55e;justify-content:flex-start;padding-left:1.7rem}.toggle-texto{color:#fff;font-size:.74rem;font-weight:700;white-space:nowrap}.toggle-bola{position:absolute;top:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:left .2s ease,right .2s ease}.toggle-pagamento.pendente .toggle-bola{left:2px}.toggle-pagamento.pago .toggle-bola{right:2px}.etiqueta-composto{display:inline-block;margin-left:.5rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:.1rem .4rem}.linha-botoes{display:flex;gap:.6rem}.linha-botoes button{background:var(--accent);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem}.linha-botoes button:hover{filter:brightness(1.05)}.botao-secundario.botao-secundario{background:var(--azul);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem}.botao-secundario:hover{filter:brightness(1.1)}.botao-editar.botao-editar{background:transparent;color:var(--azul);border:1px solid var(--azul);padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500}.botao-excluir.botao-excluir{background:transparent;color:var(--vermelho);border:1px solid var(--vermelho);padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500}.botao-editar:hover{background:color-mix(in srgb,var(--azul) 12%,transparent)}.botao-excluir:hover{background:color-mix(in srgb,var(--vermelho) 12%,transparent)}.mini-tabela{box-shadow:none;border:none;border-radius:0;background:transparent}.mini-tabela td{padding:.15rem .5rem .15rem 0;border-bottom:none;font-size:.82rem;color:var(--text)}.mini-tabela tr:not(:last-child) td{border-bottom:1px dashed var(--border)}.mini-tamanho{color:var(--text-muted)}.mini-qtde{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted)}.form-inline{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:var(--shadow)}.form-inline input,.form-inline select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);color:var(--text);font-size:.9rem}.form-inline button{background:var(--accent);color:#fff;border:none;padding:.55rem 1.1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem}.form-inline button:hover{filter:brightness(1.05)}.form-bloco{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:var(--shadow)}.form-bloco>button{align-self:flex-start}.linha-alerta{background:color-mix(in srgb,var(--vermelho) 12%,transparent)}.dica{color:var(--text-muted);font-size:.85rem}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}th,td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--border);font-size:.88rem}th{background:var(--surface-alt);color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em}tr:last-child td{border-bottom:none}.modal-fundo{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:var(--surface);padding:1.6rem;border-radius:14px;width:480px;max-height:80vh;overflow-y:auto;border:1px solid var(--border);box-shadow:var(--shadow)}.modal-acoes{display:flex;gap:.6rem;margin-top:1.1rem}.modal-acoes button{padding:.55rem 1.1rem;border-radius:8px;border:none;cursor:pointer;font-size:.88rem}.modal-acoes button:first-child{background:var(--accent);color:#fff}.modal-acoes button:last-child{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}.modal label.dica{display:block;margin:.7rem 0 .25rem}.modal input{display:block;width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);color:var(--text);font-size:.9rem}.modal .form-inline input,.modal .form-inline select{display:inline-block;width:auto}.modal-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;position:sticky;top:-1.6rem;background:var(--surface);margin:-1.6rem -1.6rem 0;padding:1.6rem 1.6rem .6rem;z-index:2}.modal-topo h3{margin:0}.modal-x{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted);width:1.8rem;height:1.8rem;min-width:1.8rem;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.modal-x:hover{background:var(--vermelho);color:#fff;border-color:var(--vermelho)}.modal::-webkit-scrollbar{width:9px}.modal::-webkit-scrollbar-track{background:transparent;margin:14px 0}.modal::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.modal{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.campo-com-unidade{display:flex;align-items:center;gap:.5rem}.campo-com-unidade input{width:6rem}.campo-com-unidade .dica{white-space:nowrap}@media (max-width: 900px){.sidebar{width:72px}.marca{padding:0 .4rem 1rem}.marca-logo{padding:.4rem}.nav-lateral a span{width:auto}.nav-lateral a{justify-content:center}.nav-lateral a:not(.icon-only)>:not(span){display:none}.grid-2{grid-template-columns:1fr}.usuario-texto{display:none}}
