/* Programa de indicação (/app/indique, /admin/indicacoes), fechamento mensal e DASN (carregado após app.css) */
.ref-link { display: flex; gap: var(--sp-2); align-items: stretch; }
.ref-link .input { flex: 1; min-width: 0; font-size: var(--fs-sm); }
.ref-actions { display: grid; grid-template-columns: 1fr; gap: var(--sp-2); margin-top: var(--sp-3); }
@media (min-width: 560px) { .ref-actions { grid-template-columns: 1fr 1fr; } }
.ref-text summary { cursor: pointer; color: var(--primary); font-weight: 600; }
.ref-qr { display: flex; justify-content: center; padding: var(--sp-2); background: #fff; border-radius: var(--r-md); border: 1px solid var(--border); }
.ref-qr svg { width: min(220px, 100%); height: auto; display: block; }
.ref-rules { padding-left: 1.2em; margin: 0 0 var(--sp-3); font-size: var(--fs-sm); line-height: 1.6; }
.ref-rules li + li { margin-top: var(--sp-2); }
.ref-admin-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--sp-2); }
.ref-admin-stats .stat { padding: var(--sp-3); text-decoration: none; }
.ref-admin-stats .stat__value { font-size: var(--fs-lg); }
.ref-admin-actions summary { list-style: none; display: inline-flex; cursor: pointer; }
.ref-admin-actions summary::-webkit-details-marker { display: none; }
.ref-admin-actions[open] { min-width: 220px; }
.badge--info { background: var(--primary-soft); color: var(--primary); }
.ref-banner { display: flex; gap: var(--sp-3); align-items: center; background: var(--primary-soft); color: var(--primary); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); font-size: var(--fs-sm); }
.ref-banner svg { flex: 0 0 auto; }

/* Fechamento mensal */
.closing-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.closing-nav h2 { margin: 0; font-size: var(--fs-lg); }
.checklist { list-style: none; margin: 0; padding: 0; }
.checklist li { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--border); font-size: var(--fs-sm); }
.checklist li:last-child { border-bottom: 0; }
.checklist__icon { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; }
.checklist li.is-ok .checklist__icon { background: var(--success-soft); color: var(--success); }
.checklist li.is-warn .checklist__icon { background: var(--warning-soft, #FFF4D6); color: var(--warning); }
.checklist li.is-fail .checklist__icon { background: var(--danger-soft); color: var(--danger); }
.checklist li.is-info .checklist__icon { background: var(--surface-2); color: var(--ink-3); }
.checklist__body { flex: 1; min-width: 0; }
.checklist__title { font-weight: 600; display: block; }
.checklist__detail { color: var(--ink-2); display: block; }
.closing-totals { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
@media (min-width: 720px) { .closing-totals { grid-template-columns: repeat(4, 1fr); } }
.closing-totals .stat { padding: var(--sp-3); }
.closing-totals .stat__value { font-size: var(--fs-md); white-space: nowrap; }
.closing-seal { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--success-soft); color: var(--success); font-weight: 700; font-size: var(--fs-xs); }
.closing-seal.is-open { background: var(--surface-2); color: var(--ink-2); }
.closing-months { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
@media (min-width: 720px) { .closing-months { grid-template-columns: repeat(6, 1fr); } }
.closing-months a { display: flex; flex-direction: column; align-items: center; padding: 8px 4px; border: 1px solid var(--border); border-radius: var(--r-md); text-decoration: none; color: var(--ink); font-size: var(--fs-xs); background: var(--surface); }
.closing-months a.is-closed { border-color: var(--success); background: var(--success-soft); }
.closing-months a.is-current { outline: 2px solid var(--primary); }
.closing-months b { font-size: var(--fs-sm); }

/* DASN */
.dasn-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
.dasn-steps { padding-left: 1.3em; margin: 0; font-size: var(--fs-sm); line-height: 1.7; }
.dasn-steps li::marker { font-weight: 700; color: var(--primary); }
.dasn-deadline { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--accent-soft, #FFF4D6); color: var(--accent, #B45309); font-weight: 700; font-size: var(--fs-sm); }

/* OFX: conciliação com cobrança Pix direto (Fase 4) */
.ofx-row[data-action="pay_invoice"] .ofx-detail--pay_invoice { display: grid; gap: var(--sp-2); }
