/* ================= INÍCIO › OPERAÇÕES E PROJETOS (inicio-ops.js) ================= */
#inOps{--io-late:#ff6b7d;--io-late-bg:rgba(255,92,112,.08);--io-late-bd:rgba(255,92,112,.35)}
:root[data-theme="light"] #inOps{--io-late:#d92d47;--io-late-bg:rgba(217,45,71,.06);--io-late-bd:rgba(217,45,71,.30)}
#inOps .do-fic{margin-bottom:14px}

.io-filtros{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:-6px 0 16px}
.io-filtros select{width:auto;min-width:190px}

/* destaque das tasks em atraso */
.io-gas{border:1px solid var(--io-late-bd);background:var(--io-late-bg);border-radius:var(--r,18px);padding:18px 20px;margin-bottom:16px;position:relative;overflow:hidden}
.io-gas::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--io-late)}
.io-gas h3{margin:0;font-size:17px;color:var(--io-late);letter-spacing:-.3px}
.io-gas p{margin:3px 0 0;color:var(--dim);font-size:13px}
.io-gas-lista{margin-top:12px;display:grid;gap:6px}
.io-gas.ok{border-color:var(--line);background:var(--panel)}
.io-gas.ok::before{background:var(--ok)}
.io-gas.ok h3{color:var(--txt,inherit)}

