:root {
    --iw-admin-primary: #0b9398;
    --iw-admin-primary-dark: #073f56;
    --iw-admin-sidebar: #0a3048;
    --iw-admin-sidebar-deep: #07283d;
    --iw-admin-accent: #ff861f;
    --iw-admin-background: #f3f7f9;
    --iw-admin-card: #ffffff;
    --iw-admin-border: #dce7ec;
    --iw-admin-text: #17364f;
    --iw-admin-muted: #698095;
    --iw-admin-shadow: 0 12px 34px rgba(20, 53, 76, 0.08);
    --iw-admin-shadow-hover: 0 18px 42px rgba(20, 53, 76, 0.13);
}

/* Base do painel */
.fi-body {
    background:
        radial-gradient(
            circle at 92% 4%,
            rgba(11, 147, 152, 0.07),
            transparent 26rem
        ),
        var(--iw-admin-background);
}

.fi-main {
    padding-top: 1.75rem;
}

.fi-main-ctn {
    background: transparent;
}

.fi-header-heading {
    color: var(--iw-admin-text);
    font-size: clamp(1.65rem, 2.2vw, 2.35rem);
    font-weight: 850;
    letter-spacing: -0.045em;
}

.fi-header-subheading {
    color: var(--iw-admin-muted);
}

/* Menu lateral */
.fi-sidebar {
    border-right: 0 !important;
    background:
        radial-gradient(
            circle at 18% 3%,
            rgba(33, 203, 203, 0.18),
            transparent 14rem
        ),
        linear-gradient(
            180deg,
            var(--iw-admin-sidebar) 0%,
            var(--iw-admin-sidebar-deep) 100%
        ) !important;
    box-shadow: 12px 0 32px rgba(7, 40, 61, 0.12);
}

.fi-sidebar-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent !important;
    box-shadow: none !important;
}

.fi-sidebar-header img {
    max-width: 190px;
}

.fi-sidebar-nav {
    padding: 1rem 0.8rem 1.5rem;
}

.fi-sidebar-group {
    margin-bottom: 0.75rem;
}

