/* Conseller polish v10 (2026-10-13): lista de seleção, calendário, relógio, cartões KPI e botões de ação.
 * Camada ADITIVA e global (entra depois de polish-v9). Para desfazer: apague a linha que injeta este arquivo e conseller-pickers.js.
 * Só tokens do tema (--bg-*, --border*, --text-*, --accent*): claro e escuro funcionam igual. Movimento: transform/opacity, ease-out forte. */
:root{--csl-e:cubic-bezier(.23,1,.32,1);--csl-pop-shadow:0 22px 48px -14px rgba(0,0,0,.62),0 2px 0 rgba(255,255,255,.03) inset}
html[data-theme="light"]{--csl-pop-shadow:0 18px 40px -14px rgba(20,32,26,.28)}

/* ---------- janela flutuante (base) ---------- */
.csl-pop{position:fixed;z-index:2147483000;box-sizing:border-box;max-width:calc(100vw - 16px);background:linear-gradient(var(--bg-2),var(--bg-2)),var(--bg-0,#0b0f0d);color:var(--text-0);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--csl-pop-shadow);font-family:inherit;outline:none;
  opacity:0;transform:translateY(-6px) scale(.97);will-change:transform,opacity}
.csl-pop[data-origin="bottom"]{transform:translateY(6px) scale(.97)}
.csl-pop.in{opacity:1;transform:none;transition:opacity .16s var(--csl-e),transform .18s var(--csl-e)}
.csl-pop.out{opacity:0;transition:opacity .12s ease-out}
@media (prefers-reduced-motion:reduce){.csl-pop,.csl-pop[data-origin="bottom"]{transform:none}.csl-pop.in,.csl-pop.out{transition:opacity .1s linear}}

/* ---------- campo select (fechado) ---------- */
select.csl-open{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)}
select{transition:border-color .16s var(--csl-e),box-shadow .16s var(--csl-e),background-color .16s var(--csl-e)}

/* ---------- lista de seleção ---------- */
.csl-selpop{padding:6px;display:flex;flex-direction:column;gap:4px;min-width:160px}
.csl-search{padding:2px 2px 4px}
.csl-search input{width:100%!important;height:34px!important;min-height:0!important;padding:0 12px!important;font-size:13px!important;border-radius:9px!important;background:var(--bg-1)!important;background-image:none!important;box-shadow:none}
.csl-search input:focus{box-shadow:0 0 0 3px var(--accent-soft)}
.csl-opts{max-height:min(320px,50vh);overflow:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}
.csl-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:7px 10px;border-radius:9px;font-size:13px;line-height:1.3;color:var(--text-1);cursor:pointer;user-select:none;transition:background-color .1s ease-out,color .1s ease-out}
.csl-opt .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csl-opt.act{background:var(--bg-3);color:var(--text-0)}
.csl-opt.sel{color:var(--accent);font-weight:700}
.csl-opt.sel.act{background:var(--accent-soft)}
.csl-opt .ck{display:inline-flex;flex:0 0 auto;color:var(--accent)}
.csl-opt.dis{opacity:.42;cursor:not-allowed}
.csl-grp{padding:8px 10px 4px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--text-2)}
.csl-none{padding:14px 10px;text-align:center;font-size:12.5px;color:var(--text-2)}

