:root{
  --ec-page:#f7f8fa;
  --ec-white:#fff;
  --ec-ink:#252525;
  --ec-muted:#626b75;
  --ec-line:#e5e5e7;
  --ec-line-strong:#d5d7da;
  --ec-tint:#ecf0f7;
  --ec-accent:#138b91;
  --ec-accent-soft:#e7f5f4;
  --ec-shadow:0 8px 24px rgba(28,39,53,.06);
}

body.page-ecompulse:not(.page-login){
  --bg:var(--ec-white);--ink:var(--ec-ink);--mut:var(--ec-muted);--faint:#f4f6f8;
  --line:var(--ec-line-strong);--hair:var(--ec-line);--panel:var(--ec-white);
  --acc:var(--ec-accent);--acc-ink:#fff;--acc-s:var(--ec-accent-soft);
  --pos:#18845b;--neg:#c83b47;--warn:#a66413;--ease:cubic-bezier(.2,.7,.2,1);
  min-height:100vh;margin:0;display:grid;grid-template-columns:236px minmax(0,1fr);
  grid-template-rows:72px minmax(0,1fr);background:var(--ec-page);color:var(--ec-ink);
  font:14px/1.5 "Geist","Inter","Segoe UI",system-ui,sans-serif;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;
}
body.page-ecompulse *{box-sizing:border-box}
body.page-ecompulse button,body.page-ecompulse input,body.page-ecompulse select,body.page-ecompulse textarea{font:inherit}
body.page-ecompulse button{cursor:pointer}
body.page-ecompulse [hidden]{display:none!important}
body.page-ecompulse :focus-visible{outline:2px solid var(--ec-accent);outline-offset:2px;border-radius:6px}

/* Navegação lateral e cabeçalho no estilo do kit Figma. */
#sysnav.sidebar{grid-column:1;grid-row:1 / span 2;z-index:30;position:sticky;top:0;align-self:start;
  width:236px;height:100vh;min-height:100vh;overflow:auto;background:#fff;border-right:1px solid var(--ec-line-strong);
  display:flex;flex-direction:column;padding:16px 12px 14px;color:var(--ec-ink)}
