/* ============================================================================
   Aurora — painel: kanban  (Kanban da Regulação)
   Arquivo EXCLUSIVO deste grupo. Carrega depois do kit e antes do
   aurora-legacy-reset.css (que segue sendo a ultima camada antidoto).

   Regras:
   - Escopo unico: #view-regulacao.aur ... (1,2,0) — vence o CSS legado
     '#view-regulacao ...' (1,1,0) SEM precisar de !important.
   - Zero hex solto: so tokens do kit (var(--brand/--ink/--line/--ok/...)).
     Os poucos valores literais estao concentrados nos tokens locais --kb-*.
   - Largura/margem do painel NAO sao tocadas aqui: quem manda nelas e
     css/16/05.css:108 (body.reg-shell-on, 3x !important). Este arquivo so
     neutraliza fundo/borda/sombra herdados de css/02-base.css:855.
   - O layout que era emitido com as classes .kbv2-* (css/16/07.css:382-474,
     fora do meu conjunto de escrita) foi REIMPLEMENTADO aqui com o prefixo
     .kb-. Aquelas ~90 linhas ficaram orfas e podem ser podadas pelo grupo
     dono de 16/07.css.
   ============================================================================ */

/* Kanban SEM fundo proprio: remove o gradiente do #view-regulacao pra mostrar so
   o que o app tiver atras. */
#view-regulacao.aur{ background:transparent !important; }

/* ---- tokens locais (unico ponto com valor literal) ---- */
#view-regulacao.aur .reg-kb-shell{
  --kb-on:rgba(255,255,255,.97);
  --kb-tab-glow:0 8px 20px -8px rgba(78,98,44,.7);
  --kb-surface:rgba(255,255,255,.34);
  --kb-surface-2:rgba(255,255,255,.5);
  --kb-col-min:266px;
}
body.theme-dark #view-regulacao.aur .reg-kb-shell,
#view-regulacao.aur[data-theme="dark"] .reg-kb-shell{
  --kb-surface:rgba(255,255,255,.05);
  --kb-surface-2:rgba(255,255,255,.08);
}

/* ============================ CASCA ============================ */
/* Antidoto de 02-base.css:855 (#view-regulacao .reg-shell = cartao branco opaco
   por baixo de todo o vidro). O antidoto de aurora-reg.css:77 exige .reg-shell.shell,
   dupla que este painel nao emite — por isso o conserto mora aqui. */
#view-regulacao.aur .reg-kb-shell{
  background:transparent; border:0; box-shadow:none; padding:0;
  display:flex; flex-direction:column; gap:14px;
}
#view-regulacao.aur .reg-kb-shell .reg-content{
  min-height:0; padding:0; border:0; background:transparent; box-shadow:none;
}
#view-regulacao.aur .kb-content{ display:flex; flex-direction:column; gap:14px }

/* header: marca | abas | acoes — as abas ficam no centro para o quadro (o objeto
   do painel) comecar imediatamente abaixo, sem uma segunda faixa so de abas. */
#view-regulacao.aur .kb-top{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 18px; border-radius:20px;
}
#view-regulacao.aur .kb-top .brand{ flex:1 1 260px; min-width:0 }
#view-regulacao.aur .kb-top .brand-txt h1{ font-size:18px }
#view-regulacao.aur .kb-idt{ display:flex; gap:6px; flex-wrap:wrap; margin-top:5px }
#view-regulacao.aur .kb-idt .st{ font-size:10.5px; padding:3px 9px }

/* margin-bottom:14px vinha de 02-base.css:1848 (.reg-task-tabs), de quando a faixa
   de abas era uma linha propria; agora ela mora dentro do header. */
#view-regulacao.aur .kb-tabs{
  padding:5px; border-radius:16px; gap:4px; align-self:center; flex:0 0 auto; margin-bottom:0;
}
/* Estilo das pilulas de aba: TODO o layout aqui. O que reg/01.js escreve no
   atributo style (via _kbTabStyle) sao apenas as 3 variaveis abaixo — assim o
   bind legado continua funcionando e nada de layout vive em inline. */
