/* =================================================================
   ADMIN · Checklist — layout do design
   ================================================================= */
#view-admin #adm-tab-checklist .btn-primary { background:#394820; border:none; color:#fff; border-radius:12px; box-shadow:0 8px 18px rgba(57,72,32,.22); }
#view-admin #checklist-list { display:flex; flex-direction:column; gap:11px; }
#view-admin .chk-card { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #eaefe2; border-radius:16px; padding:15px 18px; box-shadow:0 8px 22px rgba(57,70,36,.06); }
#view-admin .chk-card.done { opacity:.72; }
#view-admin .chk-check { width:24px; height:24px; flex-shrink:0; border-radius:50%; border:2px solid #c8d2b6; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
#view-admin .chk-check.on { background:#1f9d57; border-color:#1f9d57; }
#view-admin .chk-main { flex:1; min-width:0; }
#view-admin .chk-title { font-size:14px; font-weight:700; color:#212717; }
#view-admin .chk-card.done .chk-title { text-decoration:line-through; color:#8d9977; }
#view-admin .chk-sub { font-size:11.5px; color:#8d9977; margin-top:3px; }
#view-admin .chk-badges { display:flex; align-items:center; gap:8px; flex-shrink:0; }
#view-admin .chk-badge { font-size:11px; font-weight:700; padding:4px 11px; border-radius:11px; white-space:nowrap; }
#view-admin .chk-badge.over, #view-admin .chk-badge.prio-alta { background:#fdecef; color:#d6334a; }
#view-admin .chk-badge.prio-normal { background:#eaf1fb; color:#3a6fd0; }
#view-admin .chk-badge.prio-baixa { background:#e9f6ee; color:#1f8a5b; }
#view-admin .chk-ic { width:30px; height:30px; border-radius:9px; border:1px solid #e2e8d7; background:#f0f4e9; color:#394820; cursor:pointer; display:flex; align-items:center; justify-content:center; }
#view-admin .chk-ic.del { color:#d6334a; background:#fdeef0; border-color:#f7d3d8; }
/* filtros do checklist */
#view-admin #adm-tab-checklist [id^="chk-filter"] { border-radius:20px; border:1px solid #e2e8d7; background:#fff; color:#4d5243; font-weight:600; padding:8px 16px; }
#view-admin #adm-tab-checklist [id^="chk-filter"].active { background:#394820; color:#fff; border-color:#394820; }

/* =================================================================
   ADMIN · Cabeçalho — gradiente/estilo exatos do design
   ================================================================= */
#view-admin .intranet-header {
  background:
    radial-gradient(circle 100px at calc(100% - 220px) 60px, rgba(255,255,255,.07) 0, rgba(255,255,255,.07) 99%, transparent 100%),
    linear-gradient(112deg,#222c12 0%,#3a4722 45%,#526533 78%,#d9a526 128%) !important;
  border-radius: 24px !important;
  border: none !important;
  box-shadow: 0 16px 38px rgba(43,54,26,.3) !important;
  padding: 22px 26px !important;
  position: relative;
  overflow: visible;
}
#view-admin .intranet-header::after {
  content: none;
}
#view-admin .intranet-header-logo {
  background: rgba(255,255,255,.15) !important; border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important; border-radius: 17px !important; width: 56px !important; height: 56px !important;
}
#view-admin .intranet-header-title { color: #fff !important; font-size: 23px !important; font-weight: 800 !important; }
#view-admin .intranet-header-sub { color: #d8e1c8 !important; opacity: .92; }
#view-admin .admin-user-info, #view-admin #admin-user-info { color: #cbd5ba !important; opacity: .9; }
#view-admin .intranet-header .btn { position: relative; z-index: 1; }

/* Botões do cabeçalho admin — exatos do design (Intranet/Menu ghost, Emitir Senha branco) */
#view-admin .intranet-header-actions .btn { background: rgba(255,255,255,.16) !important; border: 1px solid rgba(255,255,255,.28) !important; color: #fff !important; border-radius: 13px !important; font-weight: 600 !important; box-shadow: none !important; }
#view-admin .intranet-header-actions .btn:hover { background: rgba(255,255,255,.26) !important; }
#view-admin .intranet-header-actions .btn svg, #view-admin .intranet-header-actions .btn i { color: #fff !important; }
#view-admin .intranet-header-actions .btn-primary { background: #fff !important; border: none !important; color: #394820 !important; font-weight: 700 !important; box-shadow: 0 8px 18px rgba(0,0,0,.16) !important; }
#view-admin .intranet-header-actions .btn-primary svg, #view-admin .intranet-header-actions .btn-primary i { color: #394820 !important; }
#view-admin .intranet-header-actions .btn-primary:hover { filter: brightness(.97); }

