/* V46 — Hacienda: flujo de cierre, tabla comparativa, botones de modelos y estadísticas.
   Un único bloque coherente: sin sobrescrituras forzadas ni parches sobre otros módulos. */

.fiscal-flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.fiscal-flow__step { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); font-size: 13px; background: rgba(255,255,255,.03); }
.fiscal-flow__num { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 12px; font-weight: 800; border: 1px solid var(--line-strong); }
.fiscal-flow__step--done { color: #86efac; border-color: rgba(34,197,94,.4); background: rgba(34,197,94,.1); }
.fiscal-flow__step--done .fiscal-flow__num { background: var(--green); color: #052e16; border-color: var(--green); }
.fiscal-flow__step--current { color: var(--yellow); border-color: rgba(245,185,66,.5); background: rgba(245,185,66,.1); }

.fiscal-readiness { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.03); }
.fiscal-readiness--ready { border-color: rgba(34,197,94,.45); background: rgba(34,197,94,.08); }
.fiscal-readiness--closed { border-color: rgba(34,197,94,.45); }
.fiscal-readiness--missing { border-color: rgba(245,185,66,.4); }

.fiscal-compare { overflow-x: auto; margin-bottom: 12px; }
.fiscal-compare__table { width: 100%; border-collapse: collapse; min-width: 420px; }
.fiscal-compare__table th, .fiscal-compare__table td { padding: 10px 12px; text-align: right; border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.fiscal-compare__table thead th { color: var(--muted); font-size: 12px; letter-spacing: .06em; }
.fiscal-compare__table tbody th { text-align: left; font-weight: 600; color: var(--text); }
.fiscal-compare__total { font-weight: 800; border-left: 1px solid var(--line-strong); }
.fiscal-compare__legend { margin: 8px 0 0; font-size: 12px; color: var(--muted); }

/* Semántica de signos de la app: diferencia = oficial − estimación CRM. */
.fiscal-diff--pay-more { color: var(--orange); font-weight: 800; }
.fiscal-diff--pay-less { color: var(--green); font-weight: 800; }
.fiscal-diff--neutral { color: var(--muted); }

.fiscal-model-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.fiscal-model-btn { display: flex; flex-direction: column; gap: 4px; max-width: 280px; }
.fiscal-model-btn small { font-size: 12px; }
.fiscal-model-btn--loaded, .btn.btn--success.fiscal-model-btn--loaded { color: #fff; }

.fiscal-202-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }
.fiscal-202-chip { padding: 6px 10px; border-radius: 10px; border: 1px dashed var(--line-strong); font-size: 13px; color: var(--muted); }
.fiscal-202-chip--loaded { border-style: solid; border-color: rgba(34,197,94,.45); color: #86efac; background: rgba(34,197,94,.08); }

.alert-inline--warning { border: 1px solid rgba(245,185,66,.5); background: rgba(245,185,66,.1); color: var(--text); border-radius: 12px; padding: 10px 12px; margin: 8px 0; }

.fiscal-statistics { display: grid; gap: 16px; }
.fiscal-statistics__head h2 { margin: 0; }
.fiscal-stat-block__letter { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 6px; border-radius: 8px; font-size: 13px; font-weight: 800; color: #111827; background: var(--yellow); }
.fiscal-subtitle { margin: 14px 0 6px; font-size: 14px; color: var(--muted); }
.fiscal-month-detail { margin-top: 8px; }
.fiscal-month-detail summary { cursor: pointer; color: var(--muted); }

@media (max-width: 720px) {
  .fiscal-model-btn { max-width: none; width: 100%; }
}
