/*
 * Criativa Helpdesk, visual 1.16 (aprovado pelo Fabiano em 15/10/2026 sobre a amostra 3 de amostras/visual-1.16 (amostra).html).
 * Folha carregada nos dois painéis pelo hook HEAD_END, por cima do CSS do Filament 5 (classes fi-*).
 * Escala única: título 20/700, número 26/700, seção 14/600, corpo 13,5/400, meta 12/400, rótulo 11/600 maiúsculo.
 */
:root {
  --hd-verde: #35c244; --hd-verde-escuro: #1f8f33; --hd-laranja: #f79a0b; --hd-azul: #2f7df6; --hd-roxo: #7c3aed; --hd-vermelho: #ef4444;
  --hd-fundo: #f6f7f9; --hd-card: #ffffff; --hd-texto: #111827; --hd-texto-2: #4b5563; --hd-texto-3: #6b7280; --hd-borda: #e5e7eb; --hd-borda-2: #f1f5f9;
  --hd-sombra: 0 1px 2px rgba(17,24,39,.04);
  --hd-raio: 12px;
}
.dark {
  --hd-fundo: #0f172a; --hd-card: #111827; --hd-texto: #e5e7eb; --hd-texto-2: #cbd5e1; --hd-texto-3: #94a3b8; --hd-borda: #1f2937; --hd-borda-2: #1e293b;
  --hd-sombra: 0 1px 2px rgba(0,0,0,.3);
}

/* ===== Base ===== */
body.fi-body { background: var(--hd-fundo) !important; color: var(--hd-texto); font-size: 14px; } /* 1.17 (I10): corpo 14 px (decisão do Fabiano, 15/10/2026) */
.fi-main { max-width: 1320px; }