#view-regulacao.aur .reg-kb-tabs .reg-kb-tab{
  font-family:inherit; font-size:13px; font-weight:600; letter-spacing:-.01em;
  padding:9px 20px; border-radius:13px; border:none; cursor:pointer; white-space:nowrap;
  background:var(--kb-tab-bg,transparent);
  color:var(--kb-tab-fg,var(--ink-soft));
  box-shadow:var(--kb-tab-sh,none);
  transition:background .18s ease, color .18s ease, box-shadow .18s ease;
}
#view-regulacao.aur .reg-kb-tabs .reg-kb-tab:hover{ color:var(--brand) }

#view-regulacao.aur .kb-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; flex-wrap:wrap }
/* separador: "Nova tarefa" (acao) x navegacao/conta (icones) */
#view-regulacao.aur .kb-sep{ width:1px; height:24px; background:var(--line); margin:0 2px }
#view-regulacao.aur .kb-out:hover{ color:var(--err); border-color:var(--err) }
/* engrenagem = "Categorias e formulários" (configuracao de taxonomia; deixou de
   ser irma de Quadro/Dashboard na faixa de abas). Acesa quando essa vista esta aberta. */
#view-regulacao.aur .kb-gear.is-on{ color:var(--kb-on); border-color:transparent; background:linear-gradient(135deg,var(--brand),var(--brand2)) }

/* ============================ BARRA DE COMANDO ============================ */
/* Largura total, lidera o corpo: achar -> recortar -> escolher a forma de ver. */
#view-regulacao.aur .kb-cmd{
  display:flex; flex-direction:column; gap:12px;
  padding:14px 16px; border-radius:18px;
}
#view-regulacao.aur .kb-cmd-row{ display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap }
#view-regulacao.aur .kb-cmd-row-2{ padding-top:12px; border-top:1px solid var(--line) }
#view-regulacao.aur .kb-search{ flex:1 1 320px; min-width:240px }
#view-regulacao.aur .kb-search input::-webkit-search-cancel-button{ cursor:pointer }
#view-regulacao.aur .kb-quick .chip b{ font-weight:800; opacity:.75; margin-left:2px }
#view-regulacao.aur .kb-quick .chip.active b{ opacity:.9 }
#view-regulacao.aur .kb-late.active{ background:linear-gradient(135deg,var(--err),var(--p1)) }
#view-regulacao.aur .kb-seg{ display:flex; gap:4px; padding:4px; border-radius:14px; background:var(--kb-surface); border:1px solid var(--line) }
#view-regulacao.aur .kb-prio{ flex:0 1 auto }
#view-regulacao.aur .kb-dept select{ min-width:210px }
#view-regulacao.aur .kb-cmd-end{ margin-left:auto; display:flex; align-items:center; gap:10px; flex-wrap:wrap }
#view-regulacao.aur .kb-count{ font-size:12px; font-weight:600; color:var(--ink-soft); font-variant-numeric:tabular-nums }
#view-regulacao.aur .kb-empty-act{ justify-content:center; margin-top:12px }

/* ============================ QUADRO ============================ */
/* grade elastica: aguenta as 4 colunas de fluxo + "Transferidas" sem quebrar
   (o legado 16/07.css fixava repeat(4,1fr) e 02-base repeat(5,...)). */
#view-regulacao.aur .kb-board{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(var(--kb-col-min),1fr));
  gap:12px; align-items:start; justify-content:stretch;
  width:100%; max-width:100%; padding:0; overflow:visible;
}
@media (max-width:1180px){ #view-regulacao.aur .reg-kb-shell{ --kb-col-min:240px } }

/* O CONTAINER do kanban (.reg-kb-shell) carrega tambem .reg-shell, que esta na
   allowlist de vidro do aurora.css:54 -> vira um CARTAO de vidro branco (.56) por
   cima do fundo musgo, escondendo a cor. Tornamos SO o do kanban transparente,
   para o fundo colorido (aurora/ds-bg) aparecer atras dos cards. (Nao afeta os
   outros paineis .reg-shell.) O header/tabs internos tem vidro proprio e ficam. */
/* NUKE de qualquer fundo/box/sombra nas superficies ESTRUTURAIS do kanban (shell,
   content, board, colunas, listas). Cobre bg, borda, sombra, outline e backdrop.
   NAO toca nos task-cards (.reg-task-card) nem no header/busca (.kb-top/.kb-cmd),
   que mantem o vidro. Escopado por .reg-kb-shell -> nao afeta outras abas da Regulacao. */
#view-regulacao.aur .reg-kb-shell,
#view-regulacao.aur .reg-kb-shell :is(#reg-content, .reg-content, .reg-kanban, .kb-board,
  .reg-kanban-column, .reg-kanban-column-transferred, .reg-kanban-list, .kb-col, .kb-col-list){
  background:transparent !important; border:none !important; box-shadow:none !important;
  outline:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
/* O "BOX" era o .aur .glass::after (aurora-core:65): um fio iridescente musgo de 1px
   (via mask) em volta de TODO elemento .glass. As colunas tem class="glass" => cada
   coluna ganhava esse contorno = a "caixa". Removemos o ::after SO nas colunas do
   kanban; task-cards e header/busca (tambem .glass) mantem o fio. */
#view-regulacao.aur .reg-kb-shell .reg-kanban-column::after,
#view-regulacao.aur .reg-kb-shell .reg-kanban-column-transferred::after,
#view-regulacao.aur .reg-kb-shell .reg-kanban-column::before{
  content:none !important;
}