/* ---------- campos de data e hora (fechados) ---------- */
html input[type="date"],html input[type="time"]{background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important;padding-right:38px!important;cursor:pointer}
html input[type="date"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d9a92' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='3'/%3E%3Cpath d='M3 10h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E")!important}
html input[type="time"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d9a92' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}
input[type="date"].csl-open,input[type="time"].csl-open{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)}

/* ---------- calendário ---------- */
.csl-calpop{width:304px;padding:12px}
.csl-calpop .hd{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.csl-calpop .nav{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-1);cursor:pointer;padding:0;min-height:0;transition:background-color .12s ease-out,color .12s ease-out,transform .12s var(--csl-e)}
.csl-calpop .nav:active{transform:scale(.92)}
.csl-calpop .ttl{flex:1;height:34px;min-height:0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-0);font:inherit;font-size:14px;font-weight:600;text-transform:capitalize;cursor:pointer;padding:0 8px;transition:background-color .12s ease-out}
.csl-calpop .ttl b{font-weight:800;color:var(--accent)}
.csl-calpop .wk{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}
.csl-calpop .wk span{height:26px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--text-2)}
.csl-calpop .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.csl-calpop .grid.mon{grid-template-columns:repeat(3,1fr);gap:6px;padding:4px 0}
.csl-calpop .d,.csl-calpop .m{position:relative;height:36px;min-height:0;padding:0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-1);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .1s ease-out,color .1s ease-out,transform .12s var(--csl-e)}
.csl-calpop .m{height:44px;font-size:13.5px;text-transform:capitalize}
.csl-calpop .d.o{color:var(--text-2);opacity:.55}
.csl-calpop .d.today,.csl-calpop .m.today{border-color:var(--accent);color:var(--accent);font-weight:700}
.csl-calpop .d.foc:not(.sel){background:var(--bg-3);color:var(--text-0)}
.csl-calpop .d.sel,.csl-calpop .m.sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#04130a);font-weight:800;box-shadow:0 6px 16px -6px var(--accent)}
.csl-calpop .d:active,.csl-calpop .m:active{transform:scale(.92)}
.csl-calpop .d.dis{opacity:.28;cursor:not-allowed}
.csl-calpop .ft{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.csl-calpop .ft button,.csl-clkpop .ft button{min-height:0;height:32px;padding:0 12px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--accent);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:background-color .12s ease-out,transform .12s var(--csl-e)}
.csl-calpop .ft button:active,.csl-clkpop .ft button:active{transform:scale(.96)}
.csl-calpop .bd.slr{animation:cslSlideR .2s var(--csl-e)}
.csl-calpop .bd.sll{animation:cslSlideL .2s var(--csl-e)}
@keyframes cslSlideR{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes cslSlideL{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@media (hover:hover) and (pointer:fine){
  .csl-calpop .nav:hover,.csl-calpop .ttl:hover,.csl-calpop .ft button:hover,.csl-clkpop .ft button:hover{background:var(--bg-3)}
  .csl-calpop .d:not(.sel):not(.dis):hover,.csl-calpop .m:not(.sel):hover{background:var(--bg-3);color:var(--text-0)}
}
@media (prefers-reduced-motion:reduce){.csl-calpop .bd.slr,.csl-calpop .bd.sll{animation:none}}

/* ---------- relógio ---------- */
.csl-clkpop{width:264px;padding:14px 14px 10px;display:flex;flex-direction:column;align-items:center;gap:10px}
.csl-clkpop .disp{display:flex;align-items:center;gap:4px;font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-2);letter-spacing:-.02em}
.csl-clkpop .seg{min-height:0;height:56px;min-width:70px;padding:0 8px;border-radius:12px;border:1px solid transparent;background:var(--bg-3);color:var(--text-1);font:inherit;font-size:36px;font-weight:800;cursor:pointer;transition:background-color .14s var(--csl-e),color .14s var(--csl-e)}
.csl-clkpop .seg.on{background:var(--accent-soft);color:var(--accent)}
.csl-clkpop .dial{display:block;touch-action:none;cursor:pointer;user-select:none}
.csl-clkpop .face{fill:var(--bg-3)}
.csl-clkpop .n circle{fill:transparent;transition:fill .12s ease-out}
.csl-clkpop .n text{fill:var(--text-1);font-size:13px;font-weight:600;text-anchor:middle;pointer-events:none;transition:fill .12s ease-out}
.csl-clkpop .n.in2 text{font-size:11.5px;fill:var(--text-2)}
.csl-clkpop .n.on circle{fill:var(--accent)}
.csl-clkpop .n.on text{fill:var(--accent-ink,#04130a);font-weight:800}
.csl-clkpop .hand{transition:transform .22s var(--csl-e);pointer-events:none}
.csl-clkpop .hand line{stroke:var(--accent);stroke-width:2;opacity:.9}
.csl-clkpop .hand circle{fill:var(--accent);opacity:.22}
.csl-clkpop .pin{fill:var(--accent)}
.csl-clkpop .ft{display:flex;align-items:center;width:100%;gap:4px;border-top:1px solid var(--border);padding-top:8px}
.csl-clkpop .ft .sp{flex:1}
.csl-clkpop .ft .ok{background:var(--accent);color:var(--accent-ink,#04130a)}
@media (hover:hover) and (pointer:fine){.csl-clkpop .seg:not(.on):hover{background:var(--bg-2);border-color:var(--border-strong)}.csl-clkpop .ft .ok:hover{background:var(--accent-2,var(--accent));filter:brightness(1.06)}}
@media (prefers-reduced-motion:reduce){.csl-clkpop .hand{transition:none}}

/* ---------- cartões KPI estilo Conseller (só aparência; layout de cada página fica como está) ---------- */
html .kpi{position:relative;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border-color:var(--border);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,.035) inset,0 10px 24px -18px rgba(0,0,0,.7);transition:border-color .2s var(--csl-e),transform .22s var(--csl-e),box-shadow .22s var(--csl-e)}
html .kpi::before{content:"";position:absolute;left:14px;right:14px;top:-1px;height:2px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--accent),transparent 85%);opacity:.5;transition:opacity .22s var(--csl-e);pointer-events:none}
html .kpi .kpi-val,html .kpi .kpi-value,html .kpi b{font-variant-numeric:tabular-nums}
html .kpi:active{transform:scale(.995)}
@media (hover:hover) and (pointer:fine){
  html .kpi:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border-strong));box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 16px 30px -18px rgba(0,0,0,.75),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}
  html .kpi:hover::before{opacity:1}
}
@media (prefers-reduced-motion:reduce){html .kpi,html .kpi:hover,html .kpi:active{transform:none}}

