
        /* ==================== PALETAS DE CORES SELECCIONADAS POR DEVS ==================== */

        

        body {
            background-color: var(--bg-main);
            color: var(--text-primary);
            font-family: 'Inter', sans-serif;
            -webkit-tap-highlight-color: transparent;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        /* Aplicação dinâmica das variáveis de cores */
        header, .bg-slate-900 { background-color: var(--bg-header) !important; }
        .bg-slate-800, .bg-slate-900\/50 { background-color: var(--bg-card) !important; }
        .bg-slate-800\/50, .bg-slate-800\/60, .bg-slate-700\/80 {
            background-color: color-mix(in srgb, var(--bg-card) 78%, var(--bg-input)) !important;
        }
        .hover\:bg-slate-700:hover { background-color: var(--bg-input) !important; }
        input, select, textarea { background-color: var(--bg-input) !important; color: var(--text-primary) !important; }
        .border-slate-800, .border-slate-700 { border-color: var(--border-color) !important; }
        .text-slate-100, .text-slate-200, .text-slate-300,
        .text-gray-100, .text-gray-200, .text-gray-300 { color: var(--text-primary) !important; }
        .text-slate-400, .text-slate-500, .text-slate-600,
        .text-gray-400, .text-gray-500, .text-gray-600 { color: var(--text-secondary) !important; }
        .text-white { color: var(--text-primary) !important; }
        .bg-sky-700.text-white, .nav-btn.bg-sky-700, .cat-btn.bg-sky-700 {
            color: var(--text-on-accent) !important;
        }
        .bg-emerald-700.text-white, .bg-amber-600.text-white, .bg-red-700.text-white {
            color: #ffffff !important;
        }
        .bg-sky-700 { background-color: var(--accent-color) !important; }
        .hover\:bg-sky-600:hover { background-color: var(--accent-hover) !important; }
        .bg-amber-600 { background-color: #a16207 !important; }
        .hover\:bg-amber-500:hover { background-color: #854d0e !important; }
        #toast-content.bg-red-900 {
            color: var(--danger-color) !important;
            background-color: var(--danger-soft) !important;
            border-color: var(--danger-border) !important;
        }
        ::placeholder { color: var(--text-secondary) !important; opacity: .78; }

        .text-sky-300, .text-sky-400, .text-blue-300, .text-blue-400, .text-cyan-300, .text-cyan-400 { color: var(--info-color) !important; }
        .text-emerald-300, .text-emerald-400, .text-emerald-500\/80,
        .text-green-300, .text-green-400 { color: var(--success-color) !important; }
        .text-amber-300, .text-amber-400, .text-yellow-300, .text-yellow-400,
        .text-orange-300, .text-orange-400 { color: var(--warning-color) !important; }
        .text-red-100, .text-red-300, .text-red-400, .text-rose-300, .text-rose-400 { color: var(--danger-color) !important; }
        .bg-sky-950\/60 { background-color: var(--info-soft) !important; border-color: var(--info-border) !important; }
        .bg-emerald-950\/60, .bg-emerald-950\/30, .bg-emerald-950\/10 { background-color: var(--success-soft) !important; border-color: var(--success-border) !important; }
        .bg-amber-950\/60 { background-color: var(--warning-soft) !important; border-color: var(--warning-border) !important; }
        .bg-red-950\/40 { background-color: var(--danger-soft) !important; border-color: var(--danger-border) !important; }
        .hover\:text-sky-300:hover, .hover\:text-sky-400:hover { color: var(--info-color) !important; }
        .hover\:text-amber-300:hover { color: var(--warning-color) !important; }
        .hover\:text-red-300:hover { color: var(--danger-color) !important; }

        /* Todos os textos e números herdam uma função visual do tema atual. */
        .text-adaptive-primary { color: var(--text-primary) !important; }
        .text-adaptive-secondary { color: var(--text-secondary) !important; }
        .text-adaptive-info { color: var(--info-color) !important; }
        .text-adaptive-success { color: var(--success-color) !important; }
        .text-adaptive-warning { color: var(--warning-color) !important; }
        .text-adaptive-danger { color: var(--danger-color) !important; }
        button:disabled, input:disabled, select:disabled, textarea:disabled {
            color: var(--text-secondary) !important;
            opacity: .78;
        }

        /* Contraste reforçado para informações coloridas no tema claro */
        :root[data-theme="light"] .hover\:text-white:hover { color: var(--text-primary) !important; }
        :root[data-theme="light"] .hover\:bg-slate-800:hover,
        :root[data-theme="light"] .hover\:bg-slate-700:hover { background-color: #e2e8f0 !important; }
        :root[data-theme="light"] .hover\:bg-red-900\/60:hover { background-color: #fecaca !important; }

        /* Respeito às preferências de movimento reduzido */
        @media (prefers-reduced-motion: reduce) {
            *, ::before, ::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }

        /* Foco Visível de Acessibilidade */
        a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
            outline: 2px solid #38bdf8;
            outline-offset: 2px;
        }

        /* Scrollbar Discreta */
        ::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        ::-webkit-scrollbar-track {
            background: var(--bg-main);
        }
        ::-webkit-scrollbar-thumb {
            background: var(--border-color);
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: var(--accent-color);
        }

        /* ==================== REFINO VISUAL E ACESSIBILIDADE ==================== */
        body { font-size: 14px; }
        header { box-shadow: 0 1px 0 rgba(148,163,184,.08); }
        .nav-btn { min-height: 44px; border-radius: 8px !important; }
        .nav-btn:hover { transform: none !important; }
        button, input, select, textarea { transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease; }
        button { min-height: 40px; }
        input, select { min-height: 40px; }
        .bg-slate-900 { box-shadow: 0 1px 2px rgba(0,0,0,.16); }
        .rounded-xl { border-radius: 10px !important; }
        .rounded-lg { border-radius: 8px !important; }
        .rounded-full { border-radius: 999px !important; }
        .transition, .transition-all, .transition-colors { transition-duration: .15s !important; }
        button:disabled { opacity: .55; cursor: not-allowed; }
        [role="dialog"] { overscroll-behavior: contain; }
        .modal-panel { max-height: min(90vh, 720px); overflow-y: auto; }
        .status-badge { display: inline-flex; align-items: center; gap: .35rem; }
        .status-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
        .table-wrap { border: 1px solid var(--border-color); border-radius: 8px; }
        #demo-banner { display: none; }
        body.demo-mode #demo-banner { display: flex; }
        body.demo-mode header { top: var(--demo-banner-height, 36px); }
        body.demo-mode [data-full-access-only] { opacity: .55; }
        html, body { max-width: 100%; overflow-x: hidden; }
        main, section, form, .grid, .flex { min-width: 0; }
        .overflow-x-auto, .mobile-scroll {
            max-width: 100%;
            overscroll-behavior-inline: contain;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: thin;
        }
        input, select, textarea { max-width: 100%; }
        @media (max-width: 900px) {
            .table-wrap, .overflow-x-auto { position: relative; }
            table { min-width: 720px; }
        }
        @media (max-width: 640px) {
            body { font-size: 13px; }
            main { padding: 1rem .75rem 5.5rem !important; }
            header > div { padding: .65rem .75rem !important; align-items: flex-start !important; }
            header h1 { font-size: .95rem !important; line-height: 1.2; }
            header p { font-size: .68rem !important; }
            header > div > div:last-child { width: 100%; justify-content: center; }
            #demo-banner { padding: .45rem .65rem; font-size: .66rem; line-height: 1.3; }
            nav[aria-label="Menu Principal"] {
                margin-inline: -.75rem;
                padding-inline: .75rem;
                border-left: 0;
                border-right: 0;
                border-radius: 0 !important;
                scroll-snap-type: x proximity;
                scrollbar-width: thin;
            }
            .nav-btn { flex: 0 0 auto !important; min-width: 132px !important; scroll-snap-align: start; }
            section > .bg-slate-900, section > form.bg-slate-900 { padding: 1rem !important; }
            form { gap: .85rem !important; }
            table { min-width: 680px; }
            .mobile-scroll { overflow-x: auto; }
            .modal-panel {
                width: 100%;
                max-height: calc(100dvh - 1rem);
                padding: 1rem !important;
                border-radius: 12px !important;
            }
            [role="dialog"] { padding: .5rem !important; align-items: flex-end !important; }
            #toast-notification {
                left: .5rem;
                right: .5rem;
                bottom: calc(.5rem + env(safe-area-inset-bottom));
                width: auto;
                padding: 0;
            }
            body > .fixed.bottom-4.left-4 {
                left: .75rem !important;
                bottom: calc(.75rem + env(safe-area-inset-bottom)) !important;
            }
            #theme-menu { max-width: calc(100vw - 1.5rem); }
            button, input, select, textarea { min-height: 44px; }
            input, select, textarea { font-size: 16px !important; }
        }
        @media (max-width: 390px) {
            .nav-btn { min-width: 122px !important; padding-inline: .65rem !important; }
            header .bg-sky-700 { padding: .55rem !important; }
            .modal-panel .flex.justify-end { flex-wrap: wrap; }
            .modal-panel .flex.justify-end > button { flex: 1 1 120px; }
        }
        @media (pointer: coarse) {
            button, a, select { touch-action: manipulation; }
        }
        @media (prefers-reduced-motion: reduce) {
            .transition, .transition-all, .transition-colors { transition: none !important; }
        }
    
/* Nexo Lava Jato: estrutura compartilhada da família Nexo. */

body{display:block!important;padding-bottom:32px!important}
.lava-navigation{position:fixed;inset:0 auto 0 0;width:228px;background:var(--bg-header);border-right:1px solid var(--border-color);padding:30px 16px;z-index:35;overflow-y:auto}
.lava-brand{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:4px 8px;margin-bottom:36px;color:var(--text-primary)}
.lava-brand i{grid-row:span 2;background:#175c68;color:white;border-radius:12px;padding:11px}
.lava-brand strong{font-size:16px}.lava-brand small{font-size:10px;color:var(--text-secondary)}
.lava-menu-label{font-size:10px;letter-spacing:.12em;color:var(--text-secondary);margin:0 10px 16px}
#lava-sidebar{display:flex;flex-direction:column;gap:7px;background:transparent!important;border:0;padding:0;overflow:visible;box-shadow:none;margin:0}
#lava-sidebar .nav-btn{flex:none;margin:0!important;min-width:0;width:100%;justify-content:flex-start;text-align:left;padding:13px 12px;border-radius:10px;font-size:12px;min-height:46px;white-space:normal}
#lava-sidebar .nav-btn i{width:18px;text-align:center}#lava-sidebar .nav-btn[aria-current="page"]{background:var(--accent-color)!important;color:var(--text-on-accent)!important}
.lava-sidebar-note{margin-top:32px;padding:18px 10px;border-top:1px solid var(--border-color);font-size:11px;line-height:1.8;color:var(--text-secondary)}
.lava-topbar{margin-left:228px;position:relative!important}.lava-topbar>div{max-width:none;padding:20px 28px}.lava-topbar h1{font-size:22px}.lava-topbar>div>div:first-child>div:first-child{display:none}
#conteudo-principal{margin-left:228px;width:calc(100% - 228px);max-width:none;padding:26px 28px}
#demo-banner{position:relative!important;margin-left:228px;width:calc(100% - 228px)}
section>.bg-slate-900{border-radius:16px;box-shadow:0 3px 12px #102c3a05}input,select{min-height:42px}button{min-height:36px}button:focus-visible,a:focus-visible{outline:3px solid var(--info-color);outline-offset:3px}
#form-lavagem{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){.lava-navigation{width:190px;padding:24px 10px}.lava-brand strong{font-size:13px}.lava-brand small{font-size:9px}.lava-topbar,#demo-banner{margin-left:190px}#demo-banner{width:calc(100% - 190px)}#conteudo-principal{margin-left:190px;width:calc(100% - 190px);padding:20px}#form-lavagem{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.lava-navigation{position:relative;inset:auto;width:100%;padding:18px 14px 10px;border-right:0;border-bottom:1px solid var(--border-color)}.lava-brand{margin-bottom:16px;grid-template-columns:38px 1fr}.lava-brand strong{font-size:17px}.lava-brand small{font-size:11px}.lava-menu-label,.lava-sidebar-note{display:none}#lava-sidebar{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}#lava-sidebar .nav-btn{width:auto;flex:0 0 auto;white-space:nowrap;padding:10px;min-height:42px}#lava-sidebar .nav-btn span{font-size:11px}.lava-topbar,#demo-banner{margin-left:0;width:100%}.lava-topbar>div{padding:18px 16px}.lava-topbar h1{font-size:20px}#conteudo-principal{margin-left:0;width:100%;padding:18px 12px}#form-lavagem{grid-template-columns:1fr!important}#toast-notification{max-width:100%;bottom:70px}}
@media print{.lava-navigation,.lava-topbar,#demo-banner{display:none}#conteudo-principal{margin:0;width:100%}}
.lava-topbar{top:0!important}
/* Identidade única Nexo: superfícies claras, verde floresta e detalhes suaves. */
:root[data-theme="light"]{--bg-main:#fbfcf9;--bg-header:#fff;--bg-card:#f0f5f2;--bg-input:#fff;--border-color:#dce5e1;--text-primary:#183432;--text-secondary:#526966;--accent-color:#123c3a;--accent-hover:#0b2d2c;--text-on-accent:#fff;--info-color:#245c57;--success-color:#176443;--warning-color:#855600;--danger-color:#b42318;--info-soft:#e8f3ef;--success-soft:#dff4ea;--warning-soft:#fff5d6;--danger-soft:#fff0ed}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}
.lava-navigation{background:#0b2d2c;color:#d7e7e3;border:0;display:flex;flex-direction:column}
.lava-brand{color:#fff}.lava-brand i{background:#d8f36a;color:#0b2d2c}.lava-brand small{color:#a9c4be}.lava-menu-label{color:#a9c4be}
#lava-sidebar .nav-btn{color:#b9d1cb!important;background:transparent!important;font-weight:600}
#lava-sidebar .nav-btn:hover{background:#ffffff12!important;color:white!important}
#lava-sidebar .nav-btn[aria-current="page"]{background:#d8f36a!important;color:#0b2d2c!important}
.lava-sidebar-note{margin-top:auto;padding-top:24px;border-color:#ffffff25;color:#b9d1cb}
.lava-topbar h1,section h2{color:#183432!important;letter-spacing:-.025em}
input:focus,select:focus,textarea:focus{outline:2px solid #58a782!important;outline-offset:2px;border-color:#58a782!important}
.bg-emerald-700,.bg-sky-700{background-color:#123c3a!important;color:#fff!important}
.hover\:bg-emerald-600:hover,.hover\:bg-sky-600:hover{background-color:#0b2d2c!important}
.font-mono{font-family:inherit!important}.text-sky-600,.text-blue-600{color:#245c57!important}
@media(max-width:640px){.lava-sidebar-note{display:none}#lava-sidebar{flex-shrink:0}.lava-navigation{display:block}.lava-brand{color:#fff}.lava-topbar h1{font-size:20px!important}}
.receipt-import{background:#f0f5f2;border:1px solid #dce5e1;border-radius:12px;padding:18px;margin-bottom:20px;color:#183432;font-size:13px}
.receipt-import p{font-size:12px;color:#526966;margin:7px 0;line-height:1.6}.receipt-upload{display:inline-flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px;font-weight:600}.receipt-upload input{max-width:100%;font-size:12px}#receipt-status{margin-top:12px}#receipt-review{border-top:1px solid #dce5e1;padding-top:12px;margin-top:12px}#receipt-review[hidden]{display:none}#receipt-warnings{margin:0 0 12px;padding-left:18px;color:#855600;font-size:12px}#receipt-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;background:white;border-radius:8px;padding:12px;font-family:inherit;font-size:12px}.receipt-confirm{display:flex;align-items:center;gap:10px;font-size:12px;margin:14px 0}.receipt-confirm input{width:18px;min-height:18px;accent-color:#123c3a}.receipt-clear{font-size:12px;text-decoration:underline;color:#245c57}#desp-item{resize:vertical}#tabela-compras td:nth-child(2){white-space:pre-line;min-width:180px;overflow-wrap:anywhere}.purchase-supplier{display:block;font-size:11px;font-weight:400;color:#526966;margin-top:6px}
.receipt-upload{display:flex;width:100%;min-width:0}.receipt-upload input{width:100%;min-width:0;max-width:100%;overflow:hidden}
#receipt-products-panel{background:#f0f5f2;border:1px solid #dce5e1;border-radius:12px;padding:18px;margin-bottom:20px}#receipt-products-panel[hidden],#purchase-description-field[hidden]{display:none}#receipt-products-panel h3{font-size:14px;font-weight:700;color:#183432}#receipt-products-panel p{font-size:12px;color:#526966;margin:6px 0 14px}.receipt-product-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 32px;gap:10px;margin-bottom:10px}.receipt-product-row input{width:100%;min-width:0;border:1px solid #dce5e1;border-radius:8px;padding:8px 10px;font-size:13px}.receipt-product-value{text-align:right}.receipt-remove{color:#b42318;border-radius:8px;background:#fff0ed}.receipt-add{font-size:12px;color:#123c3a;font-weight:650}.purchase-details summary{cursor:pointer;white-space:normal;color:#123c3a}.purchase-details summary span{font-size:13px;font-weight:700}.purchase-details summary small{display:block;font-size:11px;color:#526966;font-weight:400;margin-top:5px;padding-left:14px}.purchase-detail-body{margin-top:12px;padding:14px;border:1px solid #dce5e1;border-radius:10px;background:#f7faf8;min-width:250px}.purchase-detail-body p{font-size:11px;color:#526966;margin:6px 0;white-space:normal}.purchase-products{list-style:none;margin:0;padding:0}.purchase-products li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0;border-bottom:1px solid #dce5e1;white-space:normal}.purchase-products strong{font-weight:650;color:#183432;text-align:right;white-space:nowrap}.purchase-final-total{display:flex;justify-content:space-between;gap:16px;padding:14px 0 4px;font-weight:700;color:#123c3a}
@media(max-width:640px){.receipt-product-row{grid-template-columns:minmax(0,1fr) 100px 28px;gap:6px}.receipt-product-row input{font-size:12px;padding:8px 6px}.purchase-detail-body{min-width:220px;padding:10px}}
#tabela-compras tr:hover{background:#f0f5f2!important}.purchase-details[open] summary{margin-bottom:8px}.receipt-product-head{display:grid;grid-template-columns:minmax(0,1fr) 140px 32px;gap:10px;color:#526966;font-size:11px;margin:12px 0 6px}.receipt-product-head span:nth-child(2){text-align:right}@media(max-width:640px){.receipt-product-head{grid-template-columns:minmax(0,1fr) 100px 28px;gap:6px}}
.purchase-confirmation,.purchase-save-status,.purchase-save-action{grid-column:1/-1}.purchase-confirmation[hidden]{display:none}.purchase-save-status{font-size:13px;color:#176443;line-height:1.6}.purchase-save-status.is-error{color:#b42318}.purchase-save-action{justify-content:flex-end}.purchase-save-action button{width:auto;min-width:240px;background:#123c3a!important}.purchase-save-action button:hover{background:#0b2d2c!important}@media(max-width:640px){.purchase-save-action button{width:100%;min-width:0}}
.purchase-edit{font-size:12px;font-weight:650;color:#123c3a;text-decoration:underline;margin-right:10px}
.purchase-product-code{display:block;color:#526966;font-size:10px;margin-top:4px}.purchase-read-check{color:#176443!important;font-weight:650}