#view-regulacao.aur .reg-kanban-column{
  min-width:0; height:auto; display:flex; flex-direction:column; gap:10px;
  position:relative; overflow:visible;
  padding:12px 6px; border-radius:0;
  border:none !important; background:transparent !important; box-shadow:none !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  /* SEM cartao de fundo: a coluna carrega class="...glass" e o `.aur .glass`
     aplica backdrop-filter:blur — que pinta um RETANGULO FOSCO mesmo com fundo
     transparente (= parece card). Matamos backdrop-filter + bg + borda + sombra
     com !important aqui. A raia fica so com o acento ::before e o header. */
  transition:border-color .16s ease, box-shadow .16s ease;
}
/* acento por status: sem ele o quadro le como 4 caixas cinzas iguais */
#view-regulacao.aur .reg-kanban-column::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--line);
}
#view-regulacao.aur .reg-kanban-column[data-status="todo"]::before{ background:linear-gradient(90deg,var(--lilac),var(--brand2)) }
#view-regulacao.aur .reg-kanban-column[data-status="doing"]::before{ background:linear-gradient(90deg,var(--info),var(--brand2)) }
#view-regulacao.aur .reg-kanban-column[data-status="done"]::before{ background:linear-gradient(90deg,var(--ok),var(--p3)) }
#view-regulacao.aur .reg-kanban-column[data-status="pending"]::before{ background:linear-gradient(90deg,var(--warn),var(--p1)) }
#view-regulacao.aur .reg-kanban-column[data-status="transferred-out"]::before{ background:var(--line) }

#view-regulacao.aur .kb-col-head h3{ font-size:13px; font-weight:750; letter-spacing:-.01em }
#view-regulacao.aur .kb-wip{ align-self:flex-start }
#view-regulacao.aur .reg-kanban-list{
  display:flex; flex-direction:column; gap:10px; flex:1 1 auto;
  min-height:56px; max-height:none; overflow:visible; padding:0;
}
/* empty-state SEM cartao no fundo: so texto discreto centralizado — NAO a caixa
   preenchida do .au-empty compartilhado. Cobre os DOIS renderers do board
   (reg/06.js usa `.au-empty` puro; reg/12-kanban-design.js usa `.au-empty kb-col-empty`),
   mirando .au-empty dentro da coluna/lista. Exclui o botao "Criar tarefa" (.btn). */
#view-regulacao.aur .reg-kanban-column .au-empty:not(.btn),
#view-regulacao.aur .reg-kanban-list .au-empty:not(.btn){
  background:transparent !important; border:none !important; box-shadow:none !important;
  border-radius:0 !important; padding:16px 8px; font-size:12px; text-align:center;
  color:var(--ink-soft);
}
#view-regulacao.aur .kb-col-new{ width:100%; justify-content:center; border:1px dashed var(--line) }

/* alvo de soltura do arrastar-e-soltar (classe posta por reg/06.js taskDragOver) */
#view-regulacao.aur .reg-kanban-column.drop-target{
  border-color:var(--brand2);
  box-shadow:0 0 0 3px rgba(92,111,58,.18), var(--shadow);
}

