/* DRE e resultado: estilos compartilhados pelo painel (Filament) e pela impressão/PDF.
   Fonte única: resources/css/dre.css. No painel entra como asset do Filament; na impressão vai inline. */
.dre{--dre-ink:#111827;--dre-muted:#6b7280;--dre-soft:#9ca3af;--dre-line:#e5e7eb;--dre-row:#f9fafb;--dre-surface:#fff;
     --dre-blue:#2a78d6;--dre-orange:#eb6834;--dre-green:#1baf7a;--dre-red:#dc2626;--dre-violet:#7c3aed;
     --dre-blue-soft:#eaf2fc;--dre-orange-soft:#fdeee7;--dre-green-soft:#e6f6ef;--dre-red-soft:#fdecec;--dre-violet-soft:#f3eefe;
     color:var(--dre-ink);font-variant-numeric:tabular-nums}
.dark .dre{--dre-ink:#f3f4f6;--dre-muted:#9ca3af;--dre-soft:#6b7280;--dre-line:#374151;--dre-row:#1f2937;--dre-surface:#111827;
     --dre-blue:#3987e5;--dre-orange:#d95926;--dre-green:#199e70;--dre-red:#f87171;--dre-violet:#a78bfa;
     --dre-blue-soft:rgba(57,135,229,.16);--dre-orange-soft:rgba(217,89,38,.16);--dre-green-soft:rgba(25,158,112,.16);--dre-red-soft:rgba(248,113,113,.16);--dre-violet-soft:rgba(167,139,250,.16)}
.dre>*+*{margin-top:1.25rem}

/* Cabeçalho do relatório */
.dre-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.5rem 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--dre-ink)}
.dre-head__title{font-size:1.375rem;line-height:1.2;font-weight:800;letter-spacing:-.01em}
.dre-head__sub{margin-top:.2rem;font-size:.8125rem;color:var(--dre-muted)}
.dre-chips{display:flex;flex-wrap:wrap;gap:.375rem}
.dre-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border:1px solid var(--dre-line);border-radius:999px;font-size:.75rem;color:var(--dre-muted);background:var(--dre-surface)}
.dre-chip strong{color:var(--dre-ink);font-weight:600}

