/* assets/css/style.css */
/* Additional Custom Styles */

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    .print-only {
        display: block !important;
    }
    
    body {
        font-size: 12px;
    }
    
    .card {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }
}

/* Loading Spinner */
.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* ID Card Styles */
.id-card {
    width: 320px;
    height: 200px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 10px;
    padding: 15px;
    color: white;
}

/* Fee Receipt */
.receipt {
    font-family: 'Courier New', monospace;
    border: 1px dashed #000;
    padding: 20px;
}

/* Timetable Grid */
.timetable-grid td {
    height: 60px;
    vertical-align: top;
    padding: 5px;
    border: 1px solid #dee2e6;
}

.timetable-grid td:hover {
    background-color: #f8f9fa;
}

/* Attendance Colors */
.present { color: #1cc88a; }
.absent { color: #e74a3b; }
.late { color: #f6c23e; }
.holiday { color: #858796; }

/* Responsive Tables */
@media (max-width: 768px) {
    .table-responsive {
        font-size: 12px;
    }
    
    .sidebar {
        position: fixed;
        z-index: 1000;
        width: 250px;
        transform: translateX(-100%);
        transition: transform 0.3s;
    }
    
    .sidebar.show {
        transform: translateX(0);
    }
}