/* Base styles */
body {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Accessibility focus styles */
a:focus, button:focus, input:focus, textarea:focus, select:focus {
    outline: 3px solid #3b82f6;
    outline-offset: 2px;
}

/* Skip to content link for keyboard users */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #3b82f6;
    color: white;
    padding: 8px;
    z-index: 100;
    transition: top 0.3s;
}

.skip-link:focus {
    top: 0;
}

/* High contrast improvements */
@media (prefers-contrast: more) {
    body {
        color: #000;
    }
    
    .bg-blue-600 {
        background-color: #1a56db !important;
    }
    
    .text-blue-800 {
        color: #1e40af !important;
    }
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
        color: #000;
    }
    
    a::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        font-weight: normal;
    }
}