/* V28 — Direção 3: escuro premium (com variante clara).
   Camada de tema por cima do styles.css. Sem alterar dados ou regras do app. */

/* ---------- tokens ---------- */
:root{
  --t-bg:#0c1210;--t-s1:#131b18;--t-s2:#1a2420;--t-line:#243029;--t-line2:#1d2823;
  --t-ink:#eef3ef;--t-ink2:#a9b6ae;--t-mut:#8a988f;
  --t-acc:#3ddc97;--t-accbg:rgba(61,220,151,.13);--t-onacc:#05261a;
  --t-ok:#3ddc97;--t-okbg:rgba(61,220,151,.13);
  --t-warn:#f2c94c;--t-warnbg:rgba(242,201,76,.13);
  --t-mid:#f2994a;--t-midbg:rgba(242,153,74,.14);
  --t-bad:#ef6a6a;--t-badbg:rgba(239,106,106,.14);
  --t-hero-a:#16352a;--t-hero-b:#0f1d18;--t-hero-line:#21493a;
  --t-shadow:0 12px 30px rgba(0,0,0,.45);
  --t-head:rgba(12,18,16,.86);--t-dock:rgba(26,36,32,.94);
  color-scheme:dark;
}
@media(prefers-color-scheme:light){
  :root:not([data-theme="dark"]){
    --t-bg:#f3f6f4;--t-s1:#ffffff;--t-s2:#eef2ef;--t-line:#e0e6e2;--t-line2:#edf1ee;
    --t-ink:#121a16;--t-ink2:#46524a;--t-mut:#6b786f;
    --t-acc:#16794d;--t-accbg:rgba(22,121,77,.10);--t-onacc:#ffffff;
    --t-ok:#18864f;--t-okbg:#e2f3e9;
    --t-warn:#946600;--t-warnbg:#fdf1cc;
    --t-mid:#a95a14;--t-midbg:#fde5cf;
    --t-bad:#b23a3a;--t-badbg:#fbe3e3;
    --t-hero-a:#17503a;--t-hero-b:#0f3a29;--t-hero-line:#17503a;
    --t-shadow:0 10px 26px rgba(20,30,24,.15);
    --t-head:rgba(243,246,244,.88);--t-dock:rgba(255,255,255,.96);
    color-scheme:light;
  }
}
:root[data-theme="light"]{
  --t-bg:#f3f6f4;--t-s1:#ffffff;--t-s2:#eef2ef;--t-line:#e0e6e2;--t-line2:#edf1ee;
  --t-ink:#121a16;--t-ink2:#46524a;--t-mut:#6b786f;
  --t-acc:#16794d;--t-accbg:rgba(22,121,77,.10);--t-onacc:#ffffff;
  --t-ok:#18864f;--t-okbg:#e2f3e9;
  --t-warn:#946600;--t-warnbg:#fdf1cc;
  --t-mid:#a95a14;--t-midbg:#fde5cf;
  --t-bad:#b23a3a;--t-badbg:#fbe3e3;
  --t-hero-a:#17503a;--t-hero-b:#0f3a29;--t-hero-line:#17503a;
  --t-shadow:0 10px 26px rgba(20,30,24,.15);
  --t-head:rgba(243,246,244,.88);--t-dock:rgba(255,255,255,.96);
  color-scheme:light;
}
/* mapeia as variáveis antigas para os tokens novos */
:root{--green:var(--t-acc);--green2:var(--t-acc);--soft:var(--t-accbg);--cream:var(--t-bg);--paper:var(--t-s1);--ink:var(--t-ink);--muted:var(--t-mut);--line:var(--t-line);--gold:var(--t-warn);--red:var(--t-bad);--shadow:none}