/* Emitir Senha branco (design) — override forte contra o gradiente dourado do .btn-primary */
#view-admin .intranet-header .intranet-header-actions button.btn-primary,
#view-admin .intranet-header-actions button.btn.btn-primary.btn-sm {
  background: #fff !important; background-image: none !important; color: #394820 !important;
  border: none !important; box-shadow: 0 8px 18px rgba(0,0,0,.16) !important;
}
#view-admin .intranet-header-actions button.btn-primary svg,
#view-admin .intranet-header-actions button.btn-primary i { color: #394820 !important; stroke: #394820; }

/* =================================================================
   ADMIN · Ouvidoria — cards no padrão do design
   ================================================================= */
#view-admin #admin-complaints-list { display: flex; flex-direction: column; gap: 11px; }
#view-admin #admin-complaints-list .card { padding: 16px 18px; margin: 0; }
#view-admin #admin-complaints-list .card .flex.space-between { align-items: flex-start; gap: 14px; }
#view-admin #admin-complaints-list .card strong { font-size: 14px; font-weight: 700; color: #212717; }
#view-admin #admin-complaints-list .card small { color: #7e8474; }
#view-admin #admin-complaints-list select {
  border: 1px solid #e0e7d4; border-radius: 11px; padding: 8px 12px; background: #f7f9f4;
  color: #394820; font-weight: 600; font-family: inherit; font-size: 12.5px; cursor: pointer;
}
/* Barra de filtro da Ouvidoria (Status) no padrão do design */
#view-admin #adm-tab-complaints > .flex select { min-width: 160px; }

/* =================================================================
   ADMIN · Dashboard + Config. Transporte — padrão do design
   ================================================================= */
#view-admin #adm-tab-dashboard .dash-filters {
  background:#f9faf6; border:1px solid #d3dcc2; border-radius:16px; padding:12px 15px;
  gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:16px;
}
#view-admin #adm-tab-dashboard .dash-filters input, #view-admin #adm-tab-dashboard .dash-filters select {
  background:#fff; border:1px solid #e0e7d4; border-radius:11px; padding:8px 11px; margin:0;
}
#view-admin #adm-tab-dashboard .dash-filters .btn { border-radius:11px; }
#view-admin #adm-tab-dashboard .chart-box, #view-admin #adm-tab-dashboard .chart-wide {
  border:1px solid #eaefe2 !important; border-radius:18px !important;
  box-shadow:0 8px 22px rgba(57,70,36,.06) !important; background:#fff;
}

#modal-transport-config .modal-box { border-radius:24px; }
#modal-transport-config .transport-config-card {
  background:#f9faf6; border:1px solid #d3dcc2; border-radius:18px;
  box-shadow:0 8px 22px rgba(57,70,36,.06);
}
#modal-transport-config textarea { border:1px solid #d7decb !important; border-radius:12px !important; background:#fff; font-family:inherit; }
#modal-transport-config .btn-primary { background:#394820 !important; background-image:none !important; border:none !important; color:#fff !important; }

/* =================================================================
   Modal Gerenciar Usuário — padrão do design (standalone ref)
   ================================================================= */
#modal-edit-user .user-manager-modal { border-radius: 24px; }
#modal-edit-user .user-manager-tabs { background:#f0f4e9; border:1px solid #eaefe2; border-radius:14px; padding:5px; gap:4px; display:flex; }
#modal-edit-user .user-manager-tab-btn { flex:1; border:none !important; background:transparent !important; border-radius:10px !important; color:#737b64 !important; font-weight:600 !important; box-shadow:none !important; }
#modal-edit-user .user-manager-tab-btn.active { background:#394820 !important; background-image:none !important; color:#fff !important; }
#modal-edit-user .um-form input, #modal-edit-user .um-form select, #modal-edit-user .um-form textarea { border:1px solid #d7decb !important; border-radius:12px !important; background:#fff; }
#modal-edit-user .um-form label, #modal-edit-user .um-label, #modal-edit-user .um-form .small { color:#8d9977; font-size:10px; letter-spacing:.5px; font-weight:700; text-transform:uppercase; }
#modal-edit-user .btn-primary { background:#394820 !important; background-image:none !important; border:none !important; color:#fff !important; border-radius:12px !important; }

