/* EEVJURIS — padrões visuais consolidados v1.4.0
 * Carregado por TenantAppearance em central, tenants e páginas de autenticação.
 * Esta folha é intencionalmente de override e deve permanecer por último na cascata.
 */

/* Regra global: nenhum link sublinhado em qualquer estado. */
a,
a:hover,
a:focus,
a:active,
a:visited {
    text-decoration: none !important;
}

/* Todos os botões da plataforma usam raio de 10px. */
.fi-btn,
button.fi-btn,
a.fi-btn,
.fi-icon-btn,
.fi-modal-footer-actions .fi-btn,
.fi-header-actions .fi-btn,
.fi-form-actions .fi-btn,
.fi-ta-actions .fi-btn {
    border-radius: 10px !important;
}

/* Botões primários/marrons ou laranja: contraste obrigatório. */
.fi-btn.fi-color-primary:not(.eev-action-secondary),
button.fi-btn.fi-color-primary:not(.eev-action-secondary),
a.fi-btn.fi-color-primary:not(.eev-action-secondary) {
    color: #fff !important;
}

.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-btn-label,
.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-icon,
.fi-btn.fi-color-primary:not(.eev-action-secondary) svg,
button.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-btn-label,
button.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-icon,
button.fi-btn.fi-color-primary:not(.eev-action-secondary) svg,
a.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-btn-label,
a.fi-btn.fi-color-primary:not(.eev-action-secondary) .fi-icon,
a.fi-btn.fi-color-primary:not(.eev-action-secondary) svg {
    color: #fff !important;
    stroke: currentColor !important;
}

/* Ação Visualizar: secundária, clara e com conteúdo marrom-escuro. */
.eev-action-secondary,
.fi-btn.eev-action-secondary {
    background: #fff !important;
    border-color: #d9d2cb !important;
    color: #4a3322 !important;
}

.eev-action-secondary .fi-btn-label,
.eev-action-secondary .fi-icon,
.eev-action-secondary svg {
    color: #4a3322 !important;
    stroke: currentColor !important;
}

.eev-action-secondary:hover,
.fi-btn.eev-action-secondary:hover {
    background: #f7f3ee !important;
}

/* Switch: trilho e seletor sempre totalmente arredondados. */
.fi-toggle,
.fi-toggle-track,
.fi-toggle > span,
.fi-toggle > :first-child,
button.fi-toggle,
[role="switch"].fi-toggle {
    border-radius: 9999px !important;
}

.fi-toggle .fi-toggle-thumb,
.fi-toggle > span > span,
.fi-toggle > :first-child > span,
.fi-toggle svg + span {
    border-radius: 9999px !important;
}

/* Toasts / notificações Filament — compactos, elegantes e com contraste alto. */
.fi-no-notification {
    border-radius: 14px !important;
    border-width: 1px !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .14) !important;
    overflow: hidden !important;
    padding: 14px 16px !important;
}

.fi-no-notification-title {
    font-size: .98rem !important;
    line-height: 1.3 !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
}

.fi-no-notification-body {
    font-size: .86rem !important;
    line-height: 1.4 !important;
}

.fi-no-notification.fi-color-success,
.fi-no-notification:has(.fi-color-success) {
    background: #19734a !important;
    border-color: #145f3d !important;
    color: #fff !important;
}

.fi-no-notification.fi-color-danger,
.fi-no-notification:has(.fi-color-danger) {
    background: #a93f3f !important;
    border-color: #903535 !important;
    color: #fff !important;
}

.fi-no-notification.fi-color-warning,
.fi-no-notification:has(.fi-color-warning) {
    background: #a86f16 !important;
    border-color: #8e5e13 !important;
    color: #fff !important;
}

.fi-no-notification.fi-color-info,
.fi-no-notification:has(.fi-color-info) {
    background: #315f85 !important;
    border-color: #294f6f !important;
    color: #fff !important;
}

.fi-no-notification.fi-color-success *,
.fi-no-notification.fi-color-danger *,
.fi-no-notification.fi-color-warning *,
.fi-no-notification.fi-color-info *,
.fi-no-notification:has(.fi-color-success) *,
.fi-no-notification:has(.fi-color-danger) *,
.fi-no-notification:has(.fi-color-warning) *,
.fi-no-notification:has(.fi-color-info) * {
    color: inherit !important;
}

