:root{
  --bg:#F5F8FB;--card:#FFFFFF;--ink:#0B1F3A;--ink2:#4A5B78;--ink3:#5F6F89;--line:#DDE5EE;--soft:#EAF0F6;
  --brand:#0B7F7A;--on-brand:#FFFFFF;--brand-strong:#075E5B;--tint:#DDF3F1;--accent:#F2B544;
  --green:#197A43;--red:#C62F2F;--amber:#946000;--navy:#0B1F3A;--shadow:0 1px 2px rgba(11,31,58,.06);
  --rec:#197A43;--desp:#C62F2F;
}
[data-theme=dark]{
  --bg:#0A1626;--card:#101F33;--ink:#E8EEF7;--ink2:#9FB0C8;--ink3:#8FA1BB;--line:#213249;--soft:#162740;
  --brand:#2DD4BF;--on-brand:#0A1626;--brand-strong:#5EEAD4;--tint:#0F3A3A;--accent:#F2B544;
  --green:#4ADE80;--red:#FF8A80;--amber:#F2B544;--navy:#E8EEF7;--shadow:none;--rec:#4ADE80;--desp:#FF8A80;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:var(--ink)}
.shell{display:grid;grid-template-columns:240px 1fr;gap:16px;padding:16px;max-width:1520px;margin:0 auto}
.side{background:var(--card);border-radius:20px;padding:18px 14px;position:sticky;top:16px;height:calc(100vh - 32px);display:flex;flex-direction:column;border:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;padding:0 6px 16px;letter-spacing:-.3px}
.logo{width:34px;height:34px;flex:none;display:block}
.nav{display:flex;flex-direction:column;gap:3px}
.nav .lbl{font-size:11px;color:var(--ink3);padding:10px 10px 4px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.nav button,.sidefoot button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:12px;display:flex;gap:10px;align-items:center;font-weight:500;color:var(--ink2)}
.nav button.on{background:var(--brand);color:var(--on-brand);font-weight:600}
.nav button:not(.on):hover,.sidefoot button:hover{background:var(--soft)}
.sidefoot{margin-top:auto;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:2px}
.me{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--soft);margin-bottom:6px}
.av{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.main{display:flex;flex-direction:column;gap:16px;min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);min-width:0}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}
.month{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}
.ttl{font-weight:700;font-size:18px}
.sq{width:36px;height:36px;border:1px solid var(--line);background:var(--card);border-radius:10px;display:grid;place-items:center;font-size:16px}
.btn{border:0;background:var(--brand);color:var(--on-brand);border-radius:10px;padding:10px 16px;font-weight:600;white-space:nowrap}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.btn.sm{padding:6px 10px;font-size:12px;border-radius:8px}
.btn.danger{color:var(--red)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.kpi .lb{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:8px;font-weight:500}
.kpi .vl{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:6px 0 2px;line-height:1.15}
.kpi .sb{font-size:12px;color:var(--ink3)}
.g2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.g2e{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.ch{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.ch h3{margin:0;font-size:15px;font-weight:600}
.ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:17px;flex:none;background:var(--soft)}
.ico.s{width:28px;height:28px;font-size:14px;border-radius:8px}
.sub{color:var(--ink2);font-size:13px;margin:0 0 10px}
.chips{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:5px 12px;font-size:12px;color:var(--ink2)}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
[data-theme=dark] .chip.on{color:#0A1626}
.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row .t{flex:1;min-width:0}
.row .t b{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .t span{font-size:12px;color:var(--ink2)}
.row .v{font-weight:700;white-space:nowrap;text-align:right}
.v.pos{color:var(--rec)}.v.neg{color:var(--ink)}
.chk{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:none;flex:none;display:grid;place-items:center;color:#fff;font-size:12px;padding:0}
.chk.on{background:var(--green);border-color:var(--green)}
.chk[disabled]{opacity:.5;cursor:default}
.done .t b{color:var(--ink3)}
.late{color:var(--red)!important;font-weight:600}
.mini{border:0;background:var(--soft);width:30px;height:30px;border-radius:50%;font-size:13px;flex:none}
.mini.arm{background:var(--red);color:#fff;width:auto;padding:0 10px;border-radius:99px;font-size:12px}
.pb{height:8px;background:var(--soft);border-radius:9px;overflow:hidden;margin-top:6px}.pb i{display:block;height:100%;border-radius:9px;background:var(--brand)}
.empty{text-align:center;color:var(--ink2);padding:26px 10px}
.tag{font-size:11px;font-weight:600;border-radius:8px;padding:3px 8px;background:var(--soft);color:var(--ink2);white-space:nowrap}
.tag.g{background:#dcf5e6;color:#0f7a3a}.tag.r{background:#fde4e4;color:#b42323}.tag.a{background:#fdf0d5;color:#92580a}
[data-theme=dark] .tag.g{background:#12372a;color:#6ee7b7}[data-theme=dark] .tag.r{background:#3d1a1d;color:#fca5a5}[data-theme=dark] .tag.a{background:#3a2c0c;color:#fcd34d}
.overlay{position:fixed;inset:0;background:rgba(10,15,35,.5);display:grid;place-items:center;padding:14px;z-index:50}
.modal{background:var(--card);border-radius:20px;padding:22px;width:100%;max-width:480px;max-height:92vh;overflow:auto;border:1px solid var(--line)}
.modal h3{margin:0 0 14px}
.f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.f label{font-size:12px;color:var(--ink2);font-weight:500}
.f input,.f select,.f textarea,.inl{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px;width:100%}
.inl{padding:7px 9px;border-radius:8px;width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;flex-wrap:wrap}
.seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--soft);padding:4px;border-radius:12px;margin-bottom:14px}
.seg3 button{border:0;background:none;border-radius:9px;padding:8px;font-weight:600;color:var(--ink2)}
.seg3 button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.seg3 button.on.r{color:var(--rec)}.seg3 button.on.d{color:var(--desp)}
.tip{position:fixed;pointer-events:none;background:#0B1F3A;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;z-index:99;display:none;white-space:nowrap}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 12px}
.toolbar input{flex:1;min-width:140px}
.dayh{font-size:12px;color:var(--ink3);font-weight:600;padding:12px 0 2px;text-transform:capitalize}
.sumbar{display:flex;gap:18px;flex-wrap:wrap;padding:12px 14px;background:var(--soft);border-radius:12px;margin-bottom:6px;font-size:12px;color:var(--ink2)}
.sumbar b{display:block;font-size:16px;color:var(--ink);margin-top:2px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin-top:6px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.banner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff7e0;border:1px solid #f5dfa0;color:#6b4a07;border-radius:14px;padding:10px 14px;font-size:13px}
[data-theme=dark] .banner{background:#2d2410;border-color:#4f3d12;color:#fcd34d}
.acc{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.acc .a{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--card)}
.big{font-size:26px;font-weight:800;letter-spacing:-.03em}
.donutw{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:16px;align-items:center}
.cl{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}
.cl .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:12px 0 4px}
.mstats div{font-size:12px;color:var(--ink2)}.mstats b{display:block;font-size:15px;color:var(--ink);margin-top:2px}
.pb.lg{height:12px}
.contrib{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed var(--line);font-size:13px}
.contrib .t{flex:1;min-width:0}
.i{display:inline-block;vertical-align:-.2em;flex:none}
.ico svg{width:18px;height:18px}.ico.s svg{width:15px;height:15px}
.ico{color:var(--ink2)}
.nav button svg,.sidefoot button svg{width:18px;height:18px}
.mobnav button svg{width:22px;height:22px}
.mini{display:grid;place-items:center}.mini svg{width:14px;height:14px}
.tag{display:inline-flex;align-items:center;gap:4px}
.chip{display:inline-flex;align-items:center;gap:6px}
.btn.sm,.btn.ghost{display:inline-flex;align-items:center;gap:6px}
.chk svg{width:13px;height:13px;stroke-width:3}
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-bottom:12px}
.ib{border:1px solid var(--line);background:var(--card);border-radius:10px;height:44px;display:grid;place-items:center;color:var(--ink2)}
.ib.on{background:var(--tint);border-color:var(--brand);color:var(--brand)}
.ib:hover{background:var(--soft)}
.banner span svg{flex:none}
.mobnav{display:none}
@media(max-width:960px){
  .shell{grid-template-columns:1fr;padding:10px 10px 84px;gap:10px}
  .side{display:none}
  .mobnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:40}
  .mobnav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink3);padding:6px 0;font-weight:500}
  .mobnav button span{font-size:18px}
  .mobnav button.on{color:var(--brand);font-weight:700}
  .g2,.donutw{grid-template-columns:1fr}
  .card{padding:16px}
  .month{font-size:16px}
  .top .btn .tx{display:none}
  .kpi .vl{font-size:22px}
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
}
/* ===== BankDash-inspired layer (FinWell identity) ===== */
:root{--r:24px;--sh:0 2px 14px rgba(11,31,58,.05)}
[data-theme=dark]{--sh:none}
.shell{grid-template-columns:250px 1fr;gap:0;padding:0;max-width:none}
.side{border:0;border-radius:0;top:0;height:100vh;padding:22px 0 16px;box-shadow:var(--sh)}
.brand{padding:0 26px 22px}
.nav{gap:2px}
.nav .lbl{padding:14px 26px 6px}
.nav button{position:relative;border-radius:0;padding:12px 26px;font-weight:600;color:var(--ink3)}
.nav button.on{background:none;color:var(--brand)}
.nav button.on:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:0 10px 10px 0;background:var(--brand)}
.nav button:not(.on):hover,.sidefoot button:hover{background:none;color:var(--ink)}
.sidefoot{border-top:0;padding:10px 14px 0}
.main{padding:0 28px 28px;gap:22px}
.card{border:0;border-radius:var(--r);box-shadow:var(--sh);padding:22px}
.hdr{display:flex;align-items:center;gap:14px;padding:18px 0 0;flex-wrap:wrap;position:sticky;top:0;background:var(--bg);z-index:30;padding-bottom:10px}
.hdr h1{white-space:nowrap;margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;flex:1;min-width:150px}
.srch{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:99px;padding:0 18px;height:46px;color:var(--ink3);min-width:230px}
.srch input{border:0;background:none;outline:0;flex:1;min-width:0;height:100%;color:var(--ink)}
.cir{width:46px;height:46px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;color:var(--ink2);position:relative;flex:none}
.cir .dotb{position:absolute;top:10px;right:11px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid var(--soft)}
.month{background:var(--card);border-radius:99px;padding:4px;font-size:14px;gap:4px;box-shadow:var(--sh)}
.month span{min-width:118px;text-align:center}
.sq{border:0;border-radius:50%;background:var(--soft)}
.btn{border-radius:99px;padding:12px 22px}
.btn.ghost{border:0;background:var(--soft)}
.btn.sm{padding:7px 14px}
.pop{position:absolute;right:0;top:54px;width:340px;max-width:calc(100vw - 24px);background:var(--card);border-radius:20px;box-shadow:0 12px 40px rgba(11,31,58,.18);padding:10px;z-index:60}
.pop .al{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;text-align:left;border:0;background:none;width:100%}
.pop .al:hover{background:var(--soft)}
.pop .al b{display:block;font-size:13px}.pop .al span{font-size:12px;color:var(--ink2)}
.sec{min-width:0}
.sech{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.sech h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em}
.lnk{border:0;background:none;color:var(--brand);font-weight:600;padding:0}
.lgd{display:flex;gap:14px;font-size:12px;color:var(--ink2)}.lgd i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tile{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:20px;display:flex;gap:14px;align-items:center;min-width:0}
.tic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:none}
.tx2{min-width:0}.tl{font-size:13px;color:var(--ink2)}.tv{font-size:22px;font-weight:800;letter-spacing:-.03em;font-family:var(--fd);line-height:1.2}.ts{font-size:12px;color:var(--ink3)}
.g2s{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start}
.g2s.r{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.goals3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
/* contas e cartões: colunas de largura fixa, para um cartão sozinho não esticar a tela toda */
.goals3.cardfull{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.goals3.cardfull>div{max-width:460px}
.cardrow{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px}
.vcard{flex:0 0 min(300px,82%);aspect-ratio:350/225;border-radius:25px;background:var(--vc);color:var(--vt);position:relative;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;padding:20px 22px 0;isolation:isolate}
.vcard small{display:block;font-size:11px;opacity:.75;font-weight:500;letter-spacing:.04em}
.vcard b{font-size:15px;font-weight:700}
.vtop b{font-size:24px;font-family:var(--fd);font-weight:800;letter-spacing:-.03em}
.vtop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.vmid{display:flex;gap:34px}
.vbot{margin:0 -22px;padding:12px 22px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.06));display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}
.vbot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc{position:relative;width:34px;height:22px;flex:none}.mc s{position:absolute;top:0;width:22px;height:22px;border-radius:50%;background:currentColor;opacity:.35}.mc s+s{left:12px}
.vcard:before,.vcard:after{content:"";position:absolute;border-radius:50%;background:currentColor;opacity:.07;z-index:-1}
.vcard:before{width:220px;height:220px;right:-70px;top:-60px}.vcard:after{width:160px;height:160px;right:50px;top:60px}
.rrow{display:flex;align-items:center;gap:14px;padding:10px 0}
.rc{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none}.rc.sm{width:40px;height:40px}
.rrow .t{flex:1;min-width:0}.rrow .t b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rrow .t span{font-size:12px;color:var(--ink3)}
.rrow .v{font-weight:700;white-space:nowrap}.rrow .v.pos{color:var(--rec)}.rrow .v.negc{color:var(--desp)}
.qchips{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}
.qc{border:2px solid transparent;background:var(--soft);border-radius:18px;padding:12px;min-width:112px;display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}
.qc.on{border-color:var(--brand);background:var(--tint)}
.qc b{font-size:13px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc small{font-size:11px;color:var(--ink3)}
.qic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.qfrom{display:flex;align-items:center;gap:10px;margin:14px 0 4px}.qfrom label,.qrow span{color:var(--ink2);font-size:13px;min-width:44px}
.qrow{display:flex;align-items:center;gap:12px;margin-top:10px}
.qin{flex:1;display:flex;background:var(--soft);border-radius:99px;overflow:hidden}
.qin input{flex:1;min-width:0;border:0;background:none;padding:0 18px;outline:0;height:46px}
.qin .btn{display:inline-flex;gap:8px;align-items:center}
.ilab{display:inline-flex;align-items:center;gap:6px}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{border:0;background:none;padding:10px 2px;font-weight:600;color:var(--ink3);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--brand);border-color:var(--brand)}
.tbl{display:flex;flex-direction:column}
.tr{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.1fr) minmax(0,1.2fr) 70px minmax(0,1fr) 96px 72px;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}
.tr.th{font-weight:600;color:var(--brand);font-size:13px;padding-top:6px}
.tr:last-child{border-bottom:0}
.tr .d{display:flex;gap:12px;align-items:center;min-width:0}.tr .d b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.tr .d small{display:block;color:var(--ink3);font-size:11px;font-weight:400}
.tr .c{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.tr .am{font-weight:700;text-align:right}.tr .am.pos{color:var(--rec)}.tr .am.negc{color:var(--desp)}
.tr .ac{display:flex;gap:4px;justify-content:flex-end}
.pill{display:inline-block;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;border:1.5px solid;text-align:center;white-space:nowrap;background:none;cursor:pointer}
.pill.g{color:var(--green);border-color:var(--green)}.pill.a{color:var(--amber);border-color:var(--amber)}.pill.r{color:var(--red);border-color:var(--red)}.pill.n{color:var(--ink3);border-color:var(--line);cursor:default}
.pg{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}
.pg button{border:0;background:none;border-radius:12px;min-width:36px;height:36px;color:var(--brand);font-weight:600}
.pg button.on{background:var(--brand);color:var(--on-brand)}.pg button[disabled]{opacity:.35;cursor:default}
.mbars{display:flex;align-items:flex-end;gap:10px;height:120px;margin-top:10px}
.mbars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;font-size:11px;color:var(--ink3)}
.mbars i{display:block;width:100%;max-width:26px;border-radius:9px;background:var(--line)}.mbars .on i{background:var(--brand)}
.twoc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:22px;align-items:start}
.crow{display:grid;grid-template-columns:52px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.crow:last-child{border-bottom:0}.crow small{display:block;color:var(--ink3);font-size:11px}.crow b{font-weight:600}
.modal{border:0;border-radius:var(--r)}
.btn.sm svg,.btn svg{flex:none}
@media(max-width:1180px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.g2s,.g2s.r,.twoc{grid-template-columns:1fr}}
@media(max-width:960px){
  .shell{grid-template-columns:minmax(0,1fr);padding:0 0 84px}
  .main{padding:0 14px 18px;gap:18px}
  .hdr{gap:10px;padding-top:12px}.hdr h1{font-size:22px}
  .srch{order:9;flex:1 1 100%;min-width:0;height:42px}
  .cir{width:42px;height:42px}
  .tiles{gap:12px}.tile{padding:14px;flex-direction:column;align-items:flex-start;gap:8px}.tic{width:44px;height:44px}.tv{font-size:18px}
  .sech h2{font-size:18px}
  .tr{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .tr.th{display:none}.tr .c,.tr .dt{display:none}.tr .st{grid-column:1}.tr .ac{grid-column:2;grid-row:2}
  .crow{grid-template-columns:44px minmax(0,1fr) auto}.crow>.hm{display:none}
  .month span{min-width:96px}
  .qrow{flex-wrap:wrap}
}
.cardfull .vcard{flex:none;width:100%}

@media(max-width:960px){
  .hidm{display:none}
  .hdr{display:grid;grid-template-columns:1fr auto auto;gap:10px 8px;align-items:center;padding:12px 0 8px}
  .hdr h1{font-size:24px;grid-column:1}.hdr .grow{display:none}
  .hdr>div[style*="relative"]{grid-column:2}.hdr>.av{grid-column:3;width:42px!important;height:42px!important;font-size:16px!important}
  .hdr .month{grid-column:1/-1;grid-row:2;justify-content:space-between;box-shadow:var(--sh)}
  .hdr .month span{flex:1}
  .srch{grid-column:1/-1;grid-row:3;order:0;min-width:0;height:44px}
  .fab{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:45;width:56px;height:56px;padding:0;border-radius:50%;font-size:28px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 22px rgba(11,127,122,.4)}
  .fab .tx{display:none}
  .pop{position:fixed;left:12px;right:12px;top:70px;width:auto}
  .banner{padding:8px 12px;font-size:12px;border-radius:16px}
  .tiles{gap:10px}.tile{padding:14px;gap:10px;border-radius:20px}.tl{font-size:12px}.tv{font-size:17px;word-break:break-word}.ts{font-size:11px}
  .card,.tile{border-radius:20px}
  .vcard{flex-basis:84%;padding:16px 18px 0;border-radius:22px}.vtop b{font-size:21px}.vbot{margin:0 -18px;padding:10px 18px}.vmid{gap:22px}
  .cardrow{margin:0 -14px;padding:2px 14px 10px;scroll-padding-left:14px;gap:12px}
  .rrow{gap:12px}.rc{width:44px;height:44px}
  .tabs{gap:20px}
  .toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar select:nth-child(3),.toolbar .btn{grid-column:1/-1}
  .sumbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .tr{grid-template-columns:minmax(0,1fr) auto;padding:12px 0;align-items:center}
  .tr .am{grid-column:2;grid-row:1;white-space:nowrap}
  .tr .st{grid-column:1;grid-row:2}.tr .ac{grid-column:2;grid-row:2}
  .pg button{min-width:32px;height:32px;padding:0 6px}
  .qchips{margin:0 -4px}.qrow{flex-wrap:nowrap}.qin input{height:44px}
  .qfrom select{flex:1}
  .crow{grid-template-columns:44px minmax(0,1fr) auto}
  .goals3{grid-template-columns:1fr}
  .mbars{height:100px}
  .modal{max-height:94vh;border-radius:24px 24px 0 0;align-self:end;max-width:none}
  .overlay{padding:0;align-items:end}
  .two{grid-template-columns:1fr 1fr}
  .f input,.f select,.f textarea{font-size:16px}
  .sech{align-items:baseline}
}
.twoc.txtop{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}@media(max-width:1180px){.twoc.txtop{grid-template-columns:minmax(0,1fr)}}

.tile{container-type:inline-size}
.tx2{flex:1}
.tv{font-size:clamp(15px,8.2cqw,22px);white-space:nowrap}
.ts{overflow-wrap:anywhere}
.tl{overflow-wrap:anywhere}
.cardrow{scrollbar-width:none}.cardrow::-webkit-scrollbar{display:none}
.plg{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:14px}
.pl{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}
.pl i{width:10px;height:10px;border-radius:50%;flex:none}.pl span{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--ink2)}.pl b{white-space:nowrap}
.rrow .t b,.tr .d b,.row .t b,.crow b,.qc b,.vbot span{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.tr .c{white-space:normal;overflow-wrap:anywhere}
.qc b{max-width:none;text-align:center}.qc{min-width:104px;max-width:130px}
.vcard b{overflow-wrap:anywhere}
.goals3 .card .t b{white-space:normal!important;overflow:visible!important}
@media(max-width:960px){.plg{grid-template-columns:1fr}.tv{font-size:clamp(15px,9cqw,19px)}}
.tx2 .tl,.tx2 .ts{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;line-height:1.5}.tx2 .tv{line-height:1.3}.tile .tx2{display:flex;flex-direction:column;justify-content:center}

.cpanel{padding:24px}
.cinfo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px}
.cbig{font-size:clamp(30px,5vw,44px);font-weight:800;letter-spacing:-.04em;font-family:var(--fd);line-height:1.15}
.cbig small{font-size:.5em;color:var(--ink3);font-weight:700;letter-spacing:0}
.cact{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 18px;flex-wrap:wrap}
.cact .btn{padding:10px 20px}
.sm2{width:40px;height:40px;font-size:20px}.sm2[disabled]{opacity:.35}
.ccards{gap:16px;padding:6px 6px 10px;margin:0 -6px}
.ccard{flex:0 0 min(440px,82%);aspect-ratio:2/1.15;border-radius:24px;background:var(--vc);color:var(--vt);position:relative;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;padding:20px 24px;isolation:isolate;cursor:pointer;outline:3px solid transparent;outline-offset:3px;transition:outline-color .15s}
.ccard.sel{outline-color:var(--brand)}
.ccard:before,.ccard:after{content:"";position:absolute;border-radius:50%;background:currentColor;opacity:.07;z-index:-1}
.ccard:before{width:260px;height:260px;right:-80px;top:-90px}.ccard:after{width:200px;height:200px;left:30%;bottom:-130px}
.cc1,.cc2,.cc3{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cbrand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px}
.cpill{background:rgba(255,255,255,.22);border-radius:99px;padding:4px 14px;font-size:12px;font-weight:700}
.cname{flex:1;text-align:center;letter-spacing:.28em;text-transform:uppercase;font-weight:700;font-size:13px;overflow-wrap:anywhere}
.cc3 small{display:block;font-size:11px;letter-spacing:.1em;opacity:.7;font-weight:500}.cc3 b{font-size:17px;font-weight:700}
.fth{font-size:12px;letter-spacing:.08em;color:var(--ink3);font-weight:700;margin:22px 0 10px}
.ftw{position:relative}.fline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.fts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;position:relative}
.ft{position:relative;height:190px;border:2px solid transparent;background:var(--soft);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;color:var(--ink2)}
.ft.on{border-color:var(--brand);background:var(--card)}
.ft b{font-size:14px;color:var(--ink)}
.ft em{font-style:normal;font-weight:700;margin-top:auto;font-size:14px;position:relative;z-index:2}.ft.on em{color:var(--brand)}
.ft .pill{padding:2px 10px;font-size:11px}
.fdot{position:absolute;left:50%;width:16px;height:16px;border-radius:50%;background:var(--card);border:2.5px solid var(--ink2);transform:translate(-50%,-50%);z-index:2}
.ft.on .fdot{border-color:var(--brand)}
.ffill{position:absolute;left:0;right:0;bottom:0;background:var(--tint);opacity:.8}
@media(max-width:960px){
  .cpanel{padding:16px}
  .ccard{flex-basis:88%;padding:16px 18px;border-radius:22px}.cname{letter-spacing:.14em;font-size:11px}
  .cc3 b{font-size:14px}
  .fts{gap:6px}.ft{height:160px;padding:12px 2px 10px;border-radius:16px}.ft b{font-size:12px}.ft em{font-size:11px}.ft .pill{font-size:9px;padding:2px 6px}
  .fdot{width:12px;height:12px}
  .cact .btn{padding:9px 14px;font-size:13px}
  .cardrow.ccards{margin:0 -16px;padding:4px 16px 8px}
}

