/* ==========================================================
   Gestão AD Palmeira — Design System 2.0
   Claro / Escuro · identidade própria por módulo
   ========================================================== */
:root{
  --chrome:#121d45;--chrome2:#1b2b66;
  --brand:#1f3a93;--brand-ink:#fff;--gold:#d9b25f;
  --bg:#f2f5fb;--surface:#fff;--surface2:#f5f7fc;--line:#e4e9f3;
  --ink:#0e1a33;--muted:#64748d;--faint:#97a3b8;
  --ok:#0e9f74;--ok-bg:#e2f6ee;--bad:#e0455a;--bad-bg:#fde9ec;--warn:#a96a0c;--warn-bg:#fff2d6;
  --shadow:0 1px 2px rgba(15,27,60,.04),0 10px 28px -8px rgba(15,27,60,.10);
  --shadow-lg:0 20px 50px -12px rgba(10,20,50,.28);
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  color-scheme:light;
}
:root:not([data-theme=dark]){--brand:var(--brand-cfg,#1f3a93)}
:root[data-theme=dark]{
  --bg:#070c17;--surface:#0f1729;--surface2:#151f37;--line:#1e2a46;
  --ink:#e8eefb;--muted:#8d9bb8;--faint:#5d6b88;
  --brand:#e2bd6d;--brand-ink:#1a1f3a;
  --ok:#35d6a2;--ok-bg:#0d2c27;--bad:#ff7489;--bad-bg:#34141c;--warn:#f1c36a;--warn-bg:#33270e;
  --shadow:0 0 0 1px rgba(255,255,255,.015) inset,0 14px 34px -10px rgba(0,0,0,.6);
  --shadow-lg:0 24px 60px -12px rgba(0,0,0,.8);
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238d9bb8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;transition:background .3s,color .3s}
h1,h2,h3,h4,p{margin:0}
h1{font-size:26px;line-height:1.15;letter-spacing:-.6px;font-weight:800}
h2{font-size:18px;letter-spacing:-.3px;font-weight:750}
h3{font-size:15px;font-weight:700}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:pointer;text-align:inherit}
svg{display:block}
.i{width:1.25em;height:1.25em;flex:none}
.small{font-size:12px;color:var(--muted);line-height:1.5}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---------- Animações ---------- */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes fill{from{width:0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.view>*{animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.view>*:nth-child(2){animation-delay:.04s}.view>*:nth-child(3){animation-delay:.08s}.view>*:nth-child(4){animation-delay:.12s}.view>*:nth-child(5){animation-delay:.16s}.view>*:nth-child(n+6){animation-delay:.2s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:16px;font-weight:700;font-size:15px;text-align:center;background:var(--brand);color:var(--brand-ink);box-shadow:0 8px 18px -8px rgba(0,0,0,.35);transition:transform .12s,opacity .2s,filter .2s}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.5;pointer-events:none}
.btn.soft{background:var(--surface);color:var(--ink);box-shadow:none;border:1px solid var(--line)}
.btn.tint{background:rgba(var(--m-rgb,31,58,147),.12);color:var(--ink);box-shadow:none}
.btn.danger{background:var(--bad-bg);color:var(--bad);box-shadow:none}
.btn.gold{background:linear-gradient(135deg,#f0d28a,#c9993b);color:#2b1d02}
.btn.block{width:100%}
.btn.sm{min-height:40px;padding:0 14px;font-size:13px;border-radius:12px}
.iconbtn{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:18px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .12s,background .2s}
.iconbtn:active{transform:scale(.92)}
.iconbtn.flat{background:var(--surface2);color:var(--ink);backdrop-filter:none}

/* ---------- Cabeçalhos ---------- */
.top{position:relative;overflow:hidden;color:#fff;padding:20px 20px 64px;background:radial-gradient(120% 90% at 100% 0%,rgba(217,178,95,.22),transparent 55%),linear-gradient(165deg,var(--chrome2),var(--chrome) 70%);border-radius:0 0 34px 34px}
.top::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.3px) 0 0/20px 20px;mask-image:linear-gradient(180deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);pointer-events:none}
.top>*{position:relative}
.toprow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brandlogo{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 0 0 1.5px rgba(255,255,255,.25),0 8px 18px -6px rgba(0,0,0,.5)}
.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;text-transform:uppercase;color:var(--gold)}
.brand b{display:block;font-size:15px;font-weight:750;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topactions{display:flex;gap:8px;align-items:center}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;background:linear-gradient(135deg,#f0d28a,#c9993b);color:#2b1d02;flex:none}
.greet{margin-top:26px}
.greet small{font-size:13px;opacity:.75;display:block;margin-bottom:2px}
.greet h1{font-size:30px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.12);font-size:12px;font-weight:650;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.chip.warn{background:rgba(255,190,70,.2);color:#ffd88a}
.dot{width:8px;height:8px;border-radius:50%;background:#3ddc9b;box-shadow:0 0 0 3px rgba(61,220,155,.22);display:inline-block}
.dot.off{background:#f0b44c;box-shadow:0 0 0 3px rgba(240,180,76,.22)}
.tophead{margin-top:20px}
.tophead h1{font-size:28px}.tophead p{font-size:13px;opacity:.75;margin-top:4px}

.body{max-width:760px;margin:0 auto;padding:0 16px calc(var(--navh,84px) + 28px)}
.pull{margin-top:-44px;position:relative}
.stack>*+*{margin-top:14px}
.sect{display:flex;align-items:center;justify-content:space-between;margin:26px 4px 12px;gap:10px}
.sect h2{font-size:17px}
.sect a,.sect button{font-size:12px;font-weight:700;color:var(--brand)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.card.flush{padding:0;overflow:hidden}
.notice{display:flex;gap:11px;padding:13px 15px;border-radius:16px;background:var(--warn-bg);color:var(--warn);font-size:12.5px;line-height:1.55;margin:14px 0;font-weight:550}
.notice .i{margin-top:1px}
.hint{padding:13px 15px;border-radius:14px;background:var(--surface2);border:1px dashed var(--line);font-size:12.5px;line-height:1.6;color:var(--muted);margin:4px 0 16px}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:3px 9px;font-size:10.5px;font-weight:750;background:var(--ok-bg);color:var(--ok);letter-spacing:.2px}
.badge.pending{background:var(--warn-bg);color:var(--warn)}
.badge.error{background:var(--bad-bg);color:var(--bad)}
.empty{text-align:center;padding:34px 16px;color:var(--muted);font-size:13px;line-height:1.7}
.empty .i{width:42px;height:42px;margin:0 auto 12px;opacity:.35}

/* ---------- Dock de navegação ---------- */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;pointer-events:none}
.navin{pointer-events:auto;width:100%;max-width:560px;display:flex;align-items:flex-end;justify-content:space-around;background:var(--chrome);padding:8px 10px 10px;border-radius:26px 26px 0 0;box-shadow:0 -10px 34px -10px rgba(5,10,35,.5)}
.navin button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 4px;color:rgba(255,255,255,.55);font-size:10.5px;font-weight:650;position:relative;transition:color .2s;min-height:52px}
.navin button .i{font-size:22px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.navin button.active{color:var(--gold)}
.navin button.active .i{transform:translateY(-2px) scale(1.08)}
.navin button.active::after{content:"";position:absolute;bottom:-1px;width:18px;height:3px;border-radius:3px;background:var(--gold)}
.navin .fab{flex:0 0 62px;height:62px;margin-top:-34px;margin-inline:6px;border-radius:50%;background:linear-gradient(135deg,#f3d88f,#c8963a);color:#2b1d02;display:grid;place-items:center;padding:0;box-shadow:0 12px 26px -6px rgba(217,178,95,.65),0 0 0 6px var(--bg);min-height:62px}
.navin .fab::after{display:none}
.navin .fab .i{font-size:28px}
.navin .tag{position:absolute;top:2px;left:calc(50% + 8px);min-width:17px;height:17px;border-radius:9px;background:#ff5b6e;color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px;font-weight:800}

/* ---------- Resumo / gráficos ---------- */
.sum .lbl{font-size:12px;color:var(--muted);font-weight:650}
.big{display:block;font-size:32px;letter-spacing:-1.2px;font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums}
.sum-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.mini{display:flex;align-items:flex-end;gap:5px;height:48px}
.mini i{width:9px;border-radius:4px 4px 2px 2px;background:var(--ok);min-height:5px;transform-origin:bottom;animation:grow .6s cubic-bezier(.2,.8,.2,1) both}
.mini i.neg{background:var(--bad)}
.mini i.dim{opacity:.35}
.split{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--line);margin:16px 0 14px;gap:3px}
.split i{display:block;animation:fill .9s cubic-bezier(.2,.8,.2,1) both}
.split .in{background:linear-gradient(90deg,#14b886,#0e9f74)}.split .out{background:linear-gradient(90deg,#f0647a,#e0455a)}
.split.onhero{background:rgba(255,255,255,.18)}
.sum-row{display:flex;gap:12px}
.sum-row>div{flex:1;font-size:12px;color:var(--muted);font-weight:600}
.sum-row b{display:block;font-size:16px;color:var(--ink);margin-top:3px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.sum-row .dot{width:7px;height:7px;box-shadow:none;margin-right:6px;vertical-align:1px}
.sum-row .dot.out{background:var(--bad)}
.ring{display:block}
.ring .rt{fill:none;stroke:rgba(128,140,170,.2)}
.ring .rv{fill:none;stroke-linecap:round;transition:stroke-dasharray .9s cubic-bezier(.2,.8,.2,1)}
.ring text{font-weight:800;fill:currentColor;font-size:20px;letter-spacing:-.5px}
.spark{width:100%;height:46px;overflow:visible}
.spark path.l{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.spark path.a{fill:currentColor;opacity:.12}

/* ---------- Atalhos ---------- */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 12px;border-radius:20px;background:var(--surface);border:1px solid var(--line);font-size:11.5px;font-weight:700;box-shadow:var(--shadow);text-align:center;transition:transform .12s}
.quick button:active{transform:scale(.95)}
.quick .qi{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-size:20px;background:rgba(var(--q,31,58,147),.12);color:rgb(var(--q,31,58,147))}
:root[data-theme=dark] .quick .qi{color:rgb(var(--qd,var(--q,226,189,109)))}

/* ---------- Identidade por módulo ---------- */
.m-secretaria{--m1:#7c5cff;--m2:#3d22b8;--m-rgb:124,92,255}
.m-igreja{--m1:#2b429f;--m2:#121d45;--m-rgb:76,99,214}
.m-ebd{--m1:#f6a41f;--m2:#df4f17;--m-rgb:245,158,11}
.m-campanha{--m1:#14b985;--m2:#046a50;--m-rgb:16,185,129}
.m-d0{--m1:#f5476a;--m2:#a8123b;--m-rgb:244,63,94}
.m-d1{--m1:#09b8d6;--m2:#0b6a80;--m-rgb:6,182,212}
.m-d2{--m1:#d946ef;--m2:#7a1790;--m-rgb:217,70,239}
.m-d3{--m1:#4d8bf5;--m2:#1b3fb0;--m-rgb:59,130,246}
.mhero{position:relative;overflow:hidden;color:#fff;padding:16px 18px 70px;background:linear-gradient(155deg,var(--m1),var(--m2));border-radius:0 0 34px 34px}
.mhero>*{position:relative}
.mhero::before{content:"";position:absolute;inset:0;pointer-events:none}
.m-igreja .mhero::before,.mhero.m-igreja::before{background:repeating-linear-gradient(135deg,rgba(217,178,95,.16) 0 1px,transparent 1px 15px),radial-gradient(70% 60% at 100% 0%,rgba(217,178,95,.28),transparent 70%)}
.mhero.m-ebd::before{background:radial-gradient(circle at 92% 14%,rgba(255,255,255,.35) 0 34px,transparent 35px),radial-gradient(circle at 80% 38%,rgba(255,255,255,.14) 0 76px,transparent 77px),radial-gradient(circle at 6% 100%,rgba(255,255,255,.12) 0 90px,transparent 91px)}
.mhero.m-campanha::before{background:repeating-radial-gradient(circle at 96% 0%,rgba(255,255,255,.14) 0 2px,transparent 2px 24px)}
.mhero.m-secretaria::before{background:radial-gradient(rgba(255,255,255,.26) 1.6px,transparent 1.7px) 0 0/19px 19px;mask-image:linear-gradient(200deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(200deg,#000,transparent 70%)}
.mhero.m-d0::before,.mhero.m-d1::before,.mhero.m-d2::before,.mhero.m-d3::before{background:repeating-linear-gradient(-55deg,rgba(255,255,255,.1) 0 14px,transparent 14px 28px)}
.mbar{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.mbar .grow{flex:1;min-width:0}
.mbar .eyebrow{color:rgba(255,255,255,.78)}
.m-igreja .mbar .eyebrow,.m-igreja .eyebrow.g{color:var(--gold)}
.mbar h1{font-size:21px;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar .iconbtn{flex:none}
.stepper{display:flex;align-items:center;justify-content:space-between;gap:6px;background:rgba(0,0,0,.18);border-radius:18px;padding:5px;margin-bottom:20px}
.stepper button.sb{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:16px}
.stepper .cur{position:relative;flex:1;text-align:center;font-weight:750;font-size:15px;padding:8px 4px;min-width:0}
.stepper .cur small{display:block;font-size:10.5px;font-weight:600;opacity:.7;margin-top:1px}
.stepper .cur input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.mhero .cap{font-size:12px;opacity:.8;font-weight:600}
.mhero .figure{display:block;font-size:38px;font-weight:800;letter-spacing:-1.6px;margin:2px 0 0;font-variant-numeric:tabular-nums;line-height:1.1}
.mhero .pills{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.pill .i{font-size:14px}
.cta{display:flex;gap:10px;margin-bottom:14px}
.cta .btn{flex:1;white-space:nowrap;padding:0 10px;font-size:14.5px;min-width:0}

/* ---------- Listas de lançamentos ---------- */
.search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 14px;margin:0 0 14px;box-shadow:var(--shadow)}
.search .i{color:var(--faint);font-size:18px}
.search input{flex:1;border:0;background:transparent;outline:none;min-height:50px;font-size:15px;min-width:0}
.search input::placeholder{color:var(--faint)}
.day{display:flex;align-items:center;justify-content:space-between;margin:20px 6px 8px;font-size:12px;font-weight:750;color:var(--muted);}
.day span:last-child{font-variant-numeric:tabular-nums;font-weight:700}
.rows{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.row{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--line);width:100%;position:relative}
.row:last-child{border-bottom:0}
button.row:active{background:var(--surface2)}
.row .grow{flex:1;min-width:0}
.row strong{display:block;font-size:14.5px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row p{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .badge{margin-top:5px}
.row .amt{font-weight:800;font-size:14.5px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.3px;text-align:right}
.row .amt small{display:block;font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:3px}
.amt.in{color:var(--ok)}.amt.out{color:var(--bad)}
.ico{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;flex:none;font-size:18px}
.ico.in{background:var(--ok-bg);color:var(--ok)}.ico.out{background:var(--bad-bg);color:var(--bad)}
.ico.m{background:rgba(var(--m-rgb,31,58,147),.13);color:rgb(var(--m-rgb,31,58,147))}
.chev{color:var(--faint);font-size:18px}
.cats .bar{display:grid;grid-template-columns:118px 1fr auto;gap:10px;align-items:center;font-size:12.5px;margin-top:12px}
.cats .bar:first-of-type{margin-top:6px}
.cats .bar span{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cats .bar em{font-style:normal;font-weight:750;font-variant-numeric:tabular-nums}
.cats .track{height:8px;border-radius:99px;background:var(--surface2);overflow:hidden}
.cats .track i{display:block;height:100%;border-radius:99px;background:var(--ok);animation:fill 1s both}
.cats .track i.out{background:var(--bad)}
.cats h4,.chart h4{font-size:12px;color:var(--muted);font-weight:750;letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px}
.chart .cols{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:110px;margin-top:12px}
.chart .col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.chart .pair{display:flex;align-items:flex-end;gap:3px;height:84px}
.chart .pair i{width:10px;border-radius:5px 5px 2px 2px;min-height:3px;transform-origin:bottom;animation:grow .7s cubic-bezier(.2,.8,.2,1) both}
.chart .pair i.in{background:var(--ok)}.chart .pair i.out{background:var(--bad)}
.chart .col small{font-size:10.5px;color:var(--muted);font-weight:650;text-transform:capitalize}
.chart .col.sel small{color:var(--ink);font-weight:800}
.chart .col:not(.sel) .pair{opacity:.5}

/* ---------- EBD ---------- */
.hscroll{display:flex;gap:10px;overflow-x:auto;margin:0 -16px;padding:2px 16px 8px;scroll-snap-type:x proximity;scrollbar-width:none}
.hscroll::-webkit-scrollbar{display:none}
.cls{flex:0 0 138px;scroll-snap-align:start;border-radius:20px;padding:14px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow);transition:transform .15s,border-color .2s}
.cls:active{transform:scale(.97)}
.cls.on{border-color:rgb(var(--m-rgb));background:rgba(var(--m-rgb),.1)}
.cls .ci{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--m1),var(--m2));color:#fff;margin-bottom:10px;font-size:16px}
.cls b{display:block;font-size:13px;line-height:1.25;min-height:32px}
.cls strong{display:block;margin-top:6px;font-size:16px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.cls .track{height:5px;border-radius:9px;background:var(--line);margin-top:9px;overflow:hidden}
.cls .track i{display:block;height:100%;background:linear-gradient(90deg,var(--m1),var(--m2));border-radius:9px;animation:fill 1s both}
.sunday{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:12px}
.sunday .cal{flex:0 0 74px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;color:#fff;background:linear-gradient(170deg,var(--m1),var(--m2));text-align:center}
.sunday .cal b{font-size:30px;line-height:1;letter-spacing:-1px}
.sunday .cal small{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;opacity:.9;margin-top:5px}
.sunday .cal em{font-style:normal;font-size:10px;opacity:.75;margin-top:2px}
.sunday .sb{flex:1;min-width:0;padding:12px 14px}
.sunday .sh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.sunday .sh span{font-size:11.5px;color:var(--muted);font-weight:650}
.sunday .sh b{font-size:16px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.sunday .ln{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px dashed var(--line);font-size:13px}
.sunday .ln .grow{flex:1;min-width:0}
.sunday .ln strong{font-weight:650;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sunday .ln p{font-size:11.5px;color:var(--muted)}
.sunday .ln .v{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.tagc{display:inline-block;padding:2px 8px;border-radius:99px;background:rgba(var(--m-rgb),.14);color:rgb(var(--m-rgb));font-size:10.5px;font-weight:750;margin-right:4px}
:root[data-theme=dark] .tagc{color:#ffc86b}

/* ---------- Campanha (carnês) ---------- */
.seg{display:flex;background:var(--surface2);border:1px solid var(--line);border-radius:16px;padding:4px;gap:4px;margin-bottom:14px}
.seg button,.seg label{flex:1;text-align:center;padding:10px 6px;border-radius:12px;font-size:13px;font-weight:700;color:var(--muted);transition:all .2s;cursor:pointer;display:block}
.seg button.on,.seg input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(10,20,50,.12)}
.seg label{padding:0}.seg label span{display:block;padding:10px 6px;border-radius:12px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg input:disabled+span{opacity:.45}
.seg.dir input[value=entrada]:checked+span{background:var(--ok-bg);color:var(--ok)}
.seg.dir input[value=saida]:checked+span{background:var(--bad-bg);color:var(--bad)}
.tickets{display:grid;gap:12px}
.ticket{position:relative;display:block;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:15px 16px 14px;box-shadow:var(--shadow);overflow:hidden}
.ticket::before,.ticket::after{content:"";position:absolute;top:58px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ticket::before{left:-9px}.ticket::after{right:-9px}
.ticket:active{transform:scale(.985)}
.tk-top{display:flex;align-items:center;gap:12px}
.tk-top .grow{flex:1;min-width:0}
.tk-top strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-top small{font-size:12px;color:var(--muted)}
.tk-top .pct{font-weight:800;font-size:15px;color:rgb(var(--m-rgb));font-variant-numeric:tabular-nums}
:root[data-theme=dark] .tk-top .pct{color:#35d6a2}
.tk-sep{border-top:2px dashed var(--line);margin:14px -6px 12px}
.dots{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.dots i{height:22px;border-radius:7px;background:var(--surface2);border:1px solid var(--line)}
.dots i.on{background:linear-gradient(180deg,var(--m1),var(--m2));border-color:transparent;box-shadow:0 4px 8px -3px rgba(var(--m-rgb),.7)}
.tk-foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:9px;font-weight:600}
.tk-foot b{color:var(--ink);font-variant-numeric:tabular-nums}
.receipt{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:6px 6px 18px 18px;padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}
.receipt::before{content:"";position:absolute;left:0;right:0;top:-1px;height:6px;background:radial-gradient(circle at 6px 0,var(--bg) 4px,transparent 4.5px) 0 0/12px 6px repeat-x}
.receipt .grow{flex:1;min-width:0}
.receipt strong{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.receipt p{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
.receipt .amt{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.parcelas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}
.parcela{padding:11px 4px 9px;border:1px solid var(--line);border-radius:14px;text-align:center;font-size:15px;font-weight:800;color:var(--faint);background:var(--surface2)}
.parcela small{display:block;font-size:9.5px;margin-top:4px;font-weight:650;line-height:1.2}
.parcela.paid{background:linear-gradient(170deg,var(--m1),var(--m2));border-color:transparent;color:#fff}
.parcela.paid small{opacity:.9}

/* ---------- Secretaria (diretório) ---------- */
.counters{display:flex;gap:10px;margin-top:2px}
.counter{flex:1;background:rgba(255,255,255,.14);border-radius:18px;padding:12px 12px 11px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.counter b{display:block;font-size:26px;letter-spacing:-1px;line-height:1}
.counter small{font-size:11px;opacity:.82;font-weight:650;display:block;margin-top:5px}
.chipsrow{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 6px;padding:2px 16px 8px;scrollbar-width:none}
.chipsrow::-webkit-scrollbar{display:none}
.fchip{flex:none;padding:9px 15px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;transition:all .2s}
.fchip.on{background:rgb(var(--m-rgb));border-color:transparent;color:#fff}
.letter{position:sticky;top:0;z-index:2;padding:7px 18px;font-size:12px;font-weight:800;letter-spacing:1px;color:rgb(var(--m-rgb));background:var(--bg);margin:0 -2px}
:root[data-theme=dark] .letter{color:#a893ff}
.mav{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;flex:none;letter-spacing:-.5px}
.avs{display:flex;margin-top:10px}
.avs .mav{width:28px;height:28px;border-radius:50%;font-size:11px;margin-left:-7px;border:2px solid var(--surface)}
.avs .mav:first-child{margin-left:0}
.avs em{font-style:normal;margin-left:7px;font-size:11px;font-weight:700;align-self:center;opacity:.7}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:16px 0}
.kv div{background:var(--surface2);border-radius:14px;padding:10px 12px;min-width:0}
.kv div.full{grid-column:1/-1}
.kv small{display:block;font-size:10.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.kv b{font-size:14px;font-weight:650;word-break:break-word}
.idcard{border-radius:22px;padding:18px;color:#fff;background:linear-gradient(150deg,var(--m1),var(--m2));position:relative;overflow:hidden;display:flex;gap:14px;align-items:center}
.idcard::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.24) 1.5px,transparent 1.6px) 0 0/17px 17px;mask-image:linear-gradient(200deg,#000,transparent 65%);-webkit-mask-image:linear-gradient(200deg,#000,transparent 65%)}
.idcard>*{position:relative}
.idcard .mav{width:64px;height:64px;border-radius:20px;font-size:26px;background:rgba(255,255,255,.2)!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.idcard h3{font-size:18px;line-height:1.2;letter-spacing:-.3px}
.idcard p{font-size:12px;opacity:.85;margin-top:4px}

/* ---------- Módulos (cartões) ---------- */
.mods{display:grid;gap:14px}
.mod{position:relative;display:flex;width:100%;border-radius:26px;overflow:hidden;text-align:left;transition:transform .15s;box-shadow:var(--shadow)}
.mod:active{transform:scale(.98)}
.mod b{font-size:17px;letter-spacing:-.3px;line-height:1.2}
.mod small{font-size:12px;opacity:.78;display:block;margin-top:3px;font-weight:550}
.mod .mm{font-size:24px;font-weight:800;letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.1}
.mod-igr{flex-direction:column;gap:16px;padding:20px;color:#fff;background:radial-gradient(90% 90% at 100% 0%,rgba(217,178,95,.32),transparent 60%),linear-gradient(150deg,#2b429f,#121d45)}
.mod-igr::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(217,178,95,.12) 0 1px,transparent 1px 15px);pointer-events:none}
.mod-igr>*{position:relative}
.mod-igr .mrow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mod-igr .mini i{background:var(--gold);width:11px}.mod-igr .mini i.neg{background:#ff8497}
.mod-igr .go{width:38px;height:38px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:17px}
.mod-igr .cap{font-size:11.5px;opacity:.7;font-weight:600}
.mod-igr .mm{font-size:30px;margin-top:3px}
.mod-ebd{align-items:center;gap:14px;padding:18px 20px;color:#fff;background:linear-gradient(120deg,#f6a41f,#df4f17)}
.mod-ebd::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 96% 20%,rgba(255,255,255,.3) 0 30px,transparent 31px),radial-gradient(circle at 86% 90%,rgba(255,255,255,.16) 0 70px,transparent 71px);pointer-events:none}
.mod-ebd>*{position:relative}
.mod-ebd .sun{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:26px;box-shadow:0 0 0 7px rgba(255,255,255,.12);flex:none}
.mod-ebd .grow{flex:1}
.mod-ebd .tagw{display:inline-block;margin-top:9px;background:rgba(0,0,0,.16);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:750}
.mod-cam{align-items:center;gap:16px;padding:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.mod-cam::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#14b985,#046a50)}
.mod-cam .grow{flex:1;min-width:0}
.mod-cam .mm{margin-top:8px;color:var(--ok)}
.mod-cam .ring{color:var(--ink);flex:none}
.mod-cam small{opacity:1;color:var(--muted)}
.mod-sec{flex-direction:column;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.mod-sec .msh{display:flex;align-items:center;gap:14px;padding:18px 18px 14px}
.mod-sec .mico{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:24px;color:#fff;background:linear-gradient(145deg,#7c5cff,#3d22b8);box-shadow:0 10px 20px -8px rgba(124,92,255,.7);flex:none}
.mod-sec .grow{flex:1;min-width:0}
.mod-sec small{opacity:1;color:var(--muted)}
.mod-sec .msf{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--surface2);border-top:1px solid var(--line)}
.mod-sec .msf .avs{margin:0}
.mod-sec .msf .avs .mav{border-color:var(--surface2)}
.mod-sec .msf span{font-size:12px;color:var(--muted);font-weight:650}
.mod-dep{gap:14px;padding:16px 18px;align-items:center;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:22px}
.mod-dep .ico2{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:22px;color:#fff;background:linear-gradient(145deg,var(--m1),var(--m2));flex:none}
.mod-dep .grow{flex:1;min-width:0}
.mod-dep small{opacity:1;color:var(--muted)}
.mod-dep .sp{width:84px;color:rgb(var(--m-rgb));flex:none;text-align:right}
.mod-dep .sp .mm{font-size:15px;color:var(--ink);margin-bottom:6px}
.mod-dep .spark{height:26px}
.home-mods .mod-igr .mini{display:none}

/* ---------- Registros pendentes ---------- */
.status{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.status .ring2{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:24px;flex:none}
.status .ring2.ok{background:var(--ok-bg);color:var(--ok)}.status .ring2.wait{background:var(--warn-bg);color:var(--warn)}
.tl{position:relative;padding-left:4px}
.tl .it{position:relative;display:flex;gap:14px;padding:0 0 18px}
.tl .it:last-child{padding-bottom:0}
.tl .it::before{content:"";position:absolute;left:19px;top:42px;bottom:0;width:2px;background:var(--line)}
.tl .it:last-child::before{display:none}
.tl .node{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--warn-bg);color:var(--warn);font-size:18px}
.tl .node.err{background:var(--bad-bg);color:var(--bad)}
.tl .grow{flex:1;min-width:0}
.tl strong{display:block;font-size:14.5px}
.tl p{font-size:12px;color:var(--muted);margin-top:2px}

/* ---------- Conta ---------- */
.prof{position:relative;overflow:hidden;color:#fff;border-radius:26px;padding:20px;background:radial-gradient(100% 100% at 100% 0%,rgba(217,178,95,.3),transparent 60%),linear-gradient(155deg,var(--chrome2),var(--chrome));display:flex;gap:15px;align-items:center}
.prof .avatar{width:62px;height:62px;font-size:26px;border-radius:22px}
.prof h2{font-size:20px;letter-spacing:-.4px}
.prof p{font-size:12px;opacity:.78;margin-top:3px}
.prof .chips{margin-top:9px}
.menu{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.menu button{display:flex;align-items:center;gap:14px;width:100%;padding:15px 16px;border-bottom:1px solid var(--line);font-weight:650;font-size:14.5px}
.menu button:last-child{border:0}
.menu button:active{background:var(--surface2)}
.menu .mi{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:18px;background:var(--surface2);color:var(--brand);flex:none}
:root[data-theme=dark] .menu .mi{background:var(--surface2);color:var(--gold)}
.menu .grow{flex:1;min-width:0}
.menu small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:1px}
.themeseg{display:flex;gap:8px;margin-top:12px}
.themeseg button{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:16px;border:1.5px solid var(--line);font-size:12px;font-weight:700;color:var(--muted);background:var(--surface2)}
.themeseg button .pv{width:100%;height:42px;border-radius:10px;border:1px solid rgba(128,140,170,.35);position:relative;overflow:hidden}
.themeseg button .pv::after{content:"";position:absolute;left:8px;right:8px;top:9px;height:7px;border-radius:4px;background:currentColor;opacity:.35}
.themeseg .pv.l{background:#f2f5fb;color:#1f3a93}.themeseg .pv.d{background:#0f1729;color:#e2bd6d}.themeseg .pv.a{background:linear-gradient(105deg,#f2f5fb 50%,#0f1729 50%);color:#888}
.themeseg button.on{border-color:var(--brand);color:var(--ink);background:var(--surface)}
.about{font-size:12px;color:var(--muted);line-height:1.7;text-align:center;margin-top:22px}
.about img{width:120px;margin:0 auto 12px;opacity:.85}
:root[data-theme=dark] .about img{filter:invert(1) hue-rotate(180deg) brightness(1.4);opacity:.6}

/* ---------- Login ---------- */
.login{min-height:100dvh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:28px 22px 22px;color:#fff;background:radial-gradient(90% 60% at 100% 0%,rgba(217,178,95,.28),transparent 60%),radial-gradient(70% 50% at 0% 100%,rgba(90,120,255,.25),transparent 60%),linear-gradient(170deg,#1b2b66,#0b1233 75%)}
.login::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.3px) 0 0/22px 22px;pointer-events:none}
.login>*{position:relative;max-width:440px;width:100%;margin-inline:auto}
.login .tbtn{position:absolute;top:16px;right:16px;max-width:none;width:auto;margin:0}
.loginlogo{width:84px;height:84px;border-radius:26px;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.22),0 24px 40px -12px rgba(0,0,0,.6);margin-bottom:26px;animation:rise .6s both}
.login h1{font-size:34px;line-height:1.1;letter-spacing:-1.2px;margin:10px 0 12px}
.login .intro{font-size:14px;line-height:1.65;opacity:.78;margin-bottom:24px}
.login .notice{background:rgba(255,200,90,.16);color:#ffd88a}
.lcard{border-radius:26px;padding:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.lcard h2{font-size:17px;margin-bottom:14px}
.lcard .field{color:rgba(255,255,255,.8)}
.lcard .field input{background:rgba(7,12,35,.45);border-color:rgba(255,255,255,.14);color:#fff}
.lcard .field input::placeholder{color:rgba(255,255,255,.4)}
.lcard .small{color:rgba(255,255,255,.65)}
.login footer{text-align:center;font-size:11px;opacity:.6;line-height:1.7;margin-top:22px}
.pw{position:relative}
.pw .eye{position:absolute;right:6px;bottom:6px;width:40px;height:40px;display:grid;place-items:center;color:var(--muted);border-radius:12px;font-size:18px}
.lcard .pw .eye{color:rgba(255,255,255,.7)}
.pw input{padding-right:50px!important}

/* ---------- Formulários ---------- */
.fhead{position:relative;overflow:hidden;color:#fff;padding:16px 18px 56px;background:linear-gradient(155deg,var(--m1,#2b429f),var(--m2,#121d45));border-radius:0 0 34px 34px}
.fhead>*{position:relative}
.fhead::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.2) 1.3px,transparent 1.4px) 0 0/18px 18px;mask-image:linear-gradient(200deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(200deg,#000,transparent 70%)}
.fhead h1{font-size:24px}.fhead p{font-size:12.5px;opacity:.8;margin-top:4px}
.fcard{margin-bottom:14px}
.fcard>h3{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:14px}
.fcard>h3 .i{color:rgb(var(--m-rgb,31,58,147));font-size:18px}
:root[data-theme=dark] .fcard>h3 .i{color:var(--gold)}
.field{display:block;margin-bottom:14px;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.1px}
.field>input,.field>select,.field>textarea,.field .pw input,.field .money input{display:block;width:100%;min-height:52px;padding:14px 15px;margin-top:7px;border-radius:15px;border:1.5px solid var(--line);background:var(--surface2);color:var(--ink);font-size:15.5px;font-weight:550;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.field select{background-image:var(--arrow);background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 4px rgba(var(--m-rgb,31,58,147),.14)}
.field input:disabled,.field select:disabled{opacity:.5}
.field input[type=date],.field input[type=month]{min-height:52px}
.field input[type=file]{padding:10px}
.money{position:relative;display:block}
.money b{position:absolute;left:16px;bottom:15px;font-size:15px;color:var(--muted);font-weight:700;pointer-events:none}
.money input{padding-left:46px!important}
.amount .money input{font-size:32px;font-weight:800;letter-spacing:-1px;min-height:74px;padding-left:62px!important;border-radius:20px}
.amount .money b{font-size:20px;bottom:25px;left:20px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.full{grid-column:1/-1}
.check{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-radius:15px;background:var(--surface2);border:1.5px solid var(--line);font-size:13.5px;font-weight:650;color:var(--ink);margin:2px 0 14px;cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:46px;height:28px;border-radius:99px;background:rgba(128,140,170,.35);position:relative;transition:background .2s;margin:0}
.check input::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.3,1.5,.5,1)}
.check input:checked{background:var(--ok)}
.check input:checked::after{transform:translateX(18px)}
.check .ck{order:2;display:flex}
.photoarea{display:flex;gap:16px;align-items:center}
.photo{width:84px;height:112px;border-radius:18px;object-fit:cover;background:var(--surface2);border:1.5px dashed var(--line)}
.savebar{position:sticky;bottom:0;z-index:5;padding:14px 0 18px;margin-top:6px;background:linear-gradient(180deg,transparent,var(--bg) 30%)}

/* ---------- Sheets / toast ---------- */
.modalback{position:fixed;inset:0;z-index:50;background:rgba(5,10,28,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:fade .25s both}
.dialog{width:100%;max-width:560px;max-height:90vh;overflow:auto;background:var(--surface);border-radius:30px 30px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:sheet .38s cubic-bezier(.2,.9,.25,1) both;border:1px solid var(--line);border-bottom:0}
.dialog .grab{width:44px;height:5px;border-radius:9px;background:var(--line);margin:4px auto 16px}
.dialog .dh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.dialog h2{font-size:20px;letter-spacing:-.4px}
.dialog p{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0}
.dialog .btn+.btn,.dialog .btn+form,.dialog form+.btn,.dialog p+.btn{margin-top:10px}
.dialog .opt{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border-radius:18px;background:var(--surface2);border:1px solid var(--line);margin-top:10px;font-weight:700;font-size:14.5px}
.dialog .opt:active{transform:scale(.98)}
.dialog .opt small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}
.dialog .opt .grow{flex:1;min-width:0}
.docpeople{border:1px solid var(--line);border-radius:18px;padding:12px;margin:12px 0;background:var(--surface2)}
.docpeople legend{font-size:12px;font-weight:750;padding:0 6px;color:var(--muted)}
.docpeoplelist{max-height:250px;overflow:auto;margin-top:6px}
.docperson{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:13.5px;min-height:54px;color:var(--ink);font-weight:500}
.docperson:last-child{border:0}
.docperson input{width:22px;height:22px;flex-shrink:0;accent-color:var(--brand)}
.docperson small{display:block;color:var(--muted);margin-top:2px;font-size:11.5px}
.docperson[hidden]{display:none}
.dialog .search{box-shadow:none;background:var(--surface);margin:8px 0}
.dialog select[multiple]{min-height:150px}
#toast{position:fixed;left:16px;right:16px;bottom:calc(var(--navh,84px) + 18px);margin:auto;max-width:480px;background:#0b1233;color:#fff;padding:14px 16px;border-radius:18px;font-size:13.5px;line-height:1.5;z-index:80;box-shadow:var(--shadow-lg);display:none;border:1px solid rgba(255,255,255,.1);font-weight:550}
:root[data-theme=dark] #toast{background:#1c2744}
#toast.show{display:flex;gap:10px;align-items:flex-start;animation:rise .35s both}
#toast .i{color:var(--gold);margin-top:1px}
.loading{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:18px;color:#fff;background:linear-gradient(170deg,#1b2b66,#0b1233);text-align:center;padding:30px;font-size:13px}
.loading img{width:78px;height:78px;border-radius:24px;box-shadow:0 0 0 2px rgba(255,255,255,.2)}
.spin{width:26px;height:26px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);animation:spin .8s linear infinite;margin:auto}
#report{display:none}
.errbox{margin:30px 16px;padding:18px;border-radius:20px;background:var(--bad-bg);color:var(--bad);font-size:13px;line-height:1.6}

@media(min-width:640px){.mods{grid-template-columns:1fr 1fr}.mod-igr{grid-column:1/-1}.tickets{grid-template-columns:1fr 1fr}.body{padding-top:0}}
@media(max-width:360px){h1{font-size:23px}.big{font-size:27px}.mhero .figure{font-size:32px}.formgrid{grid-template-columns:minmax(0,1fr)}.quick button{font-size:10.5px}.dots i{height:18px}}

/* ---------- Impressão (relatórios) — preservado ---------- */
@media print{body{background:#fff;font-size:11px;color:#111}#app,#modal,#toast{display:none!important}#report{display:block!important;padding:0}#report .rhead{text-align:center;border-bottom:2px solid #173f58;padding-bottom:16px;margin-bottom:18px}#report img{height:65px;max-width:100px;object-fit:contain}#report h1{font-size:22px;margin:9px 0 2px}#report h2{font-size:16px;margin:5px 0}#report p{margin:5px 0}#report table{width:100%;border-collapse:collapse;margin:18px 0;font-size:10px}#report th,#report td{padding:8px 6px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}#report th{background:#eef3f6}#report tr{break-inside:avoid}#report .rsign{display:flex;justify-content:space-around;text-align:center;margin-top:65px;gap:20px}#report .rsign>div{border-top:1px solid #333;padding:10px;width:45%}#report .foot{font-size:9px;color:#555;margin-top:25px;border-top:1px solid #ddd;padding-top:8px}@page{size:A4;margin:15mm}#report .rbrand{display:grid;grid-template-columns:70px 1fr 70px;align-items:center;gap:15px}#report .rbrand img{width:70px;height:70px;object-fit:contain}}

/* ---------- Complementos ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.duo .tile{background:rgba(0,0,0,.2);border-radius:20px;padding:14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.duo .tile .cap{display:flex;align-items:center;gap:6px}
.duo .tile b{display:block;font-size:21px;letter-spacing:-.8px;margin-top:6px}
.photo.ph{display:grid;place-items:center;color:var(--faint);font-size:30px}
.mhero .pills .pill{border:0}
button.pill{cursor:pointer;color:#fff}
.hscroll .cls{text-align:left}

.mod-igr .mini i.dim{background:rgba(255,255,255,.32);opacity:1}
.mbar h1{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;font-size:20px}

/* ---------- Logo adaptativa (monograma AD) ---------- */
.logo{--lg-bg:#f3efe3;--lg-fg:#121d45;display:inline-grid;place-items:center;flex:none;width:var(--s,44px);height:var(--s,44px);border-radius:27%;background:var(--lg-bg);color:var(--lg-fg);box-shadow:0 0 0 1.5px rgba(255,255,255,.3),0 10px 22px -8px rgba(0,0,0,.55)}
.logo svg{display:block;width:100%;height:100%;fill:currentColor}
.logo.sm{--s:44px}.logo.lg{--s:68px}.logo.xl{--s:88px}
.logo.surface{--lg-bg:linear-gradient(145deg,#24378a,#121d45);--lg-fg:#f3efe3;box-shadow:0 14px 28px -12px rgba(18,29,69,.7)}
:root[data-theme=dark] .logo.surface{--lg-bg:linear-gradient(145deg,#f4dc97,#c8963a);--lg-fg:#121d45;box-shadow:0 14px 30px -12px rgba(217,178,95,.45)}
.top>.wm,.login>.wm{position:absolute;right:-36px;top:-18px;width:250px;height:250px;margin:0;max-width:none;fill:#fff;opacity:.06;pointer-events:none}
.login>.loginlogo{margin:0 auto 26px 0;width:auto;animation:rise .6s both}
.loginlogo .logo{--s:88px;box-shadow:0 0 0 2px rgba(255,255,255,.28),0 26px 44px -14px rgba(0,0,0,.65)}
.loading .logo{box-shadow:0 0 0 2px rgba(255,255,255,.25),0 26px 44px -14px rgba(0,0,0,.65)}
.about .logo{margin:0 auto 14px}.about p{margin:0}
.dialog .idcard p{color:rgba(255,255,255,.88);margin:4px 0 0}.dialog .idcard h3{color:#fff}

/* ---------- Correção: texto do login visível (campo focado/preenchido) ---------- */
.lcard .field input,.lcard .field input:focus{background:rgba(7,12,35,.55);color:#fff;-webkit-text-fill-color:#fff;caret-color:var(--gold);border-color:rgba(255,255,255,.18)}
.lcard .field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,178,95,.22);background:rgba(7,12,35,.75)}
.lcard .field input:-webkit-autofill,.lcard .field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;box-shadow:0 0 0 100px #101a42 inset;caret-color:#fff}

/* ---------- Seletores modernos ---------- */
.field.sel{position:relative}
.field.sel>.fl{display:block;margin-bottom:7px}
.field.sel>select{position:absolute;left:50%;bottom:0;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.selbtn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:54px;padding:0 16px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface2);color:var(--ink);font-size:15.5px;font-weight:600;text-align:left;transition:border-color .2s,background .2s,transform .12s}
.selbtn:active{transform:scale(.99);border-color:var(--brand)}
.selbtn span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selbtn span.ph{color:var(--faint);font-weight:500}
.selbtn .i{color:var(--muted);font-size:18px}
.selbtn:disabled{opacity:.5}
.chipsel{display:flex;gap:8px}
.chipsel.col{flex-direction:column}
.co{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:10px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface2);color:var(--ink);font-size:14.5px;font-weight:650;text-align:center;line-height:1.25;transition:all .18s}
.chipsel.col .co{justify-content:flex-start;text-align:left}
.co .ck{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex:none;font-size:13px;transition:all .18s}
.co.on{background:var(--brand);color:var(--brand-ink);border-color:transparent;box-shadow:0 10px 20px -10px rgba(0,0,0,.5)}
.co.on .ck{background:rgba(255,255,255,.22);border-color:transparent}
:root[data-theme=dark] .co.on .ck{background:rgba(0,0,0,.14)}
.co:active{transform:scale(.97)}
.co:disabled{opacity:.45}
#picker .modalback{z-index:95}
.pklist{display:grid;gap:8px;max-height:58vh;overflow:auto;padding:2px 0 6px}
.pkopt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface2);font-size:15.5px;font-weight:650;color:var(--ink);text-align:left;line-height:1.3}
.pkopt:active{transform:scale(.985)}
.pkopt.on{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px rgba(var(--m-rgb,31,58,147),.12)}
.pkc{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);flex:none;font-size:15px}
.pkopt.on .pkc{background:var(--brand);color:var(--brand-ink);border-color:transparent}

/* ---------- Entrada / Saída ---------- */
.dirpick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.dp{position:relative;display:block;cursor:pointer}
.dp input{position:absolute;opacity:0;pointer-events:none}
.dpc{position:relative;display:flex;flex-direction:column;gap:2px;min-height:118px;padding:14px;border-radius:22px;background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);transition:all .22s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.dpc b{font-size:19px;letter-spacing:-.4px;margin-top:10px}
.dpc small{font-size:12px;color:var(--muted);font-weight:600;transition:color .2s}
.dpi{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;font-size:22px;font-style:normal;transition:all .22s}
.dp.in .dpi{background:var(--ok-bg);color:var(--ok)}
.dp.out .dpi{background:var(--bad-bg);color:var(--bad)}
.dpk{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);color:transparent;font-size:15px;text-decoration:none;transition:all .22s}
.dp input:checked+.dpc{border-color:transparent;color:#fff;transform:translateY(-2px)}
.dp.in input:checked+.dpc{background:linear-gradient(150deg,#19c795,#087a58);box-shadow:0 18px 30px -14px rgba(14,159,116,.85)}
.dp.out input:checked+.dpc{background:linear-gradient(150deg,#f5617a,#b8213a);box-shadow:0 18px 30px -14px rgba(224,69,90,.85)}
.dp input:checked+.dpc small{color:rgba(255,255,255,.85)}
.dp input:checked+.dpc .dpi{background:rgba(255,255,255,.22);color:#fff}
.dp input:checked+.dpc .dpk{background:#fff;border-color:#fff;color:#0b6e50}
.dp.out input:checked+.dpc .dpk{color:#b8213a}
.dp input:disabled+.dpc{opacity:.5}
.dp input:focus-visible+.dpc{outline:2px solid var(--brand);outline-offset:2px}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}

/* recortador de foto 3x4 */
#cropper{position:fixed;inset:0;z-index:120;background:#0b1024;color:#fff;display:flex;flex-direction:column;animation:fade .2s ease}
.cphead{padding:calc(14px + env(safe-area-inset-top)) 20px 10px;display:flex;flex-direction:column;gap:2px;text-align:center}
.cphead b{font-size:17px}.cphead span{font-size:12px;opacity:.7}
.cpstage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab}
.cpimg{position:absolute;left:50%;top:50%;max-width:none;transform-origin:center;user-select:none;-webkit-user-drag:none;pointer-events:none}
.cpframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:14px;box-shadow:0 0 0 100vmax rgba(6,10,26,.72);border:2px solid #fff;pointer-events:none;background:
 linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)) 33.33% 0/1px 100% no-repeat,linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)) 66.66% 0/1px 100% no-repeat,
 linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)) 0 33.33%/100% 1px no-repeat,linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)) 0 66.66%/100% 1px no-repeat}
.cpframe i{display:none}
.cpctl{display:flex;align-items:center;gap:14px;padding:12px 22px}
.cpb{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.12);color:#fff;font-size:22px;display:grid;place-items:center;flex:none}
.cprange{flex:1;accent-color:#e2bd6d;height:32px}
.cpact{display:flex;gap:12px;padding:6px 20px calc(18px + env(safe-area-inset-bottom))}.cpact .btn{flex:1}
.cpact .btn.soft{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}

.formgrid>*,.field,.field.sel{min-width:0}.chipsel .co{min-width:0;flex:1 1 0;padding-left:10px;padding-right:10px}.chipsel .co span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.formgrid .field:not(.full) .chipsel .co .ck{display:none}.formgrid .field:not(.full) .chipsel .co{padding-left:8px;padding-right:8px}.formgrid .field:not(.full) .chipsel .co span{overflow:visible;text-overflow:clip}

/* Conta adaptada ao app e ao site, sem alterar as outras áreas. */
.account-layout{display:grid;gap:16px;padding-top:18px;max-width:1080px;margin:0 auto}.account-layout .card{margin:0;padding:20px;border-radius:18px;min-width:0}.account-layout h3{display:flex;align-items:center;gap:9px;font-size:15px;margin:0 0 8px}.account-layout h3>.i{width:19px;height:19px;color:var(--brand)}.account-profile{margin:0;display:flex;gap:16px;align-items:center;padding:23px;border-radius:20px;min-width:0}.account-profile>div:last-child{min-width:0}.account-profile h2{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.account-profile .chip{white-space:normal;line-height:1.6}.account-profile .avatar{flex-shrink:0;width:58px;height:58px;font-size:26px}.account-layout .themeseg{margin-top:16px;gap:9px}.account-layout .themeseg button{border-radius:12px;font-size:11px;padding:10px 8px}.account-layout .themeseg .pv{height:33px}.account-options{display:grid;margin-top:14px}.account-option{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:15px 0;color:var(--ink);text-decoration:none;border-top:1px solid var(--line);min-width:0}.account-option .mi{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--surface2);color:var(--brand)}.account-option .grow{min-width:0}.account-option strong{display:block;font-size:13px;font-weight:700}.account-option small{display:block;font-size:11px;line-height:1.65;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.account-option .chev{margin-left:auto;color:var(--faint)}.account-option:hover .mi{background:var(--brand);color:white}.account-layout .btn{margin-top:15px;width:auto;min-height:43px}.account-footer{text-align:center;color:var(--muted);font-size:11px;padding:10px 0 18px;line-height:1.8}.account-footer span{display:block}.account-option:focus-visible,.account-layout .themeseg button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(min-width:1000px){.account-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding-top:0}.account-profile,.account-layout>.notice,.account-footer{grid-column:1/-1}.account-profile{padding:26px 28px}.account-profile h2{font-size:22px}.account-layout .card{padding:24px}.account-appearance{align-self:start}.account-tools{grid-column:2;grid-row:2 / span 2}.account-admin{grid-column:1}.account-session{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.account-session h3{margin:0}.account-session .small{flex:1;min-width:200px}.account-session .btn{margin:0}.account-layout .themeseg{max-width:440px}.account-option{padding:18px 0}.account-layout .about{max-width:none}}
@media(max-width:420px){.account-layout .card{padding:17px}.account-profile{padding:19px;gap:12px}.account-profile h2{font-size:17px}.account-profile .avatar{width:46px;height:46px;font-size:22px}}

.congregation-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.congregation-filter label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink)}.congregation-filter label .i{width:18px;height:18px;color:var(--m1,var(--brand))}.congregation-filter select{appearance:auto;min-height:44px;min-width:230px;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.congregation-filter select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:600px){.congregation-filter{align-items:stretch;gap:10px}.congregation-filter label,.congregation-filter select{width:100%;min-width:0}}

/* Campanha: identificação consistente de cada aba. */
.seg button[data-set="tab:carnes"]{background:#e8efff;color:#234a99;border:1px solid #bfd0fa}.seg button[data-set="tab:lanc"]{background:#e1f5eb;color:#116044;border:1px solid #b2dfca}.seg button[data-set="tab:carnes"].on{background:#234a99;color:#fff;border-color:#234a99;box-shadow:0 3px 9px #234a9933}.seg button[data-set="tab:lanc"].on{background:#116044;color:#fff;border-color:#116044;box-shadow:0 3px 9px #11604433}.seg button[data-set="tab:carnes"]:hover{border-color:#234a99}.seg button[data-set="tab:lanc"]:hover{border-color:#116044}.seg button[data-set^="tab:"]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}:root[data-theme=dark] .seg button[data-set="tab:carnes"]:not(.on){background:#1a2d50;color:#c3d7ff;border-color:#42649b}:root[data-theme=dark] .seg button[data-set="tab:lanc"]:not(.on){background:#153a2d;color:#b7eed7;border-color:#3b8064}

.field.sel.congregation-filter{display:block}.congregation-filter .fl{display:block;margin-bottom:9px}.congregation-filter .selui{width:100%}.congregation-filter .selbtn{min-height:44px;width:100%;text-align:left}#picker .dialog{max-height:85vh;overflow-y:auto}#picker .pkopt{min-height:48px}#picker .pkopt:focus-visible,.selbtn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.m-varoes{--m1:#1b315b;--m2:#101c38;--m-rgb:27,49,91}.m-senhoras{--m1:#a12d5b;--m2:#70203f;--m-rgb:161,45,91}

#secretariadoc .submit:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}#secretariadoc [aria-invalid="true"]{border-color:var(--bad)}.document-requirements{color:var(--bad);line-height:1.6;margin:12px 0}

.child-toggle{margin-bottom:18px}.field[hidden]{display:none!important}

/* Fechamento e módulos, com hierarquia igual em todas as telas. */
.closing-module{padding:0!important;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 28px #14265008}.closing-heading{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line);background:var(--surface2)}.closing-heading h3{margin:0;font-size:17px}.closing-heading p{margin:4px 0 0;font-size:12px;color:var(--muted)}.closing-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:14px;color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.closing-icon .i{width:24px;height:24px}.closing-status{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap;background:var(--ok-bg);color:var(--ok)}.closing-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.is-closed .closing-status{background:var(--bad-bg);color:var(--bad)}.closing-content{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 24px}.closing-caption{font-size:10px;font-weight:750;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.closing-content h4{font-size:clamp(23px,3vw,30px);line-height:1.2;margin:8px 0 0;font-weight:800;letter-spacing:-.6px}.closing-button{min-width:190px;min-height:52px;gap:10px;border-radius:14px!important;font-size:14px;font-weight:750;box-shadow:0 8px 18px #17344718;transition:transform .15s,box-shadow .15s}.closing-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #17344725}.close-month{background:linear-gradient(135deg,#bd354b,#90263c)!important;color:#fff!important}.reopen-month{background:linear-gradient(135deg,#24448c,#152855)!important;color:#fff!important}.closing-button .i{width:19px;height:19px}.closing-restriction{display:flex;align-items:center;gap:10px;max-width:280px;color:var(--muted);font-size:13px;line-height:1.5}.closing-restriction .i{flex:none;width:23px;height:23px}.closing-note{display:flex;align-items:center;gap:7px;margin:0!important;padding:14px 24px;border-top:1px solid var(--line);font-size:11px!important;line-height:1.5;color:var(--muted)}.closing-note .i{width:15px;height:15px;flex:none}.modules-heading{margin-top:26px!important;margin-bottom:16px!important;gap:14px}.modules-heading-copy{display:flex;align-items:center;gap:12px;min-width:0}.modules-heading-copy h2{font-size:21px!important;margin:0;letter-spacing:-.4px}.modules-heading-copy p{font-size:12px;color:var(--muted);margin:4px 0 0}.modules-heading-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;color:var(--brand);background:var(--surface)}.modules-heading-icon .i{width:23px;height:23px}.modules-all{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px!important;background:var(--surface)!important;border:1px solid var(--line)!important;padding:9px 12px!important;border-radius:10px}.modules-all .i{width:15px;height:15px}.modules-featured{padding:14px;background:color-mix(in srgb,var(--brand) 3%,var(--surface2));border:1px solid var(--line);border-radius:22px}.modules-featured>*{min-width:0}.app-info{text-align:center;padding:12px 10px 24px}.app-info-logo{display:inline-flex}.app-info h3{margin:16px 0 8px}.app-info p{font-size:14px;line-height:1.7;color:var(--muted);margin:auto;max-width:410px}@media(max-width:600px){.closing-heading{padding:17px 16px;gap:10px}.closing-icon{width:38px;height:38px;border-radius:12px}.closing-heading h3{font-size:15px}.closing-heading p{font-size:11px}.closing-status{padding:7px 10px;font-size:12px}.closing-content{padding:20px 16px;flex-direction:column;align-items:stretch;gap:20px}.closing-content h4{font-size:26px}.closing-button{width:100%;min-height:54px}.closing-button span{flex:1}.closing-note{padding:13px 16px;font-size:10px!important}.closing-restriction{max-width:none}.modules-heading-copy h2{font-size:19px!important}.modules-heading-icon{width:38px;height:38px;border-radius:12px}.modules-heading-copy p{font-size:11px}.modules-all{padding:8px 10px!important;font-size:11px!important}.modules-featured{padding:10px;border-radius:20px;gap:11px}.quick button{overflow-wrap:anywhere}.quick{gap:10px}.quick button{font-size:10px!important}.modules-heading{align-items:center}}@media(prefers-reduced-motion:reduce){.closing-button{transition:none}.closing-button:hover{transform:none}}

.login>.loginlogo{width:fit-content!important;justify-self:start;box-shadow:none;background:none;border:0;padding:0;border-radius:0}.loginlogo>.logo{display:inline-grid;flex:none}

.login>.loginlogo{height:auto;line-height:0}

.app-info-version{display:inline-block;margin:0 auto 12px!important;padding:5px 12px;border-radius:999px;background:var(--ok-bg);color:var(--ok)!important;font-size:12px!important;font-weight:750}

.quick{grid-template-columns:repeat(3,minmax(0,1fr))}.quick>button{min-width:0;min-height:88px;padding:13px 8px}.quick>button .qi{flex:none}

/* Agenda and calculator use the existing light/dark design tokens. */
.pu-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pu-calculator{position:fixed;z-index:70;width:min(354px,calc(100vw - 24px));max-height:calc(100dvh - 32px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 70px #07132e40;overflow:auto;overscroll-behavior:contain;animation:fade .15s}.pu-calc-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(135deg,#23376b,#121d45);color:#fff;padding:13px 14px 13px 17px;cursor:move;z-index:1;user-select:none}.pu-calc-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750}.pu-calc-title .i{width:22px;height:22px;color:#e5c46f}.pu-calc-header>div{display:flex;gap:6px}.pu-calc-header button{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:10px;background:#ffffff12;color:#fff;font-size:22px;cursor:pointer}.pu-calc-header button:hover{background:#ffffff26}.pu-calc-header .i{width:18px;height:18px}.pu-calc-content{padding:16px}.pu-calc-content>input{display:block;width:100%;text-align:right;font-size:19px;padding:13px 12px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);border-radius:12px;min-width:0}.pu-calc-content>output{display:block;text-align:right;padding:12px 4px 3px;font-size:30px;font-weight:800;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-height:52px}.pu-calc-content>#pu-calc-error{font-size:11px;line-height:1.5;min-height:16px;color:var(--bad);margin:4px 0 10px}.pu-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pu-keypad button{height:47px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);font-size:20px;color:var(--ink);font-weight:650;cursor:pointer;touch-action:manipulation}.pu-keypad button:active{transform:scale(.96)}.pu-keypad .pu-operator{color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}.pu-keypad .pu-equals{background:linear-gradient(135deg,#ead296,#cda144);color:#18213f;border-color:transparent;font-weight:850}.pu-keypad button:focus-visible,.pu-calc-mini:focus-visible,.pu-history-item:focus-visible,.pu-note-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.pu-history-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px 8px;margin-top:10px;color:var(--brand);font-size:12px;font-weight:750;cursor:pointer}.pu-history-toggle .i{width:16px;height:16px}.pu-history{border-top:1px solid var(--line);padding-top:8px}.pu-history[hidden]{display:none}.pu-history-item{display:flex;flex-direction:column;align-items:stretch;gap:5px;text-align:left;width:100%;padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer}.pu-history-item span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.pu-history-item b{font-size:17px;color:var(--ink);overflow-wrap:anywhere}.pu-history-item small{font-size:10px;color:var(--muted)}.pu-calc-mini{position:fixed;z-index:70;display:grid;place-items:center;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:18px;border:2px solid #dbb660;color:#f4dfad;background:linear-gradient(135deg,#253e7a,#121d45);box-shadow:0 9px 28px #101b4540;cursor:move;touch-action:none;user-select:none}.pu-calc-mini .i{width:29px;height:29px}.pu-agenda-intro{display:flex;align-items:center;gap:13px;background:var(--surface2);border:1px solid var(--line);border-radius:17px;padding:17px;margin:4px 0 22px}.pu-agenda-intro>span{display:grid;place-items:center;width:43px;height:43px;flex:none;border-radius:13px;background:color-mix(in srgb,var(--brand) 9%,var(--surface));color:var(--brand)}.pu-agenda-intro h3{font-size:15px;margin:0;line-height:1.4}.pu-agenda-intro p{font-size:11px;color:var(--muted);margin:4px 0 0}.pu-agenda-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.pu-agenda-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.pu-agenda-actions h3,.pu-notes-section>h3{font-size:16px;margin:0}.pu-agenda-actions .btn{padding:8px 12px;min-height:35px;font-size:12px}.pu-agenda-dates{display:grid;grid-template-columns:1fr 1fr}.pu-notes-section{min-width:0;border-top:1px solid var(--line);padding-top:20px}.pu-notes-section>.search{margin:14px 0}#pu-notes-list{max-height:450px;overflow:auto;overscroll-behavior:contain;padding:2px}.pu-note-card{display:flex;flex-direction:column;text-align:left;gap:7px;width:100%;border:1px solid var(--line);background:var(--surface2);border-radius:15px;padding:15px;margin-bottom:10px;cursor:pointer}.pu-note-kind{color:var(--brand);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.pu-note-card strong{font-size:14px;color:var(--ink);overflow-wrap:anywhere}.pu-note-card p{font-size:12px;color:var(--muted);line-height:1.6;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pu-note-card small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.pu-note-card .i{width:13px;height:13px}.pu-note-card .pu-note-edit{display:flex;align-items:center;justify-content:flex-end;gap:3px;font-size:11px;color:var(--brand);font-weight:700}.pu-note-card.is-done{border-left:3px solid var(--ok)}.pu-empty-notes{text-align:center;padding:30px 8px;color:var(--muted);font-size:12px}.pu-empty-notes>.i{width:32px;height:32px;opacity:.5}#pu-note-form .field{margin-bottom:12px}#pu-note-form textarea{min-height:110px;resize:vertical;line-height:1.6}#pu-note-form .submit{margin-top:12px}#pu-note-status{line-height:1.6}@media(min-width:1000px){.topactions .pu-tools-toggle,.mbar>.pu-tools-toggle{display:none}.pu-agenda-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.pu-notes-section{padding-top:0;padding-left:20px;border-top:0;border-left:1px solid var(--line)}.web-sidebar nav{overflow-y:auto;min-height:0;flex-shrink:1}.web-brand{flex-shrink:0}.web-sidefoot{flex-shrink:0}}@media(max-width:380px){.pu-calc-content{padding:12px}.pu-keypad button{height:42px}.pu-calculator{border-radius:18px}.pu-calc-header{padding:10px 12px}.pu-calc-content>output{font-size:27px}.pu-calc-mini{width:52px;height:52px;min-width:52px;min-height:52px}.pu-agenda-dates{grid-template-columns:1fr}.topactions{gap:5px!important}.topactions .iconbtn{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.pu-calculator{animation:none}.pu-keypad button:active{transform:none}}

.pu-agenda-intro{border-left:3px solid var(--m1,var(--brand))}.pu-agenda-intro>div{min-width:0}.pu-agenda-intro h3{overflow-wrap:anywhere}

.birthday-module{display:flex;align-items:center;gap:16px;text-align:left;width:100%;border:1px solid #dec891!important;background:linear-gradient(120deg,var(--surface),var(--surface2))!important;color:var(--ink);min-height:112px;padding:20px!important}.birthday-module .grow{flex:1;min-width:0}.birthday-module strong{display:block;font-size:18px}.birthday-module small{display:block;margin-top:5px;color:var(--muted)}.birthday-symbol{font-size:32px;background:#fff5d5;padding:12px;border-radius:18px}.birthday-today{display:block;color:#08734c!important;font-size:14px;margin-top:8px}.birthday-person{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line,#e2e8f0);padding:14px 0}.birthday-person .grow{flex:1;min-width:0;overflow-wrap:anywhere}.birthday-date{background:#f8efd9;color:#142650;border-radius:12px;padding:12px;text-align:center;font-size:22px;font-weight:800}.birthday-date small{display:block;font-size:11px}.birthday-canvas{display:block;width:100%;max-width:360px;height:auto;margin:16px auto;border-radius:16px;box-shadow:0 8px 28px #101a3030}.birthday-options,.birthday-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.birthday-actions .btn{width:100%}@media(max-width:500px){.birthday-person{flex-wrap:wrap}.birthday-person .btn{margin-left:62px}.birthday-module{padding:15px!important}.birthday-options{grid-template-columns:1fr}}

.contributor-combo{min-width:0}.contributor-suggestions{margin:-4px 0 16px;border:1px solid var(--line,#d9e2f2);border-radius:16px;overflow:hidden;max-height:280px;overflow-y:auto;background:var(--surface,#fff);box-shadow:0 8px 24px #13235412}.contributor-suggestions[hidden]{display:none!important}.contributor-suggestions button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 14px;background:var(--surface,#fff);color:var(--ink,#142650);border:0;border-bottom:1px solid var(--line,#e1e6f1)}.contributor-suggestions button:last-child{border-bottom:0}.contributor-suggestions button:hover,.contributor-suggestions button[aria-selected="true"]{background:var(--surface2,#eef2ff)}.contributor-avatar{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:13px;background:linear-gradient(140deg,#6656e8,#263d9c);color:#fff;font-weight:800}.contributor-suggestions button>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.contributor-suggestions strong{display:block;font-size:14px;line-height:1.4}.contributor-suggestions small{display:block;font-size:11px;color:var(--muted,#657795);margin-top:3px}.contributor-suggestions p{font-size:12px;padding:13px 15px;color:var(--muted,#657795)}.contributor-arrow{color:var(--muted,#657795)}
.home-mods .mod-sec.secretaria-primary{grid-column:1/-1;min-height:156px;border:1px solid #b6a5ff;box-shadow:0 8px 24px #4126b51b}.secretaria-primary .msh{padding:22px}.secretaria-primary .msh b{font-size:21px}.secretaria-primary .mico{width:60px;height:60px;font-size:28px}.home-mods .birthday-module{min-height:100px;box-shadow:none!important}.home-mods .birthday-module strong{font-size:16px}.home-mods .birthday-symbol{font-size:25px;padding:10px}
@media(max-width:600px){.contributor-suggestions{max-height:230px}.secretaria-primary .msh{padding:18px}.secretaria-primary .msh b{font-size:19px}.home-mods .mod-sec.secretaria-primary{min-height:140px}}

/* Shared portal controls: also bundled in Android. */
/* Native forms and financial tables, shared with the portal components. */
.control-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.control-toolbar .field{margin:0}.control-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.control-metric{margin:0}.control-metric small{display:block;color:var(--muted);font-weight:600}.control-metric strong{display:block;font-size:23px;margin-top:7px;font-variant-numeric:tabular-nums}.control-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.control-categories span{display:flex;justify-content:space-between;gap:8px;background:var(--surface2);padding:10px;border-radius:10px;font-size:13px}.control-scroll{overflow:auto;max-width:100%}.control-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.control-table th,.control-table td{padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}.control-table th{font-size:12px;color:var(--muted);white-space:nowrap}.control-table small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.control-table .btn{padding:8px 12px;min-height:36px;font-size:12px}.control-name{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.control-name:hover,.control-name:focus-visible{text-decoration-color:currentColor}.control-audit{padding:14px 0;border-bottom:1px solid var(--line)}.control-audit pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.control-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.control-line small{width:100%;color:var(--muted)}.control-campaign{margin:24px auto;max-width:1280px}.positive{color:var(--ok)}.negative{color:var(--bad)}@media(max-width:700px){.control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.control-metric strong{font-size:18px}.control-toolbar>.btn{flex:1}.control-table{min-width:740px}.dialog .control-table{min-width:500px}}


/* Native and small-screen layout: one navigation, readable metrics and ledger cards. */
html[data-platform="android"] .web-sidebar{display:none!important}
html[data-platform="android"] #app{padding-left:0!important}
html[data-platform="android"] .nav{display:flex!important}
.control-toolbar{min-width:0}.control-toolbar .field{min-width:0;flex:1 1 180px}.control-toolbar input{max-width:100%}.control-categories span{min-width:0;align-items:flex-start}.control-categories b{white-space:nowrap;font-variant-numeric:tabular-nums}.control-metric{min-width:0}.control-metric strong{overflow-wrap:anywhere}.body,.stack,.card{min-width:0}.area-person{padding:18px 0;border-bottom:1px solid var(--line)}.area-person-heading,.area-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.area-person-heading strong{flex:1;min-width:150px;overflow-wrap:anywhere}.area-status{display:inline-flex;border-radius:999px;background:var(--surface2);padding:6px 9px;font-size:11px;font-weight:700;color:var(--muted)}.area-status.pending{color:var(--warn);background:var(--warn-bg)}.area-status.removed{color:var(--bad);background:var(--bad-bg)}.area-status.active{color:var(--ok);background:var(--ok-bg)}.area-person details{margin:12px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.area-actions{margin-top:12px}.area-pending{display:flex;gap:10px;align-items:center;text-align:left;width:100%;font-weight:700}
@media(max-width:700px){.control-ledger{display:block;width:100%;min-width:0!important}.control-ledger thead{display:none}.control-ledger tbody{display:grid;gap:14px}.control-ledger tr{display:block;border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--surface)}.control-ledger td{display:grid;grid-template-columns:minmax(88px,.65fr) minmax(0,1.35fr);gap:4px 10px;border:0;padding:8px 2px;font-size:13px;overflow-wrap:anywhere}.control-ledger td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.25px;color:var(--muted);font-weight:700;grid-column:1;grid-row:1/span 4}.control-ledger td>*{grid-column:2;min-width:0}.control-ledger td small{margin:0;line-height:1.5}.control-ledger td .btn{justify-self:start}.control-scroll:has(.control-ledger){overflow:visible}.control-categories{grid-template-columns:1fr 1fr}.control-metrics{gap:10px}.control-metric{padding:15px!important}.control-metric strong{font-size:18px}.control-metric small{font-size:11px}.control-toolbar{gap:9px}.control-toolbar>.btn{min-width:0;flex:1 1 130px;font-size:12px}.area-actions>.btn{flex:1;min-width:140px}.dialog{max-height:calc(100dvh - 30px);overflow-y:auto}.cta .btn{min-width:0;font-size:12px;padding-left:10px;padding-right:10px}}
@media(max-width:460px){.control-categories{grid-template-columns:1fr}.control-categories span{font-size:12px;padding:11px 12px}.control-ledger td{grid-template-columns:90px minmax(0,1fr)}.control-ledger td[data-label="Contribuinte / descrição"]{grid-template-columns:1fr}.control-ledger td[data-label="Contribuinte / descrição"]::before{grid-row:auto;grid-column:1}.control-ledger td[data-label="Contribuinte / descrição"]>*{grid-column:1}.control-ledger td[data-label="Contribuinte / descrição"] .control-name{font-size:15px}.area-actions{flex-direction:column;align-items:stretch}.area-actions>.btn{width:100%}.control-ledger td[data-label="Ação"]>.btn{min-height:44px}}

/* Compact disclosures shared by site and Android. */
.ledger-list{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}.ledger-entry{border-bottom:1px solid var(--line)}.ledger-entry:last-child{border-bottom:0}.ledger-entry>summary{list-style:none;display:flex;gap:12px;align-items:center;cursor:pointer;padding:17px 16px;min-height:76px;outline-offset:-3px}.ledger-entry>summary::-webkit-details-marker{display:none}.ledger-entry>summary::marker{content:''}.ledger-entry>summary:hover{background:var(--surface2)}.ledger-entry>summary:focus-visible{outline:2px solid var(--accent,#2845a3)}.ledger-entry .ico{width:42px;height:42px;border-radius:14px;flex:none;display:grid;place-items:center}.ledger-person{flex:1;min-width:0;display:grid;gap:5px}.ledger-person strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.ledger-person>span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-total{font-size:15px;font-weight:800;white-space:nowrap;flex-shrink:0}.ledger-chevron{color:var(--muted);flex:none;width:14px;transition:transform .18s}.ledger-chevron svg{width:14px;height:14px}.ledger-chevron{transform:rotate(-90deg)}.ledger-entry[open] .ledger-chevron{transform:rotate(0)}.ledger-details{padding:14px 18px 18px;background:var(--surface2);border-top:1px solid var(--line)}.ledger-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.ledger-detail-grid>div{min-width:0;display:grid;gap:3px}.ledger-detail-grid span{font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}.ledger-detail-grid strong{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.ledger-detail-grid small{font-size:11px;color:var(--muted)}.ledger-description{font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin:12px 0}.ledger-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ledger-actions .btn{min-height:40px;padding:9px 14px;font-size:12px}.ledger-empty{padding:16px}
@media(max-width:480px){.ledger-entry>summary{gap:9px;padding:14px 10px;min-height:73px}.ledger-entry .ico{width:35px;height:35px;border-radius:12px}.ledger-person strong,.ledger-total{font-size:13px}.ledger-person>span{font-size:10px}.ledger-details{padding:12px}.ledger-chevron{width:10px}.ledger-chevron svg{width:10px}}

.birthday-actions{display:flex;flex-wrap:wrap;gap:8px}.birthday-actions>.btn{flex:1 1 120px;min-height:44px}.birthday-actions+.small{line-height:1.5}

/* Data refreshes retain the screen instead of replaying entry animations. */
#app[data-quiet="1"] .view>*,#app[data-quiet="1"] .mini i,#app[data-quiet="1"] .split i{animation:none!important}

/* Centre calculator keys independently of generic button alignment. */
.pu-calculator .pu-keypad>button{display:flex;align-items:center;justify-content:center;text-align:center;text-indent:0;padding:0;margin:0;min-width:0;height:48px;min-height:48px;box-sizing:border-box;font-family:inherit;font-size:21px;font-weight:650;line-height:1;letter-spacing:0;font-variant-numeric:lining-nums tabular-nums;appearance:none;-webkit-appearance:none}
.pu-keycap{display:block;line-height:1;text-align:center;pointer-events:none}.pu-keypad button[data-calckey=","] .pu-keycap{transform:translateY(-3px)}

.period-module{padding:22px!important;position:relative;overflow:hidden;border:1px solid var(--line)}.period-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.period-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:16px;background:var(--surface2);color:var(--brand)}.period-icon .i{width:24px;height:24px}.period-heading>div{flex:1;min-width:0}.period-eyebrow{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.6px;text-transform:uppercase}.period-heading h2{margin:4px 0 0;font-size:23px;line-height:1.25;letter-spacing:-.4px;color:var(--ink);overflow-wrap:anywhere}.period-tag{font-size:10px;padding:6px 10px;background:var(--ok-bg);color:var(--ok);font-weight:700;border-radius:99px;white-space:nowrap}.period-navigation{display:flex;align-items:stretch;gap:9px}.period-arrow{display:grid;place-items:center;width:46px;min-height:46px;flex:none;background:var(--surface2);border:1px solid var(--line);border-radius:13px;color:var(--brand);padding:0}.period-arrow .i{width:19px;height:19px}.period-choose{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;flex:1;min-width:0;padding:10px 14px;border-radius:13px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);font-family:inherit;font-weight:700;font-size:13px;line-height:1.3;text-align:center}.period-choose .i{width:18px;height:18px;flex:none}.period-arrow:hover,.period-choose:hover{border-color:var(--brand);filter:brightness(.98)}.period-arrow:focus-visible,.period-choose:focus-visible,.period-current:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.period-current{display:block;margin:12px auto 0;padding:6px 10px;font-size:12px;font-weight:700;color:var(--brand);text-align:center;background:transparent}.period-module .period-navigation button:active{transform:scale(.98)}
@media(max-width:540px){.period-module{padding:17px!important}.period-heading{flex-wrap:wrap;gap:10px}.period-heading h2{font-size:20px}.period-tag{margin-left:58px;margin-top:-5px}.period-choose{font-size:12px;padding:9px 8px;gap:6px}.period-arrow{width:40px}.period-icon{width:44px;height:44px}}
/* Keep keypad centring above any surrounding website button rule. */
#pu-calculator .pu-keypad>button{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;text-indent:0!important;padding:0!important;line-height:1!important;letter-spacing:0!important}
#pu-calculator .pu-keypad>button>.pu-keycap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%;height:100%;text-align:center!important;line-height:1!important;pointer-events:none}

/* Closed month notice and PDF action: scoped, without changing other modules. */
.closed-period-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.55fr);gap:12px;align-items:stretch;min-width:0;max-width:100%}.closed-period-notice{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid color-mix(in srgb,var(--warn) 22%,var(--line));background:var(--warn-bg);color:var(--warn);border-radius:18px;min-width:0}.closed-period-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:none;background:color-mix(in srgb,var(--warn) 10%,var(--warn-bg))}.closed-period-icon .i{width:21px;height:21px}.closed-period-notice>div{min-width:0}.closed-period-notice strong{display:block;font-size:15px;line-height:1.3}.closed-period-notice p{margin:5px 0 0;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.closed-period-actions .closed-period-report{display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:16px 18px;min-width:0;width:100%;max-width:100%;height:auto;min-height:56px;white-space:normal;border-radius:18px;text-align:left;box-sizing:border-box}.closed-period-report span{flex:1;min-width:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.closed-period-report .i{flex:none;width:21px;height:21px}.closed-period-report .i:last-child{width:17px;height:17px;color:var(--muted)}@media(max-width:700px){.closed-period-actions{grid-template-columns:minmax(0,1fr);gap:10px}.closed-period-notice{padding:16px;align-items:flex-start}.closed-period-actions .closed-period-report{padding:15px 17px;min-height:54px}.closed-period-notice strong{font-size:14px}}
