        .theme-transitioning * {
            transition: background-color 320ms ease, color 320ms ease, border-color 320ms ease, box-shadow 320ms ease, filter 320ms ease;
        }

        [data-layout='compact'] #sidebar {
            width: 15rem !important;
        }

        [data-layout='compact'] #sidebar .nav-link,
        [data-layout='compact'] #sidebar .sidebar-sub-link {
            font-size: 0.72rem;
            padding-top: 0.45rem;
            padding-bottom: 0.45rem;
        }

        [data-layout='compact'] #sidebar .sidebar-label {
            font-size: 0.55rem;
            letter-spacing: 0.2em;
        }

        @media (min-width: 1024px) {
            [data-layout='compact'] #sidebar + main {
                margin-left: 15rem;
            }

            [data-layout='compact'] #main-header {
                left: 15rem;
                width: calc(100% - 15rem);
            }

            [data-layout='compact'] main {
                padding-left: 0;
                padding-right: 0;
            }
        }

        @media (min-width: 1024px) {
            [data-layout='topbar'] #sidebar {
                position: sticky;
                top: 0;
                left: 0;
                right: 0;
                width: 100%;
                height: auto !important;
                min-height: 0 !important;
                display: flex !important;
                flex-direction: row;
                align-items: center;
                gap: 0.2rem;
                padding: 0.15rem 0.6rem;
                border-right: none !important;
                border-bottom: 1px solid var(--sidebar-border);
                z-index: 49;
                transition: transform 0.2s ease, opacity 0.2s ease;
            }

            [data-layout='topbar'] #sidebar .sidebar-toggle {
                display: inline-flex !important;
                margin-left: auto;
                border: 1px solid var(--surface-border);
                background: color-mix(in srgb, var(--surface-ghost) 86%, transparent);
                width: 44px;
                height: 44px;
                padding: 0;
                border-radius: 999px;
                align-items: center;
                justify-content: center;
                font-size: 0.7rem;
                transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
            }

            [data-layout='topbar'] #sidebar .sidebar-toggle i {
                transition: transform 0.2s ease;
                font-size: 1.1rem;
            }

            [data-layout='topbar'] #sidebar .sidebar-toggle:hover {
                background: color-mix(in srgb, var(--surface-soft-hover) 82%, transparent);
                border-color: color-mix(in srgb, var(--sidebar-accent) 45%, var(--surface-border) 55%);
            }

            [data-layout='topbar'] #sidebar.topbar-collapsed .sidebar-toggle i {
                transform: rotate(-90deg);
            }

            [data-layout='topbar'] #main-header.header-hidden ~ .flex.min-h-screen #sidebar {
                transform: translateY(-110%);
                opacity: 0;
                filter: blur(8px);
            }

            [data-layout='topbar'] .flex.min-h-screen {
                flex-direction: column;
            }

            [data-layout='topbar'] #sidebar + main {
                margin-left: 0 !important;
                width: 100%;
                padding-top: 1rem;
            }

            [data-layout='topbar'] .flex.h-screen {
                flex-direction: column;
            }

            [data-layout='topbar'] .flex.h-screen > #sidebar {
                width: 100%;
            }

            [data-layout='topbar'] .flex.h-screen > main {
                margin-left: 0 !important;
                width: 100%;
            }

            [data-layout='topbar'] #main-header {
                left: 0;
                width: 100%;
            }

            [data-layout='topbar'] #sidebar .sidebar-label {
                display: none !important;
            }

            [data-layout='topbar'] #sidebar .sidebar-subhead {
                display: flex !important;
                align-items: center;
                padding: 0;
                margin-left: 0.5rem;
                background: transparent;
                border-bottom: none !important;
            }
            @media (min-width: 1024px) {
                [data-layout='topbar'] #sidebar .sidebar-subhead.sidebar-user-mobile-only {
                    display: none !important;
                }
            }

            [data-layout='topbar'] #sidebar .sidebar-subhead .flex {
                flex-direction: row;
                align-items: center;
                gap: 0.5rem;
            }

            [data-layout='topbar'] #sidebar .sidebar-subhead img,
            [data-layout='topbar'] #sidebar .sidebar-subhead .h-12 {
                width: 42px;
                height: 42px;
            }

            [data-layout='topbar'] #sidebar .sidebar-logout {
                margin-top: 0;
            }

            [data-layout='topbar'] #sidebar .sidebar-head {
                padding: 0;
                background: transparent !important;
                border-bottom: none !important;
            }

            [data-layout='topbar'] #sidebar .logo-mark {
                font-size: 1.4rem !important;
            }

            [data-layout='topbar'] #sidebar .sidebar-title {
                font-size: 0.9rem;
            }

            [data-layout='topbar'] #sidebar .sidebar-nav {
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                align-items: center;
                gap: 0.75rem;
                padding: 0.25rem 2.5rem;
                flex: 0 0 auto;
                overflow-x: hidden;
            }

            [data-layout='topbar'] #sidebar {
                overflow-x: auto;
            }

            [data-layout='topbar'] #sidebar .topbar-scroll-btn {
                display: none;
            }

            [data-layout='topbar'] #sidebar .nav-link {
                display: inline-flex;
                align-items: center;
                border-radius: 999px;
                padding: 0.4rem 0.9rem;
                font-size: 0.7rem;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                white-space: nowrap;
            }

            [data-layout='topbar'] #sidebar .nav-link::after {
                content: none !important;
            }

            [data-layout='topbar'] #sidebar .nav-link i {
                margin-right: 0.45rem;
                font-size: 1.45rem;
            }

            [data-layout='topbar'] #sidebar .pt-2 {
                padding-top: 0;
                margin-top: 0;
                display: flex;
                align-items: center;
                flex: 0 0 auto;
            }

            [data-layout='topbar'] #sidebar .pt-2 > .nav-link {
                width: auto !important;
            }

            [data-layout='topbar'] #sidebar.topbar-collapsed .nav-link {
                font-size: 0;
                gap: 0;
                padding: 0.45rem 0.65rem;
            }

            [data-layout='topbar'] #sidebar.topbar-collapsed .nav-link i {
                margin-right: 0;
                font-size: 1.45rem;
            }

            [data-layout='topbar'] #sidebar.topbar-collapsed .sidebar-nav {
                flex: 1 1 auto;
                justify-content: space-evenly;
            }

            [data-layout='topbar'] #sidebar.topbar-collapsed .nav-link {
                flex: 0 0 44px;
                justify-content: center;
            }

            [data-layout='topbar'] #sidebar:not(.topbar-collapsed) {
                scrollbar-width: auto;
            }

            [data-layout='topbar'] #sidebar:not(.topbar-collapsed)::-webkit-scrollbar {
                height: 8px;
            }

            [data-layout='topbar'] #sidebar:not(.topbar-collapsed)::-webkit-scrollbar-thumb {
                background: color-mix(in srgb, var(--sidebar-accent) 45%, transparent);
                border-radius: 999px;
            }

            [data-layout='topbar'] #sidebar:not(.topbar-collapsed)::-webkit-scrollbar-track {
                background: color-mix(in srgb, var(--surface-border) 30%, transparent);
            }

            [data-layout='split'] .flex.min-h-screen {
                flex-direction: row-reverse;
            }

            [data-layout='split'] #sidebar {
                left: auto !important;
                right: 0 !important;
                border-left: 1px solid var(--sidebar-border);
                border-right: none !important;
            }

            [data-layout='split'] #sidebar + main {
                margin-left: 0 !important;
                margin-right: 18rem;
            }

            [data-layout='split'] #main-header {
                left: 0;
                right: 18rem;
                width: calc(100% - 18rem);
            }

            [data-layout='icon-rail'] #sidebar {
                width: 5rem !important;
            }

            [data-layout='icon-rail'] #sidebar + main {
                margin-left: 5rem;
            }

            [data-layout='icon-rail'] #main-header {
                left: 5rem;
                width: calc(100% - 5rem);
            }

            [data-layout='icon-rail'] #sidebar .sidebar-label,
            [data-layout='icon-rail'] #sidebar .sidebar-username,
            [data-layout='icon-rail'] #sidebar .sidebar-theme-label,
            [data-layout='icon-rail'] #sidebar .sidebar-theme-value {
                display: none !important;
            }

            [data-layout='icon-rail'] #sidebar .sidebar-title,
            [data-layout='icon-rail'] #sidebar .sidebar-subhead,
            [data-layout='icon-rail'] #sidebar .sidebar-toggle {
                display: none !important;
            }

            [data-layout='icon-rail'] #sidebar .sidebar-head {
                justify-content: center;
                padding-left: 0.5rem;
                padding-right: 0.5rem;
            }

            [data-layout='icon-rail'] #sidebar .logo-mark {
                margin-right: 0 !important;
            }

            [data-layout='icon-rail'] #sidebar .nav-link,
            [data-layout='icon-rail'] #sidebar .sidebar-logout {
                justify-content: center;
                gap: 0 !important;
                font-size: 0 !important;
                padding-left: 0.5rem;
                padding-right: 0.5rem;
            }

            [data-layout='icon-rail'] #sidebar .nav-link i,
            [data-layout='icon-rail'] #sidebar .sidebar-logout i {
                font-size: 1.25rem !important;
            }

            [data-layout='icon-rail'] #sidebar .pt-2 {
                position: relative;
            }

            [data-layout='icon-rail'] #sidebar [id^='submenu-'] {
                position: absolute;
                left: 5.25rem;
                top: auto;
                bottom: 100%;
                margin-bottom: 0.5rem;
                background: var(--menu-bg);
                border: 1px solid var(--surface-border);
                border-radius: 0.75rem;
                padding: 0.35rem;
                min-width: 12rem;
                max-height: calc(100vh - 2rem);
                overflow-y: auto;
                box-shadow: 0 12px 24px rgba(15, 23, 42, 0.18);
                z-index: 70;
            }

            [data-layout='icon-rail'] #sidebar .sidebar-nav {
                overflow: visible;
            }

            [data-layout='icon-rail'] #sidebar .sidebar-sub-link {
                display: block;
                padding: 0.45rem 0.75rem;
                font-size: 0.75rem;
                white-space: nowrap;
            }

            [data-layout='glass-topbar'] #sidebar + main {
                margin-left: 0 !important;
                margin-right: 0 !important;
                width: 100%;
                padding-top: 1.25rem;
            }

            [data-layout='glass-topbar'] #main-header {
                display: block !important;
                background: color-mix(in srgb, var(--card-bg) 70%, transparent) !important;
                border-color: color-mix(in srgb, var(--surface-border) 70%, transparent) !important;
                box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
            }

            [data-layout='glass-topbar'] #sidebar {
                position: fixed;
                inset-y: 0;
                left: 0;
                z-index: 60;
                height: 100vh;
                box-shadow: 0 18px 40px rgba(15, 23, 42, 0.28);
                transform: translateX(-100%);
            }

            [data-layout='glass-topbar'] #sidebar.lg\:translate-x-0,
            [data-layout='glass-topbar'] #sidebar.translate-x-0 {
                transform: translateX(0);
            }

            [data-layout='glass-topbar'] #sidebar-fab {
                display: inline-flex;
            }

            [data-layout='wide-sidebar'] #sidebar {
                width: 22rem !important;
            }

            [data-layout='wide-sidebar'] #sidebar + main {
                margin-left: 22rem !important;
            }

            [data-layout='wide-sidebar'] #main-header {
                left: 22rem;
                width: calc(100% - 22rem);
            }

            [data-layout='boxed-content'] #sidebar + main {
                max-width: 1120px;
                margin-left: 18rem;
                margin-right: auto;
            }

            [data-layout='boxed-content'] #main-header {
                left: 18rem;
                width: calc(100% - 18rem);
            }

            [data-layout='floating-sidebar'] #sidebar {
                margin: 1.25rem 0 1.25rem 1.25rem;
                border-radius: 1.25rem;
                box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
            }

            [data-layout='floating-sidebar'] #sidebar + main {
                margin-left: 18rem;
                padding-top: 1.5rem;
            }

            [data-layout='floating-sidebar'] #main-header {
                left: 18rem;
                width: calc(100% - 18rem);
                margin-top: 0.75rem;
                margin-right: 1rem;
                border-radius: 999px;
            }
        }

        body {
            background: var(--page-bg);
            color: var(--text-primary);
            font-size: 0.93rem;
            font-family: var(--app-font-body);
        }

        h1, h2, h3, .sidebar-title, #main-header .text-lg {
            font-family: var(--app-font-heading);
            letter-spacing: 0.01em;
        }

        #main-header {
            font-size: 0.85rem;
        }

        .nav-link,
        .sidebar-sub-link {
            font-size: 0.78rem;
        }

        /* Força superfícies a seguirem o tema, mesmo com utilitários tailwind */
        main,
        .min-h-screen {
            background-color: var(--page-bg) !important;
            color: var(--text-primary);
        }

        .bg-slate-50,
        .bg-gray-50,
        .bg-neutral-50 {
            background-color: var(--surface-muted) !important;
        }

        .bg-white {
            background-color: var(--card-bg) !important;
        }

        .bg-white\/80,
        .bg-white\/90,
        .bg-white\/70 {
            background-color: var(--surface-ghost) !important;
        }

        .bg-slate-50\/30,
        .bg-slate-50\/50,
        .bg-slate-50\/70 {
            background-color: var(--surface-soft) !important;
        }

        .bg-slate-100,
        .bg-gray-100 {
            background-color: var(--surface-muted) !important;
        }

        .bg-slate-200,
        .bg-gray-200 {
            background-color: var(--surface-soft-hover) !important;
        }

        .from-slate-50 {
            --tw-gradient-from: var(--surface-muted) var(--tw-gradient-from-position) !important;
            --tw-gradient-to: color-mix(in srgb, var(--surface-muted) 0%, transparent) var(--tw-gradient-to-position) !important;
            --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
        }

        .to-white {
            --tw-gradient-to: var(--surface-elevated) var(--tw-gradient-to-position) !important;
        }

        .border,
        .border-slate-100,
        .border-slate-200,
        .border-gray-100,
        .border-gray-200 {
            border-color: var(--surface-border) !important;
        }

        .ring-slate-100,
        .ring-slate-200,
        .ring-slate-300,
        .ring-gray-100,
        .ring-gray-200,
        .ring-gray-300 {
            --tw-ring-color: var(--ring-color) !important;
        }

        .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
        .divide-slate-200 > :not([hidden]) ~ :not([hidden]),
        .divide-gray-200 > :not([hidden]) ~ :not([hidden]),
        .divide-gray-300 > :not([hidden]) ~ :not([hidden]) {
            border-color: var(--divider-color) !important;
        }

        .hover\:bg-slate-50:hover,
        .hover\:bg-gray-50:hover {
            background-color: var(--surface-soft) !important;
        }

        .hover\:bg-slate-100:hover,
        .hover\:bg-gray-100:hover {
            background-color: var(--surface-soft-hover) !important;
        }

        .hover\:bg-slate-200:hover,
        .hover\:bg-gray-200:hover {
            background-color: var(--surface-soft-hover-strong) !important;
        }

        .ring-black,
        .ring-gray-900\/5 {
            --tw-ring-color: var(--ring-color) !important;
        }

        [data-theme] .bg-slate-900\/60,
        [data-theme] .bg-slate-900\/75,
        [data-theme] .bg-slate-900\/50 {
            background-color: var(--overlay-dim) !important;
        }

        [data-theme] .bg-emerald-50 {
            background-color: color-mix(in srgb, var(--card-bg) 78%, #10b981 22%) !important;
        }

        [data-theme] .bg-red-50 {
            background-color: color-mix(in srgb, var(--card-bg) 80%, #ef4444 20%) !important;
        }

        [data-theme] .bg-brand-50,
        [data-theme] .bg-blue-50 {
            background-color: color-mix(in srgb, var(--card-bg) 82%, #3b82f6 18%) !important;
        }

        [data-theme] .ql-snow.ql-toolbar {
            border-color: var(--surface-border) !important;
            background: var(--surface-muted) !important;
        }

        [data-theme] .ql-snow .ql-stroke {
            stroke: var(--text-secondary) !important;
        }

        [data-theme] .ql-snow .ql-fill {
            fill: var(--text-secondary) !important;
        }

        [data-theme] .ql-snow .ql-picker {
            color: var(--text-primary) !important;
        }

        [data-theme] .ql-editor {
            background: var(--card-bg) !important;
            color: var(--text-primary) !important;
        }

        [data-theme] .ql-container.ql-snow {
            border-color: var(--surface-border) !important;
        }

        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            border: 1px solid transparent;
            border-radius: 999px;
            padding: 0.2rem 0.65rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-size: 0.7rem;
            box-shadow: 0 8px 20px rgba(0,0,0,0.12);
        }
        .badge-info { background: var(--status-info-bg); color: var(--status-info-text); border-color: var(--status-info-border); }
        .badge-info-strong { background: var(--status-info-strong-bg); color: var(--status-info-strong-text); border-color: var(--status-info-strong-border); }
        .badge-success { background: var(--status-success-bg); color: var(--status-success-text); border-color: var(--status-success-border); }
        .badge-success-soft { background: var(--status-success-soft-bg); color: var(--status-success-soft-text); border-color: var(--status-success-soft-border); }
        .badge-warning { background: var(--status-warning-bg); color: var(--status-warning-text); border-color: var(--status-warning-border); }
        .badge-danger { background: var(--status-danger-bg); color: var(--status-danger-text); border-color: var(--status-danger-border); }
        .badge-neutral { background: var(--status-neutral-bg); color: var(--status-neutral-text); border-color: var(--status-neutral-border); }
        .badge-neutral-soft { background: var(--status-neutral-soft-bg); color: var(--status-neutral-soft-text); border-color: var(--status-neutral-soft-border); }