.g2s.eq{align-items:stretch}.g2s.eq .sec{display:flex;flex-direction:column}.g2s.eq .sec>.card{flex:1}
.dpanel{padding:20px}
.tabs.sm{border:0;gap:6px;background:var(--soft);padding:4px;border-radius:99px}
.tabs.sm button{border:0;margin:0;padding:8px 20px;border-radius:99px}
.tabs.sm button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(11,31,58,.12)}
.dchips{display:flex;gap:8px;overflow-x:auto;margin:14px 0;scrollbar-width:none}.dchips::-webkit-scrollbar{display:none}
.dch{flex:none;border:0;background:var(--soft);border-radius:99px;padding:8px 14px;font-weight:600;color:var(--ink2);display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.dch i{width:10px;height:10px;border-radius:50%}.dch.on{background:var(--navy);color:var(--card)}
.dvis .vcard,.dvis .ccard{flex:none;width:100%;max-width:400px;margin:0 auto;display:flex}
.dvis .ccard{aspect-ratio:2/1.05}
.dstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.dstats small{display:block;color:var(--ink3);font-size:12px}.dstats b{font-size:15px}
.cc3 .ch2{text-align:center;min-width:0;flex:1}.cc3 .ch2 b{font-size:13px;overflow-wrap:anywhere;display:block}
.cgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;margin-top:6px}
.mbars2{display:flex;align-items:flex-end;gap:8px;height:150px;border-bottom:1px solid var(--line)}
.mb{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;font-size:11px;color:var(--ink3);padding:0}
.mb i{display:block;width:100%;max-width:30px;border-radius:9px 9px 4px 4px;background:var(--soft)}
.mb.on i{background:var(--c,var(--brand))}.mb.on span{color:var(--ink);font-weight:700}
.cat1{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:10px 0;font-size:13px}.cat1 .pb{grid-column:1/-1}
@media(max-width:960px){.cgrid{grid-template-columns:1fr;gap:6px}.dstats b{font-size:13px}.dpanel{padding:16px}.cc3 .ch2 b{font-size:11px}}

