 
        :root {
             --sidebar-width: 260px;
            --noz-green: #07ff1a;
            --accent-primary: #6366f1;
            --bg-dark: #0f1111;
            --sidebar-bg: #1a1d1d;
            --mamma: #ff4d6d;
            --little: #00d2ff;
            --trattoria: #00ff87;
            --text-main: #f8fafc;
            --text-dim: #94a3b8;
            --border-glass: rgba(255, 255, 255, 0.08);
        }
        .btn-noz {
            background-color: var(--noz-green);
            color: #000;
            font-weight: 600;
            border: none;
        }
        .bonus-badge {
            font-size: 0.65rem;
            background: rgba(7, 255, 26, 0.1);
            color: var(--noz-green);
            padding: 2px 8px;
            border-radius: 20px;
            border: 1px solid rgba(7, 255, 26, 0.2);
            font-weight: 600;
            vertical-align: middle;
        }
        .btn-noz:hover {
            background-color: #06e016;
            color: #000;
        }

        /* Switches & Permissões */
        .module-row {
            padding: 12px;
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .module-row:last-child { border-bottom: none; }


        #sidebar {
            width: var(--sidebar-width);
            height: 100vh;
            position: fixed;
            left: 0;
            top: 0;
            background: #1a1d1d;
            border-right: 1px solid rgba(255,255,255,0.1);
            z-index: 1040;
            transition: all 0.3s;
            display: flex;
            flex-direction: column;
        }

        .sidebar-header {
            padding: 20px;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .sidebar-menu {
            padding: 15px 0;
            flex-grow: 1;
        }

         #main-content {
            /*margin-left: var(--sidebar-width);*/
            padding-top: 20px;
            min-height: 100vh;
            transition: all 0.3s;
        }
        #sidebar-overlay{
            position: fixed;
            background: rgba(0,0,0,0.7);
            backdrop-filter: blur(2px);
            z-index: 1030;
            left: 0;
        }
        /*#sidebar-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(0,0,0,0.7);
            backdrop-filter: blur(2px);
            z-index: 1040;
        }*/

        /* Ajustes para Celular (Mobile First) */
        @media (max-width: 992px) {
            #sidebar {
                transform: translateX(-100%);
            }
            #sidebar.show {
                transform: translateX(0);
                display: flex !important;
            }
            #main-content {
                margin-left: 0;
            }
            #sidebar-overlay.show {
                display: block;
            }
            .calendar-grid {
                grid-template-columns: repeat(2, 1fr) !important;
            }
        }