/* ---------- botões de ação da barra (Exportar imagem / planilha etc.) ---------- */
.csl-section-header-actions>button,.csl-section-header-actions .xl-wrap>button,.dash-acts button{transition:transform .16s var(--csl-e),box-shadow .2s var(--csl-e),border-color .16s var(--csl-e),background-color .16s var(--csl-e),filter .16s var(--csl-e)}
.csl-section-header-actions>button:active,.csl-section-header-actions .xl-wrap>button:active,.dash-acts button:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  .csl-section-header-actions>button:hover,.csl-section-header-actions .xl-wrap>button:hover,.dash-acts button:hover{transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(0,0,0,.65);border-color:var(--accent)}
  .dash-acts #exportImgBtn:hover{filter:brightness(1.07)}
}
@media (prefers-reduced-motion:reduce){.csl-section-header-actions>button:hover,.dash-acts button:hover{transform:none}}

/* ---------- filtro de lojas das conciliações (.account-filter): só CSS, o comportamento da página não muda ---------- */
.account-filter-btn{font-weight:650!important;transition:border-color .16s var(--csl-e),box-shadow .16s var(--csl-e),transform .16s var(--csl-e)}
.account-filter:has(.account-filter-panel.open) .account-filter-btn{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}
.account-filter-panel{z-index:1000!important;min-width:max(100%,264px)!important;max-height:min(340px,56vh)!important;padding:6px!important;border-radius:14px!important;
  background:linear-gradient(var(--bg-2),var(--bg-2)),var(--bg-0,#0b0f0d)!important;border:1px solid var(--border-strong)!important;box-shadow:var(--csl-pop-shadow)!important;scrollbar-width:thin;transform-origin:top left}
.account-filter-panel.open{animation:cslFilterIn .18s var(--csl-e) both!important}
@keyframes cslFilterIn{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.account-filter-all,.account-filter-item{display:flex!important;align-items:center;gap:10px;min-height:38px;padding:6px 10px!important;border-radius:9px!important;font-size:13px!important;font-weight:600;text-transform:none!important;letter-spacing:0!important;color:var(--text-1)!important;cursor:pointer;user-select:none;transition:background-color .1s ease-out,color .1s ease-out}
.account-filter-all{position:relative;margin:0 0 6px!important;border-bottom:0!important;font-weight:800!important;color:var(--text-0)!important}
.account-filter-all::after{content:"";position:absolute;left:10px;right:10px;bottom:-4px;height:1px;background:var(--border)}
.account-filter-item:has(input:checked){background:var(--accent-soft);color:var(--accent)!important}
.account-filter-panel input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:18px;height:18px;min-height:0!important;margin:0;padding:0;border-radius:6px!important;border:1.5px solid var(--border-strong)!important;background-color:var(--bg-1)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:12px!important;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out,transform .14s var(--csl-e)}
.account-filter-panel input[type="checkbox"]:checked{background-color:var(--accent)!important;border-color:var(--accent)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304130a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")!important}
.account-filter-panel input[type="checkbox"]:active{transform:scale(.86)}
.account-filter-panel input[type="checkbox"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .account-filter-all:hover,.account-filter-item:hover{background:var(--bg-3)!important;color:var(--text-0)!important}
  .account-filter-item:has(input:checked):hover{background:var(--accent-soft)!important;color:var(--accent)!important}
  .account-filter-panel input[type="checkbox"]:not(:checked):hover{border-color:var(--accent)!important}
}
@media (prefers-reduced-motion:reduce){.account-filter-panel.open{animation:none!important}}

/* ===== Barra de topo: logo protegido + encaixe automático em qualquer largura/zoom (2026-10-13) =====
   O conseller-nav-fit.js mede a largura real e escolhe o modo (classes no .csl-shell):
   normal → tight → tighter → icons+nome do grupo atual (nav-keep) → só ícone. Mantém ícones e caixas do estilo Conseller. */
.csl-shell.csl-shell-top .csl-sidebar{min-width:0}
.csl-shell.csl-shell-top .csl-sidebar-head{flex:0 0 auto!important;min-width:max-content}
.csl-shell.csl-shell-top .csl-brand{flex:0 0 auto;min-width:max-content!important}
.csl-shell.csl-shell-top .csl-brand-mark{flex:0 0 auto}
.csl-shell.csl-shell-top .csl-brand-name{white-space:nowrap}
.csl-shell.csl-shell-top .csl-brand-name::after{font-size:7.5px!important;letter-spacing:1.7px!important;margin-top:4px!important}
.csl-shell.csl-shell-top .csl-topnav{min-width:0}
.csl-shell.csl-shell-top .csl-topnav>.csl-navlink,.csl-shell.csl-shell-top .csl-topnav>.csl-nav-group{flex:0 0 auto}
.csl-shell.csl-shell-top .csl-sidebar-foot{flex:0 0 auto;margin-left:auto}
/* rótulos aparecem em qualquer largura enquanto couberem (a regra antiga escondia entre 901 e 1919px) */
.csl-shell.csl-shell-top:not(.csl-nav-icons) .csl-topnav>.csl-navlink span,
.csl-shell.csl-shell-top:not(.csl-nav-icons) .csl-topnav .csl-nav-group-toggle span{display:inline!important;white-space:nowrap}
.csl-shell.csl-nav-measuring .csl-topnav,.csl-shell.csl-nav-measuring .csl-topnav *,.csl-shell.csl-nav-measuring .csl-sidebar-foot *{transition:none!important;animation:none!important}
/* compacto */
.csl-shell.csl-nav-tight.csl-shell-top .csl-topnav>.csl-navlink,.csl-shell.csl-nav-tight.csl-shell-top .csl-topnav .csl-nav-group-toggle{padding:8px 6px!important;gap:3px!important;font-size:12.5px!important}
.csl-shell.csl-nav-tight.csl-shell-top .csl-topnav .csl-nav-group-toggle .csl-ic:not(.csl-nav-caret),.csl-shell.csl-nav-tight.csl-shell-top .csl-topnav>.csl-navlink .csl-ic{width:15px;height:15px}
.csl-shell.csl-nav-tight.csl-shell-top .csl-brand-name::after{display:none!important}
/* apertado: sem setinhas */
.csl-shell.csl-nav-tighter.csl-shell-top .csl-topnav>.csl-navlink,.csl-shell.csl-nav-tighter.csl-shell-top .csl-topnav .csl-nav-group-toggle{padding:8px 4px!important;gap:2px!important;font-size:12px!important}
.csl-shell.csl-nav-tighter.csl-shell-top .csl-topnav .csl-nav-caret{display:none!important}
/* ícones (+ nome só do grupo atual) / só ícone */
.csl-shell.csl-nav-icons.csl-shell-top .csl-topnav>.csl-navlink span,.csl-shell.csl-nav-icons.csl-shell-top .csl-topnav .csl-nav-group-toggle span{display:none!important}
.csl-shell.csl-nav-icons.csl-shell-top .csl-topnav .csl-nav-group-toggle,.csl-shell.csl-nav-icons.csl-shell-top .csl-topnav>.csl-navlink{padding:9px!important;gap:3px!important}
.csl-shell.csl-nav-icons.csl-shell-top .csl-sidebar-foot a[href="/logout"] span{display:none!important}
.csl-shell.csl-nav-icons.csl-nav-keep.csl-shell-top .csl-topnav .csl-nav-group:has(.csl-subnav-link.csl-active)>.csl-nav-group-toggle span,
.csl-shell.csl-nav-icons.csl-nav-keep.csl-shell-top .csl-topnav>.csl-navlink.csl-active span,
.csl-shell.csl-nav-icons.csl-nav-keep.csl-shell-top .csl-topnav .csl-nav-group-toggle.csl-active span{display:inline!important}
.csl-shell.csl-nav-icons.csl-nav-keep .csl-topnav .csl-nav-caret{display:none!important}
.csl-shell.csl-nav-icons.csl-shell-top .csl-brand-name::after{display:none!important}

/* ===== Logotipo: sempre em linha (marca ao lado do nome), em QUALQUER página (2026-10-13) =====
   Páginas estáticas não trazem o CSS base do .csl-brand: o <a> virava texto corrido e a marca (um <span>) encolhia para ~10px
   com o nome empilhado embaixo. Estas regras valem para todas as páginas, com !important para ninguém desmontar. */
.csl-sidebar-head{display:flex!important;align-items:center;justify-content:space-between}
.csl-brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;text-decoration:none!important;color:var(--text-0)!important;flex:0 0 auto;min-width:max-content}
.csl-brand-mark{display:block!important;flex:0 0 auto!important;width:39px!important;height:39px!important;min-width:39px!important;max-width:39px!important;font-size:0!important;line-height:0!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
.csl-brand-name{display:flex!important;flex-direction:column!important;white-space:nowrap;color:var(--text-0)!important;text-decoration:none!important}
.csl-shell.csl-shell-top .csl-sidebar-head{min-height:0;height:var(--tn-h,64px);padding:0!important}