/* coluna "Transferidas": somente leitura, por isso mais discreta */
#view-regulacao.aur .reg-kanban-column-transferred{
  background:var(--kb-surface); border-style:dashed;
}
#view-regulacao.aur .reg-kanban-column-transferred > .au-sec-head h3{
  display:inline-flex; align-items:center; gap:6px; color:var(--ink-soft); font-size:13px;
}

/* ============================ CARTAO ============================ */
/* Neutraliza o cartao legado (02-base.css:1739+ e 14-kanban:444+), que volta a
   casar porque a classe .reg-task-card foi REPOSTA — ela e contrato de
   reg/08.js:732 (focusTaskFromNotification). */
#view-regulacao.aur .reg-task-card{
  border:1px solid var(--glass-brd); border-left:1px solid var(--glass-brd);
  border-radius:14px; background:var(--kb-surface-2) !important;
  backdrop-filter:blur(15px) saturate(1.4); -webkit-backdrop-filter:blur(15px) saturate(1.4);
  padding:11px 12px; box-shadow:none !important;
  display:flex; flex-direction:column; gap:8px;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
#view-regulacao.aur .kb-card{ cursor:default }
#view-regulacao.aur .kb-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow) !important; border-color:var(--brand2) }
#view-regulacao.aur .kb-card:active{ cursor:grabbing }
#view-regulacao.aur .kb-card.dragging{ opacity:.5; transform:rotate(-1.2deg) }
/* prazo estourado: marca no proprio cartao, sem depender do fundo bege legado */
#view-regulacao.aur .reg-task-card.is-overdue{
  border-left:3px solid var(--err); background:var(--kb-surface-2) !important;
}
/* destaque vindo das Notificacoes -> "Abrir Kanban" */
#view-regulacao.aur .reg-task-card.is-focused{
  border-color:var(--brand2);
  box-shadow:0 0 0 4px rgba(92,111,58,.22), var(--shadow);
  animation:kbFocusPulse 1.05s ease-in-out 3;
}
@keyframes kbFocusPulse{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-4px) } }
@media (prefers-reduced-motion:reduce){
  #view-regulacao.aur .reg-task-card.is-focused{ animation:none }
}

#view-regulacao.aur .kb-card-top{ display:flex; align-items:center; justify-content:space-between; gap:8px }
#view-regulacao.aur .kb-card-title{
  font-size:13px; font-weight:650; line-height:1.35; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#view-regulacao.aur .kb-card-meta{ display:flex; align-items:center; gap:6px; flex-wrap:wrap }
#view-regulacao.aur .kb-card-meta .st{ font-size:10.5px; padding:3px 9px }
#view-regulacao.aur .kb-att{ display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:700 }
#view-regulacao.aur .kb-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:2px }
#view-regulacao.aur .kb-resp{ min-width:0; gap:7px }
#view-regulacao.aur .kb-resp .av{ width:24px; height:24px; border-radius:8px; font-size:10.5px }
#view-regulacao.aur .kb-resp b{ font-size:12px; font-weight:650; color:var(--ink-soft) }
#view-regulacao.aur .kb-card-act{ flex:none; gap:6px }
#view-regulacao.aur .kb-card-act .btn{ font-size:12px; padding:7px 13px }
#view-regulacao.aur .kb-flow{ width:30px; height:30px; border-radius:10px }

/* cartao da coluna "Transferidas" (reg/06.js transferredCardHtml): so leitura */
#view-regulacao.aur .reg-task-card-transferred{ cursor:default; background:var(--kb-surface) }
#view-regulacao.aur .reg-task-card-transferred:hover{ transform:none; box-shadow:none; border-color:var(--glass-brd) }
#view-regulacao.aur .reg-task-card-transferred .pt b{ font-size:12px; font-weight:650 }

/* ============================ LISTA ============================ */
#view-regulacao.aur .kb-listwrap{ display:flex; flex-direction:column; gap:12px }
#view-regulacao.aur .kb-listwrap .au-table{ width:100% }

/* ============================ DASHBOARD ============================ */
/* .kpis e .au-sec colidiam no MESMO no (ambas definem display no aurora-core:
   grid vs flex-column, mesma especificidade) e os KPIs empilhavam. Aqui .kpis
   vive sozinho, sem .au-sec — a colisao deixa de existir por estrutura. */
