/* =========================================================
   DIMYPET UI 2.3 - CORES PREMIUM / ALTO CONTRASTE
   ========================================================= */

:root {
    --dimy-pink: #e84d80;
    --dimy-pink-dark: #cf3569;
    --dimy-pink-soft: #fff3f7;

    --dimy-green: #168744;
    --dimy-green-dark: #0f6f38;
    --dimy-green-soft: #eff8f2;

    --dimy-ink: #14233a;
    --dimy-text: #334155;
    --dimy-muted: #64748b;

    --dimy-border: #e6ebf0;
    --dimy-bg: #fbfcfd;
    --dimy-card: #ffffff;

    --dimy-shadow: 0 8px 24px rgba(42, 52, 66, .055);
}

/* FUNDO: quase branco, sem excesso de rosa */
html,
body,
.fi-body {
    background:
        linear-gradient(180deg, #fcfcfd 0%, #ffffff 52%, #fbfcfd 100%) !important;
    color: var(--dimy-text) !important;
}

.fi-main,
.fi-page,
.fi-page-content {
    background: transparent !important;
}

/* SIDEBAR */
html body .fi-sidebar,
html body .fi-sidebar-nav,
html body .fi-sidebar-header,
html body .fi-sidebar-footer {
    background: #ffffff !important;
    color: var(--dimy-text) !important;
}

html body .fi-sidebar {
    border-right: 1px solid #e8edf1 !important;
    box-shadow: 8px 0 24px rgba(31, 41, 55, .035) !important;
}

html body .fi-sidebar-header {
    border-bottom: 1px solid #edf0f3 !important;
    min-height: 74px !important;
}

/* força todo texto da lateral a ficar legível */
html body .fi-sidebar * {
    opacity: 1 !important;
}

html body .fi-sidebar-group-label {
    color: #7c8796 !important;
    font-weight: 900 !important;
    font-size: .69rem !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

html body .fi-sidebar-item-button,
html body .fi-sidebar-item-label,
html body .fi-sidebar-item-button span {
    color: #344356 !important;
    font-weight: 700 !important;
}

html body .fi-sidebar-item-button {
    border-radius: 11px !important;
    min-height: 42px !important;
}

html body .fi-sidebar-item-button svg,
html body .fi-sidebar-item-button .fi-icon {
    color: var(--dimy-green) !important;
}

/* hover: rosa suave */
html body .fi-sidebar-item-button:hover {
    background: var(--dimy-pink-soft) !important;
}

html body .fi-sidebar-item-button:hover,
html body .fi-sidebar-item-button:hover .fi-sidebar-item-label,
html body .fi-sidebar-item-button:hover span {
    color: var(--dimy-pink-dark) !important;
}

/* ativo: rosa forte */
html body .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
html body .fi-sidebar-item-button[aria-current="page"],
html body .fi-sidebar-item-button.fi-active {
    background:
        linear-gradient(135deg, var(--dimy-pink), var(--dimy-pink-dark)) !important;
    box-shadow: 0 7px 18px rgba(207, 53, 105, .18) !important;
}

html body .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
html body .fi-sidebar-item.fi-active > .fi-sidebar-item-button *,
html body .fi-sidebar-item-button[aria-current="page"],
html body .fi-sidebar-item-button[aria-current="page"] *,
html body .fi-sidebar-item-button.fi-active,
html body .fi-sidebar-item-button.fi-active * {
    color: #ffffff !important;
}

/* setas de grupos */
html body .fi-sidebar-group-collapse-button,
html body .fi-sidebar-group-collapse-button svg {
    color: var(--dimy-green) !important;
}

/* scrollbar bem discreta */
html body .fi-sidebar-nav::-webkit-scrollbar {
    width: 6px;
}

html body .fi-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}

html body .fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: #d7dee5;
    border-radius: 999px;
}

/* TOPBAR */
html body .fi-topbar,
html body .fi-topbar nav {
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid #e9edf1 !important;
    box-shadow: 0 4px 18px rgba(31,41,55,.025) !important;
}

html body .fi-topbar svg {
    color: var(--dimy-green) !important;
}