/* ---------- base ---------- */
html{background:var(--t-bg)}
body{background:var(--t-bg);color:var(--t-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.app{background:var(--t-bg);box-shadow:none}
h1,h2,h3,h4{letter-spacing:-.02em}
.num,.stat strong,.assiduity-summary strong,.meeting-dashboard strong,.meeting-list-stats strong,.fund-trio strong,.fund-big b,.fund-card-foot b,.meeting-pct-top b,.chart-stat strong,.assiduity-home-side strong,.profile-stats strong,.assiduity-percent,.pm-pct,.chart-bar-pct,.gm-pct,.big{font-family:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
/* Georgia -> Inter nos títulos */
.brand h1,.hero h2,.section-head h3,.dialog-title h2,.login-brand h2,.profile-head h3,.meeting-list-head h3,.meeting-list-title h3,.fund-card-head h3,.fund-head-card h2,.pm-head h3{font-family:Inter,system-ui,sans-serif;font-weight:800;letter-spacing:-.025em}
.brand h1{font-size:22px;color:var(--t-ink)}
.section-head h3{font-size:15px;color:var(--t-ink)}
.meeting-list-title h3{font-size:18px}
svg.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px;flex:0 0 auto}
.btn svg.ico{width:16px;height:16px;vertical-align:-3px;margin-right:2px}

/* ---------- cabeçalho ---------- */
.header{background:var(--t-head);border-bottom:1px solid var(--t-line)}
.brand span{color:var(--t-mut)}
.logo{background:var(--t-s2);box-shadow:none;border:1px solid var(--t-line)}
.icon-btn{background:var(--t-s1);border:1px solid var(--t-line);color:var(--t-ink2);display:inline-grid;place-items:center}
.sync-pill{background:var(--t-okbg);color:var(--t-ok)}.sync-pill.warn{background:var(--t-warnbg);color:var(--t-warn)}.sync-pill.busy{background:var(--t-s2);color:var(--t-ink2)}.sync-pill.error{background:var(--t-badbg);color:var(--t-bad)}

/* ---------- botões ---------- */
.btn{border-radius:12px;font-weight:700}
.btn.primary{background:var(--t-acc);color:var(--t-onacc)}
.btn.secondary{background:var(--t-s2);color:var(--t-ink);border:1px solid var(--t-line)}
.btn.danger{background:var(--t-badbg);color:var(--t-bad);border:1px solid transparent}
.mini{background:var(--t-s2);border:1px solid var(--t-line);color:var(--t-ink2)}
.empty{border-color:var(--t-line);background:var(--t-s1);color:var(--t-mut)}
.text-link{color:var(--t-acc)}
.close{color:var(--t-mut)}

/* ---------- Início: anel + blocos ---------- */
.hero{background:linear-gradient(140deg,var(--t-hero-a),var(--t-hero-b) 75%);border:1px solid var(--t-hero-line);border-radius:22px;padding:18px;color:#fff}
.hero h2{color:#fff;font-size:22px;line-height:1.15}
.hero p{color:rgba(255,255,255,.76)}
.hero .tag{background:rgba(255,255,255,.12);color:#bfe9d3;letter-spacing:.1em}
.hero-ring{display:flex;align-items:center;gap:18px}
.ring{position:relative;width:96px;height:96px;flex:0 0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9}
.ring-bg{stroke:rgba(255,255,255,.14)}
.ring-fg{stroke:#3ddc97;stroke-linecap:round}
.ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 17px "JetBrains Mono",ui-monospace,Consolas,monospace;color:#fff;letter-spacing:-.03em}
.hero-copy small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;color:#8fc9ae}
.hero-copy .big{display:block;font-size:40px;line-height:1.05;margin:3px 0 5px;color:#fff;font-weight:700}
.hero-copy p{font-size:11.5px;line-height:1.45}
.stats{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin-top:10px}
.stat{background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;box-shadow:none;text-align:left;padding:14px}
.stat strong{color:var(--t-ink);font-size:28px;line-height:1.05;margin-top:4px}
.stat small,.stat span{display:block;font-size:10.5px;font-weight:600;color:var(--t-mut);margin-top:0}
.funds-summary .stat span{margin-top:4px}
.shared-banner{background:transparent;border:0;padding:4px 2px;margin-top:10px;color:var(--t-ink2)}
.shared-banner b{color:var(--t-ink2);font-size:11px}.shared-banner small{color:var(--t-mut)}
.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--t-ok);box-shadow:0 0 0 4px var(--t-okbg);flex:0 0 auto}
.assiduity-home-card{background:var(--t-s1);border:1px solid var(--t-line);box-shadow:none;border-radius:18px}
.assiduity-home-icon{background:var(--t-accbg);color:var(--t-acc)}.assiduity-home-icon svg.ico{width:22px;height:22px}
.assiduity-home-copy b{color:var(--t-ink)}.assiduity-home-copy small{color:var(--t-mut)}
.assiduity-home-side strong{color:var(--t-ink);font-size:19px}.assiduity-home-side span{color:var(--t-mut)}.assiduity-home-side i{color:var(--t-mut)}

/* ---------- cartões e listas ---------- */
.member-card,.meeting-card,.birthday-card{background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px}
.avatar{background:var(--t-s2);color:var(--t-ink2);border:1px solid var(--t-line)}
.photo-avatar{background:var(--t-s2)!important;border:2px solid var(--t-line);box-shadow:none}
.grow b{color:var(--t-ink)}.grow small{color:var(--t-mut)}
.next-bday{background:var(--t-accbg);color:var(--t-acc)}.today{background:var(--t-warnbg);color:var(--t-warn)}
.role-badge.coordinator{background:var(--t-accbg);color:var(--t-acc);border:1px solid transparent}
.role-badge.archived{background:var(--t-s2);color:var(--t-mut);border-color:var(--t-line)}
.age-chip{background:var(--t-s2);color:var(--t-ink2)}
.coordinator-card{border-color:rgba(61,220,151,.28)!important;background:var(--t-s1)!important;box-shadow:none}
.coordinator-card .grow>b,.coordinator-card .name-line>b{color:var(--t-acc)}
.archived-card{background:var(--t-s1)!important;opacity:.65}
.birthday-card .date-circle{background:var(--t-warnbg);color:var(--t-warn)}
.birthday-card.celebrate{border-color:var(--t-warn);background:var(--t-warnbg)}
.freq-chip{background:var(--t-okbg);color:var(--t-ok)}.freq-chip.low{background:var(--t-warnbg);color:var(--t-warn)}.freq-chip.critical{background:var(--t-midbg);color:var(--t-mid)}.freq-chip.severe{background:var(--t-badbg);color:var(--t-bad)}
.member-tools .search,.member-tools select,.birthday-tools .seg,.meeting-selector,.assiduity-search{background:var(--t-s1);border:1px solid var(--t-line);color:var(--t-ink);border-radius:12px}
input::placeholder,textarea::placeholder{color:var(--t-mut)}
.birthday-tools .seg.active{background:var(--t-ink);color:var(--t-bg);border-color:var(--t-ink)}
.attention-card{background:var(--t-warnbg);border:1px solid transparent}.attention-card b{color:var(--t-warn)}.attention-card small{color:var(--t-ink2)}.attention-chip{background:var(--t-s1);color:var(--t-warn)}
.streak-chip{background:var(--t-midbg);color:var(--t-mid)}

/* chips de filtro (todos os "seg") */
.attendance-filters .seg,.assiduity-filterbar .seg,.chart-periodbar .seg{background:transparent;border:1px solid var(--t-line);color:var(--t-ink2)}
.attendance-filters .seg.active,.assiduity-filterbar .seg.active,.chart-periodbar .seg.active{background:var(--t-ink);border-color:var(--t-ink);color:var(--t-bg)}

/* ---------- presença ---------- */
.attendance-new-wide{box-shadow:none;border-radius:12px}
.meetings-stacked{gap:10px}
.meeting-list-card{background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;box-shadow:none}
.meeting-list-card:focus-visible{border-color:var(--t-acc);box-shadow:0 0 0 3px var(--t-accbg)}
.meeting-list-head h3{color:var(--t-ink);font-size:15px}.meeting-list-head p{color:var(--t-mut)}.meeting-chevron{color:var(--t-mut)}
.meeting-list-note{background:var(--t-s2);color:var(--t-ink2)}
.meeting-list-stats{background:var(--t-s2);border:1px solid var(--t-line)}.meeting-list-stats>div{border-right-color:var(--t-line)}.meeting-list-stats strong{color:var(--t-ink)}.meeting-list-stats span{color:var(--t-mut)}
.meeting-list-stats .pending{background:var(--t-warnbg)}.meeting-list-stats .pending strong{color:var(--t-warn)}
.meeting-list-pdf{background:var(--t-s2);color:var(--t-ink)}.meeting-list-pdf b{color:var(--t-ink)}.meeting-list-pdf small{color:var(--t-mut)}.meeting-list-pdf>span:last-child{color:var(--t-acc)}
.meeting-list-pdf.empty-pdf{background:transparent;border-color:var(--t-line)}
.meeting-meta{background:var(--t-s1);border:1px solid var(--t-line)}.meeting-meta b{color:var(--t-ink)}.meeting-meta.closed{background:var(--t-s2);border-color:var(--t-line)}
.meeting-note{border-top-color:var(--t-line);color:var(--t-ink2)}
.meeting-dashboard>div{background:var(--t-s1);border:1px solid var(--t-line);border-radius:14px}.meeting-dashboard strong{color:var(--t-ink)}
.meeting-dashboard .pending{background:var(--t-warnbg);border-color:transparent}.meeting-dashboard .pending strong{color:var(--t-warn)}
.attendance-row{background:var(--t-s1);border:1px solid var(--t-line);border-radius:16px}
.attendance-toggle{background:var(--t-s2);border:1px solid var(--t-line)}
.att-btn{background:transparent;color:var(--t-mut)}
.att-btn.present.active{background:var(--t-okbg);color:var(--t-ok)}
.att-btn.justified.active{background:var(--t-warnbg);color:var(--t-warn)}
.att-btn.absent.active{background:var(--t-badbg);color:var(--t-bad)}
.unmarked-row{background:var(--t-warnbg);border-color:transparent}
.pending-badge{background:var(--t-warnbg);color:var(--t-warn)}
.meeting-pdf-card,.meeting-pdf-empty{background:var(--t-s2);border-color:var(--t-line)}.meeting-pdf-card{background:var(--t-s2)}.meeting-pdf-card b,.meeting-pdf-empty b{color:var(--t-ink)}.pdf-open{color:var(--t-acc)}
.meeting-pdf-empty{background:transparent;border-style:dashed}
.meeting-pct{background:var(--t-s1);border:1px solid var(--t-line)}
.pm-card{background:var(--t-s1);border:1px solid var(--t-line);box-shadow:none}.pm-row{background:var(--t-s2);border:1px solid var(--t-line)}.pm-main b{color:var(--t-ink)}
.insight-card{background:var(--t-s1);border:1px solid var(--t-line);box-shadow:none}.insight-card>b{color:var(--t-ink)}

/* ---------- cores por faixa (porcentagens, barras, textos) ---------- */
.freq.good,.assiduity-percent.perfect,.assiduity-percent.good,.assiduity-percent.coordinator,.chart-bar-pct.perfect,.chart-bar-pct.good,.chart-bar-pct.coordinator,.gm-pct.perfect,.gm-pct.good,.gm-pct.coordinator,.gm-foot .perfect,.gm-foot .good,.meeting-pct-top b.perfect,.meeting-pct-top b.good,.pm-pct.perfect,.pm-pct.good{color:var(--t-ok)}
.freq.mid,.freq.warn,.assiduity-percent.low,.chart-bar-pct.low,.gm-pct.low,.gm-foot .low,.meeting-pct-top b.low,.pm-pct.low{color:var(--t-warn)}
.assiduity-percent.critical,.chart-bar-pct.critical,.gm-pct.critical,.gm-foot .critical,.meeting-pct-top b.critical,.pm-pct.critical{color:var(--t-mid)}
.freq.low,.assiduity-percent.severe,.chart-bar-pct.severe,.gm-pct.severe,.gm-foot .severe,.meeting-pct-top b.severe,.pm-pct.severe{color:var(--t-bad)}
.assiduity-percent.nodata,.gm-pct,.meeting-pct-top b,.pm-pct{color:var(--t-mut)}
.frequency-bar,.chart-bar-track,.fund-progress{background:var(--t-s2)}
.frequency-bar i,.chart-bar-track i{background:var(--t-mut)}
.frequency-bar i.perfect,.frequency-bar i.good,.frequency-bar i.coordinator,.chart-bar-track i.perfect,.chart-bar-track i.good,.chart-bar-track i.coordinator{background:var(--t-ok)}
.frequency-bar i.low,.chart-bar-track i.low{background:var(--t-warn)}
.frequency-bar i.critical,.chart-bar-track i.critical{background:var(--t-mid)}
.frequency-bar i.severe,.chart-bar-track i.severe{background:var(--t-bad)}
.frequency-bar i.nodata{background:var(--t-line)}

/* ---------- assiduidade ---------- */
.assiduity-summary>div{background:var(--t-s1);border:1px solid var(--t-line);border-radius:16px}.assiduity-summary strong{color:var(--t-ink)}.assiduity-summary span{color:var(--t-mut)}
.assiduity-summary .attention-summary{background:var(--t-warnbg);border-color:transparent}.assiduity-summary .attention-summary strong{color:var(--t-warn)}
.assiduity-summary .critical-summary{background:var(--t-midbg);border-color:transparent}.assiduity-summary .critical-summary strong{color:var(--t-mid)}
.assiduity-person{background:var(--t-s1);border:1px solid var(--t-line);border-radius:16px;color:var(--t-ink)}
.assiduity-person.low-row{background:var(--t-s1);border-color:rgba(242,201,76,.35)}
.assiduity-person.critical-row{background:var(--t-s1);border-color:rgba(242,153,74,.4)}
.assiduity-person.severe-row{background:var(--t-s1);border-color:rgba(239,106,106,.45)}
.assiduity-person-main small{color:var(--t-mut)}

/* ---------- aniversários / perfil / relatório ---------- */
.profile-head h3{color:var(--t-ink)}.profile-head p{color:var(--t-mut)}
.profile-frequency{background:var(--t-okbg);color:var(--t-ok)}.profile-frequency.low{background:var(--t-warnbg);color:var(--t-warn)}.profile-frequency.critical{background:var(--t-midbg);color:var(--t-mid)}.profile-frequency.severe{background:var(--t-badbg);color:var(--t-bad)}
.profile-stats>div{background:var(--t-s2);border:1px solid var(--t-line)}.profile-stats strong{color:var(--t-ink)}
.history-row{background:var(--t-s1);border:1px solid var(--t-line)}.history-row p{color:var(--t-ink2)}.history-row small{color:var(--t-mut)}
.history-status.present{background:var(--t-okbg);color:var(--t-ok)}.history-status.absent_justified{background:var(--t-warnbg);color:var(--t-warn)}.history-status.absent,.history-status.absent_unjustified{background:var(--t-badbg);color:var(--t-bad)}.history-status.none{background:var(--t-s2);color:var(--t-mut)}
.report-card{background:var(--t-s1);border:1px solid var(--t-line)}.report-card h4{color:var(--t-ink)}
.report-table th,.report-table td{border-bottom-color:var(--t-line)}
.report-coord{color:var(--t-acc)}
.member-funds{background:var(--t-warnbg);border:1px solid transparent}.member-funds b{color:var(--t-warn)}.member-funds p{color:var(--t-ink2)}
.photo-picker-row{background:var(--t-s2);border:1px solid var(--t-line)}
.member-photo-preview{background:var(--t-s1);border:3px solid var(--t-line);box-shadow:none;color:var(--t-ink2)}
.photo-upload-btn{background:var(--t-acc);color:var(--t-onacc)}
.photo-adjust-btn{background:var(--t-s1);border-color:var(--t-line);color:var(--t-ink)}
.photo-picker-copy>b{color:var(--t-ink)}

/* ---------- gráfico ---------- */
.chart-stat strong{color:var(--t-ink)}
.assiduity-chart-svg polyline{stroke:var(--t-acc)}
.assiduity-chart-svg text{fill:var(--t-mut)}
.chart-subtitle{color:var(--t-mut)}

/* ---------- Caixa ---------- */
.funds-hero .btn{margin-top:14px}
.fund-card{background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;box-shadow:none;color:var(--t-ink)}
.fund-card-head h3{color:var(--t-ink);font-size:15px}.fund-card-foot b{color:var(--t-ink)}
.fund-progress i{background:var(--t-warn)}.fund-progress i.done{background:var(--t-ok)}.fund-progress i.sev{background:var(--t-bad)}
.fchip{background:var(--t-s2);color:var(--t-ink2)}.fchip.ok{background:var(--t-okbg);color:var(--t-ok)}.fchip.warn,.fchip.pending{background:var(--t-warnbg);color:var(--t-warn)}
.fund-head-card{background:var(--t-s1);border:1px solid var(--t-line);box-shadow:none}.fund-head-card h2{color:var(--t-ink)}.fund-big b{color:var(--t-ink)}
.fund-trio>div{background:var(--t-s2);border:1px solid var(--t-line)}.fund-trio strong{color:var(--t-ink)}.fund-trio .warnbox{background:var(--t-warnbg);border-color:transparent}.fund-trio .warnbox strong{color:var(--t-warn)}
.fund-row{background:var(--t-s1);border:1px solid var(--t-line)}
.fund-row.paid{background:var(--t-s1);border-color:rgba(61,220,151,.3)}.fund-row.partial,.fund-row.pending{background:var(--t-s1);border-color:rgba(242,201,76,.35)}.fund-row.exempt{background:var(--t-s1);opacity:.7}
.fund-row.paid .fund-row-main small{color:var(--t-ok)}

/* ---------- Visão geral: matriz de pontos ---------- */
.gm-wrap{background:var(--t-s1);border:1px solid var(--t-line);border-radius:16px}
.gm-table th,.gm-table td{border-bottom-color:var(--t-line2)}
.gm-table thead th,.gm-table tfoot td,.gm-table tfoot th,.gm-table thead .gm-name{background:var(--t-s2);color:var(--t-mut)}
.gm-table tfoot td,.gm-table tfoot th{border-top-color:var(--t-line)}
.gm-table .gm-name{background:var(--t-s1);border-right-color:var(--t-line)}
.gm-name b{color:var(--t-ink)}
.gm-table tbody tr:nth-child(even) td:not(.gm-name){background:rgba(127,127,127,.05)}
.gm-cell{font-size:0!important;line-height:0}
.gm-table td.gp,.gm-table td.gj,.gm-table td.ga,.gm-table td.gn,.gm-legend .gp,.gm-legend .gj,.gm-legend .ga,.gm-legend .gn{background:transparent}
.gm-cell::before{content:'';display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:middle;box-sizing:border-box}
.gm-cell.gp::before{background:var(--t-ok)}
.gm-cell.gj::before{background:var(--t-warn)}
.gm-cell.ga::before{border:2px solid var(--t-bad)}
.gm-cell.gn::before{width:4px;height:4px;background:var(--t-line)}
.gm-legend{color:var(--t-ink2)}
.gm-table tbody tr:nth-child(even) td.gm-name{background:var(--t-s1)}

/* ---------- formulários e janelas ---------- */
dialog{background:var(--t-s1);color:var(--t-ink);border:1px solid var(--t-line);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.5)}
dialog::backdrop{background:rgba(4,8,6,.66)}
.dialog-title small{color:var(--t-mut)}.dialog-title h2{color:var(--t-ink);font-size:22px}
label{color:var(--t-ink2)}
label input,label select,label textarea,.report-filters input{background:var(--t-s2);border:1px solid var(--t-line);color:var(--t-ink)}
#loginEmail{background:var(--t-s2);color:var(--t-ink2)}
.login-brand span{color:var(--t-mut)}.login-brand h2{color:var(--t-ink)}.login-brand p{color:var(--t-mut)}
.login-error{color:var(--t-bad)}
.account-card{background:var(--t-s2);border:1px solid var(--t-line)}.account-card b{color:var(--t-ink)}.account-card span,.account-help{color:var(--t-mut)}
.login-history-row{background:var(--t-s2);border:1px solid var(--t-line)}.login-history-row .lh-when{color:var(--t-ink)}
.sticky-actions{background:var(--t-s1)}
.photo-dialog{background:#0b0f0d}
.crop-zoom-label{color:var(--t-acc)}
.field-help,.payment-audit{color:var(--t-mut)}
.fatal-card{background:var(--t-badbg);border-color:transparent;color:var(--t-ink)}
.splash-screen{background:var(--t-bg)}
.toast{background:var(--t-ink);color:var(--t-bg)}

/* seletor de aparência (conta) */
.theme-switch{margin:16px 0 4px}.theme-switch small{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--t-mut);margin-bottom:6px}
.theme-seg{display:flex;background:var(--t-s2);border:1px solid var(--t-line);border-radius:12px;padding:3px}
.theme-seg button{flex:1;border:0;background:transparent;color:var(--t-ink2);font:700 11px Inter,system-ui,sans-serif;padding:8px 0;border-radius:9px;cursor:pointer}
.theme-seg button.active{background:var(--t-s1);color:var(--t-ink);box-shadow:0 1px 3px rgba(0,0,0,.25)}

/* ---------- navegação: pílula flutuante ---------- */
.bottom-nav{left:50%;transform:translateX(-50%);bottom:12px;width:min(calc(100% - 24px),516px);padding:6px;border:1px solid var(--t-line);border-radius:24px;background:var(--t-dock);backdrop-filter:blur(16px);box-shadow:var(--t-shadow);display:flex;gap:2px}
.nav-btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:7px;height:44px;border-radius:17px;padding:0 6px;color:var(--t-mut);transition:flex .2s,background .2s}
.nav-btn b{display:flex;font-size:0}
.nav-btn svg.ico{width:22px;height:22px}
.nav-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-btn.active{flex:2.2 1 0;background:var(--t-acc);color:var(--t-onacc)}
.nav-btn.active span{position:static;width:auto;height:auto;clip:auto;font-size:11px;font-weight:800;margin:0}
.nav-btn.active svg.ico{stroke-width:2.1}
.toast{bottom:92px}
.app{padding-bottom:96px}
@media(max-width:430px){.bottom-nav .nav-btn.active span{font-size:10.5px}}

/* ---------- computador: barra superior em pílulas ---------- */
@media(min-width:860px){
  .app{display:flex;flex-direction:column;border-radius:0;padding-bottom:40px;box-shadow:none}
  .header{order:1}
  .bottom-nav{order:2;position:static;transform:none;width:auto;max-width:none;align-self:flex-start;margin:16px 32px 0;border-radius:99px;padding:5px;gap:4px;box-shadow:none;background:var(--t-s1);backdrop-filter:none}
  .nav-btn,.nav-btn.active{flex:0 0 auto;padding:0 16px;height:40px;border-radius:99px}
  .nav-btn span,.nav-btn.active span{position:static;width:auto;height:auto;clip:auto;font-size:12px;font-weight:700;margin:0}
  main{order:3}
  .toast{bottom:28px}
}

/* ---------- impressão: sempre claro ---------- */
@media print{
  html:root:root{
    --t-bg:#fff;--t-s1:#fff;--t-s2:#f4f6f4;--t-line:#e0e4e1;--t-line2:#eceeec;
    --t-ink:#111;--t-ink2:#333;--t-mut:#666;
    --t-acc:#16794d;--t-accbg:#e2f3e9;--t-onacc:#fff;
    --t-ok:#18864f;--t-okbg:#e2f3e9;--t-warn:#946600;--t-warnbg:#fdf1cc;
    --t-mid:#a95a14;--t-midbg:#fde5cf;--t-bad:#b23a3a;--t-badbg:#fbe3e3;
  }
  body,.app,.report-dialog{background:#fff;color:#111}
}
.pm-head h3{color:var(--t-ink)}
.hero .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}
.assiduity-chart-svg circle[fill="#2f7b4d"]{fill:var(--t-ok)}
.assiduity-chart-svg circle[fill="#c48a38"]{fill:var(--t-warn)}
.assiduity-chart-svg circle[fill="#c0524f"]{fill:var(--t-bad)}
.assiduity-chart-svg circle[fill="#cfd3cf"]{fill:var(--t-line)}

/* Esconde o selo "Powered by Netlify" injetado pela hospedagem (atrapalhava a barra de navegação no celular) */
#nl-badge-frame,iframe[id^="nl-badge"],[id^="nl-badge"]{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* V29 — só "foi" / "faltou" (sem justificativa obrigatória) */
.att-actions{grid-template-columns:1fr 1fr}.att-actions .attendance-new-wide{grid-column:1/-1}
.attendance-toggle.two{display:grid;grid-template-columns:repeat(2,1fr)}
.att-note{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:var(--t-mut);font:600 11px Inter,system-ui,sans-serif;padding:2px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.meeting-list-stats,.meeting-dashboard{grid-template-columns:repeat(3,1fr)!important}
.profile-stats{grid-template-columns:repeat(2,1fr)!important}

/* V30 — Início como painel + aba Integrantes (lista | aniversários) */
.view-switch{display:flex;background:var(--t-s1);border:1px solid var(--t-line);border-radius:14px;padding:4px;margin-bottom:14px}
.view-switch .seg{flex:1;border:0;background:transparent;color:var(--t-mut);font:700 12px Inter,system-ui,sans-serif;padding:10px 0;border-radius:10px;cursor:pointer}
.view-switch .seg.active{background:var(--t-acc);color:var(--t-onacc)}
.bday-intro{margin:0 2px 10px;color:var(--t-ink2);font-size:12px}.bday-intro b{color:var(--t-ink);font-family:"JetBrains Mono",ui-monospace,Consolas,monospace}
.birthday-tools.three-modes{grid-template-columns:repeat(3,1fr)}
.quick-actions{margin-top:12px}
.home-last{display:block;width:100%;text-align:left;font:inherit;color:var(--t-ink);background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;padding:14px;cursor:pointer}
.home-last-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.home-last-top b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em}.home-last-top small{display:block;margin-top:3px;color:var(--t-mut);font-size:11px}
.home-pct{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:700;font-size:20px;letter-spacing:-.04em;color:var(--t-ok)}
.home-pct.low{color:var(--t-warn)}.home-pct.critical{color:var(--t-mid)}.home-pct.severe{color:var(--t-bad)}.home-pct.nodata{color:var(--t-mut)}
.home-row .home-pct{font-size:14px}
.home-last-stats{display:flex;gap:14px;margin-top:11px;font-size:11px;color:var(--t-mut)}.home-last-stats b{color:var(--t-ink);font-family:"JetBrains Mono",ui-monospace,Consolas,monospace}.home-last-stats .pend b{color:var(--t-warn)}
.home-link{display:block;margin-top:11px;color:var(--t-acc);font-size:12px;font-weight:700}
.home-list{display:grid;gap:0;background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;overflow:hidden}
.home-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-bottom:1px solid var(--t-line2)}.home-row:last-child{border-bottom:0}
.home-row .avatar{width:38px;height:38px;font-size:12px}
.home-row .grow b{font-size:13px}.home-row .grow small{font-size:11px}
.home-more{margin-top:8px;width:100%}
.home-ok{padding:18px;color:var(--t-ok)}
.home-linkbtn{border:0;background:transparent;color:var(--t-acc);font:700 12px Inter,system-ui,sans-serif;cursor:pointer;padding:4px 0}
.home-funds{background:var(--t-s1);border:1px solid var(--t-line);border-radius:18px;overflow:hidden}
.home-funds-total{padding:14px 14px 10px}.home-funds-total small{display:block;color:var(--t-mut);font-size:10.5px;font-weight:600}.home-funds-total b{display:block;margin-top:3px;font:700 26px "JetBrains Mono",ui-monospace,Consolas,monospace;letter-spacing:-.04em;color:var(--t-warn)}
.home-fund{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;color:var(--t-ink);background:transparent;border:0;border-top:1px solid var(--t-line2);padding:11px 14px;cursor:pointer}
.home-fund .grow b{font-size:13px}.home-fund .grow small{font-size:11px;color:var(--t-mut)}
.home-money{font:700 13px "JetBrains Mono",ui-monospace,Consolas,monospace;color:var(--t-warn)}

/* V32 — encerrar evento do Caixa */
.fund-tabs{margin-top:14px}
.fund-card.is-closed{opacity:.78}
.fund-card-head h3 .fchip{margin-left:6px;vertical-align:2px;font-size:9px}
.fund-head-card h2 .fchip{margin-left:6px;vertical-align:3px;font-size:10px}
.fund-closed-note{margin:12px 2px 0;padding:11px 13px;border-radius:14px;background:var(--t-s2);border:1px solid var(--t-line);color:var(--t-ink2);font-size:11.5px;line-height:1.5}