.bigv{font-size:30px;font-weight:800;letter-spacing:-.03em;font-family:var(--fd);color:var(--rec);margin:6px 0 14px}
.pblock{border-top:1px solid var(--line);padding:14px 0 4px}
.phead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.phead b{flex:1;min-width:160px;font-size:16px}
.prow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.pblock .prow:first-of-type{border-top:0}
.prow .t{flex:1;min-width:0}.prow .t b{display:block;font-weight:600;overflow-wrap:anywhere}.prow .t span{font-size:12px;color:var(--ink3)}.pv{white-space:nowrap}
.parc{padding:16px 0;border-top:1px solid var(--line);position:relative}
.pl1{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.pn{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pn b{font-size:17px;overflow-wrap:anywhere}
.badge{background:var(--soft);border-radius:10px;padding:3px 10px;font-weight:700;font-size:14px}
.ps{font-size:13px;color:var(--ink2);margin-top:3px;overflow-wrap:anywhere}
.pr{text-align:right;white-space:nowrap}.pr b{font-size:18px;display:block}.pr span{font-size:12px;color:var(--ink3)}
.pact{position:absolute;right:0;bottom:12px;display:none}
.divbox{background:var(--soft);border-radius:14px;padding:12px;margin:2px 0 12px}
.divbox input{background:var(--card)}
@media(max-width:960px){.pl1{flex-direction:column;gap:6px}.pr{text-align:left;display:flex;gap:8px;align-items:baseline}.bigv{font-size:26px}.tiles[style*="repeat(3"]{grid-template-columns:1fr!important}}
@media(max-width:960px){.tiles[style*="repeat(3"] .tile{flex-direction:row;align-items:center;gap:14px}}

/* sidebar compacta */
.side{display:flex;flex-direction:column;padding:18px 0 12px;overflow:hidden}
.brand{padding:0 22px 12px;flex:none}
.brand .logo{width:32px;height:32px}
.nav{flex:1;min-height:0;overflow-y:auto;gap:0;scrollbar-width:thin;padding-bottom:6px}
.nav .lbl{padding:14px 22px 4px;font-size:10.5px;letter-spacing:.08em}
.nav button{padding:8px 22px;font-size:14px;gap:12px;font-weight:500}
.nav button.on{font-weight:700}
.nav button.on:before{top:4px;bottom:4px}
.sidefoot{flex:none;padding:8px 12px 0;border-top:1px solid var(--line)}
.sidefoot .me{margin:0;padding:8px 8px 8px 10px;gap:10px}
.thb{border:0;background:var(--card);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink2);flex:none;padding:0}
.thb:hover{color:var(--brand)}
@media(max-height:620px) and (min-width:961px){.nav .lbl{padding:8px 22px 2px}.nav button{padding:6px 22px}.brand{padding-bottom:6px}}

@media(min-width:961px){
  .hdr{flex-wrap:nowrap}
  .hdr h1{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .hdr .grow{flex:1}
  .srch{flex:0 1 280px;min-width:120px}
}
@media(min-width:961px) and (max-width:1280px){
  .hdr .btn.fab{width:46px;height:46px;padding:0;border-radius:50%;font-size:22px;display:grid;place-items:center;flex:none}
  .hdr .btn.fab .tx{display:none}
  .hdr h1{font-size:22px}
  .month span{min-width:96px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:961px) and (max-width:1100px){.hdr .hidm{display:none}.srch{flex-basis:200px}}
@media(min-width:961px){.hdr h1{flex-shrink:0}.month{flex:none}.month span{white-space:nowrap}}
.vrow .v{min-width:96px}.vbtn{min-width:76px;justify-content:center}

.tlg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink2);margin-top:8px}
.tlg span{display:inline-flex;align-items:center;gap:6px}.tlg i{width:12px;height:12px;border-radius:4px;display:inline-block}
.tlg i.pv{opacity:.35;outline:1.5px dashed var(--brand);outline-offset:-1.5px}
.tlg i.avg{height:0;width:16px;border-top:2px dashed var(--ink2);border-radius:0}

/* ===== mobile final (sempre por último) ===== */
@media(max-width:960px){.side{display:none!important}}

/* ===== mobile refinado ===== */
.msrch{display:none}.banner .mb2{display:none}
.mprof{display:flex;align-items:center;gap:14px;cursor:pointer}
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mtile{border:0;background:var(--card);border-radius:20px;box-shadow:var(--sh);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-width:0}
.mtile .rc{margin-bottom:6px}.mtile b{font-size:15px}.mtile small{font-size:12px;color:var(--ink3);line-height:1.3}
.mtile:active{transform:scale(.98)}
.tg{width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;flex:none}.tg i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}.tg.on{background:var(--brand)}.tg.on i{left:21px}
@media(max-width:960px){
  .side{display:none!important}
  .shell{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .main{gap:16px}
  .hdr{grid-template-columns:1fr auto auto auto}
  .hdr h1{font-size:22px}
  .hdr>div[style*="relative"]{grid-column:3}.hdr>.av{grid-column:4}
  .msrch{display:grid;grid-column:2;grid-row:1}
  .srch{display:none}
  .hdr.v-tx.sopen .srch{display:flex}
  .hdr.v-tx.sopen .msrch{background:var(--tint)!important;color:var(--brand)!important}
  .hdr.v-tx.sopen .srch{background:var(--card)!important;box-shadow:0 0 0 2px var(--brand);animation:sopn .25s ease}
  .srch .scan{display:inline-block}
  .sec:has(>[data-txcard])>.sech{display:none}
  .txf2 .fchip[data-act=clearq]{display:none}
  .fsum.f2{grid-template-columns:1fr 1fr}
  .fsum.f4{grid-template-columns:repeat(4,minmax(0,1fr))}.fsum.f4>span{padding:6px 3px}.fsum.f4 b{font-size:clamp(11.5px,3.3vw,14px)}.fsum.f4 small{font-size:10px}
  .hdr .month{padding:3px}
  .banner{flex-wrap:nowrap;padding:8px 8px 8px 12px;gap:8px}.banner .dk{display:none}.banner .mb2{display:inline}.banner .btn{padding:6px 12px;flex:none}
  .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .toolbar select,.toolbar .btn{min-width:0;width:100%;font-size:14px}
  .tabs{gap:18px;margin:0 -2px}
  .txtop>.sec:first-child{display:none}
  .card{padding:16px}
  .sech h2{font-size:17px}
  .mobnav{border-top:0;box-shadow:0 -4px 20px rgba(11,31,58,.06)}
  .mobnav button{font-size:10.5px}
  .fab{bottom:calc(80px + env(safe-area-inset-bottom))}
  .cact{margin:12px 0 14px}.cact .sm2{display:none}
  .cardfull .vcard{aspect-ratio:auto;min-height:190px}
  .mgrid .mtile{padding:14px}
  .dstats{gap:6px}.dstats small{font-size:11px}
  .tile{padding:12px}
  .pop{top:64px}
}
@media(max-width:380px){.tiles{grid-template-columns:1fr!important}.tile{flex-direction:row!important;align-items:center!important}}

/* ===== inteligência ===== */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px}
.hcard{display:flex;flex-direction:column;gap:12px}
.hlb{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.hrow{display:flex;align-items:center;gap:18px}
.hbig{font-size:26px;font-weight:800;letter-spacing:-.02em;font-family:var(--fd);line-height:1.1}
.hval{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.04em;font-family:var(--fd);line-height:1.1}.hval small{font-size:.42em;color:var(--ink3);letter-spacing:0;font-weight:700}
.htip{display:flex;gap:8px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:10px 12px;font-size:12.5px;color:var(--ink2);line-height:1.4}.htip svg{flex:none;margin-top:1px;color:var(--brand)}
.hbrk{display:flex;flex-wrap:wrap;gap:6px}.hbrk span{background:var(--soft);border-radius:99px;padding:5px 12px;font-size:12px;color:var(--ink2)}.hbrk i{font-style:normal;font-weight:800;margin-right:4px;color:var(--ink)}.hbrk b{color:var(--ink);font-weight:600}
.hwarn{display:flex;gap:8px;align-items:center;font-size:13px;border-radius:12px;padding:10px 12px;background:var(--tint);color:var(--ink)}.hwarn svg{flex:none;color:var(--brand)}
.hwarn.r{background:#E5484D1a;color:var(--red)}.hwarn.r svg{color:var(--red)}
.hact{display:flex;gap:8px;flex-wrap:wrap}
.shead{display:flex;align-items:center;gap:26px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.pilh{display:flex;align-items:center;gap:12px;margin-bottom:10px}.pilh b{flex:1}.pts{font-size:22px;font-weight:800}.pts small{font-size:12px;color:var(--ink3)}
.simv{border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;margin-top:4px}.simv b{font-size:17px}.simv span{font-size:13px}
.simv.g{background:var(--tint);color:var(--brand)}.simv.a{background:#F2B54433;color:var(--amber)}.simv.r{background:#E5484D1a;color:var(--red)}
.simv span{color:var(--ink2)}
.simbars{display:flex;gap:10px;height:150px;align-items:stretch}
.simbars>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.sb2{flex:1;width:100%;max-width:38px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.sb2 i{display:block;border-radius:6px;min-height:0}
.sv{font-size:10.5px;font-weight:700;color:var(--ink2);white-space:nowrap}.simbars small{font-size:11px;color:var(--ink3)}
@media(max-width:1180px){.hero{grid-template-columns:1fr}}
.resc{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.resr{display:flex;align-items:center;gap:10px}.resr>span{font-size:12.5px;font-weight:700;color:var(--ink3)}
.respk{display:flex;gap:4px;background:var(--soft);border-radius:99px;padding:3px;flex:1}
.respk button{flex:1;border:0;background:none;border-radius:99px;padding:6px 4px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.respk button.on{background:var(--card);color:var(--brand);box-shadow:0 1px 3px rgba(11,31,58,.1)}
.resr b{color:var(--ink)}
.hstr{display:none}
@media(max-width:700px){
  header.hdr.hasstr .hstr{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:4px;border-top:1px solid var(--line);padding-top:8px;max-height:70px;overflow:hidden;transition:max-height .32s cubic-bezier(.2,.8,.3,1),opacity .22s,padding .32s,margin .32s,border-color .32s}
  header.hdr.hasstr.hcol .hstr{max-height:0;opacity:0;padding-top:0;margin-top:-8px;border-color:transparent;pointer-events:none}
  .hstr>i{width:1px;height:28px;background:var(--line)}
  .hsc{border:0;background:none;font:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:2px 0;cursor:pointer;border-radius:10px}
  .hsc:active{background:var(--soft)}
  .hsc small{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ink3)}
  .hsc b{font-family:var(--fd);font-size:clamp(13px,3.9vw,15px);letter-spacing:-.01em;white-space:nowrap}
}
#cd_resw{border-radius:14px;transition:box-shadow .4s,background .4s}#cd_resw.flash{background:var(--tint);box-shadow:0 0 0 8px var(--tint)}
.resx{width:100%;justify-content:space-between}.resx>span{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.resx em{font-style:normal;font-size:12px;font-weight:500;color:var(--ink3)}
.resh{font-size:12px;color:var(--ink3);margin:0;line-height:1.4}
.resl{display:flex;flex-direction:column;gap:4px}.reslt{font-size:12.5px;font-weight:700;color:var(--ink3);margin-top:2px}
.resa{display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 2px;font:inherit;text-align:left;cursor:pointer;color:var(--ink3)}
.resa i{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;color:transparent}
.resa.on i{background:var(--brand);border-color:var(--brand);color:#fff}
.resa b{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resa.on b{color:var(--ink)}.resa em{font-style:normal;font-size:13px;font-weight:600}.resa:not(.on) em{text-decoration:line-through}
.resck{display:flex;gap:10px;align-items:flex-start;background:var(--soft);border-radius:12px;padding:12px;margin:4px 0 10px;cursor:pointer}.resck input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand);flex:none}
.resck span{display:flex;flex-direction:column;gap:2px}.resck b{font-size:14px}.resck small{font-size:12px;color:var(--ink3);line-height:1.4}
.fcro{background:var(--soft);border-radius:16px;padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}
.fct{display:flex;align-items:center;gap:8px}.fct .mini{width:36px;height:36px;flex:none}
.fcdt{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:14px;text-transform:capitalize;background:var(--card);border-radius:99px;height:36px;cursor:pointer;color:var(--ink)}
.fcdt svg{color:var(--brand)}.fcdt input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.fcv{display:flex;flex-direction:column;align-items:center;text-align:center}.fcv b{font-family:var(--fd);font-size:26px;letter-spacing:-.02em;line-height:1.15}.fcv span{font-size:12.5px;color:var(--ink3)}
.fcv em,.fce i{font-style:normal;font-weight:700}.fcv em.p,.fce i.p{color:var(--rec)}.fcv em.n,.fce i.n{color:var(--red)}
.fce{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.fce span{background:var(--card);border-radius:99px;padding:4px 10px;font-size:12px;color:var(--ink2)}.fce i{margin-right:5px}.fce .fc0{background:none;color:var(--ink3)}
.fcrw{padding:4px 0 2px}.fcrw input{width:100%;accent-color:var(--brand);height:28px;margin:0;cursor:pointer}
.hmt{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hm .hlb{margin-bottom:4px}
.hchip{display:flex;align-items:center;gap:8px;flex:none;background:var(--soft);border:0;border-radius:99px;padding:4px 14px 4px 4px;cursor:pointer;font:inherit;color:var(--ink)}
.hchip span{display:flex;flex-direction:column;text-align:left;line-height:1.15}.hchip small{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}.hchip b{font-size:13px;font-family:var(--fd)}
.hms{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink3)}.hms b{color:var(--ink);font-weight:700}
.halert{border:1.5px solid #E5484D55}
.bdone{display:flex;align-items:center;gap:8px;padding:12px 4px;color:var(--brand);font-weight:600;font-size:14px}
@media(max-width:960px){.shead{flex-direction:column;text-align:center;gap:12px}.shead .hlb{justify-content:center}.hrow>svg{width:84px;height:84px}.hbig{font-size:22px}}
.hpil{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.hpil div{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--ink3);min-width:0}.hpil i{display:block;height:6px;border-radius:9px;background:var(--brand);box-shadow:inset 0 0 0 0}.hpil div{position:relative}.hpil div:before{content:"";height:6px;border-radius:9px;background:var(--soft);position:absolute;left:0;right:0;top:0}.hpil i{position:relative}.hpil span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hwarn{display:block;line-height:1.5}.hwarn svg{vertical-align:-3px;margin-right:6px}

/* ===== barras de rolagem discretas ===== */
*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--ink3);background-clip:padding-box;border:2px solid transparent}
::-webkit-scrollbar-corner{background:transparent}
.nav,.tabs,.dchips,.qchips,.ftsc,.cardrow{scrollbar-width:none}.nav::-webkit-scrollbar,.tabs::-webkit-scrollbar,.dchips::-webkit-scrollbar,.qchips::-webkit-scrollbar,.ftsc::-webkit-scrollbar{display:none}
.nav:hover{scrollbar-width:thin}
/* ===== faturas em blocos ===== */
.ftsc{overflow-x:auto;container-type:inline-size;scroll-snap-type:x proximity;--vis:4}
.fts2{position:relative;display:grid;width:max-content;min-width:100%;grid-auto-flow:column;grid-auto-columns:max(128px,calc(100cqw / min(var(--vis),var(--n))))}
.ftc{padding:0 5px;scroll-snap-align:start}
.ft2{position:relative;width:100%;height:190px;border:2px solid transparent;background:var(--soft);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 14px;color:var(--ink2)}
.ft2 b{font-size:15px;color:var(--ink);font-weight:700}
.ft2 em{font-style:normal;font-weight:600;margin-top:auto;font-size:15px;position:relative;z-index:3;white-space:nowrap}
.ft2.on{border-color:var(--brand);background:var(--card)}.ft2.on em{color:var(--brand);font-weight:800}
.fst{font-size:11px;font-weight:700;border-radius:99px;padding:2px 10px;visibility:hidden}
.ft2.on .fst{visibility:visible}
.fst.paga{background:var(--tint);color:var(--brand)}.fst.aberta{background:#F2B54433;color:var(--amber)}.fst.atrasada{background:#E5484D1f;color:var(--red)}.fst.prevista,.fst.sem{background:var(--soft);color:var(--ink2)}
.ff2{position:absolute;left:0;right:0;bottom:0;background:var(--tint);border-top:2px solid var(--brand);z-index:1}
.fl2{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.fd2{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--card);border:2.5px solid var(--ink2);transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.fd2.paga{border-color:var(--brand)}.fd2.aberta{border-color:var(--accent)}.fd2.atrasada{border-color:var(--red)}
.fd2.on{width:20px;height:20px;border-width:3px;border-color:var(--brand);box-shadow:0 0 0 4px var(--card)}
.ft2.st-prevista em{color:var(--ink3)}
.cgrid.one{grid-template-columns:1fr}
.dpanel .ftsc{--vis:4}
@media(max-width:960px){.ftsc{--vis:3}.ft2{height:160px;border-radius:16px;padding:12px 4px}.ft2 b{font-size:13px}.ft2 em{font-size:12px}.fts2{grid-auto-columns:calc(100cqw / 3)}.ftc{padding:0 3px}}
@keyframes flashrow{0%,40%{background:var(--tint)}100%{background:transparent}}
.tr.flash{animation:flashrow 2.6s ease-out;border-radius:12px}
.tr.flash .d b:after{content:"Nova";margin-left:8px;font-size:10px;font-weight:700;background:var(--brand);color:var(--on-brand);border-radius:99px;padding:2px 8px;vertical-align:2px}
.ciclo{display:flex;gap:10px;align-items:flex-start;background:var(--tint);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;color:var(--ink);margin:0 0 12px}.ciclo svg{flex:none;color:var(--brand);margin-top:2px}.ciclo span{color:var(--ink2);font-size:12px}

/* ===== acabamentos do cartão ===== */
.ccard.ac-preto,.sw.ac-preto{background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),linear-gradient(125deg,#2c2d31 0%,#141518 45%,#2a2b2f 70%,#0f1012 100%)}
.ccard.ac-grafite,.sw.ac-grafite{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px),linear-gradient(125deg,#4a5059,#2b3038 55%,#3d434c)}
.ccard.ac-prata,.sw.ac-prata{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 3px),linear-gradient(125deg,#f1f4f7,#bcc4ce 45%,#e6eaef 70%,#aab3bf)}
.ccard.ac-dourado,.sw.ac-dourado{background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px),linear-gradient(125deg,#f0d692,#c39a45 45%,#ecd08a 70%,#b08433)}
.ccard.ac-cor,.sw.ac-cor{background:var(--vc)}
.ccard.ac-degrade,.sw.ac-degrade{background:linear-gradient(135deg,color-mix(in srgb,var(--vc) 70%,#fff) 0%,var(--vc) 45%,color-mix(in srgb,var(--vc) 70%,#000) 100%)}
.ccard.ac-preto:before,.ccard.ac-grafite:before,.ccard.ac-prata:before,.ccard.ac-dourado:before{background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 48%,transparent 60%);border-radius:0;width:100%;height:100%;inset:0;opacity:1}
.ccard.ac-preto:after,.ccard.ac-grafite:after,.ccard.ac-prata:after,.ccard.ac-dourado:after{display:none}
.cbank{font-size:19px;font-weight:800;letter-spacing:-.02em}
.cname{display:flex;flex-direction:column;align-items:center;gap:2px}.cname small{font-size:10px;letter-spacing:.1em;opacity:.7;font-weight:600}
.cc3{position:relative}
.cbw{position:absolute;right:0;top:-34px}
.cband{display:inline-block;line-height:1;color:var(--vt);opacity:.95}

.ccard.ac-prata .cpill,.ccard.ac-dourado .cpill{background:rgba(0,0,0,.1)}
.mc2{width:26px;height:26px;border-radius:50%;border:2px solid currentColor;opacity:.4;flex:none}
.kprev{margin:0 0 16px}.kprev .ccard{flex:none;width:100%;max-width:420px;margin:0 auto;cursor:default}
.acabs{display:flex;flex-wrap:wrap;gap:8px}
.acb{border:1.5px solid var(--line);background:var(--card);border-radius:99px;padding:6px 12px 6px 6px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink2)}
.acb.on{border-color:var(--brand);color:var(--ink);background:var(--tint)}
.sw{width:22px;height:22px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}

/* ===== degradê metálico (padrão) ===== */
.ccard.ac-cor,.ccard.ac-degrade,.vcard{
  background:
    linear-gradient(115deg,transparent 28%,rgba(255,255,255,.16) 44%,rgba(255,255,255,.05) 52%,transparent 62%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),
    linear-gradient(135deg,color-mix(in srgb,var(--vc) 62%,#fff) 0%,var(--vc) 38%,color-mix(in srgb,var(--vc) 72%,#000) 72%,color-mix(in srgb,var(--vc) 85%,#fff) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.2),0 10px 24px -12px color-mix(in srgb,var(--vc) 60%,transparent);
}
.ccard.ac-cor:before,.ccard.ac-degrade:before,.vcard:before{opacity:.05}
.ccard.ac-cor:after,.ccard.ac-degrade:after,.vcard:after{opacity:.04}
.ccard.ac-preto,.ccard.ac-grafite,.ccard.ac-prata,.ccard.ac-dourado{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px -12px rgba(0,0,0,.5)}
.vbot{background:rgba(255,255,255,.1)!important;backdrop-filter:blur(2px)}

/* =====================================================================
   DESIGN v3 — referência Officex + identidade FinWell
   ===================================================================== */
:root{--side:#0B1F3A;--side2:#102A4C;--side-ink:#9DB0CA;--bg:#F3F6FA;--r:22px;
  --sh:0 1px 2px rgba(11,31,58,.04),0 10px 30px -18px rgba(11,31,58,.18);--gx:32px}
[data-theme=dark]{--side:#050D18;--side2:#0B1A2E;--side-ink:#8193AD;--bg:#0A1626;--sh:0 1px 0 rgba(255,255,255,.03)}
body{background:var(--bg)}
/* sidebar escura */
.shell{grid-template-columns:264px minmax(0,1fr)}
.side{background:var(--side);color:#fff;box-shadow:none;border:0}
.side .brand{padding:6px 26px 18px}
.side .brand span{color:#fff}


.nav{padding:0 12px 8px}
.nav .lbl{color:rgba(255,255,255,.34);padding:16px 14px 6px;font-weight:700}
.nav button{color:var(--side-ink);border-radius:12px;padding:10px 14px;margin:1px 0;font-weight:500;transition:background .15s,color .15s}
.nav button svg{opacity:.85}
.nav button:not(.on):hover{color:#fff;background:rgba(255,255,255,.06)}
.nav button.on{color:#fff;background:rgba(45,212,191,.12);font-weight:600}
.nav button.on svg{color:#2DD4BF;opacity:1}
.nav button.on:before{left:-12px;top:8px;bottom:8px;width:4px;background:#2DD4BF}
.sidefoot{border-top:1px solid rgba(255,255,255,.08);padding:12px 14px 0}
.sidefoot .me{background:rgba(255,255,255,.06);color:#fff;border-radius:14px}
.sidefoot .me .av{background:#2DD4BF;color:#0B1F3A}
.thb{background:rgba(255,255,255,.08);color:#CBD5E1}.thb:hover{color:#2DD4BF}
.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12)}
/* barra superior branca */
.main{padding:0 0 36px;gap:24px}
.main>*:not(.hdr){margin-left:var(--gx);margin-right:var(--gx)}
.hdr{background:var(--card);border-bottom:1px solid var(--line);padding:16px var(--gx);margin:0;top:0;gap:14px;box-shadow:0 1px 0 rgba(11,31,58,.02)}
.htt{display:flex;flex-direction:column;min-width:0;flex:0 1 auto}
.htt h1{font-size:25px;font-weight:700;letter-spacing:-.02em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.htt small{font-size:12.5px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srch{background:var(--bg);height:46px}
.hdr .cir{background:var(--bg);color:var(--ink2)}
.hdr .cir:hover{color:var(--brand)}
.hdr .month{background:var(--bg);box-shadow:none}
.hdr .month .sq{background:var(--card)}
.hdr>.av{box-shadow:0 0 0 3px var(--tint)}
.cir .dotb{background:#E5484D;border-color:var(--bg)}
/* cartões e seções */
.card,.tile,.mtile{border-radius:var(--r);box-shadow:var(--sh);border:0}
[data-theme=dark] .card,[data-theme=dark] .tile{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.sech{margin-bottom:14px}
.sech h2{font-size:19px;font-weight:700;letter-spacing:-.015em}
.lnk{font-size:14px}
.tile{padding:20px 22px}
.tic{width:54px;height:54px}
.banner{border-radius:16px;border:0;box-shadow:inset 0 0 0 1px #f5dfa0}
[data-theme=dark] .banner{box-shadow:inset 0 0 0 1px #4f3d12}
/* transferência rápida com "avatares" */
.qchips{gap:18px;padding:4px 2px 8px}
.qc{background:none;border:0;min-width:84px;max-width:110px;padding:4px;gap:6px}
.qc .qic{width:64px;height:64px;border-radius:50%;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--vc) 60%,#fff),var(--vc) 55%,color-mix(in srgb,var(--vc) 70%,#000));box-shadow:0 6px 16px -8px var(--vc);transition:transform .15s}
.qc.on{background:none}.qc.on .qic{box-shadow:0 0 0 3px var(--card),0 0 0 6px var(--brand)}
.qc:hover .qic{transform:translateY(-2px)}
.qc b{font-size:14px;color:var(--ink)}.qc small{font-size:12px}
.qin{background:var(--bg);height:52px}.qin input{height:52px}.qin .btn{height:52px;padding:0 26px}
.qfrom select{background:var(--bg);border:0;border-radius:12px;padding:10px 12px}
/* linhas e tabelas */
.rrow{padding:9px 0}.rc{width:50px;height:50px}
.tr{border-bottom-color:var(--soft)}
.tr:not(.th):hover{background:var(--bg);border-radius:12px}
.tr.th{color:var(--ink3);text-transform:uppercase;font-size:11.5px;letter-spacing:.06em}
.toolbar select,.toolbar input{background:var(--bg);border:0;border-radius:12px}
.sumbar{background:var(--bg);border-radius:16px}
.tabs{border-bottom:1px solid var(--soft)}
.tabs button.on{border-bottom-width:3px}
/* modal */
.overlay{background:rgba(5,13,24,.45);backdrop-filter:blur(4px)}
.modal{border-radius:26px;box-shadow:0 30px 80px -20px rgba(5,13,24,.45)}
.f input,.f select,.f textarea{background:var(--bg);border:1.5px solid transparent;border-radius:12px;transition:border-color .15s,background .15s}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--brand);background:var(--card)}
.btn{transition:filter .15s,transform .1s}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.98)}
/* hero e gráficos */
.hero{gap:24px}
.hcard{padding:22px 24px}
/* responsivo */
@media(max-width:1280px){:root{--gx:24px}}
@media(max-width:960px){
  :root{--gx:14px}
  .shell{grid-template-columns:minmax(0,1fr)}
  .main{gap:16px;padding-bottom:calc(150px + env(safe-area-inset-bottom))}
  .hdr{padding:12px 14px 12px;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px 8px}
  .hdr .htt{grid-column:1;grid-row:1}
  .htt h1{font-size:22px}.htt small{font-size:11.5px}
  .hdr .month{background:var(--bg)}
  .srch{background:var(--bg)}
  .mobnav{background:var(--card);box-shadow:0 -6px 24px rgba(11,31,58,.08);border-radius:22px 22px 0 0;padding-top:8px}
  .mobnav button.on{color:var(--brand)}
  .mobnav button.on svg{background:var(--tint);border-radius:12px;padding:4px;width:34px;height:30px;margin:-4px 0 -2px}
  .tile{padding:14px}
  .tic{width:44px;height:44px}
  .qc .qic{width:54px;height:54px}
  .card,.tile,.mtile{border-radius:20px}
  .qin .btn{padding:0 18px}
}

/* alternador de tema */
.thsw{position:relative;display:flex;align-items:center;gap:0;background:var(--bg);border-radius:99px;padding:4px;flex:none;isolation:isolate}
.thsw button{position:relative;z-index:1;width:40px;height:38px;border:0;background:none;border-radius:99px;display:grid;place-items:center;color:var(--ink3);transition:color .25s}
.thsw button.on{color:var(--brand)}
.thsw button:not(.on):hover{color:var(--ink)}
.thsw .thk{position:absolute;z-index:0;top:4px;left:4px;width:40px;height:38px;border-radius:99px;background:var(--tint);box-shadow:0 1px 3px rgba(11,31,58,.12);transition:transform .3s cubic-bezier(.4,1.3,.5,1)}
.thsw button.on~.thk{}
.thsw:has(button[data-v=dark].on) .thk{transform:translateX(40px)}
[data-theme=dark] .thsw button.on{color:#2DD4BF}
@media(max-width:960px){
  .hdr{grid-template-columns:minmax(0,1fr) auto auto auto auto}
  .hdr .msrch{grid-column:2}.hdr>div[style*="relative"]{grid-column:3}.hdr .thsw{grid-column:4;grid-row:1}.hdr>.av{grid-column:5}
  .thsw{padding:3px}.thsw button,.thsw .thk{width:34px;height:36px}.thsw .thk{top:3px;left:3px}.thsw:has(button[data-v=dark].on) .thk{transform:translateX(34px)}
}
@media(max-width:380px){.hdr:not(.v-tx) .msrch{display:none}}
@keyframes sopn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.srch input{min-width:0;flex:1}.scan{display:none;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--brand);padding:6px 0 6px 6px;white-space:nowrap;cursor:pointer}
.scnt{font-size:11.5px;font-weight:700;color:var(--ink3);background:var(--soft);border-radius:99px;padding:3px 8px;white-space:nowrap;flex:none}
@media(min-width:1101px){.hdr .htt{flex-shrink:1;min-width:120px}.hdr .srch{flex:1 1 200px;min-width:140px;max-width:300px}}

/* barra inferior mobile = cor da sidebar */
@media(max-width:960px){
  .mobnav{background:var(--side)!important;border-top:0;box-shadow:0 -8px 28px rgba(5,13,24,.28)}
  .mobnav button{color:var(--side-ink)}
  .mobnav button.on{color:#fff}
  .mobnav button.on svg{color:#2DD4BF;background:rgba(45,212,191,.16)}
  .fab{box-shadow:0 8px 22px rgba(5,13,24,.35)}
}

/* ===== animação das janelas ===== */
@keyframes ovIn{from{background:rgba(5,13,24,0);backdrop-filter:blur(0)}to{background:rgba(5,13,24,.45);backdrop-filter:blur(4px)}}
@keyframes ovOut{from{background:rgba(5,13,24,.45);backdrop-filter:blur(4px)}to{background:rgba(5,13,24,0);backdrop-filter:blur(0)}}
@keyframes mdIn{from{opacity:0;transform:translateY(14px) scale(.965)}to{opacity:1;transform:none}}
@keyframes mdOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.975)}}
@keyframes mdUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes mdDown{from{transform:none}to{transform:translateY(100%)}}
@keyframes kidIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.overlay.enter{animation:ovIn .28s ease-out both}
.overlay.enter .modal{animation:mdIn .34s cubic-bezier(.2,.9,.25,1.05) both}
.overlay.enter .modal>*{animation:kidIn .35s ease-out both}
.overlay.enter .modal>*:nth-child(2){animation-delay:.03s}.overlay.enter .modal>*:nth-child(3){animation-delay:.06s}.overlay.enter .modal>*:nth-child(4){animation-delay:.09s}.overlay.enter .modal>*:nth-child(5){animation-delay:.12s}.overlay.enter .modal>*:nth-child(n+6){animation-delay:.15s}
.overlay.leaving{animation:ovOut .22s ease-in both;pointer-events:none}
.overlay.leaving .modal{animation:mdOut .2s ease-in both}
html.modal-open,html.modal-open body{overflow:hidden}
.modal{will-change:transform}
@media(max-width:960px){
  .modal{position:relative;padding-top:26px;max-height:90vh;overscroll-behavior:contain}
  .modal::before{content:"";position:absolute;top:9px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:9px;background:var(--line)}
  .overlay.enter .modal{animation:mdUp .38s cubic-bezier(.2,.9,.25,1) both}
  .overlay.leaving .modal{animation:mdDown .22s ease-in both}
}
@media(prefers-reduced-motion:reduce){.overlay.enter,.overlay.enter .modal,.overlay.enter .modal>*,.overlay.leaving,.overlay.leaving .modal{animation-duration:.01s!important}}

/* ===== primeiros passos ===== */
.onb{padding:24px}
.onbh{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.onbh h3{margin:6px 0 0;font-size:20px;letter-spacing:-.01em}
.onbp{min-width:180px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.onbp b{font-size:22px}.onbp .pb{width:180px;margin:0}.onbp .pb i{background:var(--brand)}
.onbl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.onbi{display:flex;gap:12px;align-items:center;background:var(--bg);border-radius:16px;padding:12px 14px;border:1.5px solid transparent;flex-wrap:wrap}
.onbi.nx{border-color:var(--brand);background:var(--card)}
.onbi .t{flex:1;min-width:150px}.onbi .t b{display:block;font-size:14px}.onbi .t span{font-size:12px;color:var(--ink3)}
.onbn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--card);color:var(--ink2);flex:none;box-shadow:inset 0 0 0 1.5px var(--line)}
.onbi.nx .onbn{background:var(--brand);color:var(--on-brand);box-shadow:none}
.onbi.ok{opacity:.7}.onbi.ok .onbn{background:var(--tint);color:var(--brand);box-shadow:none}.onbi.ok .t b{text-decoration:line-through;text-decoration-color:var(--ink3)}
.onbb{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:960px){.onbl{grid-template-columns:1fr}.onbp{align-items:flex-start;min-width:0;width:100%}.onbp .pb{width:100%}.onb{padding:16px}}

/* ===== barra inferior estilo app (botão + central e menu rápido) ===== */
@media(max-width:960px){
  .hdr .fab,.fab{display:none!important}
  .mobnav{grid-template-columns:1fr 1fr 84px 1fr 1fr!important;align-items:end;padding:6px 4px calc(8px + env(safe-area-inset-bottom))!important;border-radius:24px 24px 0 0;overflow:visible}
  .mobnav>button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:6px 0 2px;min-width:0}
  .mobnav>button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobnav button.on svg{width:auto;height:auto;padding:0;margin:0;background:none!important}
  .mobnav>button.on{position:relative}
  .mobnav>button.on:after{content:"";position:absolute;top:-6px;width:22px;height:3px;border-radius:0 0 4px 4px;background:#2DD4BF}
  .mfabw{display:flex;justify-content:center;position:relative}
  .mfab{width:64px;height:64px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;margin-top:-34px;box-shadow:0 0 0 6px var(--side),0 10px 24px -6px rgba(11,127,122,.7);transition:transform .25s cubic-bezier(.3,1.4,.5,1),background .2s;position:relative;z-index:61}
  [data-theme=dark] .mfab{background:#0B7F7A}
  .mfab:active{transform:scale(.94)}
  .mfab.open{transform:rotate(45deg);background:#E5484D}
  .qm{position:fixed;inset:0;z-index:60;background:rgba(5,13,24,.72);backdrop-filter:blur(3px);animation:qmIn .2s ease-out both}
  .qm.closing{animation:qmOut .18s ease-in both}
  .qmi{position:absolute;left:50%;bottom:calc(52px + env(safe-area-inset-bottom));width:0;height:0}
  .qb{position:absolute;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:120px;margin-left:-60px;color:#fff;animation:qbIn .32s cubic-bezier(.25,1.35,.5,1) both}
  .qb b{font-size:14px;font-weight:600;text-align:center;line-height:1.2;text-shadow:0 1px 6px rgba(0,0,0,.4)}
  .qc2{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#1E2A3D;box-shadow:0 10px 24px -8px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.06)}
  [data-theme=dark] .qc2{background:#16243A}
  .qb:active .qc2{transform:scale(.94)}
  .qb.a1{transform:translate(-80px,-215px);--tx:-80px;--ty:-215px;animation-delay:.03s}
  .qb.a2{transform:translate(80px,-215px);--tx:80px;--ty:-215px;animation-delay:.06s}
  .qb.a3{transform:translate(calc(-1*min(138px,50vw - 64px)),-120px);--tx:calc(-1*min(138px,50vw - 64px));--ty:-120px}
  .qb.a4{transform:translate(min(138px,50vw - 64px),-120px);--tx:min(138px,50vw - 64px);--ty:-120px;animation-delay:.09s}
  .qm.closing .qb{animation:qbOut .16s ease-in both}
  @keyframes qmIn{from{opacity:0}to{opacity:1}}
  @keyframes qmOut{from{opacity:1}to{opacity:0}}
  @keyframes qbIn{from{opacity:0;transform:translate(0,-10px) scale(.4)}to{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1)}}
  @keyframes qbOut{from{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1)}to{opacity:0;transform:translate(0,-10px) scale(.4)}}
  .mobnav{z-index:61}
}
@media(min-width:961px){.qm{display:none}}
@media(max-width:960px){#shell:has(.qm) .mobnav>button{opacity:.22;pointer-events:none}#shell:has(.qm) .mobnav{background:#08121F!important}}

@media(max-width:960px){
  .mobnav .mfab{background:var(--brand)!important;color:#fff!important;padding:0!important;font-size:inherit;display:grid!important;place-items:center!important;gap:0!important}
  [data-theme=dark] .mobnav .mfab{background:#0B7F7A!important}
  .mobnav .mfab.open{background:#E5484D!important}
  .mobnav .mfab svg{width:28px!important;height:28px!important;margin:0!important;background:none!important;color:#fff}
  .mobnav>button{font-size:10.5px!important;letter-spacing:-.01em}
  .mobnav>button svg{width:22px;height:22px}
  .overlay{z-index:90!important}
}
@media(max-width:960px){.mobnav>button span{font-size:10.5px!important;line-height:1.2}}

/* aparência no perfil */
.aparg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px}
.apar{border:2px solid var(--line);background:var(--card);border-radius:18px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:8px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.apar.on{border-color:var(--brand);box-shadow:0 0 0 4px var(--tint)}
.apt{display:flex;align-items:center;gap:8px}.apt svg{color:var(--brand)}.apar small{color:var(--ink3);font-size:12px}
.aprev{display:grid;grid-template-columns:30% 1fr;grid-template-rows:1fr 1fr;gap:5px;height:74px;border-radius:12px;padding:6px;overflow:hidden}
.aprev i:first-child{grid-row:1/3;border-radius:7px}.aprev i{border-radius:7px}
.aprev.light{background:#F3F6FA}.aprev.light i:first-child{background:#0B1F3A}.aprev.light i{background:#fff}
.aprev.dark{background:#0A1626}.aprev.dark i:first-child{background:#050D18}.aprev.dark i{background:#101F33}
/* mobile: tema sai do cabeçalho; botão central sem invadir vizinhos */
@media(max-width:960px){
  .hdr .thsw{display:none!important}
  .hdr{grid-template-columns:minmax(0,1fr) auto auto auto!important}
  .hdr .msrch{grid-column:2!important}.hdr>div[style*="relative"]{grid-column:3!important}.hdr>.av{grid-column:4!important}
  .mobnav{grid-template-columns:1fr 1fr 76px 1fr 1fr!important;padding-top:4px!important}
  .mfab{width:54px!important;height:54px!important;margin-top:-16px!important;box-shadow:0 0 0 4px var(--side),0 8px 18px -6px rgba(11,127,122,.75)!important}
  .mobnav .mfab svg{width:24px!important;height:24px!important}
  .mfabw{align-self:start}
  .qmi{bottom:calc(46px + env(safe-area-inset-bottom))}
}

/* ===== planejamento guiado ===== */
.plm{max-width:560px}
.pldots{display:flex;align-items:center;gap:6px;margin-bottom:6px}.pldots i{width:22px;height:5px;border-radius:9px;background:var(--line)}.pldots i.on{background:var(--brand);width:34px}.pldots i.ok{background:var(--tint)}.pldots span{margin-left:auto;font-size:12px;color:var(--ink3);font-weight:600}
.plq{display:flex;flex-direction:column;gap:4px;margin:6px 0 14px}.plq>svg{color:var(--brand);background:var(--tint);border-radius:12px;padding:8px;width:40px;height:40px;box-sizing:border-box}
.plq h3{margin:6px 0 0;font-size:21px;letter-spacing:-.02em}.plq p{margin:0;color:var(--ink2);font-size:14px}
.plbig{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:16px;padding:6px 16px;border:2px solid transparent;margin-bottom:12px}
.plbig:focus-within{border-color:var(--brand);background:var(--card)}
.plbig span{font-size:22px;font-weight:700;color:var(--ink3)}
.plbig input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:32px;font-weight:800;letter-spacing:-.03em;font-family:var(--fd);color:var(--ink);padding:6px 0}
.plchips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.plchip{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:10px;display:flex;flex-direction:column;align-items:center;color:var(--ink)}.plchip b{font-size:18px}.plchip span{font-size:12px;color:var(--ink3)}
.plchip.on{border-color:var(--brand);background:var(--tint)}
.plcmp,.plsum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.plsum{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
.plcmp div,.plsum div{background:var(--bg);border-radius:12px;padding:10px 12px;min-width:0}.plcmp small,.plsum small{display:block;font-size:11.5px;color:var(--ink3)}.plcmp b,.plsum b{font-size:15px;white-space:nowrap}.plsum em{font-style:normal;font-size:11px;color:var(--ink3)}
.plauto{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}
.plbar{margin-bottom:10px}.plbar .pb{margin:0 0 6px}.pltx{display:flex;justify-content:space-between;font-size:13px;gap:8px;flex-wrap:wrap}
.plcats{display:flex;flex-direction:column;gap:6px;max-height:42vh;overflow:auto;padding-right:2px}
.plc{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:14px;padding:8px 10px;cursor:pointer}
.plc input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex:none}
.plc .t{flex:1;min-width:0}.plc .t b{display:block;font-size:14px}.plc .t small{font-size:11.5px;color:var(--ink3)}
.plin{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:10px;padding:0 10px;width:120px;flex:none}.plin i{font-style:normal;font-size:12px;color:var(--ink3)}.plin input{border:0;background:none;outline:0;width:100%;height:36px;font-weight:700;text-align:right;color:var(--ink);font-size:15px}
.plc.off{opacity:.5}
.plres{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:6px 0 12px;font-size:13.5px}.plres div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--soft)}
.plapply{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.plapply label{display:flex;gap:6px;align-items:center}
.plcta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,var(--tint),var(--card) 70%)}
.plcta .plq{flex-direction:row;align-items:center;gap:14px}
.plh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
@media(max-width:960px){.plsum{grid-template-columns:1fr 1fr}.plres{grid-template-columns:1fr}.plbig input{font-size:28px}.plcats{max-height:none}.plin{width:104px}}

/* ===== cabeçalho com logo + menu do perfil ===== */
.hbrand{display:none;align-items:center;gap:8px}.hbrand b{font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.avw{position:relative}
.avb{border:0;background:none;padding:0;border-radius:50%;display:block}
.avb .av{width:46px;height:46px;font-size:18px;background:var(--brand);color:#fff;box-shadow:0 0 0 3px var(--tint)}
.avpop{width:270px;right:0;top:56px;padding:8px}
.avh{display:flex;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.avh .av{width:42px;height:42px;font-size:17px;background:var(--brand);color:#fff}
.avh b{display:block;font-size:15px}.avh span{font-size:12.5px;color:var(--ink3)}
.avpop .al{align-items:center}.avpop .al svg{color:var(--ink2);flex:none}.avpop .al b{font-size:14.5px}
/* primeira tela com textura diferenciada */
.hero .hcard{background:linear-gradient(135deg,var(--tint) 0%,var(--card) 58%)!important}
[data-theme=dark] .hero .hcard{background:linear-gradient(135deg,#0E2E2D 0%,var(--card) 62%)!important}
.hero .hcard .htip{background:var(--card)}
@media(max-width:960px){
  .hbrand{display:flex;grid-column:1;grid-row:1}
  .hdr{grid-template-columns:minmax(0,1fr) auto auto auto!important;row-gap:12px!important}
  .hdr .msrch{grid-column:2!important;grid-row:1}.hdr>div[style*="relative"]{grid-column:3!important;grid-row:1}.hdr .avw{grid-column:4;grid-row:1}
  .hdr .htt{grid-column:1/-1!important;grid-row:2!important}
  .hdr .month{grid-row:3!important}
  .hdr.v-tx .srch{grid-row:4!important}
  .hdr .cir{background:transparent!important}
  .avb .av{width:42px;height:42px;font-size:17px}
  .avpop{position:fixed;left:12px;right:12px;top:66px;width:auto}
}

/* ===== seletor de mês (calendário) ===== */
.mpk{position:relative;display:flex!important;align-items:center;justify-content:space-between;background:var(--card)!important;border-radius:18px!important;box-shadow:0 1px 2px rgba(11,31,58,.04),0 8px 22px -14px rgba(11,31,58,.22)!important;padding:4px!important;gap:2px}
.mpa{width:38px;height:42px;border:0;background:none;border-radius:12px;color:var(--ink3);font-size:22px;line-height:1}.mpa:hover{background:var(--bg);color:var(--ink)}
.mpb{display:flex;align-items:center;gap:10px;border:0;background:none;height:42px;padding:0 12px;font-weight:700;color:var(--ink);font-size:15.5px;border-radius:12px;white-space:nowrap}.mpb:hover{background:var(--bg)}.mpb>svg:first-child{color:var(--brand)}
.mpop{position:absolute;right:0;top:56px;z-index:50;background:var(--card);border-radius:18px;box-shadow:0 18px 44px -12px rgba(11,31,58,.32);padding:14px;width:290px;animation:mdIn .2s ease-out both}
.mpy{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mpy b{font-size:16px}.mpy button{border:0;background:var(--bg);width:34px;height:34px;border-radius:10px;color:var(--ink);font-size:18px}
.mpg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mpg button{border:0;background:none;border-radius:10px;height:40px;font-weight:600;color:var(--ink2);text-transform:capitalize}
.mpg button:hover{background:var(--bg)}.mpg button.now{box-shadow:inset 0 0 0 1.5px var(--brand)}.mpg button.on{background:var(--brand);color:#fff}
/* ===== dica do FinWell ===== */
.tipc{display:flex;gap:14px;align-items:flex-start;background:var(--tint)!important;position:relative;box-shadow:none!important}
[data-theme=dark] .tipc{background:#0E2E2D!important}
.tipi{width:44px;height:44px;border-radius:14px;background:var(--card);color:var(--brand);display:grid;place-items:center;flex:none;box-shadow:0 2px 8px -4px rgba(11,31,58,.2)}
.tipc .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:22px}.tipc .t b{font-size:15px}.tipc .t span{font-size:13.5px;color:var(--ink2);line-height:1.45}.tipc .lnk{align-self:flex-start;margin-top:6px}
.tipx{position:absolute;top:12px;right:14px;border:0;background:none;color:var(--ink3);font-size:16px;width:28px;height:28px;border-radius:8px}.tipx:hover{background:var(--card)}
@media(max-width:960px){.mpk{width:100%}.mpb{flex:1;justify-content:center}.mpop{left:0;right:0;width:auto;top:54px}}
.mpk .mpb span{flex:none!important;min-width:0!important;text-align:left}

/* ===== seletores segmentados (pílula deslizante) ===== */
.segx{position:relative;isolation:isolate;display:inline-flex!important;align-items:center;gap:2px!important;background:var(--bg)!important;padding:4px!important;border-radius:99px!important;border:0!important;width:auto}
[data-theme=dark] .segx{background:var(--soft)!important}
.segx>button{position:relative;z-index:1;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:99px!important;padding:9px 20px!important;margin:0!important;font-weight:600!important;font-size:14px;color:var(--ink3)!important;transition:color .3s ease!important;white-space:nowrap;cursor:pointer}
.segx>button.on{color:var(--ink)!important}
.segx>button:not(.on):hover{color:var(--ink2)!important}
.segx.seg3>button.on.d{color:var(--desp)!important}.segx.seg3>button.on.r{color:var(--rec)!important}
.segk{position:absolute;z-index:0;border-radius:99px;background:var(--card);box-shadow:0 1px 2px rgba(11,31,58,.08),0 4px 12px -4px rgba(11,31,58,.18);transition:left .38s cubic-bezier(.32,1.15,.42,1),width .38s cubic-bezier(.32,1.15,.42,1),top .38s,height .38s;pointer-events:none}
[data-theme=dark] .segk{background:#1A2F4A;box-shadow:0 2px 10px -4px rgba(0,0,0,.5)}
.segx:not(.ready)>button.on{background:var(--card)!important}
.seg3.segx{display:flex!important;width:100%;margin-bottom:14px}.seg3.segx>button{flex:1;padding:9px 6px!important}
.sx-wide{display:flex!important;overflow-x:auto;scrollbar-width:none;max-width:100%}.sx-wide::-webkit-scrollbar{display:none}
.chips.segx .chip{border:0!important}
@media(max-width:960px){.segx>button{padding:8px 14px!important;font-size:13.5px}.sx-wide>button{flex:1}}
.mb3{display:none}@media(max-width:960px){.dk2{display:none}.mb3{display:inline}}
/* ===== contas do mês (checklist) ===== */
.bills{padding:14px 20px}
.bhd{display:flex;align-items:center;gap:14px;margin:4px 0 8px}.bpr{font-size:13px;color:var(--ink2);white-space:nowrap}.bpr b{color:var(--ink)}.bhd .pb{flex:1;margin:0}
.bl{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--soft);transition:opacity .3s}
.bl:first-of-type{border-top:0}
.bl .t{flex:1;min-width:0}.bl .t b{display:block;font-weight:600;overflow-wrap:anywhere}.bl .t span{font-size:12.5px;color:var(--ink3)}
.bl.late .t span{color:var(--red);font-weight:600}
.bl .v{font-weight:700;white-space:nowrap;min-width:90px;text-align:right}.bl .v.pos{color:var(--rec)}
.bl .btn{min-width:78px;justify-content:center}
.bck{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);background:var(--card);display:grid;place-items:center;color:transparent;flex:none;padding:0;cursor:pointer;transition:all .25s cubic-bezier(.3,1.4,.5,1)}
.bck:hover{border-color:var(--brand)}
.bl.ok .bck{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1)}
.bl.ok .bck svg{animation:ckin .35s cubic-bezier(.3,1.5,.5,1)}
@keyframes ckin{from{transform:scale(0) rotate(-20deg)}to{transform:none}}
.bl.ok .t b{text-decoration:line-through;text-decoration-color:var(--ink3);color:var(--ink3)}
.bl.ok .v{color:var(--ink3)}
.bl.ok .rc{filter:grayscale(.6);opacity:.6}
.bst{display:inline-flex;align-items:center;gap:4px;min-width:78px;justify-content:center;font-size:12.5px;font-weight:700;color:var(--brand);background:var(--tint);border-radius:99px;padding:7px 12px}
[data-theme=dark] .bst{color:#2DD4BF}
.bck[disabled]{cursor:default}
@media(max-width:960px){.bills{padding:12px 14px}.bl{gap:10px}.bl .rc{display:none}.bl .v{min-width:0;font-size:14px}.bl>.btn,.bl>.bst{display:none}.bck{width:30px;height:30px}.bhint{display:block!important}}
.bhint{display:none;font-size:12px;color:var(--ink3);margin:0 0 4px}
.rrow .t .paid{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-weight:600}[data-theme=dark] .rrow .t .paid{color:#2DD4BF}

/* ===== transações: cabeçalho minimalista ===== */
.mstrip{padding:14px 14px 10px}
.msh{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:0 4px 10px}.msh span{font-size:12.5px;color:var(--ink3);font-weight:600}.msh b{font-family:var(--fd);font-size:18px;letter-spacing:-.01em}.msh em{font-style:normal;font-size:12px;font-weight:700;margin-left:auto}.msh em.n{color:var(--red)}.msh em.p{color:var(--rec)}
.msbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.msb{border:0;background:none;border-radius:12px;padding:6px 0 4px;display:flex;flex-direction:column;align-items:center;gap:5px;font:inherit;cursor:pointer;transition:background .2s}
.msb.on{background:var(--soft)}
.msbar{height:52px;width:22px;display:flex;align-items:flex-end}.msbar i{display:block;width:100%;border-radius:6px;background:var(--brand);opacity:.35;transition:height .4s cubic-bezier(.2,.8,.3,1),opacity .2s}
.msb.on .msbar i{opacity:1}.msb small{font-size:11.5px;color:var(--ink3);font-weight:500}.msb.on small{color:var(--ink);font-weight:700}
.txf2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 6px}
.fbtn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:var(--card);border-radius:99px;padding:8px 16px;font-weight:600;font-size:14px;color:var(--ink2);transition:all .2s}
.fbtn:hover,.fbtn.on{border-color:var(--brand);color:var(--brand)}.fbtn.has{border-color:var(--brand);color:var(--brand);background:var(--tint)}
.fbn{background:var(--brand);color:#fff;border-radius:99px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}
.fchip{border:0;background:var(--bg);border-radius:99px;padding:8px 14px;font-size:13px;color:var(--ink2);font-weight:600}
.fsum{margin-left:auto;display:flex;gap:4px;background:var(--soft);border-radius:14px;padding:6px;white-space:nowrap}
.fsum>span{display:flex;flex-direction:column;gap:1px;padding:4px 14px;min-width:0}.fsum>span+span{border-left:1px solid var(--line)}
.fsum small{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.01em}.fsum small svg{flex:none}
.fsum b{font-family:var(--fd);font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-.01em}.fsum .pos{color:var(--rec)}.fsum .neg{color:var(--red)}
.fsum.f4{}.fsum .fsb{background:var(--card);border-radius:10px;border-left:0!important;box-shadow:0 1px 3px rgba(11,31,58,.06)}.fsum .fsb+span,.fsum span:has(+.fsb){border-right:0}
.fpan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:var(--bg);border-radius:16px;padding:14px;margin:6px 0 10px;animation:mdIn .22s ease-out both}
.fpan label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink3);font-weight:600;min-width:0}
.fpan select{background:var(--card);border:0;border-radius:10px;padding:10px;font-size:14px;color:var(--ink);width:100%}
.fpa{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px}
@media(max-width:960px){.fpan{grid-template-columns:1fr 1fr}.fsum{width:100%;margin-left:0;order:3;display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:4px}
  .fsum>span{padding:6px 8px;align-items:center;text-align:center}.fsum b{font-size:clamp(12.5px,3.9vw,15px)}.fsum small{font-size:10.5px}
  .txf2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.txf2 .fbtn{justify-content:center;padding:8px 6px;font-size:13px;gap:6px;min-width:0}.txf2 .fchip{grid-column:1/-1;justify-self:start}.txf2 .fsum{grid-column:1/-1}}

/* ===== menus suspensos: animação suave ===== */
@keyframes popIn{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes popOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.97)}}
.pop,.mpop{transform-origin:top right;animation:popIn .24s cubic-bezier(.2,.9,.3,1.05) both!important}
.mpop{transform-origin:top center}
.pop.closing,.mpop.closing{animation:popOut .15s ease-in both!important;pointer-events:none}
.avpop .al{transition:background .15s}
@media(max-width:960px){.avpop,.bellw .pop{transform-origin:top center}}
@media(prefers-reduced-motion:reduce){.pop,.mpop{animation-duration:.01s!important}}

/* ===== auditoria: avisos, opções e ajustes ===== */
#toasts{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 28px)}
.toast{background:#0B1F3A;color:#fff;border-radius:14px;padding:12px 18px;font-size:14px;font-weight:500;box-shadow:0 12px 30px -10px rgba(5,13,24,.5);animation:toastIn .3s cubic-bezier(.2,.9,.3,1.1) both;max-width:100%;text-align:center}
.toast.ok{background:#0B7F7A}.toast.out{animation:toastOut .25s ease-in both}
[data-theme=dark] .toast{background:#E8EEF6;color:#0B1F3A}[data-theme=dark] .toast.ok{background:#2DD4BF;color:#06231F}
@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px)}}
@media(min-width:961px){#toasts{bottom:28px}}
.optb{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:12px 14px;margin-bottom:8px;color:var(--ink);transition:border-color .15s,background .15s}
.optb:hover{border-color:var(--brand);background:var(--tint)}.optb span{font-size:12.5px;color:var(--ink3)}
.optb.dgr:hover{border-color:var(--red);background:#E5484D14}.optb.dgr b{color:var(--red)}
.splitl{display:flex;gap:10px;align-items:flex-start;background:var(--tint);border-radius:12px;padding:10px 12px;font-size:13px;margin:0 0 12px;line-height:1.4}
.splitl input{margin-top:3px;accent-color:var(--brand)}.splitl span{color:var(--ink2)}.splitl b{color:var(--ink)}
[data-theme=dark] .splitl{background:#0E2E2D}
.main>button.mprof{width:calc(100% - var(--gx) * 2)!important}

.qfrom{min-width:0}.qfrom select,.inl{min-width:0;max-width:100%}select{max-width:100%;text-overflow:ellipsis}
/* transição entre telas e entrada dos gráficos */
@keyframes vIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes barUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes lineDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.main.vin>*:not(.hdr){animation:vIn .34s cubic-bezier(.2,.8,.3,1) both}
.main.vin>*:not(.hdr):nth-child(3){animation-delay:.04s}.main.vin>*:not(.hdr):nth-child(4){animation-delay:.08s}.main.vin>*:not(.hdr):nth-child(n+5){animation-delay:.12s}
.main.vin svg rect[data-tip],.main.vin svg g[data-tip]>rect:nth-of-type(n+2){transform-box:fill-box;transform-origin:50% 100%;animation:barUp .5s cubic-bezier(.2,.8,.3,1) .12s both}
.main.vin .pb>i{animation:pbIn .6s cubic-bezier(.2,.8,.3,1) .1s both;transform-origin:0 50%}
@keyframes pbIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.main.vin>*,.main.vin svg rect,.main.vin .pb>i{animation:none!important}}

.hxt{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:2px 0;color:var(--brand);font-weight:600;font-size:13.5px;cursor:pointer}
.hxt svg{transition:transform .3s cubic-bezier(.3,1.2,.5,1)}.hxt.on svg{transform:rotate(180deg)}
[data-theme=dark] .hxt{color:#2DD4BF}
.hxb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.8,.3,1),opacity .25s;opacity:0;margin-top:-6px}
.hxb>div{overflow:hidden;min-height:0}
.hxb.on{grid-template-rows:1fr;opacity:1;margin-top:0}

/* esconder saldo + tema na barra lateral */
.eyeb.on{color:var(--brand)!important;background:var(--tint)!important}
.thsw{display:none!important}
.sidefoot .me{display:flex;align-items:center}
.sidefoot .thb{display:grid!important}
@media(max-width:960px){
  .hdr{grid-template-columns:minmax(0,1fr) auto auto auto auto!important}
  .hdr .eyeb{display:grid;grid-column:2!important;grid-row:1;background:transparent!important}
  .hdr .msrch{grid-column:3!important}.hdr>div.bellw[style]{grid-column:4!important;grid-row:1}.hdr .avw{grid-column:5!important}
  .hdr .eyeb.on{background:var(--tint)!important}
}

/* histórico da saúde */
.hhk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 6px}
.hhk div{background:var(--bg);border-radius:14px;padding:10px 14px;min-width:0}.hhk small{display:block;font-size:12px;color:var(--ink3)}.hhk b{font-size:22px;letter-spacing:-.02em}.hhk em{font-style:normal;font-size:12px;color:var(--ink3);font-weight:600}
.hhk .up,.hmv .up,.htr.up{color:var(--green)}.hhk .down,.hmv .down,.htr.down{color:var(--red)}
[data-theme=dark] .hhk .up,[data-theme=dark] .hmv .up,[data-theme=dark] .htr.up{color:#3DDC97}
.htr{font-weight:700;font-size:12px;margin-left:4px;white-space:nowrap}
.hmv{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 4px}.hmv span{font-size:12.5px;font-weight:700;background:var(--bg);border-radius:99px;padding:4px 10px}.hmv small{font-size:12px;color:var(--ink3)}
.htw{overflow-x:auto;margin-top:12px}
.htab{width:100%;border-collapse:separate;border-spacing:4px;font-size:12.5px}.htab th{font-weight:600;color:var(--ink3);text-transform:capitalize;text-align:center}.htab th:first-child,.htab td:first-child{text-align:left;color:var(--ink2);white-space:nowrap;padding-right:6px}
.htab td{text-align:center}.hc{display:inline-grid;place-items:center;min-width:34px;height:26px;border-radius:8px;color:#fff;font-weight:700}
.htab tr.tot td{border-top:1px solid var(--line);padding-top:6px}
@media(max-width:960px){.hhk{grid-template-columns:1fr 1fr}.hhk b{font-size:18px}}

.tg2{font-size:10px!important;padding:1px 8px!important;cursor:default;vertical-align:2px}
.sbr{flex-wrap:wrap}.sba{display:flex;gap:6px;align-items:center}.sba .btn.on{background:var(--tint);color:var(--brand)}
.sbr.sim{background:linear-gradient(90deg,var(--tint),transparent 70%);border-radius:12px;padding-left:8px;padding-right:8px}
@media(max-width:960px){.sbr .sba{width:100%;padding-left:52px}}

/* simulação extraordinária */
.exc{background:linear-gradient(135deg,#FDF3DC 0%,var(--card) 60%)!important;margin-bottom:16px}
[data-theme=dark] .exc{background:linear-gradient(135deg,#2A2310 0%,var(--card) 60%)!important}
.exc .ctitle svg{color:#D9831F}
.exf{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.exf>input,.exf>select{background:var(--card);border:1.5px solid var(--line);border-radius:12px;height:42px;padding:0 12px;font-size:14px;color:var(--ink);min-width:0}
.exf>#ex_desc{flex:1 1 220px}.exf .plin{border:1.5px solid var(--line);width:150px;height:42px;border-radius:12px}
.exl{display:flex;flex-direction:column;gap:6px;margin:12px 0}.exi{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;flex-wrap:wrap}.exi b{flex:1;min-width:120px}.exi span{color:var(--ink2);font-size:13px}
.exr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.exr div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-width:0}.exr small{display:block;font-size:12px;color:var(--ink3)}.exr b{display:block;font-size:17px;margin:2px 0}.exr em{font-style:normal;font-size:12px;color:var(--ink3)}
@media(max-width:960px){.exr{grid-template-columns:1fr}.exf>*{flex:1 1 45%}.exf .plin{width:auto}}

/* remanejamento */
.omv{margin-bottom:16px;padding:16px 20px}.omsg{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.omsg>svg{color:var(--brand);flex:none}.omsg>div{flex:1;min-width:200px}.omsg b{display:block}.omsg span{font-size:13px;color:var(--ink2)}
.omh{font-size:12px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 4px}.omsg+.omh{border-top:1px solid var(--line);padding-top:12px}
.omr{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}.omr:last-child{border:0}.omr span{flex:1;min-width:0}.omr i{font-style:normal;color:var(--ink3);margin:0 4px}

/* regras */
.rgh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--brand);background:var(--tint);border-radius:8px;padding:6px 10px;margin-top:6px}.rgh .lnk{font-size:12px;margin-left:auto}
.rgs{background:var(--tint);border-radius:14px;padding:12px 14px;margin-bottom:8px}.rgsi{display:flex;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}.rgsi+.rgsi{border-top:1px solid var(--line)}.rgsi>div{flex:1;min-width:160px}.rgsi b{display:block;font-size:14px}.rgsi span{font-size:12px;color:var(--ink2)}
.rgi{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13px;flex-wrap:wrap}.rgk{font-weight:700}.rgi i{font-style:normal;color:var(--ink3)}.rgv{flex:1;color:var(--ink2);min-width:120px}
.rgf{border-top:1px solid var(--line);margin-top:10px}

/* revisão do plano */
.prv{margin-bottom:16px}
@media(max-width:700px){.actions.a3{display:flex;flex-direction:column;gap:8px}.actions.a3 .btn{width:100%;justify-content:center;margin:0}.actions.a3 [data-more]{order:2}.actions.a3 [data-act=close]{order:3;background:none}.actions.a3 .btn:not(.ghost){order:1}}
.onbi.ok .onbb{margin-top:8px}.onbi.ok .onbb .btn{opacity:1}
.welm{max-width:440px;text-align:left;animation:welin .35s cubic-bezier(.2,.8,.3,1)}
@keyframes welin{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.welhd{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:18px}.welhd svg{border-radius:16px;box-shadow:0 10px 24px -12px rgba(11,111,107,.6)}
.welhd h3{font-family:var(--fd);font-size:23px;margin:4px 0 0;line-height:1.2}.welhd h3 span{white-space:nowrap}.welhd h3 em{font-style:normal;color:var(--brand)}.welhd p{margin:0;color:var(--ink3);font-size:14.5px}
.welul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.welul li{display:flex;gap:12px;align-items:center}.welul .rc{background:var(--tint);color:var(--brand);flex:none}
.welul li>div{display:flex;flex-direction:column}.welul b{font-size:14.5px}.welul small{font-size:12.5px;color:var(--ink3)}
.welnote{font-size:13px;color:var(--ink3);margin:10px 0 16px;line-height:1.45}
.welac{display:flex;flex-direction:column;gap:8px}.welac .btn{width:100%;justify-content:center;height:46px}
.dsafe{display:flex;gap:12px;align-items:flex-start;background:var(--soft);border-radius:14px;padding:14px;margin:4px 0 14px}.dsafe>div{display:flex;flex-direction:column;gap:2px}.dsafe b{font-size:14.5px}.dsafe span{font-size:13px;color:var(--ink3);line-height:1.45}
.dexp{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-top:1px solid var(--line)}.dexp b{font-size:14.5px}.dexp span{font-size:13px;color:var(--ink3);line-height:1.45}
.hps{margin-bottom:16px}.hps .hpsr{display:flex!important;width:100%;max-width:560px;min-width:0;height:48px;background:var(--card);border:1px solid var(--line);box-shadow:0 4px 14px -10px rgba(11,31,58,.25);grid-row:auto;order:0}.hps .hpsr input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:15px;color:var(--ink);outline:none}
.hpnone{color:var(--ink3);font-size:14px;margin:0 4px 16px}
.hpst{margin-bottom:22px}.hpsh{display:flex;align-items:center;gap:16px;justify-content:space-between}.hpsh b{font-family:var(--fd);font-size:17px;display:block}.hpsh span{font-size:12.5px;color:var(--ink3)}
.hpl{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column}
.hpl li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.hpl li>div{flex:1;min-width:0;display:flex;flex-direction:column}.hpl li b{font-size:14.5px}.hpl li small{font-size:12.5px;color:var(--ink3)}
.hpn{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:12.5px;font-weight:700;background:var(--soft);color:var(--ink2)}
.hpl li.ok .hpn{background:var(--brand);color:#fff}.hpl li.ok b{color:var(--ink3);text-decoration:line-through;text-decoration-thickness:1px}
.hpg{margin-bottom:20px}.hpgt{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:0 4px 10px}.hpgt svg{color:var(--brand)}
.hpc{padding:4px 20px}.hpa+.hpa{border-top:1px solid var(--line)}
.hpq{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;font:inherit;text-align:left;padding:15px 0;cursor:pointer;color:var(--ink)}
.hpq span{flex:1;font-weight:600;font-size:15px}.hpq svg{color:var(--ink3);flex:none;transition:transform .25s}.hpa.on .hpq svg{transform:rotate(180deg)}
.hpb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.hpb>div{overflow:hidden}.hpa.on .hpb{grid-template-rows:1fr}
.hpb ul{margin:0 0 12px;padding-left:18px;display:flex;flex-direction:column;gap:6px}.hpb li,.hpb p{font-size:14px;line-height:1.55;color:var(--ink2)}.hpb p{margin:0 0 14px}
.hpb .btn{margin-bottom:16px}
.orcafter{margin-top:16px}.orcafter:empty{display:none}
.prvh{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;padding:0}
.prvh>svg:first-child{color:var(--brand);flex:none}.prvh>svg:last-child{color:var(--ink3);flex:none;transition:transform .25s}.prv.on .prvh>svg:last-child{transform:rotate(180deg)}
.prvt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.prvt b{font-family:var(--fd);font-size:16px}.prvt small{font-size:12.5px;color:var(--ink3)}.prvi{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.prvi .t{flex:1;min-width:0}.prvi .t b{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.prvi .t>span{display:block;font-size:13px;color:var(--ink2);margin-top:3px;line-height:1.45}
.prva{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.prvb{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;cursor:pointer;margin-bottom:16px;background:linear-gradient(135deg,var(--tint),var(--card) 70%);color:var(--ink);font:inherit}.prvb>svg{color:var(--brand);flex:none}.prvb div{flex:1}.prvb b{display:block}.prvb div span{font-size:13px;color:var(--ink2)}
@media(max-width:960px){.prvi{flex-wrap:wrap}.prva{flex-direction:row;width:100%;justify-content:flex-end;align-items:center}}

/* cobranças e baixas */
.pbtns{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.cobt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);margin:-2px 0 6px}.cobt.due{color:#B4690E}
.cbmsg{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;padding:12px;font:inherit;font-size:13px;line-height:1.5;background:var(--soft);color:var(--ink);resize:vertical;margin-bottom:12px}
a.btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.bxp{background:var(--soft);border-radius:12px;padding:8px 12px;font-size:13px}.bxp>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.bxp>div+div{border-top:1px dashed var(--line)}.bxp span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bxp b{flex:none}
@media(max-width:960px){.phead{flex-wrap:wrap}.pbtns{width:100%;margin-left:0}.pbtns .btn{flex:1;justify-content:center}}
.mvh{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ctitle{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px}
.wm2,.brand .wm2{color:#7FE8CF!important}.wm2.l{color:var(--brand)!important}

/* ===== FinWell · tipografia de marca: Poppins (geométrica, arredondada) para marca, títulos e números grandes; Inter para texto corrido ===== */
:root{--fd:Poppins,Inter,system-ui,sans-serif}
h1,h2,h3,.htt h1,.sech h2,.ch h3,.ctitle,.brand span,.hbrand b,.cbrand b,.modal h3{font-family:var(--fd);letter-spacing:-.01em}
.htt h1{font-weight:700}
.brand>span,.hbrand b{font-family:var(--fd)!important;font-weight:700!important;letter-spacing:-.02em!important}
.tv,.vtop b,.cbig,.bigv,.hbig{letter-spacing:-.02em!important}
@media(min-width:1101px){.hdr .htt{flex-shrink:0;min-width:0}.hdr .htt h1{font-size:23px}.hdr .srch{min-width:96px;padding:0 14px}}
@media(min-width:1101px) and (max-width:1279px){.hdr .htt h1{font-size:22px}.hdr .srch{display:none!important}.hdr .msrch{display:grid!important;place-items:center;flex:none}.hdr{gap:10px!important}.hdr .mpk.month{min-width:0!important;width:auto!important;flex:0 1 250px}}

/* transferência rápida v2 */
.qpair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.qbox{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;cursor:pointer}
.qbox small{font-size:12px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em}
.qbi{display:flex;align-items:center;gap:10px;background:var(--soft);border:1.5px solid var(--line);border-radius:16px;padding:10px 12px;min-width:0;transition:border-color .15s}
.qbox:hover .qbi,.qbox:focus-within .qbi{border-color:var(--brand)}
.qbi>svg{flex:none;color:var(--ink3)}
.qt .qbi .qic{width:36px!important;height:36px!important;flex:none;box-shadow:none!important;transform:none!important}
.qbt{display:flex;flex-direction:column;min-width:0;flex:1}.qbt b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qbt em{font-style:normal;font-size:12px;color:var(--ink3);white-space:nowrap}
.qbox select{position:absolute;left:0;right:0;bottom:0;height:58px;opacity:0;cursor:pointer;width:100%}
.qswap{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--brand);display:grid;place-items:center;cursor:pointer;margin-bottom:9px;transition:transform .25s}
.qswap:hover{transform:rotate(180deg);border-color:var(--brand)}
.qamt{display:flex;align-items:center;gap:8px;background:var(--soft);border:1.5px solid var(--line);border-radius:16px;padding:6px 6px 6px 16px;margin-top:14px}
.qamt:focus-within{border-color:var(--brand)}
.qcur{font-weight:700;color:var(--ink3)}
.qamt input{flex:1;min-width:0;border:0;background:none;font:inherit;font-family:var(--fd);font-size:22px;font-weight:700;color:var(--ink);outline:none;padding:6px 0}
.qamt .btn{flex:none;height:44px;border-radius:12px}
.qhint{font-size:12.5px;color:var(--ink3);margin:8px 2px 0;line-height:1.45}
.qt{container-type:inline-size}
.qt .qbi .qic{background:var(--vc)!important;color:#fff!important;border-radius:50%;display:grid;place-items:center}
@container (max-width:560px){.qpair{grid-template-columns:1fr;gap:6px}.qswap{justify-self:center;margin:0;transform:rotate(90deg)}.qswap:hover{transform:rotate(270deg)}}

/* tela inicial configurável */
.dsolo>.sec>.card{width:100%}
.dcfg{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dci{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border-top:1px solid var(--line);transition:background .15s,box-shadow .15s}
.dci:first-child{border-top:0}
.dci.drag{background:var(--tint);box-shadow:0 8px 24px rgba(11,31,58,.15);position:relative;z-index:2}
.dh{color:var(--ink3);cursor:grab;touch-action:none;display:grid;place-items:center;padding:4px;margin:-4px}
.dh svg{fill:currentColor;stroke:none}
.dci.drag .dh{cursor:grabbing}
.dcn{flex:1;min-width:0;font-weight:600;font-size:15px}
.dci.off .dcn{color:var(--ink3)}
.dmv{display:flex;gap:4px}.dmv .mini[disabled]{opacity:.3;pointer-events:none}
.tgl{width:46px;height:28px;border-radius:99px;border:0;background:var(--line);position:relative;cursor:pointer;flex:none;transition:background .2s}
.tgl i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s cubic-bezier(.3,.7,.4,1)}
.tgl.on{background:var(--brand)}.tgl.on i{transform:translateX(18px)}
@media(max-width:960px){.dmv{display:none}}

/* calendário */
.calk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.calkp{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 18px;min-width:0}
.calkp small{display:block;font-size:12px;color:var(--ink3)}.calkp b{display:block;font-family:var(--fd);font-size:20px;margin-top:2px}.calkp em{font-style:normal;font-size:12px;color:var(--ink3)}
.calkp.bad b{color:var(--red)}
.calw{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px;align-items:start}
.calh{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.calh h3{font-family:var(--fd);font-size:20px;min-width:150px;text-align:center}
.calfx{margin-left:auto}
.cgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cwk span{font-size:11px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding-bottom:4px}
.cd{min-height:92px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:6px 6px 5px;display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left;cursor:pointer;font:inherit;color:var(--ink);min-width:0;transition:border-color .15s,background .15s}
.cd.e{border:0;background:none;cursor:default}
.cd:hover{border-color:var(--brand)}
.cd.past{background:var(--soft)}
.cd.td .cn{background:var(--brand);color:#fff;border-radius:99px;width:24px;height:24px;display:grid;place-items:center}
.cd.sel{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.cn{font-size:13px;font-weight:700;position:relative;align-self:flex-start;padding:2px 4px}
.clate{position:absolute;top:0;right:-6px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.cchips{display:flex;flex-direction:column;gap:2px;min-width:0}
.cchip{font-size:11px;line-height:1.3;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--c) 14%,transparent);border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.cchip.ok{opacity:.55;text-decoration:line-through}
.cmore{font-size:11px;color:var(--ink3);padding-left:4px}
.cdots{display:none;gap:3px;justify-content:center}.cdots i{width:6px;height:6px;border-radius:50%}
.csum{display:none}
.clg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:12px;color:var(--ink2)}.clg span{display:flex;align-items:center;gap:6px}.clg i{width:9px;height:9px;border-radius:3px}
.cald{position:sticky;top:90px}
.caldh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.caldh small{font-size:12px;color:var(--ink3)}.caldh h3{font-family:var(--fd);font-size:18px}
.cev{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}
.cev .bck{flex:none}
.cevt{flex:1;min-width:0;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.cevt b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cevt span{display:block;font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cevv{text-align:right;font-weight:700;font-size:14px;white-space:nowrap}.cevv small{display:block;font-weight:500;font-size:11px;color:var(--ink3)}
.cev.ok .cevt b{text-decoration:line-through;color:var(--ink3)}
.cev.late .cevv small{color:var(--red);font-weight:700}
@media(max-width:1180px){.cchips{display:none}.cdots{display:flex;margin-top:auto}.cd{min-height:64px;align-items:center}.cn{align-self:center}.csum{display:flex;flex-direction:column;align-items:center;font-size:10px;line-height:1.2}.csum em{font-style:normal;color:var(--ink2)}.csum em.pos{color:var(--rec)}}
@media(max-width:960px){.calw{grid-template-columns:1fr}.calk{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cald{position:static}.cgrid{gap:3px}.cd{min-height:52px;border-radius:10px;padding:4px 2px}.csum{display:none}.calh h3{min-width:0;font-size:17px;flex:1}.calh .calfx.segx{margin-left:0;width:100%;display:flex;box-sizing:border-box}.calh .calfx.segx button{flex:1 1 0;min-width:0;padding-left:2px;padding-right:2px;font-size:12.5px}.calc{padding:14px}}

/* barra lateral recolhível (PC) */
@media(min-width:961px){
  #shell{--sw:264px;grid-template-columns:var(--sw) minmax(0,1fr)!important;position:relative}
  #shell.sidec{--sw:84px}
  #shell.sanim{transition:grid-template-columns .38s cubic-bezier(.32,.72,.24,1)}
  .side{width:var(--sw);transition:width .38s cubic-bezier(.32,.72,.24,1)}
  .side .brand{display:flex;align-items:center;gap:10px;white-space:nowrap;transition:padding .38s cubic-bezier(.32,.72,.24,1)}
  .side .brand .logo{flex:none}
  .side .bwm,.side .nt,.side .men,.side .lbl span,.sidefoot .thb{transition:opacity .2s ease,transform .3s cubic-bezier(.32,.72,.24,1)}
  .side .nav button{white-space:nowrap;transition:padding .38s cubic-bezier(.32,.72,.24,1),color .15s}
  .side .nav button svg{flex:none}
  .side .lbl{white-space:nowrap;position:relative;transition:padding .38s cubic-bezier(.32,.72,.24,1)}
  .side .lbl:after{content:"";position:absolute;left:30px;right:30px;top:50%;height:1px;background:rgba(255,255,255,.12);opacity:0;transition:opacity .25s}
  .sdt{position:fixed;top:30px;left:calc(var(--sw) - 15px);z-index:60;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(11,31,58,.14);transition:left .38s cubic-bezier(.32,.72,.24,1),transform .2s,color .15s,background .15s;opacity:0}
  #shell:hover .sdt,.sdt:focus-visible,#shell.sidec .sdt{opacity:1}
  .side:hover~.sdt,.sdt:hover{opacity:1}
  .sdt:hover{color:var(--brand);transform:scale(1.08)}
  .sdt svg{transition:transform .38s cubic-bezier(.32,.72,.24,1)}
  #shell.sidec .sdt svg{transform:rotate(180deg)}
  /* estado recolhido */
  #shell.sidec .bwm,#shell.sidec .nt,#shell.sidec .men,#shell.sidec .lbl span,#shell.sidec .sidefoot .thb{opacity:0;transform:translateX(-6px);pointer-events:none}
  #shell.sidec .side .brand{padding-left:25px;padding-right:0}
  #shell.sidec .side .nav button{padding-left:20px}
  #shell.sidec .side .lbl:after{opacity:1}
  #shell.sidec .sidefoot{padding-left:14px;padding-right:14px}
  #shell.sidec .sidefoot .me{padding-left:12px;background:transparent}
  #shell.sidec .sidefoot .thb{position:absolute}
  #shell.sidec .side .nav button.on:before{width:4px}
  #shell.sidec .side .nav{overflow-x:hidden}
}
@media(max-width:960px){.sdt{display:none}}

/* importar extrato */
.impmod{max-width:520px}.impmod.wide{max-width:900px;width:min(900px,calc(100vw - 32px))}
.impmod h3{display:flex;align-items:center;gap:8px}.impmod h3 svg{color:var(--brand)}
.impdrop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:2px dashed var(--line);border-radius:18px;padding:34px 16px;cursor:pointer;color:var(--ink2);transition:border-color .2s,background .2s,transform .2s}
.impdrop svg{color:var(--brand);margin-bottom:4px}.impdrop b{color:var(--ink);font-size:15px}.impdrop span{font-size:13px;color:var(--ink3)}
.impdrop:hover,.impdrop.over{border-color:var(--brand);background:var(--tint)}.impdrop.over{transform:scale(1.01)}
.imphelp{margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--ink2);background:var(--soft);border-radius:12px;padding:10px 12px}
.imptop{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.impfn{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);padding-bottom:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.impnote{font-size:12.5px;background:var(--tint);color:var(--ink);border-radius:10px;padding:8px 12px;margin:0 0 10px}
.impsum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;padding:10px 2px;border-bottom:1px solid var(--line)}.impsum .pos{color:var(--rec);font-weight:600}.impw{color:#B4690E;font-weight:600}
.impl{max-height:min(52vh,520px);overflow-y:auto;margin:0 -6px;padding:0 6px}
.impr{display:grid;grid-template-columns:20px 54px minmax(0,1fr) 170px 110px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line);transition:opacity .2s}
.impr.off{opacity:.5}
.impr input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand)}
.impd b{display:block;font-size:13px}.impd small{font-size:11px;color:var(--ink3)}
.impm{min-width:0}.impm input{width:100%;box-sizing:border-box;border:1px solid transparent;background:none;border-radius:8px;padding:4px 6px;margin-left:-6px;font:inherit;font-weight:600;font-size:14px;color:var(--ink)}
.impm input:hover,.impm input:focus{border-color:var(--line);background:var(--soft);outline:none}
.impraw,.imptag{display:block;font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imptag{color:#B4690E}
.impr select{font-size:13px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);min-width:0}
.impv{text-align:right;font-size:14px;white-space:nowrap}.impv.pos{color:var(--rec)}
.impban{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--tint);border-radius:14px;padding:10px 14px;margin-bottom:12px;font-size:13.5px}.impban>svg{color:var(--brand)}.impban span{flex:1;min-width:200px}
@media(max-width:700px){.impr{grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"c m v" ". d s"}.impr>input[type=checkbox]{grid-area:c}.impm{grid-area:m}.impv{grid-area:v}.impd{grid-area:d;display:flex;gap:4px;align-items:baseline}.impr select{grid-area:s}}

/* calculadoras */
.ktabs{margin-bottom:16px;max-width:100%;overflow-x:auto}
.kwrap{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:18px;align-items:start}
.kform .f{margin-bottom:12px}
.kin{display:flex;align-items:center;gap:6px;background:var(--soft);border:1.5px solid var(--line);border-radius:12px;padding:0 10px;transition:border-color .15s}
.kin:focus-within{border-color:var(--brand)}
.kin i{font-style:normal;color:var(--ink3);font-weight:600;font-size:14px}.kin i.r{white-space:nowrap}
.kin input{flex:1;min-width:0;border:0;background:none;padding:11px 0;font:inherit;font-size:16px;font-weight:600;color:var(--ink);outline:none}
.ksel{border:0;background:none;font:inherit;font-size:13px;color:var(--ink2);font-weight:600;padding:8px 0;cursor:pointer;max-width:110px}
.kmini{margin-bottom:14px;display:flex}.kmini button{flex:1}
.kgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.kres{background:var(--soft);border-radius:16px;padding:14px 16px;min-width:0}
.kres small{display:block;font-size:12px;color:var(--ink3)}.kres b{display:block;font-family:var(--fd);font-size:19px;margin-top:2px;overflow-wrap:anywhere}.kres em{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px}
.kres.big{background:var(--tint)}.kres.big b{font-size:23px;color:var(--brand)}
.kres.pos b{color:var(--rec)}.kres.neg b{color:var(--red)}
.klg{display:flex;gap:16px;font-size:12px;color:var(--ink2);margin-bottom:4px}.klg span{display:flex;align-items:center;gap:6px}.klg i{width:14px;height:3px;border-radius:2px}.klg i.dash{background:repeating-linear-gradient(90deg,var(--ink3) 0 4px,transparent 4px 7px)}
.kchart{width:100%;height:auto;display:block}
.khint{font-size:12.5px;color:var(--ink3);line-height:1.5;margin:10px 0 0}
.kcmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.kcmp>div{border:1.5px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink2);transition:border-color .2s,background .2s}
.kcmp>div.on{border-color:var(--brand);background:var(--tint)}.kcmp b{color:var(--ink);font-size:14px}.kcmp p{grid-column:1/-1;margin:0;font-size:13px;color:var(--ink2)}
.ktab{border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:13px}
.ktr{display:grid;grid-template-columns:50px repeat(4,minmax(0,1fr));gap:8px;padding:8px 12px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.ktr span:not(:first-child){text-align:right}
.ktr.kth{border-top:0;background:var(--soft);font-weight:700;font-size:12px;color:var(--ink2)}.ktr.kdots{color:var(--ink3);text-align:center;grid-template-columns:1fr;padding:2px}
.kverd{display:flex;gap:14px;align-items:flex-start;border-radius:16px;padding:16px 18px;margin-bottom:14px}.kverd b{display:block;font-family:var(--fd);font-size:18px}.kverd span{font-size:13.5px;color:var(--ink2)}
.kverd.g{background:#E3F6EC}.kverd.g>svg{color:var(--rec)}.kverd.a{background:#FDF3DC}.kverd.a>svg{color:#B4690E}
[data-theme=dark] .kverd.g{background:#12321F}[data-theme=dark] .kverd.a{background:#3A2E10}
.kbasic{max-width:400px;margin:0 auto}
.kdisp{background:var(--soft);border-radius:18px;padding:16px 18px;text-align:right;margin-bottom:14px;min-height:92px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.kexp{font-size:15px;color:var(--ink3);word-break:break-all;min-height:20px}.kval{font-family:var(--fd);font-size:34px;word-break:break-all;font-weight:700;overflow-wrap:anywhere;line-height:1.15}
.kpad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kk{height:60px;border-radius:16px;border:0;background:var(--soft);color:var(--ink);font:inherit;font-size:21px;font-weight:600;cursor:pointer;transition:transform .12s,background .15s}
.kk:hover{background:var(--line)}.kk:active{transform:scale(.94)}
.kk.op{background:var(--tint);color:var(--brand)}.kk.eq{background:var(--brand);color:#fff}.kk.kcl{color:var(--red)}.kk.bs{grid-column:1/-1;height:44px;font-size:18px;color:var(--ink2)}
@media(max-width:960px){.kwrap{grid-template-columns:1fr}.kgrid{grid-template-columns:1fr 1fr}.kres.big{grid-column:1/-1}.ktr{grid-template-columns:30px repeat(3,minmax(0,1fr));gap:6px;padding:7px 10px;font-size:12px}.kam{display:none}.ksel{max-width:128px;font-size:12px}.ktabs{display:flex;width:100%}.ktabs button{white-space:nowrap}}
main .segx.ktabs{display:flex;width:auto!important;max-width:100%;align-self:stretch;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}main .segx.ktabs button{flex:none;white-space:nowrap}
.kval.res{color:var(--brand)}

/* meu cadastro */
.cadc .ch{flex-wrap:wrap}
.cadpct{margin-left:auto;width:120px;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.cadpct i{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .4s}
.cadph{display:flex;align-items:center;gap:18px;margin:8px 0 14px;flex-wrap:wrap}
.phbox{position:relative;cursor:pointer;border-radius:50%;flex:none}
.phbox .av{transition:filter .2s}.phbox:hover .av{filter:brightness(.9)}
.phcam{position:absolute;right:0;bottom:0;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;border:3px solid var(--card)}
.av.hasph{padding:0;overflow:hidden;background:var(--soft)!important}.av.hasph img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.cadg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;padding:14px 0 6px;border-top:1px solid var(--line)}
.cadg .cadx{border-top:1px solid var(--line)}
.cadxh{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;font:inherit;text-align:left;padding:14px 0;cursor:pointer;color:var(--ink)}
.cadxh .rc{background:var(--tint);color:var(--brand);flex:none}.cadxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cadxt b{font-size:15px}.cadxt small{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cadxh>svg{color:var(--ink3);flex:none;transition:transform .25s}.cadx.on .cadxh>svg{transform:rotate(180deg)}
.cadxb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.cadxb>div{overflow:hidden}.cadx.on .cadxb{grid-template-rows:1fr}
.cadx .cadg{border-top:0;padding-top:0}
.cgt{grid-column:1/-1;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:6px}
.cadg .w2{grid-column:span 2}.cadg .w3{grid-column:1/-1}
.cadg textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit}
.cadobj{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cadobj .chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);border-radius:99px;padding:8px 14px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s}
.cadobj .chip:hover{border-color:var(--brand)}.cadobj .chip.on{background:var(--tint);border-color:var(--brand);color:var(--brand)}
.cadlg{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink3);margin:6px 0 0}
@media(max-width:960px){.cadg{grid-template-columns:1fr 1fr}.cadg .w2{grid-column:1/-1}.cadpct{width:80px}}
@media(max-width:480px){.cadg{grid-template-columns:1fr}.cadg .w2,.cadg .w3{grid-column:auto}}

/* cabeçalho compacto no celular */
.mshort{display:none}
@media(max-width:960px){
  header.hdr{padding:10px 14px 10px!important;row-gap:8px!important}
  header.hdr .hbrand svg{width:30px;height:30px}
  header.hdr .hbrand b,header.hdr .hbrand .bwm,header.hdr .hbrand span{font-size:19px}
  header.hdr>.cir,header.hdr .bellw .cir,header.hdr .avw .avb{width:38px!important;height:38px!important}
  header.hdr .avw .av{width:38px!important;height:38px!important}
  header.hdr>.htt{grid-row:2!important;grid-column:1/-1!important;align-self:center;min-width:0;padding-right:0;margin:0!important}
  header.hdr:has(>.mpk.month)>.htt{padding-right:168px}
  header.hdr>.htt h1{font-size:20px!important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  header.hdr>.htt small{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-top:1px}
  header.hdr>.mpk.month{grid-row:2!important;grid-column:1/-1!important;justify-self:end!important;align-self:center!important;width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;height:38px;padding:0 2px!important;box-shadow:none!important;border:1px solid var(--line)!important;border-radius:99px!important;background:var(--card)!important}
  header.hdr>.mpk.month .mpa{width:28px!important;height:34px!important;font-size:18px!important}
  header.hdr>.mpk.month .mpb{padding:0 4px!important;gap:4px!important;font-size:14px!important;height:34px}
  header.hdr>.mpk.month .mpb>svg:first-child{display:none}
  header.hdr .mfull{display:none}header.hdr .mshort{display:inline}
  header.hdr>.mpk.month .mpop{left:auto!important;right:0!important;width:min(300px,calc(100vw - 28px))!important;box-sizing:border-box}
}
.cev.ok .bck{background:var(--brand);border-color:var(--brand);color:#fff}.cev.ok .bck svg{animation:ckin .35s cubic-bezier(.3,1.5,.5,1)}.cev.ok .cevv{color:var(--ink3)}

/* relatórios */
.relh{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:16px}
.relk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.rk{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;min-width:0}
.rk small{display:block;font-size:12px;color:var(--ink3)}.rk b{display:block;font-family:var(--fd);font-size:19px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rk em{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px}
.rk.pos b{color:var(--rec)}.rk.neg b{color:var(--red)}.rk.up em{color:var(--red)}.rk.dn em{color:var(--rec)}
.relc{margin-bottom:14px;animation:relin .35s ease both}
@keyframes relin{from{opacity:0;transform:translateY(6px)}}
.relcg{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:center}
.rlist{display:flex;flex-direction:column}
.rli{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.rli:first-child{border-top:0}
.rlm{flex:1;min-width:0}.rlt{display:flex;justify-content:space-between;gap:8px;font-size:14px}.rlt b:first-child{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rlm .pb{margin:6px 0 4px}
.rls{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink3)}.rls .up{color:var(--red);font-weight:600}.rls .dn{color:var(--rec);font-weight:600}
.rlg{display:flex;gap:16px;font-size:12px;color:var(--ink2);margin-bottom:6px}.rlg span{display:flex;align-items:center;gap:6px}.rlg i{width:10px;height:10px;border-radius:3px}
.rtab{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:13px}
.rtr{display:grid;grid-template-columns:70px repeat(3,minmax(0,1fr));gap:8px;padding:9px 14px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.rtr span:not(:first-child),.rtr b{text-align:right}
.rtr.rth{border-top:0;background:var(--soft);font-weight:700;font-size:12px;color:var(--ink2)}.rtr.best{background:var(--tint)}
.rtr .pos{color:var(--rec)}.rtr .neg{color:var(--red)}
.reltip{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,var(--tint),var(--card) 80%);border:1px solid var(--line);border-radius:18px;padding:14px 16px;animation:relin .35s .08s ease both}
.reltip .tipi{flex:none;width:38px;height:38px;border-radius:12px;background:var(--card);color:var(--brand);display:grid;place-items:center;box-shadow:0 2px 8px rgba(11,31,58,.08)}
.reltip b{display:block;font-size:14px}.reltip span{display:block;font-size:13.5px;color:var(--ink2);line-height:1.5;margin:2px 0 4px}.reltip .lnk{font-size:13px}
@media(max-width:960px){
  .relh{flex-direction:column;align-items:stretch;gap:8px}
  main .segx.relp,main .segx.reln{display:flex;width:auto!important;max-width:100%;box-sizing:border-box;margin:0!important}
  main .segx.relp button,main .segx.reln button{flex:1 1 0;min-width:0;padding-left:4px;padding-right:4px;font-size:12.5px;white-space:nowrap}
  .relk{grid-template-columns:1fr 1fr;gap:10px}.relk .rk:first-child{grid-column:1/-1}
  .relcg{grid-template-columns:1fr;gap:6px}
  .rtr{grid-template-columns:52px repeat(3,minmax(0,1fr));gap:4px;padding:8px 10px;font-size:12px}
}
.rls2{display:none}@media(max-width:960px){.relp .rlf{display:none}.relp .rls2{display:inline}main .segx.relp button:nth-child(2){flex:1.6 1 0}}
@media(max-width:380px){main .segx.relp button{font-size:12px;padding-left:2px;padding-right:2px}}