html body .fi-topbar input,
html body .fi-topbar input::placeholder {
    color: #64748b !important;
}

/* TITULOS */
html body .fi-header-heading {
    color: var(--dimy-ink) !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

html body .fi-header-subheading,
html body .fi-breadcrumbs-item-label {
    color: var(--dimy-muted) !important;
}

/* CARDS */
html body .fi-section,
html body .fi-ta-ctn,
html body .fi-wi-widget > div,
html body .fi-wi-stats-overview-stat,
html body .fi-simple-main,
html body .fi-sc-component {
    background: #ffffff !important;
    border: 1px solid var(--dimy-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--dimy-shadow) !important;
}

html body .fi-section-header {
    background: #ffffff !important;
    border-bottom: 1px solid #edf1f4 !important;
}

/* Dashboard: cabeçalho de atalhos com rosa quase imperceptível */
html body .fi-page .fi-section:first-of-type .fi-section-header {
    background:
        linear-gradient(90deg, #fff7fa 0%, #ffffff 50%, #f7fbf8 100%) !important;
}

/* BOTÕES */
html body .fi-btn {
    border-radius: 10px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

html body .fi-btn.fi-color-primary,
html body .fi-btn[data-color="primary"] {
    background: var(--dimy-pink) !important;
    border-color: var(--dimy-pink) !important;
    color: #ffffff !important;
}

html body .fi-btn.fi-color-primary:hover,
html body .fi-btn[data-color="primary"]:hover {
    background: var(--dimy-pink-dark) !important;
}

html body .fi-btn.fi-color-success,
html body .fi-btn[data-color="success"] {
    background: var(--dimy-green) !important;
    border-color: var(--dimy-green) !important;
    color: #ffffff !important;
}

html body .fi-btn.fi-color-success:hover,
html body .fi-btn[data-color="success"]:hover {
    background: var(--dimy-green-dark) !important;
}

/* botão neutro */
html body .fi-btn.fi-color-gray,
html body .fi-btn[data-color="gray"] {
    background: #ffffff !important;
    color: #475569 !important;
    border-color: #dfe5ea !important;
}

/* INPUTS */
html body .fi-input-wrp,
html body .fi-fo-field-wrp input,
html body .fi-fo-field-wrp textarea,
html body .fi-fo-field-wrp select,
html body .fi-select-input {
    background: #ffffff !important;
    border-radius: 10px !important;
}

html body .fi-input-wrp:focus-within {
    border-color: rgba(232,77,128,.55) !important;
    box-shadow: 0 0 0 3px rgba(232,77,128,.085) !important;
}

/* TABELAS */
html body .fi-ta-header-cell {
    background: #f8fafb !important;
    color: #556376 !important;
    font-size: .73rem !important;
    font-weight: 900 !important;
}

html body .fi-ta-row:hover {
    background: #fff8fa !important;
}

html body .fi-ta-cell {
    border-color: #edf1f4 !important;
}

/* BADGES */
html body .fi-badge {
    border-radius: 999px !important;
    font-weight: 800 !important;
}

/* links e elementos primários */
html body a:not(.fi-sidebar-item-button):not(.fi-btn) {
    text-decoration-color: rgba(22,135,68,.25);
}

/* modais */
html body .fi-modal-window {
    background: #ffffff !important;
    border: 1px solid var(--dimy-border) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 70px rgba(31,41,55,.13) !important;
}

/* garante leitura em cards do dashboard */
html body .fi-page .fi-section,
html body .fi-page .fi-section *,
html body .fi-wi-widget,
html body .fi-wi-widget * {
    --tw-text-opacity: 1 !important;
}

/* não sobrescreve branco de botões ativos */
html body .fi-page .fi-section .fi-btn.fi-color-primary,
html body .fi-page .fi-section .fi-btn.fi-color-primary *,
html body .fi-page .fi-section .fi-btn.fi-color-success,
html body .fi-page .fi-section .fi-btn.fi-color-success * {
    color: #ffffff !important;
}

/* responsivo */
@media (max-width: 1024px) {
    html body .fi-section,
    html body .fi-ta-ctn,
    html body .fi-wi-widget > div {
        border-radius: 14px !important;
    }
}