/* Tema escuro "azul-marinho + verde" do MeuAporte.
   Vale sempre, mesmo quando o navegador ou o Claude estão no modo claro (antes dependia do data-theme="dark" e ficava branco no modo claro).
   Só troca cores: estrutura, funções e comandos do app continuam iguais.
   Para voltar ao visual antigo, apague a linha <link ... tema.css> do index.html e o data-theme="dark" da tag <html>. */
:root:root{color-scheme:dark;
 --bg:#12142b;--bg2:#161936;--panel:#1d2042;--ink:#ffffff;--mute:#a4a8c8;--line:#30355c;
 --pos:#00c875;--neg:#f0506e;--gold:#fdab3d;
 --c-rec:#00c875;--c-fix:#7b7bff;--c-ess:#fdab3d;--c-sup:#f0506e;--c-mar:#579bfc;--c-xin:#4eccc6;--c-xout:#a25ddc;--c-xfer:#9699a6;--c-var:#ff7f50;--c-inv:#ffcb00;
 --ac:#00c875;--acf:#0f1129;
 --fxbg:#171a38;--fxalt:#1c2043;--fxc1:#1e2246;--fxsep1:#2a2f6b;--fxsep2:#0d6e4c;
 --fw:#171a38;--fl:#1e2246;--fh:#272b58;--fk:#ffffff;--fd:#23275a;--fm:#2e3372;--fln:#30355c;
 --az:#579bfc;--vd:#00c875;--c-a:#4eccc6;--c-b:#fdab3d;--c-c:#a25ddc;--c-d:#579bfc}
:root:root body{background:#12142b;color:#fff}
:root:root .bkx{--c-mar:#579bfc;--c-rec:#00c875;--c-fix:#7b7bff;--c-sup:#4eccc6;--c-xout:#a25ddc;--c-xin:#5fd38d;--c-ess:#fdab3d;--ac:#2a2f6b}
:root:root .dv-wrap,:root:root .dv-ov{--dv-az:#9aa6ff;--dv-azc:#7b7bff;--dv-vd:#00c875}

/* destaque verde nos botões e abas selecionadas */
:root:root nav button[aria-selected=true],
:root:root .mp.on,
:root:root .ivsw button.on,
:root:root .ivchip.on{background:#00c875;color:#0f1129;border-color:transparent;box-shadow:0 6px 16px -8px rgba(0,200,117,.7)}
:root:root .btn{background:#00c875;color:#0f1129;box-shadow:0 6px 14px -8px rgba(0,200,117,.7)}
:root:root .ivstep:not([hidden]) h4::before{background:#00c875;color:#0f1129}
:root:root .rbar .rt i.up{background:linear-gradient(90deg,#00a862,#00c875)}
:root:root .rbar .rt i.dn{background:linear-gradient(90deg,#fdab3d,#f0506e)}

/* cartões grandes: azul-marinho com brilho roxo e verde */
:root:root .hero,
:root:root .fin,
:root:root .dv-big{background:linear-gradient(135deg,#2a2f6b 0%,#23275a 50%,#0d6e4c 100%);color:#fff;box-shadow:0 14px 30px -16px rgba(0,0,0,.8)}
:root:root .fx tr.fx-fin td,
:root:root .fxw .fx tr.fx-fin td,
:root:root .fxw .fx tr.fx-sep td{background-image:linear-gradient(90deg,#2a2f6b,#0d6e4c);background-color:#2a2f6b;color:#fff}
:root:root #lock .lk-ic{background:linear-gradient(140deg,#00c875,#2a2f6b)}
:root:root .fxw .fx thead th{border-bottom-color:#00c875}
:root:root .fxw .fx thead th.sel{background-color:#00a862;color:#fff}
:root:root .fxw .fx tr.fx-sub{--gc:#00c875}

/* ===== Modernização (28/10): acabamento no estilo monday dev. Só aparência; nada muda nas funções. ===== */
/* fundo com pontinhos discretos, como no quadro da imagem */
:root:root body{background-color:#12142b;background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1.2px);background-size:22px 22px;background-attachment:fixed}
:root:root ::selection{background:#00c87555;color:#fff}
:root:root{scrollbar-color:#3a3f72 transparent}
:root:root ::-webkit-scrollbar{width:10px;height:10px}
:root:root ::-webkit-scrollbar-thumb{background:#3a3f72;border-radius:99px;border:2px solid transparent;background-clip:padding-box}
:root:root ::-webkit-scrollbar-track{background:transparent}

/* cartão "Valor aplicado" do topo ganha a mesma moldura dos outros (estava sem cor) */
:root:root .ledger div:nth-child(7){--gc:var(--gold)}

/* botões: verde principal, secundários com contorno, efeito suave ao tocar */
:root:root .btn{border-radius:10px;transition:transform .12s,filter .12s,box-shadow .12s}
:root:root .btn:hover{filter:brightness(1.08);box-shadow:0 8px 18px -8px rgba(0,200,117,.8)}
:root:root .btn:active{transform:translateY(1px) scale(.99)}
:root:root .btn.alt{background:transparent;color:#fff;border:1px solid #00c875;box-shadow:none}
:root:root .btn.alt:hover{background:rgba(0,200,117,.12);box-shadow:none}
:root:root .btn.alt.armada{background:linear-gradient(135deg,#fdab3d,#ffcb00);color:#1c1f3b;border-color:#fdab3d}
:root:root #dlg-dados .dd-file{font-size:1rem}
:root:root .mini{border-radius:8px;transition:border-color .12s,background .12s}
:root:root .mini:hover{border-color:#00c875;background:rgba(0,200,117,.08)}

/* campos: cantos arredondados e brilho verde ao digitar */
:root:root input:not([type=checkbox]):not([type=radio]):not([type=range]),
:root:root select,
:root:root textarea{border-radius:10px;transition:border-color .12s,box-shadow .12s}
:root:root input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,
:root:root select:focus,
:root:root textarea:focus{border-color:#00c875;box-shadow:0 0 0 3px rgba(0,200,117,.22);outline:none}
:root:root input[type=checkbox],:root:root input[type=radio]{accent-color:#00c875}
:root:root input::placeholder,:root:root textarea::placeholder{color:#7c80a6}
:root:root :focus-visible{outline-color:#00c875}

/* etiquetas de status cheias, como "Feito / Em andamento" do monday */
:root:root .st{background:#00c875;color:#0f1129;border:0;border-radius:6px;font-weight:700;padding:3px 10px}
:root:root .st.pv{background:#fdab3d;color:#1c1f3b;border:0}
:root:root .st.ag{background:#579bfc;color:#0f1129;border:0}

/* tabelas: cabeçalho com linha verde e linha destacada ao passar o dedo/mouse */
:root:root .tw{border-radius:14px;border-color:#30355c}
:root:root .tb th{border-bottom-color:#00c875;color:#c3c6e3}
:root:root .tb tbody tr{transition:background .12s}
:root:root .tb tbody tr:hover{background:rgba(255,255,255,.035)}

/* botões flutuantes do canto (câmera, nuvem, voz, zoom, cadeado, ajuda): mais visíveis */
:root:root #btn-ajuda,:root:root #btn-dados,:root:root #zoomctl,
:root:root #btn-voz,:root:root #btn-nuvem,:root:root #btn-ia-foto{opacity:.85;background:#1d2042;border-color:#3a3f72;color:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.8)}
:root:root #btn-ajuda:hover,:root:root #btn-dados:hover,:root:root #zoomctl:hover,
:root:root #btn-voz:hover,:root:root #btn-nuvem:hover,:root:root #btn-ia-foto:hover{opacity:1;border-color:#00c875}

/* janelas (backup, PIN, avisos): cantos maiores e sombra profunda */
:root:root .dd-card{border-radius:18px;border:1px solid #30355c;box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}

@media (prefers-reduced-motion:reduce){:root:root *{transition:none!important}}

/* textos que o index.html só clareava no modo escuro: agora claros sempre */
:root:root h1{color:#fff}

/* ===== Aporte+ Empresarial: DRE gerencial no Fluxo de caixa ===== */
:root:root .fxw .fx tr.fx-hd.g-variavel{--hc:#c2410c}
:root:root .fxw .fx tr.fx-hd.g-invest_empresa{--hc:#a16207}
:root:root .fxw .fx tr.fx-hd.g-variavel td,:root:root .fxw .fx tr.fx-hd.g-invest_empresa td{background-color:var(--hc)}
:root:root .fxw .fx tr.fx-sub.g-variavel{--gc:#ff7f50}
:root:root .fxw .fx tr.fx-sub.g-invest_empresa{--gc:#ffcb00}
/* subtotais de despesas (Despesa fixa total, Despesa operacional total) */
:root:root .fxw .fx tr.fx-tot td{background-color:#2a1f3d;color:#ffd7c2;font-weight:800;border-bottom:2px solid #ff7f50}
:root:root .fxw .fx tr.fx-tot td.c1{border-left:8px solid #ff7f50}
:root:root .fxw .fx tr.fx-tot td small{display:block;color:#d9b8a8;font-weight:600}
/* resultados principais da DRE (Margem de contribuição, Lucro operacional, Resultado após investimentos) */
:root:root .fxw .fx tr.fx-calc.fx-dest td{background-color:#0d4f3a;color:#fff;font-size:1.04rem;border-bottom:2px solid #00c875}
:root:root .fxw .fx tr.fx-calc.fx-dest td.c1{border-left:8px solid #00c875;background-color:#0d4f3a}
:root:root .fxw .fx tr.fx-calc.fx-dest td.vv.neg{color:#ff8fa3}
/* indicadores do mês no topo do Fluxo */
.dre-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.dre-kpis .k{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--kc,#00c875);border-radius:14px;padding:10px 12px;min-width:0}
.dre-kpis .k small{display:block;color:var(--mute);font-size:.74rem;font-weight:600}
.dre-kpis .k b{display:block;font-size:1.12rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dre-kpis .k span{display:block;font-size:.74rem;color:var(--mute)}
.dre-kpis .k b.neg{color:var(--neg)}.dre-kpis .k b.pos{color:var(--pos)}
:root:root .mk-e{font-size:.62em;font-weight:700;color:#ffcb00;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}

/* ===== Simulador de preço e serviço ===== */
.sim{display:flex;flex-direction:column;gap:14px;min-width:0}
.sim-top h2{margin:0 0 4px;font-size:1.35rem}
.sim-top p{margin:0;color:var(--mute);font-size:.88rem}
.sim-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.sim-tabs button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--ink);cursor:pointer;transition:border-color .15s,transform .12s,background .15s;font:inherit}
.sim-tabs button>span{grid-row:1/3;font-size:1.5rem}
.sim-tabs button b{font-size:.95rem}
.sim-tabs button b em{font-style:normal;background:#00c875;color:#0f1129;border-radius:99px;padding:0 7px;font-size:.75rem;margin-left:4px}
.sim-tabs button small{color:var(--mute);font-size:.74rem;line-height:1.25}
.sim-tabs button:hover{border-color:#00c875}
.sim-tabs button.on{border-color:#00c875;background:color-mix(in srgb,#00c875 14%,var(--panel));box-shadow:0 8px 20px -14px rgba(0,200,117,.9)}
.sim-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:860px){.sim-grid{grid-template-columns:1fr}}
.sim-form{display:flex;flex-direction:column;gap:12px;min-width:0}
.sim-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}
.sim-card h4{margin:0 0 10px;font-size:.92rem;color:#9fe8c9;letter-spacing:.01em}
.sim-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 12px}
.sf{display:flex;flex-direction:column;gap:4px;min-width:0}
.sf-l{grid-column:1/-1}
.sf>span:first-child{font-size:.8rem;font-weight:700;color:var(--ink)}
.sf em{font-style:normal;font-size:.66rem;font-weight:700;background:rgba(87,155,252,.18);color:#9cc4ff;border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:middle;white-space:nowrap}
.sf small{color:var(--mute);font-size:.72rem;line-height:1.25}
.sfi{display:flex;align-items:center;background:var(--bg2,#161936);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .12s,box-shadow .12s}
.sfi:focus-within{border-color:#00c875;box-shadow:0 0 0 3px rgba(0,200,117,.18)}
.sfi i{font-style:normal;color:var(--mute);font-size:.8rem;padding:0 9px;white-space:nowrap}
.sfi input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink);padding:9px 6px;font:inherit;font-weight:700;outline:0}
.sf-auto .sfi{border-color:rgba(87,155,252,.45)}
.sim-id input[type=text],.sim-id textarea,.sim-mat>input[type=text]{width:100%;box-sizing:border-box;background:var(--bg2,#161936);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:9px 10px;font:inherit;resize:vertical}
.sim-id{display:flex;flex-direction:column;gap:10px}
.sim-edit{background:rgba(255,203,0,.12);border:1px solid rgba(255,203,0,.4);color:#ffe27a;border-radius:10px;padding:7px 10px;font-size:.82rem}
.sim-edit span{color:#ffb4a0;font-weight:700}
.sim-fluxo{border-color:rgba(87,155,252,.45);background:linear-gradient(135deg,color-mix(in srgb,#579bfc 10%,var(--panel)),var(--panel))}
.sim-fh{display:flex;gap:10px;align-items:flex-start}
.sim-ic{font-size:1.2rem}
.sim-fh small{display:block;color:var(--mute);font-size:.78rem;margin-top:2px;line-height:1.35}
.sim-frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.sim-sel{font-size:.82rem;color:var(--mute);display:flex;gap:6px;align-items:center}
.sim-sel select{background:var(--bg2,#161936);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}
.sim-det{margin-top:10px}
.sim-det summary{cursor:pointer;font-size:.82rem;color:#9cc4ff;font-weight:700}
.sim-chk{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px dashed var(--line);font-size:.84rem}
.sim-chk span{flex:1;min-width:0}
.sim-mini{font-size:.78rem;color:var(--mute);margin:6px 0 10px;line-height:1.4}
.sim-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sim-seg button{background:var(--bg2,#161936);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px;font:inherit;font-weight:800;cursor:pointer;text-align:left}
.sim-seg button small{display:block;font-weight:500;color:var(--mute);font-size:.74rem;margin-top:2px}
.sim-seg button.on{border-color:#00c875;background:color-mix(in srgb,#00c875 16%,var(--panel))}
.sim-mats{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.sim-mat{display:grid;grid-template-columns:minmax(185px,1fr) minmax(0,1.3fr) auto 30px;grid-template-areas:"nome nome tot del" "qtd cmp cmp cmp";gap:6px;align-items:center;padding-bottom:8px;border-bottom:1px dashed var(--line)}.sim-mat>input[type=text]{grid-area:nome}.sim-mq{grid-area:qtd}.sim-mc{grid-area:cmp}.sim-matt{grid-area:tot}.sim-mat>.x{grid-area:del}.sim-math{display:none!important}
.sfi select{flex:0 0 auto;min-width:68px;max-width:90px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.8rem;padding:9px 4px;outline:0;cursor:pointer}
.sfi select option,.sfi select optgroup{background:var(--panel,#18203a);color:var(--ink)}
.sim-mc i{padding:0 5px}
.sim-mc input.sim-cq{flex:0 0 52px;width:52px}.sim-mq input{min-width:56px}
.sim-math{font-size:.7rem;color:var(--mute);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.sim-matt{text-align:right;font-size:.84rem;white-space:nowrap}
@media(max-width:560px){.sim-mat{grid-template-columns:minmax(0,1fr) auto 30px;grid-template-areas:"nome tot del" "qtd qtd qtd" "cmp cmp cmp"}}
.sim-ml .sim-mlrow{display:flex;gap:10px;align-items:center}
.sim-ml input[type=range]{flex:1;accent-color:#00c875;min-width:0}
.sfi-s{width:110px;flex:0 0 auto}
.sim-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:sticky;bottom:8px;background:color-mix(in srgb,var(--bg,#12142b) 85%,transparent);backdrop-filter:blur(6px);padding:8px;border-radius:14px;border:1px solid var(--line);z-index:4}
.sim-res{position:sticky;top:calc(var(--tbh,0px) + 10px);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
@media(max-width:860px){.sim-res{position:static}}
.sr-big{background:linear-gradient(135deg,#2a2f6b 0%,#23275a 50%,#0d6e4c 100%);border-radius:14px;padding:16px;color:#fff}
.sr-big small{display:block;font-size:.78rem;opacity:.85;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.sr-big b{display:block;font-size:2rem;line-height:1.15;margin:4px 0;word-break:break-word}
.sr-big span{font-size:.82rem;opacity:.9}
.sr-err{background:rgba(240,80,110,.12);border:1px solid rgba(240,80,110,.5);color:#ffb3c1;border-radius:10px;padding:9px 11px;font-size:.84rem;line-height:1.4}
.sr-bar{display:flex;height:16px;border-radius:99px;overflow:hidden;background:var(--line)}
.sr-bar i{display:block;height:100%}
.sr-leg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.76rem;color:var(--mute)}
.sr-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.sr-leg b{color:var(--ink)}
.sr-list{display:flex;flex-direction:column}
.sr-l{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.sr-l span{font-size:.86rem;font-weight:700}
.sr-l small{display:block;font-weight:500;color:var(--mute);font-size:.72rem;margin-top:2px}
.sr-l b{white-space:nowrap;font-size:.95rem;text-align:right}
.sr-cmp{border-radius:12px;padding:10px 12px;font-size:.84rem;line-height:1.4;border:1px solid}
.sr-cmp>b{display:block;margin-bottom:2px}
.sr-cmp.ok{background:rgba(0,200,117,.1);border-color:rgba(0,200,117,.45)}
.sr-cmp.meio{background:rgba(255,203,0,.1);border-color:rgba(255,203,0,.45)}
.sr-cmp.no{background:rgba(240,80,110,.12);border-color:rgba(240,80,110,.5)}
.sr-gauge{display:flex;flex-direction:column;gap:6px}
.sr-gt{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;flex-wrap:wrap}
.sr-gb{position:relative;height:14px;background:var(--line);border-radius:99px}
.sr-gb i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.sr-gb i.ok{background:linear-gradient(90deg,#00a862,#00c875)}
.sr-gb i.no{background:linear-gradient(90deg,#fdab3d,#f0506e)}
.sr-gb em{position:absolute;top:-4px;bottom:-4px;width:3px;background:#fff;border-radius:2px;transform:translateX(-50%)}
.sr-gauge small{color:var(--mute);font-size:.76rem;line-height:1.4}
.sr-how summary{cursor:pointer;font-size:.84rem;font-weight:700;color:#9cc4ff}
.sr-how p{font-size:.8rem;color:var(--mute);line-height:1.45;margin:6px 0}
.sr-tab{display:flex;flex-direction:column;margin-top:6px}
.sr-th,.sr-tr{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:6px;padding:6px 8px;font-size:.82rem;text-align:right}
.sr-th{color:var(--mute);font-size:.7rem;text-transform:uppercase;font-weight:700}
.sr-th span:first-child,.sr-tr span:first-child{text-align:left}
.sr-tr{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px}
.sr-tr:hover{background:rgba(0,200,117,.08)}
.sr-tr.on{background:rgba(0,200,117,.18);font-weight:800}
.sim-ajuda{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.sim-ajuda summary{cursor:pointer;font-weight:700}
.sim-ajuda li{font-size:.85rem;color:var(--mute);margin:6px 0;line-height:1.45}
.sim-msg{margin:0}
.sim-htools{display:flex;flex-direction:column;gap:8px}
.sim-htools input{background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit}
.sim-hf{display:flex;flex-wrap:wrap;gap:6px}
.sim-hlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.sim-h{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.sim-h h4{margin:6px 0 2px;font-size:1rem;word-break:break-word}
.sim-h p{margin:0;font-size:.82rem;color:var(--mute);white-space:pre-wrap;word-break:break-word}
.sim-h small{color:var(--mute);font-size:.72rem}
.sim-chip{display:inline-block;font-size:.7rem;font-weight:800;border-radius:99px;padding:2px 9px;background:rgba(87,155,252,.18);color:#9cc4ff}
.sim-chip.t-produto{background:rgba(255,127,80,.18);color:#ffb197}
.sim-chip.t-servico{background:rgba(162,93,220,.2);color:#d3adf5}
.sim-hv{background:var(--bg2,#161936);border-radius:12px;padding:10px 12px}
.sim-hv small{display:block;font-size:.7rem;text-transform:uppercase;font-weight:700}
.sim-hv b{display:block;font-size:1.25rem}
.sim-hv span{font-size:.74rem;color:var(--mute)}
.sim-ha{display:flex;flex-wrap:wrap;gap:6px}
.sim-ha .danger{color:#ff8fa3;border-color:rgba(240,80,110,.5)}
.sim-vazio{background:var(--panel);border:1px dashed var(--line);border-radius:16px;padding:28px;text-align:center;display:flex;flex-direction:column;gap:6px}
.sim-vazio span{color:var(--mute)}
/* linhas 🔒 de detalhe dentro de Saídas extraordinárias e linha informativa do extraordinário */
:root:root .fxw .fx tr.fx-det td{font-style:italic;opacity:.85;font-size:.9em;background-color:color-mix(in srgb,#173f94 18%,var(--fxbg,#171a38))}
:root:root .fxw .fx tr.fx-det td.c1 .sbn{font-weight:600}
:root:root .fxw .fx tr.fx-calc.fx-info td{background-color:#1e2246;color:#c9cde8;font-weight:600;border-bottom:1px dashed #3a3f72}
:root:root .fxw .fx tr.fx-calc.fx-info td.c1{border-left:8px solid #3a3f72;background-color:#1e2246}
:root:root .fxw .fx tr.fx-calc td.c1 small{display:block;font-weight:500;font-size:.72rem;opacity:.85}

.sim-ares{display:block;margin-top:4px;font-size:.8rem!important;color:var(--ink)!important}.sim-ares:empty{display:none}.sim-ares .pos{color:var(--pos)}.sim-ares .neg{color:var(--neg)}
.sim-seg3{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.sim-seg3{grid-template-columns:1fr}}
.sim-segp{margin:4px 0 10px}.sim-segp button{padding:9px 10px;font-size:.88rem}
.sim-sub{margin:14px 0 6px;font-size:.92rem;color:var(--ink)}
.sim-lab{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-top:10px}
.sr-an{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:16px;padding:12px;background:color-mix(in srgb,#e8930c 5%,var(--panel))}
.an-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.an-top b{font-size:.95rem}.an-top small{color:var(--mute);font-size:.72rem}
.an-cols{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:stretch}
.an-seta{align-self:center;color:var(--mute);font-weight:800}
.an-c{background:var(--bg2,#161936);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.an-c.hoje{border-color:rgba(0,200,117,.5)}
.an-c small{font-size:.72rem;color:var(--mute);font-weight:700}
.an-c b{font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-c span{font-size:.78rem}.an-c em{font-style:normal;font-size:.72rem;color:var(--mute)}
.an-c.vazio span{color:var(--mute);font-size:.76rem}
.an-gain{display:flex;flex-wrap:wrap;gap:6px}
.an-gain span{flex:1 1 90px;background:rgba(0,200,117,.14);border:1px solid rgba(0,200,117,.35);border-radius:10px;padding:6px 8px;font-size:.7rem;color:var(--mute);display:flex;flex-direction:column}
.an-gain b{color:var(--pos);font-size:.95rem;white-space:nowrap}
.an-gain.neg span{background:rgba(229,72,77,.12);border-color:rgba(229,72,77,.35)}.an-gain.neg b{color:var(--neg)}
.sr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sr-chips span{background:rgba(255,255,255,.12);border-radius:10px;padding:5px 9px;font-size:.72rem;display:flex;flex-direction:column;line-height:1.25}
.sr-chips b{font-size:.92rem!important;font-weight:800;display:block}
@media(max-width:400px){.an-cols{grid-template-columns:1fr}.an-seta{display:none}}
.sim-dias{display:block;font-size:1.05rem;padding:8px 0 2px}
.sfi input[type=date]{color-scheme:dark light}
.sr-pe{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(87,155,252,.4);border-radius:16px;padding:12px;background:color-mix(in srgb,#579bfc 7%,var(--panel))}
.sr-pep{margin:0;font-size:.76rem;color:var(--mute);line-height:1.4}
.pe-chips{display:flex;flex-wrap:wrap;gap:6px}
.pe-chips span{flex:1 1 100px;background:rgba(87,155,252,.14);border:1px solid rgba(87,155,252,.35);border-radius:10px;padding:6px 8px;font-size:.7rem;color:var(--mute);display:flex;flex-direction:column}
.pe-chips b{color:var(--ink);font-size:.95rem;white-space:nowrap}
.pe-st{border-radius:10px;padding:8px 10px;font-size:.8rem;line-height:1.4}
.pe-st.ok{background:rgba(0,200,117,.12);border:1px solid rgba(0,200,117,.35)}.pe-st.no{background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.35)}
.sf-wrap{display:contents}.sf-wrap[hidden]{display:none!important}
.mk-p{color:#14c98a;font-weight:800;margin-left:1px}

/* ===== Agenda (📅 no cartão Novo lançamento) ===== */
.ag-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid transparent;background:linear-gradient(90deg,#00c875,#14c98a);color:#0f1129;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,200,117,.75);transition:transform .12s,box-shadow .12s}
.ag-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(0,200,117,.9)}
.ag-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lc-card{position:relative}
#lanc-card .lc-head>.ag-btn{position:absolute;top:12px;right:14px;z-index:2}
#lanc-card .lc-head>.ag-btn+div{padding-right:130px}
.ag-btn-ic{font-size:1.05rem;line-height:1}
.ag-badge{position:absolute;top:-7px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--panel,#1d2042)}
html.ag-aberta,html.ag-aberta body{overflow:hidden}
.ag-ov{position:fixed;inset:0;z-index:8500;background:rgba(8,10,28,.62);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:18px 12px;overflow:auto}
.ag-ov[hidden]{display:none}
.ag-card{width:min(760px,100%);background:var(--panel,#1d2042);color:var(--ink,#fff);border:1px solid var(--line,#30355c);border-radius:20px;padding:16px 18px 18px;box-shadow:0 30px 70px -25px rgba(0,0,0,.7);animation:agIn .16s ease-out}
@keyframes agIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
.ag-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}
.ag-h h2{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
.ag-h-a{display:flex;gap:8px;align-items:center}
.ag-h-a .ag-hoje{height:38px}
.ag-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--line,#30355c);background:transparent;color:inherit;font-size:1.05rem;cursor:pointer}
.ag-x:hover{border-color:#e5484d;color:#ff8a8d}
.ag-resumo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.ag-rz{text-align:left;font:inherit;color:inherit;background:color-mix(in srgb,#00c875 10%,var(--panel,#1d2042));border:1px solid color-mix(in srgb,#00c875 40%,var(--line,#30355c));border-radius:14px;padding:10px 12px;cursor:pointer;min-width:0}
.ag-rz:hover{border-color:#00c875}
.ag-rz.vazio{background:var(--bg2,#161936);border-color:var(--line,#30355c)}
.ag-rz-t{display:block;font-weight:800;font-size:.92rem;margin:0 0 4px}
.ag-rz-t small{font-weight:600;color:var(--mute,#a4a8c8);font-size:.78rem}
.ag-rz ul{margin:0;padding:0 0 0 18px;font-size:.86rem;line-height:1.35;max-height:7.5em;overflow:auto}
.ag-rz li{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 2px}
.ag-rz-v{font-size:.84rem;color:var(--mute,#a4a8c8)}
.ag-nav{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.ag-sel{display:flex;gap:8px;flex:1;min-width:0}
.ag-sel select{flex:1;min-width:0;height:42px;padding:0 10px;border-radius:12px;border:1px solid var(--line,#30355c);background:var(--bg2,#161936);color:inherit;font:inherit;font-size:1rem;font-weight:700;cursor:pointer}
.ag-sel select#ag-ano{flex:0 0 108px}
.ag-seta{flex:0 0 42px;height:42px;display:grid;place-items:center;padding:0;border-radius:12px;border:1px solid var(--line,#30355c);background:var(--bg2,#161936);color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.ag-seta:hover,.ag-sel select:hover{border-color:#00c875}
.ag-hoje{height:42px;padding:0 14px;border-radius:12px;border:1px solid #00c875;background:transparent;color:#5fe3a7;font:inherit;font-weight:800;cursor:pointer}
.ag-hoje:hover{background:color-mix(in srgb,#00c875 15%,transparent)}
.ag-info{margin:4px 0 10px;font-size:.8rem;color:var(--mute,#a4a8c8)}
.ag-cal{background:var(--bg2,#161936);border:1px solid var(--line,#30355c);border-radius:16px;padding:10px}
.ag-sem,.ag-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ag-sem{margin:0 0 6px}
.ag-sem span{text-align:center;font-size:.76rem;font-weight:800;color:var(--mute,#a4a8c8);text-transform:uppercase;letter-spacing:.04em}
.ag-sem span.fds{color:#9aa6ff}
.ag-grade{touch-action:pan-y}
.ag-dia{position:relative;aspect-ratio:1/0.82;min-height:46px;border-radius:12px;border:1px solid transparent;background:var(--panel,#1d2042);color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 0;transition:background .1s,border-color .1s}
@media (hover:hover){.ag-dia:hover{border-color:#00c875}}
.ag-dia:focus-visible{outline:2px solid #9aa6ff;outline-offset:1px}
.ag-n{font-size:1.08rem;font-weight:700;line-height:1}
.ag-dia.fds .ag-n{color:#b9c1ff}
.ag-dia.fora{opacity:.38}
.ag-pt{display:block;min-width:8px;height:8px;border-radius:999px;background:transparent}
.ag-dia.tem .ag-pt{background:#00c875;box-shadow:0 0 0 3px color-mix(in srgb,#00c875 25%,transparent)}
.ag-dia.tem .ag-pt.mais{height:15px;min-width:15px;padding:0 4px;font-size:.66rem;font-weight:800;line-height:15px;color:#0f1129}
.ag-dia.hoje{border-color:#00c875}
.ag-dia.hoje .ag-n{color:#5fe3a7}
.ag-dia.sel{background:linear-gradient(160deg,#00c875,#14a874);border-color:transparent;color:#0f1129;box-shadow:0 8px 18px -10px rgba(0,200,117,.9)}
.ag-dia.sel .ag-n{color:#0f1129}
.ag-dia.sel.tem .ag-pt{background:#0f1129;box-shadow:none;color:#5fe3a7}
.ag-diap{margin:14px 0 0;padding:14px;border:1px solid var(--line,#30355c);border-radius:16px;background:var(--bg2,#161936)}
.ag-diap h3{margin:0 0 10px;font-size:1rem;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ag-tag{font-size:.72rem;font-weight:800;padding:3px 9px;border-radius:999px;background:#00c875;color:#0f1129;text-transform:uppercase;letter-spacing:.04em}
.ag-lista{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.ag-it{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--panel,#1d2042);border:1px solid var(--line,#30355c);border-left:4px solid #00c875}
.ag-it.em-edicao{border-color:#fdab3d;border-left-color:#fdab3d}
.ag-txt{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;font-size:.94rem;min-width:0;flex:1}
.ag-it-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.ag-mini{padding:6px 10px;border-radius:999px;border:1px solid var(--line,#30355c);background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}
.ag-mini:hover{border-color:#9aa6ff}
.ag-mini.perigo:hover{border-color:#e5484d;color:#ff8a8d}
.ag-vazio{margin:0 0 12px;color:var(--mute,#a4a8c8);font-size:.88rem}
.ag-lbl{display:block;font-size:.82rem;font-weight:700;color:var(--mute,#a4a8c8);margin:0 0 6px}
#ag-txt{width:100%;box-sizing:border-box;min-height:84px;resize:vertical;padding:10px 12px;border-radius:12px;border:1px solid var(--line,#30355c);background:var(--panel,#1d2042);color:inherit;font:inherit;font-size:1rem;line-height:1.4}
#ag-txt:focus{outline:none;border-color:#00c875;box-shadow:0 0 0 3px color-mix(in srgb,#00c875 25%,transparent)}
.ag-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:10px 0 0}
.ag-cont{margin-right:auto;font-size:.74rem;color:var(--mute,#a4a8c8)}
.ag-ok{padding:10px 18px;border-radius:12px;border:0;background:#00c875;color:#0f1129;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 6px 14px -8px rgba(0,200,117,.8)}
.ag-ok:hover{filter:brightness(1.07)}
.ag-sec{padding:10px 16px;border-radius:12px;border:1px solid var(--line,#30355c);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.ag-msg{margin:8px 0 0;min-height:1.2em;font-size:.86rem;font-weight:700;color:#5fe3a7}
@media (max-width:560px){
  .ag-ov{padding:0}
  .ag-card{border-radius:0;min-height:100%;padding:14px 12px 22px;border:0}
  .ag-resumo{grid-template-columns:1fr}
  .ag-nav{gap:6px}
  .ag-seta{flex-basis:40px}
  .ag-sel{gap:6px}
  .ag-sel select{padding:0 6px}
  .ag-sel select#ag-ano{flex:0 0 86px}
  .ag-cal{padding:6px}
  .ag-sem,.ag-grade{gap:4px}
  .ag-dia{min-height:42px;aspect-ratio:auto;border-radius:10px}
  .ag-n{font-size:1rem}
  .ag-it{flex-direction:column}
  .ag-it-a{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){.ag-card{animation:none}.ag-btn{transition:none}}

/* ===== Simulador: tipo de criação (engorda, ovos, leite, plantação) ===== */
.sim-seg4{grid-template-columns:repeat(4,1fr);margin:0 0 12px}
.sim-seg4 button{min-width:0}
@media(max-width:700px){.sim-seg4{grid-template-columns:1fr 1fr}}
.sim-nota{margin-top:10px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,#fdab3d 10%,transparent);border:1px solid color-mix(in srgb,#fdab3d 35%,transparent)}
.cr-cols .an-c em{font-size:.72rem}
.sim-crh{margin:8px 0 2px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,#00c875 8%,transparent);border-left:3px solid #00c875;font-size:.84rem;line-height:1.4;color:var(--mute,#a4a8c8)}
.sim-crh b{color:var(--ink,#fff)}
.sim-exrow{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin:4px 0 6px;padding:8px 12px;border-radius:12px;border:1px dashed var(--line,#30355c)}
.sim-exrow span{font-size:.8rem;color:var(--mute,#a4a8c8)}
.an-gain:empty{display:none}
.sim-segneg button small{font-size:.7rem}

/* plano bloqueado pelo administrador */
.as-pl.as-off{opacity:.6;filter:grayscale(1)}.as-pl.as-off.atual{opacity:.9;filter:none}.as-offtxt{font-weight:800;color:#fdab3d;font-size:.85rem}

/* v18: abas menores para caberem todas na largura do app (o Simulador P/S não fica mais cortado).
   Se ainda faltar espaço (zoom do navegador ou letra maior), as abas descem para uma segunda linha em vez de sumir. */
@media(min-width:561px){
  .topbar nav[role=tablist]{gap:5px;flex-wrap:wrap;overflow-x:visible}
  .topbar nav[role=tablist] button{padding:6px 11px;font-size:.84rem}
}

/* ===== v18: Fluxo de caixa só em azul-marinho escuro, verde e branco (pedido do antonio, 05/11).
   Só muda cores; linhas, contas e comandos continuam iguais. Valores negativos seguem em vermelho para aviso. ===== */
:root:root .dre-kpis .k{--kc:#00c875!important;background:#0f1a3d;border-color:#1f2d5c;border-top-color:#00c875}
:root:root .dre-kpis .k small,:root:root .dre-kpis .k span{color:#c9d3f0}
:root:root .dre-kpis .k b{color:#fff}:root:root .dre-kpis .k b.pos{color:#00e08a}
:root:root .fxw{background:#0b1430;border-color:#1f2d5c}
:root:root .fxw .fx th,:root:root .fxw .fx td,:root:root .fxw .fx td.c1{background-color:#0b1430;background-image:none;color:#fff;border-bottom-color:#1f2d5c}
:root:root .fxw .fx td.pp{color:#dbe3ff}
/* cabeçalho da tabela */
:root:root .fxw .fx thead th,:root:root .fxw .fx thead th.mh,:root:root .fxw .fx thead th.sel{background-color:#0f1a3d;background-image:none;color:#fff;border-bottom:3px solid #00c875}
:root:root .fxw .fx thead th.mh,:root:root .fxw .fx thead th.sel{background-color:#00a862}
/* linhas de detalhe: azul-marinho alternado, barrinha verde */
:root:root .fxw .fx tr.fx-sub{--gc:#00c875}
:root:root .fxw .fx tr.fx-sub td{background-color:#0b1430}
:root:root .fxw .fx tr.fx-sub:nth-of-type(even) td{background-color:#101c42}
:root:root .fxw .fx tr.fx-sub:hover td{background-color:#16285a}
:root:root .fxw .fx tr.fx-sub td.c1{border-left:4px solid #00c875}
:root:root .fxw .fx tr.fx-sub.z td{color:#9fb0dc}
:root:root .fxw .fx tr.fx-det td{background-color:#0d1838;color:#c9d3f0}
/* grupos (Receita, Custo variável, Despesas fixas, Investimento, Extraordinários...): todos iguais */
:root:root .fxw .fx tr.fx-hd,:root:root .fxw .fx tr.fx-hd.g-variavel,:root:root .fxw .fx tr.fx-hd.g-invest_empresa{--hc:#16285a}
:root:root .fxw .fx tr.fx-hd td,:root:root .fxw .fx tr.fx-hd.g-variavel td,:root:root .fxw .fx tr.fx-hd.g-invest_empresa td{background-color:#16285a;background-image:none;color:#fff;border-bottom:1px solid #00c875}
:root:root .fxw .fx tr.fx-hd td.c1{border-left:8px solid #00c875}
:root:root .fxw .fx tr.fx-hd td small{color:#c9d3f0}
/* subtotais (Despesa fixa total, Despesa operacional total) */
:root:root .fxw .fx tr.fx-tot td{background-color:#122152;color:#fff;border-bottom:2px solid #00c875}
:root:root .fxw .fx tr.fx-tot td.c1{border-left:8px solid #ffffff;background-color:#122152}
:root:root .fxw .fx tr.fx-tot td small{color:#c9d3f0}
/* contas intermediárias (= Margem após..., = Margem disponível, resultados extraordinários) */
:root:root .fxw .fx tr.fx-calc td,:root:root .fxw .fx tr.fx-calc.fx-info td{background-color:#0f1a3d;color:#fff;border-bottom:2px solid #00c875}
:root:root .fxw .fx tr.fx-calc td.c1,:root:root .fxw .fx tr.fx-calc.fx-info td.c1{border-left:8px solid #00c875;background-color:#0f1a3d}
/* resultados principais (= Margem de contribuição, = Lucro operacional, = Resultado após investimentos): verde forte */
:root:root .fxw .fx tr.fx-calc.fx-dest td,:root:root .fxw .fx tr.fx-calc.fx-dest td.c1{background-color:#00875a;color:#fff;border-bottom:2px solid #00c875}
:root:root .fxw .fx tr.fx-calc.fx-dest td.c1{border-left:8px solid #ffffff}
:root:root .fxw .fx tr.fx-calc.fx-dest td.vv.neg{color:#ffd0d8}
/* faixas de título (Operacional, Extraordinário, Resultado) e Saldo final: azul-marinho para verde */
:root:root .fxw .fx tr.fx-sep td,:root:root .fxw .fx tr.fx-fin td{background-color:#0b1430;background-image:linear-gradient(90deg,#0f1a3d,#00875a);color:#fff}
:root:root .fxw .fx tr.fx-sep td.c1,:root:root .fxw .fx tr.fx-fin td.c1{background-image:none;background-color:#0f1a3d}
:root:root .fxw .fx tr.fx-sep td.c1 small{color:#c9d3f0}
:root:root .fxw .fx tr.fx-fin td.vv,:root:root .fxw .fx tr.fx-fin td.pp{color:#fff}
/* caixinhas "Nova linha" */
:root:root .fxw .fx tr.fx-form td{background-color:#0d1838}
:root:root .fxw .fx tr.fx-form form.addi{background:#0f1a3d;border-color:#1f6f52}
/* coluna do mês selecionado */
:root:root .fxw .fx td.vv.sel,:root:root .fxw .fx td.pp.sel{background-image:linear-gradient(rgba(0,200,117,.10),rgba(0,200,117,.10))}
