/* Portal Assessoria: CSS do painel aprovado (carteiras.html, visual v3), extraído sem mudanças, + acréscimos do portal no fim. */
:root {
  --black:#000000; --paper:#FFFFFF; --canvas:#F3F4F6; --ink:#15171B; --ink-2:#30343A; --muted:#5B616B; --line:#E2E5E9; --line-2:#CDD1D7;
  --brass:#B8914F; --brass-ink:#7E5F2A; --focus:#7E5F2A;
  --up:#157347; --up-soft:#E6F3EB; --down:#C2362B; --down-soft:#FCEBE9; --warn:#A35F00; --warn-soft:#FDF3E3;
  --wash:#F6F7F8; --track:#E9EBEE; --seg:#EEF0F2; --seg-on:#FFFFFF;
  --cat-1:#A97C2F; --cat-2:#3B5C95; --bar-neutral:#8C929C; --bar-end:#15171B;
  --section-ring:none; --shadow-seg:0 1px 2px rgba(21,23,27,.16); --shadow-pop:0 12px 32px rgba(21,23,27,.16),0 1px 3px rgba(21,23,27,.10);
  --hero-ink:#FFFFFF; --hero-muted:#9CA2AC; --hero-faint:#80868F; --hero-line:#25282E; --hero-line-2:#3A3E46; --hero-raise:#141619; --hero-raise-2:#2A2D34; --hero-up:#4FC389; --hero-down:#F08A80; --hero-edge:#000000;
  --font:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --black:#000000; --paper:#0E0F12; --canvas:#000000; --ink:#ECEEF1; --ink-2:#D2D6DC; --muted:#9CA2AC; --line:#24272D; --line-2:#363A42;
  --brass:#D4B072; --brass-ink:#D4B072; --focus:#D4B072;
  --up:#4FC389; --up-soft:#10281C; --down:#F08A80; --down-soft:#35191A; --warn:#E9B062; --warn-soft:#33260F;
  --wash:#16181C; --track:#24272D; --seg:#191B1F; --seg-on:#2E3138;
  --cat-1:#B88A3A; --cat-2:#5F86CF; --bar-neutral:#5C626C; --bar-end:#ECEEF1;
  --section-ring:0 0 0 1px #1B1D22; --shadow-seg:none; --shadow-pop:0 12px 32px rgba(0,0,0,.7),0 0 0 1px #2E3138;
  --hero-ink:#FFFFFF; --hero-muted:#9CA2AC; --hero-faint:#80868F; --hero-line:#1F2227; --hero-line-2:#3A3E46; --hero-raise:#141619; --hero-raise-2:#2A2D34; --hero-up:#4FC389; --hero-down:#F08A80; --hero-edge:#1F2227;
  color-scheme:dark } }
:root[data-theme="dark"] {
  --black:#000000; --paper:#0E0F12; --canvas:#000000; --ink:#ECEEF1; --ink-2:#D2D6DC; --muted:#9CA2AC; --line:#24272D; --line-2:#363A42;
  --brass:#D4B072; --brass-ink:#D4B072; --focus:#D4B072;
  --up:#4FC389; --up-soft:#10281C; --down:#F08A80; --down-soft:#35191A; --warn:#E9B062; --warn-soft:#33260F;
  --wash:#16181C; --track:#24272D; --seg:#191B1F; --seg-on:#2E3138;
  --cat-1:#B88A3A; --cat-2:#5F86CF; --bar-neutral:#5C626C; --bar-end:#ECEEF1;
  --section-ring:0 0 0 1px #1B1D22; --shadow-seg:none; --shadow-pop:0 12px 32px rgba(0,0,0,.7),0 0 0 1px #2E3138;
  --hero-ink:#FFFFFF; --hero-muted:#9CA2AC; --hero-faint:#80868F; --hero-line:#1F2227; --hero-line-2:#3A3E46; --hero-raise:#141619; --hero-raise-2:#2A2D34; --hero-up:#4FC389; --hero-down:#F08A80; --hero-edge:#1F2227;
  color-scheme:dark }
body { background: var(--canvas); color: var(--ink) }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,dl,dd{margin:0}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
.num,td,th,.tnum{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.bar :focus-visible,.hero :focus-visible{outline-color:var(--brass)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,3vw,40px)}
.up{color:var(--up)} .down{color:var(--down)} .warn{color:var(--warn)} .flat{color:var(--muted)}
.muted{color:var(--muted)}
.empty{color:var(--muted);font-size:14px;padding:8px 0}

/* Barra superior */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--black);color:var(--hero-ink)}
.bar-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"brand tabs tag right";align-items:center;column-gap:24px;min-height:68px}
.brand{grid-area:brand;display:inline-flex;align-items:center;gap:10px;color:var(--hero-ink);text-decoration:none;font-weight:600;font-size:16.5px;letter-spacing:-.01em;min-height:40px;border-radius:8px}
.brand svg{width:30px;height:30px;flex:none}
.brand svg.owl{width:auto;height:34px}
.brand-t{display:flex;flex-direction:column;line-height:1.1}
.brand-s{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.62;margin-top:3px}
.lg .brand svg.owl{height:44px}
.lg .brand-n{font-size:18px}
.tabs{grid-area:tabs;justify-self:start;display:flex;gap:2px;padding:3px;background:var(--hero-raise);border-radius:11px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 15px;border-radius:8px;color:var(--hero-muted);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}
.tabs a:hover{color:var(--hero-ink)}
.tabs a[aria-current="page"]{background:var(--hero-raise-2);color:var(--hero-ink)}
.tabs a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:4px;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:var(--brass)}
.privtag{grid-area:tag;display:none;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--hero-muted);white-space:nowrap;border:1px solid var(--hero-line-2);border-radius:999px;padding:3px 10px 3px 8px}
.privtag svg{width:14px;height:14px}
body.priv .privtag{display:inline-flex}
.bar-r{grid-area:right;display:flex;align-items:center;gap:16px}
.asof{font-size:13px;color:var(--hero-muted);white-space:nowrap}
.asof b{color:var(--hero-ink);font-weight:500}
.privbtn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--hero-line-2);background:var(--black);color:var(--hero-ink);font-size:13.5px;font-weight:500;white-space:nowrap}
.privbtn:hover{border-color:var(--hero-muted)}
.privbtn[aria-pressed="true"]{background:var(--hero-ink);color:var(--black);border-color:var(--hero-ink)}
.privbtn svg{width:16px;height:16px;flex:none}