.calendar-container {
            max-width: 1600px;
            margin: 20px auto;
            padding: 0 20px;
        }

        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 10px;
        }

        .weekday-cell {
            text-align: center;
            color: var(--text-dim);
            font-size: 0.7rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            padding: 10px 0;
        }

        .day-card {
            background: var(--bg-card);
            border: 1px solid var(--border-glass);
            border-radius: 12px;
            min-height: 160px;
            padding: 10px;
            transition: all 0.2s ease;
            cursor: pointer;
            position: relative;
            display: flex;
            flex-direction: column;
        }

        .day-card:hover {
            border-color: var(--accent-primary);
            background: rgba(255,255,255,0.02);
        }

        .day-card.selected {
            background: rgba(99, 102, 241, 0.1);
            border: 2px solid var(--accent-primary);
        }

        .day-number {
            font-size: 1rem;
            font-weight: 800;
            margin-bottom: 8px;
            color: var(--text-dim);
        }

        /* Badge de Seleção Múltipla */
        .select-indicator {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 18px;
            height: 18px;
            border: 2px solid var(--border-glass);
            border-radius: 4px;
            display: none;
        }
        .multi-mode-active .select-indicator { display: block; }
        .selected .select-indicator {
            background: var(--accent-primary);
            border-color: var(--accent-primary);
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
            background-size: 12px;
            background-repeat: no-repeat;
            background-position: center;
        }

        /* Métricas Sempre Visíveis */
        .metric-block {
            margin-bottom: 6px;
            padding-bottom: 4px;
            border-bottom: 1px solid rgba(255,255,255,0.03);
        }
        .metric-block:last-child { border-bottom: none; }

        .metric-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.65rem;
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 2px;
        }

        .metric-values {
            display: flex;
            gap: 8px;
            font-size: 0.75rem;
            font-weight: 500;
        }

        .val-m { color: var(--text-dim); }
        .val-p { color: var(--text-main); font-weight: 700; }

        .progress-mini {
            height: 3px;
            background: rgba(255,255,255,0.05);
            border-radius: 2px;
            margin-top: 3px;
            overflow: hidden;
        }

        /* FAB */
        .fab-edit {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: var(--accent-primary);
            color: white;
            padding: 12px 25px;
            border-radius: 12px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.5);
            display: none;
            z-index: 1000;
            border: none;
            font-weight: 700;
        }

        /* Modal Custom */
        .modal-content {
            background: #111827;
            border: 1px solid var(--border-glass);
            border-radius: 20px;
        }
        .input-group-text { background: rgba(0,0,0,0.2); border: 1px solid var(--border-glass); color: var(--text-dim); }
        .form-control { background: rgba(0,0,0,0.3); border: 1px solid var(--border-glass); color: white; }
        .form-control:focus { background: rgba(0,0,0,0.4); color: white; border-color: var(--accent-primary); box-shadow: none; }






        .nav-link {
            color: #a0a0a0;
            padding: 12px 25px;
            display: flex;
            align-items: center;
            gap: 12px;
            transition: 0.2s;
            border-left: 3px solid transparent;
        }

        .nav-link:hover, .nav-link.active {
            color: var(--noz-green);
            background: rgba(7, 255, 26, 0.05);
            border-left-color: var(--noz-green);
        }

        .nav-link i { font-size: 1.2rem; }


        .kpi-card  {
            border-radius: 12px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
            background-color: var(--bs-body-tertiary); 
            transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
            height: 100%; 
            border: 1px solid var(--bs-border-color-translucent);
            padding: 0.5rem; 
        }
        .chart-container {
            border-radius: 12px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
            background-color: var(--bs-body-tertiary); 
            transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
            height: 100%; 
            /*height: 350px;*/

            border: 1px solid var(--bs-border-color-translucent);
            padding: 1.25rem; 
        }
        
        .kpi-card:hover, .chart-container:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
            /*background-color: var(--bs-body-secondary); */
            background-image:  linear-gradient(135deg, hsl(240 3.7% 15.9%) 0%, hsl(240 5.9% 10%) 100%);
        }
        @media (min-width: 768px){
            .col-5-item {
                flex: 0 0 20%;
                max-width: 20%;
                padding-right: 0.5rem;
                padding-left: 0.5rem;
                margin-top: 1rem;
            }
        }
        .metric-value {
            font-size: 2rem;
            font-weight: 600;
        }
        .metric-value2 {
            font-size: 1.2rem;
            font-weight: 600;
        }
        .filter-header {
            /*border-radius: 12px;*/
            padding-left: 15px;
        }
        .list-type-none{
            list-style-type: none;
            padding: 0;
        }


        .gauge-center-text {
            bottom: 0; 
            transform: translateY(-30%); 
        }
        
        #salesByHourChart {
            max-height: 270px;
        }
        #hourlyGoalVsSalesChart {
            max-height: 300px;
            height: 300px;
        }

        #projecaoxFaturamentoGrafBarra {
            max-height: 300px;
            height: 300px;
        }

         #origem-deliveryGraf {
            max-height: 160px;
        }
         
        .variation {
            font-size: 1rem;
            font-weight: 600;
            margin-top: 5px;
        }
        
        /* Ajuste visual para o select múltiplo */
        .form-select[multiple] {
            height: auto;
        }
        .form-control:focus {
            --tw-ring-color: #4f46e5; /* Índigo */
            border-color: #4f46e5;
            box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.5);
            outline: none;
        }

        .login-card {
            background-color: var(--card-bg); 
            color: var(--text-color); 
            border-radius: 1.25rem; /* Mais arredondado */
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.7), 0 0 15px var(--glow-color); /* Sombra + Glow */
            border: 1px solid rgba(106, 90, 205, 0.2); /* Borda sutil */
            transition: transform 0.3s ease-in-out;
            max-width: 400px;
        }

        .login-card:hover {
            transform: translateY(-3px); /* Efeito flutuante suave */
        }

        #dtContabil{
            text-align: right;
        }

        .inner.show{
            max-width: 270px;
        }

        .btn-block{
            width: 100%;
            max-width: 300px;
        }


        .group-Funcionario-cancelamento{
            border: 1px solid;
            border-radius: 5px;
            /*padding: 5px;*/
            margin-bottom: 10px;
        }

        #faturamento-turno {
            
            max-height: 80px;
        }

         @media (max-width: 768px){
             .group-Funcionario-cancelamento table{
                font-size: small;
             }
              #faturamento-turno{
                max-height: 160px;
            }
        }

        .sub-group-header{
            background-color: #29bda742;
            padding: 5px;
            border-radius: 5px;
        }

        .accordion-body{
            padding:3px!important;
        }
        #filtros div{
            margin-right:10px;
        }

       

@media screen and (max-width: 767px) {
            
            /* 1. Esconde o cabeçalho da tabela */
            .table-dark-custom thead {
                display: none;
            }

            /* 2. Transforma as linhas (tr) em blocos (cartões) */
            .table-dark-custom tr {
                display: block;
                margin-bottom: 1rem;
                border: 1px solid rgba(255, 255, 255, 0.1);
                border-radius: 0.5rem;
                /*background-color: var(--bs-table-bg);*/
            }

            /* 3. Transforma as células de dados (td) em linhas verticais dentro do cartão */
            .table-dark-custom td {
                display: flex;
                align-items: center;
                text-align: left !important; /* Força o alinhamento à esquerda no mobile */
                border: none;
                padding: 0.75rem 1rem;
                position: relative;
                
            }

            /* 4. Injeta o rótulo do cabeçalho usando o atributo 'data-label' */
            .table-dark-custom td::before {
                /* Lê o conteúdo do atributo data-label */
                content: attr(data-label); 
                font-weight: bold;
                color: #adb5bd; /* Cor cinza para o label 
                min-width: 120px; /* Garante que o rótulo ocupe um espaço fixo */
                margin-right: 1rem;
                text-align: left;
            }

            /* Ajuste específico para a barra de progresso, para que o rótulo Performance fique em cima */
            .table-dark-custom td:nth-child(4) { /* O <td> da Performance */
                flex-direction: column;
                align-items: flex-start;
            }
            .table-dark-custom td:nth-child(4) .progress {
                width: 100%;
                margin-top: 0.5rem;
            }
            .table-dark-custom td:nth-child(4)::before {
                margin-bottom: 0.25rem;
                width: 100%;
                min-width: auto;
            }
        }

         