/* Layout: menu lateral fixo + topo com busca e relógio; telas em coluna larga; atalhos redondos coloridos por módulo */
:root{
  --bg:#f5f6f8; --lado:#ffffff; --sup:#ffffff; --sup2:#f1f3f6; --linha:#e5e7eb; --linha2:#d6dae1;
  --tx:#0e1320; --tx2:#4a5263; --tx3:#6b7383; --ac:#2563eb; --ac-tx:#ffffff; --ac-suave:#e8efff;
  --ok:#15803d; --at:#b45309; --er:#dc2626; --az:#0369a1;
  --c-agenda:#0d9488; --c-clientes:#7c3aed; --c-contratos:#2563eb; --c-fin:#16a34a; --c-equipe:#db2777; --c-prod:#ea580c; --c-rel:#ca8a04;
  --sombra:0 1px 2px rgba(15,23,42,.05);
  --coluna:#e7eaf0; --card:#ffffff; --sombra-card:0 1px 3px rgba(15,23,42,.08);
  --f:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0a0d13; --lado:#0d1118; --sup:#141922; --sup2:#1a202b; --linha:#1f2632; --linha2:#2b3342;
  --tx:#e8ebf1; --tx2:#a3abba; --tx3:#828b9b; --ac:#4f8cff; --ac-tx:#0a0d13; --ac-suave:#16233d;
  --ok:#4ade80; --at:#fbbf24; --er:#f87171; --az:#38bdf8;
  --c-agenda:#2dd4bf; --c-clientes:#a78bfa; --c-contratos:#60a5fa; --c-fin:#4ade80; --c-equipe:#f472b6; --c-prod:#fb923c; --c-rel:#facc15;
  --sombra:none; --coluna:#11161f; --card:#1a2130; --sombra-card:0 1px 2px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0a0d13; --lado:#0d1118; --sup:#141922; --sup2:#1a202b; --linha:#1f2632; --linha2:#2b3342;
  --tx:#e8ebf1; --tx2:#a3abba; --tx3:#828b9b; --ac:#4f8cff; --ac-tx:#0a0d13; --ac-suave:#16233d;
  --ok:#4ade80; --at:#fbbf24; --er:#f87171; --az:#38bdf8;
  --c-agenda:#2dd4bf; --c-clientes:#a78bfa; --c-contratos:#60a5fa; --c-fin:#4ade80; --c-equipe:#f472b6; --c-prod:#fb923c; --c-rel:#facc15;
  --sombra:none; --coluna:#11161f; --card:#1a2130; --sombra-card:0 1px 2px rgba(0,0,0,.35); color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--tx);font-family:var(--f);font-size:14px;line-height:1.45}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
button{font-family:inherit}
svg.i{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100%}
/* menu lateral */
#lado{background:var(--lado);border-right:1px solid var(--linha);padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow:auto}
.logo{display:flex;align-items:center;gap:10px;padding:4px 8px 12px;font-weight:800;font-size:15px}
.logo i{width:30px;height:30px;border-radius:50%;background:conic-gradient(from 200deg,#f97316,#ec4899,#8b5cf6,#3b82f6,#f97316);display:block;box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--lado) 85%,transparent)}
.capturar{display:flex;align-items:center;gap:8px;border:1px solid var(--linha2);background:transparent;color:var(--tx2);border-radius:10px;padding:9px 12px;font-size:13.5px;cursor:pointer;margin-bottom:8px}
.capturar:hover{background:var(--sup2)}
.nav{display:grid;gap:2px}
.nav button{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--tx2);border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left}
.nav button:hover{background:var(--sup2)}
.nav button[aria-current="page"]{background:var(--sup2);color:var(--tx);font-weight:650}
.nav button .ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--c)}
.nav button[aria-current="page"] .ic{background:color-mix(in srgb,var(--c) 22%,transparent)}
.nav .novo{margin-left:auto;font-size:10px;font-weight:700;color:var(--ac);text-transform:uppercase;letter-spacing:.05em}
.rotulo-nav{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:12px 10px 4px}
.fim-nav{margin-top:auto;border-top:1px solid var(--linha);padding-top:8px}
/* topo */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.topo-in{display:flex;align-items:center;gap:14px;padding-block:10px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.busca{flex:1 1 auto;max-width:400px;display:flex;align-items:center;gap:8px;border:1px solid var(--linha2);border-radius:999px;padding:8px 14px;color:var(--tx3);background:var(--sup);font-size:13px}
.busca kbd{margin-left:auto;font:600 10.5px var(--f);color:var(--tx3)}
.relogio{font-size:13px;color:var(--tx2);white-space:nowrap}
.relogio b{color:var(--tx);font-variant-numeric:tabular-nums;font-weight:650;margin-left:6px}
.topo-acoes{margin-left:auto;display:flex;align-items:center;gap:4px}
.ib{width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--tx2);display:grid;place-items:center;cursor:pointer;position:relative}
.ib:hover{background:var(--sup2);color:var(--tx)}
.ib .ponto{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--er)}
.avatar{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;padding-left:6px}
.avatar i{width:32px;height:32px;border-radius:50%;border:1px solid var(--linha2);display:grid;place-items:center;font-style:normal;font-size:12px;color:var(--tx2)}
.menu-btn{display:none}
/* conteúdo */
.miolo{padding-block:28px 48px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));display:grid;gap:22px;max-width:1920px;width:100%;margin:0 auto}
.olho{font-size:11.5px;color:var(--ac);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.data-grande{font-size:clamp(30px,5vw,46px);font-weight:800;letter-spacing:-.03em;margin:4px 0 2px;line-height:1.05;text-wrap:balance}
.saud{color:var(--tx2);font-size:16px;margin:0}
h2.tit{font-size:20px;font-weight:750;letter-spacing:-.01em;margin:0}
.cab{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.cab .sub{margin:4px 0 0}
.sub{color:var(--tx3);font-size:13px;margin:0}
.link{border:0;background:none;color:var(--ac);font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.faixa{display:flex;align-items:center;gap:14px;background:var(--sup);border:1px solid var(--linha);border-radius:16px;padding:14px 16px;box-shadow:var(--sombra)}
.faixa .bolha{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--ac)) 18%,transparent);color:var(--c,var(--ac));flex-shrink:0}
.faixa .t{font-weight:650} .faixa .m{font-size:12.5px;color:var(--tx3)}
.faixa .min0{flex:1}
.atalhos{display:grid;grid-template-columns:repeat(7,minmax(84px,1fr));gap:8px;overflow-x:auto;padding:4px 2px 6px}
.atalho{border:0;background:transparent;color:var(--tx);display:grid;justify-items:center;gap:9px;font-size:13px;font-weight:650;cursor:pointer;padding:6px 0;border-radius:14px}
.atalho .bola{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:var(--c);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--c) 30%,var(--sup)),color-mix(in srgb,var(--c) 12%,var(--sup)));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 45%,transparent);transition:transform .15s}
.atalho .bola svg.i{width:26px;height:26px}
.atalho:hover .bola{transform:translateY(-2px)}
.rapidos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rapido{display:flex;align-items:center;gap:12px;background:var(--sup);border:1px solid var(--linha);border-radius:16px;padding:14px;box-shadow:var(--sombra);min-width:0}
.rapido .bolha{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);flex-shrink:0}
.rapido .t{font-weight:650;font-size:13.5px} .rapido .m{font-size:12px;color:var(--tx3)}
.mais{margin-left:auto;width:30px;height:30px;border-radius:50%;border:0;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.mais:hover{background:color-mix(in srgb,var(--c) 34%,transparent)}
.cartao{background:var(--sup);border:1px solid var(--linha);border-radius:18px;padding:18px;min-width:0;box-shadow:var(--sombra)}
.cartao h3{font-size:15px;margin:0 0 12px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cartao h3 small{font-weight:500;color:var(--tx3);font-size:12px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{background:var(--sup);border:1px solid var(--linha);border-radius:16px;padding:14px 16px;box-shadow:var(--sombra)}
.kpi .r{font-size:12px;color:var(--tx3);font-weight:600}
.kpi .v{font-size:22px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpi .d{font-size:12px;color:var(--tx3);margin-top:2px}
.dois{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.selo{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:650;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}
.s-ok{--c:var(--ok)} .s-at{--c:var(--at)} .s-er{--c:var(--er)} .s-az{--c:var(--az)} .s-ci{--c:var(--tx3)}
.verde{color:var(--ok)} .verm{color:var(--er)}
.tab{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11.5px;color:var(--tx3);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--linha);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--linha);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.click{cursor:pointer} tr.click:hover td{background:var(--sup2)}
.lista{display:grid;gap:8px}
.item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--linha);border-radius:14px;background:var(--sup);flex-wrap:wrap}
.item .t{font-weight:650} .item .m{font-size:12px;color:var(--tx3)}
.min0{min-width:0}
.alerta{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;font-size:13px;background:color-mix(in srgb,var(--c) 12%,var(--sup));border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.alerta b{color:var(--c)}
.alerta .bolha{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,transparent);color:var(--c);flex-shrink:0}
.barra{height:7px;border-radius:99px;background:var(--sup2);overflow:hidden}
.barra i{display:block;height:100%;background:var(--c,var(--ac));border-radius:99px}
.barra.passou i{background:var(--er)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;padding:9px 16px;font-weight:650;font-size:13.5px;cursor:pointer;border:1px solid transparent;min-height:40px}
.b-pri{background:var(--ac);color:var(--ac-tx)} .b-pri:hover{filter:brightness(1.08)}
.b-sec{background:var(--sup);color:var(--tx);border-color:var(--linha2)} .b-sec:hover{background:var(--sup2)}
.b-peq{min-height:32px;padding:5px 12px;font-size:12.5px;border-radius:10px}
.lado{display:flex;gap:8px;flex-wrap:wrap}
.lado>.btn{flex:1 1 0}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--linha2);background:var(--sup);color:var(--tx2);border-radius:999px;padding:6px 13px;font-weight:600;font-size:12.5px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:16px;overflow-x:auto;padding-bottom:6px}
.col{background:var(--coluna);border:1px solid var(--linha);border-radius:18px;padding:12px;display:grid;gap:10px;align-content:start;min-height:180px}
.col h4{font-size:13px;color:var(--tx);margin:2px 4px 4px;display:flex;justify-content:space-between;align-items:center;font-weight:750}
.col h4 span{font-size:11.5px;font-weight:700;color:var(--tx2);background:var(--card);border:1px solid var(--linha);border-radius:999px;padding:1px 9px}
.card{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:14px;display:grid;gap:8px;box-shadow:var(--sombra-card)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
@media (max-width:520px){.grade{grid-template-columns:minmax(0,1fr)}}
.card .t{font-weight:650;font-size:13px} .card .m{font-size:12px;color:var(--tx3)}
.fundo{position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:70;display:grid;place-items:center;padding:16px}
.modal{background:var(--sup);border:1px solid var(--linha);border-radius:22px;width:100%;max-width:32rem;max-height:88vh;overflow:auto;padding:28px;display:grid;gap:22px;box-shadow:0 30px 80px -20px rgba(2,6,23,.45)}
.modal h2{margin:0;font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.modal:not(.modal-ev):not(.modal-job)>.lado:last-child{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;margin:2px -28px -28px;padding:18px 28px 24px;border-top:1px solid var(--linha)}
.modal:not(.modal-ev):not(.modal-job)>.lado:last-child .btn{height:46px}
.modal .chips{gap:8px}
.modal .rot{margin-bottom:8px}
.modal .campo{padding:12px 14px}
@media (max-width:520px){.modal{padding:22px}.modal:not(.modal-ev):not(.modal-job)>.lado:last-child{margin:2px -22px -22px;padding:16px 22px 20px}}
.campo{width:100%;border:1px solid var(--linha2);background:var(--sup);color:var(--tx);border-radius:12px;padding:10px 12px;font:14px var(--f)}
.campo:focus{outline:2px solid var(--ac);outline-offset:1px}
.rot{font-size:13px;font-weight:600;color:var(--tx2);margin-bottom:6px;display:block}
.pares{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 16px;font-size:13px;margin:0}
.pares dt{color:var(--tx3)} .pares dd{margin:0;font-weight:600}
.pontos{display:flex;gap:6px;justify-content:center}
.pontos i{width:7px;height:7px;border-radius:9px;background:var(--linha2)} .pontos i.on{background:var(--ac);width:18px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--tx);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:600;z-index:80;font-size:13px}
.previa{font-size:11.5px;color:var(--tx3);text-align:center}
.vazio{display:flex;align-items:center;gap:12px;color:var(--tx3);font-size:13px;padding:6px 0}
button:focus-visible,tr.click:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
@media (max-width:1100px){.atalhos{grid-template-columns:repeat(7,84px)}}
@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  #lado{position:fixed;inset:0 auto 0 0;width:260px;z-index:65;transform:translateX(-105%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.3)}
  .app.aberto #lado{transform:none}
  .menu-btn{display:grid}
  .busca{display:none}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rapidos,.dois{grid-template-columns:minmax(0,1fr)}
  .avatar span{display:none}
  .topo-in,.miolo{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
}
@media (max-width:480px){.relogio{display:none}.ib.opc{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* refinamento agência */
.tag{display:inline-flex;align-items:center;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:650;background:var(--sup2);color:var(--tx2);border:1px solid var(--linha);white-space:nowrap}
.tags{display:flex;gap:4px;flex-wrap:wrap}
.pt{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:6px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent)}
.mini{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:750;background:color-mix(in srgb,var(--c,var(--ac)) 20%,transparent);color:var(--c,var(--ac));flex-shrink:0}
.secao{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:2px 0 -4px}
.dre td{padding:8px 10px}
.dre tr.tot td{font-weight:750;border-top:2px solid var(--linha2)}
.dre td.ind{padding-left:22px;color:var(--tx2)}
.kanban.k5{grid-template-columns:repeat(5,320px);scroll-snap-type:x proximity;scrollbar-width:thin}
.kanban.k5 .col{scroll-snap-align:start}
.kanban,.funil{align-items:start}
.btn{white-space:nowrap}
.card .rodape{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
.prazo{font-size:11.5px;font-weight:650;color:var(--tx3)} .prazo.atr{color:var(--er)}
.funil{display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:16px;overflow-x:auto;padding-bottom:6px}
.ent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;font-size:12.5px}
.ent .barra{grid-column:1/-1}
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.tres{grid-template-columns:minmax(0,1fr)}}
.fonte{font-size:12px;color:var(--tx3)} .fonte a{color:var(--ac)}
/* agenda da agência (calendário) */
.ag-topo{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.ag-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ag-nav .ib{font-size:22px;line-height:1;color:var(--tx2)}
.ag-tit{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.03em;margin:0 0 0 10px}
.ag-dir{display:flex;gap:10px;align-items:center}
.seg{display:inline-flex;border:1px solid var(--linha);border-radius:12px;padding:3px;background:var(--sup)}
.seg button{border:0;background:transparent;color:var(--tx2);padding:6px 14px;border-radius:9px;font-weight:650;font-size:13px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--sup2);color:var(--tx);box-shadow:inset 0 0 0 1px var(--linha2)}
.ct-lista{display:grid;gap:12px;margin-top:4px}
.ct-cab,.ct-item .ct-linha{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(130px,.8fr) minmax(200px,1.3fr) minmax(150px,.9fr) 150px 28px;gap:24px;align-items:center}
.ct-cab{padding:0 24px;font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.ct-item{background:var(--card,var(--sup));border:1px solid var(--linha);border-radius:16px;box-shadow:var(--sombra-card,none);transition:border-color .15s,box-shadow .15s}
.ct-item:hover,.ct-item.aberto{border-color:var(--linha2)}
.ct-linha{all:unset;box-sizing:border-box;width:100%;padding:18px 24px;cursor:pointer;display:grid}
.ct-linha:focus-visible{outline:2px solid var(--ac);outline-offset:-2px;border-radius:16px}
.ct-cli{display:grid;gap:6px}.ct-cli b{font-size:14.5px}
.ct-val,.ct-vig{display:grid;gap:3px}.ct-val b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.ct-val small{font-size:12px;font-weight:600;color:var(--tx3)}
.ct-vig b{font-size:13px;font-weight:650}.ct-val .sub,.ct-vig .sub{font-size:12px}
.ct-uso{display:grid;gap:7px}.ct-uso-l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--tx2);font-variant-numeric:tabular-nums}
.ct-chev{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--tx3);transition:transform .2s,background .15s}
.ct-linha:hover .ct-chev{background:var(--sup2);color:var(--tx)}
.ct-item.aberto .ct-chev{transform:rotate(180deg)}
.ct-chev svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;fill:none}
.ct-det{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;padding:20px 24px 24px;border-top:1px solid var(--linha)}
@media (max-width:1000px){.ct-cab{display:none}.ct-item .ct-linha{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:16px 18px}.ct-cli{grid-column:1}.ct-val{grid-column:2;text-align:right}.ct-uso{grid-column:1/-1}.ct-vig{grid-column:1}.ct-sit{grid-column:2;justify-self:end}.ct-chev{display:none}.ct-det{grid-template-columns:minmax(0,1fr);gap:24px;padding:18px}}
.modal-ev{max-width:34rem;padding:0;gap:0;border-radius:22px;box-shadow:0 30px 80px -20px rgba(2,6,23,.45)}
.ev-top{padding:24px 28px 22px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 10%,transparent),transparent);border-bottom:1px solid var(--linha);display:grid;gap:10px}
.ev-top-l{display:flex;align-items:center;gap:10px}
.ev-tipo{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--c);letter-spacing:.02em}
.ev-tipo .tipo-dot{background:var(--c)}
.ev-x{margin-left:auto;width:32px;height:32px;border-radius:10px;border:0;background:transparent;color:var(--tx3);display:grid;place-items:center;cursor:pointer}
.ev-x:hover{background:var(--sup2);color:var(--tx)}
.ev-tit{font-size:22px!important;font-weight:800;letter-spacing:-.02em!important;line-height:1.2;margin:2px 0 0!important}
.ev-quando{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx2);flex-wrap:wrap}
.ev-quando svg.i{width:16px;height:16px;color:var(--tx3)}
.ev-sep{width:4px;height:4px;border-radius:50%;background:var(--tx3);opacity:.6}
.ev-corpo{padding:24px 28px;display:grid;gap:26px}
.ev-info{display:grid;gap:18px}
.ev-l{display:flex;gap:14px;align-items:flex-start}
.ev-ic{width:36px;height:36px;border-radius:11px;background:var(--sup2);display:grid;place-items:center;color:var(--tx2);flex-shrink:0}
.ev-ic svg.i{width:17px;height:17px}
.ev-r{font-size:11.5px;color:var(--tx3);font-weight:600;margin-bottom:3px}
.ev-v{font-size:14px;font-weight:600;color:var(--tx);display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.ev-link{border:0;background:transparent;padding:0;font:600 13px var(--f);color:var(--ac);cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.ev-link:hover{text-decoration:underline}
.ev-link svg.i{width:14px;height:14px}
.ev-ck{display:grid;gap:12px;padding:18px 20px;border:1px solid var(--linha);border-radius:16px;background:color-mix(in srgb,var(--sup2) 45%,transparent)}
.ev-ck-h{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:var(--tx)}
.ev-ck-h:focus-visible{outline:2px solid var(--ac);outline-offset:4px;border-radius:6px}
.ev-ck-n{margin-left:auto}
.ev-ck-h .chev{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--tx3);transition:transform .2s,background .15s}
.ev-ck-h:hover .chev{background:var(--sup2);color:var(--tx)}
.ev-ck-h .chev svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.4;fill:none}
.ev-ck.fechado .chev{transform:rotate(-90deg)}
.ev-ck.fechado .ev-ck-l{display:none}
.ev-ck-n{font-size:12px;color:var(--tx3);font-weight:600;font-variant-numeric:tabular-nums}
.ev-ck .barra{height:5px}
.ev-ck-l{display:grid;gap:4px;margin-top:4px}
.ev-ck-i{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--tx);font:500 13.5px var(--f);padding:8px 6px;border-radius:10px;cursor:pointer;text-align:left}
.ev-ck-i:hover{background:var(--sup2)}
.ev-cx{width:20px;height:20px;border-radius:7px;border:1.5px solid var(--linha2);display:grid;place-items:center;flex-shrink:0;transition:background .15s,border-color .15s}
.ev-cx svg.i{width:13px;height:13px;stroke-width:3;color:#fff;opacity:0}
.ev-ck-i[aria-pressed="true"] .ev-cx{background:var(--ok);border-color:var(--ok)}
.ev-ck-i[aria-pressed="true"] .ev-cx svg.i{opacity:1}
.ev-ck-i[aria-pressed="true"]{color:var(--tx3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--tx3) 50%,transparent)}
.ev-pe{padding:18px 28px 24px;border-top:1px solid var(--linha)}
.ev-pe .lado{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px}
.ev-pe .btn{height:46px;justify-content:center}
@media (max-width:520px){.ev-top,.ev-corpo{padding-left:20px;padding-right:20px}.ev-pe{padding:16px 20px 20px}}
.ag-wrap{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:24px;align-items:start}
@media (max-width:1100px){.ag-wrap{grid-template-columns:minmax(0,1fr)}}
.ag-cal{background:var(--sup);border:1px solid var(--linha);border-radius:20px;overflow:hidden;box-shadow:var(--sombra)}
.ag-scroll{overflow-x:auto}
.ag-grid{display:grid;grid-template-columns:56px repeat(var(--n),minmax(140px,1fr));min-width:calc(56px + var(--n) * 140px)}
.ag-cab{padding:14px 6px 12px;display:flex;justify-content:center;align-items:center;gap:8px;border-bottom:1px solid var(--linha)}
.ag-cab span{font-size:12px;font-weight:600;color:var(--tx3);text-transform:capitalize}
.ag-cab b{font-size:18px;font-weight:700;min-width:34px;height:34px;padding:0 6px;border-radius:999px;display:grid;place-items:center;letter-spacing:-.02em}
.ag-cab.hoje span{color:var(--ac)} .ag-cab.hoje b{background:var(--ac);color:var(--ac-tx)}
.ag-todo{border-bottom:1px solid var(--linha);border-left:1px solid var(--linha);padding:5px;display:grid;gap:3px;min-height:34px;align-content:start}
.ag-todo-r{border-bottom:1px solid var(--linha)}
.dia-todo{font:600 11px var(--f);border-radius:6px;padding:3px 7px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;cursor:pointer;text-align:left;display:flex;gap:6px;align-items:center}
.dia-todo i{width:6px;height:6px;border-radius:50%;background:var(--c);flex-shrink:0}
.ag-horas{position:relative;height:calc(var(--h) * 52px)}
.ag-horas span{position:absolute;right:10px;font-size:11px;color:var(--tx3);transform:translateY(-50%);font-variant-numeric:tabular-nums}
.ag-col{position:relative;height:calc(var(--h) * 52px);border-left:1px solid var(--linha);background-image:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--linha) 80%,transparent) 0 1px,transparent 1px 52px);cursor:copy}
.ag-col.hoje{background-color:color-mix(in srgb,var(--ac) 4%,transparent)}
.ev{position:absolute;border-radius:8px;padding:5px 8px 5px 10px;font:12px/1.3 var(--f);overflow:hidden;cursor:pointer;border:0;text-align:left;color:var(--tx);background:color-mix(in srgb,var(--c) 15%,var(--sup));display:grid;align-content:start;gap:1px;z-index:1;transition:transform .12s,box-shadow .12s}
.ev::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.ev b{font-weight:650;font-size:12px}
.ev small{color:var(--tx2);font-size:11px}
.ev small,.ev.curto b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.mini{padding:2px 8px 2px 10px;display:flex;gap:6px;align-items:center}
.ev.mini b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.ev.mini small{font-size:10.5px}
.ev.pend{background:var(--sup);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,transparent)}
.ev.pend::before{background:repeating-linear-gradient(to bottom,var(--c) 0 4px,transparent 4px 7px)}
.ev.feito{opacity:.5}
.ev:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.12);z-index:4}
.ev:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
.bloq{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--tx3) 10%,transparent) 0 1px,transparent 1px 8px);font-size:11px;color:var(--tx3);padding:6px 10px;font-weight:600;pointer-events:none}
.agora{position:absolute;left:0;right:0;height:2px;background:var(--er);z-index:5;pointer-events:none}
.agora::before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--er)}
.mes{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px}
.mes .dn{font-size:12px;font-weight:600;color:var(--tx3);text-align:center;padding:14px 0 12px;border-bottom:1px solid var(--linha);text-transform:capitalize}
.mes .cel{min-height:118px;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:6px;display:grid;align-content:start;gap:3px;cursor:pointer}
.mes .cel:nth-child(7n){border-right:0}
.mes .cel:hover{background:var(--sup2)}
.mes .cel.fora{color:var(--tx3);background:color-mix(in srgb,var(--sup2) 60%,transparent)}
.mes .num{font-size:12.5px;font-weight:650;min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;justify-self:start;margin-bottom:2px}
.mes .cel.hoje .num{background:var(--ac);color:var(--ac-tx)}
.pil{font-size:11px;border-radius:5px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:6px;align-items:center}
.pil i{width:6px;height:6px;border-radius:50%;background:var(--c);flex-shrink:0}
.pil.cheio{background:color-mix(in srgb,var(--c) 14%,transparent)}
/* painel lateral único */
.ag-lado{grid-template-columns:minmax(0,1fr);min-width:0;background:var(--sup);border:1px solid var(--linha);border-radius:20px;box-shadow:var(--sombra);display:grid;align-content:start;align-self:start}
.ag-sec{min-width:0;padding:20px 22px;border-top:1px solid var(--linha);display:grid;gap:16px}
.ag-sec.fechada{gap:0;padding-bottom:18px}
.ag-sec.fechada>:not(h4){display:none}
.ag-sec h4 button.tg{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;flex:1;min-width:0;border-radius:6px}
.ag-sec h4 button.tg:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.ag-sec h4 .chev{margin-left:auto;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--tx3);transition:transform .2s,background .15s}
.ag-sec h4 button.tg:hover .chev{background:var(--sup2);color:var(--tx)}
.ag-sec.fechada h4 .chev{transform:rotate(-90deg)}
.ag-sec h4 .chev svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none}
.ag-sec h4 .nq{font-size:11.5px;color:var(--tx3);font-weight:650;letter-spacing:0}
.ag-sec:first-child{border-top:0}
.ag-sec h4{margin:0;font-size:12px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}
.ag-sec h4 b{font-size:14px;color:var(--tx);letter-spacing:-.01em;text-transform:none}
.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 2px;text-align:center}
.mini-cal .dn{font-size:10.5px;color:var(--tx3);font-weight:700;padding:2px 0 6px}
.mini-cal button{border:0;background:transparent;color:var(--tx);height:30px;border-radius:50%;font:500 12px var(--f);cursor:pointer;position:relative}
.mini-cal button:hover{background:var(--sup2)}
.mini-cal button.sem{background:color-mix(in srgb,var(--ac) 10%,transparent);border-radius:8px}
.mini-cal button.hoje{background:var(--ac);color:var(--ac-tx);font-weight:750;border-radius:50%}
.mini-cal button.fora{color:var(--tx3)}
.agendas{display:grid;gap:6px}
.agendas button{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--tx);padding:8px 8px;border-radius:9px;font:500 13.5px var(--f);cursor:pointer;text-align:left}
.agendas button:hover{background:var(--sup2)}
.agendas .cx{width:16px;height:16px;border-radius:5px;border:2px solid var(--c);display:grid;place-items:center;flex-shrink:0}
.agendas button[aria-pressed="true"] .cx{background:var(--c)}
.agendas .cx svg{width:11px;height:11px;stroke:var(--sup);stroke-width:3;fill:none;opacity:0}
.agendas button[aria-pressed="true"] .cx svg{opacity:1}
.agendas .qt{margin-left:auto;font-size:11.5px;color:var(--tx3);font-variant-numeric:tabular-nums}
.pend-l{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.pend-i{display:flex;align-items:center;gap:12px}
.pend-i .m{margin-top:3px;line-height:1.45}
.pend-i .min0{flex:1}
.pend-i .t{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pend-i .m{font-size:11.5px;color:var(--tx3)}
.icb{width:30px;height:30px;border-radius:9px;border:1px solid var(--linha2);background:var(--sup);display:grid;place-items:center;cursor:pointer;color:var(--tx2);flex-shrink:0}
.icb.ok{background:var(--ac);border-color:var(--ac);color:var(--ac-tx)}
.icb svg.i{width:15px;height:15px}
.resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
.resumo div{background:var(--sup2);border-radius:12px;padding:12px 4px}
.resumo b{display:block;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.resumo span{font-size:11px;color:var(--tx3)}
.encaixe{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px dashed var(--linha2);border-radius:12px;padding:10px 12px;background:transparent;color:var(--tx);cursor:pointer;font:inherit;text-align:left;width:100%}
.encaixe:hover{border-color:var(--ac)}
.erro-form{color:var(--er);font-size:13px;font-weight:600;margin:0}
.tipo-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:2px}

/* ===== refino geral v12 ===== */
.cartao-pe{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;margin:22px -24px -24px;padding:18px 24px 22px;border-top:1px solid var(--linha)}
.cartao-pe .btn{height:44px}
.cag{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.cartao.cag-p{display:grid;gap:0;padding:0}
.cag-s{display:grid;gap:14px;padding:24px;border-bottom:1px solid var(--linha)}.cag-s:last-child{border-bottom:0}
.cag-h{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px}.cag-h small{font-weight:500;color:var(--tx3);font-size:12px;margin-left:auto}
.cag-n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac);font-size:12px;font-weight:800}
.cag-dias{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.cag-dia{display:grid;justify-items:center;gap:2px;border-radius:14px;padding:12px 6px}
.cag-dia span{font-size:12px;text-transform:capitalize}.cag-dia b{font-size:20px;font-weight:800}.cag-dia small{font-size:11px;opacity:.75}
.cag-hs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}
.cag-hs .chip{border-radius:12px;padding:10px 0}
.chip:disabled{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.cag-r{display:grid;gap:20px}.cag-r h3{margin:0}
.cag-plano{display:flex;justify-content:space-between;font-size:13px;padding:12px 14px;border-radius:12px;background:var(--sup2)}
@media (max-width:1000px){.cag{grid-template-columns:minmax(0,1fr)}.cag-dias{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}}
@media (max-width:760px){.cartao-pe{margin:18px -18px -18px;padding:16px 18px 18px}.cag-s{padding:18px}}

.miolo{gap:28px}
.cartao{padding:24px;border-radius:20px}
.cartao h3{font-size:16px;margin:0 0 18px;letter-spacing:-.01em}
.kpis{gap:16px}
.kpi{padding:20px 22px;border-radius:18px}
.kpi .v{font-size:24px;margin-top:8px}
.kpi .d{margin-top:4px}
.dois{gap:20px;align-items:start}
.rapidos{gap:16px}
.rapido{padding:16px 18px;gap:14px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;padding:0 14px 12px}
td{padding:16px 14px}
tbody tr:last-child td{border-bottom:0}
tr.click:hover td{background:color-mix(in srgb,var(--sup2) 60%,transparent)}
.dre td{padding:13px 14px}
table.lanc-t{table-layout:fixed;min-width:640px}
table.lanc-t th:nth-child(2),table.lanc-t td:nth-child(2){width:130px}
table.lanc-t th:nth-child(3),table.lanc-t td:nth-child(3){width:170px}
table.lanc-t th:nth-child(4),table.lanc-t td:nth-child(4){width:220px}
table.lanc-t td:nth-child(4)>*{vertical-align:middle}
table.lanc-t td:nth-child(4) .btn,table.lanc-t td:nth-child(4) .selo{min-height:30px;height:30px;display:inline-flex;align-items:center}
table.lanc-t td:nth-child(4) .btn,table.lanc-t td:nth-child(4) .selo{min-width:104px;justify-content:center;margin-left:6px}
/* listas dentro de cartões: linhas divididas, sem caixa dentro de caixa */
.cartao .lista{gap:0}
.cartao .lista .item{border:0;border-radius:12px;background:transparent;padding:14px 10px;margin:0 -10px;border-bottom:1px solid var(--linha);border-radius:0}
.cartao .lista .item:last-child{border-bottom:0}
.cartao .lista .item[data-cli]:hover{background:color-mix(in srgb,var(--sup2) 60%,transparent);border-radius:12px}
.item .m{margin-top:3px}
/* avisos do Hoje */
.avisos .lista .alerta{background:transparent;border:0;border-bottom:1px solid var(--linha);border-radius:0;padding:14px 0;gap:14px}
.avisos .lista .alerta:last-child{border-bottom:0;padding-bottom:0}
.avisos .lista .alerta:first-child{padding-top:0}
.avisos .alerta .bolha{width:38px;height:38px;border-radius:12px}
.avisos .alerta b{display:block;font-size:13.5px;margin-bottom:2px}
.avisos .alerta span{color:var(--tx2)}
.avisos .alerta .btn{min-width:120px}
/* kanban: cartões com respiro e rodapé limpo */
.col{padding:14px;gap:12px}
.card{padding:16px;gap:10px}
.card .t{font-size:13.5px;line-height:1.35}
.card .m{line-height:1.45}
.card .rodape{border-top:1px solid var(--linha);padding-top:12px;margin-top:2px;flex-wrap:nowrap}
.card .prazo{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.card .prazo svg.i,.card .m svg.i{width:15px;height:15px;vertical-align:-3px}
.card .rd-dir{display:inline-flex;align-items:center;gap:8px}
.card .rd-dir .btn svg.i{width:14px;height:14px}
.card>.lado{border-top:1px solid var(--linha);padding-top:12px;margin-top:2px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}
.col:not(:has(.card))::after{content:"Nada nesta etapa";display:grid;place-items:center;min-height:110px;border:1.5px dashed var(--linha2);border-radius:14px;color:var(--tx3);font-size:12.5px}
/* equipe */
.ocup-l{display:grid;gap:0}
.ocup{display:grid;grid-template-columns:38px minmax(160px,240px) minmax(0,1fr) 56px 96px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--linha)}
.ocup:last-child{border-bottom:0;padding-bottom:0}.ocup:first-child{padding-top:0}
.ocup .mini{width:38px!important;height:38px!important}
.oc-nome{display:grid;gap:2px}.oc-nome b{font-size:14px}.oc-nome .sub{font-size:12px}
.oc-p{text-align:right;font-weight:750;font-variant-numeric:tabular-nums}
.oc-h{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:760px){.ocup{grid-template-columns:38px minmax(0,1fr) auto;gap:8px 14px}.ocup .barra{grid-column:2/-1;grid-row:2}.oc-h{display:none}}
.pares{gap:12px 24px}
.fonte{margin-top:-8px}
@media (max-width:760px){.cartao{padding:18px}.kpi{padding:16px 18px}
.avisos .lista .alerta{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px 14px;align-items:start}
.avisos .alerta>.btn,.avisos .alerta>.lado{grid-column:2;justify-self:start;min-width:0}
table.lanc-t{min-width:0;display:block}table.lanc-t thead{display:none}table.lanc-t tbody{display:block}
table.lanc-t tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid var(--linha)}
table.lanc-t tr:last-child{border-bottom:0}
table.lanc-t td{padding:0;border:0;width:auto!important;text-align:left}
table.lanc-t td:nth-child(1){grid-column:1;grid-row:1}
table.lanc-t td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-weight:650}
table.lanc-t td:nth-child(2){grid-column:1;grid-row:2;font-size:12px;color:var(--tx3)}
table.lanc-t td:nth-child(2)::before{content:"vence "}
table.lanc-t td:nth-child(4){grid-column:2;grid-row:2;text-align:right}
table.lanc-t td:nth-child(4) .btn,table.lanc-t td:nth-child(4) .selo{min-width:0;margin-left:4px}}
/* ===== Jobs: quadros ===== */
.nav-sub{display:grid;gap:1px;margin:2px 0 6px 22px;padding-left:12px;border-left:1px solid var(--linha)}
.nav .nav-sub button{padding:6px 8px;font-size:12.5px;gap:9px}
.nav .nav-sub button .qcor{width:9px;height:9px}
.nav .nav-sub button[aria-current="true"]{background:var(--sup2);color:var(--tx);font-weight:650}
.nav .nav-sub .q-add{color:var(--tx3)}
.nav .nav-sub .q-add svg.i{width:14px;height:14px}
.qcor{width:12px;height:12px;border-radius:4px;background:var(--c);flex-shrink:0;display:inline-block}
.pt.grande{width:11px;height:11px;margin:0}
.jtopo{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.jtit{display:flex;align-items:center;gap:10px}
.jtit h1{margin:0;font-size:clamp(26px,3.4vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.1}
.jtopo .sub{margin:6px 0 0}
.jtopo-d{display:flex;align-items:center;gap:14px}
.jib{width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:var(--tx3);display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0}
.jib:hover{background:var(--sup2);color:var(--tx)}
.jib svg.i{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jib.estrela svg.i{color:#0d9488}
.jbarra{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:-6px}
.jbarra-d{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.jseg button{display:inline-flex;align-items:center;gap:7px}
.jseg svg.i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jbusca{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--linha);border-radius:12px;background:var(--sup);color:var(--tx3);width:260px;max-width:100%}
.jbusca input{border:0;background:transparent;outline:0;font:13.5px var(--f);color:var(--tx);width:100%}
.jbusca svg.i{width:16px;height:16px}
.jtg[aria-pressed="true"]{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.avs{display:inline-flex;align-items:center}
.av{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:9.5px;font-weight:800;color:#fff;background:var(--c);border:2px solid var(--card,var(--sup));margin-left:-7px;letter-spacing:.02em}
.av:first-child{margin-left:0}
.av.g{width:34px;height:34px;font-size:11px;margin:0;border:0}
/* quadro */
.jboard{display:grid;grid-template-columns:repeat(var(--n),352px) 240px;gap:16px;overflow-x:auto;align-items:start;padding:2px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
.jcol{scroll-snap-align:start;border-radius:20px;padding:12px;display:grid;gap:10px;background:color-mix(in srgb,var(--c) 15%,var(--bg));border:1px solid color-mix(in srgb,var(--c) 24%,transparent);transition:box-shadow .15s,background .15s}
.jcol.sobre{box-shadow:0 0 0 2px var(--c);background:color-mix(in srgb,var(--c) 24%,var(--bg))}
.jcol-h{display:flex;align-items:center;gap:8px;padding:4px 4px 2px}
.jcol-h b{font-size:14px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jcol-h .pt{margin:0}
.jcnt{font-size:11.5px;font-weight:700;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--card,var(--sup));color:var(--tx2)}
.jcol-h .jib:first-of-type{margin-left:auto}
.jcol-h .jib{width:28px;height:28px}
.jcol-l{display:grid;gap:10px;min-height:20px}
.jvazio{border:1.5px dashed color-mix(in srgb,var(--c) 45%,transparent);border-radius:14px;padding:22px 10px;text-align:center;font-size:12.5px;color:var(--tx3)}
.jcol-add{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--tx2);font:600 13px var(--f);padding:8px 8px;border-radius:10px;cursor:pointer}
.jcol-add:hover{background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--tx)}
.jcol-add svg.i{width:16px;height:16px}
.jcol-nova{border:1.5px dashed var(--linha2);border-radius:20px;background:transparent;color:var(--tx3);font:600 13px var(--f);padding:18px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.jcol-nova:hover{color:var(--tx);border-color:var(--tx3)}
.jcard{background:var(--card,var(--sup));border:1px solid var(--linha);border-radius:16px;padding:14px 14px 12px;display:grid;gap:10px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 4px 14px -6px rgba(15,23,42,.10);cursor:grab;transition:transform .12s,box-shadow .12s}
.jcard:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(15,23,42,.06),0 10px 24px -10px rgba(15,23,42,.22)}
.jcard:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.jcard.arrastando{opacity:.45;transform:rotate(1.5deg)}
.jc-cli{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--tx3);font-weight:600}
.jc-cli .pt{margin:0;width:7px;height:7px}
.jc-tags{display:flex;gap:6px;flex-wrap:wrap}
.jtag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:7px;color:#fff;background:var(--c)}
.jtag.suave{background:var(--sup2);color:var(--tx2)}
.jc-t{font-size:14px;font-weight:700;line-height:1.35;letter-spacing:-.005em}
.jc-chips{display:flex;gap:6px;flex-wrap:wrap}
.jchip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:8px;font-size:11.5px;font-weight:650;background:var(--sup2);color:var(--tx2);white-space:nowrap}
.jchip svg.i{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2}
.jchip.pri{color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.jchip.atr{background:#dc2626;color:#fff}
.jchip.hj{background:#14b8a6;color:#fff}
.jc-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:11.5px;color:var(--tx3);font-variant-numeric:tabular-nums}
.jc-prog .barra{height:5px}
.jc-pe{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:2px}
.jc-ics{display:flex;gap:10px;color:var(--tx3);font-size:11.5px;font-weight:600}
.jc-ics span{display:inline-flex;align-items:center;gap:3px}
.jc-ics svg.i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
/* lista */
.jlista{display:grid;gap:10px}
.jl-cab,.jl-l{display:grid;grid-template-columns:minmax(260px,2.4fr) minmax(170px,1fr) 130px 120px 120px;gap:20px;align-items:center}
.jl-cab{padding:0 22px;font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.jl-l{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(260px,2.4fr) minmax(170px,1fr) 130px 120px 120px;gap:20px;align-items:center;padding:16px 22px;border-radius:16px;background:var(--card,var(--sup));border:1px solid var(--linha);box-shadow:var(--sombra-card,none);cursor:pointer}
.jl-l:hover{border-color:var(--linha2)}
.jl-l:focus-visible{outline:2px solid var(--ac)}
.jl-d{display:grid;gap:4px}.jl-d b{font-size:14px;font-weight:650}
.jl-d .sub{font-size:12px;display:flex;align-items:center;gap:6px}.jl-d .pt{margin:0;width:7px;height:7px}
.jcolpill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:650;color:var(--tx);background:color-mix(in srgb,var(--c) 16%,transparent);white-space:nowrap}
.jcolpill i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.jcolpill.b{border:1px solid transparent;cursor:pointer;font:600 12px var(--f)}
.jcolpill.b.on{border-color:var(--c)}
/* calendário */
.jcal{display:grid;gap:8px}
.jcal-dn,.jcal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.jcal-dn span{font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;padding-left:4px}
.jcal-c{min-height:118px;background:var(--card,var(--sup));border:1px solid var(--linha);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:5px;min-width:0}
.jcal-c.fora{background:transparent;opacity:.55}
.jcal-n{font-size:12.5px;font-weight:750;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;margin:-3px 0 2px -3px}
.jcal-n.hj{background:#14b8a6;color:#fff}
.jcal-e{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:650;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-width:0}
.jcal-e i{width:6px;height:6px;border-radius:50%;background:var(--c);flex-shrink:0}
.jcal-e.ok{opacity:.55;text-decoration:line-through}
.jcal-e:hover{background:color-mix(in srgb,var(--c) 28%,transparent)}
/* janelas */
.modal-job{max-width:62rem;padding:0;gap:0}
.jd{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.jd-main{padding:26px 30px 28px;display:grid;gap:24px;align-content:start;min-width:0}
.jd-top{display:flex;align-items:center;gap:10px}.jd-top .ev-x{margin-left:auto}
.jd-t{font-size:26px!important;font-weight:800;letter-spacing:-.025em!important;line-height:1.2;margin:-8px 0 0!important}
.jd-sec{display:grid;gap:12px}
.jd-h{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.jd-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff}
.jd-ic svg.i{width:15px;height:15px;stroke-width:2.4}
.jd-pc{margin-left:auto;font-size:12px;color:var(--tx3);font-variant-numeric:tabular-nums}
.jd-desc{background:var(--sup2);border-radius:14px;padding:14px 16px;font-size:13.5px;line-height:1.6;outline:0;min-height:56px}
.jd-desc:focus{box-shadow:0 0 0 2px var(--ac)}
.jd-bar{height:6px}
.jd-ck{display:grid;gap:2px}
.jd-ck .ev-ck-i[aria-pressed="true"] .ev-cx{background:#14b8a6;border-color:#14b8a6}
.jd-add{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--tx3);font:600 13px var(--f);padding:8px 6px;cursor:pointer;border-radius:10px}
.jd-add:hover{background:var(--sup2);color:var(--tx)}
.jd-add svg.i{width:16px;height:16px}
.jd-coms{display:grid;gap:14px}
.jd-com{display:flex;gap:12px;align-items:flex-start}
.jd-bal{background:var(--sup2);border-radius:4px 14px 14px 14px;padding:10px 14px;font-size:13.5px;line-height:1.5;max-width:520px}
.jd-bal .sub{font-size:11.5px;margin-bottom:2px}
.jd-lado{background:color-mix(in srgb,var(--sup2) 55%,transparent);border-left:1px solid var(--linha);padding:26px 22px;display:grid;gap:22px;align-content:start}
.jd-props{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;margin:0;font-size:13px}
.jd-props dt,.jd-props dd{padding:11px 0;border-bottom:1px solid var(--linha);margin:0;display:flex;align-items:center;min-height:46px;box-sizing:border-box}
.jd-props dt{color:var(--tx3)}
.jd-props dd{justify-content:flex-end;font-weight:650;gap:6px;text-align:right}
.jd-props dd .pt{margin:0}
.jd-props dt:last-of-type,.jd-props dd:last-of-type{border-bottom:0}
.jd-mover{display:grid;gap:4px}.jd-cols{display:flex;flex-wrap:wrap;gap:6px}
.qlista{display:grid;gap:8px}
.qitem{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--linha);border-radius:14px;background:var(--sup);color:var(--tx);cursor:pointer;text-align:left;font:inherit}
.qitem:hover,.qitem.on{border-color:var(--linha2);background:var(--sup2)}
.qitem .min0{flex:1;display:grid;gap:2px}.qitem b{font-size:14px}.qitem .sub{font-size:12px}
.qitem .qcor{width:14px;height:14px}
.qcor-b{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:12px}
.qcor-b[aria-pressed="true"]{background:var(--sup);color:var(--tx);border-color:var(--c);box-shadow:0 0 0 2px var(--c)}
.qcor-b .qcor{width:18px;height:18px;border-radius:6px}
.qmods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qmod{display:grid;gap:4px;text-align:left;border-radius:14px;padding:12px 14px}
.qmod b{font-size:13px}.qmod span{font-size:11.5px;opacity:.75;font-weight:500;line-height:1.4}
@media (max-width:900px){.jd{grid-template-columns:minmax(0,1fr)}.jd-lado{border-left:0;border-top:1px solid var(--linha)}.jl-cab{display:none}.jl-l{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px}.jl-l>:nth-child(1){grid-column:1/-1}.jcal-g,.jcal-dn{gap:4px}.jcal-c{min-height:72px;padding:6px;border-radius:10px}.jcal-e{font-size:0;padding:4px}.jcal-e i{width:8px;height:8px}}
#j-vis{min-width:0;max-width:100%}
.jboard{max-width:100%}
@media (max-width:760px){.jtit h1{font-size:24px}.jtit{gap:6px}.jd-main{padding:20px}.jd-lado{padding:20px}.jboard{grid-template-columns:repeat(var(--n),82vw) 60vw}.jbusca{width:100%}.jbarra-d{width:100%}.jbarra-d .jbusca{flex:1}.qmods{grid-template-columns:minmax(0,1fr)}}
/* ===== Carga da equipe ===== */
.cg-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px 4px}
.cg-g{display:grid;grid-template-columns:minmax(200px,1.3fr) repeat(var(--d),minmax(118px,1fr)) minmax(150px,.9fr);gap:10px;min-width:1000px;align-items:stretch}
.cg-hd{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:0 4px 4px;display:flex;align-items:baseline;gap:6px}
.cg-hd b{font-size:13px;color:var(--tx);letter-spacing:0}
.cg-hd.hj,.cg-hd.hj b{color:var(--ac)}
.cg-hd.n{justify-content:flex-end}
.cg-p{display:flex;align-items:center;gap:12px;min-width:0;padding:6px 0}
.cg-p b{display:block;font-size:14px}.cg-p .sub{font-size:12px;white-space:nowrap}
.cg-c{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:7px;align-content:start;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--c) 10%,var(--sup));border:1px solid color-mix(in srgb,var(--c) 22%,transparent);min-height:84px;transition:transform .12s,box-shadow .12s}
.cg-c:hover{transform:translateY(-1px);box-shadow:0 6px 16px -8px color-mix(in srgb,var(--c) 60%,transparent)}
.cg-c:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.cg-c.alto{background:color-mix(in srgb,var(--c) 16%,var(--sup))}
.cg-c.passado{opacity:.55}
.cg-c.hj{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ac) 55%,transparent)}
.cg-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}
.cg-top b{font-size:15px;font-weight:800}.cg-top span{font-size:12px;font-weight:700;color:var(--c)}
.cg-bar{height:5px;border-radius:99px;background:color-mix(in srgb,var(--c) 18%,transparent);overflow:hidden}
.cg-bar i{display:block;height:100%;background:var(--c);border-radius:99px}
.cg-cont{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:11px;color:var(--tx3);font-weight:600}
.cg-c.folga{--c:var(--tx3);background:repeating-linear-gradient(135deg,transparent 0 7px,color-mix(in srgb,var(--tx3) 10%,transparent) 7px 14px);border-style:dashed;align-content:center;justify-items:center;text-align:center}
.cg-c.folga b{font-size:13px}.cg-c.folga span{font-size:11px;color:var(--tx3)}
.cg-s{display:grid;justify-items:end;align-content:center;gap:4px;text-align:right}
.cg-s b{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.cg-s .sub{font-size:12px}
.cg-leg{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--linha);font-size:12.5px;color:var(--tx2)}
.cg-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:7px;vertical-align:-1px}
.cg-leg .sub{margin-left:auto}
.cg-it{display:grid;gap:2px}
.cg-i{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:12px 8px;border-radius:12px;border-bottom:1px solid var(--linha)}
.cg-i:last-child{border-bottom:0}
button.cg-i{cursor:pointer}button.cg-i:hover{background:var(--sup2)}
.cg-i .min0{flex:1;display:grid;gap:2px}.cg-i b{font-size:13.5px}.cg-i .sub{font-size:12px}
.cg-h{font-weight:750;font-variant-numeric:tabular-nums;font-size:13.5px}
.cg-k{width:10px;height:10px;border-radius:3px;flex-shrink:0;background:var(--tx3)}
.cg-k.job{background:var(--c-prod)}.cg-k.ag{background:var(--c-agenda)}.cg-k.rot{background:var(--linha2)}.cg-k.folga{background:transparent;border:1.5px dashed var(--tx3)}
.qm-chip small{font-weight:700;margin-left:6px;opacity:.8}
.qm-chip[data-cheio="1"] small{color:var(--er);opacity:1}
.qm-aviso{font-size:12.5px;margin:8px 0 0;color:var(--er);font-weight:600}
.cg-pm{display:none}
@media (max-width:760px){.cg-leg .sub{margin-left:0;width:100%}
.cg-scroll{overflow:visible;margin:0;padding:0}
.cg-g{min-width:0;grid-template-columns:78px repeat(var(--d),minmax(0,1fr));gap:6px}
.cg-s,.cg-hd.n,.cg-p .av,.cg-cont,.cg-p .sub{display:none}
.cg-hd{font-size:9.5px;flex-direction:column;gap:0;padding:0 0 2px;align-items:center}.cg-hd:first-child{align-items:flex-start}
.cg-p{padding:0}.cg-p b{font-size:12.5px}.cg-pm{display:block;font-size:11px;font-weight:700;margin-top:2px}
.cg-c{padding:8px 5px;min-height:60px;border-radius:10px;gap:5px;justify-items:center;text-align:center}
.cg-top{flex-direction:column;align-items:center;gap:1px}.cg-top b{font-size:12.5px}.cg-top span{font-size:10.5px}
.cg-bar{width:100%}.cg-c.folga b{font-size:11px}.cg-c.folga span{display:none}}

