/* Estilos gerais */
body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body > footer {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.container-fluid.footer-container {
    padding-left: 0;
    padding-right: 0;
}


    .full-width-footer {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }

/* Accordion Styles */
.custom-accordion {
    --bs-accordion-border-color: #dee2e6;
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 0.5rem;
    --bs-accordion-inner-border-radius: calc(0.5rem - 1px);
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 0.75rem;
    --bs-accordion-btn-color: #212529;
    --bs-accordion-btn-bg: #f8f9fa;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-active-color: #0c63e4;
    --bs-accordion-active-bg: #e7f1ff;
}

.custom-accordion .accordion-button {
    font-weight: 500;
    transition: all 0.2s ease;
}

.custom-accordion .accordion-button:not(.collapsed) {
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
    background-color: var(--bs-accordion-active-bg);
    color: var(--bs-accordion-active-color);
}

.custom-accordion .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);
    border-color: transparent;
}

.custom-accordion .accordion-item {
    margin-bottom: 0.5rem;
    border-radius: var(--bs-accordion-border-radius) !important;
}

.custom-accordion .accordion-body {
    padding: 1.25rem;
}

/* Nested accordion style */
.custom-accordion .custom-accordion {
    background-color: rgba(0,0,0,0.02);
    border: 1px solid rgba(0,0,0,0.05);
}

.custom-accordion .custom-accordion .accordion-button {
    background-color: rgba(0,0,0,0.03);
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
}

.custom-accordion .custom-accordion .accordion-body {
    padding: 0.75rem;
}



    .custom-accordion .accordion-button {
        padding: 1rem 1.25rem;
        font-weight: 500;
        background-color: #f8f9fa;
    }
    
    .custom-accordion .accordion-button:not(.collapsed) {
        background-color: #e9ecef;
        color: #212529;
    }
    
    .custom-accordion .accordion-button:after {
        margin-left: 0.5rem;
    }
    
    .custom-accordion .accordion-body {
        padding: 1rem 1.25rem;
    }

    .card-header[data-bs-toggle="collapse"] .toggle-icon {
        transition: transform 0.3s ease;
    }
    .card-header[data-bs-toggle="collapse"].collapsed .toggle-icon {
        transform: rotate(0deg);
    }
    .card-header[data-bs-toggle="collapse"]:not(.collapsed) .toggle-icon {
        transform: rotate(180deg);
    }

.loading-spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.status-select {
    transition: all 0.3s ease;
}

.status-select option[value="pendente"] {
    background-color: #fff3cd;
}

.status-select option[value="preparando"] {
    background-color: #cff4fc;
}

.status-select option[value="pronto"] {
    background-color: #d1e7dd;
}

.fixed-bottom {
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
}

.bg-tipo-entrada { background-color: #ffeeba !important; }
.bg-tipo-principal { background-color: #cfe2ff !important; }
.bg-tipo-bebida { background-color: #d4edda !important; }

/* Cards de resumo */
.card-summary {
    transition: transform 0.3s ease;
}

.card-summary:hover {
    transform: translateY(-5px);
}

/* Listas */
.list-group-item-action {
    transition: all 0.2s ease;
}

.list-group-item-action:hover {
    background-color: #f8f9fa;
}


.card {
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    margin-bottom: 20px;
}

.card:hover {
    transform: translateY(-5px);
}

.mesa-card {
    cursor: pointer;
    transition: all 0.3s ease;
}

.mesa-card:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

/* Dashboard */
.dashboard-card {
    text-align: center;
    padding: 20px;
}

.dashboard-card i {
    font-size: 2.5rem;
    margin-bottom: 15px;
}

.dashboard-card .card-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.dashboard-card .card-text {
    font-size: 1.5rem;
    font-weight: bold;
}

/* Mesas */
.status-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: bold;
}

/* Comanda */
.comanda-item {
    border-left: 4px solid #0d6efd;
    padding-left: 10px;
    margin-bottom: 10px;
}

.comanda-item.pronto {
    border-left-color: #198754;
    background-color: rgba(25, 135, 84, 0.1);
}

.comanda-item.pendente {
    border-left-color: #fd7e14;
    background-color: rgba(253, 126, 20, 0.1);
}

.comanda-item.cancelado {
    border-left-color: #dc3545;
    background-color: rgba(220, 53, 69, 0.1);
}

/* Responsividade */
@media (max-width: 768px) {
    .dashboard-card {
        margin-bottom: 20px;
    }
}


.test-result {
    background-color: #f8f9fa;
    border-radius: 5px;
    padding: 20px;
    margin-top: 20px;
}

.test-result h4 {
    color: #2c3e50;
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 10px;
}

.test-result table {
    font-size: 14px;
}

.test-result table th {
    width: 30%;
    background-color: #e9ecef;
}

.test-result pre {
    background-color: #f8f9fa;
    padding: 5px;
    border-radius: 3px;
    margin-bottom: 0;
    white-space: pre-wrap;
}

/* Estilo para os badges de status */
.badge-nfce {
    font-size: 0.85em;
    padding: 0.5em 0.75em;
    border-radius: 0.25rem;
    display: inline-flex;
    align-items: center;
}

/* Cores específicas para cada status */
.badge-nfce.bg-success { background-color: #28a745; }
.badge-nfce.bg-danger { background-color: #dc3545; }
.badge-nfce.bg-warning { background-color: #ffc107; color: #212529; }
.badge-nfce.bg-info { background-color: #17a2b8; }
.badge-nfce.bg-secondary { background-color: #6c757d; }

/* Ícones */
.badge-nfce .fas {
    font-size: 0.9em;
}

/* Estilo para o gráfico */
#historicoChart {
    width: 100% !important;
    height: 300px !important;
}

/* Estilos para as diferenças */
.text-success {
    color: #28a745 !important;
    font-weight: bold;
}

.text-danger {
    color: #dc3545 !important;
    font-weight: bold;
}

/* Melhoria na tabela */
#historico-body tr:hover {
    background-color: rgba(0,0,0,0.03);
}