.fi-no-notification.fi-color-success svg,
.fi-no-notification.fi-color-danger svg,
.fi-no-notification.fi-color-warning svg,
.fi-no-notification.fi-color-info svg,
.fi-no-notification:has(.fi-color-success) svg,
.fi-no-notification:has(.fi-color-danger) svg,
.fi-no-notification:has(.fi-color-warning) svg,
.fi-no-notification:has(.fi-color-info) svg {
    color: #fff !important;
    stroke: currentColor !important;
}

.fi-no-notification-close-btn {
    opacity: .82 !important;
    border-radius: 10px !important;
}

.fi-no-notification-close-btn:hover {
    opacity: 1 !important;
    background: rgba(255,255,255,.12) !important;
}

/* =========================================================
   EEVJURIS v1.5.1 — NOTIFICAÇÕES ELEGANTES
   =========================================================
   Override final dos toasts Filament. Usa as variáveis de cor
   nativas do próprio Filament, preservando success/danger/warning/info.
*/
.fi-no-notification:not(.fi-inline) {
    max-width: 340px !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .14) !important;
}

.fi-no-notification .fi-no-notification-main {
    margin-top: 0 !important;
    gap: 6px !important;
    align-content: center !important;
}

.fi-no-notification .fi-no-notification-text {
    gap: 3px !important;
}

.fi-no-notification .fi-no-notification-title {
    font-size: .875rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: -.005em !important;
}

.fi-no-notification .fi-no-notification-body,
.fi-no-notification .fi-no-notification-date {
    font-size: .78rem !important;
    line-height: 1.35 !important;
}

.fi-no-notification .fi-no-notification-icon {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
}