.fi-sidebar-group-label {
    padding-inline: 0.7rem;
    color: rgba(211, 239, 241, 0.60) !important;
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.fi-sidebar-group-button {
    color: rgba(255, 255, 255, 0.62) !important;
}

.fi-sidebar-item-button {
    min-height: 2.75rem;
    margin-block: 0.18rem;
    border-radius: 0.72rem;
    color: rgba(235, 248, 249, 0.80) !important;
    transition:
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.fi-sidebar-item-button:hover {
    background: rgba(255, 255, 255, 0.09) !important;
    color: #ffffff !important;
    transform: translateX(2px);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background:
        linear-gradient(
            90deg,
            rgba(13, 166, 171, 0.96),
            rgba(10, 139, 145, 0.94)
        ) !important;
    color: #ffffff !important;
    box-shadow: 0 9px 21px rgba(1, 18, 29, 0.25);
}

.fi-sidebar-item-icon {
    color: #8cdfe1 !important;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-icon {
    color: #ffffff !important;
}

.fi-sidebar-item-label {
    font-weight: 720;
}

/* Topbar */
.fi-topbar {
    border-bottom: 1px solid var(--iw-admin-border);
    background: rgba(255, 255, 255, 0.93) !important;
    backdrop-filter: blur(18px);
    box-shadow: 0 5px 22px rgba(20, 53, 76, 0.045);
}

.fi-topbar nav {
    min-height: 4.35rem;
}

.fi-global-search-field {
    border-radius: 0.8rem;
}

/* Containers e seções */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-fo-repeater-item,
.fi-sc-section {
    border-color: var(--iw-admin-border) !important;
    border-radius: 1rem !important;
    background: var(--iw-admin-card) !important;
    box-shadow: var(--iw-admin-shadow) !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.fi-section:hover,
.fi-wi-stats-overview-stat:hover {
    box-shadow: var(--iw-admin-shadow-hover) !important;
}

.fi-section-header {
    border-bottom-color: var(--iw-admin-border) !important;
}

.fi-section-header-heading,
.fi-ta-header-heading {
    color: var(--iw-admin-text);
    font-weight: 820;
    letter-spacing: -0.02em;
}

.fi-section-header-description,
.fi-ta-header-description {
    color: var(--iw-admin-muted);
}

/* Cartões de indicadores */
.fi-wi-stats-overview-stat {
    position: relative;
    overflow: hidden;
    min-height: 8.3rem;
    padding: 1.25rem !important;
}

.fi-wi-stats-overview-stat::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            var(--iw-admin-primary),
            #25c3c7
        );
}

.fi-wi-stats-overview-stat:nth-child(3n + 2)::before {
    background:
        linear-gradient(
            90deg,
            #2878df,
            #56a0f3
        );
}

.fi-wi-stats-overview-stat:nth-child(3n)::before {
    background:
        linear-gradient(
            90deg,
            var(--iw-admin-accent),
            #ffb05f
        );
}

.fi-wi-stats-overview-stat-label {
    color: var(--iw-admin-muted);
    font-size: 0.78rem;
    font-weight: 760;
}

.fi-wi-stats-overview-stat-value {
    color: var(--iw-admin-text);
    font-size: clamp(1.65rem, 2vw, 2.15rem);
    font-weight: 900;
    letter-spacing: -0.045em;
}

.fi-wi-stats-overview-stat-description {
    font-size: 0.75rem;
    font-weight: 650;
}

/* Tabelas */
.fi-ta-header {
    padding: 1.15rem 1.25rem;
}

.fi-ta-table thead {
    background: #f5f8fa;
}

.fi-ta-header-cell {
    color: #50677a;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.025em;
    text-transform: none;
}

.fi-ta-row {
    transition: background 0.15s ease;
}

.fi-ta-row:hover {
    background: rgba(11, 147, 152, 0.035);
}

.fi-ta-cell {
    border-bottom-color: #e8eff2 !important;
}

.fi-ta-text-item-label {
    color: var(--iw-admin-text);
}

/* Formulários */
.fi-input-wrp {
    border-color: #cbdce2 !important;
    border-radius: 0.75rem !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.fi-input-wrp:focus-within {
    border-color: var(--iw-admin-primary) !important;
    box-shadow:
        0 0 0 4px rgba(11, 147, 152, 0.10) !important;
}

.fi-fo-field-wrp-label {
    color: var(--iw-admin-text);
    font-weight: 720;
}

/* Botões */
.fi-btn {
    min-height: 2.5rem;
    border-radius: 0.72rem !important;
    font-weight: 800;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.fi-btn:hover {
    transform: translateY(-1px);
}

.fi-btn-color-primary {
    box-shadow: 0 8px 18px rgba(11, 147, 152, 0.20);
}

/* Atalhos rápidos */
.fi-wi-widget:first-child .fi-section {
    overflow: hidden;
}

.fi-wi-widget:first-child .fi-section-content {
    padding-block: 1.15rem;
}

.fi-wi-widget:first-child .fi-btn {
    min-height: 3rem;
}

/* Badges */
.fi-badge {
    border-radius: 999px;
    font-weight: 760;
}

/* Paginação */
.fi-pagination-item-button {
    border-radius: 0.62rem;
}

/* Tela de login */
.fi-simple-layout {
    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(255, 134, 31, 0.13),
            transparent 22rem
        ),
        radial-gradient(
            circle at 12% 85%,
            rgba(11, 147, 152, 0.18),
            transparent 27rem
        ),
        #eff7f8;
}

.fi-simple-main {
    border: 1px solid var(--iw-admin-border);
    border-radius: 1.35rem;
    box-shadow: 0 24px 70px rgba(20, 53, 76, 0.13);
}

/* Responsividade */
@media (max-width: 1024px) {
    .fi-main {
        padding-inline: 0.75rem;
    }
}

@media (max-width: 640px) {
    .fi-main {
        padding-top: 1rem;
    }

    .fi-wi-stats-overview-stat {
        min-height: auto;
    }

    .fi-header-heading {
        font-size: 1.65rem;
    }
}
/* IWASHIMA SIDEBAR CONTRAST FIX */

.fi-sidebar .fi-sidebar-item-button,
.fi-sidebar .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-button span {
    color: rgba(239, 250, 251, 0.88) !important;
}

.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-button:hover span {
    color: #ffffff !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-button span {
    color: #ffffff !important;
}

.fi-sidebar .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-group-button svg {
    color: #8fe5e6 !important;
}

.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-icon {
    color: #ffffff !important;
}

.fi-sidebar .fi-sidebar-group-label {
    color: rgba(190, 226, 230, 0.78) !important;
}

.fi-sidebar-header img {
    width: auto !important;
    min-width: 175px;
    max-width: 205px !important;
    height: 42px !important;
    object-fit: contain;
    object-position: left center;
}

.fi-sidebar-header {
    min-height: 5.25rem;
    padding-inline: 1rem;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    border-left: 3px solid #79f1ea;
    background:
        linear-gradient(
            90deg,
            rgba(15, 171, 176, 0.98),
            rgba(11, 132, 143, 0.96)
        ) !important;
}

.fi-sidebar-item-button {
    padding-inline: 0.85rem !important;
}

.fi-sidebar-item-label {
    font-weight: 760 !important;
}

.fi-sidebar-nav {
    scrollbar-color:
        rgba(143, 229, 230, 0.55)
        transparent;
}

.fi-sidebar-nav::-webkit-scrollbar {
    width: 7px;
}

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

.fi-sidebar-nav::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(143, 229, 230, 0.45);
}

@media (max-width: 1024px) {
    .fi-sidebar-header img {
        min-width: 155px;
        max-width: 180px !important;
    }
}
/* IWASHIMA ADMIN ICON CARDS */

.fi-wi-stats-overview-stat-description svg {
    width: 1.75rem !important;
    height: 1.75rem !important;
    padding: 0.35rem;
    border-radius: 0.62rem;
    background: rgba(11, 147, 152, 0.11);
    color: #0b9398;
    box-shadow: inset 0 0 0 1px rgba(11, 147, 152, 0.08);
}

.fi-wi-stats-overview-stat:nth-child(3n + 2)
.fi-wi-stats-overview-stat-description svg {
    background: rgba(40, 120, 223, 0.11);
    color: #2878df;
}

.fi-wi-stats-overview-stat:nth-child(3n)
.fi-wi-stats-overview-stat-description svg {
    background: rgba(255, 134, 31, 0.13);
    color: #e96d08;
}

.fi-wi-widget:first-child .fi-btn svg {
    width: 1.65rem !important;
    height: 1.65rem !important;
    padding: 0.28rem;
    border-radius: 0.55rem;
    background: color-mix(
        in srgb,
        currentColor 12%,
        transparent
    );
}

.fi-sidebar-item-icon {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

.fi-ta-header-heading + .fi-ta-header-description {
    margin-top: 0.2rem;
}

/* DIMYPET-UI-2.0 */
:root {
    --dimy-pink: #ed4f82;
    --dimy-pink-strong: #dc356d;
    --dimy-pink-soft: #fff0f5;
    --dimy-pink-soft-2: #fff7fa;
    --dimy-green: #168a3b;
    --dimy-green-strong: #0e7130;
    --dimy-green-soft: #eef9f1;
    --dimy-ink: #172238;
    --dimy-muted: #6b7a90;
    --dimy-border: #e8edf2;
    --dimy-bg: #fff9fb;
    --dimy-card: #ffffff;
    --dimy-radius: 18px;
    --dimy-shadow: 0 10px 30px rgba(70, 24, 47, .07);
}

/* Fundo geral */
.fi-body {
    background:
        radial-gradient(circle at 85% 0%, rgba(237,79,130,.08), transparent 30%),
        radial-gradient(circle at 10% 20%, rgba(22,138,59,.05), transparent 28%),
        linear-gradient(180deg, #fffafb 0%, #fff 54%, #fbfdfc 100%) !important;
    color: var(--dimy-ink);
}

/* Sidebar */
.fi-sidebar {
    background:
        linear-gradient(180deg, #fff 0%, #fffafd 56%, #f8fcf9 100%) !important;
    border-right: 1px solid rgba(237,79,130,.12);
    box-shadow: 12px 0 34px rgba(91, 39, 65, .05);
}

.fi-sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(237,79,130,.09);
}

.fi-logo {
    max-height: 3rem !important;
}

.fi-sidebar-group-label {
    color: #8b94a6 !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
}

.fi-sidebar-item-button {
    border-radius: 12px !important;
    transition: .18s ease;
    color: #4c5d70 !important;
}

.fi-sidebar-item-button:hover {
    background: var(--dimy-pink-soft) !important;
    color: var(--dimy-pink-strong) !important;
    transform: translateX(2px);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background:
        linear-gradient(135deg, #f25588 0%, #e53e75 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(229,62,117,.22);
}

.fi-sidebar-item.fi-active .fi-icon,
.fi-sidebar-item-button[aria-current="page"] .fi-icon {
    color: #fff !important;
}

/* Topbar */
.fi-topbar nav {
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(237,79,130,.08);
}

/* Títulos */
.fi-header-heading {
    color: var(--dimy-ink) !important;
    font-weight: 800 !important;
    letter-spacing: -.025em;
}

.fi-header-subheading {
    color: var(--dimy-muted) !important;
}

/* Cards, sections, widgets */
.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.fi-wi-widget > div,
.fi-simple-main {
    border-radius: var(--dimy-radius) !important;
    border: 1px solid var(--dimy-border) !important;
    box-shadow: var(--dimy-shadow) !important;
    background: rgba(255,255,255,.96) !important;
}

.fi-section {
    overflow: hidden;
}

.fi-section-header {
    background:
        linear-gradient(90deg, rgba(237,79,130,.035), rgba(22,138,59,.025)) !important;
}

/* Stats */
.fi-wi-stats-overview-stat {
    position: relative;
    overflow: hidden;
}

.fi-wi-stats-overview-stat::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--dimy-pink), var(--dimy-green));
    opacity: .9;
}

.fi-wi-stats-overview-stat-value {
    color: var(--dimy-ink) !important;
    font-weight: 800 !important;
}

/* Botões */
.fi-btn {
    border-radius: 11px !important;
    font-weight: 700 !important;
    transition: .18s ease !important;
}

.fi-btn:hover {
    transform: translateY(-1px);
}

.fi-btn.fi-color-primary,
.fi-btn[data-color="primary"] {
    background:
        linear-gradient(135deg, var(--dimy-pink), var(--dimy-pink-strong)) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(229,62,117,.20);
}

.fi-btn.fi-color-success,
.fi-btn[data-color="success"] {
    background:
        linear-gradient(135deg, #25a451, var(--dimy-green)) !important;
    color: #fff !important;
}

/* Inputs */
.fi-input-wrp,
.fi-select-input,
.fi-fo-field-wrp input,
.fi-fo-field-wrp textarea,
.fi-fo-field-wrp select {
    border-radius: 12px !important;
}

.fi-input-wrp:focus-within {
    border-color: rgba(237,79,130,.65) !important;
    box-shadow: 0 0 0 3px rgba(237,79,130,.10) !important;
}

/* Tabelas */
.fi-ta-header-cell {
    background: #fff9fb !important;
    color: #66768a !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    letter-spacing: .02em;
}

.fi-ta-row {
    transition: .15s ease;
}

.fi-ta-row:hover {
    background: linear-gradient(90deg, #fff7fa, #fbfffc) !important;
}

.fi-ta-cell {
    border-color: #eef2f5 !important;
}

/* Badges */
.fi-badge {
    border-radius: 999px !important;
    font-weight: 700 !important;
}

/* Modal */
.fi-modal-window {
    border-radius: 22px !important;
}

/* Tabs */
.fi-tabs {
    border-radius: 14px !important;
}

/* Breadcrumbs */
.fi-breadcrumbs-item-label {
    color: #7e8b9e !important;
}

/* Caixa diário - cards personalizados */
.dimypet-cash-card {
    border: 1px solid var(--dimy-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(72, 35, 52, .055);
}

.dimypet-cash-total {
    background:
        linear-gradient(135deg, #fff0f5 0%, #fff 48%, #eef9f1 100%);
    border: 1px solid rgba(237,79,130,.16);
}

/* Responsivo */
@media (max-width: 1024px) {
    .fi-main {
        padding-inline: .75rem !important;
    }

    .fi-section,
    .fi-ta-ctn,
    .fi-wi-stats-overview-stat {
        border-radius: 14px !important;
    }
}