:root{--accent:#0b7285;--bg:#f5f7f9;--ink:#18212a;--muted:#667085;--danger:#b42318;--ok:#067647;--warning:#b54708}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}body:before{content:"";position:fixed;inset:0;background:url('/public/logo.png') center/520px no-repeat;opacity:.03;pointer-events:none;z-index:-1}a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:18px}.top{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.spacer{flex:1}.logo{width:58px;height:58px;border-radius:50%;object-fit:cover}.logo.big{width:84px;height:84px}.center{text-align:center}.m0{margin:0}.mt6{margin-top:6px}.mt8{margin-top:8px}.mt12{margin-top:12px}.card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px;box-shadow:0 1px 2px #1018280d;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cong-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cong-card{text-decoration:none;border-top:6px solid var(--accent);margin:0}.metric{font-size:27px;font-weight:800}.muted{color:var(--muted);font-size:13px}.pos{color:var(--ok)}.neg{color:var(--danger)}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;font:inherit}.btn.secondary{background:#344054}.btn.ghost{background:#fff;color:var(--ink);border:1px solid #d0d5dd}.btn.danger{background:var(--danger)}.btn.tiny{padding:6px 9px;font-size:12px}.btn.full{width:100%;margin-top:14px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font:inherit}input[type=checkbox]{width:auto}input[type=color]{height:44px;padding:4px}label{font-size:13px;font-weight:700;display:block;margin:8px 0 5px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.align-end{display:flex;align-items:end}.nav{display:flex;gap:8px;flex-wrap:wrap}.cong-head{border-left:8px solid var(--accent)}.people{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.person{background:#f9fafb;padding:10px 12px;border-radius:10px;min-width:200px}.login{max-width:440px;margin:7vh auto}.narrow{max-width:620px;margin:auto}.checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.checkgrid label{font-weight:500}.footer{font-size:12px;color:var(--muted);text-align:center;padding:14px 8px 28px}.alert{padding:12px 14px;border-radius:10px;background:#eef4ff;margin-bottom:14px}.alert.danger{background:#fef3f2;color:#b42318}.alert.warning,.warning{background:#fffaeb;color:#7a2e0e}.alert.success{background:#ecfdf3;color:#067647}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4ff;font-size:12px;font-weight:700}.paid{background:#ecfdf3;color:#067647}.pending{background:#fff4ed;color:#b54708}.table-wrap{overflow:auto;border:1px solid #e4e7ec;border-radius:12px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #eaecf0;text-align:left;white-space:nowrap}th{background:#f9fafb;font-size:13px}.money{text-align:right;font-variant-numeric:tabular-nums}.cancelled{text-decoration:line-through;opacity:.55}.audit-star{font-size:20px;font-weight:900;text-decoration:none;color:#2563eb;margin-left:3px}.audit-star.financial{color:#b42318}.financial-border{border-left:6px solid #b42318}.audit-fin{background:#fef3f2;color:#b42318}.year-panel{overflow:hidden}.months{display:grid;grid-template-columns:repeat(12,1fr);gap:7px}.month{position:relative;text-align:center;padding:10px 4px;border:1px solid #d0d5dd;border-radius:10px;text-decoration:none;background:#fff;font-weight:800;font-size:13px}.month small{display:block;font-size:9px;font-weight:500;color:var(--muted);margin-top:3px}.month.selected{outline:3px solid var(--accent);border-color:var(--accent)}.month.closed{background:#f2f4f7}.month.audit-blue{border-top:5px solid #2563eb}.month.audit-yellow{border-top:5px solid #eab308}.month.audit-red{border-top:5px solid #dc2626}.month sup{color:#b42318;font-size:15px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:6px}.dot.blue{background:#2563eb}.dot.yellow{background:#eab308}.dot.red{background:#dc2626}.year-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.year-links a{font-weight:700;color:#475467;text-decoration:none}.invite-list{margin-top:18px}.invite-row{display:grid;grid-template-columns:auto 160px 1fr;gap:8px;align-items:center;margin-top:8px}.title-input{max-width:220px}.denoms{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.denoms label{background:#f9fafb;padding:8px;border-radius:8px}.report-head{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left}.report-head img{width:72px;border-radius:50%}.report-head h2{margin:0 0 4px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.report-metrics div{border:1px solid #d0d5dd;border-radius:8px;padding:10px}.report-metrics span{display:block;font-size:18px;font-weight:800;margin-top:4px}.final-balance{margin-top:18px;border:2px solid #000;padding:12px;font-size:20px}.report-note{font-size:10px}.close-form{max-width:320px;margin-top:16px}dialog{border:0;border-radius:14px;box-shadow:0 20px 50px #0003;max-width:440px;width:calc(100% - 30px)}dialog::backdrop{background:#0006}summary{cursor:pointer}
@media(max-width:900px){.months{grid-template-columns:repeat(6,1fr)}.cong-grid{grid-template-columns:repeat(2,1fr)}.denoms{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.grid,.report-metrics{grid-template-columns:repeat(2,1fr)}.row,.checkgrid,.cong-grid{grid-template-columns:1fr}.wrap{padding:11px}.metric{font-size:23px}.months{grid-template-columns:repeat(4,1fr)}.denoms{grid-template-columns:repeat(3,1fr)}.invite-row{grid-template-columns:1fr}.top h2{font-size:20px}.card{padding:14px}}
@page{size:A4;margin:14mm 13mm 15mm 13mm}@media print{body{background:#fff}body:before,.no-print,.footer{display:none!important}.wrap{max-width:none;padding:0}.card.report{box-shadow:none;border:0;padding:0;margin:0}.report{font-size:10.5px}.report table{font-size:10px}.report th,.report td{padding:5px 6px;white-space:normal}.report h3{margin:12px 0 5px}.report-head img{width:55px}.report-metrics{gap:5px;margin:10px 0}.report-metrics div{padding:6px}.report-metrics span{font-size:14px}.final-balance{font-size:16px;padding:8px;break-inside:avoid}tr{break-inside:avoid}.report-note{font-size:8px}}
.money-input-wrap{display:flex;gap:8px;align-items:stretch}.money-input{font-size:22px;font-weight:800;background:#f9fafb;cursor:pointer}.count-btn{white-space:nowrap}.cash-dialog{max-width:720px}.cash-total-label{text-align:center;font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.08em}.cash-total{text-align:center;font-size:42px;font-weight:900;margin:3px 0 14px;font-variant-numeric:tabular-nums}.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.counter-row{display:grid;grid-template-columns:85px 38px 70px 38px 1fr;gap:6px;align-items:center;border:1px solid #e4e7ec;border-radius:10px;padding:7px}.denom-name{font-weight:900}.counter-row input{text-align:center;padding:8px}.step{height:38px;border:1px solid #d0d5dd;background:#fff;border-radius:8px;font-size:22px;cursor:pointer}.denom-sub{text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.cash-mark{color:#067647;font-weight:900;margin-left:4px}.denom-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.denom-summary div{background:#f9fafb;border:1px solid #eaecf0;border-radius:10px;padding:10px;text-align:center}.denom-summary span,.denom-summary small{display:block;margin-top:4px}.denom-summary span{font-size:18px;font-weight:800}.denom-summary small{color:var(--muted)}.aid-strip{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:10px 12px;background:#fffaeb;border:1px solid #fedf89;border-radius:10px;margin-top:10px}.aid-strip a{margin-left:auto;font-weight:800}
@media(max-width:650px){.money-input-wrap{display:grid;grid-template-columns:1fr}.cash-total{font-size:36px}.counter-grid{grid-template-columns:1fr}.counter-row{grid-template-columns:72px 38px 62px 38px 1fr}.denom-summary{grid-template-columns:repeat(3,1fr)}}
/* V2.2 — Presidência, histórico e comprovantes */
.total-row th{background:#eef2f6;border-top:2px solid #98a2b3;font-size:14px}.church-link{font-size:16px;text-decoration:none}.church-link:hover{text-decoration:underline}.day-accordion details{border:1px solid #e4e7ec;border-radius:11px;margin-top:9px;overflow:hidden;background:#fff}.day-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:#f9fafb}.day-totals{display:flex;gap:18px;flex-wrap:wrap}.neutral{background:#f2f4f7;color:#475467}.timeline{border-left:3px solid var(--accent);padding-left:14px}.timeline-item{padding:8px 0 12px;border-bottom:1px solid #eaecf0}.small-link{font-size:12px;font-weight:800;color:#344054}.president-note{background:#eef4ff;border:1px solid #b2ccff;padding:10px 12px;border-radius:10px}
@media(max-width:650px){.day-accordion summary{align-items:flex-start;flex-direction:column}.day-totals{gap:10px}}
/* V2.4 — Secretaria e módulos da Presidência */
.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.module-card{display:flex;align-items:center;gap:18px;text-decoration:none;min-height:150px;border-top:6px solid var(--accent)}.module-card h3{font-size:24px;margin:0 0 8px}.module-card p{margin:0;color:var(--muted)}.module-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:16px;background:#eef4ff;font-size:30px;font-weight:900}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-grid>div{padding:12px;border:1px solid #eaecf0;border-radius:10px}.detail-grid strong,.detail-grid span{display:block}.detail-grid span{margin-top:5px}.detail-grid .wide{grid-column:1/-1}.small-metric{font-size:20px}.cash-two{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end;margin-top:10px}.cash-two-total{background:#f9fafb;border:1px solid #d0d5dd;border-radius:10px;padding:10px 14px;min-height:68px}.cash-two-total span,.cash-two-total strong{display:block}.cash-two-total strong{font-size:24px;margin-top:4px}.cash-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.cash-summary>div{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:15px}.cash-summary span,.cash-summary strong{display:block}.cash-summary strong{font-size:24px;margin-top:4px}.member-summary .metric{overflow-wrap:anywhere}
@media(max-width:650px){.module-grid,.detail-grid,.cash-two,.cash-summary{grid-template-columns:1fr}.module-card{min-height:auto}.detail-grid .wide{grid-column:auto}}

.permission-section{border:1px solid #dce5e8;border-radius:14px;padding:14px;margin-top:12px;background:#fbfdfd}.permission-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.permission-section .checkgrid{margin-top:8px}.invite-summary{margin-top:10px}
@media(max-width:700px){.permission-head{align-items:flex-start;flex-direction:column}.permission-head .btn{width:100%}}

/* FIX7 — livro-caixa inteligente, gráficos e confidencialidade */
.metric.pos,.pos{color:#067647}.metric.neg,.neg{color:#b42318}.danger-badge{background:#fef3f2;color:#b42318}.warning-badge{background:#fffaeb;color:#b54708}.warning-text{color:#b54708;font-weight:800}.fee-note{color:#175cd3;font-weight:800;margin-top:3px}.inline-check{display:flex;gap:8px;align-items:center;font-weight:600;margin-top:12px}.inline-check input{width:auto}.mini-edit,.pay-form{min-width:280px;max-width:390px;padding:10px 0}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-charts{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.dashboard-charts canvas{width:100%;border:1px solid #eaecf0;border-radius:10px;background:#fff;margin-top:8px}.chart-legend{display:flex;gap:18px;font-size:12px;font-weight:800;margin-top:8px}.chart-legend span:first-child{color:#067647}.chart-legend span:last-child{color:#b42318}.bar-chart{margin-top:14px}.bar-row{display:grid;grid-template-columns:minmax(100px,160px) 1fr auto;gap:10px;align-items:center;margin:10px 0}.bar-row>span{font-size:12px;font-weight:700}.bar-row>b{font-size:12px}.bar-track{height:14px;background:#f2f4f7;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:999px}.confidential-card{border-left:6px solid #b42318;background:#fffafa}.confidential-watermark{position:fixed;top:42%;left:8%;right:8%;z-index:999;transform:rotate(-25deg);font-size:34px;font-weight:900;color:rgba(180,35,24,.08);text-align:center;pointer-events:none}.tithe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tithe-month{border:1px solid #e4e7ec;border-radius:12px;padding:12px;min-height:118px}.tithe-month strong,.tithe-month span,.tithe-month b,.tithe-month small{display:block}.tithe-month span{margin-top:8px;font-size:12px}.tithe-month b{margin-top:5px}.tithe-month small{margin-top:5px;color:var(--muted)}.tithe-month.ok{border-left:5px solid #12b76a}.tithe-month.justified{border-left:5px solid #2e90fa}.tithe-month.missing{border-left:5px solid #f79009;background:#fffcf5}
@media(max-width:800px){.filter-grid,.dashboard-charts,.tithe-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:110px 1fr}.bar-row>b{grid-column:2;text-align:right}.confidential-watermark{font-size:22px}}

/* FIX9 - painel e despesas mobile-first */
.pending-card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;text-decoration:none;margin-top:14px;padding:14px 16px;border-radius:12px;border:1px solid #fedf89;background:#fffaeb;color:#7a2e0e}.pending-card span{font-weight:900}.pending-card strong{font-size:25px}.pending-card small{grid-column:1/-1}.pending-card.clear{background:#ecfdf3;border-color:#abefc6;color:#067647}
@media(max-width:650px){.expenses-mobile table,.expenses-mobile tbody,.expenses-mobile tr,.expenses-mobile td{display:block;width:100%}.expenses-mobile thead{display:none}.expenses-mobile tr{border:1px solid #e4e7ec;border-radius:14px;margin:12px 0;padding:12px;background:#fff}.expenses-mobile td{border:0!important;padding:5px 0!important;text-align:left!important}.expenses-mobile td:before{content:attr(data-label);display:block;font-size:11px;font-weight:800;color:#667085;margin-bottom:2px}.expenses-mobile .pay-form{min-width:0;max-width:none;width:100%}.expenses-mobile input,.expenses-mobile select,.expenses-mobile button,.expenses-mobile .btn{max-width:100%}}

/* IDENTIFICAÇÃO OBRIGATÓRIA DO AMBIENTE DE DEMONSTRAÇÃO */
body::before { content:"TESTE"; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-28deg); font-size:clamp(90px,22vw,310px); font-weight:900; letter-spacing:.04em; color:rgba(190,25,25,.10); pointer-events:none; z-index:9998; white-space:nowrap; }
.demo-banner { position:sticky; top:0; z-index:9999; padding:12px 16px; background:#8b1111; color:white; text-align:center; font-size:clamp(13px,1.7vw,20px); font-weight:900; letter-spacing:.02em; box-shadow:0 2px 8px #0003; }
@media print { body::before { position:fixed!important; color:rgba(180,0,0,.13)!important; -webkit-print-color-adjust:exact; print-color-adjust:exact; } .demo-banner { position:static!important; background:white!important; color:#9b0000!important; border:3px solid #9b0000!important; box-shadow:none!important; -webkit-print-color-adjust:exact; print-color-adjust:exact; } }
