/* css/style.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --primary-color: #667eea;
    --secondary-color: #764ba2;
    --success-color: #10b981;
    --error-color: #ef4444;
    --warning-color: #f59e0b;
}

body { 
    font-family: 'Inter', sans-serif; 
    line-height: 1.6;
}

.gradient-bg { 
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%); 
    min-height: 100vh;
}

.card-shadow { 
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 
}

.result-card { 
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%); 
}

.loading-spinner {
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top: 4px solid white;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.print-only { 
    display: none; 
}

@media print {
    .no-print { 
        display: none !important; 
    }
    
    body { 
        background: white !important; 
        font-size: 12pt;
    }
    
    .result-card { 
        box-shadow: none !important; 
        margin: 0 !important; 
        padding: 0 !important;
    }
    
    .print-only { 
        display: block !important; 
    }
    
    .container { 
        padding: 0 !important; 
        max-width: 100% !important;
    }
    
    .page-break {
        page-break-after: always;
    }
    
    /* Hide school info in print */
    .school-info {
        display: none !important;
    }
    
    /* Ensure result is properly formatted for print */
    .result-content {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Focus styles for accessibility */
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--secondary-color);
}

/* PDF specific styles */
.pdf-container {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #000000 !important;
    background: #ffffff !important;
}

.pdf-table {
    border: 2px solid #000000 !important;
    border-collapse: collapse !important;
}

.pdf-table th,
.pdf-table td {
    border: 1px solid #000000 !important;
    padding: 8px 12px !important;
    color: #000000 !important;
    font-weight: 500 !important;
}

.pdf-table th {
    background-color: #667eea !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}