/* Hero */
.hero{background:var(--black);color:var(--hero-ink);border-bottom:1px solid var(--hero-edge)}
.hero[hidden]{display:none}
.hero-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px 64px;padding-block:36px 44px}
.hero-lbl{font-size:14px;font-weight:500;color:var(--hero-muted)}
.hero-num{font-weight:300;font-size:clamp(44px,6.1vw,76px);line-height:1;letter-spacing:-.035em;margin-top:14px;white-space:nowrap}
.cur{font-size:.34em;font-weight:400;letter-spacing:0;color:var(--hero-muted);vertical-align:.98em;margin-right:.22em}
.hero-stamp{font-size:13px;color:var(--hero-faint);margin-top:14px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border-top:1px solid var(--hero-line)}
.fact{padding:18px 16px 0 0;min-width:0}
.fact+.fact{padding-left:20px;border-left:1px solid var(--hero-line)}
.fact dt{font-size:13px;font-weight:500;color:var(--hero-muted)}
.fact .fv{font-size:23px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin-top:6px;white-space:nowrap}
.fact .fv .c{font-size:.7em;font-weight:400;letter-spacing:0}
.fact .fs{font-size:13px;color:var(--hero-muted);margin-top:4px}
.fv.up{color:var(--hero-up)} .fv.down{color:var(--hero-down)}
.hc{min-width:0;display:flex;flex-direction:column}
.hc-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.hc-t{font-size:14px;font-weight:500}
.hc-s{font-size:13px;color:var(--hero-muted)}
.hc-v{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:14px 0 4px}
.hc-v #cotaV{font-size:32px;font-weight:400;letter-spacing:-.02em;line-height:1.1}
.hc-d{font-size:13.5px;font-weight:500}
.hc-d.up{color:var(--hero-up)} .hc-d.down{color:var(--hero-down)} .hc-d.flat{color:var(--hero-muted)}
.hc .chart text{fill:var(--hero-faint)}

/* Controles segmentados */
.seg{display:inline-flex;background:var(--seg);border-radius:9px;padding:3px;gap:2px;flex:none}
.seg button{border:0;background:none;color:var(--muted);font-size:13px;font-weight:500;padding:0 12px;min-height:30px;border-radius:7px;white-space:nowrap}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--ink);box-shadow:var(--shadow-seg)}
.seg.dark{background:var(--hero-raise)}
.seg.dark button{color:var(--hero-muted)}
.seg.dark button:hover{color:var(--hero-ink)}
.seg.dark button[aria-pressed="true"]{background:var(--hero-raise-2);color:var(--hero-ink);box-shadow:none}

/* Estrutura */
.main{padding-block:28px 72px;display:flex;flex-direction:column;gap:20px}
.view{display:flex;flex-direction:column;gap:20px;min-width:0}
.view[hidden],body.nodata .view{display:none}
.status{font-size:14px;color:var(--muted);padding:20px 0}
.status[hidden]{display:none}
.sec{background:var(--paper);border-radius:12px;padding:24px;box-shadow:var(--section-ring);min-width:0}
.sec[hidden]{display:none}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap;margin-bottom:18px}
.sec-hd > div:first-child{min-width:0}
.sec h2{font-size:19px;font-weight:600;letter-spacing:-.012em;line-height:1.3}
.sec h3{font-size:16px;font-weight:600;letter-spacing:-.01em}
.sub{font-size:13.5px;color:var(--muted);margin-top:3px}
.note{font-size:13px;color:var(--muted);margin-top:14px;max-width:75ch}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.ph{display:flex;flex-direction:column;gap:6px;padding:10px 0 4px}
.ph h1{font-size:clamp(28px,3.4vw,36px);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.ph p{color:var(--muted);font-size:14.5px}
.linkbtn{border:0;background:none;padding:6px 2px;min-height:36px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}
.linkbtn:hover{text-decoration-color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font-size:13.5px;font-weight:500;border-radius:9px;padding:0 16px;min-height:40px}
.btn:hover{background:var(--wash)}
.more{display:flex;justify-content:center;margin-top:14px}

/* Chips */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;line-height:1.2;padding:4px 9px;border-radius:999px;white-space:nowrap;background:var(--wash);color:var(--ink-2)}
.chip svg{width:8px;height:8px;fill:currentColor;flex:none}
.chip.up{background:var(--up-soft);color:var(--up)} .chip.down{background:var(--down-soft);color:var(--down)} .chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.flat{background:var(--wash);color:var(--muted)}
.tag{display:inline-flex;align-items:center;font-size:12px;font-weight:500;line-height:1.2;padding:3px 8px;border-radius:6px;background:var(--wash);color:var(--muted);white-space:nowrap}
.tag.new{background:var(--ink);color:var(--paper)}
.nd{color:var(--muted);cursor:help;text-decoration:underline dotted;text-decoration-color:var(--line-2);text-underline-offset:3px}
.lvl{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap}
.lvl svg{width:12px;height:12px;fill:currentColor;flex:none}
.lvl.critical{color:var(--down)} .lvl.warn{color:var(--warn)} .lvl.ok{color:var(--up)} .lvl.info{color:var(--muted)}