/* big numbers */
.io-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}
.io-kpis .kpi small:empty{display:none}
.io-kpi-late .v{color:var(--io-late)}
.io-kpi-pct .io-barra{margin-top:8px}
.io-barra{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.io-barra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--kb-roxo-2,#7c5cff),var(--kb-roxo-1,#a996ff))}
.io-barra.grande{height:10px;margin:10px 0 14px}

/* colunas */
.io-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.io-col{display:grid;gap:16px;min-width:0}
.io-col .card{margin:0}
.io-card-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.io-card-h h3{margin:0}
.io-sub{margin-left:auto;color:var(--dim2);font-size:12.5px}

/* status: chips de filtro + barra de distribuição */
.io-sts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.io-st{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:99px;padding:5px 11px;font-size:12.5px;cursor:pointer;font-family:inherit}
.io-st i{width:8px;height:8px;border-radius:50%}
.io-st b{color:var(--txt,inherit);font-weight:700}
.io-st.on{border-color:var(--kb-roxo-2,#7c5cff);background:rgba(124,92,255,.14);color:var(--txt,inherit)}
.io-dist{display:flex;gap:2px;height:8px;border-radius:99px;overflow:hidden;margin-bottom:12px}
.io-dist:empty{display:none}

/* linhas de task */
.io-lista{display:grid;gap:6px}
.io-task{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--panel);transition:border-color .12s,background .12s}
.io-task:hover{border-color:var(--kb-roxo-2,#7c5cff);background:rgba(124,92,255,.07)}
.io-task:focus-visible{outline:2px solid var(--kb-roxo-2,#7c5cff);outline-offset:1px}
.io-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.io-task-nm{flex:1;min-width:0}
.io-task-nm b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.io-task-nm small{display:block;color:var(--dim2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.io-chip{font-size:11.5px;padding:3px 9px;border-radius:99px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}
.io-chip.pausa{color:var(--warn,#f5a524)}
.io-prazo{font-size:12.5px;color:var(--dim);white-space:nowrap;min-width:78px;text-align:right}
.io-prazo.late,.io-atraso{color:var(--io-late);font-weight:600}
.io-atraso{font-size:12px;white-space:nowrap}
.io-mais-txt{margin:10px 0 0;color:var(--dim2);font-size:12.5px}
.io-mais-txt a{color:var(--kb-roxo-1,#a996ff)}
.io-vermais{margin-top:10px}

/* minha sprint */
.io-sp-num{display:flex;align-items:baseline;gap:10px}
.io-sp-num b{font-size:34px;font-weight:800;letter-spacing:-1.2px}
.io-sp-num span{color:var(--dim2);font-size:13px}
.io-sp-sts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.io-sp-sts span{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim)}
.io-sp-sts i{width:8px;height:8px;border-radius:50%}
.io-sp-sts b{margin-left:auto;color:var(--txt,inherit)}

/* carteira */
.io-carteira{display:grid;gap:8px}
.io-proj{border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;transition:border-color .12s,background .12s}
.io-proj:hover{border-color:var(--kb-roxo-2,#7c5cff)}
.io-proj.on{border-color:var(--kb-roxo-2,#7c5cff);background:rgba(124,92,255,.10)}
.io-proj-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.io-proj-top b{font-size:13.5px;flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.io-abrir{margin-left:auto;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:8px;width:28px;height:26px;cursor:pointer;font-size:14px;line-height:1}
.io-abrir:hover{color:var(--txt,inherit);border-color:var(--kb-roxo-2,#7c5cff)}
.io-proj-bar{display:flex;align-items:center;gap:10px}
.io-proj-bar .io-barra{flex:1}
.io-proj-bar small{color:var(--dim2);font-size:12px;white-space:nowrap}

@media(max-width:1200px){.io-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.io-grid{grid-template-columns:1fr}}
@media(max-width:640px){.io-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.io-filtros select{flex:1;min-width:0}.io-chip{display:none}}
/* atraso em 2 colunas: destaque sem empurrar o resto da página */
.io-gas-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.io-gas-lista{grid-template-columns:1fr}}
/* linha com dois cards: carteira (esquerda) + tasks da sprint por status (direita) */
.io-dupla{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:16px}
.io-dupla .card{margin:0}
.io-card-sel{margin-left:auto;width:auto;min-width:0;max-width:60%;height:34px;padding:0 30px 0 12px;font-size:12.5px}
.io-bars .brow{cursor:pointer;border-radius:8px;padding:3px 4px;margin:-3px -4px}
.io-bars .brow:hover{background:rgba(124,92,255,.07)}
.io-bars .brow:focus-visible{outline:2px solid var(--kb-roxo-2,#7c5cff)}
#inOps > .io-card{margin-bottom:16px}
@media(max-width:900px){.io-dupla{grid-template-columns:1fr}}
/* abas (Visão geral | Caixa de entrada) à esquerda e filtros à direita, na mesma linha */
.io-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-6px 0 16px}
.io-topo .io-filtros{margin:0}
.io-abas-slot .in-abas{margin:0}
#pg-inicio .in-abas{width:max-content;margin-left:0;margin-right:auto}
/* tasks da sprint por status em colunas verticais (clicáveis) */
.io-cols .io-col-click{cursor:pointer;border-radius:10px;transition:background .12s}
.io-cols .io-col-click:hover{background:rgba(124,92,255,.07)}
.io-cols .io-col-click:focus-visible{outline:2px solid var(--kb-roxo-2,#7c5cff)}
/* carteira em cards minimalistas: logo (ou iniciais) + nome embaixo */
.io-carteira{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px}
.io-pcard{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 4px 4px;border-radius:16px;cursor:pointer;text-align:center;min-width:0}
.io-pcard:focus-visible{outline:2px solid var(--kb-roxo-2,#7c5cff);outline-offset:2px}
.io-pcard b{font-size:13px;font-weight:600;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.io-pcard small{font-size:11.5px;color:var(--warn,#f5a524);margin-top:-5px}
.io-logo{position:relative;width:100%;aspect-ratio:1/1;max-width:120px;border-radius:20px;display:grid;place-items:center;overflow:visible;
  border:1px solid var(--line);transition:transform .15s,border-color .15s,box-shadow .15s;
  background:linear-gradient(145deg,hsl(calc(250 + var(--h)*9) 70% 62% / .28),hsl(calc(250 + var(--h)*9) 60% 40% / .12))}
.io-logo img{width:100%;height:100%;object-fit:cover;border-radius:19px}
.io-logo span{font-size:28px;font-weight:800;letter-spacing:-1px;color:hsl(calc(250 + var(--h)*9) 85% 80%)}
:root[data-theme="light"] .io-logo span{color:hsl(calc(250 + var(--h)*9) 60% 42%)}
.io-pcard:hover .io-logo{transform:translateY(-2px);border-color:var(--kb-roxo-2,#7c5cff)}
.io-pcard.on .io-logo{border-color:var(--kb-roxo-2,#7c5cff);box-shadow:0 0 0 3px rgba(124,92,255,.25)}
.io-logo-bdg{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--io-late);color:#fff;font-style:normal;font-size:11.5px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 3px var(--panel-solid,#0d0d10)}
:root[data-theme="light"] .io-logo-bdg{box-shadow:0 0 0 3px #fff}
.io-logo-abrir{position:absolute;bottom:7px;right:7px;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:#fff;font-size:13px;cursor:pointer;opacity:0;transition:opacity .12s}
:root[data-theme="light"] .io-logo-abrir{background:rgba(255,255,255,.8);color:#222}
.io-pcard:hover .io-logo-abrir,.io-logo-abrir:focus-visible{opacity:1}
/* em atraso (versão minimalista): cartão neutro, grade de 4, só os dias em vermelho */
.io-atr{margin:0 0 16px}
.io-atr-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.io-atr-item{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s;min-width:0}
.io-atr-item:hover{border-color:var(--kb-roxo-2,#7c5cff)}
.io-atr-item:focus-visible{outline:2px solid var(--kb-roxo-2,#7c5cff);outline-offset:1px}
.io-atr-item b{font-size:13px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.io-atr-item small{font-size:12px;color:var(--dim2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.io-atr-item span{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--io-late);font-variant-numeric:tabular-nums}
.io-atr-mais{margin-top:12px;background:none;border:0;padding:0;color:var(--dim);font:inherit;font-size:12.5px;cursor:pointer}
.io-atr-mais:hover{color:var(--txt,inherit)}
@media(max-width:1100px){.io-atr-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.io-atr-grade{grid-template-columns:1fr}}
/* big numbers no estilo de referência: rótulo discreto, selo de variação, número + comparação */
.io-k{border:0;background:var(--io-k-bg,#141417);border-radius:18px;padding:20px 22px 22px;display:flex;flex-direction:column;gap:18px;min-height:0}
:root[data-theme="light"] .io-k{--io-k-bg:#f3f3f6}
.io-k-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.io-k-top>span:first-child{font-size:13.5px;color:var(--dim);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.io-k-selo{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;white-space:nowrap}
.io-k-selo i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px;color:#0b0b0d}
.io-k-selo.up{color:#3ccf8e}.io-k-selo.up i{background:#3ccf8e}
.io-k-selo.down{color:#ff5c70}.io-k-selo.down i{background:#ff5c70;color:#fff}
.io-k-selo.neu{color:var(--dim2)}.io-k-selo.neu i{background:var(--line);color:var(--dim)}
:root[data-theme="light"] .io-k-selo.up{color:#15935a}:root[data-theme="light"] .io-k-selo.up i{background:#15935a;color:#fff}
.io-k-val{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.io-k-val b{font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}
.io-k-cmp{font-size:12.5px;color:var(--dim2);white-space:nowrap}
.io-k-cmp em{font-style:normal;font-weight:600}
.io-k-cmp em.up{color:#3ccf8e}.io-k-cmp em.down{color:#ff5c70}
:root[data-theme="light"] .io-k-cmp em.up{color:#15935a}
.io-k.io-kpi-late .io-k-val b{color:var(--io-late)}
.io-k.dp-kpi-click:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--kb-roxo-2,#7c5cff) inset}
/* carteira: quadrados menores e centralizados no card */
.io-dupla > .card:first-child{display:flex;flex-direction:column}
.io-carteira{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:18px 22px;padding:6px 0}
.io-pcard{width:104px}
.io-logo{width:84px;max-width:84px;border-radius:18px}
.io-logo img{border-radius:17px}
.io-logo span{font-size:22px}
.io-pcard b{font-size:12.5px}
/* mais compacto (pedido do Lucas): big numbers e cards mais baixos */
.io-kpis{gap:12px;margin-bottom:14px}
.io-k{padding:14px 18px;gap:8px;border-radius:14px}
.io-k-top>span:first-child{font-size:12.5px}
.io-k-val b{font-size:24px}
#inOps .card{padding:16px 18px}
#inOps .io-card-h{margin-bottom:10px}
.io-atr{margin-bottom:14px}
.io-atr-grade{gap:8px}
.io-atr-item{padding:9px 12px;gap:1px;border-radius:10px}
.io-atr-item span{margin-top:3px}
.io-dupla{margin-bottom:14px;gap:14px}
#inOps .io-cols .dcol-trilho{height:140px}

.io-carteira{gap:12px 18px;padding:0}
.io-logo{width:68px;max-width:68px;border-radius:15px}
.io-logo img{border-radius:14px}
.io-logo span{font-size:19px}
.io-pcard{width:92px;gap:6px}
.io-task{padding:7px 12px}
/* em atraso como lista (estilo ClickUp): nome · prioridade · vencimento · projeto */
.io-atr-lista{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px 220px}
.io-atr-cab,.io-atr-lin{display:contents}
.io-atr-cab span{font-size:12.5px;color:var(--dim2);padding:0 12px 8px;border-bottom:1px solid var(--line)}
.io-atr-lin>span{display:flex;align-items:center;min-width:0;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer;transition:background .12s}
.io-atr-lin:last-child>span{border-bottom:0}
.io-atr-lin:hover>span{background:rgba(124,92,255,.06)}
.io-atr-lin:focus-visible>span{background:rgba(124,92,255,.10)}
.io-atr-nm{gap:10px}
.io-atr-nm b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.io-st-ic{flex:0 0 14px;width:14px;height:14px;border-radius:50%;border:2px solid var(--c);box-shadow:inset 0 0 0 2px var(--panel-solid,#0d0d10),inset 0 0 0 7px var(--c)}
:root[data-theme="light"] .io-st-ic{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 7px var(--c)}
.io-atr-pr{gap:7px;color:var(--dim)}
.io-atr-pr svg{width:15px;height:15px;fill:none;stroke:var(--dim2);stroke-width:1.4;stroke-linejoin:round;flex:0 0 15px}
.io-atr-pr.alta svg,.io-atr-pr.urg svg{stroke:#ff5c70;fill:#ff5c70}
.io-atr-pr.media svg{stroke:#7c8cff;fill:#7c8cff}
.io-atr-pr.baixa svg{stroke:var(--dim2);fill:var(--dim2)}
.io-atr-venc{color:var(--io-late);font-variant-numeric:tabular-nums}
.io-atr-proj{font-style:normal;font-size:12px;padding:3px 10px;border:1px solid var(--line);border-radius:7px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(max-width:900px){.io-atr-lista{grid-template-columns:minmax(0,1fr) 100px}.io-atr-cab span:nth-child(2),.io-atr-cab span:nth-child(4),.io-atr-lin>span:nth-child(2),.io-atr-lin>span:nth-child(4){display:none}}
/* etiquetas de projeto com a mesma largura (ocupam a coluna toda) */
.io-atr-lin>span:last-child .io-atr-proj{display:block;width:100%;text-align:center;box-sizing:border-box}
/* vencimento na lista: atrasada em vermelho, hoje em destaque, futura/concluída neutra */
.io-atr-venc.hoje{color:var(--warn,#f5a524)}
.io-atr-venc.ok,.io-atr-venc.sem{color:var(--dim)}
.io-atr-lin.feita .io-atr-nm b{color:var(--dim)}
.io-sts{margin-bottom:12px}
/* filtros de status no mesmo layout das abas de Notas fiscais (.nf-abas) */
.io-sts{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin-bottom:12px;border-radius:12px;background:var(--sf1);border:1px solid var(--line)}
.io-st{border:0;background:transparent;color:var(--dim);font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:9px;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.io-st i{display:none}
.io-st b{font-size:11px;font-weight:600;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--sf3);color:var(--dim);text-align:center}
.io-st:hover{color:var(--txt)}
.io-st.on{background:var(--sf3);color:var(--txt);border:0}
.io-st.on b{background:var(--acc);color:#fff}
/* filtros de status centralizados no card */
.io-sts{display:flex;width:max-content;max-width:100%;margin:0 auto 12px;justify-content:center}
/* contagem da aba "Em atraso" em vermelho quando houver atraso (fora da aba ativa) */
.io-st b.late{background:color-mix(in srgb,var(--io-late) 22%,transparent);color:var(--io-late)}
.io-st.on b.late{background:var(--io-late);color:#fff}
/* status embaixo do nome na carteira: ativo em verde, pausado em amarelo */
.io-pcard small{color:var(--dim2)}
.io-pcard small.st-and{color:var(--ok,#3ccf8e)}
.io-pcard small.st-pausa{color:var(--warn,#f5a524)}
/* velocidade da sprint no Início */
.io-vel{margin-bottom:14px}
.io-vel .do-hs-svg{width:100%;height:auto;display:block}
/* carteira por frente: filtro Todas / G-Inove / Traction e selo da frente em cada projeto */
.io-frentes{margin-left:auto;display:flex;gap:3px;padding:3px;border-radius:999px;background:var(--sf2);border:1px solid var(--line)}
.io-fr{border:0;background:transparent;color:var(--dim);font:inherit;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.io-fr b{font-weight:600;color:var(--dim2);margin-left:2px}
.io-fr.on{background:var(--acc);color:#fff}
.io-fr.on b{color:rgba(255,255,255,.8)}
.io-fr-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.03em}
.io-fr-tag.servico{color:var(--acc-fg,#b9a6ff);background:color-mix(in srgb,var(--acc) 16%,transparent)}
.io-fr-tag.traction{color:#7fd8ff;background:color-mix(in srgb,#38bdf8 16%,transparent)}
:root[data-theme="light"] .io-fr-tag.traction{color:#0369a1}
@media(max-width:640px){.io-card-h{flex-wrap:wrap}.io-frentes{margin-left:0}}