/* Avisos */
.dre-warn{border-left:4px solid #f59e0b;background:#fffbeb;color:#92400e;padding:.6rem .9rem;border-radius:.5rem;font-size:.8125rem}
.dark .dre-warn{background:rgba(245,158,11,.12);color:#fbbf24}

/* Blocos com título */
.dre-block{border:1px solid var(--dre-line);border-radius:.875rem;background:var(--dre-surface);padding:1rem 1.125rem}
.dre-block__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.75rem}
.dre-block__title{font-size:.9375rem;font-weight:700;display:flex;align-items:center;gap:.5rem}
.dre-block__title::before{content:"";width:.5rem;height:1.1rem;border-radius:3px;background:var(--dre-blue)}
.dre-block--costs .dre-block__title::before{background:var(--dre-orange)}
.dre-block--cycles .dre-block__title::before{background:var(--dre-violet)}
.dre-block--profit .dre-block__title::before{background:var(--dre-green)}
.dre-block__sub{font-size:.75rem;color:var(--dre-muted);max-width:60rem}
.dre-block>*+*{margin-top:.875rem}

/* Cartões de indicadores */
.dre-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}
@media (min-width:768px){.dre-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.dre-cards--6{grid-template-columns:repeat(6,minmax(0,1fr))}.dre-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.dre-card{position:relative;border:1px solid var(--dre-line);border-radius:.75rem;padding:.7rem .85rem .7rem 1rem;background:var(--dre-surface);min-width:0;overflow:hidden}
.dre-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--dre-soft)}
.dre-card--blue::before{background:var(--dre-blue)}.dre-card--green::before{background:var(--dre-green)}.dre-card--red::before{background:var(--dre-red)}.dre-card--orange::before{background:var(--dre-orange)}.dre-card--violet::before{background:var(--dre-violet)}
.dre-card--blue{background:var(--dre-blue-soft)}.dre-card--green{background:var(--dre-green-soft)}.dre-card--red{background:var(--dre-red-soft)}.dre-card--orange{background:var(--dre-orange-soft)}.dre-card--violet{background:var(--dre-violet-soft)}
.dre-card__label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dre-muted)}
.dre-card__value{margin-top:.15rem;font-size:1.375rem;line-height:1.2;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.dre-card--lg .dre-card__value{font-size:1.625rem}
.dre-card__value.is-pos{color:#15803d}.dre-card__value.is-neg{color:var(--dre-red)}
.dark .dre-card__value.is-pos{color:#4ade80}
.dre-card__hint{margin-top:.2rem;font-size:.6875rem;line-height:1.3;color:var(--dre-muted)}

/* Tabelas */
.dre-table{width:100%;border-collapse:collapse;font-size:.8125rem}
.dre-table th{padding:.45rem .6rem;text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dre-muted);border-bottom:1px solid var(--dre-line)}
.dre-table td{padding:.4rem .6rem;border-bottom:1px solid var(--dre-line);vertical-align:middle}
.dre-table .num{text-align:right;white-space:nowrap}
.dre-table .neg{color:var(--dre-red)}
.dre-table tbody tr.is-current td{background:var(--dre-blue-soft);font-weight:700}
.dre-table--zebra tbody tr:nth-child(even) td{background:var(--dre-row)}
.dre-table .ok{color:#15803d;font-weight:600}.dark .dre-table .ok{color:#4ade80}
.dre-table .muted{color:var(--dre-muted)}

/* Demonstrativo (DRE) */
.dre-statement tr.dre-group td{font-weight:700;padding-top:.55rem}
.dre-statement tr.dre-group td:first-child{border-left:3px solid var(--dre-soft);padding-left:.75rem}
.dre-statement tr.dre-group--revenue td:first-child{border-left-color:var(--dre-blue)}
.dre-statement tr.dre-group--costs td:first-child{border-left-color:var(--dre-orange)}
.dre-statement tr.dre-sub td{color:var(--dre-muted);border-bottom:1px dashed var(--dre-line);padding-top:.25rem;padding-bottom:.25rem}
.dre-statement tr.dre-sub td:first-child{padding-left:1.9rem;position:relative}
.dre-statement tr.dre-sub td:first-child::before{content:"";position:absolute;left:1rem;top:0;bottom:50%;width:.5rem;border-left:1px solid var(--dre-line);border-bottom:1px solid var(--dre-line)}
.dre-statement tr.dre-sub .detail{font-size:.6875rem;color:var(--dre-soft)}
.dre-statement tr.dre-result td{background:var(--dre-row);font-weight:700;border-top:1px solid var(--dre-line)}
.dre-statement tr.dre-final td{font-size:1rem;font-weight:800;padding:.6rem;border-top:2px solid var(--dre-ink);border-bottom:none}
.dre-statement tr.dre-final.is-pos td{background:var(--dre-green-soft)}
.dre-statement tr.dre-final.is-neg td{background:var(--dre-red-soft);color:var(--dre-red)}
.dre-bar{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;min-width:7rem}
.dre-bar__track{display:block;width:4rem;height:.375rem;border-radius:999px;background:var(--dre-line);overflow:hidden;flex:none}
.dre-bar__fill{display:block;height:100%;border-radius:999px;background:var(--dre-blue)}
.dre-bar--costs .dre-bar__fill{background:var(--dre-orange)}
.dre-bar--profit .dre-bar__fill{background:var(--dre-green)}
.dre-bar--neg .dre-bar__fill{background:var(--dre-red)}

/* Lista “como foi calculado” */
.dre-formulas{display:grid;gap:.25rem .75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));font-size:.75rem;color:var(--dre-muted)}
.dre-formulas strong{color:var(--dre-ink);font-weight:600}
.dre-note{font-size:.6875rem;line-height:1.4;color:var(--dre-muted)}
.dre-pct-strong{font-weight:700}

/* Gráficos (SVG) */
.dre-viz{--viz-fixed:var(--dre-blue);--viz-variable:var(--dre-orange);--viz-tax:var(--dre-green);--viz-ink:var(--dre-ink);--viz-muted:var(--dre-muted);--viz-grid:var(--dre-row);--viz-axis:var(--dre-line);--viz-surface:var(--dre-surface)}
.dre-viz>*+*{margin-top:1rem}
.dre-viz .viz-scroll{overflow-x:auto}.dre-viz svg{display:block;width:100%;min-width:640px;height:auto;font-family:inherit}
.dre-viz .viz-slot .viz-hit{fill:transparent}.dre-viz .viz-slot:hover .viz-hit{fill:var(--viz-ink);fill-opacity:.06}
.dre-viz .viz-legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.75rem;line-height:1rem;color:var(--viz-muted);margin-top:.5rem}
.dre-viz .viz-legend strong{color:var(--dre-ink)}
.dre-viz .viz-swatch{display:inline-block;width:.75rem;height:.75rem;border-radius:3px;vertical-align:-2px;margin-right:.35rem}
.dre-viz .viz-key{display:inline-block;width:1rem;height:2px;background:var(--viz-ink);vertical-align:.2rem;margin-right:.35rem;border-radius:1px}
.dre-viz .viz-strip{display:flex;gap:2px;height:26px;border-radius:6px;overflow:hidden}
.dre-viz .viz-strip span{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}
.dre-viz__title{font-size:.8125rem;font-weight:600;color:var(--dre-ink);margin-bottom:.4rem}
.dre-viz .empty{font-size:.8125rem;color:var(--dre-muted)}

/* Campo da meta de lucro, logo acima da tabela de ciclos (só no painel; na impressão não aparece) */
.dre-target{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.65rem .85rem;border:1px solid var(--dre-blue);border-radius:.75rem;background:var(--dre-blue-soft)}
.dre-target__label{font-size:.8125rem;font-weight:700}
.dre-target__box{display:inline-flex;align-items:stretch;border:1px solid var(--dre-line);border-radius:.5rem;background:var(--dre-surface);overflow:hidden}
.dre-target__prefix{display:flex;align-items:center;padding:0 .6rem;font-size:.8125rem;color:var(--dre-muted);background:var(--dre-row);border-right:1px solid var(--dre-line)}
.dre-target__box input{width:8.5rem;border:0;outline:0;padding:.45rem .65rem;font-size:1rem;font-weight:700;background:transparent;color:var(--dre-ink);font-variant-numeric:tabular-nums}
.dre-target__box:focus-within{border-color:var(--dre-blue);box-shadow:0 0 0 2px var(--dre-blue-soft)}
.dre-target__hint{flex:1 1 16rem;font-size:.75rem;color:var(--dre-muted)}
