/* Identidade visual Tramontana (herdada do protótipo aprovado) */

/* Layout: barra lateral fixa de módulos + área de trabalho. Identidade Tramontana: fundo escuro com mesh + grain, cards glass, números em gradiente. Tema único escuro por decisão de marca. */
:root{
  --bg:#0b0a1c; --surface:rgba(255,255,255,.055); --surface-2:rgba(255,255,255,.035); --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.18);
  --fg:#edebeb; --muted:#9691b9; --faint:#68638a;
  --purple:#8131ff; --purple-2:#b98cff; --navy:#2a2962; --teal:#40dbcc; --orange:#f8991f; --coral:#e8646b;
  --accent:#8131ff; --accent-soft:rgba(129,49,255,.18); --accent-fg:#ffffff;
  --grad-main:linear-gradient(90deg,#8131ff,#f8991f 55%,#b98cff);
  --grad-teal:linear-gradient(90deg,#40dbcc,#b98cff);
  --grad-cta:linear-gradient(90deg,#8131ff,#f8991f);
  --side:rgba(7,3,25,.72); --side-fg:#b9b5d6; --side-active:rgba(129,49,255,.20);
  --ok:#40dbcc; --ok-soft:rgba(64,219,204,.14); --warn:#f8991f; --warn-soft:rgba(248,153,31,.15); --bad:#e8646b; --bad-soft:rgba(232,100,107,.16); --info:#b98cff; --info-soft:rgba(129,49,255,.18);
  --f-display:"Poppins", "Segoe UI", system-ui, sans-serif;
  --f-body:"Poppins", "Segoe UI", system-ui, sans-serif;
  --f-mono:"JetBrains Mono", Consolas, monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background-color:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:13.5px;line-height:1.5;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(60vw 50vh at 8% 0%, rgba(129,49,255,.30), transparent 70%),
    radial-gradient(45vw 40vh at 96% 12%, rgba(64,219,204,.14), transparent 70%),
    radial-gradient(70vw 60vh at 50% 60%, rgba(42,41,98,.45), transparent 70%),
    radial-gradient(50vw 45vh at 4% 95%, rgba(129,49,255,.16), transparent 70%);
  background-attachment:fixed}
.brand img{width:170px;height:auto;display:block}
.kicker{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.app{display:grid;grid-template-columns:232px 1fr;min-height:100%}
.side{background:var(--side);backdrop-filter:blur(18px);border-right:1px solid var(--line);color:var(--side-fg);padding-block:26px;padding-inline:16px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}
.brand{padding-inline:8px;display:flex;flex-direction:column;gap:12px}
.brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;flex-direction:column;gap:4px}
.nav button{all:unset;cursor:pointer;padding:10px 12px;border-radius:999px;font-weight:500;display:flex;align-items:center;gap:10px;color:var(--side-fg)}
.nav button:hover{background:var(--surface)}
.nav button.on{background:var(--side-active);color:#fff;box-shadow:inset 0 0 0 1px rgba(185,140,255,.35)}
.nav button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.nav .ico{width:18px;text-align:center;font-family:var(--f-mono);font-size:12px;opacity:.8}
.side .foot{margin-top:auto;font-size:11px;opacity:.6;padding-inline:8px}
main{min-width:0;padding-block:30px 56px;padding-inline:36px;display:flex;flex-direction:column;gap:24px}
.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
.top h1{font-weight:300;font-size:30px;margin:0;text-wrap:balance;letter-spacing:-.01em;line-height:1.15}
.top h1 b{font-weight:700;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}
.top p{margin:6px 0 0;color:var(--muted)}
.ctx{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ctx label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}
select,input[type=text]{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:7px 14px}
select option{background:#16142e;color:var(--fg)}
.btn{font:inherit;font-weight:600;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:999px;padding:8px 16px;cursor:pointer}
.btn.pri{background:var(--grad-cta);border-color:transparent;color:#0b0a1c}
.btn:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.banner{background:var(--info-soft);color:var(--purple-2);border:1px solid rgba(185,140,255,.3);border-radius:14px;padding:12px 16px;font-size:13px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.kpi{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;backdrop-filter:blur(10px)}
.kpi .l{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}
.kpi .v{font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.kpi:nth-child(2) .v{background-image:var(--grad-teal)}
.kpi .v.neg{background:none;color:var(--coral)}
.kpi .s{font-size:12px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;min-width:0;backdrop-filter:blur(10px)}
.panel>header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.panel>header h2{font-size:15px;margin:0;font-weight:600}
.panel>header .sub{font-size:12px;color:var(--muted)}
.pb{padding:16px 20px}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
td .chip{vertical-align:middle}
th{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--faint);font-weight:500}
td.n,th.n{text-align:center}   /* números centralizados em todas as tabelas (pedido da Danielle) */
td.c,th.c{text-align:center}
tr.click{cursor:pointer}
tr.click:hover td{background:rgba(129,49,255,.10)}
tr.sum td{font-weight:700;border-top:1px solid var(--line-strong);border-bottom:0}
.mono{font-family:var(--f-mono);font-size:12.5px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.chip.ok{background:var(--ok-soft);color:var(--ok)}
.chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.bad{background:var(--bad-soft);color:var(--bad)}
.chip.info{background:var(--info-soft);color:var(--info)}
.chip.mut{background:var(--surface-2);color:var(--muted)}
.list{display:flex;flex-direction:column}
.li{display:flex;gap:12px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid var(--line)}
.li:last-child{border-bottom:0}
.li .t{font-weight:600}
.li .d{font-size:12.5px;color:var(--muted)}
.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;min-width:80px;position:relative}
.bar i{display:block;height:100%;background:var(--grad-main);border-radius:99px}
.bar.over i{background:var(--grad-teal)}
.bar.under i{background:linear-gradient(90deg,#8131ff,#f8991f)}
.bar::after{content:"";position:absolute;left:calc(100%/1.5);top:-2px;bottom:-2px;width:2px;background:var(--fg);opacity:.35}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tabs button{all:unset;cursor:pointer;padding:7px 16px;border-radius:999px;font-weight:500;font-size:13px;color:var(--muted)}
.tabs button.on{background:var(--grad-cta);color:#0b0a1c;font-weight:600}
.tabs button:focus-visible{outline:2px solid var(--accent)}
.drop{border:2px dashed var(--line);border-radius:8px;padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.drop .d{color:var(--muted);font-size:13px}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px}
.kv div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.kv div b{font-weight:600}
.note{font-size:12.5px;color:var(--muted);padding:10px 16px;border-top:1px solid var(--line)}
.hl td{background:var(--warn-soft)}
.back{all:unset;cursor:pointer;color:var(--accent);font-weight:600;font-size:13px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.neg{color:var(--bad)}
.pos{color:var(--ok)}
.side{overflow-y:auto}
.navg,.navitens{display:flex;flex-direction:column;gap:4px}
.nav button.navh{font-size:9.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--faint);padding:14px 12px 4px;border-radius:8px;justify-content:space-between}
.nav button.navh:hover{background:none;color:var(--side-fg)}
.navh .seta{font-size:13px;letter-spacing:0;transition:transform .15s}
.navg.fechada .seta{transform:rotate(-90deg)}
.navg.fechada .navitens{display:none}
.li.click{cursor:pointer}
.li.click:hover{background:rgba(129,49,255,.08)}
.li.sel{background:var(--side-active)}
.hbars{display:flex;flex-direction:column;gap:12px}
.panel>.hbars{padding:18px 20px}
.pgdatas{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:16px 20px}
.pgdata{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface-2)}
.pgdata:hover{border-color:rgba(185,140,255,.45)}
.pgdata.on{background:var(--side-active);border-color:rgba(185,140,255,.6)}
.pgdata:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pgdata .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pgdata .v{font-size:20px;font-weight:600}
.pgdata .s{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
tr.riscado td{opacity:.5}
.fluxo-barras{display:flex;flex-direction:column;gap:3px}
.fluxo-barras i{display:block;height:6px;border-radius:99px;min-width:2px}
.fluxo-barras i.e{background:rgba(64,219,204,.7)}
.fluxo-barras i.s{background:rgba(255,107,129,.7)}
.seta-linha{color:var(--muted);width:20px;text-align:center}
tr.pgitens>td{background:rgba(0,0,0,.18);padding:0 0 0 24px}
tr.pgitens table{font-size:12.5px}
.hb .hv{min-width:36px;text-align:right}
.hb{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center}
.hb .hl{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb .hs{grid-column:2/4;font-size:11.5px;color:var(--muted);margin-top:-8px}
.hb .bar::after{display:none}
.cols{display:flex;gap:10px;align-items:flex-end;height:200px}
.col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.col span{font-size:11px;color:var(--muted)}
.colbars{flex:1;width:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center}
.cb{display:block;width:40%;max-width:22px;border-radius:6px 6px 0 0}
.cb.v,.lg.v{background:linear-gradient(180deg,#b98cff,#8131ff)}
.cb.m,.lg.m{background:rgba(64,219,204,.45)}
.legend{display:flex;gap:16px;margin-top:12px;font-size:12px;color:var(--muted)}
.lg{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.week{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
@media (max-width:860px){.side{overflow:visible}.nav button.navh{display:none}.navg,.navitens,.navg.fechada .navitens{display:contents}}
.formwrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.formcol{display:flex;flex-direction:column;gap:18px;min-width:0}
.fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.wide{grid-column:span 2}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:500;color:var(--muted)}
.field label em{color:var(--orange);font-style:normal}
.field input,.field select,.field textarea{font:inherit;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;width:100%}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.field input[type=date]{color-scheme:dark}
.field.err input,.field.err select{border-color:var(--coral);background:var(--bad-soft)}
.prevbox{position:sticky;top:20px}
.kvs{display:flex;flex-direction:column;gap:10px}
.kvs div span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.ferr{color:var(--coral);font-size:12.5px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#1d1a3a;border:1px solid rgba(64,219,204,.45);color:#edebeb;padding:12px 18px;border-radius:14px;max-width:min(560px,calc(100% - 32px));box-shadow:0 10px 30px rgba(0,0,0,.4);z-index:10}
@media (max-width:1100px){.formwrap{grid-template-columns:1fr}.prevbox{position:static}}
@media (max-width:480px){.field.wide{grid-column:auto}}
.empty{padding:24px 16px;color:var(--muted);text-align:center}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:column;gap:10px;padding-block:12px}
  .nav{flex-direction:row;overflow-x:auto;gap:4px}
  .nav button{white-space:nowrap}
  .side .foot{display:none}
  main{padding-inline:16px}
  .split{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Filtros das listas */
.filtros{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 14px;border-bottom:1px solid var(--line)}
.filtros .field input,.filtros .field select{border-radius:10px}

/* Login e telas sem menu */
.app.so-conteudo{grid-template-columns:1fr}
.app.so-conteudo .side{display:none}
.login{max-width:400px;width:100%;margin:8vh auto 0;padding:28px;display:flex;flex-direction:column;gap:14px}
.login h1{font-weight:300;font-size:26px;margin:4px 0 0}
.login h1 b{font-weight:700;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}
.login .sub{color:var(--muted);font-size:12.5px;margin:0}
.login img{width:180px;height:auto}
.login .field input[type=text],.field input[type=email],.field input[type=password]{font:inherit;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;width:100%}
.link{all:unset;cursor:pointer;color:var(--purple-2);font-size:12px}
.link:hover{text-decoration:underline}
.link:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.side .foot{opacity:.85}
/* Ajuste de faixa */
.ajuste{margin-left:6px;padding:3px 8px;font-size:12px;border-radius:8px}

/* Subtitulos de bloco no painel */
.secao{margin-top:6px}
.secao h2{font-size:16px;font-weight:600;margin:0}
.secao p{margin:2px 0 0;color:var(--muted);font-size:12.5px}

/* ---------- Resultados das assembleias: quadro por grupo (mesmo visual da dash original) ---------- */
.ass-ctl{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:flex-end;margin-bottom:14px}
.ass-campo{display:flex;flex-direction:column;gap:7px}
.ass-campo > label{font-size:10px;letter-spacing:2.6px;color:var(--faint);font-weight:500;text-transform:uppercase}
.ass-seg{display:inline-flex;background:rgba(0,0,0,.3);border:1px solid var(--line-strong);border-radius:999px;padding:3px}
.ass-seg button{appearance:none;border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:12.5px;font-weight:500;padding:7px 18px;border-radius:999px}
.ass-seg button.on{color:#1a1030;background:linear-gradient(94deg,var(--orange),#ffc46b);font-weight:600}
.ass-seg.fino button{padding:6px 13px;font-size:11.5px}
.ass-grupo{appearance:none;font:inherit;font-size:19px;font-weight:700;color:var(--fg);background:rgba(0,0,0,.32) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239691b9' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 13px center;border:1px solid var(--line-strong);border-radius:11px;padding:7px 36px 7px 14px;cursor:pointer}
.ass-quadro{background:linear-gradient(168deg,rgba(28,22,62,.88),rgba(12,11,30,.92));border:1px solid var(--line-strong);border-radius:24px;overflow:hidden;margin-bottom:18px}
.ass-cab{padding:26px 30px 22px;border-bottom:1px solid var(--line)}
.ass-cab h2{margin:0;font-size:25px;font-weight:300;letter-spacing:-.4px;line-height:1.15}
.ass-cab h2 b{font-weight:700;background:linear-gradient(92deg,var(--purple-2),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.ass-per{margin:9px 0 0;font-size:12.5px;color:var(--muted);font-weight:300}
.ass-prog{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:14px 0 0;font-size:12.5px;color:var(--muted);font-weight:300}
.ass-prog b{color:var(--fg);font-weight:600;font-size:14px}
.ass-barra{flex:0 0 150px;height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.ass-barra span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--orange));border-radius:99px}
.ass-quadro .rolo{overflow-x:auto}
.ass-quadro table{width:100%;border-collapse:collapse;min-width:560px}
.ass-quadro th{font-size:9.5px;letter-spacing:2.2px;color:var(--faint);font-weight:500;text-align:left;padding:15px 16px 11px;white-space:nowrap;text-transform:uppercase;background:none}
.ass-quadro th:first-child,.ass-quadro td:first-child{padding-left:30px}
.ass-quadro th:last-child,.ass-quadro td:last-child{padding-right:30px}
.ass-quadro td{padding:13px 16px;border-top:1px solid rgba(255,255,255,.075);vertical-align:top;background:none}
.ass-mes{font-size:13.5px;font-weight:500;white-space:nowrap}
.ass-mes small{display:block;color:var(--faint);font-weight:300;font-size:11px;letter-spacing:.3px}
.ass-sort{font-size:19px;font-weight:700;letter-spacing:-.4px;white-space:nowrap;background:linear-gradient(96deg,var(--orange),#ffc46b);-webkit-background-clip:text;background-clip:text;color:transparent}
.ass-sort.multi{font-size:13px;font-weight:500;line-height:1.5;-webkit-text-fill-color:currentColor;color:var(--fg);background:none}
.ass-c{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.1px;line-height:1.45;white-space:nowrap}
.ass-c i{font-style:normal;font-size:11px;font-weight:300;color:var(--muted);margin-left:4px}
td.ass-livre .ass-c i{color:var(--teal)}
.ass-vazio{color:var(--faint);font-weight:300;font-size:14px}
.ass-cred{padding:18px 30px 20px;border-top:1px solid var(--line)}
.ass-cred h3{margin:0 0 12px;font-size:9.5px;letter-spacing:2.2px;color:var(--faint);font-weight:500}
.ass-cred .lista{display:flex;flex-wrap:wrap;gap:10px}
.ass-cred .it{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:10px 14px;min-width:132px}
.ass-cred .v{font-size:15px;font-weight:700;letter-spacing:-.2px}
.ass-cred .n{font-size:10.5px;color:var(--faint);font-weight:300;margin-top:1px}
.ass-cred .p{font-size:12px;color:var(--muted);margin-top:5px}
.ass-cred .p b{color:#ffc46b;font-weight:600}
.ass-rod{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between;align-items:center;padding:16px 30px 20px;border-top:1px solid var(--line);font-size:11.5px;color:var(--faint);font-weight:300}
.ass-rod b{color:var(--muted);font-weight:500}
@media (max-width:760px){.ass-cab{padding:20px}.ass-quadro th:first-child,.ass-quadro td:first-child{padding-left:20px}.ass-quadro th:last-child,.ass-quadro td:last-child{padding-right:20px}.ass-cred,.ass-rod{padding-left:20px;padding-right:20px}}

/* ---------- Conferência de assinaturas ---------- */
.asg-adms{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:16px 20px 20px}
.asg-adm{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;padding:14px 16px}
.asg-adm h3{margin:0;font-size:14px;font-weight:600}
.asg-adm .num{margin:8px 0 10px;font-size:13px;color:var(--muted)}
.asg-adm .num b{font-size:22px;font-weight:700;color:var(--fg);margin-right:4px}
.asg-barra{display:flex;height:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.08)}
.asg-barra span{display:block;height:100%}
.asg-barra .ok{background:var(--teal)} .asg-barra .pen{background:var(--orange)} .asg-barra .ne{background:var(--coral)}
.asg-leg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:9px;font-size:11.5px;color:var(--muted)}
.asg-leg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:0}
.asg-vend{padding:6px 20px 16px}
.asg-vend .lin{display:grid;grid-template-columns:minmax(150px,1.2fr) 70px 2fr 64px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.asg-vend .lin:first-child{border-top:0}
.asg-vend .lin.cab{font-size:9.5px;letter-spacing:2px;color:var(--faint);text-transform:uppercase;padding-top:4px}
.asg-vend .nome{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asg-vend .ab{font-weight:700;color:var(--orange);text-align:right}
.asg-vend .tot{color:var(--muted);text-align:right;font-size:12px}
@media (max-width:640px){.asg-vend .lin{grid-template-columns:1fr 50px 60px}.asg-vend .lin .asg-barra{display:none}}

/* ---------- Painel de vendas (mesmo visual do antigo "Vendas 2026") ---------- */
.pv{--pv-surface:var(--surface);--pv-bg:rgba(0,0,0,.25);--pv-purple:#9E85E3;--pv-soft:#4A3A6E;--pv-gold:#F2C230;--pv-good:#3DCC74;--pv-warn:#F2B13A;--pv-bad:#F06B6B}
.pv-top{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;justify-content:space-between;margin-bottom:6px}
.pv-top h1{margin:0;font-size:32px;font-weight:400}.pv-top h1 b{font-weight:700;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-top p{margin:4px 0 0;color:var(--muted);font-size:13px}
.pv-tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:4px;margin-left:auto}
.pv-tab{border:0;background:none;padding:8px 16px;border-radius:9px;cursor:pointer;font:inherit;font-weight:500;color:var(--muted)}
.pv-tab[aria-selected="true"]{background:var(--pv-purple);color:#fff}
.pv-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:18px 0 16px}
.pv-chips{display:flex;gap:4px;flex-wrap:wrap}
.pv-chip{border:1px solid var(--line-strong);background:var(--surface);padding:6px 12px;border-radius:999px;cursor:pointer;font:inherit;font-size:13px;color:var(--muted)}
.pv-chip[aria-pressed="true"]{background:#EEE9F8;border-color:#EEE9F8;color:#1D152F;font-weight:600}
.pv-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-left:auto}
.pv-sel{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.pv-hero{background:#2A1A4F;border-radius:20px;padding:26px clamp(18px,3vw,34px) 22px;position:relative;overflow:hidden;color:#fff}
.pv-hero::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;border:40px solid rgba(255,255,255,.04)}
.pv-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pv-hero-val{font-size:clamp(34px,5vw,52px);font-weight:700;letter-spacing:-.02em;line-height:1}
.pv-hero-meta{margin:8px 0 0;color:rgba(255,255,255,.75)}.pv-hero-meta b{color:#fff}
.pv-hero-pct{font-size:clamp(28px,4vw,40px);font-weight:600;color:var(--pv-gold)}.pv-hero-pct.good{color:#6BE39A}
.pv-hbar{position:relative;margin:22px 0 10px;height:22px;background:rgba(255,255,255,.1);border-radius:8px;display:flex}
.pv-hbar .seg{height:100%;display:block}.pv-hbar .seg:first-child{border-radius:8px 0 0 8px}
.pv-hbar .tick{position:absolute;top:-8px;bottom:-8px;width:3px;background:var(--pv-gold);border-radius:2px}
.pv-hbar .tick b{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--pv-gold)}
.pv-hlegend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:rgba(255,255,255,.8)}
.pv-hlegend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.pv-hstatus{margin:12px 0 0;font-weight:500}
.pv-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}
.pv-kpi{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pv-kpi .kl{font-size:12px;color:var(--muted)}.pv-kpi .kv{font-size:22px;font-weight:600;white-space:nowrap}.pv-kpi .ks{font-size:12px;color:var(--muted)}
.pv-grid{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}
.pv-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;padding:18px 20px;min-width:0}
.pv-card h2{margin:0 0 4px;font-size:15px;font-weight:600}.pv-card .sub{margin:0 0 14px;font-size:12.5px;color:var(--muted)}
.pv-card.s12{grid-column:span 12}.pv-card.s8{grid-column:span 8}.pv-card.s6{grid-column:span 6}.pv-card.s5{grid-column:span 5}.pv-card.s4{grid-column:span 4}.pv-card.s3{grid-column:span 3}
.pv-cbox{position:relative;height:260px}
.pv-arow{padding:10px 0;border-top:1px solid var(--line)}.pv-arow:first-of-type{border-top:0}
.pv-ahead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pv-aname{font-weight:600;display:flex;align-items:center;gap:8px}.pv-aname i{width:10px;height:10px;border-radius:3px;display:inline-block}
.pv-aval{font-weight:600;text-align:right}.pv-aval small{display:block;font-size:11.5px;font-weight:400;color:var(--muted)}
.pv-track{height:8px;background:var(--pv-bg);border-radius:6px;margin:8px 0 6px;overflow:hidden}.pv-track span{display:block;height:100%;border-radius:6px}
.pv-ameta{font-size:12px;color:var(--muted)}
.pv .good{color:var(--pv-good)}.pv .warn{color:var(--pv-warn)}.pv .bad{color:var(--pv-bad)}.pv .muted{color:var(--muted);font-weight:400}
.pv-rkhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pv-pills{display:flex;gap:6px;flex-wrap:wrap}.pv-pill{font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;background:var(--pv-bg)}
.pv-seg{display:flex;gap:2px;background:var(--pv-bg);border-radius:9px;padding:3px}
.pv-seg button{border:0;background:none;padding:5px 10px;border-radius:7px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--muted)}
.pv-seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);font-weight:600}
.pv-rank td.pos{color:var(--muted);width:32px}.pv-rank td.pos.top{color:var(--pv-gold);font-weight:700}
.pv-rank .vn{font-weight:600;display:block}.pv-rank .vs{font-size:11.5px;color:var(--muted)}
.pv-rank td.pc{min-width:190px}.pv .pcw{display:flex;align-items:center;gap:10px}
.pv .mini{flex:1;height:7px;background:var(--pv-bg);border-radius:5px;overflow:hidden;min-width:80px}.pv .mini span{display:block;height:100%;border-radius:5px}
.pv .mini .g{background:var(--pv-good)}.pv .mini .w{background:var(--pv-warn)}.pv .mini .b{background:var(--pv-bad)}.pv .mini .n{background:var(--pv-soft)}
.pv-h3{font-size:13px;font-weight:600;margin:16px 0 6px}
.pv-team{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.pv-brow{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:7px 0}
.pv-brow .bl{font-size:13px}.pv-brow .bt{height:10px;background:var(--pv-bg);border-radius:6px;overflow:hidden}.pv-brow .bt span{display:block;height:100%;background:var(--pv-purple);border-radius:6px}
.pv-brow .bv{font-weight:600;font-size:13px;text-align:right}.pv-brow .bv small{display:block;font-weight:400;font-size:11px;color:var(--muted)}
.pv-vhead{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pv-ring{--p:0;--c:var(--pv-purple);width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*360deg),var(--pv-bg) 0);display:grid;place-items:center;flex:none}
.pv-ring.g{--c:var(--pv-good)}.pv-ring.w{--c:var(--pv-warn)}.pv-ring.b{--c:var(--pv-bad)}.pv-ring.n{--c:var(--pv-soft)}
.pv-ring>div{width:94px;height:94px;border-radius:50%;background:var(--surface);display:grid;place-content:center;text-align:center}
.pv-ring b{font-size:21px;font-weight:700;line-height:1.1}.pv-ring span{font-size:11px;color:var(--muted)}
.pv-vtitle h2{font-size:26px;font-weight:700;margin:0}.pv-vtitle p{margin:2px 0;color:var(--muted)}
.pv-vkpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px}
.pv-vk{background:var(--pv-bg);border-radius:12px;padding:10px 14px}.pv-vk span{display:block;font-size:12px;color:var(--muted)}.pv-vk b{font-size:17px;font-weight:600;white-space:nowrap}
.pv-qz{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}
.pv-qz span{font-weight:500}.pv-qz small{display:block;font-size:11.5px;color:var(--muted);font-weight:400}.pv-qz b{font-size:24px;font-weight:700;grid-row:span 2}.pv-qz em{font-style:normal;font-size:12px;color:var(--muted)}
.pv-qbar{height:12px;background:var(--pv-soft);border-radius:8px;overflow:hidden;margin:14px 0}.pv-qbar span{display:block;height:100%;background:var(--pv-purple)}
.pv-cmps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pv-cmp{background:var(--pv-bg);border-radius:12px;padding:12px 16px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}
.pv-cmp span{font-size:12px;color:var(--muted);grid-column:1/-1}.pv-cmp b{font-size:22px;font-weight:600}.pv-cmp i{font-style:normal;font-weight:600;text-align:right}.pv-cmp em{font-style:normal;font-size:12px;color:var(--muted);grid-column:1/-1}
.pv-relwrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.pv-relcard{width:820px;max-width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;padding:28px 32px 22px}
.pv-rel-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.pv-rel-top img{height:40px}
.pv-rel-per{text-align:right;font-size:12px;color:var(--muted)}.pv-rel-per b{display:block;font-size:15px;color:var(--fg);font-weight:600}
.pv-rel-head{display:flex;justify-content:space-between;align-items:flex-end;margin:20px 0 10px;gap:12px}
.pv-rel-head h2{margin:0;font-size:30px;font-weight:700}.pv-rel-head p{margin:0;color:var(--muted)}
.pv-rel-pct{font-size:34px;font-weight:700;text-align:right;line-height:1}.pv-rel-pct small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}
.pv-rel-pct.g{color:var(--pv-good)}.pv-rel-pct.w{color:var(--pv-warn)}.pv-rel-pct.b{color:var(--pv-bad)}.pv-rel-pct.n{color:var(--muted)}
.pv-g{background:var(--pv-good)}.pv-w{background:var(--pv-warn)}.pv-b{background:var(--pv-bad)}
.pv-rel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 6px}
.pv-rel-kpis div{background:var(--pv-bg);border-radius:12px;padding:10px 14px}.pv-rel-kpis span{display:block;font-size:12px;color:var(--muted)}.pv-rel-kpis b{font-size:16px;font-weight:600}
.pv-rel-t td.cl{white-space:normal}.pv-rel-t tfoot td{font-weight:700;border-bottom:0}
.pv-rel-foot{font-size:11px;color:var(--muted);margin:18px 0 0;text-align:right}
/* Modo TV */
.pv-tvbar{display:none}
body.modo-tv .side{display:none}body.modo-tv .app{grid-template-columns:1fr}
.pv-tv .pv-tvbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--muted);font-size:13px}
.pv-tv .pv-top .btn,.pv-tv .pv-tabs,.pv-tv .pv-bar,.pv-tv .note{display:none}
.pv-tv .pv-grid>*:not([data-pv-tv]){display:none}
.pv-tv:not([data-slide="1"]) [data-pv-tv="1"],.pv-tv:not([data-slide="2"]) [data-pv-tv="2"],.pv-tv:not([data-slide="3"]) [data-pv-tv="3"],.pv-tv:not([data-slide="4"]) [data-pv-tv="4"]{display:none}
.pv-tv[data-slide="1"] .pv-hero-val{font-size:72px}.pv-tv[data-slide="1"] .pv-kpi .kv{font-size:30px}
@media (max-width:1100px){.pv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-card.s8,.pv-card.s6,.pv-card.s5,.pv-card.s4{grid-column:span 12}.pv-card.s3{grid-column:span 6}}
@media (max-width:640px){.pv-kpis,.pv-cmps,.pv-rel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-card.s3{grid-column:span 12}.pv-filtros{margin-left:0}}
.mt-in{width:130px;text-align:center}
.mt-tab td{padding:6px 10px}.mt-tab tfoot td{font-weight:700}
.mt-total{font-size:20px;font-weight:700;padding:6px 0}
.mt-resumo{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:14px 18px;font-size:14px}

/* Demonstrativo de comissão */
.demo-acoes{display:flex;align-items:center;gap:10px}
.demo-nota{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:rgba(129,49,255,.12);border:1px solid var(--line-strong);font-size:13px}
.pv-h3 small{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}
.demo-t td{font-size:12.5px}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#111}
  body::before,body::after{display:none!important}
  .side,.demo-acoes,.pv-relwrap>.sub,#toast{display:none!important}
  .app{display:block}main{padding:0!important}
  .pv-relcard.demo{width:100%;border:0;background:#fff;color:#111;padding:0;box-shadow:none}
  .pv-relcard.demo th{color:#555}.pv-relcard.demo td,.pv-relcard.demo th{border-color:#ddd}
  .pv-relcard.demo .pv-rel-kpis div,.demo-nota{background:#f4f2fa;border-color:#ddd}
  .pv-relcard.demo .pv-rel-per b,.pv-relcard.demo h2{color:#111}
  .pv-relcard.demo .pv-rel-pct.g{color:#1a8f5a}
  .pv-relcard.demo .chip{border:1px solid #ccc;color:#333;background:none}
  .pv-relcard.demo .pv-rel-top img{filter:brightness(0)}
}
.pv-relcard.demo{width:1040px}
.demo-t td.cl{min-width:180px}

/* Tabelas cabem no quadro: texto quebra linha; números, datas, códigos, etiquetas e botões ficam numa linha só. */
th,td{white-space:normal}
th{white-space:normal;letter-spacing:.08em;line-height:1.35;vertical-align:bottom;overflow-wrap:break-word;hyphens:auto}
td.n,td.c,td.mono,td .mono,td .chip,td .btn,td input,td select{white-space:nowrap}
td{overflow-wrap:break-word}
td.n,td.c,td.mono{overflow-wrap:normal}
.tw{overflow-x:auto}
th,td{padding:9px 10px}
td select{max-width:145px;padding:6px 10px;font-size:12.5px}
td .btn+.btn{margin-top:4px}
table{font-size:13px}
.arec-v{all:unset;cursor:pointer;font-variant-numeric:tabular-nums;border-bottom:1px dashed var(--line-strong)}
.arec-v:hover{color:var(--purple-2);border-bottom-color:var(--purple-2)}
.arec-v:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Solicitar cadastro: escolha entre link para o cliente e ficha preenchida pelo vendedor */
.lk-modos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.lk-modo{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--raio-sm,12px);border:1px solid var(--line-strong);background:var(--surface)}
.lk-modo b{font-weight:600;font-size:14.5px}
.lk-modo span{font-size:12.5px;color:var(--muted)}
.lk-modo:hover{border-color:var(--purple-2)}
.lk-modo.on{border:1.5px solid var(--accent);background:var(--accent-soft)}
.lk-modo.on b::before{content:"● ";color:var(--accent)}
.lk-modo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lk-box{display:flex;flex-direction:column;gap:12px}
.lk-url{display:flex;gap:8px;min-width:0}
.lk-url input{flex:1;min-width:0;font-family:'JetBrains Mono',monospace;font-size:12.5px}
.lk-acoes{display:flex;gap:8px;flex-wrap:wrap}
.lk-acoes a.btn{text-decoration:none}
/* Blocos escondidos (ex.: desconto, cônjuge) ficam escondidos mesmo com display:flex do .field; opções de rádio numa linha só */
[hidden]{display:none!important}
label:has(> input[type=radio]){white-space:nowrap}
/* Conversão da venda e busca de cliente da carteira */
.cv-lista{display:flex;flex-wrap:wrap;gap:8px}
.cv-op{all:unset;box-sizing:border-box;cursor:pointer;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);font-size:13.5px;font-weight:500;background:var(--surface)}
.cv-op:hover{border-color:var(--purple-2)}
.cv-op.on{background:var(--grad-cta);border-color:transparent;color:#fff}
.cv-op:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cli-res{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:320px;overflow:auto}
.cli-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.cli-item:hover,.cli-item:focus-visible{border-color:var(--accent);background:var(--accent-soft)}
.cli-item span,.cli-card span{font-size:12px;color:var(--muted)}
.cli-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1.5px solid var(--accent);border-radius:12px;background:var(--accent-soft)}
.cli-card div{display:flex;flex-direction:column;gap:2px;min-width:0}
.field label>input[type=checkbox],.field label>input[type=radio]{width:auto;flex:none;margin:0}
/* Registro de Venda: a tabela de cotas fica igual aos outros campos (rótulo pequeno em cima, mesma letra e tamanho) */
table.cotas{border-collapse:separate;border-spacing:0}
table.cotas th{font-size:12px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0;padding:0 12px 6px 0;border-bottom:0;white-space:nowrap;background:none}
table.cotas td{padding:0 12px 10px 0;border-bottom:0;vertical-align:middle}
table.cotas input{font:inherit;font-size:13.5px;height:42px;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;width:100%;min-width:0;box-sizing:border-box}
table.cotas input[name=versao]{width:70px!important}
table.cotas input:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
table.cotas input::placeholder{color:var(--faint)}
:root[data-theme="light"] table.cotas input{background:#fff}
:root[data-theme="light"] table.cotas th{color:var(--muted)}
table.cotas td:last-child,table.cotas th:last-child{width:44px;padding-right:0}
table.cotas th em{color:var(--orange);font-style:normal}
.cli-cpf{display:flex;gap:8px;max-width:420px}
.cli-cpf input{flex:1}
.cli-nome{margin-top:10px}
.cli-nome summary{cursor:pointer;font-size:12.5px;color:var(--muted);margin-bottom:8px}
.cli-nome summary:hover{color:var(--fg)}
/* Metas do mês: campos no mesmo visual dos outros campos do sistema */
input.mt-in{font:inherit;font-size:13.5px;height:42px;box-sizing:border-box;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;width:150px;max-width:100%;text-align:right}
input.mt-in:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
input.mt-in::placeholder{color:var(--faint)}
:root[data-theme="light"] input.mt-in{background:#fff}
.field input.mt-in{width:100%}
.mt-tab td{padding:8px 10px;vertical-align:middle}
.mt-tab td.c,.mt-tab th.c{text-align:center}
.mt-total{font-size:20px;font-weight:700;height:42px;display:flex;align-items:center}
.mt-resumo{border-radius:var(--raio,20px);padding:16px 22px}
/* Avisos de falha no topo das telas */
.banner.aviso-erro{background:var(--bad-soft,rgba(209,74,82,.12));border-color:rgba(209,74,82,.35);color:var(--fg)}
.banner.aviso-atencao{background:var(--warn-soft,rgba(248,153,31,.16));border-color:rgba(248,153,31,.35);color:var(--fg)}

/* Faixa do modo "Ver como este usuário" */
.ver-como{position:sticky;top:0;z-index:50;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 16px;background:#f8991f;color:#1d1a3a;font-size:14px}
.ver-como .btn{background:#1d1a3a;color:#fff;border-color:transparent}
/* Tipos de acesso */
.ta-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ta-aba{font:inherit;font-weight:600;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--fg);border-radius:999px;padding:8px 14px;cursor:pointer}
.ta-aba small{font-weight:500;color:var(--muted);margin-left:4px}
.ta-aba.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.ta-aba.on small{color:inherit;opacity:.8}
.ta-aba.fixa{cursor:default;opacity:.6}
.ta-grupo{margin-bottom:16px}
.ta-grupo h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.ta-linha{display:grid;grid-template-columns:1fr auto 70px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.ta-linha small{display:block;font-size:12px;color:var(--faint);margin-top:2px}
.ta-linha.nunca{opacity:.5}
.ta-linha.nunca .ta-est{grid-column:2/4;text-align:right}
.ta-est{font-size:13px;color:var(--muted)}
.sw{width:44px;height:24px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);position:relative;cursor:pointer;padding:0}
.sw span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .15s}
.sw.on{background:var(--teal);border-color:var(--teal)}
.sw.on span{transform:translateX(20px);background:#fff}
.sw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pv-team-p{border-top:0;padding:2px 0 2px 18px;font-size:12px;color:var(--muted)}
.pv-team-p span:first-child::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--purple-2);margin-right:8px;vertical-align:middle}
.pv-team-p b{font-weight:600}
/* Enquadramento das tabelas: coluna curta do tamanho do conteúdo, título numa linha; colunas de texto ficam com a sobra. */
th.fit,td.fit{width:1%;white-space:nowrap}
td.fit .chip,td.fit .btn{white-space:nowrap}
th{vertical-align:bottom}
/* Valores longos sem espaço (e-mail, endereço) quebram dentro da própria coluna em vez de invadir a do lado */
.kv > div{min-width:0}
.kv div b{overflow-wrap:anywhere}
.kv > .kv-largo{grid-column:span 2}
@media (max-width:520px){.kv > .kv-largo{grid-column:1/-1}}

/* ---- Padronização visual (checagem de 19/10/2026) ---- */
/* Rótulos em caixa alta: nunca abaixo de 11px (antes 9,5–10px) */
.ctx label,.kpi .l,th,.kvs div span,.ass-campo > label,.ass-quadro th,.ass-cred h3,.asg-vend .lin.cab{font-size:11px}
.brand small,.nav button.navh{font-size:10.5px}
/* Posição no ranking do painel (antes usava classes que valiam para outras partes do sistema) */
.pv-rank td.rk-pos{color:var(--muted);width:32px;text-align:center}.pv-rank td.rk-pos.rk-top{color:var(--pv-gold);font-weight:700}
/* Painel: quatro indicadores ocupam a largura toda */
@media (min-width:1101px){.pv-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px) and (min-width:641px){.pv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Painel no tema claro: fundos e cores com contraste certo */
:root[data-theme="light"] .pv{--pv-bg:rgba(42,41,98,.08);--pv-good:#1a8f5a;--pv-warn:#b7791f;--pv-bad:#c53030;--pv-gold:#b7791f}
/* Formulários de várias partes (Solicitar cadastro): mesmo espaço entre os quadros que no resto do sistema */
#fsolicitar{display:flex;flex-direction:column;gap:24px}
/* Botões de escolha (rádio e caixinha) na cor do sistema */
input[type=radio],input[type=checkbox]{accent-color:var(--purple)}
/* Campo de arquivo no padrão dos botões do sistema */
input[type=file]{font:inherit;font-size:13px;color:var(--muted)}
input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:13px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:999px;padding:7px 16px;margin-right:12px;cursor:pointer}
/* Botões dentro de tabelas um pouco mais compactos, para não estourar a última coluna */
td .btn{padding:6px 12px;font-size:12.5px;white-space:nowrap}
/* Celular: o menu do topo rola dentro dele sem alargar a página; nome, Trocar senha e Sair aparecem em linha */
@media (max-width:860px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side,.nav,main{min-width:0}
  .side .foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px}
  .side .foot > div{display:inline}
}

/* Celular: abas do painel numa linha só, rolando para o lado se precisar */
@media (max-width:640px){.pv-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%}.pv-tab{white-space:nowrap;flex:none}}
/* Seletor dentro de tabela cabe o nome inteiro (ex.: "Supervisor de vendas") */
td select{max-width:220px}
/* Botões lado a lado numa célula ficam na mesma altura */
td[style*="display:flex"] .btn+.btn{margin-top:0}
td[style*="display:flex"]{align-items:center}
/* Etiquetas (situação, assinatura) dentro dos quadros de detalhe: do tamanho do texto, sem caixa alta */
.kv div span.chip{display:inline-flex;width:auto;font-size:11.5px;text-transform:none;letter-spacing:normal}
/* Logo do login: versão clara (wordmark roxo) no tema claro */
.so-claro{display:none}
:root[data-theme="light"] .so-claro{display:inline-block}
:root[data-theme="light"] .so-escuro{display:none}

/* Cota bonificada no Registro de Venda: caixinha normal, centralizada */
table.cotas input[type=checkbox]{width:18px;height:18px;min-width:0;padding:0;margin:0 auto;display:block;cursor:pointer}
table.cotas th.c,table.cotas td.c{text-align:center}

/* Painel com valores exatos (19/10): no celular o número dos indicadores fica um pouco menor para caber inteiro */
@media (max-width:520px){.pv-kpi .kv{font-size:19px;letter-spacing:-.2px}}

/* Sino de avisos (19/10) */
.tema-btn.sino-btn{position:relative}
.tema-btn.sino-btn[hidden]{display:none}
.sino-n{position:absolute;top:-7px;left:20px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f8991f;color:#1a1030;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.sino-pop{position:fixed;left:16px;bottom:16px;width:min(380px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 32px));overflow:auto;background:var(--bg);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);z-index:20;padding:8px}
@media (min-width:900px){.sino-pop{left:268px}}
.sino-cab{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 10px;border-bottom:1px solid var(--line)}
.sino-item{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;width:100%;padding:10px 12px;border-radius:12px;margin-top:4px}
.sino-item:hover,.sino-item:focus-visible{background:var(--surface)}
.sino-item.nova{background:var(--accent-soft)}
.sino-item b{font-size:14px}.sino-item span{font-size:13px;color:var(--fg)}.sino-item small{font-size:11px;color:var(--muted)}
.sino-vazio{color:var(--muted);padding:16px 12px;margin:0}
.sino-perm{width:100%;margin-top:8px;white-space:normal;text-align:center}
.bol{display:inline-flex;gap:4px;align-items:center}
.bol-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bol-form input[type=file]{max-width:100%}

/* Números de cota (19/10) */
.cota-alvo{font-size:56px;font-weight:700;line-height:1;color:#40dbcc;letter-spacing:-.02em;margin-bottom:14px}
.cota-lista{display:flex;flex-wrap:wrap;gap:6px}
.cota-lista span{font-family:var(--f-mono);font-size:13px;padding:4px 9px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}
.cota-res{min-height:28px;margin:4px 0 14px}
.cota-h3{font-size:13px;font-weight:600;margin:6px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.cota-bloco{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.cota-bloco span{color:var(--muted);text-align:right}
.tab-leg{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);margin-bottom:12px}
.tab-leg span{display:inline-flex;align-items:center;gap:6px}
.tab-leg i,.tab-cel i{display:inline-block;border-radius:2px}
.tab-leg i{width:12px;height:12px}
.tab-wrap{overflow-x:auto}
.tabuleiro{min-width:760px;display:grid;gap:3px}
.tab-linha{display:grid;grid-template-columns:86px 1fr 48px;align-items:center;gap:8px}
.tab-rot{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.tab-pc{font-family:var(--f-mono);font-size:11px;color:var(--muted);text-align:right}
.tab-cel{display:grid;grid-template-columns:repeat(100,1fr);gap:1px}
.tab-cel i{aspect-ratio:1;width:100%}
i.livre{background:#2fbf8f}
i.temos1{background:#f2df7a}
i.temos2{background:rgba(248,153,31,.75)}
i.temos3{background:rgba(231,76,90,.85)}

/* Painel: ranking por equipe (19/10) */
.pv-eq-cab{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.pv-eq-pos{font-size:28px;font-weight:700;color:var(--muted);min-width:44px}
.pv-eq-pos.rk-top{color:#f2c230}
.pv-eq-nome{flex:1;min-width:180px}.pv-eq-nome h2{margin:0}
.pv-eq-val{text-align:right;display:grid;gap:2px}
.pv-eq-val > b{font-size:24px}
.pv-eq-val span{font-size:13px;color:var(--muted)}
.pv-eq .pv-track{margin-bottom:12px}
.pv-eq-bar.good{background:#2fbf8f}.pv-eq-bar.warn{background:#f2c230}.pv-eq-bar.bad{background:#e74c5a}
@media (max-width:600px){.pv-eq-val{text-align:left}}

.pv-kpi .ks b{color:var(--text,inherit)}.pv-kpi .ks .pv-ok{color:var(--ok)}
/* Tabela alinhada com o título e as abas do quadro (20px nas pontas) e sem linha sobre a borda arredondada de baixo (22/10/2026). */
.tw th:first-child,.tw td:first-child{padding-left:20px}.tw th:last-child,.tw td:last-child{padding-right:20px}
.panel>.tw:last-child tbody tr:last-child td{border-bottom:0}
/* Solicitações: colunas do tamanho do conteúdo; a Situação fica com a sobra (sem buracos entre as colunas). */
.tab-sol th,.tab-sol td{white-space:nowrap}.tab-sol .sit{width:100%;white-space:normal}
/* Avisos não lidos: botão pulsando; faixa para ligar os avisos do computador (22/10/2026). */
.tema-btn.sino-btn.tem-aviso{border-color:#f8991f;color:#f8991f;animation:sinoPulsa 1.6s ease-in-out infinite}
@keyframes sinoPulsa{0%,100%{box-shadow:0 0 0 0 rgba(248,153,31,.55)}50%{box-shadow:0 0 0 7px rgba(248,153,31,0)}}
@media (prefers-reduced-motion:reduce){.tema-btn.sino-btn.tem-aviso{animation:none}}
.faixa-avisos{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:calc(100vw - 32px);padding:10px 14px;background:var(--bg);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:14px}
@media (max-width:760px){.faixa-avisos{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
/* Quadro de avisos com destaque (22/10/2026): borda e faixa roxa, sombra forte e aviso novo marcado em laranja, nos dois temas. */
.sino-pop{border:2px solid #8131ff;box-shadow:0 0 0 4px rgba(129,49,255,.18),0 24px 60px rgba(7,3,25,.55);padding:0;z-index:40}
.sino-cab{background:linear-gradient(94deg,#8131ff,#b14bd6 60%,#f8991f);color:#fff;padding:12px 14px;border-bottom:0;border-radius:13px 13px 0 0;position:sticky;top:0;z-index:1}
.sino-cab b{color:#fff;font-size:15px}.sino-cab .link{color:#fff;text-decoration:underline}
.sino-item{margin:6px 8px 0;width:calc(100% - 16px);border:1px solid var(--line)}
.sino-item.nova{background:rgba(248,153,31,.13);border-color:rgba(248,153,31,.55);border-left:4px solid #f8991f}
.sino-item.nova b::before{content:"● ";color:#f8991f}
.sino-pop>.link,.sino-pop>.btn,.sino-pop>.sino-vazio{margin:10px 8px}
.sino-pop>*:last-child{margin-bottom:10px}
.toast{border:2px solid #f8991f;box-shadow:0 14px 40px rgba(7,3,25,.5);font-weight:500}
.sino-pop{overflow-x:hidden;overflow-y:auto}.sino-item{max-width:calc(100% - 16px)}.sino-item span{overflow-wrap:anywhere}

/* Menu recolhível (27/10/2026): só os ícones, para sobrar espaço nas tabelas largas. */
.menu-min-btn{all:unset;cursor:pointer;align-self:flex-end;font-size:12px;padding:4px 10px;border-radius:999px;color:var(--side-fg);border:1px solid var(--line);margin-top:-14px}
.menu-min-btn:hover{background:var(--surface)}
.menu-min-btn:focus-visible{outline:2px solid var(--accent)}
.app.menu-min{grid-template-columns:68px 1fr}
.app.menu-min .side{padding-inline:8px;align-items:center}
.app.menu-min .brand,.app.menu-min .navh,.app.menu-min .nav .rot,.app.menu-min .side .foot,.app.menu-min .tema-txt{display:none}
.app.menu-min .navg.fechada .navitens{display:flex}
.app.menu-min .nav button{padding:10px;justify-content:center}
.app.menu-min .menu-min-btn{align-self:center;margin-top:0}
@media (max-width:860px){.menu-min-btn{display:none}.app.menu-min{grid-template-columns:1fr}}
/* Aprovação: a coluna dos botões fica sempre visível à direita, sem rolar para o lado. */
.tw.acoes-fixas td:last-child,.tw.acoes-fixas th:last-child{position:sticky;right:0;background:#16142c;box-shadow:-8px 0 12px -10px rgba(0,0,0,.35);z-index:1}
:root[data-theme="light"] .tw.acoes-fixas td:last-child,:root[data-theme="light"] .tw.acoes-fixas th:last-child{background:#fff}
/* Sino no topo do menu (27/10/2026): a lista de avisos abre perto dele, em cima. */
.sino-pop{top:16px;bottom:auto}
body:has(.app.menu-min) .sino-pop{left:84px}
/* Sino e botão de recolher o menu na mesma linha, alinhados. */
.side-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-inline:4px}
.side-topo .menu-min-btn{align-self:center;margin:0;padding:8px 12px;font-size:13px}
.side-topo:not(:has(.sino-btn:not([hidden]))){justify-content:flex-end}
.app.menu-min .side-topo{flex-direction:column;gap:12px;padding-inline:0}
/* Os três botões do topo (avisos, tema e recolher) lado a lado; o do tema só com o ícone. */
.side-topo{justify-content:flex-start}
.side-topo .sino-btn{margin-right:auto}
.side-topo #tema-btn .tema-txt{display:none}
.side-topo #tema-btn{padding:8px 11px}
/* Topo do menu mais compacto: os três cabem na largura do menu. */
.side-topo{gap:6px;padding-inline:0}
.side-topo .tema-btn,.side-topo .menu-min-btn{min-height:0;height:32px;box-sizing:border-box}
.side-topo .sino-btn{padding:0 12px;font-size:13px;gap:6px}
.side-topo #tema-btn,.side-topo .menu-min-btn{width:32px;padding:0;justify-content:center;display:inline-flex;align-items:center}
.side-topo .tema-ico{margin:0}
/* Ícones redondos (não encolhem) e o Avisos um pouco menor. */
.side-topo #tema-btn,.side-topo .menu-min-btn{flex:0 0 32px;width:32px;height:32px;border-radius:50%}
.side-topo .sino-btn{flex:0 1 auto;min-width:0;height:32px;padding:0 10px;font-size:12px}
/* Menu recolhido: o sino também vira um círculo, com o ícone no meio. */
.app.menu-min .side-topo .sino-btn{flex:0 0 32px;width:32px;height:32px;padding:0;gap:0;justify-content:center;border-radius:50%;margin-right:0}
.app.menu-min .side-topo .sino-btn .tema-ico{margin:0}
/* Menu recolhido: sem a barra de rolagem aparente (ela empurrava os ícones para o lado) e tudo no centro da coluna. */
.app.menu-min .side{scrollbar-width:none}
.app.menu-min .side::-webkit-scrollbar{display:none}
.app.menu-min .side-topo{width:100%;align-items:center}
.app.menu-min .nav{width:100%;align-items:center}
/* Menu recolhido: cada ícone num quadrado do mesmo tamanho, no centro da coluna. */
.app.menu-min .nav button{width:40px;height:40px;padding:0;box-sizing:border-box;justify-content:center;gap:0}
.app.menu-min .nav .ico{width:auto;margin:0}
.app.menu-min .navitens{display:flex;flex-direction:column;align-items:center;gap:4px}
/* Sem as margens herdadas dos botões antigos (deixavam o sino 4 px fora do centro). */
.side-topo > *{margin:0}
.side-topo .sino-btn{margin-right:auto}
.app.menu-min .side-topo .sino-btn{margin:0}
/* O ícone do sino ficava 3 px acima do centro (alinhamento de texto do SVG). */
.sino-btn .tema-ico{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.sino-btn .tema-ico svg{display:block}

/* Metas do pós-vendas (dash no padrão do painel; modo TV com 5 telas) */
.mp .pv-top h1{font-size:34px}
.mp-kicker{margin:0 0 4px!important;font-size:11px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.mp-acoes{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.mp-hero .pv-hero-row{align-items:flex-end}
.mp-pts{font-size:clamp(64px,9vw,112px);font-weight:700;line-height:.95;letter-spacing:-.04em;background:linear-gradient(100deg,#B98CF5 0%,#F2A65A 55%,#9E6CF0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mp-dias{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.mp-dias b{font-size:44px;line-height:1}.mp-dias span{font-size:13px;color:rgba(255,255,255,.7)}
.mp-bar{position:relative;height:12px;background:rgba(255,255,255,.1);border-radius:8px;margin:26px 0 6px}
.mp-bar .fill{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,#7C4DDB,#B98CF5)}
.mp-bar .hatch{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 5px,transparent 5px 10px)}
.mp-bar .tk{position:absolute;top:-6px;bottom:-6px;width:2px;background:#fff;border-radius:2px;transform:translateX(-1px)}.mp-bar .tk.gold{background:var(--pv-gold,#F2C230)}
.mp-barleg{position:relative;height:18px;font-size:12px;color:rgba(255,255,255,.7)}.mp-barleg span{position:absolute;transform:translateX(-50%);white-space:nowrap}.mp-barleg span.fim{transform:translateX(-100%)}.mp-barleg b{color:#fff}
.mp .mp-roxo{color:#B98CF5}.mp .mp-lilas{color:#C9A7F7}.mp .mp-verde{color:#3FC8B8}
.mp-aviso{margin:-4px 0 14px;font-size:13px;color:var(--pv-warn)}
.mp .pv-card.s7{grid-column:span 7}.mp .pv-card.s5{grid-column:span 5}
.mp .pv-card h2{font-weight:400;font-size:17px}.mp .pv-card h2 b{font-weight:700}
.mp-chead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mp-chead h2{margin:0}
.mp-leg{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.mp-leg i{width:9px;height:9px;border-radius:3px;background:var(--fg);display:inline-block}.mp-leg i.gold{background:var(--pv-gold);margin-left:8px}.mp-leg i.ok{background:var(--pv-good)}.mp-leg i.bad{background:var(--pv-bad);margin-left:8px}
.mp-drow{display:grid;grid-template-columns:150px 1fr 70px;gap:14px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.mp-drow:first-of-type{border-top:0}
.mp-drow .dn{font-weight:600;font-size:14px}.mp-drow .dv{text-align:right;color:var(--muted);font-size:13px}.mp-drow .dv b{color:var(--fg);font-size:16px}
.mp-drow .dt{position:relative;height:10px;background:var(--pv-bg);border-radius:6px}
.mp-drow .dt .fill{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,#7C4DDB,#B98CF5)}.mp-drow .dt .fill.ok{background:linear-gradient(90deg,#2FB5A6,#7C4DDB)}
.mp-drow .dt .tk{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--fg);transform:translateX(-1px)}.mp-drow .dt .tk.gold{background:var(--pv-gold)}
.mp-min th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.mp-min th small{display:block;letter-spacing:0;text-transform:none;font-weight:400}
.mp-min td{padding-top:8px;padding-bottom:8px}.mp-min th.c,.mp-min td.c{text-align:center}
.mp-ex{display:block;font-size:11px;color:var(--pv-good)}
.mp-q{display:inline-flex;align-items:baseline;gap:4px;min-width:38px;justify-content:center;padding:3px 10px;border-radius:999px;font-weight:600;font-size:13px}
.mp-q.ok{background:rgba(63,200,184,.16);color:#2FB5A6}.mp-q.falta{background:rgba(240,107,107,.16);color:var(--pv-bad)}.mp-q small{font-size:10.5px;font-weight:500}
.mp-rk{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mp-rk:first-of-type{border-top:0}
.mp-rk .mp-pos{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--pv-bg);color:var(--muted)}
.mp-rk .mp-pos.mp-1o{background:linear-gradient(135deg,#9E6CF0,#F2A65A);color:#fff}
.mp-rk .rn b{display:block;font-size:14px}.mp-rbar{display:block;height:5px;border-radius:4px;background:var(--pv-bg);margin-top:6px;overflow:hidden;max-width:220px}.mp-rbar span{display:block;height:100%;border-radius:4px;background:#7C4DDB}.mp-rbar span.ok{background:linear-gradient(90deg,#7C4DDB,#B98CF5)}
.mp-rk .rv{text-align:right}.mp-rk .rv b{display:block;font-size:15px}.mp-rk .rv small{font-size:11.5px;color:var(--muted)}
.mp-lids{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.mp-lid{background:var(--pv-bg);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.mp-lid span{font-size:12px;color:var(--muted)}.mp-lid b{font-size:22px;color:#B98CF5}.mp-lid small{font-size:12px;color:var(--muted)}
.mp-h3{margin:22px 0 10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mp-ag{display:flex;gap:16px;align-items:center;background:var(--pv-bg);border-radius:10px;padding:11px 14px;margin-top:8px}.mp-ag b{font-size:18px;color:#9E85E3;min-width:52px}
.mp-cal{background:var(--pv-bg);border-radius:12px;padding:12px 14px;margin-top:10px}.mp-cal>b{display:block;font-size:13.5px;margin-bottom:6px}
.mp-cal div{display:flex;gap:22px}.mp-cal span{font-size:18px;font-weight:700;color:#9E85E3}.mp-cal small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.mp-prazos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.mp-prazos div{display:flex;justify-content:space-between;gap:10px;background:var(--pv-bg);border-radius:12px;padding:12px 16px;font-weight:600}.mp-prazos b{color:var(--pv-warn)}
.mp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line-strong);margin-right:6px}.mp-dot.on{background:#9E85E3}
.mp-tv{max-width:1500px;margin:0 auto}.mp-tv .pv-top{align-items:center;margin-bottom:22px}.mp-tv .pv-top h1{font-size:46px}.mp-logo{height:auto}
.mp-tv .mp-pts{font-size:150px}.mp-tv .pv-kpi .kv{font-size:30px}.mp-tv .pv-card h2{font-size:22px}
.mp-tv .mp-drow{padding:16px 0}.mp-tv .mp-drow .dn{font-size:17px}.mp-tv .mp-drow .dv b{font-size:22px}
.mp-tv .mp-min td{font-size:15px;padding-top:11px;padding-bottom:11px}.mp-tv .mp-rk .rn b{font-size:17px}.mp-tv .mp-rk .rv b{font-size:19px}
.mp-tv .mp-ag{padding:16px 18px}.mp-tv .mp-ag b{font-size:24px}.mp-tv .mp-ag span{font-size:17px}.mp-tv .mp-cal span{font-size:24px}
@media (max-width:1100px){.mp .pv-card.s7,.mp .pv-card.s5{grid-column:span 12}}
@media (max-width:640px){.mp-drow{grid-template-columns:100px 1fr 60px;gap:8px}.mp-dias b{font-size:32px}}
.mp .pv-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.mp .pv-card.s8{grid-column:span 8}.mp .pv-card.s4{grid-column:span 4}.mp-lids{grid-template-columns:1fr}
@media (max-width:1100px){.mp .pv-card.s8,.mp .pv-card.s4{grid-column:span 12}}
.mp-tv{width:100%;align-self:center}
.mp-tvbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
body.modo-tv main>.banner{display:none}
.mp-tv .mp-drow{grid-template-columns:220px 1fr 90px}
/* Check-in: campos da demanda alinhados pela base; agenda do pós */
.op-esp{align-items:flex-end}
.ag-add{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:12px}.ag-add input[name="descricao"],.ag-add input[name="item"]{flex:1;min-width:180px}
.ag-cal label{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:3px}
.ag-add input,.ag-add select{font:inherit;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px}
.ag-add input:focus-visible,.ag-add select:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.ag-add input[type=date]{color-scheme:dark}
.disp-teste{border-top:1px dashed var(--line-strong);padding-top:12px}.disp-teste>div{display:flex;gap:8px;flex-wrap:wrap}.disp-teste input{max-width:220px}.disp-teste span{font-size:12px;color:var(--muted)}
.disp-ext summary{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:16px 20px;cursor:pointer;list-style:none}.disp-ext summary::-webkit-details-marker{display:none}
.disp-ext summary::after{content:"▾";color:var(--muted)}.disp-ext[open] summary::after{content:"▴"}.disp-ext summary span{font-size:12.5px;color:var(--muted);margin-left:auto}
.disp-ext ol{margin:14px 0;padding-left:20px;display:grid;gap:7px}.disp-ext .pb{border-top:1px solid var(--line)}
.disp-ext a.btn{text-decoration:none;display:inline-flex}
/* Solicitação: ações do Cadastro (quem está cadastrando, termo de reembolso) */
.sol-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;border-top:1px solid var(--line)}
.sol-acao{background:rgba(255,255,255,.03);border:1px solid var(--line-strong);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.sol-acao .t{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sol-acao .v{margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:600}.sol-acao .v small{font-weight:400;font-size:12.5px;color:var(--muted)}.sol-acao .v .muted{font-weight:400;color:var(--muted)}
.sol-acao .v b.warn{color:var(--pv-warn,#F2B13A)}
.sol-acao .b{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:auto}
.sol-acao .btn{white-space:nowrap}
.sol-data{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--muted)}
.sol-data input{font:inherit;font-size:14px;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;color-scheme:dark}
.chk{display:flex;gap:8px;align-items:center;font-weight:500;cursor:pointer}.field label.chk input{width:auto}
/* Campos de data no tema claro: fundo branco e ícone do calendário escuro */
:root[data-theme="light"] .sol-data input,:root[data-theme="light"] .ag-add input,:root[data-theme="light"] .ag-add select{background:#fff;color-scheme:light}
:root[data-theme="light"] .field input[type=date]{color-scheme:light}
:root[data-theme="light"] .sol-acao{background:#fff}
/* Metas do pós: ranking de vendas do pós embaixo dos números (também no modo TV) */
.mp-rv{margin-bottom:14px}.mp-rv-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:28px}
.mp-rv .mp-rk:first-of-type{border-top:1px solid var(--line)}.mp-rv-l .mp-rk:nth-child(-n+3){border-top:0}
.mp-tv .mp-rv .rn b{font-size:18px}.mp-tv .mp-rv .rv b{font-size:20px}.mp-tv .mp-rv h2{font-size:22px}
.btn.btn-perigo{color:var(--bad,#E5484D);border-color:color-mix(in srgb,var(--bad,#E5484D) 45%,transparent)}.btn.btn-perigo:hover{background:color-mix(in srgb,var(--bad,#E5484D) 12%,transparent)}
.mp-pendbanner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.btn.btn-alerta{border-color:var(--warn);color:var(--warn);font-weight:700}
/* Assinaturas: última conferência de cada robô */
.asg-conf{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0 0 16px}
.asg-conf-i{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;gap:3px}
.asg-conf-i .t{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.asg-conf-i b{font-size:15px}.asg-conf-i small{font-size:12px;color:var(--muted)}
.asg-conf-i.erro{border-color:var(--bad)}.asg-conf-i small.bad{color:var(--bad)}
.asg-vend .ab{text-align:center}.asg-vend .lin{grid-template-columns:minmax(150px,1.2fr) 90px 2fr 64px}
/* Metas do pós: meta de hoje por demanda */
.mp-hoje{margin-bottom:14px}.mp-hoje-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.mp-hoje-i{background:var(--pv-bg);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;border:1px solid transparent}
.mp-hoje-i.ok{border-color:color-mix(in srgb,var(--pv-good) 50%,transparent)}
.mp-hoje-i .n{font-size:12px;color:var(--muted)}.mp-hoje-i b{font-size:22px}.mp-hoje-i b span{font-size:14px;font-weight:500;color:var(--muted)}.mp-hoje-i small{font-size:12px;color:var(--muted)}
.mp-hoje-i .mp-rbar{max-width:none;margin-top:6px}
.mp-tv .mp-hoje-i b{font-size:30px}
.mp-hoje-i b.good{font-size:15px;padding:5px 0 3px}
.mp-quem{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:8px;font-size:12px}.mp-quem i{font-style:normal;background:var(--surface);border-radius:999px;padding:2px 8px}.mp-quem b{font-size:12px;color:var(--pv-good)}.mp-quem em{font-style:normal;color:var(--pv-warn)}
.mp-quem.vazio{color:var(--muted);font-style:italic}
.mp-tv .mp-quem{font-size:15px}.mp-tv .mp-quem b{font-size:15px}.mp-tv .mp-hoje-l{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.mp-tv .mp-hoje-i{padding:22px 20px;min-height:230px;gap:6px}.mp-tv .mp-hoje-i .n{font-size:17px}.mp-tv .mp-hoje-i b{font-size:52px;line-height:1.1}.mp-tv .mp-hoje-i b span{font-size:22px}
.mp-tv .mp-hoje-i b.good{font-size:24px}.mp-tv .mp-hoje-i small{font-size:15px}.mp-tv .mp-hoje .mp-chead h2{display:none}
/* Materiais da Tramontana */
.mat-barra{display:flex;flex-direction:column;gap:12px;margin:4px 0 18px}
.mat-busca{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:10px 16px;max-width:620px}
.mat-busca span{color:var(--muted);font-size:18px}.mat-busca input{flex:1;border:0;background:none;font:inherit;color:var(--fg);outline:none}
.mat-chips{display:flex;gap:6px;flex-wrap:wrap}
.mat-chip{border:1px solid var(--line-strong);background:var(--surface);padding:7px 14px;border-radius:999px;cursor:pointer;font:inherit;font-size:13px;color:var(--muted)}
.mat-chip span{opacity:.7;margin-left:4px}.mat-chip[aria-pressed="true"]{background:var(--grad-main,#8131ff);color:#fff;border-color:transparent;font-weight:600}
.mat-sub{margin:-6px 0 14px;color:var(--muted);font-size:13px}
.mat-sec{margin-bottom:26px}.mat-sec h2{font-size:15px;margin:0 0 12px;display:flex;align-items:baseline;gap:10px}.mat-sec h2 span{font-size:12px;font-weight:400;color:var(--muted)}
.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.mat-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.mat-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(40,10,90,.25)}
.mat-capa{position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,#5b2a9e 0%,#2a1250 55%,#1a0b33 100%);border-bottom:1px solid var(--line)}
.mat-capa img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.mat-capa-txt{position:absolute;left:28px;right:70px;top:50%;transform:translateY(-58%);color:#fff;font-size:26px;line-height:1.15;font-weight:300}
.mat-capa-txt b{font-weight:700;color:#b98cff}
.mat-capa-deco{position:absolute;right:-26px;top:38%;width:120px;height:120px;border:1px solid rgba(185,140,255,.35);border-radius:28px;transform:rotate(45deg)}
.mat-capa .mat-fmt{position:absolute;left:14px;bottom:12px;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:5px 9px;border-radius:8px;background:rgba(10,6,22,.78);color:#fff;border:1px solid rgba(255,255,255,.14)}
.mat-capa .mat-fav{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(10,6,22,.72);color:#fff;font-size:17px;cursor:pointer;line-height:1}
.mat-capa .mat-fav.on{color:#f2c230}
.mat-corpo{padding:18px 20px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.mat-cat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#2fb5a6;font-weight:600}
.mat-card h3{margin:0;font-size:17px;font-weight:600}.mat-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.mat-meta{font-size:12px;color:var(--muted);margin-top:auto;padding:8px 0 12px;border-bottom:1px solid var(--line)}
.mat-acoes{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px}
.mat-bt{display:inline-block;padding:9px 18px;border-radius:999px;background:linear-gradient(90deg,#eefcf9,#8fe6da);color:#101426;font-weight:700;font-size:13px;text-decoration:none}
.mat-bt:hover{filter:brightness(1.05)}.mat-link{font-size:13px;color:var(--muted);text-decoration:none}.mat-link:hover{color:var(--fg);text-decoration:underline}
.mat-gestao{margin-left:auto;display:flex;gap:6px}.mat-mini{padding:6px 10px}

/* Itens do menu em letra maiúscula (28/10/2026), um pouco menores e espaçados para caber */
.nav .navitens .rot{text-transform:uppercase;font-size:11px;letter-spacing:.07em;line-height:1.35}

/* Livre ou fixo na ficha da cota (28/10/2026) */
.seg-lance{display:inline-flex;gap:6px}.seg-lance .btn{padding:4px 12px;min-height:0;font-size:12px}
.sel-vazio{color:var(--muted)}
/* Relatórios financeiros: linhas de total/saldo destacadas */
table.rel tr.rel-forte td { font-weight: 600; background: var(--surface); }

/* Linha digitável do boleto */
.bol-linha{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.bol-linha span{flex-basis:100%;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.bol-linha code{font-family:ui-monospace,Consolas,monospace;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow-wrap:anywhere}
.bol-linha input{flex:1;min-width:0;max-width:520px}
.pv-atu{font-size:11.5px;opacity:.8;white-space:nowrap}

/* Novo disparo: seções com título bem visível */
.disp-form{display:flex;flex-direction:column;gap:14px}
.disp-sec{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface-2);display:flex;flex-direction:column;gap:14px}
.disp-sec>header{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.disp-sec>header>b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--grad-cta);color:#fff;font-size:14px}
.disp-sec h3{margin:0;font-size:17px;font-weight:600;color:var(--fg)}
.disp-sec header p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.disp-form .field label,.disp-rot{font-size:13.5px;font-weight:600;color:var(--fg)}
.disp-form small{font-weight:400;font-size:12px;color:var(--muted)}
.disp-tipos{display:flex;gap:10px;flex-wrap:wrap}
.disp-tipos label{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:12px;cursor:pointer}
.disp-tipos label.on{border-color:var(--purple);background:var(--accent-soft)}
.disp-tipos input{width:auto;margin:0}
.disp-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 16px}
.disp-campos .full{grid-column:1/-1}
.disp-dica{margin:0;font-size:12.5px;color:var(--muted)}
.disp-grupos{display:flex;flex-wrap:wrap;gap:16px 34px}
.disp-grupo{display:flex;flex-direction:column;gap:8px}
.disp-opcoes{display:flex;gap:14px;flex-wrap:wrap}
.disp-opcoes label{font-size:13.5px}
.disp-linha{display:flex;gap:8px;align-items:center}
.disp-linha span{font-size:13px;color:var(--muted);white-space:nowrap}
.disp-linha input{width:74px;flex:none}
.disp-linha select{flex:1;min-width:92px}
.disp-agrupar{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;font-size:13px;color:var(--muted);cursor:pointer}
.disp-agrupar b{display:block;color:var(--fg);font-size:13.5px}
.disp-agrupar input{width:auto;margin:3px 0 0;flex:none}
.disp-var{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.disp-confere{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.disp-form .disp-teste{border-top:1px dashed var(--line-strong);padding-top:12px}

/* Aguardando pagamento: ações compactas (data + botão principal; secundários como links embaixo) */
.reg-acoes{display:flex;flex-direction:column;gap:4px;width:292px}
.reg-acoes .ra-linha{display:flex;gap:6px;align-items:center}
.reg-acoes .ra-data{font:inherit;font-size:13px;color:var(--fg);background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:999px;padding:6px 10px;width:128px;color-scheme:dark}
.reg-acoes .ra-linha .btn{flex:1;padding:7px 12px;font-size:13px;white-space:nowrap}
.reg-acoes .ra-sec{display:flex;gap:2px;flex-wrap:nowrap;padding-left:4px}
.reg-acoes .ra-sec:empty{display:none}
.reg-acoes .ra-sec .btn{background:none;border:0;box-shadow:none;padding:2px 6px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;border-radius:6px}
.reg-acoes .ra-sec .btn:hover{color:var(--fg);background:rgba(255,255,255,.06)}
.reg-acoes .ra-sec .btn+.btn::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--muted);vertical-align:middle;margin:-2px 8px 0 -4px;opacity:.6}
:root[data-theme="light"] .reg-acoes .ra-data{background:#fff;color-scheme:light}
:root[data-theme="light"] .reg-acoes .ra-sec .btn:hover{background:rgba(0,0,0,.05)}

/* Ficha da cota: tipos de lance numa linha só (checkboxes) e o livre com a quantidade de parcelas ao lado */
.filtros .field.lances-tipos{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:flex-start}
.filtros .lances-tipos .chk{margin:0;width:auto;display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:14px}
.lances-livre{display:inline-flex;gap:8px;align-items:center}
.lances-livre input[name=livre_parcelas]{width:90px;padding:6px 10px}

/* Marcação de pré-cadastro no formulário de solicitação (06/11/2026). */
.field.pre-chk{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;font-weight:400;line-height:1.5;cursor:pointer}
.field.pre-chk input{width:18px;height:18px;flex:none;margin:2px 0 0;padding:0}
.field.pre-chk span{flex:1;font-size:13.5px;color:var(--muted)}
.field.pre-chk span b{color:var(--ink,inherit)}