/* =================================================================
   FONTE DO DESIGN — Poppins nas telas reskinadas (era Outfit)
   ================================================================= */

/* mantém ícones/fontes especiais intactos */
#view-admin i[data-lucide], #view-admin .material-icons { font-family: inherit; }

/* =================================================================
   ADMIN · Dashboard KPIs + gráficos — padrão de card do design
   ================================================================= */
#view-admin #adm-tab-dashboard .dash-kpis, #view-admin .dash-kpis { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
#view-admin .dash-kpi {
  background:#fff !important; border:1px solid #eaefe2 !important; border-left:1px solid #eaefe2 !important;
  border-radius:18px !important; box-shadow:0 8px 22px rgba(57,70,36,.06) !important;
  padding:15px 16px !important; display:flex !important; align-items:center; gap:13px;
}
#view-admin .dash-kpi-ic { width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:#fff !important; flex-shrink:0; }
#view-admin .dash-kpi[data-tone="purple"] .dash-kpi-ic { background:#405023; }
#view-admin .dash-kpi[data-tone="green"]  .dash-kpi-ic { background:#1f9d57; }
#view-admin .dash-kpi[data-tone="blue"]   .dash-kpi-ic { background:#2f7de0; }
#view-admin .dash-kpi[data-tone="amber"]  .dash-kpi-ic { background:#e0a020; }
#view-admin .dash-kpi[data-tone="red"]    .dash-kpi-ic { background:#e0445a; }
#view-admin .dash-kpi-ic i, #view-admin .dash-kpi-ic svg { color:#fff !important; stroke:#fff; }
#view-admin .dash-kpi-val { font-size:24px; font-weight:800; color:#24281d; line-height:1; }
#view-admin .dash-kpi-lbl { font-size:11px; color:#7e8474; margin-top:4px; font-weight:500; }
/* gráficos em cards limpos */
#view-admin #adm-tab-dashboard .chart-box, #view-admin #adm-tab-dashboard .chart-wide, #view-admin #adm-tab-dashboard .card {
  background:#fff !important; border:1px solid #eaefe2 !important; border-radius:18px !important;
  box-shadow:0 8px 22px rgba(57,70,36,.06) !important; padding:18px !important;
}
@media (max-width:1100px){ #view-admin .dash-kpis { grid-template-columns:repeat(2,1fr); } }

/* =================================================================
   ADMIN · Dashboard KPIs — cópia exata do padrão do design (linha 1137)
   caixa clara + bolinha colorida + número grande + rótulo
   ================================================================= */
#view-admin .dash-kpi-ic { width:30px !important; height:30px !important; border-radius:9px !important; position:relative; }
#view-admin .dash-kpi-ic i, #view-admin .dash-kpi-ic svg { display:none !important; }
#view-admin .dash-kpi-ic::after { content:''; position:absolute; inset:0; margin:auto; width:9px; height:9px; border-radius:50%; }
#view-admin .dash-kpi[data-tone="purple"] .dash-kpi-ic { background:#ecf0e5 !important; }
#view-admin .dash-kpi[data-tone="purple"] .dash-kpi-ic::after { background:#405023; }
#view-admin .dash-kpi[data-tone="green"]  .dash-kpi-ic { background:#e9f6ee !important; }
#view-admin .dash-kpi[data-tone="green"]  .dash-kpi-ic::after { background:#1f9d57; }
#view-admin .dash-kpi[data-tone="blue"]   .dash-kpi-ic { background:#eaf1fb !important; }
#view-admin .dash-kpi[data-tone="blue"]   .dash-kpi-ic::after { background:#2f7de0; }
#view-admin .dash-kpi[data-tone="amber"]  .dash-kpi-ic { background:#fdf6ec !important; }
#view-admin .dash-kpi[data-tone="amber"]  .dash-kpi-ic::after { background:#e0a020; }
#view-admin .dash-kpi[data-tone="red"]    .dash-kpi-ic { background:#fdecef !important; }
#view-admin .dash-kpi[data-tone="red"]    .dash-kpi-ic::after { background:#e0445a; }
#view-admin .dash-kpi { align-items:flex-start !important; flex-direction:column !important; gap:9px !important; }
#view-admin .dash-kpi > div:last-child { display:flex; flex-direction:column; }
#view-admin .dash-kpi-val { font-size:28px !important; font-weight:800 !important; color:#24281d !important; }
#view-admin .dash-kpi-lbl { font-size:10.5px !important; letter-spacing:.5px; color:#7e8474 !important; font-weight:600 !important; }

/* fallback: qualquer KPI sem tom mapeado ganha caixa clara + bolinha roxa */
#view-admin .dash-kpi-ic { background:#ecf0e5 !important; }
#view-admin .dash-kpi-ic::after { content:''; background:#405023; }


/* ================================================================
   Barra da UNIDADE e da UBS com o VISUAL da barra do Regulacao:
   faixa roxa arredondada, logo no topo, itens claros (branco no
   hover / ativo), lista plana (sem cabecalhos de grupo). Somente
   desktop (>=981px); no mobile continua o menu branco deslizante.
   ================================================================ */
/* logo escondida no mobile; aparece so como chip na faixa desktop */
.side-rail-logo { display: none; }


/* ============================================================
   UBS / unidades — shell padronizado (mesmo do master/Regulacao):
   fundo gradiente roxo, rail flutuante, header e conteudo em card
   ao lado do menu (sem faixa no topo, sem fundo branco atras).
   ============================================================ */
/* Zera o padding de 24px da .view-section (senao o fundo do body aparece como
   moldura clara ao redor do gradiente) — igual a Regulacao (full-bleed). */
#view-ubs-intranet.view-section { padding: 0 !important; }
#view-ubs-intranet .ubs-shell-page {
  padding: 18px 22px 40px;
  min-height: 100vh; min-height: 100dvh;
  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%);
  background-attachment: fixed;
}
#view-ubs-intranet .ubs-right {
  min-width: 0; display: flex; flex-direction: column;
}
/* Header como card branco (estilo master), sobrepondo a faixa gradiente */
#view-ubs-intranet .ubs-header-card {
  background: #fff !important;
  border: 1px solid #e6ebdd !important;
  border-radius: 24px !important;
  padding: 16px 24px !important;
  box-shadow: 0 12px 32px rgba(57,70,36,.08) !important;
  margin: 0 !important;
  color: #212717;
}
#view-ubs-intranet .ubs-header-card::before,
#view-ubs-intranet .ubs-header-card::after { display: none !important; }
#view-ubs-intranet .ubs-header-card .intranet-header-title { color: #212717; }
#view-ubs-intranet .ubs-header-card .intranet-header-sub { color: #7e8474; }
#view-ubs-intranet .ubs-header-card .intranet-header-logo {
  background: #e7efd9; color: #394820; border: none;
}
/* Botoes do header visiveis no card branco (estilo master) */
#view-ubs-intranet .ubs-header-card .intranet-header-actions .btn {
  background: #f0f4e9 !important; color: #394820 !important; border: 1px solid #e2e8d7 !important;
}
#view-ubs-intranet .ubs-header-card .intranet-header-actions .btn:hover {
  background: #e1ead2 !important;
}
#view-ubs-intranet .ubs-header-card .intranet-header-actions .btn-danger {
  background: #fdecec !important; color: #c0392b !important; border-color: #f3c6c6 !important;
}
#view-ubs-intranet .ubs-header-card .intranet-header-actions .btn-danger:hover {
  background: #f9dede !important;
}
/* Sair da unidade no rodape do rail de modulos (padrao Regulacao) */







/* Dica inicial do conteudo UBS (sem duplicar a identidade do header) */



/* Conteudo em card translucido (como .mst-main / #intranet-reg-maincard) */


/* =================================================================
   Rail da Regulacao: ao EXPANDIR (hover/foco) EMPURRA o conteudo,
   nunca sobrepoe. Padrao para TODOS os paineis (reg-shell).
   ================================================================= */
body.reg-shell-on { transition: padding-left .24s cubic-bezier(.22,.7,.3,1); }
body.reg-shell-on:has(#reg-rail-fixed:hover),
body.reg-shell-on:has(#reg-rail-fixed:focus-within) { padding-left: 266px; }
@media (max-width: 640px) {
  body.reg-shell-on:has(#reg-rail-fixed:hover),
  body.reg-shell-on:has(#reg-rail-fixed:focus-within) { padding-left: 96px; }
}
