/* ===================================================================== */
/* Reskin design "Regulação Assistencial" — overlay (carrega após 02-base.css e css/16/06.css) */
/* Só visual: fundo roxo/gradiente, cards arredondados, abas em pílula, badges P0-P3, */
/* tabela e detalhe no design. Nenhuma lógica/endpoint é tocada. Escopo: #view-regulacao */
/* ===================================================================== */

#view-regulacao {
  font-family: 'Poppins', system-ui, sans-serif;
  background:
    radial-gradient(820px 480px at 8% -8%, rgba(109,128,76,.20), transparent 60%),
    radial-gradient(760px 560px at 108% 4%, rgba(80,95,55,.16), transparent 55%),
    radial-gradient(700px 600px at 50% 120%, rgba(104,123,70,.12), transparent 60%),
    linear-gradient(160deg, #e9eedf 0%, #dfe5d4 50%, #e8eddf 100%);
}

/* Contêiner deixa de ser card branco; vira área com gradiente + padding */
#view-regulacao .reg-shell {
  max-width: 1360px;
  margin: 0 auto;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  padding: 16px 10px 34px;
}

/* Header (mantém roxo) como card arredondado */
#view-regulacao .reg-shell .intranet-header {
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(57,70,36,.16);
}

/* Barra de abas em card branco + abas em pílula */
#view-regulacao .reg-tabs {
  background: #fff;
  border: 1px solid #e6ebdd;
  border-radius: 16px;
  padding: 6px;
  gap: 6px;
  margin: 14px 0;
  box-shadow: 0 8px 22px rgba(57,70,36,.06);
}
#view-regulacao .reg-tab {
  border: none;
  background: transparent;
  border-radius: 12px;
  padding: 9px 16px;
  font-weight: 600;
  color: #7e8474;
  transition: background .15s ease, color .15s ease;
}
#view-regulacao .reg-tab:hover { background: #f0f4e9; color: #394820; }
#view-regulacao .reg-tab.active {
  background: #394820;
  color: #fff;
  box-shadow: 0 8px 18px rgba(57,72,32,.22);
}

/* Toggle e faixa de filtros */
#view-regulacao .reg-filters-bar { margin: 0 0 10px; }
#view-regulacao .reg-filters-toggle {
  border: 1px solid #e0e7d4; background: #fff; color: #4d5243;
  border-radius: 12px; font-weight: 600;
}
#view-regulacao .reg-filter-band {
  background: #fff;
  border: 1px solid #eaefe2;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(57,70,36,.05);
  padding: 14px 16px;
}
#view-regulacao .reg-filter-band label { color: #8d9977; font-weight: 700; font-size: 10.5px; letter-spacing: .5px; }
#view-regulacao .reg-filter-band input,
#view-regulacao .reg-filter-band select,
#view-regulacao .reg-modal-box input,
#view-regulacao .reg-modal-box select,
#view-regulacao .reg-modal-box textarea {
  background: #f7f9f4; border: 1px solid #e0e7d4; border-radius: 11px; color: #24281d;
}
#view-regulacao .reg-filter-band input:focus,
#view-regulacao .reg-filter-band select:focus { border-color: #586d34; outline: none; }

/* Área de conteúdo como card branco translúcido */
#view-regulacao .reg-content {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(57,70,36,.12);
  padding: 20px 22px;
  min-height: 520px;
}
#view-regulacao .reg-table th {
  background: #ecf0e5;
  color: #737b64;
  text-transform: uppercase;
  font-size: 10.5px;
  letter-spacing: .6px;
  font-weight: 600;
  border-bottom: none;
  padding: 12px 14px;
}
#view-regulacao .reg-table td {
  border-bottom: 1px solid #e8ede1;
  padding: 12px 14px;
  color: #4d5243;
}
#view-regulacao .reg-table tbody tr:hover td { background: #f7f9f4; }
#view-regulacao .reg-table td strong { color: #212717; }

/* Badges de prioridade P0-P3 (paleta do design) */
#view-regulacao .reg-priority-badge {
  border-radius: 999px;
  font-weight: 800;
  padding: 3px 11px;
  font-size: 11px;
  border: none;
}
#view-regulacao .reg-priority-p0 { background: #fdeef0; color: #d6334a; }
#view-regulacao .reg-priority-p1 { background: #fdf0e6; color: #e0651a; }
#view-regulacao .reg-priority-p2 { background: #fdf6ec; color: #c4881a; }
#view-regulacao .reg-priority-p3 { background: #eafaf0; color: #1f8a5b; }

#view-regulacao .reg-status-badge {
  background: #eef4fd; color: #3a6fd0;
  border-radius: 999px; padding: 3px 11px; font-weight: 600; font-size: 11px;
}
#view-regulacao .reg-protocol {
  background: #ecf0e5; color: #394820; border: 1px solid #d3dcc2;
  border-radius: 12px; padding: 3px 10px; font-weight: 700;
}

