pre { 
    background: #1e1e1e; 
    color: #d4d4d4; 
    padding: 15px; 
    border-radius: 5px; 
    max-height: 500px; 
    overflow: auto; 
}
.stat-card { 
    transition: transform 0.2s; 
}
.stat-card:hover { 
    transform: translateY(-5px); 
}
.chart-container { 
    position: relative; 
    height: 300px; 
}

/* Styles pour la page de connexion */
body.login-page {
    background: linear-gradient(135deg, #ff6b35 0%, #4a90e2 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.login-card {
    max-width: 450px;
    width: 100%;
    box-shadow: 0 15px 50px rgba(0,0,0,0.3);
    border-radius: 15px;
    border: none;
    margin: 0 auto;
}
.login-card .card-body {
    background: #ffffff;
    border-radius: 15px;
}
.login-card h2 {
    color: #ff6b35;
    font-weight: bold;
}
.login-card .btn-primary {
    background: linear-gradient(135deg, #ff6b35 0%, #4a90e2 100%);
    border: none;
    padding: 12px;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
.login-card .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 107, 53, 0.4);
    background: linear-gradient(135deg, #ff7b45 0%, #5aa0f2 100%);
}
.login-card .form-control:focus {
    border-color: #4a90e2;
    box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25);
}
.login-card .form-label {
    color: #333;
    font-weight: 500;
}

/* Styles pour l'impression */
@media print {
    body {
        background: white !important;
        font-size: 12pt;
    }
    
    .btn, button {
        display: none !important;
    }
    
    .container {
        max-width: 100% !important;
        padding: 0 !important;
    }
    
    .card {
        border: 1px solid #ddd !important;
        page-break-inside: avoid;
        margin-bottom: 15px;
    }
    
    .card-header {
        background: #f8f9fa !important;
        color: #000 !important;
        border-bottom: 2px solid #ddd !important;
    }
    
    .chart-container {
        height: 400px !important;
        page-break-inside: avoid;
        margin-bottom: 20px;
        position: relative;
    }
    
    .chart-container canvas {
        max-width: 100% !important;
        width: 100% !important;
        height: 400px !important;
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        image-rendering: pixelated;
    }
    
    /* Améliorer la qualité d'impression des graphiques */
    .card-body {
        padding: 15px !important;
    }
    
    /* Forcer une meilleure qualité pour les canvas lors de l'impression */
    @media print {
        canvas {
            -webkit-print-color-adjust: exact !important;
            print-color-adjust: exact !important;
            color-adjust: exact !important;
        }
    }
    
    .table {
        font-size: 10pt;
    }
    
    .table thead {
        background: #f8f9fa !important;
        color: #000 !important;
    }
    
    .badge {
        border: 1px solid #000 !important;
        color: #000 !important;
        background: transparent !important;
    }
    
    .stat-card {
        border: 1px solid #ddd !important;
        page-break-inside: avoid;
    }
    
    .stat-card h2 {
        font-size: 24pt;
    }
    
    .stat-card h5 {
        font-size: 12pt;
    }
    
    /* Masquer la pagination et la recherche lors de l'impression */
    #searchVisits,
    #visitsPagination,
    #visitsInfo {
        display: none !important;
    }
    
    /* Afficher toutes les visites lors de l'impression */
    #visitsTable tr {
        display: table-row !important;
    }
    
    /* Optimiser les graphiques pour l'impression */
    .row {
        page-break-inside: avoid;
    }
    
    /* En-tête d'impression */
    @page {
        margin: 1.5cm;
        @top-center {
            content: "Visitor Tracker - simdri.com";
            font-size: 10pt;
        }
        @bottom-right {
            content: "Page " counter(page) " sur " counter(pages);
            font-size: 10pt;
        }
    }
    
    /* Masquer les éléments non essentiels */
    .no-print {
        display: none !important;
    }
}