.brand-block{display:flex;align-items:center;justify-content:center;gap:7px;min-height:64px;padding:4px 2px 14px;
  text-decoration:none;border-bottom:1px solid #f0f1f2;margin-bottom:17px}
.brand-block img{display:block;flex:none;width:132px;height:auto;object-fit:contain}
.brand-block span{color:#e9b90c;font-size:14px;font-weight:500;letter-spacing:-.04em;white-space:nowrap}
.sidebar-caption{padding:0 11px 6px;color:#858c95;font-size:10px;font-weight:600;letter-spacing:.09em}
.sidebar-nav{display:grid;gap:16px;align-content:start;flex:1 0 auto}      /* não encolhe abaixo do conteúdo: o menu rola em vez de ficar por baixo do rodapé */
.nav-group{display:grid;gap:3px;align-content:start}
.nav-label{padding:4px 11px;color:#858c95;font-size:11px;font-weight:500;letter-spacing:.01em}
#sysnav.sidebar .nav-item{position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:0 11px;border-radius:8px;
  color:#626b75;text-decoration:none;font-size:13px;font-weight:500;transition:background .16s ease,color .16s ease}
#sysnav.sidebar .nav-item:hover{background:#f4f6f8;color:#252525}
#sysnav.sidebar .nav-item.active{background:var(--ec-accent-soft);color:#11747a;font-weight:600}
.nav-icon{display:block;flex:none;width:18px;height:18px}
.nav-mark{position:absolute;right:7px;width:5px;height:5px;border-radius:50%;background:var(--ec-accent)}
.sidebar-foot{flex:none;margin-top:auto;display:flex;align-items:center;gap:8px;padding:13px 10px 1px;border-top:1px solid #f0f1f2;color:#858c95;font-size:11px}
.foot-dot{width:7px;height:7px;border-radius:50%;background:var(--ec-accent);box-shadow:0 0 0 3px var(--ec-accent-soft)}
.topbar{grid-column:2;grid-row:1;z-index:20;position:sticky;top:0;min-width:0;height:72px;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--ec-line-strong)}
.top-heading{display:flex;flex-direction:column;min-width:130px;line-height:1.25}
.top-heading>span{color:#858c95;font-size:11px}
.top-heading>span b{padding:0 5px;color:#c1c3c7;font-weight:400}
.top-heading>strong{margin-top:3px;color:#252525;font-size:16px;font-weight:600;letter-spacing:-.02em}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.quick-search{position:relative;display:flex;align-items:center;gap:9px;width:min(30vw,300px);height:40px;padding:0 12px;background:#fafafa;border:1px solid var(--ec-line);border-radius:9px;color:#858c95}
.quick-search .nav-icon{width:16px;height:16px}
.quick-search input{width:100%;height:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#252525;font-size:12px}
.quick-search input:focus{outline:0}
.quick-search input::placeholder{color:#858c95}
.user-chip{display:flex;align-items:center;gap:9px;min-width:0}
.user-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#e7f5f4;color:#11747a;font-size:11px;font-weight:600}
.user-copy{display:grid;min-width:0;line-height:1.25}
.user-copy b{overflow:hidden;max-width:150px;color:#323539;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.user-copy small{margin-top:3px;color:#858c95;font-size:10px}
.top-action,.nav-toggle{border:0;background:transparent;color:#626b75;font-size:12px;font-weight:500;padding:8px 4px}
.top-action:hover{color:#252525}
.top-action.exit{color:#9d3c43}
.nav-toggle,.nav-scrim{display:none}

/* Conteúdo, campos, botões e tabelas. */
body.page-ecompulse>main{grid-column:2;grid-row:2;min-width:0;width:100%;max-width:none;margin:0;padding:27px clamp(18px,2.4vw,36px) 48px;background:var(--ec-page)}
body.page-ecompulse>main>h1{margin:0 0 5px;color:#252525;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.035em}
body.page-ecompulse h2{color:#252525;font-size:16px;font-weight:600;letter-spacing:-.015em}
body.page-ecompulse .sub{margin:0 0 20px;color:#626b75;font-size:13px;line-height:1.55}
body.page-ecompulse section{margin:0 0 16px;padding:20px;background:#fff;border:1px solid var(--ec-line);border-radius:14px;box-shadow:var(--ec-shadow)}
body.page-ecompulse section section{padding:16px;background:#fff;box-shadow:none}
body.page-ecompulse .grid{gap:14px 16px}
body.page-ecompulse label.f{display:block;color:#323539;font-size:12px;font-weight:500}
body.page-ecompulse label.f>b{display:block;margin-bottom:6px;color:#323539;font-size:12px;font-weight:500}
body.page-ecompulse label.f>small{display:block;margin-top:4px;color:#858c95;font-size:11px}
body.page-ecompulse input:not([type=checkbox]):not([type=radio]),body.page-ecompulse select,body.page-ecompulse textarea{
  min-width:0;max-width:100%;height:40px;padding:0 11px;border:1px solid #d5d7da;border-radius:8px;background:#fff;color:#252525;font-size:13px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
body.page-ecompulse textarea{height:auto;min-height:74px;padding:9px 11px;resize:vertical}
body.page-ecompulse input:hover,body.page-ecompulse select:hover,body.page-ecompulse textarea:hover{border-color:#aeb3bb}
body.page-ecompulse input:focus,body.page-ecompulse select:focus,body.page-ecompulse textarea:focus{border-color:var(--ec-accent);outline:0;box-shadow:0 0 0 3px rgba(19,139,145,.12)}
body.page-ecompulse input[type=checkbox],body.page-ecompulse input[type=radio]{width:16px;height:16px;accent-color:var(--ec-accent)}
body.page-ecompulse .btn{min-height:36px;padding:7px 13px;border:1px solid #d5d7da;border-radius:8px;background:#fff;color:#323539;font-size:12px;font-weight:600;line-height:1.3;transition:background .15s,border-color .15s,color .15s}
body.page-ecompulse .btn:hover{border-color:#aeb3bb;background:#f8f9fa}
body.page-ecompulse .btn.p{border-color:var(--ec-accent);background:var(--ec-accent);color:#fff}
body.page-ecompulse .btn.p:hover{border-color:#0f777d;background:#0f777d}
body.page-ecompulse .btn.d{color:#b43b44}
body.page-ecompulse .acoes{gap:8px;margin-top:14px}
body.page-ecompulse .msg{margin:0 0 15px;padding:10px 13px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:500}
body.page-ecompulse .msg.ok{border-color:#d8efe3;background:#f0faf4;color:#16714d}
body.page-ecompulse .msg.erro{border-color:#f3d7d9;background:#fff4f4;color:#ae3039}
body.page-ecompulse .msg.aviso{border-color:#f2e5c8;background:#fffaf0;color:#8d5b11}
body.page-ecompulse .scroll{max-width:100%;overflow:auto;border:1px solid #e9eaeb;border-radius:9px}
body.page-ecompulse table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
body.page-ecompulse th,body.page-ecompulse td{padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap}
body.page-ecompulse th{position:sticky;top:0;height:40px;border-bottom:1px solid #e5e5e7;background:#ecf0f7;color:#626b75;font-size:11px;font-weight:600}
body.page-ecompulse td{border-bottom:1px solid #eaebf0;color:#323539;font-size:12px}
body.page-ecompulse tr:last-child td{border-bottom:0}
body.page-ecompulse td.n,body.page-ecompulse th.n{text-align:right}
body.page-ecompulse .tag,body.page-ecompulse .pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#f0f2f4;color:#626b75;font-size:10px;font-weight:600;line-height:1.35}
body.page-ecompulse .tag.sim,body.page-ecompulse .pill.ok{background:#e8f5ed;color:#16714d}
body.page-ecompulse .tag.nao,body.page-ecompulse .pill.bad{background:#fff3df;color:#8d5b11}
body.page-ecompulse .link{color:#11747a;font-size:12px}
body.page-ecompulse .resumo{color:#626b75;font-size:12px}
body.page-ecompulse .resumo b{color:#252525}
body.page-ecompulse .vazio{padding:22px 12px;color:#858c95;text-align:center}
body.page-ecompulse .cards2 .card{padding:15px 16px;border:1px solid var(--ec-line);border-radius:12px;background:#fff}

/* O painel preserva seus filtros, gráficos e cálculos, mas usa o mesmo shell e superfície clara. */
body.painel-template{--bg:#fff;--ink:#252525;--mut:#626b75;--faint:#f4f6f8;--line:#e5e5e7;--hair:#eaebf0;--panel:#fff;--track:#eaebf0;
  --navy:#fff;--navy-2:#f6f7f8;--navy-line:rgba(37,37,37,.12);--navy-mut:#626b75;--acc:#138b91;--acc-ink:#fff;--acc-s:#e7f5f4;--cmpb:#138b91}
body.painel-template>.app{grid-column:2;grid-row:2;min-width:0;min-height:calc(100vh - 72px);background:var(--ec-page)}
body.painel-template .rail{color:#252525;border-right:1px solid #e5e5e7;border-radius:0;box-shadow:none}
body.painel-template .rail .field>b,body.painel-template .rail .avancados>summary,body.painel-template .rail .check{color:#323539}
body.painel-template .rail .avancados>summary::before{color:#858c95}
body.painel-template .rail .seg{border-color:#e5e5e7;background:#f4f6f8}
body.painel-template .rail .seg button{color:#626b75}
body.painel-template .rail .seg button:hover{color:#252525}
body.painel-template .rail .seg button[aria-pressed=true]{background:#138b91;color:#fff}
body.painel-template .rail .unit{border-color:#e5e5e7;color:#323539}
body.painel-template .rail .unit[aria-pressed=false]{color:#626b75}
body.painel-template .rail .unit[aria-pressed=false] i{box-shadow:inset 0 0 0 2px #aeb3bb}
body.painel-template .rail .btn{border-color:#d5d7da;background:#fff;color:#323539}
body.painel-template .rail .btn:hover{border-color:#aeb3bb;background:#f8f9fa}
body.painel-template .rail select{border-radius:8px}
body.painel-template .main{max-width:none;padding:25px clamp(18px,2.2vw,32px) 42px}
body.painel-template .main>section,body.painel-template .main .cols>section{border:1px solid #e5e5e7;border-radius:14px;background:#fff;box-shadow:var(--ec-shadow)}
body.painel-template .main .notice{background:#f4f6f8}
body.painel-template .main .tabs button[aria-selected=true]{background:#e7f5f4;color:#11747a}
body.painel-template .main th{background:#ecf0f7}
body.painel-template .measure .seg button[aria-pressed=true]{background:#138b91}
body.painel-template .main .name:hover,body.painel-template .main tr.br:hover .name{color:#11747a}
body.painel-template .main .unit{background:#fff}
body.painel-template #tv{background:#f7f8fa}
body.tvon #sysnav,body.tvon #systop,body.tvon #navScrim{display:none!important}

/* A tela de entrada mantém a seleção de perfil e as fotos já usadas pelo sistema. */
body.page-ecompulse.page-login{display:block;min-height:100%;font-family:"Geist","Noto Sans","Segoe UI",sans-serif}
body.page-ecompulse.page-login>main{display:flex;position:fixed;inset:0;z-index:11;min-height:100dvh;width:auto;max-width:none;margin:0;align-items:center;justify-content:center;padding:1.25rem;background:transparent}
body.page-ecompulse.page-login .card{padding:30px 28px;border:1px solid #e5e5e7;border-radius:16px;box-shadow:0 18px 48px rgba(0,14,53,.2)}
body.page-login .card h1{letter-spacing:-.03em}
body.page-ecompulse.page-login .lado h2{color:#fff}
body.page-ecompulse.page-login .lado p{color:rgba(255,255,255,.9)}
body.page-login label.f{font-size:13px;font-weight:500}
body.page-login label.f input{height:44px;border-radius:9px;padding:0 12px}
body.page-ecompulse.page-login .btn.p{min-height:46px;border-radius:9px}
body.page-ecompulse.page-login .voltar{font-size:13px}

@media(max-width:1050px){
  .topbar{padding:0 18px;gap:12px}.top-actions{gap:10px}.quick-search{width:190px}.user-copy b{max-width:105px}
}
@media(max-width:900px){      /* iPad em pé (820 e 834 px) também usa o menu recolhido */
  body.page-ecompulse:not(.page-login){grid-template-columns:minmax(0,1fr);grid-template-rows:64px minmax(0,1fr)}
  #sysnav.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;min-height:0;transform:translateX(-102%);transition:transform .22s ease;box-shadow:none}
  body.nav-open #sysnav.sidebar{transform:translateX(0);box-shadow:10px 0 30px rgba(22,31,44,.14)}
  .topbar{grid-column:1;grid-row:1;height:64px;padding:0 16px}
  .nav-toggle{display:grid;place-items:center;width:34px;height:34px;padding:7px;border:1px solid #e5e5e7;border-radius:8px}
  .nav-toggle .nav-icon{width:18px;height:18px}
  .top-heading{margin-right:auto}
  .quick-search{display:none}
  .nav-search-btn{display:grid}
  .nav-scrim{position:fixed;inset:0;z-index:25;border:0;background:rgba(18,28,42,.36)}
  body.nav-open .nav-scrim{display:block}
  body.page-ecompulse>main,body.painel-template>.app{grid-column:1;grid-row:2}
  body.painel-template>.app{grid-template-columns:minmax(0,1fr)}
  body.painel-template .rail{position:relative;width:auto;height:auto;max-height:none;border-right:0;border-bottom:1px solid #e5e5e7}
  body.painel-template .rail .units{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
}
@media(max-width:560px){
  .topbar{padding:0 11px;gap:9px}.top-heading>span{font-size:10px}.top-heading>strong{font-size:14px}
  .top-actions{gap:6px}.user-copy{display:none}.user-chip{margin-right:2px}.top-action{padding:7px 3px;font-size:11px}
  body.page-ecompulse>main{padding:19px 12px 32px}
  body.page-ecompulse>main>h1{font-size:21px}
  body.page-ecompulse section{padding:14px;border-radius:11px}
  body.page-ecompulse section section{padding:12px}
  body.painel-template .main{padding:18px 12px 32px}
  body.painel-template .rail{padding:14px 12px}
}
@media(prefers-reduced-motion:reduce){
  body.page-ecompulse *,body.page-ecompulse *::before,body.page-ecompulse *::after{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media print{
  body.page-ecompulse:not(.page-login){display:block;background:#fff}
  #sysnav,#systop,#navScrim{display:none!important}
  body.page-ecompulse>main,body.painel-template .main{padding:0;max-width:none}
}

.clubeLogo{display:inline-flex;align-items:center;vertical-align:middle;margin:0 .25rem}
.clubeLogo img{display:block;width:auto}

/* busca do topo: o campo não pode ganhar borda, margem nem altura próprias (o estilo geral de input deixava uma caixa dentro da outra) */
html body .quick-search input#navSearch{width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:13px;-webkit-appearance:none;appearance:none}
html body .quick-search input#navSearch:hover,html body .quick-search input#navSearch:focus{border:0;box-shadow:none;outline:0}
.quick-search:focus-within{border-color:var(--ec-accent);box-shadow:0 0 0 3px rgba(19,139,145,.12);background:#fff}
.quick-search input#navSearch::-webkit-search-cancel-button{cursor:pointer}
.busca-res{position:absolute;left:0;top:calc(100% + 6px);width:min(26rem,calc(100vw - 1.5rem));max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--ec-line);border-radius:12px;box-shadow:0 1rem 3rem rgba(0,14,53,.22);z-index:90;padding:.4rem;cursor:default}
.busca-g{padding:.3rem .2rem .5rem}.busca-g>b{display:block;padding:.2rem .5rem;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#858c95}
.busca-i{display:flex;flex-direction:column;padding:.45rem .6rem;border-radius:8px;text-decoration:none;color:#252525;font-size:13px}
.busca-i:hover,.busca-i:focus-visible{background:#eef6f6;outline:0}.busca-i small{color:#6b737d;font-size:11.5px}
.busca-mais{display:block;padding:.4rem .6rem;color:#6b737d;font-size:12px}
@media(max-width:900px){.busca-res{width:calc(100vw - 1.5rem)}}

/* ===== iPad e celular ===== */
.nav-search-btn{display:none;place-items:center;width:38px;height:38px;padding:0;border:1px solid #e5e5e7;border-radius:8px;background:#fff;color:#626b75;cursor:pointer}
.nav-search-btn .nav-icon{width:17px;height:17px}
@media(max-width:900px){
  .nav-search-btn{display:grid}
  body.busca-aberta .quick-search{display:flex;position:fixed;left:12px;right:12px;top:70px;width:auto;height:48px;z-index:70;background:#fff;box-shadow:0 .6rem 2rem rgba(0,14,53,.22)}
  body.busca-aberta .busca-res{position:fixed;left:12px;right:12px;top:126px;width:auto;max-height:calc(100dvh - 146px)}
  html body .quick-search input#navSearch{font-size:16px}
  /* 16 px evita o zoom automático do iPhone e do iPad ao tocar num campo */
  body.page-ecompulse input:not([type=checkbox]):not([type=radio]),body.page-ecompulse select,body.page-ecompulse textarea{font-size:16px;min-height:42px}
  body.page-ecompulse .btn,body.page-ecompulse .top-action{min-height:40px}
  body.page-ecompulse .btn.s{min-height:36px}
  body.painel-template .rail{margin:.6rem;border:1px solid #e5e5e7;border-radius:14px;background:#fff}
  body.painel-template .rail>summary{color:#252525;font-weight:700;padding:.4rem 0}
  body.painel-template .main{padding:14px 12px 32px}
  .top{flex-direction:column;align-items:stretch}
  .measure{flex-direction:column;align-items:stretch;gap:.4rem;min-width:0;width:100%}
  html body .measure .seg{min-width:0;width:100%}
  .measure .seg{overflow-x:auto;max-width:100%;border-radius:14px;-webkit-overflow-scrolling:touch}
  .measure .seg button{flex:none}
  .tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs button{flex:none}
  html body table.ledger{width:100%;max-width:100%}html body table.ledger td{white-space:normal;overflow-wrap:anywhere}
  html body table.ledger td:last-child{white-space:nowrap}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  dialog.dlg,dialog.dlg.grande{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:1rem}
  .gridH .w2{grid-column:auto}
}
@media(max-width:560px){
  .user-copy{display:none}
  .top-heading>span{display:none}
  .top-heading>strong{margin-top:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw}
  .top-actions{gap:6px}.top-action{padding-left:8px;padding-right:8px;font-size:12px}
  body.page-ecompulse>main{padding-left:12px;padding-right:12px}
  .cmpLado{flex-direction:row}
}

/* ===== menu lateral minimizável e painel de filtros recolhível (desktop) ===== */
.sidebar-caption{display:flex;align-items:center;justify-content:flex-end;align-self:stretch;width:100%;padding:0 4px 8px}
.nav-min{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #e5e5e7;border-radius:7px;background:#fff;color:#626b75;cursor:pointer}
.nav-min:hover{background:#f4f6f8;color:#252525}.nav-min .nav-icon{width:15px;height:15px}
@media(min-width:901px){
  body.page-ecompulse.menu-min:not(.page-login){grid-template-columns:68px minmax(0,1fr)}
  body.menu-min #sysnav.sidebar{width:68px;padding:16px 8px 14px;overflow-x:hidden}
  body.menu-min .brand-block,body.menu-min .sidebar-foot span:last-child,body.menu-min .nav-label,body.menu-min #sysnav .nav-item>span,body.menu-min .sidebar-caption>span{display:none}
  body.menu-min .sidebar-caption{justify-content:center;padding:0 0 10px}
  body.menu-min #sysnav.sidebar .nav-item{justify-content:center;padding:0;gap:0}
  body.menu-min .nav-mark{right:5px;top:6px}
  body.menu-min .sidebar-foot{justify-content:center;padding-left:0;padding-right:0}
  body.menu-min .sidebar-nav{gap:8px}
  body.menu-min .nav-group{border-bottom:1px solid #f0f1f2;padding-bottom:8px}
}
@media(max-width:900px){.nav-min{display:none}}
/* painel: filtros da lateral podem ser recolhidos */
@media(min-width:901px){
  body.painel-template.rail-fechada>.app{grid-template-columns:minmax(0,1fr)}
  body.painel-template.rail-fechada .rail{display:none}
}
@media(max-width:900px){#railToggle{display:none}}
/* o controle de Negócio do painel tem 3 opções: quebra em linhas em vez de cortar */
body.painel-template .rail .seg{flex-wrap:wrap;border-radius:16px}
body.painel-template .rail .seg button{flex:1 1 auto;white-space:nowrap}
/* o painel traz um estilo antigo de #sysnav (centralizado, lado a lado) que desalinhava o menu lateral: aqui volta ao mesmo esquadro das outras telas */
html body #sysnav.sidebar{align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:0;font-size:13px}
html body #sysnav .brand-block{padding:4px 2px 14px;margin-bottom:17px;gap:7px}

/* tabelas de indicadores (painel): o rótulo quebra em várias linhas e o valor fica inteiro, sem estourar o cartão */
body.page-ecompulse table.ledger{table-layout:auto;width:100%}
body.page-ecompulse table.ledger td{white-space:normal;overflow-wrap:anywhere;padding:.5rem 0;border-bottom:1px solid var(--ec-line)}
body.page-ecompulse table.ledger td:first-child{color:var(--mut)}
body.page-ecompulse table.ledger td:last-child{white-space:nowrap;text-align:right;font-weight:600;padding-left:1rem}

/* Medir por: recolhido mostra so a opcao escolhida; abre ao passar o mouse ou ao navegar pelo teclado (so em tela com mouse) */
@media (hover:hover) and (min-width:901px){
  body.painel-template .measure .seg{min-width:0;width:max-content;gap:0;padding:3px;transition:box-shadow .2s}
  body.painel-template .measure .seg button{overflow:hidden;max-width:12rem;outline:0;transition:max-width .28s var(--ease),padding .28s var(--ease),opacity .2s var(--ease),margin .28s var(--ease),background .2s var(--ease),color .2s var(--ease)}
  body.painel-template .measure .seg button + button{margin-left:2px}
  body.painel-template .measure .seg:not(:hover):not(:has(:focus-visible)) button[aria-pressed=false]{max-width:0;padding-left:0;padding-right:0;margin-left:0;opacity:0;pointer-events:none}
  body.painel-template .measure .seg:has(:focus-visible){box-shadow:0 0 0 2px #138b91}
}
.segslot,.medirbox{display:contents}
@media (hover:hover) and (min-width:901px){
  body.painel-template .measure .segslot{display:block;position:relative;width:var(--segw,auto);height:40px}
  body.painel-template .measure .medirbox{display:flex;align-items:center;gap:.6rem;position:absolute;right:0;top:0;height:40px;z-index:20}
  body.painel-template .measure .medirbox #mlabel{white-space:nowrap}
  body.painel-template .measure .medirbox .seg{box-shadow:0 0 0 0 transparent}
  body.painel-template .measure .medirbox .seg:hover{box-shadow:0 6px 18px rgba(20,30,50,.12)}
}

/* Medir por: animacao de abrir (as opcoes deslizam e aparecem uma apos a outra) e de fechar (recolhem juntas, mais rapido) */
@media (hover:hover) and (min-width:901px){
  body.painel-template .measure .seg button{flex:none;transform:none;transition:max-width .85s cubic-bezier(.22,1,.36,1),padding .85s cubic-bezier(.22,1,.36,1),margin-left .85s cubic-bezier(.22,1,.36,1),opacity .6s ease,transform .85s cubic-bezier(.22,1,.36,1),background .25s ease,color .25s ease}
  body.painel-template .measure .seg button:nth-child(1){--d:0ms}
  body.painel-template .measure .seg button:nth-child(2){--d:90ms}
  body.painel-template .measure .seg button:nth-child(3){--d:180ms}
  body.painel-template .measure .seg button:nth-child(4){--d:270ms}
  body.painel-template .measure .seg button[aria-pressed=false]{transition-delay:var(--d,0ms)}
  body.painel-template .measure .seg:not(:hover):not(:has(:focus-visible)) button[aria-pressed=false]{transform:translateX(14px) scale(.9);transition-duration:.5s;transition-delay:0ms}
}
@media (prefers-reduced-motion:reduce){      /* quem pediu menos movimento ainda ve a abertura, so mais curta e sem deslizar */
  body.painel-template .measure .seg button{transition-duration:.4s!important;transition-delay:0ms!important;transform:none!important}
}

/* ===== Padrao de formulario: o mesmo da ficha "Conferir a venda" (janela com topo, cartoes numerados, rotulo em cima, campos iguais em 2 colunas e rodape fixo) ===== */
dialog.dlg{border:0;border-radius:16px;padding:1.4rem 1.5rem;width:min(46rem,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow:auto;color:var(--ink);background:var(--bg);box-shadow:0 1.5rem 4rem rgba(0,14,53,.35)}
dialog.dlg::backdrop{background:rgba(0,14,53,.45)}
.gridH{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem .9rem}.gridH .w2{grid-column:span 2}
.dlgTopo{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin:0 0 .9rem}.dlgTopo .g{display:flex;gap:.4rem}
.rodDlg{position:sticky;bottom:-1.4rem;background:var(--bg);padding:.8rem 0 .2rem;margin-top:.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.rodDlg .g{display:flex;gap:.4rem;flex-wrap:wrap}
.sec{border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem 1rem;margin:0 0 .8rem}
.sec>h3{margin:0 0 .6rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.sec>h3 i{flex:none;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--acc);color:#fff;font-style:normal;display:grid;place-items:center;font-size:.75rem}
.sec .gridH{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.sec .gridH .f{display:flex;flex-direction:column;gap:.3rem;margin:0}.sec .gridH .f>b{font-size:.78rem;color:var(--mut);font-weight:600;margin:0}
.sec .gridH .f input:not([type=checkbox]),.sec .gridH .f select,.sec .gridH .f textarea{width:100%;box-sizing:border-box;min-height:2.6rem}
.sec .gridH .f textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.55rem .75rem;resize:vertical}
.sec .gridH .f.chk{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.9rem}.sec .gridH .f.chk input{width:auto;min-height:0;margin-top:.15rem}
.sec .gridH>p{margin:0;align-self:center}
@media(max-width:560px){.sec .gridH{grid-template-columns:1fr}.sec .gridH .w2{grid-column:auto}}

/* campos no padrao tambem fora de um cartao numerado (ex.: cartoes de Integracoes) */
.gridH.pad{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gridH.pad .f{display:flex;flex-direction:column;gap:.3rem;margin:0}.gridH.pad .f>b{font-size:.78rem;color:var(--mut);font-weight:600;margin:0}
.gridH.pad .f input:not([type=checkbox]),.gridH.pad .f select,.gridH.pad .f textarea{width:100%;box-sizing:border-box;min-height:2.6rem}
@media(max-width:560px){.gridH.pad{grid-template-columns:1fr}.gridH.pad .w2{grid-column:auto}}

/* tabelas: em TODAS as colunas (inclusive titulos, numeros e etiquetas) o texto quebra em varias linhas em vez de ser cortado */
body.page-ecompulse th,body.page-ecompulse td{white-space:normal;overflow-wrap:break-word}

/* ===== Filtro completo (o mesmo da lista de Corretores) para todas as telas com filtro ===== */
.filtros{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:1rem 0 1.2rem;background:var(--bg);display:grid;gap:.9rem}
.filtros .lin{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end}
.filtros .f{margin:0}.filtros .f b{display:block;font-size:.75rem;color:var(--mut);font-weight:600;margin-bottom:.25rem;letter-spacing:.02em}
.filtros select,.filtros input[type=search],.filtros input[type=date]{min-height:36px;min-width:8.5rem}
.filtros .f.fora{opacity:.4}.filtros .f.fora *{pointer-events:none}
.rap{display:flex;flex-wrap:wrap;gap:.35rem}
.chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.8125rem;cursor:pointer}.chip:hover{border-color:var(--acc)}
.chip[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:#fff}
.chip.u i{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.4rem;background:var(--c)}.chip.u[aria-pressed=true]{background:var(--c);border-color:var(--c);color:#fff}.chip.u[aria-pressed=true] i{background:#fff}

/* ===== Aviso flutuante (toast): fade in, some sozinho em uns 3 s ===== */
#ecToast{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:calc(100vw - 2rem)}
.ecToastItem{background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:10px;box-shadow:0 1rem 2.5rem rgba(0,14,53,.3);font-size:.88rem;max-width:22rem;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}
.ecToastItem.on{opacity:1;transform:translateY(0)}

/* ---------- padrão de filtros do sistema (base: Carteira). Linha 1: busca, período e limpar; linha 2: segmentação ---------- */
.fb{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:.9rem 1rem;display:grid;gap:.8rem;margin:.6rem 0 1.2rem}
.fbLinha{display:flex;gap:.7rem 1rem;align-items:flex-end;flex-wrap:wrap}
.fbBusca{flex:1 1 20rem;display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:12px;padding:0 .8rem;background:var(--faint);min-height:2.6rem;color:var(--mut)}
.fbBusca:focus-within{border-color:var(--acc);background:#fff;box-shadow:0 0 0 3px rgba(19,139,145,.15)}
.fbBusca input{border:0;background:none;outline:0;flex:1;font:inherit;color:var(--ink);padding:.5rem 0;min-width:0}
.fbCampo{display:grid;gap:.25rem;margin:0}
.fbCampo>span{font-size:.72rem;font-weight:600;color:var(--mut);letter-spacing:.02em}
.fbCor input{min-height:2.4rem;min-width:13rem}
.fbSeg{padding-top:.8rem;border-top:1px dashed var(--line);align-items:flex-end}
.fbRap{display:inline-flex;gap:2px;background:var(--faint);border:1px solid var(--line);border-radius:999px;padding:3px;flex-wrap:nowrap}
.fbRap .chip{border:0;background:none;padding:.35rem .85rem;border-radius:999px;font-size:.85rem;white-space:nowrap}
.fbRap .chip[aria-pressed=true]{background:var(--acc);color:#fff}
.fbRap .chip.u[aria-pressed=true]{background:var(--c);color:#fff}
.fbPer{position:relative}
.fbPer>summary{list-style:none;cursor:pointer;display:flex;gap:.5rem;align-items:center;min-height:2.6rem;padding:0 .9rem;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.fbPer>summary::-webkit-details-marker{display:none}
.fbPer>summary span{font-size:.72rem;font-weight:600;color:var(--mut)}
.fbPer>summary b{font-weight:600}
.fbPer>summary::after{content:'';width:.45rem;height:.45rem;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);margin:-.2rem 0 0 .3rem}
.fbPer[open]>summary{border-color:var(--acc)}
.fbPop{position:absolute;z-index:30;top:calc(100% + .4rem);left:0;width:min(30rem,88vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(28,39,53,.16);padding:1rem;display:grid;gap:.9rem}
.fbPop .rap{display:flex;flex-wrap:wrap;gap:.35rem}
.fbDeAte{display:flex;gap:.5rem;align-items:center}.fbDeAte>span{color:var(--mut);font-size:.85rem}
.fbLimpa{margin-left:auto;border:0;background:none;color:var(--acc);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:2.6rem;padding:0 .3rem}
.fbTit{font-size:.75rem;font-weight:600;color:var(--mut);margin:0 0 .4rem}
.fbCampo select,.fbCampo input:not([type=checkbox]){min-height:2.4rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);font:inherit;padding:0 .7rem;color:var(--ink)}
.fbCampo select{min-width:9rem}
@media(max-width:700px){.fbLinha{flex-direction:column;align-items:stretch}.fbLimpa{margin-left:0}.fbRap{flex-wrap:wrap;border-radius:14px}}