/* Agrupamento por etapa (headers inline no JS) reforçado */
#view-regulacao .reg-subtabs .btn.btn-primary { background: #394820; border-color: #394820; }

/* Detalhe (modal) — seções arredondadas */
#view-regulacao .reg-detail-grid section,
.reg-modal-box .reg-detail-grid section {
  border: 1px solid #eaefe2;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(57,70,36,.05);
}

/* ===== Esteira vertical de 8 etapas (markup novo em detailHtml) ===== */
.reg-esteira { display: flex; flex-direction: column; gap: 0; margin-top: 4px; }
.reg-esteira-step { display: flex; gap: 12px; }
.reg-esteira-rail { display: flex; flex-direction: column; align-items: center; }
.reg-esteira-ico {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800;
}
.reg-esteira-ico svg { width: 13px; height: 13px; }
.reg-esteira-line { width: 2px; flex: 1; min-height: 15px; }
.reg-esteira-body { padding-bottom: 13px; }
.reg-esteira-lbl { font-size: 12.5px; }
.reg-esteira-sub { font-size: 10.5px; color: #7e8474; margin-top: 1px; }
.reg-esteira-step.done .reg-esteira-ico { background: #1f8a5b; color: #fff; }
.reg-esteira-step.done .reg-esteira-line { background: #1f8a5b; }
.reg-esteira-step.done .reg-esteira-lbl { color: #1f8a5b; font-weight: 600; }
.reg-esteira-step.active .reg-esteira-ico { background: #394820; color: #fff; box-shadow: 0 0 0 4px rgba(57,72,32,.14); }
.reg-esteira-step.active .reg-esteira-line { background: #e3e9d9; }
.reg-esteira-step.active .reg-esteira-lbl { color: #212717; font-weight: 700; }
.reg-esteira-step.todo .reg-esteira-ico { background: #e7ecdd; color: #b2bba2; }
.reg-esteira-step.todo .reg-esteira-line { background: #e3e9d9; }
.reg-esteira-step.todo .reg-esteira-lbl { color: #8d9977; }

/* ===== Dashboard / Painel ===== */
#view-regulacao .reg-metric,
#view-regulacao .reg-panel,
#view-regulacao .reg-hero-insight,
#view-regulacao .reg-dashboard-hero > * {
  border: 1px solid #eaefe2;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(57,70,36,.06);
}
#view-regulacao .reg-hero-card {
  background: linear-gradient(140deg, #415026, #526533);
  border: none;
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(60,74,37,.3);
}
#view-regulacao .reg-metric-icon { border-radius: 12px; }

/* ===================== Reskin estrutural das seções ===================== */
#view-regulacao .reg-empty { border: 1px dashed #d3dcc2; border-radius: 16px; padding: 34px; text-align: center; color: #8d9977; font-size: 12.5px; background: #fff; }

/* Sub-abas (A fazer / Devolvido / Concluído / Todos) */
#view-regulacao .reg-subtabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
#view-regulacao .reg-subtab { border: 1px solid #e0e7d4; background: #fff; color: #7e8474; border-radius: 11px; padding: 8px 14px; font-family: inherit; font-weight: 600; font-size: 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
#view-regulacao .reg-subtab:hover { background: #f7f9f4; color: #394820; }
#view-regulacao .reg-subtab.is-on { background: #ecf0e5; color: #394820; border-color: #d3dcc2; }
#view-regulacao .reg-subtab-n { font-size: 10.5px; font-weight: 800; background: #ecf0e5; color: #394820; border-radius: 9px; padding: 1px 7px; }
#view-regulacao .reg-subtab.is-on .reg-subtab-n { background: #394820; color: #fff; }

/* Grid Solicitações: lista de cards + detalhe inline */
#view-regulacao .reg-solic-grid { display: grid; grid-template-columns: 1fr 380px; gap: 18px; align-items: start; }
#view-regulacao .reg-solic-list { display: flex; flex-direction: column; gap: 11px; min-width: 0; }
#view-regulacao .reg-solic-detail { position: sticky; top: 8px; }
@media (max-width: 1080px) { #view-regulacao .reg-solic-grid { grid-template-columns: 1fr; } #view-regulacao .reg-solic-detail { position: static; } }

#view-regulacao .reg-solic-card { border: 1.5px solid #eaefe2; background: #fff; border-radius: 16px; padding: 14px 16px; box-shadow: 0 6px 18px rgba(57,70,36,.05); cursor: pointer; transition: border-color .14s ease, box-shadow .14s ease; }
#view-regulacao .reg-solic-card:hover { border-color: #d3dcc2; box-shadow: 0 10px 24px rgba(57,70,36,.1); }
#view-regulacao .reg-solic-card.is-sel { border-color: #88a456; box-shadow: 0 10px 26px rgba(57,72,32,.16); }
#view-regulacao .reg-card-top { display: flex; align-items: center; gap: 10px; }
#view-regulacao .reg-card-pac { flex: 1; min-width: 0; }
#view-regulacao .reg-card-name { font-size: 13.5px; font-weight: 700; color: #212717; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-regulacao .reg-card-sub { font-size: 10.5px; color: #7e8474; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-regulacao .reg-sla-badge { font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 12px; white-space: nowrap; flex-shrink: 0; }
#view-regulacao .reg-sla-badge.is-ok { color: #1f8a5b; background: #eafaf0; }
#view-regulacao .reg-sla-badge.is-warn { color: #c4881a; background: #fdf6ec; }
#view-regulacao .reg-sla-badge.is-breach { color: #d6334a; background: #fdeef0; }
#view-regulacao .reg-card-dots { display: flex; align-items: center; gap: 3px; margin-top: 12px; }
#view-regulacao .reg-card-dot { height: 5px; border-radius: 3px; flex: 1; background: #e3e9d9; }
#view-regulacao .reg-card-dot.on { background: #586d34; }
#view-regulacao .reg-card-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; gap: 8px; }
#view-regulacao .reg-card-foot > span:first-child { font-size: 11px; color: #4d5243; font-weight: 600; }
#view-regulacao .reg-card-etapa { font-size: 10px; color: #8d9977; white-space: nowrap; }

/* Detalhe inline */
#view-regulacao .reg-detail-empty { border: 1px solid #eaefe2; border-radius: 20px; background: #fff; box-shadow: 0 10px 26px rgba(57,70,36,.08); padding: 40px 24px; text-align: center; }
#view-regulacao .reg-detail-empty-t { font-size: 13px; font-weight: 700; color: #7e8474; }
#view-regulacao .reg-detail-empty-s { font-size: 12px; color: #a6ad99; margin-top: 4px; }
#view-regulacao .reg-detail-card { border: 1px solid #eaefe2; border-radius: 20px; background: #fff; box-shadow: 0 10px 26px rgba(57,70,36,.08); overflow: hidden; display: flex; flex-direction: column; max-height: calc(100vh - 40px); }
#view-regulacao .reg-detail-head { padding: 16px 18px; background: linear-gradient(110deg,#293417,#415026 65%,#526533); color: #fff; flex-shrink: 0; }
#view-regulacao .reg-detail-head-top { display: flex; align-items: center; gap: 8px; }
#view-regulacao .reg-detail-proto { font-size: 10.5px; color: #cbd5ba; }
#view-regulacao .reg-detail-name { font-size: 17px; font-weight: 800; margin-top: 7px; }
#view-regulacao .reg-detail-sub { font-size: 11px; color: #d3dfbe; margin-top: 2px; }
#view-regulacao .reg-detail-scroll { padding: 16px 18px; overflow-y: auto; }
#view-regulacao .reg-detail-lbl { font-size: 10px; letter-spacing: .6px; font-weight: 700; color: #8d9977; text-transform: uppercase; margin: 0 0 10px; }
#view-regulacao .reg-detail-scroll .reg-detail-lbl:not(:first-child) { margin-top: 14px; }
#view-regulacao .reg-detail-info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; font-size: 11.5px; }
#view-regulacao .reg-detail-info span { color: #8d9977; }
#view-regulacao .reg-detail-info strong { color: #2d3225; }
#view-regulacao .reg-detail-actions { display: flex; flex-wrap: wrap; gap: 7px; }
#view-regulacao .reg-detail-actions .btn { border-radius: 11px; }

/* Fila regulada */
#view-regulacao .reg-fila-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
#view-regulacao .reg-fila-title { font-size: 18px; font-weight: 700; color: #24281d; }
#view-regulacao .reg-fila-note { font-size: 11.5px; color: #7e8474; }
#view-regulacao .reg-fila-list { display: flex; flex-direction: column; gap: 9px; }
#view-regulacao .reg-fila-row { display: grid; grid-template-columns: 34px 54px 1fr auto auto auto; gap: 14px; align-items: center; border: 1px solid #eaefe2; background: #fff; border-radius: 14px; padding: 12px 16px; box-shadow: 0 5px 16px rgba(57,70,36,.05); }
#view-regulacao .reg-fila-row:hover { border-color: #d3dcc2; }
#view-regulacao .reg-fila-rank { font-size: 17px; font-weight: 800; color: #b2bba2; }
#view-regulacao .reg-fila-pac { min-width: 0; }
#view-regulacao .reg-fila-name { font-size: 13px; font-weight: 700; color: #212717; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-regulacao .reg-fila-sub { font-size: 10.5px; color: #7e8474; }
#view-regulacao .reg-fila-col { text-align: right; }
#view-regulacao .reg-fila-lbl { display: block; font-size: 10px; color: #8d9977; }
#view-regulacao .reg-fila-val { font-size: 13px; font-weight: 700; color: #4d5243; }
#view-regulacao .reg-fila-score .reg-fila-val { color: #394820; font-size: 14px; }
#view-regulacao .reg-fila-sla { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; color: #4d5243; }
#view-regulacao .reg-fila-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }

/* Vagas */
#view-regulacao .reg-vaga-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (max-width: 900px) { #view-regulacao .reg-vaga-grid { grid-template-columns: 1fr; } }
#view-regulacao .reg-vaga-card { border: 1px solid #eaefe2; background: #fff; border-radius: 18px; padding: 16px; box-shadow: 0 6px 18px rgba(57,70,36,.05); }
#view-regulacao .reg-vaga-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#view-regulacao .reg-vaga-esp { font-size: 14px; font-weight: 700; color: #212717; }
#view-regulacao .reg-vaga-saldo { font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 12px; color: #1f8a5b; background: #eafaf0; }
#view-regulacao .reg-vaga-saldo.zero { color: #d6334a; background: #fdeef0; }
#view-regulacao .reg-vaga-proc { font-size: 11.5px; color: #7e8474; margin-top: 3px; }
#view-regulacao .reg-vaga-info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-top: 12px; font-size: 11.5px; }
#view-regulacao .reg-vaga-info span { color: #8d9977; }
#view-regulacao .reg-vaga-info strong { color: #2d3225; }
#view-regulacao .reg-vaga-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e8ede1; font-size: 11.5px; color: #4d5243; }
#view-regulacao .reg-vaga-foot b { color: #394820; }

/* Interações / Contrarreferências (lista) */
#view-regulacao .reg-inter-list { display: flex; flex-direction: column; gap: 10px; }
#view-regulacao .reg-inter-row { display: flex; align-items: center; gap: 13px; border: 1px solid #eaefe2; background: #fff; border-radius: 14px; padding: 13px 15px; box-shadow: 0 5px 16px rgba(57,70,36,.05); }
#view-regulacao .reg-inter-row:hover { border-color: #d3dcc2; }
#view-regulacao .reg-inter-ico { width: 38px; height: 38px; flex-shrink: 0; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: #e7eddc; color: #394820; }
#view-regulacao .reg-inter-ico svg { width: 17px; height: 17px; }
#view-regulacao .reg-inter-body { flex: 1; min-width: 0; }
#view-regulacao .reg-inter-title { font-size: 12.5px; font-weight: 700; color: #212717; }
#view-regulacao .reg-inter-sub { font-size: 11px; color: #7e8474; margin-top: 2px; }
#view-regulacao .reg-inter-when { font-size: 10.5px; color: #8d9977; font-weight: 600; white-space: nowrap; }

/* ===================== Cabeçalho (branco, design) ===================== */
#view-regulacao .reg-header { background: #fff; border: 1px solid #e6ebdd; border-radius: 24px; padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; box-shadow: 0 12px 32px rgba(57,70,36,.08); flex-wrap: wrap; margin-bottom: 14px; }
#view-regulacao .reg-header-brand { display: flex; align-items: center; gap: 13px; }
#view-regulacao .reg-header-ico { width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg,#415026,#526533); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 18px rgba(60,74,37,.3); }
#view-regulacao .reg-header-titlerow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#view-regulacao .reg-header-title { font-size: 21px; font-weight: 800; color: #212717; }
#view-regulacao .reg-header-perfil { font-size: 9px; letter-spacing: 1.2px; font-weight: 700; padding: 4px 10px; border-radius: 8px; text-transform: uppercase; color: #394820; background: #e7efd9; }
#view-regulacao .reg-header-sub { font-size: 11.5px; color: #7e8474; margin-top: 3px; }
#view-regulacao .reg-header-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#view-regulacao .reg-hbtn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 13px; border-radius: 12px; background: #fff; border: 1px solid #e0e7d4; color: #4d5243; font-size: 12px; font-weight: 600; font-family: inherit; cursor: pointer; transition: background .15s ease, filter .15s ease; }
#view-regulacao .reg-hbtn:hover { background: #f7f9f4; }
#view-regulacao .reg-hbtn.reg-hbtn-soft { background: #ecf0e5; border-color: #d3dcc2; color: #394820; }
#view-regulacao .reg-hbtn.reg-hbtn-soft:hover { background: #dbe5ca; }
#view-regulacao .reg-hbtn.reg-hbtn-pri { width: 38px; justify-content: center; padding: 0; background: #394820; border-color: #394820; color: #fff; box-shadow: 0 8px 18px rgba(57,72,32,.28); }
#view-regulacao .reg-hbtn.reg-hbtn-pri:hover { filter: brightness(1.08); background: #394820; }
#view-regulacao .reg-hbtn.reg-hbtn-danger { background: #394820; border-color: #394820; color: #fff; box-shadow: 0 8px 18px rgba(57,72,32,.28); }
#view-regulacao .reg-hbtn.reg-hbtn-danger:hover { background: #323e1d; }

/* ===================== Filtros (design) ===================== */
#view-regulacao .reg-filters-wrap { background: #fff; border: 1px solid #e6ebdd; border-radius: 16px; box-shadow: 0 8px 22px rgba(57,70,36,.06); overflow: hidden; margin-bottom: 16px; }
#view-regulacao .reg-filters-toggle-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; cursor: pointer; }
#view-regulacao .reg-filters-title { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; color: #212717; }
#view-regulacao .reg-filters-title svg { color: #394820; }
#view-regulacao .reg-filters-chev { color: #8d9977; transition: transform .18s ease; }
#view-regulacao .reg-filters-toggle-row.open .reg-filters-chev { transform: rotate(180deg); }
#view-regulacao .reg-filter-band { display: block; background: transparent; border: none; border-radius: 0; box-shadow: none; padding: 0 16px 16px; margin: 0; }
#view-regulacao .reg-filter-band.is-collapsed { display: none; }
#view-regulacao .reg-filt-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
@media (max-width: 900px) { #view-regulacao .reg-filt-grid { grid-template-columns: 1fr 1fr; } }
#view-regulacao .reg-filt-lbl { display: block; font-size: 10px; letter-spacing: .5px; font-weight: 700; color: #8d9977; text-transform: uppercase; margin-bottom: 5px; }
#view-regulacao .reg-filt-in { width: 100%; background: #f7f9f4; border: 1px solid #e0e7d4; border-radius: 11px; padding: 9px 11px; font-size: 12px; color: #24281d; outline: none; font-family: inherit; box-sizing: border-box; }
#view-regulacao .reg-filt-in:focus { border-color: #586d34; }
#view-regulacao .reg-prio-chips { display: flex; gap: 5px; flex-wrap: wrap; }
#view-regulacao .reg-prio-chip { padding: 8px 11px; border-radius: 9px; font-size: 11px; font-weight: 700; cursor: pointer; border: 1px solid #e0e7d4; background: #fff; color: #a6ad99; }
#view-regulacao .reg-prio-chip:hover { background: #f7f9f4; }
#view-regulacao .reg-prio-chip.is-on { border-color: #d3dcc2; background: #ecf0e5; color: #394820; }

/* ===================== Painel (dashboard design) ===================== */
#view-regulacao .reg-dash-title { font-size: 20px; font-weight: 700; color: #24281d; }
#view-regulacao .reg-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 16px; }
@media (max-width: 900px) { #view-regulacao .reg-kpi-grid { grid-template-columns: 1fr 1fr; } }
#view-regulacao .reg-kpi { border-radius: 20px; padding: 18px; background: #fff; border: 1px solid #eaefe2; box-shadow: 0 10px 26px rgba(57,70,36,.07); }
#view-regulacao .reg-kpi-hero { background: linear-gradient(140deg,#415026,#526533); border: none; box-shadow: 0 14px 30px rgba(60,74,37,.3); }
#view-regulacao .reg-kpi-hero .reg-kpi-val { color: #fff; }
#view-regulacao .reg-kpi-hero .reg-kpi-lbl { color: rgba(255,255,255,.9); }
#view-regulacao .reg-kpi-danger { background: #fdeef0; border-color: #f7d3d8; }
#view-regulacao .reg-kpi-danger .reg-kpi-lbl { color: #c4677a; }
#view-regulacao .reg-kpi-val { font-size: 32px; font-weight: 800; line-height: 1; color: #24281d; }
#view-regulacao .reg-kpi-lbl { font-size: 12px; color: #7e8474; margin-top: 5px; }
#view-regulacao .reg-dash-2col { display: grid; grid-template-columns: 1.3fr .7fr; gap: 16px; margin-top: 16px; }
@media (max-width: 900px) { #view-regulacao .reg-dash-2col { grid-template-columns: 1fr; } }
#view-regulacao .reg-dash-panel { border: 1px solid #eaefe2; border-radius: 20px; background: #fff; box-shadow: 0 8px 22px rgba(57,70,36,.06); padding: 18px; }
#view-regulacao .reg-dash-panel-t { font-size: 14px; font-weight: 700; color: #212717; }
#view-regulacao .reg-esp-bars { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
#view-regulacao .reg-esp-bar-top { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 5px; }
#view-regulacao .reg-esp-bar-top span:first-child { color: #2d3225; font-weight: 600; }
#view-regulacao .reg-esp-bar-top span:last-child { color: #394820; font-weight: 700; }
#view-regulacao .reg-esp-bar-track { height: 9px; border-radius: 6px; background: #ecf0e5; overflow: hidden; }
#view-regulacao .reg-esp-bar-fill { height: 100%; border-radius: 6px; background: linear-gradient(90deg,#586d34,#758d4c); }
#view-regulacao .reg-prio-stat-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
#view-regulacao .reg-prio-stat { display: flex; align-items: center; gap: 10px; }
#view-regulacao .reg-prio-stat-lbl { font-size: 12px; color: #4d5243; flex: 1; }
#view-regulacao .reg-prio-stat-count { font-size: 15px; font-weight: 800; color: #24281d; }
#view-regulacao .reg-dash-empty { color: #8d9977; font-size: 12px; padding: 10px 0; }

/* ===== Fallback: header original (.intranet-header) BRANCO dentro da Regulação ===== */
/* Garante o cabeçalho branco mesmo que o override JS do shellHtml não esteja ativo (cache). */
#view-regulacao .reg-shell > .intranet-header {
  background: #fff !important;
  border: 1px solid #e6ebdd !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 32px rgba(57,70,36,.08) !important;
  color: #212717 !important;
}
#view-regulacao .reg-shell > .intranet-header .intranet-header-title { color: #212717 !important; }
#view-regulacao .reg-shell > .intranet-header .intranet-header-sub { color: #7e8474 !important; }
#view-regulacao .reg-shell > .intranet-header .intranet-header-logo { background: linear-gradient(135deg,#415026,#526533) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(60,74,37,.3) !important; }
#view-regulacao .reg-shell > .intranet-header .intranet-header-profile { color: #394820 !important; background: #e7efd9 !important; border-color: #d3dcc2 !important; }
#view-regulacao .reg-shell > .intranet-header .btn { background: #fff !important; border: 1px solid #e0e7d4 !important; color: #4d5243 !important; }
#view-regulacao .reg-shell > .intranet-header .btn:hover { background: #f7f9f4 !important; }
#view-regulacao .reg-shell > .intranet-header .btn-primary { background: #ecf0e5 !important; border-color: #d3dcc2 !important; color: #394820 !important; }
#view-regulacao .reg-shell > .intranet-header .btn-danger { background: #394820 !important; border-color: #394820 !important; color: #fff !important; }

/* IMPORTANTE: a classe .reg-header JÁ EXISTE em 02-base.css (gradiente azul/roxo) e em
   14-kanban-ubs-agenda.css (gradiente dourado). Elas venciam meu background:#fff (que só
   setava a cor, não a imagem). Força o header do design em branco, vencendo a colisão. */
#view-regulacao .reg-header { background-color: #fff !important; background-image: none !important; }
#view-regulacao .reg-header .reg-header-title { color: #212717 !important; }
#view-regulacao .reg-header .reg-header-sub { color: #7e8474 !important; }
#view-regulacao .reg-header .reg-header-perfil { color: #394820 !important; background: #e7efd9 !important; }

/* ===================== KANBAN v2 ===================== */
#view-regulacao .kbv2-header { background: #fff; border: 1px solid #e6ebdd; border-radius: 24px; padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; box-shadow: 0 12px 32px rgba(57,70,36,.08); flex-wrap: wrap; margin-bottom: 16px; }
#view-regulacao .kbv2-brand { display: flex; align-items: center; gap: 13px; }
#view-regulacao .kbv2-ico { width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg,#202811,#394820 55%,#526533); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 18px rgba(60,74,37,.3); }
#view-regulacao .kbv2-titlerow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#view-regulacao .kbv2-title { font-size: 21px; font-weight: 800; color: #212717; }
#view-regulacao .kbv2-tag { font-size: 9px; letter-spacing: 1.2px; font-weight: 700; color: #586d34; background: #e7efd9; padding: 4px 9px; border-radius: 8px; text-transform: uppercase; }
#view-regulacao .kbv2-sub { font-size: 11.5px; color: #7e8474; margin-top: 3px; }
#view-regulacao .kbv2-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#view-regulacao .kbv2-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border-radius: 12px; background: #fff; border: 1px solid #e0e7d4; color: #4d5243; font-size: 12px; font-weight: 600; font-family: inherit; cursor: pointer; transition: background .15s ease; }
#view-regulacao .kbv2-btn:hover { background: #f7f9f4; }
#view-regulacao .kbv2-btn-pri { background: #394820; border-color: #394820; color: #fff; box-shadow: 0 8px 18px rgba(57,72,32,.28); }
#view-regulacao .kbv2-btn-pri:hover { background: #323e1d; }
#view-regulacao .kbv2-btn-soft { background: #ecf0e5; border-color: #d3dcc2; color: #394820; }
#view-regulacao .kbv2-btn-soft:hover { background: #dbe5ca; }
#view-regulacao .kbv2-btn-ico { width: 38px; padding: 0; justify-content: center; }
#view-regulacao .kbv2-tabs { display: flex; gap: 7px; background: #fff; border: 1px solid #e6ebdd; border-radius: 16px; padding: 6px; box-shadow: 0 8px 22px rgba(57,70,36,.06); flex-wrap: wrap; margin-bottom: 16px; }

#view-regulacao .kbv2-toolbar { display: flex; justify-content: flex-end; margin-bottom: 14px; }
#view-regulacao .kbv2-pf-wrap { display: flex; align-items: center; gap: 6px; background: #f7f9f4; border: 1px solid #eaefe2; border-radius: 14px; padding: 5px 6px 5px 12px; flex-wrap: wrap; }
#view-regulacao .kbv2-pf-lbl { font-size: 10.5px; font-weight: 700; color: #8d9977; text-transform: uppercase; letter-spacing: .5px; }
#view-regulacao .kbv2-pf { padding: 6px 11px; border-radius: 9px; font-size: 10.5px; font-weight: 700; cursor: pointer; background: #fff; color: #8d9977; border: 1px solid #eaefe2; }
#view-regulacao .kbv2-pf:hover { background: #f0f4e9; color: #394820; }
#view-regulacao .kbv2-pf.on { background: #ecf0e5; color: #394820; border-color: #d3dcc2; }

#view-regulacao .kbv2-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: start; }
@media (max-width: 1000px) { #view-regulacao .kbv2-board { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { #view-regulacao .kbv2-board { grid-template-columns: 1fr; } }
#view-regulacao .kbv2-col { background: #f7f9f4; border: 1px solid #eaefe2; border-radius: 18px; padding: 12px; }
#view-regulacao .kbv2-col.wip { border-color: #f7d3d8; background: #fdf5f6; }
#view-regulacao .kbv2-col-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
#view-regulacao .kbv2-col-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
#view-regulacao .kbv2-col-label { font-size: 13px; font-weight: 700; color: #212717; flex: 1; }
#view-regulacao .kbv2-col-count { font-size: 11px; font-weight: 800; padding: 2px 9px; border-radius: 11px; }
#view-regulacao .kbv2-wip { display: flex; align-items: center; gap: 6px; background: #fdeef0; border: 1px solid #f7d3d8; color: #d6334a; border-radius: 10px; padding: 7px 9px; font-size: 10.5px; font-weight: 700; margin-bottom: 10px; }
#view-regulacao .kbv2-col-list { display: flex; flex-direction: column; gap: 10px; min-height: 60px; }
#view-regulacao .kbv2-col-empty { text-align: center; color: #b2bba2; font-size: 11px; padding: 16px 0; }

#view-regulacao .kbv2-card { background: #fff; border: 1px solid #eaefe2; border-radius: 14px; padding: 12px; box-shadow: 0 4px 14px rgba(57,70,36,.05); transition: box-shadow .14s ease, border-color .14s ease; }
#view-regulacao .kbv2-card:hover { box-shadow: 0 8px 20px rgba(57,70,36,.1); border-color: #d3dcc2; }
#view-regulacao .kbv2-card-top { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; }
#view-regulacao .kbv2-proto { font-size: 9.5px; font-weight: 700; color: #394820; background: #ecf0e5; border: 1px solid #d3dcc2; padding: 2px 7px; border-radius: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; }
#view-regulacao .kbv2-prio { font-size: 9px; font-weight: 800; padding: 2px 8px; border-radius: 8px; text-transform: uppercase; letter-spacing: .5px; }
#view-regulacao .kbv2-sla { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
#view-regulacao .kbv2-card-title { font-size: 12.5px; font-weight: 700; color: #212717; line-height: 1.3; }
#view-regulacao .kbv2-card-meta { display: flex; align-items: center; gap: 7px; margin-top: 9px; flex-wrap: wrap; }
#view-regulacao .kbv2-cat { font-size: 9.5px; font-weight: 600; color: #405023; background: #ecf0e5; padding: 2px 8px; border-radius: 9px; }
#view-regulacao .kbv2-att { display: flex; align-items: center; gap: 3px; font-size: 10px; color: #8d9977; font-weight: 600; }
#view-regulacao .kbv2-card-foot { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #e8ede1; }
#view-regulacao .kbv2-avatar { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(135deg,#536435,#778b53); color: #fff; font-size: 9.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#view-regulacao .kbv2-resp { font-size: 10.5px; color: #4d5243; font-weight: 600; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-regulacao .kbv2-resp.kbv2-noresp { color: #a6ad99; }
#view-regulacao .kbv2-treat { font-size: 10.5px; font-weight: 700; color: #394820; background: #f0f4e9; border: 1px solid #e2e8d7; padding: 5px 11px; border-radius: 9px; cursor: pointer; white-space: nowrap; }
#view-regulacao .kbv2-treat:hover { background: #dbe5ca; }
#view-regulacao .kbv2-flows { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
#view-regulacao .kbv2-flow { font-size: 10.5px; font-weight: 700; padding: 6px 10px; border-radius: 9px; cursor: pointer; }

#view-regulacao .kbv2-dash-top { display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; }
@media (max-width: 900px) { #view-regulacao .kbv2-dash-top { grid-template-columns: 1fr; } }
#view-regulacao .kbv2-dash-hero { border-radius: 22px; padding: 22px; background: linear-gradient(140deg,#415026,#526533); color: #fff; box-shadow: 0 14px 30px rgba(60,74,37,.3); position: relative; overflow: hidden; }
#view-regulacao .kbv2-dash-hero-lbl { font-size: 12px; font-weight: 700; color: #cbd5ba; letter-spacing: .5px; }
#view-regulacao .kbv2-dash-hero-val { font-size: 52px; font-weight: 800; line-height: 1; margin-top: 8px; }
#view-regulacao .kbv2-dash-hero-sub { font-size: 12.5px; opacity: .9; margin-top: 8px; }
#view-regulacao .kbv2-dash-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
#view-regulacao .kbv2-stat { border-radius: 20px; padding: 18px; }
#view-regulacao .kbv2-stat-v { font-size: 30px; font-weight: 800; line-height: 1; }
#view-regulacao .kbv2-stat-l { font-size: 12px; margin-top: 5px; }
#view-regulacao .kbv2-stat-red { background: #fdeef0; border: 1px solid #f7d3d8; } #view-regulacao .kbv2-stat-red .kbv2-stat-v { color: #d6334a; } #view-regulacao .kbv2-stat-red .kbv2-stat-l { color: #c4677a; }
#view-regulacao .kbv2-stat-green { background: #eafaf0; border: 1px solid #bfe6cd; } #view-regulacao .kbv2-stat-green .kbv2-stat-v { color: #1f8a5b; } #view-regulacao .kbv2-stat-green .kbv2-stat-l { color: #4a9a72; }
#view-regulacao .kbv2-stat-gold { background: #fdf6ec; border: 1px solid #f5e2c8; } #view-regulacao .kbv2-stat-gold .kbv2-stat-v { color: #c4881a; } #view-regulacao .kbv2-stat-gold .kbv2-stat-l { color: #b0912f; }
#view-regulacao .kbv2-stat-blue { background: #eef4fd; border: 1px solid #d7e4f7; } #view-regulacao .kbv2-stat-blue .kbv2-stat-v { color: #3a6fd0; } #view-regulacao .kbv2-stat-blue .kbv2-stat-l { color: #5a7fc0; }
#view-regulacao .kbv2-dash-charts { display: grid; grid-template-columns: 1.4fr .6fr; gap: 16px; margin-top: 16px; }
@media (max-width: 900px) { #view-regulacao .kbv2-dash-charts { grid-template-columns: 1fr; } }
#view-regulacao .kbv2-dash-panel { border: 1px solid #eaefe2; border-radius: 20px; background: #fff; box-shadow: 0 8px 22px rgba(57,70,36,.06); padding: 18px; }
#view-regulacao .kbv2-dash-panel-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
#view-regulacao .kbv2-dash-panel-t { font-size: 14px; font-weight: 700; color: #212717; }
#view-regulacao .kbv2-dash-panel-s { font-size: 11px; color: #7e8474; margin-top: 2px; }
#view-regulacao .kbv2-legend { display: flex; gap: 14px; font-size: 11px; color: #4d5243; }
#view-regulacao .kbv2-legend span { display: flex; align-items: center; gap: 6px; }
#view-regulacao .kbv2-leg-dot { width: 12px; height: 3px; border-radius: 2px; }
#view-regulacao .kbv2-mchart { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; height: 170px; margin-top: 18px; padding: 0 4px; border-bottom: 2px solid #e8ede1; }
#view-regulacao .kbv2-mbar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; height: 100%; justify-content: flex-end; }
#view-regulacao .kbv2-mbar-cols { display: flex; align-items: flex-end; gap: 5px; width: 100%; justify-content: center; height: 100%; }
#view-regulacao .kbv2-mbar-c { width: 14px; border-radius: 6px 6px 0 0; min-height: 2px; }
#view-regulacao .kbv2-mbar-cri { background: linear-gradient(180deg,#526533,#405023); }
#view-regulacao .kbv2-mbar-con { background: linear-gradient(180deg,#37c07a,#1f9d57); }
#view-regulacao .kbv2-mbar-lbl { font-size: 10px; color: #7e8474; font-weight: 600; }
#view-regulacao .kbv2-rbars { display: flex; flex-direction: column; gap: 11px; margin-top: 14px; }
#view-regulacao .kbv2-rbar-top { display: flex; justify-content: space-between; font-size: 11.5px; margin-bottom: 4px; }
#view-regulacao .kbv2-rbar-top span:first-child { color: #2d3225; font-weight: 600; }
#view-regulacao .kbv2-rbar-top span:last-child { color: #394820; font-weight: 700; }
#view-regulacao .kbv2-rbar-track { height: 8px; border-radius: 5px; background: #ecf0e5; overflow: hidden; }
#view-regulacao .kbv2-rbar-fill { height: 100%; border-radius: 5px; background: linear-gradient(90deg,#405023,#758d4c); }
#view-regulacao .kbv2-dash-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; }