/* Notificações coloridas: fundo integral da cor semântica. */
.fi-no-notification.fi-color:not(.fi-inline) {
    background: var(--color-700, #246b4c) !important;
    border-color: color-mix(in srgb, var(--color-800, #1d583f) 72%, transparent) !important;
    color: #fff !important;
    --tw-ring-color: transparent !important;
}

.fi-no-notification.fi-color .fi-no-notification-title,
.fi-no-notification.fi-color .fi-no-notification-body,
.fi-no-notification.fi-color .fi-no-notification-date,
.fi-no-notification.fi-color .fi-no-notification-icon,
.fi-no-notification.fi-color .fi-icon-btn,
.fi-no-notification.fi-color svg {
    color: #fff !important;
    stroke: currentColor !important;
}

.fi-no-notification.fi-color .fi-no-notification-body,
.fi-no-notification.fi-color .fi-no-notification-date {
    opacity: .90 !important;
}

.fi-no-notification .fi-icon-btn {
    border-radius: 8px !important;
    opacity: .78 !important;
}

.fi-no-notification .fi-icon-btn:hover {
    opacity: 1 !important;
    background: rgba(255, 255, 255, .12) !important;
}

/* =========================================================
   EEVJURIS v1.5.5 — refinamento de notificações e ação Editar
   ========================================================= */
.fi-no-notification .fi-no-notification-title {
    font-size: .8125rem !important;
    line-height: 1.22 !important;
    font-weight: 600 !important;
}

.fi-no-notification .fi-no-notification-body,
.fi-no-notification .fi-no-notification-date {
    font-size: .75rem !important;
    line-height: 1.35 !important;
}

.fi-btn.eev-action-edit,
a.fi-btn.eev-action-edit,
button.fi-btn.eev-action-edit {
    background: #d99a16 !important;
    border-color: #d99a16 !important;
    color: #fff !important;
}

.fi-btn.eev-action-edit .fi-btn-label,
.fi-btn.eev-action-edit .fi-icon,
.fi-btn.eev-action-edit svg,
a.fi-btn.eev-action-edit .fi-btn-label,
a.fi-btn.eev-action-edit .fi-icon,
a.fi-btn.eev-action-edit svg {
    color: #fff !important;
    stroke: currentColor !important;
}

.fi-btn.eev-action-edit:hover,
a.fi-btn.eev-action-edit:hover,
button.fi-btn.eev-action-edit:hover {
    background: #c98c11 !important;
    border-color: #c98c11 !important;
}

/* =========================================================
   EEVJURIS v1.5.7 — tipografia definitiva das notificações
   =========================================================
   Filament pode renderizar o título como .fi-no-notification-title,
   .fi-no-notification-heading ou elemento heading. Este override final
   cobre as variantes sem alterar o restante da notificação.
*/
.fi-no-notification:not(.fi-inline) .fi-no-notification-title,
.fi-no-notification:not(.fi-inline) .fi-no-notification-heading,
.fi-no-notification:not(.fi-inline) [role="heading"],
.fi-no-notification:not(.fi-inline) h1,
.fi-no-notification:not(.fi-inline) h2,
.fi-no-notification:not(.fi-inline) h3,
.fi-no-notification:not(.fi-inline) h4 {
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

.fi-no-notification:not(.fi-inline) .fi-no-notification-body,
.fi-no-notification:not(.fi-inline) .fi-no-notification-date,
.fi-no-notification:not(.fi-inline) p {
    font-size: 12px !important;
    line-height: 1.42 !important;
}

.fi-no-notification:not(.fi-inline) {
    max-width: 330px !important;
    padding: 11px 13px !important;
}

/* EEVJURIS_NOTIFICATION_TYPOGRAPHY_V159
   Padrão final de tipografia das notificações Filament. */
.fi-no-notification,
.fi-no-notification * {
    box-sizing: border-box;
}

.fi-no-notification .fi-no-notification-title,
.fi-no-notification .fi-no-notification-heading,
.fi-no-notification [role="heading"],
.fi-no-notification h1,
.fi-no-notification h2,
.fi-no-notification h3,
.fi-no-notification h4,
.fi-no-notification h5,
.fi-no-notification h6 {
    font-size: 13px !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

.fi-no-notification .fi-no-notification-body,
.fi-no-notification p,
.fi-no-notification [data-slot="body"] {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.fi-no-notification svg {
    width: 16px !important;
    height: 16px !important;
}

/* EEVJURIS_UI_PASTEL_NOTIFICATIONS_V160
   Padrão visual definitivo: notificações compactas e botões de estado em tons pastéis. */

/* Notificações: força o heading real e qualquer descendente textual do heading. */
.fi-no-notification .fi-no-notification-title,
.fi-no-notification .fi-no-notification-title *,
.fi-no-notification .fi-no-notification-heading,
.fi-no-notification .fi-no-notification-heading *,
.fi-no-notification [role="heading"],
.fi-no-notification [role="heading"] *,
.fi-no-notification .fi-no-notification-main > :first-child,
.fi-no-notification .fi-no-notification-main > :first-child *,
.fi-no-notification h1,
.fi-no-notification h1 *,
.fi-no-notification h2,
.fi-no-notification h2 *,
.fi-no-notification h3,
.fi-no-notification h3 *,
.fi-no-notification h4,
.fi-no-notification h4 * {
    font-size: 12.5px !important;
    line-height: 1.30 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.fi-no-notification .fi-no-notification-body,
.fi-no-notification .fi-no-notification-body *,
.fi-no-notification [data-slot="body"],
.fi-no-notification [data-slot="body"] *,
.fi-no-notification p {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

.fi-no-notification {
    max-width: 320px !important;
}

.fi-no-notification svg {
    width: 15px !important;
    height: 15px !important;
}

/* Botões: estados semânticos usam tons pastéis e texto escuro. */
.fi-btn.fi-color-success,
.fi-btn[data-color="success"],
.fi-ac-btn-action.fi-color-success {
    background: #BFE8CF !important;
    border-color: #A9D8BC !important;
    color: #1F2A23 !important;
}

.fi-btn.fi-color-success *,
.fi-btn[data-color="success"] *,
.fi-ac-btn-action.fi-color-success * {
    color: #1F2A23 !important;
}

.fi-btn.fi-color-info,
.fi-btn[data-color="info"],
.fi-ac-btn-action.fi-color-info {
    background: #D7E6F4 !important;
    border-color: #C4D8EA !important;
    color: #20262C !important;
}

.fi-btn.fi-color-info *,
.fi-btn[data-color="info"] *,
.fi-ac-btn-action.fi-color-info * {
    color: #20262C !important;
}

.fi-btn.fi-color-warning,
.fi-btn[data-color="warning"],
.fi-ac-btn-action.fi-color-warning {
    background: #F4E2B8 !important;
    border-color: #E8D29E !important;
    color: #2B261D !important;
}

.fi-btn.fi-color-warning *,
.fi-btn[data-color="warning"] *,
.fi-ac-btn-action.fi-color-warning * {
    color: #2B261D !important;
}

.fi-btn.fi-color-danger,
.fi-btn[data-color="danger"],
.fi-ac-btn-action.fi-color-danger {
    background: #F2CDCD !important;
    border-color: #E5B8B8 !important;
    color: #302222 !important;
}

.fi-btn.fi-color-danger *,
.fi-btn[data-color="danger"] *,
.fi-ac-btn-action.fi-color-danger * {
    color: #302222 !important;
}

/* Botões neutros/retorno: nunca usar texto azul. */
.fi-btn.fi-color-gray,
.fi-btn[data-color="gray"],
.fi-btn.fi-color-secondary,
.fi-btn[data-color="secondary"] {
    color: #2B2724 !important;
}

.fi-btn.fi-color-gray *,
.fi-btn[data-color="gray"] *,
.fi-btn.fi-color-secondary *,
.fi-btn[data-color="secondary"] * {
    color: #2B2724 !important;
}

/* Mantém o padrão global de cantos já aprovado. */
.fi-btn {
    border-radius: 10px !important;
}

/* =========================================================
   EEVJURIS v1.6.2 — PALETA GLOBAL PASTEL + NOTIFICAÇÕES COMPACTAS
   =========================================================
   Marrom institucional permanece a cor principal. Estados e cores
   auxiliares usam exclusivamente tons pastéis, com texto escuro.
*/
:root {
    --eev-brown-900: #3F2B20;
    --eev-brown-800: #4A3322;
    --eev-brown-700: #5A4030;
    --eev-pastel-neutral: #E7E1D9;
    --eev-pastel-neutral-border: #D4CCC2;
    --eev-pastel-green: #D8E8D3;
    --eev-pastel-green-border: #BFD6BA;
    --eev-pastel-blue: #D7E8EE;
    --eev-pastel-blue-border: #BDD5DE;
    --eev-pastel-yellow: #F3E8C8;
    --eev-pastel-yellow-border: #E3D4A9;
    --eev-pastel-peach: #F1D2BF;
    --eev-pastel-peach-border: #DFB9A4;
    --eev-pastel-rose: #EBCFD0;
    --eev-pastel-rose-border: #DAB5B7;
    --eev-control-text: #282522;
}

/* Notificações: tipografia deliberadamente pequena e proporcional.
   O primeiro bloco força TODOS os descendentes textuais; assim não
   dependemos do nome interno do componente Filament. */
.fi-no-notification:not(.fi-inline),
.fi-no-notification:not(.fi-inline) * {
    font-size: 11.5px !important;
    line-height: 1.38 !important;
}

.fi-no-notification:not(.fi-inline) {
    max-width: 318px !important;
    padding: 10px 12px !important;
    gap: 9px !important;
    border-radius: 12px !important;
}

.fi-no-notification:not(.fi-inline) .fi-no-notification-title,
.fi-no-notification:not(.fi-inline) .fi-no-notification-heading,
.fi-no-notification:not(.fi-inline) [role="heading"],
.fi-no-notification:not(.fi-inline) h1,
.fi-no-notification:not(.fi-inline) h2,
.fi-no-notification:not(.fi-inline) h3,
.fi-no-notification:not(.fi-inline) h4,
.fi-no-notification:not(.fi-inline) h5,
.fi-no-notification:not(.fi-inline) h6 {
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

.fi-no-notification:not(.fi-inline) svg {
    width: 14px !important;
    height: 14px !important;
}

/* Toasts semânticos em tons pastéis, sempre com texto escuro. */
.fi-no-notification.fi-color-success,
.fi-no-notification:has(.fi-color-success) {
    background: var(--eev-pastel-green) !important;
    border-color: var(--eev-pastel-green-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-no-notification.fi-color-info,
.fi-no-notification:has(.fi-color-info) {
    background: var(--eev-pastel-blue) !important;
    border-color: var(--eev-pastel-blue-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-no-notification.fi-color-warning,
.fi-no-notification:has(.fi-color-warning) {
    background: var(--eev-pastel-yellow) !important;
    border-color: var(--eev-pastel-yellow-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-no-notification.fi-color-danger,
.fi-no-notification:has(.fi-color-danger) {
    background: var(--eev-pastel-rose) !important;
    border-color: var(--eev-pastel-rose-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-no-notification.fi-color-success *,
.fi-no-notification.fi-color-info *,
.fi-no-notification.fi-color-warning *,
.fi-no-notification.fi-color-danger *,
.fi-no-notification:has(.fi-color-success) *,
.fi-no-notification:has(.fi-color-info) *,
.fi-no-notification:has(.fi-color-warning) *,
.fi-no-notification:has(.fi-color-danger) * {
    color: var(--eev-control-text) !important;
    stroke: currentColor !important;
}

/* Botões semânticos: paleta pastel global e texto escuro. */
.fi-btn.fi-color-success,
.fi-btn[data-color="success"],
.fi-ac-btn-action.fi-color-success {
    background: var(--eev-pastel-green) !important;
    border-color: var(--eev-pastel-green-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-btn.fi-color-info,
.fi-btn[data-color="info"],
.fi-ac-btn-action.fi-color-info {
    background: var(--eev-pastel-blue) !important;
    border-color: var(--eev-pastel-blue-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-btn.fi-color-warning,
.fi-btn[data-color="warning"],
.fi-ac-btn-action.fi-color-warning {
    background: var(--eev-pastel-yellow) !important;
    border-color: var(--eev-pastel-yellow-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-btn.fi-color-danger,
.fi-btn[data-color="danger"],
.fi-ac-btn-action.fi-color-danger {
    background: var(--eev-pastel-rose) !important;
    border-color: var(--eev-pastel-rose-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-btn.fi-color-gray,
.fi-btn[data-color="gray"],
.fi-btn.fi-color-secondary,
.fi-btn[data-color="secondary"] {
    background: #F7F4F0 !important;
    border-color: var(--eev-pastel-neutral-border) !important;
    color: var(--eev-control-text) !important;
}

.fi-btn.fi-color-success *,
.fi-btn[data-color="success"] *,
.fi-ac-btn-action.fi-color-success *,
.fi-btn.fi-color-info *,
.fi-btn[data-color="info"] *,
.fi-ac-btn-action.fi-color-info *,
.fi-btn.fi-color-warning *,
.fi-btn[data-color="warning"] *,
.fi-ac-btn-action.fi-color-warning *,
.fi-btn.fi-color-danger *,
.fi-btn[data-color="danger"] *,
.fi-ac-btn-action.fi-color-danger *,
.fi-btn.fi-color-gray *,
.fi-btn[data-color="gray"] *,
.fi-btn.fi-color-secondary *,
.fi-btn[data-color="secondary"] * {
    color: var(--eev-control-text) !important;
    stroke: currentColor !important;
}

/* Badges e estados: mesmos tons, mantendo leitura elegante. */
.fi-badge.fi-color-success,
.fi-badge[data-color="success"] {
    background: var(--eev-pastel-green) !important;
    color: var(--eev-control-text) !important;
}
.fi-badge.fi-color-info,
.fi-badge[data-color="info"] {
    background: var(--eev-pastel-blue) !important;
    color: var(--eev-control-text) !important;
}
.fi-badge.fi-color-warning,
.fi-badge[data-color="warning"] {
    background: var(--eev-pastel-yellow) !important;
    color: var(--eev-control-text) !important;
}
.fi-badge.fi-color-danger,
.fi-badge[data-color="danger"] {
    background: var(--eev-pastel-rose) !important;
    color: var(--eev-control-text) !important;
}

/* Links dentro de botões nunca ficam azuis. */
a.fi-btn,
a.fi-btn:visited,
a.fi-btn:hover,
a.fi-btn:focus,
a.fi-btn:active {
    text-decoration: none !important;
}

/* Exceções institucionais já aprovadas: primário, editar e login/salvar
   permanecem com conteúdo branco sobre marrom/dourado institucional. */
.fi-btn.fi-color-primary:not(.eev-action-secondary),
.fi-btn.fi-color-primary:not(.eev-action-secondary) *,
.fi-btn.eev-action-edit,
.fi-btn.eev-action-edit *,
.eev-button-white-content,
.eev-button-white-content * {
    color: #fff !important;
    stroke: currentColor !important;
}