#view-regulacao.aur .kb-kpis{ grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px }
#view-regulacao.aur .kb-kpi{ position:relative; border-radius:18px; min-height:126px }
#view-regulacao.aur .kb-kpi .k-val{ font-size:26px }
/* KPI com anel (Conclusao): o .ring do kit e absoluto (right:14px;bottom:12px;46px) e
   ficava POR CIMA da ponta direita do .k-bar (margin-top:auto, largura total) e do .k-sub.
   Aqui o cartao reserva a coluna do anel e o anel sobe para o meio vertical do cartao. */
#view-regulacao.aur .kb-kpi .ring{ --sz:44px }
#view-regulacao.aur .kb-kpi-ring{ padding-right:72px }
#view-regulacao.aur .kb-kpi-ring .ring{ right:16px; bottom:auto; top:50%; transform:translateY(-50%) }
#view-regulacao.aur .kb-dash-cmd .kb-cmd-row{ align-items:flex-end }

#view-regulacao.aur .kb-charts{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:12px; align-items:start }
@media (max-width:980px){ #view-regulacao.aur .kb-charts{ grid-template-columns:1fr } }
#view-regulacao.aur .kb-chart{ display:flex; flex-direction:column; gap:14px; padding:16px 18px; border-radius:18px }
#view-regulacao.aur .kb-chart h3{ margin:0; font-size:14.5px; font-weight:700; letter-spacing:-.02em }
#view-regulacao.aur .kb-leg{ gap:12px }
#view-regulacao.aur .kb-leg .esp{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600 }
#view-regulacao.aur .kb-dot{ width:8px; height:8px; border-radius:3px; display:inline-block }
#view-regulacao.aur .kb-dot-cri{ background:var(--brand2) }
#view-regulacao.aur .kb-dot-con{ background:var(--ok) }

/* barras mensais: a altura de cada barra vem do JS (style="height:N%") */
#view-regulacao.aur .kb-mchart{
  display:flex; align-items:flex-end; gap:10px; min-height:190px;
  padding:10px 4px 0; border-bottom:1px solid var(--line);
}
#view-regulacao.aur .kb-mbar{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:7px }
#view-regulacao.aur .kb-mbar-cols{ width:100%; height:150px; display:flex; align-items:flex-end; justify-content:center; gap:4px }
#view-regulacao.aur .kb-mbar-c{ width:42%; max-width:22px; min-height:3px; border-radius:6px 6px 2px 2px; display:block }
#view-regulacao.aur .kb-mbar-cri{ background:linear-gradient(180deg,var(--brand2),var(--lilac)) }
#view-regulacao.aur .kb-mbar-con{ background:linear-gradient(180deg,var(--ok),var(--p3)) }
#view-regulacao.aur .kb-mbar-lbl{
  font-size:10.5px; font-weight:700; color:var(--ink-soft); text-transform:uppercase;
  letter-spacing:.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}

#view-regulacao.aur .kb-rbars{ display:flex; flex-direction:column; gap:12px }
#view-regulacao.aur .kb-rbar{ display:flex; flex-direction:column; gap:6px }
#view-regulacao.aur .kb-rbar .au-sec-head{ gap:8px }
#view-regulacao.aur .kb-rbar .esp{ font-size:12px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
#view-regulacao.aur .kb-rbar b{ font-size:12px; font-weight:800; font-variant-numeric:tabular-nums }
#view-regulacao.aur .kb-rbar .k-bar{ margin-top:0 }

/* ============================ RESPONSIVO ============================ */
@media (max-width:820px){
  #view-regulacao.aur .kb-top{ align-items:flex-start }
  #view-regulacao.aur .kb-tabs{ order:3; width:100%; align-self:stretch }
  #view-regulacao.aur .kb-actions{ margin-left:auto }
  #view-regulacao.aur .kb-cmd-end{ margin-left:0; width:100% }
  #view-regulacao.aur .kb-search{ flex-basis:100% }
}

/* ── ANTIDOTOS DE !important DO LEGADO ────────────────────────
   Especificidade nao derrota !important: as regras abaixo existem so para
   vencer 16/01.css:293-296, que forca o fundo das colunas no tema escuro
   (var(--surface)=#1a1d24) e apagaria o vidro do quadro. */
body.theme-dark #view-regulacao.aur .reg-kanban-column{
  background:transparent !important;
  border-color:transparent !important;
}