/* ===== v1.6.0: sistema real ===== */
[hidden]{display:none!important}
button.busca{font:inherit;font-size:13px;cursor:pointer;text-align:left}
button.busca:hover{border-color:var(--tx3)}
.entrada{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--fundo,var(--bg))}
.ent-card{width:100%;max-width:400px;display:grid;gap:18px;background:var(--sup);border:1px solid var(--linha);border-radius:24px;padding:36px;box-shadow:0 24px 60px -30px rgba(15,23,42,.35)}
.ent-card .logo{margin:0 0 6px}
.ent-card h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}
.ent-card .sub{margin:-8px 0 0}
.ent-card .btn{height:48px;width:100%;justify-content:center}
.ent-pe{font-size:12.5px;text-align:center;margin:0!important}
.carregando{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg)}
.carregando span{width:34px;height:34px;border-radius:50%;border:3px solid var(--linha2);border-top-color:var(--ac);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.exemplo{display:flex;gap:12px;align-items:center;padding:14px 18px;border-radius:16px;background:color-mix(in srgb,var(--at) 10%,var(--sup));border:1px solid color-mix(in srgb,var(--at) 30%,transparent);font-size:13.5px;color:var(--tx2)}
.exemplo b{color:var(--tx)}
.nav .ex{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3);border:1px solid var(--linha2);border-radius:99px;padding:2px 7px}
.vazio{display:grid;justify-items:center;gap:10px;text-align:center;padding:40px 20px;color:var(--tx3)}
.vazio b{color:var(--tx);font-size:15px}
.salvando{opacity:.6;pointer-events:none}
.form-g{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.form-g{grid-template-columns:1fr}}
.busca-r{display:grid;gap:2px;max-height:50vh;overflow:auto}
.busca-r .item{cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.jcal-nav{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.jcal-nav b{font-size:15px;min-width:160px;text-align:center}
.jd-novo-ck{margin-top:6px}
.jd-desc:empty::before{content:attr(data-ph);color:var(--tx3)}
.jd-arq{color:var(--tx3);height:40px}
textarea.campo{resize:vertical;min-height:84px;line-height:1.5}
.chips .chip small{opacity:.7;margin-left:4px;font-weight:600}
button.bloq{pointer-events:auto;cursor:pointer;border:0;text-align:left;font-family:inherit;display:flex;align-items:flex-start;width:100%;z-index:1}
button.bloq:hover{background-color:color-mix(in srgb,var(--tx3) 6%,transparent)}
.ent-link{border:0;background:none;color:var(--ac);font:600 13.5px var(--f);cursor:pointer;justify-self:center;padding:4px 8px}
.ent-link:hover{text-decoration:underline}
.entrada .ent-card+.ent-card{margin-top:0}