/* Precisa de atenção */
.attn-sum{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.al{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.al li+li{border-top:1px solid var(--line)}
.alb{color:var(--ink);display:grid;grid-template-columns:3px 104px minmax(0,1fr) auto;align-items:center;column-gap:16px;width:100%;border:0;background:none;text-align:left;padding:14px 12px 14px 0;min-height:60px;border-radius:0}
.alb:hover{background:var(--wash)}
.alb .band{align-self:stretch;border-radius:2px;background:var(--line-2)}
.alb.is-critical .band{background:var(--down)} .alb.is-warn .band{background:var(--warn)}
.alb .who{display:block;font-weight:600;font-size:14.5px}
.alb .what{display:block;color:var(--muted);font-size:14px;margin-top:1px}
.alb .go{font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}
.alb:hover .go{color:var(--ink)}
.calm{display:flex;align-items:center;gap:12px;padding:6px 0}
.calm .ico{width:36px;height:36px;border-radius:50%;background:var(--up-soft);color:var(--up);display:grid;place-items:center;flex:none}
.calm .ico svg{width:18px;height:18px}
.calm b{display:block;color:var(--up);font-weight:600;font-size:15px}
.calm span{color:var(--muted);font-size:13.5px}

/* Ponte (waterfall horizontal) */
.bridgebox{container-type:inline-size}
.wf{display:grid;grid-template-columns:minmax(0,12.5rem) minmax(0,1fr) auto;grid-template-rows:repeat(4,minmax(60px,auto)) 26px;column-gap:18px;position:relative}
.wf-l{grid-column:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-block:6px}
.wf-p text{font-family:var(--font);font-size:11.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.wf-p .gl{stroke:var(--line);stroke-width:1}
.wf-n{font-weight:500;font-size:14px;line-height:1.3}
.wf-s{font-size:12.5px;color:var(--muted);line-height:1.35}
.wf-vm{display:none;font-size:13.5px;font-weight:600;margin-top:2px}
.wf-v{grid-column:3;display:flex;align-items:center;justify-content:flex-end;font-weight:600;font-size:14.5px;white-space:nowrap}
.wf-p{grid-column:2;grid-row:1 / 6;min-width:0;position:relative}
.wf-p svg{position:absolute;inset:0;display:block;overflow:visible}
@container (max-width:520px){
  .wf{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:repeat(4,minmax(68px,auto)) 26px;column-gap:14px}
  .wf-v{display:none} .wf-vm{display:block}
}

/* Composição e barras */
.comp{display:flex;flex-direction:column;gap:20px}
.cr-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cr-n{font-weight:500;font-size:14.5px}
.cr-v{white-space:nowrap;font-size:14.5px;font-weight:500}
.cr-v .p{color:var(--muted);font-weight:400;margin-left:10px;display:inline-block;min-width:3.4em;text-align:right}
.cr-s{font-size:12.5px;color:var(--muted);margin-top:1px}
.track{display:block;height:6px;background:var(--track);border-radius:3px;margin-top:9px;overflow:hidden}
.track i{display:block;height:100%;background:var(--cat-1);border-radius:0 3px 3px 0}
.comp-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:14px}
.comp-total b{font-weight:600}

.rank{list-style:none;margin:0;padding:0}
.rank li+li{border-top:1px solid var(--line)}
.rkb{display:block;width:100%;border:0;background:none;text-align:left;padding:11px 0 12px}
.rkb:hover .rk-n{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.rk-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.rk-n{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk-v{white-space:nowrap}
.rk-s{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.rk-v .p{color:var(--muted);display:inline-block;min-width:3.6em;text-align:right;margin-left:8px}
.rkb .track{height:4px;margin-top:8px}
.rank-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;margin-top:2px;font-size:13.5px;color:var(--muted)}

.mv-g{font-size:13px;font-weight:500;color:var(--muted);margin:4px 0 2px}
.mv-g+.rank{margin-bottom:10px}
.mvb{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;padding:10px 0;min-height:48px}
.mvb:hover .rk-n{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.mv-r{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.mv-a{font-size:12.5px;color:var(--muted)}

/* Gráficos */
.chart{position:relative;width:100%;min-width:0;border-radius:8px}
.chart svg{display:block;overflow:visible}
.chart text{font-family:var(--font);font-size:11.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.chart text.st-l{fill:var(--ink-2);font-weight:500}
.chart .gl{stroke:var(--line);stroke-width:1}
.hc .chart .gl{stroke:var(--hero-line)}
.chart .xh line{stroke:var(--muted);stroke-width:1}
.hc .chart .xh line{stroke:var(--hero-faint)}
.chart .lbl{fill:var(--ink);font-size:12.5px;font-weight:600}
.legend{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);margin-bottom:12px}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.legend i.dia{width:9px;height:9px;border-radius:1px;transform:rotate(45deg);background:var(--cat-2)}
details.dt{margin-top:14px;font-size:13.5px}
details.dt summary{cursor:pointer;color:var(--muted);font-weight:500;min-height:32px;display:flex;align-items:center;gap:8px;list-style:none}
details.dt summary::-webkit-details-marker{display:none}
details.dt summary::before{content:"›";display:inline-block;width:10px;transition:transform .15s}
details.dt[open] summary::before{transform:rotate(90deg)}
details.dt summary:hover{color:var(--ink)}
.tip{position:fixed;z-index:60;pointer-events:none;background:var(--paper);color:var(--ink);border-radius:10px;box-shadow:var(--shadow-pop);padding:10px 12px;font-size:13px;min-width:150px;max-width:280px}
.tip[hidden]{display:none}
.tip-t{font-size:12px;color:var(--muted);margin-bottom:6px}
.tip-r{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;padding:2px 0}
.tip-r i{grid-row:1 / 3;align-self:center;width:12px;height:2px;border-radius:1px}
.tip-r b{font-weight:600;font-variant-numeric:tabular-nums}
.tip-r span{grid-column:2;color:var(--muted);font-size:12px}
.tip-r.plain{grid-template-columns:1fr}
.tip-r.plain span{grid-column:1}

/* Tabelas */
.tscroll{overflow-x:auto;min-width:0}
.flt td{vertical-align:top}.flt th{text-align:left}.flt th:last-child,.flt td:last-child{text-align:right;white-space:nowrap}.fl-m{text-align:left}.fl-m b{font-weight:600}.fl-d{display:block;font-size:13px;color:var(--muted);margin-top:2px}.fl-d a{color:var(--ink-2)}.fl-w{text-align:left}

table{width:100%;border-collapse:collapse}
th{font-size:12.5px;font-weight:500;color:var(--muted);text-align:right;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap;vertical-align:middle}
td{padding:12px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
th:first-child,td:first-child{text-align:left;padding-left:8px}
th:last-child,td:last-child{padding-right:8px}
tbody tr:last-child td{border-bottom:0}
tr.click{cursor:pointer}
tr.click:hover td{background:var(--wash)}
tr.click:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.sortb{border:0;background:none;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px;min-height:28px}
.sortb:hover{color:var(--ink)}
.sortb svg{width:8px;height:8px;fill:currentColor;opacity:0}
th[aria-sort] .sortb{color:var(--ink)}
th[aria-sort] .sortb svg{opacity:1}
th[aria-sort="ascending"] .sortb svg{transform:rotate(180deg)}
.cn{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600}
.cn-s{font-size:12.5px;color:var(--muted);font-weight:400;margin-top:2px}
.spark{width:92px;height:28px;display:block;margin-left:auto}
.search{position:relative;max-width:360px;flex:1 1 240px}
.search input{width:100%;min-height:42px;border:1px solid var(--line-2);background:var(--paper);border-radius:10px;padding:0 14px 0 38px;font-size:14.5px}
.search input::placeholder{color:var(--muted)}
.search svg{position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;color:var(--muted)}

/* Liquidez */
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.kpi{padding:2px 20px 2px 0;min-width:0}
.kpi+.kpi{padding-left:20px;border-left:1px solid var(--line)}
.kpi .k{font-size:13px;font-weight:500;color:var(--muted)}
.kpi .v{font-size:24px;font-weight:500;letter-spacing:-.02em;margin-top:6px;line-height:1.2;white-space:nowrap}
.kpi .d{font-size:12.5px;color:var(--muted);margin-top:4px}
.pool{font-weight:600}
.lpx{display:flex;align-items:flex-start;gap:8px;border:0;background:none;padding:0;text-align:left;min-height:40px;width:100%}
.chev{display:inline-block;width:14px;flex:none;color:var(--muted);transition:transform .15s;line-height:1.4}
.lpx[aria-expanded="true"] .chev{transform:rotate(90deg)}
.lp-m{font-size:12.5px;color:var(--muted);font-weight:400}
.rng{position:relative;height:6px;border-radius:3px;width:128px;margin:8px 0 0 auto;background:linear-gradient(90deg,var(--warn-soft) 0 10%,var(--track) 10% 90%,var(--warn-soft) 90%)}
.rng i{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--paper)}
.rng.warn i{background:var(--warn)} .rng.out i{background:var(--down)}
.rng-t{font-size:12px;color:var(--muted);margin-top:4px}
tr.lpd>td{background:var(--wash);text-align:left;padding:14px 16px 16px 30px}
.lpdg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;font-size:13.5px}
.lpdg .k{font-size:12.5px;color:var(--muted);font-weight:500}
.addr{font-size:12.5px;color:var(--muted)}

/* Cliente */
.back{align-self:flex-start;border:0;background:none;padding:6px 0;min-height:40px;font-size:14px;font-weight:500;color:var(--muted)}
.back:hover{color:var(--ink)}
.chead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end;padding:32px}
.ch-since{font-size:14px;color:var(--muted);font-weight:500}
.ch-name{font-size:clamp(30px,4.4vw,46px);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-top:6px;overflow-wrap:anywhere}
.ch-val{font-size:clamp(38px,5.4vw,60px);font-weight:300;letter-spacing:-.035em;line-height:1.05;margin-top:18px;white-space:nowrap}
.ch-val .cur{color:var(--muted)}
.ch-meta{font-size:14px;color:var(--muted);margin-top:12px}
.ch-perf{display:grid;grid-template-columns:repeat(3,auto);gap:10px 28px}
.pc{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pc .pk{font-size:13px;color:var(--muted);font-weight:500}
.pc .chip{font-size:14px;padding:5px 11px}
.pc .pa{font-size:13px;color:var(--muted)}
.aave-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px 40px;align-items:center}
.gauge{display:flex;flex-direction:column;align-items:center;gap:6px}
.gauge svg{width:100%;max-width:300px;height:auto;display:block}
.gauge text{font-family:var(--font)}
.af{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.af dt{font-size:13px;color:var(--muted);font-weight:500}
.af dd{font-size:18px;font-weight:500;margin-top:3px;letter-spacing:-.01em}
.af dd.small{font-size:14px;font-weight:500}
.af .s{display:block;font-size:12.5px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:2px}
.wal-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 24px;flex-wrap:wrap;margin-bottom:6px}
.wal-v{text-align:right}
.wal-v b{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em}
.wal-v span{font-size:13px;color:var(--muted)}
.wal h4{font-size:14px;font-weight:600;margin:22px 0 4px}
.tok{font-weight:600}
.t-netm{display:none;font-size:12.5px;color:var(--muted);font-weight:400}
.hfm{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.hfm b{font-weight:600;min-width:2.6em;text-align:right}
.hfbar{position:relative;width:96px;height:6px;flex:none}
.hfbar::before{content:"";position:absolute;inset:0;border-radius:3px;background:linear-gradient(90deg,var(--down) 0 20%,var(--warn) 20% 33.4%,var(--up) 33.4%);opacity:.5}
.hfbar i{z-index:1;position:absolute;top:50%;width:4px;height:14px;margin:-7px 0 0 -2px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px var(--paper)}
.dq{display:flex;flex-direction:column;gap:12px}
.dq-i{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:14px}
.dq-i .lvl{grid-row:1 / 3;align-self:start;margin-top:2px}
.dq-i p{color:var(--muted)}

/* Rodapé */
.how{border-top:1px solid var(--line-2);padding-top:22px;margin-top:12px;display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:8px 32px;font-size:14px;color:var(--muted);line-height:1.6}
.how h2{font-size:15px;font-weight:600;color:var(--ink)}
.how div{display:flex;flex-direction:column;gap:10px;max-width:72ch}

@media (max-width:1060px){
  .hero-in{grid-template-columns:minmax(0,1fr);gap:36px}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
  .kpis .kpi:nth-child(4){padding-left:0;border-left:0}
  .chead{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .grid2{grid-template-columns:minmax(0,1fr)}
  .aave-grid{grid-template-columns:minmax(0,1fr)}
  .how{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1320px){ body.priv .asof{display:none} }
@media (max-width:960px){
  .bar-in{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand right" "tabs tabs" "tag tag";row-gap:6px;padding-block:8px 10px;min-height:0}
  .tabs{justify-self:stretch}
  .tabs a{flex:1 0 auto;min-height:40px;padding:0 12px}
  .asof{display:none}
  body.priv .privtag{justify-self:start}
  .privbtn{min-height:40px}
}
@media (max-width:760px){
  .hero-in{padding-block:28px 32px;gap:30px}
  .facts{grid-template-columns:minmax(0,1fr);margin-top:24px}
  .fact,.fact+.fact{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:14px 0;border-left:0;border-bottom:1px solid var(--hero-line)}
  .fact dt{grid-column:1;grid-row:1;align-self:center}
  .fact .fv{grid-column:2;grid-row:1;margin:0;font-size:20px;text-align:right}
  .fact .fs{grid-column:1 / -1;grid-row:2}
  .seg button{min-height:36px}
  .sec{padding:20px 16px}
  .sec-hd{margin-bottom:14px}
  .alb{grid-template-columns:3px minmax(0,1fr);row-gap:4px;padding-right:4px}
  .alb .band{grid-row:1 / 3}
  .alb .lvl{grid-column:2}
  .alb .txt{grid-column:2}
  .alb .go{display:none}
  .chead{padding:24px 18px}
  .ch-perf{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--line)}
  .pc{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k chip" "k a";align-items:center;column-gap:12px;row-gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}
  .pc:last-child{border-bottom:0;padding-bottom:0}
  .pc .pk{grid-area:k} .pc .chip{grid-area:chip;justify-self:end;font-size:13px;padding:4px 9px} .pc .pa{grid-area:a;justify-self:end}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi,.kpi+.kpi,.kpis .kpi:nth-child(4){padding:0 12px 0 0;border-left:0}
  .kpis .kpi:last-child{grid-column:1 / -1}
  .kpi .v{font-size:21px}
  .lpdg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .af{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  /* tabelas viram cartões */
  .rt,.rt tbody{display:block}
  .rt thead{display:none}
  .rt tr{display:grid;gap:10px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .rt tbody tr:last-child{border-bottom:0}
  .rt td{display:block;padding:0;border:0;text-align:left;min-width:0;background:none!important}
  .rt td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:3px;white-space:nowrap}
  .rt .spark{margin-left:0}
  .rt .rng{margin-left:0;width:100%;max-width:150px}
  .rt .hfm{justify-content:flex-start}
  .ct tr{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"n n sp" "v v p" "d1 d7 all"}
  .c-n{grid-area:n} .c-v{grid-area:v;font-size:17px;font-weight:600} .c-p{grid-area:p} .c-sp{grid-area:sp} .c-d1{grid-area:d1} .c-d7{grid-area:d7} .c-all{grid-area:all}
  .c-sp .spark{margin-left:auto}
  .c-sp::before{display:none!important}
  .c-sp{align-self:center}
  .tt tr{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"s pl pl" "q avg px" "inv val .";padding:12px 0}
  .tt .t-net{display:none!important}
  .t-netm{display:block!important}
  .t-s{grid-area:s} .t-net{grid-area:net} .t-pl{grid-area:pl;text-align:right!important} .t-q{grid-area:q} .t-avg{grid-area:avg} .t-px{grid-area:px} .t-inv{grid-area:inv} .t-val{grid-area:val}
  .lt tr.lprow{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"pool pool" "val res" "rng fee"}
  .l-pool{grid-area:pool} .l-val{grid-area:val;font-size:16px;font-weight:600} .l-res{grid-area:res} .l-rng{grid-area:rng} .l-fee{grid-area:fee}
  .lt tr.lpd{display:block;padding:0 0 14px}
  .lt tr.lpd>td{display:block;padding:14px;border-radius:10px;background:var(--wash)!important}
  .at tr{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"w w w" "dep debt net" "hf hf hf"}
  .a-w{grid-area:w} .a-dep{grid-area:dep} .a-debt{grid-area:debt} .a-net{grid-area:net} .a-hf{grid-area:hf}
  .wal-v{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* =====================================================================
   Portal: acréscimos ao CSS do painel (login, barra, estados, Cadastro)
   ===================================================================== */
[hidden]{display:none!important}
html{background:var(--canvas)}
body{min-height:100vh}
a{color:inherit}
select,textarea{font:inherit;color:inherit}

/* Barra: ações e saudação */
.outbtn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid var(--hero-line-2);background:transparent;color:var(--hero-ink);font-size:13.5px;font-weight:500;white-space:nowrap}
.outbtn:hover{border-color:var(--hero-muted)}
.outbtn svg{width:15px;height:15px;flex:none}
.tabs .badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:7px;border-radius:999px;background:var(--brass);color:#15171B;font-size:11.5px;font-weight:600;line-height:1}
.hello{grid-area:tabs;justify-self:start;display:flex;align-items:baseline;gap:4px 14px;flex-wrap:wrap;min-width:0}
.hello b{font-size:16px;font-weight:500;color:var(--hero-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hello span{font-size:13px;color:var(--hero-muted);white-space:nowrap}
.hello span b{font-size:13px;color:var(--hero-ink)}
body.is-client .bar-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand tabs right"}
body.is-client .hello{padding-left:20px;border-left:1px solid var(--hero-line-2)}
@media (max-width:1180px){ body.is-admin .asof{display:none} }
@media (max-width:960px){
  body.is-client .bar-in{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand right" "tabs tabs";row-gap:2px}
  body.is-client .hello{border-left:0;padding-left:0}
  .outbtn{min-height:40px}
}
@media (max-width:440px){
  .privbtn{padding:0 11px}
  .privbtn #privLbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .brand{font-size:15.5px}
}

/* Estados: carregando, bloqueio, erro */
.boot[hidden],.gate[hidden]{display:none}
.sk{display:block;border-radius:8px;background:var(--track);position:relative;overflow:hidden}
.sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:shim 1.4s ease-in-out infinite}
.sk-hero{background:var(--black);border-bottom:1px solid var(--hero-edge)}
.sk-hero .wrap{display:flex;flex-direction:column;gap:16px;padding-block:36px 44px}
.sk-hero .sk{background:var(--hero-raise)}
.sk-hero .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
.sk-l{width:180px;height:14px}
.sk-xl{width:min(420px,80%);height:60px;border-radius:10px}
.sk-m{width:min(300px,60%);height:14px}
.sk-body{padding-block:28px 72px;display:flex;flex-direction:column;gap:20px}
.sk-card{background:var(--paper);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--section-ring)}
.sk-card .sk:nth-child(1){width:38%;height:16px}
.sk-card .sk:nth-child(2){width:100%;height:120px;border-radius:10px}
.sk-card .sk:nth-child(3){width:64%;height:12px}
.boot-msg{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2);font-weight:500}
.boot-msg i{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--brass);animation:spin .8s linear infinite;flex:none}
@keyframes shim{to{transform:translateX(100%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)} }
:root[data-theme="dark"] .sk::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}

.gate{min-height:calc(100vh - 68px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(40px,10vh,120px) 16px 64px}
.gate-card{width:100%;max-width:520px;background:var(--paper);border-radius:14px;padding:32px;box-shadow:var(--section-ring);display:flex;flex-direction:column;gap:12px}
.gate-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--wash);color:var(--ink-2);margin-bottom:4px}
.gate-ico svg{width:22px;height:22px}
.gate-ico.warn{background:var(--warn-soft);color:var(--warn)}
.gate-ico.down{background:var(--down-soft);color:var(--down)}
.gate-card h1{font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.gate-card p{color:var(--muted);font-size:14.5px}
.gate-who{font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:4px;overflow-wrap:anywhere}
.gate-who b{color:var(--ink);font-weight:500}
.gate-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.gate-det{font-size:12.5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}

/* Botões e campos */
.btn.pri{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.pri:hover{background:var(--ink-2);border-color:var(--ink-2)}
.btn.sm{min-height:36px;padding:0 13px;font-size:13px}
.btn[disabled]{opacity:.55;cursor:default}
.btn.ok-b:hover{border-color:var(--up);color:var(--up);background:var(--up-soft)}
.btn.no-b:hover{border-color:var(--down);color:var(--down);background:var(--down-soft)}
.inp{width:100%;min-height:42px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);border-radius:10px;padding:0 12px;font-size:14.5px;min-width:0}
.inp::placeholder{color:var(--muted);opacity:.8}
textarea.inp{padding:10px 12px;min-height:72px;resize:vertical}
select.inp{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.inp:hover{border-color:var(--muted)}
.inp:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:10px}
.inp[aria-invalid="true"]{border-color:var(--down)}
input[type="date"].inp,input[type="datetime-local"].inp{padding-right:8px}
::-webkit-calendar-picker-indicator{opacity:.6}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) ::-webkit-calendar-picker-indicator{filter:invert(1)} }
:root[data-theme="dark"] ::-webkit-calendar-picker-indicator{filter:invert(1)}

.sw{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:40px;user-select:none}
.sw input{position:absolute;left:0;top:50%;width:44px;height:26px;margin:-13px 0 0;opacity:0;cursor:pointer;z-index:1}
.sw .sl{position:relative;width:44px;height:26px;flex:none;border-radius:999px;background:var(--track);box-shadow:inset 0 0 0 1px var(--line-2);transition:background .15s}
.sw .sl::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s}
.sw input:checked+.sl{background:var(--up);box-shadow:none}
.sw input:checked+.sl::after{transform:translateX(18px)}
.sw input:focus-visible+.sl{outline:2px solid var(--focus);outline-offset:2px}
.sw .st{font-size:13px;color:var(--muted);white-space:nowrap}
.sw input:checked~.st{color:var(--up);font-weight:500}

.msg{font-size:13.5px;line-height:1.4;min-height:1.4em}
.msg:empty{min-height:0}
.msg.ok{color:var(--up)} .msg.err{color:var(--down)} .msg.warn{color:var(--warn)} .msg.info{color:var(--muted)}

/* Cadastro */
.cad-priv{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld.full{grid-column:1 / -1}
.fld .l{font-size:13px;font-weight:500;color:var(--ink-2)}
.fld .l em{font-style:normal;font-weight:400;color:var(--muted)}
.fld .h{font-size:12.5px;color:var(--muted);line-height:1.4}
.fld .h code,.idp code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--ink);background:var(--wash);padding:1px 6px;border-radius:5px}
.form-ft{grid-column:1 / -1;display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding-top:4px}
.form-ft .msg{flex:1 1 220px}
.segr{display:inline-flex;background:var(--seg);border-radius:10px;padding:3px;gap:2px;align-self:flex-start}
.segr label{position:relative;display:inline-flex}
.segr input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.segr span{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--muted)}
.segr input:checked+span{background:var(--seg-on);color:var(--ink);box-shadow:var(--shadow-seg)}
.segr input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}
.idp{font-size:13px;color:var(--muted);display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center}

.cgrid{display:flex;flex-direction:column}
.cg-h,.cg-r{display:grid;grid-template-columns:minmax(8.5rem,1.05fr) minmax(11rem,1.5fr) 9.6rem 8.6rem 4.6rem 7.2rem 7.6rem;grid-template-areas:"n e s c w p a";column-gap:12px;align-items:center}
.cg-h{font-size:12.5px;color:var(--muted);font-weight:500;padding:0 0 10px;border-bottom:1px solid var(--line-2)}
.cg-h span:nth-child(5){text-align:right}
.cg-r{padding:12px 0;border-bottom:1px solid var(--line)}
.cg-r:last-child{border-bottom:0}
.cg-r .fl{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cg-n{grid-area:n;min-width:0}
.cg-n b{display:block;font-weight:600;overflow-wrap:anywhere}
.cg-n small{display:block;font-size:12.5px;color:var(--muted)}
.cg-e{grid-area:e;min-width:0} .cg-s{grid-area:s;min-width:0} .cg-c{grid-area:c;min-width:0}
.cg-w{grid-area:w;text-align:right;font-variant-numeric:tabular-nums}
.cg-p{grid-area:p}
.cg-a{grid-area:a;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cg-a .msg{font-size:12.5px;text-align:right}
.cg-r.dirty .cg-a .btn{border-color:var(--ink)}
@media (max-width:1100px){
  .cg-h{display:none}
  .cg-r{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"n w" "e e" "s c" "p a";row-gap:12px;padding:16px 0}
  .cg-r .fl{position:static!important;width:auto;height:auto;overflow:visible;clip-path:none;display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-bottom:5px}
  .cg-w .fl{display:none}
  .cg-w{align-self:start;font-size:13px;color:var(--muted)}
  .cg-w::after{content:" carteiras"}
  .cg-w[data-n="1"]::after{content:" carteira"}
  .cg-a{flex-direction:row-reverse;justify-content:flex-start;align-items:center;justify-self:end}
}

.fq{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.fq>li{display:grid;grid-template-columns:6.2rem minmax(0,1fr) auto auto;grid-template-areas:"d m v a";gap:6px 20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.fq>li:last-child{border-bottom:0}
.fq-d{grid-area:d;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.fq-m{grid-area:m;min-width:0}
.fq-m b{font-weight:600}
.fq-m .fl-d{overflow-wrap:anywhere}
.fq-v{grid-area:v;font-weight:600;white-space:nowrap;text-align:right}
.fq-a{grid-area:a;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.fq-a .msg{flex-basis:100%;text-align:right;font-size:12.5px}
.fq.past>li{grid-template-columns:6.2rem minmax(0,1fr) auto auto}
.fq.past .fq-v{font-weight:500}
.fq.past .fq-v.muted{text-decoration:line-through;text-decoration-color:var(--line-2)}
.subh{font-size:14px;font-weight:600;margin:22px 0 6px}
@media (max-width:760px){
  .form{grid-template-columns:minmax(0,1fr)}
  .inp{font-size:16px}
}

/* Cliente: desde o início da assessoria */
.kp4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.kp4 .kpi:last-child .v{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.kp4 .chip{font-size:13px}
@media (max-width:1060px){ .kp4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px} .kp4 .kpi:nth-child(3){padding-left:0;border-left:0} }
@media (max-width:760px){ .kp4 .kpi:last-child{grid-column:auto} .kp4 .kpi,.kp4 .kpi+.kpi{padding:0 12px 0 0;border-left:0} }
.ch-hi{font-size:14px;color:var(--muted);font-weight:500}

/* Rodapé do cliente */
.disc{grid-column:1 / -1;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:8px}

/* Login: capa no estilo The Vowlt (sempre escura, independe do tema) */
.lg-html,.lg-html body{background:#0A0A0B;color-scheme:dark}
.lg{--paper:#121316;--canvas:#0A0A0B;--ink:#F5F5F6;--ink-2:#D9DADD;--muted:#9A9DA4;--line:#1F2125;--line-2:#2E3036;--wash:#1A1B1F;--focus:#FFFFFF;
  --up:#4FC389;--up-soft:#10261B;--down:#F08A80;--down-soft:#2B1513;--warn:#E9B860;--warn-soft:#2A2113;
  min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--canvas);color:var(--ink)}
.lg-side{position:relative;overflow:hidden;color:#fff;padding:36px clamp(24px,5vw,80px) 40px;display:flex;flex-direction:column;justify-content:space-between;gap:48px;
  background:radial-gradient(900px 520px at 8% 100%,rgba(255,255,255,.06),transparent 62%),#0A0A0B;border-right:1px solid #18191D}
.lg-side>*{position:relative;z-index:1}
.lg-side .brand{align-self:flex-start;color:#fff}
.lg-mark{position:absolute!important;z-index:0!important;right:-7%;bottom:-12%;height:82%;width:auto;color:#fff;opacity:.045;pointer-events:none}
.lg-eyebrow{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#9A9DA4;margin-bottom:20px}
.lg-tag{font-size:clamp(36px,4.3vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.02;max-width:12ch;color:#fff}
.lg-sub{margin-top:24px;font-size:clamp(16px,1.35vw,18.5px);line-height:1.5;color:#9A9DA4;max-width:42ch}
.lg-sub b{display:block;color:#fff;font-weight:400}
.lg-pts{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;color:#B5B7BD;font-size:14.5px}
.lg-pts li{display:flex;gap:12px;align-items:baseline}
.lg-pts li::before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;flex:none;transform:translateY(-2px)}
.lg-foot{font-size:12.5px;color:#6F727A}
.lg-main{display:flex;align-items:center;justify-content:center;padding:48px 24px}
.lg-card{width:100%;max-width:410px;display:flex;flex-direction:column;gap:22px;background:#0F1012;border:1px solid #1F2125;border-radius:20px;padding:34px 30px}
.lg-card h1{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:#fff}
.lg-card .lead{color:var(--muted);font-size:15px;margin-top:8px}
.lg-form{display:flex;flex-direction:column;gap:14px}
.lg-form .inp{min-height:50px;font-size:16px;border-radius:12px;background:#141518;border-color:#2E3036}
.lg-form .inp:hover{border-color:#4A4D55}
.lg-form .btn{min-height:50px;font-size:15.5px;border-radius:999px}
.lg .btn.pri{background:#fff;border-color:#fff;color:#0A0A0B;font-weight:600}
.lg .btn.pri:hover{background:#E6E6E8;border-color:#E6E6E8}
.lg .fld .l{color:#D9DADD}
.lg-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.sent{display:flex;flex-direction:column;gap:12px}
.sent .gate-ico{background:var(--up-soft);color:var(--up)}
.sent h2{font-size:23px;font-weight:600;letter-spacing:-.02em;color:#fff}
.sent p{color:var(--muted)}
.sent p b{color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.lg-alert{border-radius:12px;padding:12px 14px;font-size:14px;background:var(--warn-soft);color:var(--warn)}
.lg-alert.err{background:var(--down-soft);color:var(--down)}
@media (max-width:860px){
  .lg{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .lg-side{padding:20px 16px 30px;gap:30px;border-right:0;border-bottom:1px solid #18191D}
  .lg-mark{height:150%;right:-30%;bottom:-40%;opacity:.05}
  .lg-eyebrow{margin-bottom:12px;font-size:11.5px}
  .lg-tag{font-size:34px}
  .lg-sub{margin-top:14px;font-size:15.5px}
  .lg-pts,.lg-foot{display:none}
  .lg-main{align-items:flex-start;padding:22px 16px 48px}
  .lg-card{padding:24px 20px;border-radius:16px}
}

/* Tabela de aportes e saques (painel) em cartões no celular: a coluna Valor não pode sumir */
@media (max-width:760px){
  .flt,.flt tbody{display:block}
  .flt thead{display:none}
  .flt tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"m v" "w r";gap:6px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
  .flt tbody tr:last-child{border-bottom:0}
  .flt td{display:block;padding:0;border:0;text-align:left;min-width:0}
  .flt td.fl-m{grid-column:1 / -1;grid-row:1}
  .flt td.num{grid-column:2;grid-row:1;align-self:start;text-align:right;font-weight:600}
  .flt td.fl-w{grid-area:w;font-size:13px;color:var(--ink-2);align-self:end}
  .flt td[data-l="Registro"]{grid-area:r;font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap;align-self:end}
  .flt td[data-l="Registro"]::before{content:"registro de "}
}
/* Abas do ADM em telas estreitas: as cinco cabem sem rolar */
@media (max-width:440px){
  .tabs a{padding:0 9px;font-size:13.5px}
  .tabs .t-x{display:none}
  .tabs .badge{margin-left:5px}
}
/* Cadastro no celular */
@media (max-width:1100px){ .cg-r .cg-a{align-self:end} }
@media (max-width:760px){
  .fq>li,.fq.past>li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"m m" "d v" "a a";row-gap:6px}
  .fq-d,.fq-v{align-self:center}
  .fq-a{justify-content:flex-end;margin-top:2px}
  .fq-a .msg{text-align:right}
}
.sent .linkbtn{min-height:0;padding:0 1px;vertical-align:baseline}