/* ===== Barra superior: sólida, na cor da marca ===== */
.fi-topbar { background: var(--hd-verde-escuro) !important; border-bottom: 0 !important; box-shadow: none !important; }
.fi-topbar .fi-logo, .fi-topbar .fi-icon-btn, .fi-topbar .fi-topbar-database-notifications-btn, .fi-topbar .fi-icon-btn-icon { color: #fff !important; }
.fi-topbar .fi-icon-btn:hover { background: rgba(255,255,255,.14) !important; }
.fi-topbar .fi-global-search-field .fi-input-wrp { background: rgba(255,255,255,.14) !important; border: 1px solid rgba(255,255,255,.22) !important; box-shadow: none !important; }
.fi-topbar .fi-global-search-field input { color: #fff !important; }
.fi-topbar .fi-global-search-field input::placeholder { color: rgba(255,255,255,.75) !important; }
.fi-topbar .fi-global-search-field .fi-icon { color: rgba(255,255,255,.85) !important; }
.fi-topbar-database-notifications-btn .fi-badge { background: var(--hd-laranja) !important; color: #fff !important; border: 0 !important; }
/* Sobre o verde, o logo de texto branco (o mesmo do modo escuro) lê melhor que o de texto escuro */
.fi-topbar .fi-logo-light { display: none !important; }
.fi-topbar .fi-logo-dark { display: block !important; }
/* Menu do usuário: nome e papel ao lado do avatar, tudo numa pílula clicável */
.fi-topbar-end { gap: 10px; }
.hd-user { display: inline-flex; align-items: center; gap: 9px; color: #fff; cursor: pointer; }
.hd-user b { display: block; font-size: 13px; font-weight: 600; line-height: 1.15; text-align: left; }
.hd-user small { display: block; font-size: 11px; opacity: .85; line-height: 1.15; text-align: left; }
.hd-user svg { width: 14px; height: 14px; opacity: .85; }
/* 1.18.1: avatar, nome e seta num botão só, com padding e fundo leve ao passar o mouse; o botão inteiro abre o menu */
.fi-user-menu-trigger.hd-user-btn { display: inline-flex !important; align-items: center; gap: 10px; padding: 4px 10px 4px 4px !important; border-radius: 999px !important; transition: background .15s; }
.fi-user-menu-trigger.hd-user-btn:hover, .fi-user-menu-trigger.hd-user-btn[aria-expanded="true"] { background: rgba(255,255,255,.14) !important; }
.fi-user-menu-trigger .fi-avatar { outline: 2px solid rgba(255,255,255,.45); }
.fi-user-menu-trigger:hover .fi-avatar { outline-color: #fff; }

/* ===== Menu lateral: branco, leve ===== */
.fi-sidebar { background: var(--hd-card) !important; border-right: 1px solid var(--hd-borda) !important; box-shadow: none !important; }
.fi-sidebar-header { background: var(--hd-card) !important; border-bottom: 1px solid var(--hd-borda-2) !important; box-shadow: none !important; }
.fi-sidebar-group-label { font-size: 11px !important; text-transform: uppercase; letter-spacing: .08em; color: var(--hd-texto-3) !important; font-weight: 600 !important; }
.fi-sidebar-item-btn { border-radius: 8px !important; padding: 7px 12px !important; }
.fi-sidebar-item-label { color: #374151 !important; font-weight: 400 !important; font-size: 14px !important; }
.dark .fi-sidebar-item-label { color: var(--hd-texto-2) !important; }
.fi-sidebar-item-icon { color: var(--hd-texto-3) !important; width: 18px !important; height: 18px !important; }
.fi-sidebar-item-btn:hover { background: #f3f4f6 !important; }
.dark .fi-sidebar-item-btn:hover { background: #1f2937 !important; }
.fi-sidebar-item.fi-active .fi-sidebar-item-btn { background: #ecfdf0 !important; }
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-btn { background: rgba(53,194,68,.14) !important; }
.fi-sidebar-item.fi-active .fi-sidebar-item-label { color: var(--hd-verde-escuro) !important; font-weight: 600 !important; }
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-label { color: var(--hd-verde) !important; }
.fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: var(--hd-verde-escuro) !important; }
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: var(--hd-verde) !important; }

/* ===== Cabeçalho da página ===== */
.fi-breadcrumbs { font-size: 12px; }
.fi-breadcrumbs-item-label { color: var(--hd-texto-2) !important; }
.fi-header-heading { font-size: 20px !important; font-weight: 700 !important; letter-spacing: 0 !important; }
.fi-header-subheading { font-size: 12px !important; color: var(--hd-texto-2) !important; }

/* ===== Cards (seções) ===== */
.fi-section { background: var(--hd-card) !important; border: 1px solid var(--hd-borda) !important; border-radius: var(--hd-raio) !important; box-shadow: var(--hd-sombra) !important; }
.fi-section-header { padding: 18px 20px 14px !important; } /* 15/10/2026: 14 px entre a descrição e a linha, em todo card */
.fi-section-header-heading { font-size: 14px !important; font-weight: 600 !important; }
.fi-section-header-description { font-size: 12px !important; color: var(--hd-texto-2) !important; }
.fi-section-content { padding: 16px 20px 20px !important; }
.fi-section:not(.fi-section-has-header) .fi-section-content { padding-top: 20px !important; }
.fi-wi-widget:not(.fi-wi-stats-overview), .fi-wi-chart { border: 1px solid var(--hd-borda) !important; border-radius: var(--hd-raio) !important; box-shadow: var(--hd-sombra) !important; background: var(--hd-card) !important; }
/* 15/10/2026 (Fabiano: "odeio coisas coladas"): o bloco dos indicadores do Painel não é um card; os tiles ficam soltos, 14 px entre eles */
.fi-wi-widget.fi-wi-stats-overview { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.fi-wi-stats-overview .fi-wi-stats-overview-stats-ctn { gap: 14px !important; }
.fi-wi-chart-header-heading, .fi-wi-widget-header-heading { font-size: 14px !important; font-weight: 600 !important; }
.fi-wi-chart-header-description { font-size: 12px !important; color: var(--hd-texto-2) !important; }

/* ===== Indicadores em pastel (classe hd-tile posta pelos widgets) ===== */
/* 1.17 (I1): o widget de indicadores perde o card branco em volta: cada indicador é o próprio card.
   [MEDIDO] na 1.16 o cartão ficou porque o Filament 5 não põe a classe fi-wi-stats-overview na seção; a seção é
   reconhecida pelo que contém (:has). O "padding em cima e zero embaixo" era o fi-section-content (20 px / 0). */
.fi-section:has(> .fi-section-content-ctn > .fi-section-content > .fi-grid-col > .fi-sc-component > .fi-wi-stats-overview-stat) { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.fi-section-content:has(> .fi-grid-col > .fi-sc-component > .fi-wi-stats-overview-stat) { padding: 0 !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
@media (max-width: 639px) { .fi-section-content:has(> .fi-grid-col > .fi-sc-component > .fi-wi-stats-overview-stat) { grid-template-columns: 1fr !important; } }
@media (min-width: 1280px) { .fi-section-content:has(> .fi-grid-col > .fi-sc-component > .fi-wi-stats-overview-stat) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
/* Dentro do indicador: texto numa coluna e ícone numa coluna fixa de 44 px, em grade; o rótulo quebra dentro da coluna dele e nunca passa por baixo do ícone */
.fi-wi-stats-overview-stat.hd-tile { border-radius: var(--hd-raio) !important; padding: 18px 20px !important; min-height: 110px; border: 1px solid transparent !important; box-shadow: none !important; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-content { display: grid; grid-template-columns: minmax(0, 1fr) 44px; grid-template-areas: "rotulo icone" "valor icone" "desc desc"; column-gap: 14px; align-items: start; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-label-ctn { display: contents; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-label { grid-area: rotulo; font-size: 11px !important; letter-spacing: .06em; text-transform: uppercase; color: #4b5563 !important; font-weight: 600 !important; line-height: 1.35; min-width: 0; overflow-wrap: break-word; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-value { grid-area: valor; font-size: 26px !important; font-weight: 700 !important; letter-spacing: -.02em; color: #111827 !important; line-height: 1.1 !important; margin-top: 6px; min-width: 0; overflow-wrap: break-word; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-placeholder { grid-area: valor; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-description { grid-area: desc; font-size: 12px !important; color: #4b5563 !important; margin-top: 10px; min-width: 0; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-description .fi-icon { display: none; }
.fi-wi-stats-overview-stat.hd-tile .fi-wi-stats-overview-stat-label-ctn > .fi-icon { grid-area: icone; width: 44px !important; height: 44px !important; padding: 11px; border-radius: 12px; color: #fff !important; justify-self: end; }
.hd-tile.hd-azul { background: #eff6ff !important; border-color: #bfdbfe !important; } .hd-tile.hd-azul .fi-wi-stats-overview-stat-label-ctn > .fi-icon { background: var(--hd-azul); }
.hd-tile.hd-verde { background: #f0fdf4 !important; border-color: #bbf7d0 !important; } .hd-tile.hd-verde .fi-wi-stats-overview-stat-label-ctn > .fi-icon { background: var(--hd-verde); }
.hd-tile.hd-laranja { background: #fff7ed !important; border-color: #fed7aa !important; } .hd-tile.hd-laranja .fi-wi-stats-overview-stat-label-ctn > .fi-icon { background: var(--hd-laranja); }
.hd-tile.hd-vermelho { background: #fef2f2 !important; border-color: #fecaca !important; } .hd-tile.hd-vermelho .fi-wi-stats-overview-stat-label-ctn > .fi-icon { background: var(--hd-vermelho); }
.hd-tile.hd-roxo { background: #f5f3ff !important; border-color: #ddd6fe !important; } .hd-tile.hd-roxo .fi-wi-stats-overview-stat-label-ctn > .fi-icon { background: var(--hd-roxo); }
.dark .hd-tile.hd-azul { background: rgba(47,125,246,.12) !important; border-color: rgba(47,125,246,.35) !important; }
.dark .hd-tile.hd-verde { background: rgba(53,194,68,.12) !important; border-color: rgba(53,194,68,.35) !important; }
.dark .hd-tile.hd-laranja { background: rgba(247,154,11,.12) !important; border-color: rgba(247,154,11,.35) !important; }
.dark .hd-tile.hd-vermelho { background: rgba(239,68,68,.12) !important; border-color: rgba(239,68,68,.35) !important; }
.dark .hd-tile.hd-roxo { background: rgba(124,58,237,.14) !important; border-color: rgba(124,58,237,.4) !important; }
.dark .hd-tile .fi-wi-stats-overview-stat-label, .dark .hd-tile .fi-wi-stats-overview-stat-description { color: var(--hd-texto-2) !important; }
.dark .hd-tile .fi-wi-stats-overview-stat-value { color: var(--hd-texto) !important; }

/* ===== Tabelas (1.17, I10: densidade da tabela compacta em TODAS, célula 14 px, cabeçalho 11 px caixa alta) ===== */
.fi-ta-ctn { border: 1px solid var(--hd-borda) !important; border-radius: var(--hd-raio) !important; box-shadow: var(--hd-sombra) !important; }
.fi-ta-header-cell { background: #f8fafc !important; padding: 8px 12px !important; }
.dark .fi-ta-header-cell { background: #0f172a !important; }
.fi-ta-header-cell-label, .fi-ta-header-cell-sort-btn { font-size: 11px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--hd-texto-2) !important; font-weight: 600 !important; }
.fi-ta-cell { padding-top: 0 !important; padding-bottom: 0 !important; }
.fi-ta-cell .fi-ta-col { padding-top: 0 !important; padding-bottom: 0 !important; }
/* O Filament põe 16 px em cima e embaixo dentro de cada célula (fi-ta-text etc.); aqui vira 8 px, linha de ~38 px */
.fi-ta-cell .fi-ta-col > *, .fi-ta-cell > .fi-ta-text, .fi-ta-cell > .fi-ta-icon-item { padding-top: 6px !important; padding-bottom: 6px !important; }
.fi-ta-cell .fi-ta-text, .fi-ta-cell .fi-ta-text-item { font-size: 14px !important; }
.fi-ta-cell .fi-ta-text-item-description, .fi-ta-cell .fi-ta-text-description { font-size: 12px !important; }
.fi-ta-row:hover > .fi-ta-cell { background: #fafafa !important; }
.dark .fi-ta-row:hover > .fi-ta-cell { background: #1e293b !important; }
.fi-ta-actions-cell, .fi-ta-cell:has(> .fi-ta-actions) { padding-top: 4px !important; padding-bottom: 4px !important; }
/* Ação na linha: o mesmo botão leve em toda tabela (Filament e próprias): borda fina, fundo branco, ícone e texto */
.fi-ta-actions .fi-link, .hd-table .hd-acoes .fi-btn, .hd-acoes .fi-btn, .hd-acao {
  display: inline-flex !important; align-items: center; gap: 6px; border: 1px solid var(--hd-borda) !important; background: var(--hd-card) !important;
  border-radius: 8px !important; padding: 4px 10px !important; font-size: 12.5px !important; font-weight: 600 !important; line-height: 1.2 !important;
  color: var(--hd-texto) !important; box-shadow: none !important; text-decoration: none !important; white-space: nowrap; min-height: 28px;
}
.fi-ta-actions .fi-link .fi-icon, .hd-acoes .fi-btn .fi-icon { width: 14px !important; height: 14px !important; color: var(--hd-texto-3) !important; }
.fi-ta-actions .fi-link:hover, .hd-acoes .fi-btn:hover { border-color: #bbf7d0 !important; background: #ecfdf0 !important; }
.fi-ta-actions .fi-link.fi-color-danger, .hd-acoes .fi-btn.fi-color-danger { color: #b91c1c !important; border-color: #fecaca !important; }
.fi-ta-actions .fi-link.fi-color-danger:hover, .hd-acoes .fi-btn.fi-color-danger:hover { background: #fef2f2 !important; }
.fi-ta-actions .fi-link.fi-color-danger .fi-icon { color: #dc2626 !important; }
.fi-ta-actions .fi-link.fi-disabled, .fi-ta-actions .fi-link[disabled], .fi-ta-actions .fi-link[aria-disabled="true"], .hd-acoes .fi-btn:disabled { opacity: .45 !important; cursor: not-allowed !important; }
.fi-ta-actions .fi-link.fi-disabled:hover { border-color: var(--hd-borda) !important; background: var(--hd-card) !important; }
.fi-ta-actions { gap: 6px !important; }
.dark .fi-ta-actions .fi-link:hover, .dark .hd-acoes .fi-btn:hover { background: rgba(53,194,68,.12) !important; border-color: rgba(53,194,68,.4) !important; }
/* Paginação do Filament: a mesma barra em todas */
.fi-pagination-overview { font-size: 13px !important; color: var(--hd-texto-2) !important; }

/* ===== Pílulas (badges) ===== */
.fi-badge { font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px !important; padding: 2px 9px !important; }

/* ===== Botões e campos ===== */
.fi-btn { border-radius: 9px !important; font-size: 13.5px !important; font-weight: 600 !important; }
.fi-input-wrp, .fi-select-input, .fi-fo-field-wrp .fi-input-wrp { border-radius: 9px !important; }
.fi-fo-field-wrp-label .fi-fo-field-wrp-label-text { font-size: 12.5px !important; font-weight: 600 !important; }
.fi-fo-field-wrp-helper-text { font-size: 12px !important; }

/* ===== Avisos do sistema (tarja) e páginas simples ===== */
.hd-aviso { border-radius: 10px; padding: 11px 16px; font-weight: 600; font-size: 13.5px; border: 1px solid; display: flex; gap: 10px; align-items: center; margin-bottom: 14px; }
.hd-aviso .hd-aviso-acoes { margin-left: auto; display: flex; gap: 6px; }
.hd-aviso button { background: #fff; border: 1px solid currentColor; color: inherit; border-radius: 8px; padding: 5px 11px; font-weight: 600; font-size: 12.5px; cursor: pointer; }
.fi-simple-main { border: 1px solid var(--hd-borda) !important; border-radius: 16px !important; box-shadow: var(--hd-sombra) !important; }

/* ===== Guias de página, tabelas de registro e paginação (1.16, H5 e H7) ===== */
.hd-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--hd-borda); margin-bottom: 18px; }
.hd-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 9px 14px; font-size: 13.5px; font-weight: 500; color: var(--hd-texto-2); cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.hd-tabs button svg { width: 16px; height: 16px; }
.hd-tabs button:hover { color: var(--hd-texto); }
.hd-tabs button.hd-ativa { color: var(--hd-verde-escuro); border-bottom-color: var(--hd-verde-escuro); font-weight: 600; }
.dark .hd-tabs button.hd-ativa { color: var(--hd-verde); border-bottom-color: var(--hd-verde); }
.hd-tabs .hd-tab-badge { background: var(--hd-laranja); color: #fff; border-radius: 999px; font-size: 10.5px; font-weight: 700; padding: 1px 6px; }
.hd-table { width: 100%; font-size: 14px; border-collapse: collapse; }
.hd-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--hd-texto-2); font-weight: 600; padding: 10px 12px; background: #f8fafc; border-bottom: 1px solid var(--hd-borda); }
.dark .hd-table th { background: #0f172a; }
.hd-table td { padding: 6px 12px; border-bottom: 1px solid var(--hd-borda-2); vertical-align: middle; }
.hd-table tr:last-child td { border-bottom: 0; }
.hd-table .hd-mono { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; }
.hd-table .hd-nowrap { white-space: nowrap; }
.hd-table .hd-acoes { display: flex; gap: 6px; white-space: nowrap; }
.hd-vazio { font-size: 14px; color: var(--hd-texto-3); }
/* 1.17 (I7): linha inativa apaga só o conteúdo, nunca a ação */
.hd-table tr.hd-inativa td:not(.hd-acoes), .hd-table tr.hd-inativa td:not(.hd-acoes) * { color: var(--hd-texto-3) !important; }
.hd-pag { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 13px; color: var(--hd-texto-2); flex-wrap: wrap; }
.hd-pag-acoes { display: inline-flex; align-items: center; gap: 8px; }
.hd-pag select { font-size: 12.5px; border: 1px solid var(--hd-borda); border-radius: 7px; padding: 3px 6px; background: var(--hd-card); color: var(--hd-texto); margin-left: 4px; }
.hd-ok { color: #23a733; font-weight: 600; } .hd-erro { color: #e5484d; font-weight: 600; } .hd-aviso-txt { color: #f79a0b; font-weight: 600; }
.hd-status { font-size: 14px; } .hd-status + .hd-status { margin-top: 6px; } .hd-status.hd-sec { font-size: 13px; color: var(--hd-texto-2); }
.hd-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.hd-chips button { border: 1px solid var(--hd-borda); border-radius: 999px; padding: 4px 11px; font-size: 12.5px; background: transparent; color: var(--hd-texto-2); cursor: pointer; }
.hd-chips button.hd-ativa { background: #ecfdf0; border-color: var(--hd-verde); color: var(--hd-verde-escuro); font-weight: 600; }
.dark .hd-chips button.hd-ativa { background: rgba(53,194,68,.14); color: var(--hd-verde); }
.hd-form-acoes { margin-top: 16px; display: flex; gap: 12px; }

/* ===== Indicadores por módulo com período (1.16, H10) ===== */
.hd-periodo { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.hd-periodo-datas { display: inline-flex; gap: 10px; font-size: 12.5px; color: var(--hd-texto-2); }
.hd-periodo-datas input { font-size: 12.5px; border: 1px solid var(--hd-borda); border-radius: 7px; padding: 3px 6px; background: var(--hd-card); color: var(--hd-texto); margin-left: 4px; }
.hd-periodo-rotulo { font-size: 12px; color: var(--hd-texto-3); margin-left: auto; }
.hd-ind { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 639px) { .hd-ind { grid-template-columns: 1fr; } }
@media (min-width: 1280px) { .hd-ind { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.hd-ind-tile { border-radius: var(--hd-raio); padding: 18px 20px; min-height: 104px; border: 1px solid transparent; display: grid; grid-template-columns: minmax(0, 1fr) 44px; grid-template-areas: "rotulo icone" "valor icone" "desc desc"; column-gap: 14px; align-items: start; }
.hd-ind-rotulo { grid-area: rotulo; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #4b5563; font-weight: 600; line-height: 1.35; min-width: 0; overflow-wrap: break-word; }
.hd-ind-valor { grid-area: valor; font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: #111827; line-height: 1.1; margin-top: 6px; min-width: 0; overflow-wrap: break-word; }
.hd-ind-desc { grid-area: desc; font-size: 12px; color: #4b5563; margin-top: 10px; min-width: 0; }
.hd-ind-icone { grid-area: icone; justify-self: end; width: 44px; height: 44px; padding: 11px; border-radius: 12px; color: #fff; display: inline-flex; }
.hd-ind-icone svg { width: 22px; height: 22px; }
.hd-ind-tile.hd-azul { background: #eff6ff; border-color: #bfdbfe; } .hd-ind-tile.hd-azul .hd-ind-icone { background: var(--hd-azul); }
.hd-ind-tile.hd-verde { background: #f0fdf4; border-color: #bbf7d0; } .hd-ind-tile.hd-verde .hd-ind-icone { background: var(--hd-verde); }
.hd-ind-tile.hd-laranja { background: #fff7ed; border-color: #fed7aa; } .hd-ind-tile.hd-laranja .hd-ind-icone { background: var(--hd-laranja); }
.hd-ind-tile.hd-vermelho { background: #fef2f2; border-color: #fecaca; } .hd-ind-tile.hd-vermelho .hd-ind-icone { background: var(--hd-vermelho); }
.hd-ind-tile.hd-roxo { background: #f5f3ff; border-color: #ddd6fe; } .hd-ind-tile.hd-roxo .hd-ind-icone { background: var(--hd-roxo); }
.dark .hd-ind-tile.hd-azul { background: rgba(47,125,246,.12); border-color: rgba(47,125,246,.35); }
.dark .hd-ind-tile.hd-verde { background: rgba(53,194,68,.12); border-color: rgba(53,194,68,.35); }
.dark .hd-ind-tile.hd-laranja { background: rgba(247,154,11,.12); border-color: rgba(247,154,11,.35); }
.dark .hd-ind-tile.hd-vermelho { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.35); }
.dark .hd-ind-tile.hd-roxo { background: rgba(124,58,237,.14); border-color: rgba(124,58,237,.4); }
.dark .hd-ind-rotulo, .dark .hd-ind-desc { color: var(--hd-texto-2); } .dark .hd-ind-valor { color: var(--hd-texto); }
.hd-ranks { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px 28px; margin-top: 18px; }
.hd-rank-titulo { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--hd-texto-2); font-weight: 600; margin-bottom: 8px; }
.hd-rank-linha { display: grid; grid-template-columns: minmax(0, 150px) 1fr 40px; gap: 10px; align-items: center; font-size: 12.5px; padding: 3px 0; }
.hd-rank-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--hd-texto); }
.hd-rank-barra { height: 8px; border-radius: 99px; background: var(--hd-borda-2); overflow: hidden; }
.hd-rank-barra > span { display: block; height: 100%; border-radius: 99px; background: var(--hd-verde); }
.hd-rank-total { text-align: right; font-variant-numeric: tabular-nums; color: var(--hd-texto-2); }

/* ===== Responsividade (1.16): nada sobrepõe, tudo quebra ou rola ===== */
@media (max-width: 760px) { .hd-user b, .hd-user small { display: none; } .fi-user-menu-trigger.hd-user-btn { padding: 4px 8px 4px 4px !important; } }
.hd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hd-table { min-width: 640px; }
.hd-tabs { flex-wrap: wrap; }
.hd-periodo-rotulo { margin-left: 0; width: 100%; }
@media (min-width: 900px) { .hd-periodo-rotulo { margin-left: auto; width: auto; } }
.hd-rank-linha { grid-template-columns: minmax(0, 1fr) minmax(60px, 1fr) 40px; }
.fi-wi-chart .fi-wi-chart-canvas-ctn, .fi-wi-chart canvas { max-width: 100%; }

/* ===== Tarja de avisos, declaração de ciência e janela bloqueante (1.16, H11) ===== */
.hd-tarjas { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; } /* 15/10/2026: 14 px entre a barra verde e a tarja */
.hd-tarjas:empty { display: none; }
/* 15/10/2026: item do menu do usuário com o mesmo destaque do Sair ao passar o mouse */
.fi-user-menu .fi-dropdown-list-item:hover { background: var(--hd-fundo) !important; }
.hd-tarja { border-radius: 10px; padding: 10px 14px; display: flex; gap: 12px; align-items: center; /* 15/10/2026: botões centrados na altura */ font-size: 13.5px; line-height: 1.45; flex-wrap: wrap; }
.hd-tarja-texto { flex: 1 1 320px; min-width: 0; }
.hd-tarja-vence { display: inline-block; margin-left: 8px; font-size: 11.5px; opacity: .85; white-space: nowrap; }
.hd-tarja-acoes { flex: none; display: flex; gap: 6px; align-items: center; }
.hd-tarja-acoes button { background: rgba(255,255,255,.75); color: inherit; border: 1px solid rgba(0,0,0,.15); border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: 12.5px; font-weight: 600; } /* 1.17 (I9): tarja clara */
.hd-tarja-acoes button:hover { background: #fff; }
.hd-tarja-acoes .hd-tarja-destaque { color: #fff; border-color: transparent; }
.hd-tarja-acoes .hd-tarja-destaque:hover { filter: brightness(1.15); background: inherit; }
.hd-dialog { position: fixed; inset: 0; margin: auto; border: 0; border-radius: 14px; padding: 0; max-width: 560px; width: calc(100% - 32px); color: var(--hd-texto); background: var(--hd-card); box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.hd-dialog::backdrop { background: rgba(17,24,39,.55); }
.hd-dialog form { padding: 22px 24px; font-size: 13.5px; }
.hd-dialog h3, .hd-bloqueio h3 { font-size: 17px; font-weight: 700; margin: 0 0 10px; }
.hd-dialog p { color: var(--hd-texto-2); margin: 0 0 12px; }
.hd-dialog blockquote { margin: 0 0 14px; padding: 12px 14px; border-radius: 8px; } /* 1.17 (I9): cor do aviso inline */
.hd-dialog-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 600; margin-bottom: 16px; cursor: pointer; }
.hd-dialog-check input { margin-top: 3px; }
.hd-dialog-acoes { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.hd-btn-verde, .hd-btn-cinza { border: 0; border-radius: 9px; padding: 9px 16px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.hd-btn-verde { background: var(--hd-verde-escuro); color: #fff; }
.hd-btn-verde:hover { background: #197a2b; }
.hd-btn-cinza { background: #e5e7eb; color: #111827; }
.hd-bloqueio { position: fixed; inset: 0; z-index: 9999; background: rgba(17,24,39,.72); display: flex; align-items: center; justify-content: center; padding: 16px; }
.hd-bloqueio-caixa { background: var(--hd-card); color: var(--hd-texto); border-radius: 14px; max-width: 600px; width: 100%; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.hd-bloqueio-faixa { padding: 8px 20px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hd-bloqueio-corpo { padding: 22px 24px; font-size: 13.5px; }
.hd-bloqueio-texto { font-size: 14.5px; margin: 0 0 12px; white-space: pre-line; }
.hd-bloqueio-explica { color: var(--hd-texto-2); margin: 0 0 16px; }
body:has(.hd-bloqueio) { overflow: hidden; }

/* Telefone (1.16, H14): em tela estreita o texto "WhatsApp" do sufixo some e fica só o visto verde, para o número não cortar */
@media (max-width: 639px) { .fi-input-wrp-suffix.fi-input-wrp-suffix-has-label .fi-input-wrp-label { display: none; } }

/* ===== Arrastar tabela com o mouse (1.17, I3): mão fechada só durante o arrasto ===== */
.fi-ta-content-ctn.hd-arrastando, .hd-table-wrap.hd-arrastando { cursor: grabbing !important; user-select: none; scroll-behavior: auto; }
.hd-arrastando-corpo, .hd-arrastando-corpo * { cursor: grabbing !important; }

/* ===== Barra do "Acessar como" (1.17, I15): faixa clara, sem roxo ===== */
.hd-personificacao { position: sticky; top: 0; z-index: 60; background: #fff7ed; border-bottom: 1px solid #fed7aa; color: #9a3412; font-size: 13.5px; padding: 8px 16px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hd-personificacao-texto { display: inline-flex; align-items: center; gap: 8px; flex: 1 1 320px; min-width: 0; }
.hd-personificacao-sair { margin-left: auto; flex: none; }
.hd-personificacao .hd-acao { border-color: #fed7aa !important; color: #9a3412 !important; }
.hd-personificacao .hd-acao:hover { background: #ffedd5 !important; }
.dark .hd-personificacao { background: rgba(247,154,11,.12); border-color: rgba(247,154,11,.4); color: #fdba74; }

/* ===== Anel de foco na paleta (1.17, I14): um só para o sistema inteiro ===== */
.hd-pag select:focus, .hd-periodo-datas input:focus, .hd-chips button:focus-visible, .hd-tabs button:focus-visible, .hd-acao:focus-visible,
.fi-ta-actions .fi-link:focus-visible, .hd-acoes .fi-btn:focus-visible, .tc-reply textarea:focus-visible, .tc-toolbar button:focus-visible,
.hd-dialog button:focus-visible, .hd-dialog input:focus, .hd-bloqueio button:focus-visible, .hd-bloqueio input:focus,
.hd-tarja-acoes button:focus-visible, .fi-pagination select:focus, input[type="search"]:focus, .fi-input:focus, .fi-select-input:focus, .tc-reply textarea:focus, .fi-btn:focus-visible, .fi-link:focus-visible, .fi-icon-btn:focus-visible, .fi-sidebar-item-btn:focus-visible {
  outline: none !important; box-shadow: 0 0 0 3px rgba(53,194,68,.25) !important; border-color: #35c244 !important; border-radius: 8px;
}
.fi-input-wrp:has(> .fi-input-wrp-content-ctn > .fi-input:focus-visible), .fi-input-wrp:focus-within { box-shadow: 0 0 0 3px rgba(53,194,68,.25) !important; border-color: #35c244 !important; }
/* Qualquer campo de texto, área ou seletor do sistema (inclusive os feitos à mão) mostra o mesmo anel ao receber foco */
.fi-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus, .fi-main textarea:focus, .fi-main select:focus,
.fi-modal input:not([type="checkbox"]):not([type="radio"]):focus, .fi-modal textarea:focus, .fi-modal select:focus,
.fi-simple-main input:not([type="checkbox"]):focus {
  outline: none !important; box-shadow: 0 0 0 3px rgba(53,194,68,.25) !important; border-color: #35c244 !important;
}
/* Dentro do campo do Filament o anel vai no contorno, não no input interno */
.fi-input-wrp input:focus, .fi-input-wrp select:focus, .fi-input-wrp textarea:focus { box-shadow: none !important; border-color: transparent !important; }

/* ===== Linha de status com ponto pulsante (1.17, I5) ===== */
.hd-statuslinha { display: flex; align-items: center; gap: 10px; min-height: 52px; font-size: 13.5px; color: var(--hd-texto-2); padding: 10px 14px; border: 1px solid var(--hd-borda); border-radius: 10px; background: var(--hd-card); margin-bottom: 14px; }
.hd-statuslinha-texto { flex: 1 1 auto; min-width: 0; }
.hd-ponto { position: relative; width: 10px; height: 10px; border-radius: 50%; flex: none; background: #9ca3af; }
.hd-ponto::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; background: inherit; opacity: .35; animation: hd-pulso 1.8s ease-out infinite; }
.hd-estado-ok .hd-ponto { background: #22c55e; } .hd-estado-ok .hd-statuslinha-texto { color: #166534; }
.hd-estado-erro .hd-ponto { background: #ef4444; } .hd-estado-erro .hd-statuslinha-texto { color: #991b1b; }
.hd-estado-neutro .hd-ponto::after { animation: none; }
@keyframes hd-pulso { 0% { transform: scale(.6); opacity: .5; } 70% { transform: scale(1.6); opacity: 0; } 100% { transform: scale(1.6); opacity: 0; } }
.hd-statuslinha-atualizar { flex: none; width: 30px; height: 30px; border: 1px solid var(--hd-borda); border-radius: 8px; background: var(--hd-card); color: var(--hd-texto-3); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.hd-statuslinha-atualizar .fi-icon { width: 16px; height: 16px; }
.hd-statuslinha-atualizar:hover { border-color: #bbf7d0; background: #ecfdf0; color: var(--hd-verde-escuro); }
.hd-statuslinha-atualizar:disabled { opacity: .5; cursor: progress; }

/* ===== Avisos de pendência de configuração (1.17, I8), no padrão dos alertas claros ===== */
.hd-pendencia { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; column-gap: 10px; row-gap: 8px; background: #fef3c7; border: 1px solid #fcd34d; color: #92400e; border-radius: 10px; padding: 10px 14px; font-size: 13.5px; margin-bottom: 10px; }
.hd-pendencia-icone { width: 18px; height: 18px; }
.hd-pendencia-texto { min-width: 0; }
@media (max-width: 639px) { .hd-pendencia { grid-template-columns: 18px minmax(0, 1fr); } .hd-pendencia-fechar { grid-column: 2; justify-self: start; } }
.hd-pendencia-link { background: none; border: 0; padding: 0; margin-left: 6px; color: #92400e; font-weight: 700; text-decoration: underline; cursor: pointer; font-size: 13.5px; }
.hd-pendencia-fechar { flex: none; background: #fff; border: 1px solid #fcd34d; color: #92400e; border-radius: 8px; padding: 4px 10px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.hd-pendencia-fechar:hover { background: #fde68a; }
.dark .hd-pendencia { background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.45); color: #fcd34d; }
.dark .hd-pendencia-link { color: #fcd34d; } .dark .hd-pendencia-fechar { background: transparent; color: #fcd34d; border-color: rgba(245,158,11,.45); }

/* ===== Card filho dentro de um card (15/10/2026, Chaves de integração: um card por serviço) ===== */
.fi-section.hd-card-filho { background: var(--hd-fundo) !important; border: 1px solid var(--hd-borda) !important; box-shadow: none !important; border-radius: 10px !important; }
.fi-section.hd-card-filho .fi-section-header { padding: 14px 16px 10px !important; }
.fi-section.hd-card-filho .fi-section-header-heading { font-size: 13.5px !important; }
.fi-section.hd-card-filho .fi-section-content { padding: 12px 16px 16px !important; }
.fi-section.hd-card-filho + .fi-section.hd-card-filho { margin-top: 12px; }
.dark .fi-section.hd-card-filho { background: rgba(255,255,255,.03) !important; }

/* ===== Campo de segredo já gravado (1.17, I4): pontos cinza no lugar do valor, que nunca volta para a tela ===== */
input.hd-segredo::placeholder { color: #9ca3af; letter-spacing: 3px; font-size: 16px; line-height: 1; opacity: 1; }
.dark input.hd-segredo::placeholder { color: #6b7280; }

/* ===== Editor de texto formatado dos Comunicados (1.17, I13) ===== */
.fi-fo-rich-editor .ProseMirror { min-height: 220px; font-size: 14px; }
.fi-fo-rich-editor .ProseMirror :is(h2, h3) { font-weight: 700; margin: 10px 0 6px; } .fi-fo-rich-editor .ProseMirror h2 { font-size: 17px; } .fi-fo-rich-editor .ProseMirror h3 { font-size: 15px; }
.fi-fo-rich-editor .ProseMirror :is(ul, ol) { padding-left: 22px; margin: 6px 0; } .fi-fo-rich-editor .ProseMirror ul { list-style: disc; } .fi-fo-rich-editor .ProseMirror ol { list-style: decimal; }
.fi-fo-rich-editor .ProseMirror blockquote { border-left: 3px solid var(--hd-borda); padding-left: 10px; color: var(--hd-texto-2); margin: 6px 0; }
.fi-fo-rich-editor .ProseMirror a { color: var(--hd-verde-escuro); text-decoration: underline; }
.tc-body :is(h2, h3) { font-weight: 700; margin: 10px 0 6px; } .tc-body h2 { font-size: 17px; } .tc-body h3 { font-size: 15px; }
.tc-body :is(ul, ol) { padding-left: 22px; margin: 6px 0; } .tc-body ul { list-style: disc; } .tc-body ol { list-style: decimal; }
.tc-body blockquote { border-left: 3px solid var(--hd-borda); padding-left: 10px; color: var(--hd-texto-2); margin: 6px 0; }
/* 15/10/2026: menu do usuário mais largo, para o nome do item caber inteiro (tema em cima, perfil, Sair) */
.fi-user-menu .fi-dropdown-panel { min-width: 250px; }
.fi-user-menu .fi-dropdown-list-item-label { white-space: normal; overflow: visible; text-overflow: clip; }

/* ===== Kanban de chamados (1.17, I2; 15/10/2026: colunas na cor do status, ordenação global e por coluna, espaço + arrastar) ===== */
.hd-kb-leg { display: inline-block; width: 4px; height: 14px; border-radius: 2px; margin-right: 6px; vertical-align: -2px; }
.hd-kb-leg-alta { background: var(--hd-laranja); } .hd-kb-leg-urgente { background: var(--hd-vermelho); }
.dark .dark .hd-seg { display: inline-flex; align-items: center; border: 1px solid var(--hd-borda); border-radius: 9px; overflow: hidden; background: var(--hd-card); }
.hd-seg-rotulo { font-size: 12px; color: var(--hd-texto-3); padding: 0 10px; border-right: 1px solid var(--hd-borda); align-self: stretch; display: inline-flex; align-items: center; }
.hd-seg button { border: 0; background: transparent; padding: 7px 12px; font-size: 12.5px; font-weight: 600; color: var(--hd-texto-2); cursor: pointer; border-right: 1px solid var(--hd-borda-2); }
.hd-seg button:last-child { border-right: 0; }
.hd-seg button:hover { background: var(--hd-fundo); }
.hd-seg button.hd-ativa { background: #ecfdf0; color: var(--hd-verde-escuro); }
.hd-kb-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
.hd-kb-wrap.hd-kb-arrastando { grid-template-columns: minmax(0, 1fr) 150px; }
.hd-kb { display: grid; grid-template-columns: repeat(3, minmax(230px, 1fr)); gap: 14px; overflow-x: auto; padding-bottom: 8px; align-items: start; }
/* 1.18.1: áreas de soltar Finalizar e Cancelar, só durante o arrasto */
.hd-kb-destinos { display: none; flex-direction: column; gap: 14px; position: sticky; top: 90px; }
.hd-kb-wrap.hd-kb-arrastando .hd-kb-destinos { display: flex; }
.hd-kb-destino { border: 2px dashed; border-radius: 12px; padding: 18px 12px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; font-weight: 700; font-size: 13px; transition: background .15s, transform .15s; }
.hd-kb-destino .fi-icon { width: 26px; height: 26px; }
.hd-kb-destino small { font-weight: 400; font-size: 11.5px; opacity: .8; }
.hd-kb-destino-fechar { border-color: #86efac; background: #f0fdf4; color: #15803d; }
.hd-kb-destino-cancelar { border-color: #fca5a5; background: #fef2f2; color: #b91c1c; }
.hd-kb-destino.hd-kb-sobre { transform: scale(1.03); }
.hd-kb-destino-fechar.hd-kb-sobre { background: #dcfce7; } .hd-kb-destino-cancelar.hd-kb-sobre { background: #fee2e2; }
.hd-kb-col { border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 10px; min-height: 220px; border: 2px dashed transparent; transition: border-color .15s; }
.hd-kb-col.hd-kb-sobre { border-color: var(--hd-kb-cor); }
.hd-kb-cab { display: flex; align-items: flex-start; gap: 8px; background: var(--hd-card); border-radius: 8px; border-left: 4px solid var(--hd-kb-cor); padding: 10px 8px 10px 12px; box-shadow: 0 1px 2px rgba(17,24,39,.05); }
.hd-kb-cab-texto { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.hd-kb-titulo { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--hd-kb-cor); }
.hd-kb-sub { font-size: 11.5px; color: var(--hd-texto-3); }
.hd-kb-menu-wrap { position: relative; flex: none; }
.hd-kb-menu-btn { border: 0; background: transparent; color: var(--hd-texto-3); font-size: 18px; line-height: 1; padding: 0 6px; border-radius: 6px; cursor: pointer; height: 24px; }
.hd-kb-menu-btn:hover { background: var(--hd-fundo); color: var(--hd-texto); }
.hd-kb-menu { position: absolute; right: 0; top: 28px; z-index: 20; background: var(--hd-card); border: 1px solid var(--hd-borda); border-radius: 10px; box-shadow: 0 10px 30px rgba(17,24,39,.12); padding: 6px; min-width: 180px; display: flex; flex-direction: column; gap: 2px; }
.hd-kb-menu-titulo { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--hd-texto-3); padding: 6px 10px 4px; }
.hd-kb-menu button { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 0; background: transparent; color: var(--hd-texto); font-size: 13px; padding: 7px 10px; border-radius: 7px; cursor: pointer; }
.hd-kb-menu button:hover { background: var(--hd-fundo); }
.hd-kb-menu button.hd-ativa { color: var(--hd-verde-escuro); font-weight: 600; }
.hd-kb-menu-check { width: 14px; flex: none; }
.hd-kb-itens { display: flex; flex-direction: column; gap: 10px; min-height: 60px; }
.hd-kb-card { background: var(--hd-card); border: 1px solid rgba(17,24,39,.06); border-radius: 12px; padding: 12px 14px 10px; box-shadow: 0 1px 2px rgba(17,24,39,.04); display: flex; flex-direction: column; gap: 6px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.hd-kb-card:hover { border-color: #bbf7d0; box-shadow: 0 4px 14px rgba(53,194,68,.12); }
.hd-kb-card:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(53,194,68,.25); }
.hd-kb-card.hd-kb-alta { border-left: 4px solid var(--hd-laranja); } .hd-kb-card.hd-kb-urgente { border-left: 4px solid var(--hd-vermelho); }
.hd-kb-card.hd-kb-pegando { opacity: .5; }
.hd-kb-card-cab { display: flex; align-items: center; gap: 8px; }
.hd-kb-num { font-size: 12px; font-weight: 700; color: var(--hd-texto-3); }
.hd-kb-card-cab .hd-pilula { margin-left: auto; }
.hd-pilula { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border-radius: 999px; padding: 2px 8px; white-space: nowrap; }
.hd-tipo-remote { background: #eef2ff; color: #4338ca; } .hd-tipo-onsite { background: #ecfdf5; color: #047857; }
.hd-kb-card-titulo { font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--hd-texto); overflow-wrap: anywhere; }
.hd-kb-card-emp { font-size: 12.5px; color: var(--hd-texto-2); overflow-wrap: anywhere; }
.hd-kb-card-pe { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; border-top: 1px solid var(--hd-borda-2); padding-top: 8px; font-size: 12px; color: var(--hd-texto-3); }
.hd-kb-horas { font-weight: 700; color: var(--hd-texto); }
.hd-kb-data { margin-left: auto; white-space: nowrap; }
.hd-kb-vazio { font-size: 12.5px; color: var(--hd-texto-3); padding: 14px 10px; border: 1px dashed rgba(17,24,39,.15); border-radius: 10px; text-align: center; }
.dark .hd-kb-col { background: rgba(255,255,255,.04) !important; }
.dark .hd-kb-card { background: var(--hd-card); border-color: var(--hd-borda); }
@media (max-width: 1023px) { .hd-kb { grid-template-columns: repeat(3, 280px); } }

/* ===== Janela do chamado (1.17, I12) ===== */
.hd-janela { display: flex; flex-direction: column; gap: 14px; }
.hd-janela-cab { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hd-janela-pilulas { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.hd-janela-meta { font-size: 13px; color: var(--hd-texto-2); }
.hd-janela-acoes { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.hd-janela-corpo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
@media (max-width: 900px) { .hd-janela-corpo { grid-template-columns: 1fr; } }
.hd-mover { display: flex; flex-direction: column; gap: 6px; }
.hd-mover-btn { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 1px solid var(--hd-borda); background: var(--hd-card); color: var(--hd-texto); border-radius: 8px; padding: 7px 10px; font-size: 13px; font-weight: 600; cursor: pointer; }
.hd-mover-btn:hover:not(:disabled) { border-color: #bbf7d0; background: #ecfdf0; }
.hd-mover-btn:disabled { cursor: default; opacity: .6; background: var(--hd-fundo); }
.hd-mover-btn small { font-weight: 400; color: var(--hd-texto-3); }
.hd-mover-cor { width: 8px; height: 8px; border-radius: 50%; flex: none; background: #9ca3af; }
.hd-st-open .hd-mover-cor { background: #2563eb; } .hd-st-in_progress .hd-mover-cor { background: #f79a0b; } .hd-st-waiting_client .hd-mover-cor { background: #eab308; } .hd-st-closed .hd-mover-cor { background: #35c244; } .hd-st-cancelled .hd-mover-cor { background: #e5484d; }

/* ===== 1.18 (I25): lista do seletor do Filament em fundo leve, item escolhido em verde claro [MEDIDO 16/10/2026: o seletor
   não nativo do Filament 5 abre um .fi-dropdown-panel com itens .fi-select-input-option] ===== */
.fi-dropdown-panel:has(.fi-select-input-option) { background: var(--hd-fundo) !important; border: 1px solid var(--hd-borda) !important; border-radius: 10px !important; box-shadow: 0 10px 30px rgba(17,24,39,.10) !important; padding: 6px !important; }
.fi-dropdown-panel .fi-select-input-option { font-size: 13.5px !important; padding: 8px 12px !important; border-radius: 7px !important; color: var(--hd-texto) !important; }
.fi-dropdown-panel .fi-select-input-option:hover, .fi-dropdown-panel .fi-select-input-option.fi-active, .fi-dropdown-panel .fi-select-input-option[aria-selected="true"] { background: #ecfdf0 !important; color: var(--hd-verde-escuro) !important; }
.fi-dropdown-panel .fi-select-input-option.fi-selected { background: #dcfce7 !important; color: var(--hd-verde-escuro) !important; font-weight: 600; }
.fi-dropdown-panel:has(.fi-select-input-option) input[type="search"], .fi-dropdown-panel .fi-select-input-search-input { background: var(--hd-card) !important; border: 1px solid var(--hd-borda) !important; border-radius: 7px !important; font-size: 13.5px !important; margin-bottom: 4px; }
.dark .fi-dropdown-panel:has(.fi-select-input-option) { background: var(--hd-card) !important; }
.dark .fi-dropdown-panel .fi-select-input-option:hover, .dark .fi-dropdown-panel .fi-select-input-option.fi-selected { background: rgba(53,194,68,.15) !important; }

/* ===== 1.18 (I24): calendário do Filament com a identidade ===== */
.fi-fo-date-time-picker-panel { border-radius: 12px !important; border: 1px solid var(--hd-borda) !important; box-shadow: 0 10px 30px rgba(17,24,39,.12) !important; padding: 12px !important; font-size: 13px; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day { border-radius: 8px !important; font-size: 13px; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day:hover { background: #ecfdf0 !important; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day.fi-selected, .fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day[aria-selected="true"], .fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day.fi-active { background: var(--hd-verde) !important; color: #fff !important; font-weight: 700; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day-today:not(.fi-selected) { box-shadow: inset 0 0 0 1px var(--hd-verde); }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-header-day { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--hd-texto-3); }
.fi-fo-date-time-picker-panel select, .fi-fo-date-time-picker-panel .fi-select-input { border-radius: 8px !important; font-size: 13px !important; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-time-ctn input { border-radius: 8px !important; font-size: 13px !important; text-align: center; }
.fi-fo-date-time-picker-panel .fi-fo-date-time-picker-calendar-day.fi-disabled { opacity: .35; }

/* ===== 1.18 (I22): rankings em cards leves, na grade dos indicadores ===== */
.hd-ranks { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 14px; }
.hd-rank { background: var(--hd-fundo); border: 1px solid var(--hd-borda); border-radius: 12px; padding: 14px 16px; min-height: 96px; display: flex; flex-direction: column; }
.hd-rank .hd-vazio { margin: auto; text-align: center; padding: 8px 0; }
.dark .hd-rank { background: rgba(255,255,255,.03); }

/* ===== 1.18 (I19): topo do kanban num card pai ===== */
.hd-kb-topo-wrap { container-type: inline-size; }
.hd-kb-topo { background: var(--hd-card); border: 1px solid var(--hd-borda); border-radius: 12px; padding: 14px 16px; margin-bottom: 14px; display: grid; grid-template-columns: 1fr; gap: 12px 24px; align-items: end; }
.hd-kb-topo-filtros { min-width: 0; }
.hd-kb-topo-direita { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; }
/* com espaço para os dois lados (card com 1100 px ou mais), filtros à esquerda e ordenação + legenda à direita, numa coluna */
@container (min-width: 1100px) { .hd-kb-topo { grid-template-columns: minmax(0, 1fr) auto; } .hd-kb-topo-direita { flex-direction: column; align-items: flex-end; } }
.hd-kb-legenda { display: flex; gap: 14px; align-items: center; font-size: 12.5px; color: var(--hd-texto-2); background: var(--hd-fundo); border: 1px solid var(--hd-borda); border-radius: 9px; padding: 5px 12px; }
.hd-seg { margin-left: 0; }
.hd-kb-topo .fi-fo-field-wrp-label { font-size: 12px; }
/* 1.18 (I20): barra de espaço pressionada = mãozinha onde dá para arrastar (tabela e kanban); arrastando, mão fechada */
body.hd-espaco .fi-ta-content-ctn, body.hd-espaco .hd-table-wrap, body.hd-espaco .hd-kb, body.hd-espaco .hd-kb-card { cursor: grab !important; }
.hd-kb.hd-arrastando { cursor: grabbing !important; user-select: none; }
.hd-kb.hd-arrastando .hd-kb-card { pointer-events: none; }
/* 1.18 (I25): "Por página" das listas próprias em botões; o seletor nativo do Filament na paginação das tabelas ganha o acabamento dos campos */
.hd-pag-tam { display: inline-flex; align-items: center; gap: 0; border: 1px solid var(--hd-borda); border-radius: 8px; overflow: hidden; background: var(--hd-card); }
.hd-pag-tam > span { font-size: 12px; color: var(--hd-texto-3); padding: 0 8px; }
.hd-pag-tam button { border: 0; border-left: 1px solid var(--hd-borda-2); background: transparent; padding: 5px 10px; font-size: 12.5px; font-weight: 600; color: var(--hd-texto-2); cursor: pointer; }
.hd-pag-tam button.hd-ativa { background: #ecfdf0; color: var(--hd-verde-escuro); }
.fi-pagination select, .fi-pagination .fi-select-input { border-radius: 8px !important; font-size: 13px !important; }
