@tailwind base;@tailwind components;@tailwind utilities;:root{--primary-color: #002B7F;--secondary-color: #FCD116;--accent-color: #CE1126;--text-primary: #1e293b;--text-secondary: #64748b;--background: #ffffff;--surface: #f8fafc;--border: #e2e8f0;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--text-primary: #f1f5f9;--text-secondary: #94a3b8;--background: #0f172a;--surface: #1e293b;--border: #334155}*{box-sizing:border-box}html{font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:#1d4ed8}.btn{@apply px-4 py-2 rounded-lg font-medium transition-all duration-200;}.btn-primary{@apply bg-primary-600 text-white hover:bg-primary-700 focus:ring-2 focus:ring-primary-500 focus:ring-offset-2;}.btn-secondary{@apply bg-secondary-100 text-secondary-800 hover:bg-secondary-200 focus:ring-2 focus:ring-secondary-500 focus:ring-offset-2;}.btn-outline{@apply border-2 border-primary-600 text-primary-600 hover:bg-primary-600 hover:text-white focus:ring-2 focus:ring-primary-500 focus:ring-offset-2;}.btn-sm{@apply px-3 py-1.5 text-sm;}.btn-lg{@apply px-6 py-3 text-lg;}.card{@apply bg-white rounded-lg shadow-md border border-gray-200 p-6;}.card-header{@apply border-b border-gray-200 pb-4 mb-4;}.card-title{@apply text-xl font-semibold text-gray-900;}.card-subtitle{@apply text-sm text-gray-600 mt-1;}.form-input{@apply block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-primary-500 focus:border-primary-500;}.form-label{@apply block text-sm font-medium text-gray-700 mb-1;}.form-error{@apply text-sm text-red-600 mt-1;}.form-help{@apply text-sm text-gray-500 mt-1;}.spinner{@apply inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full animate-spin;}.chart-container{@apply relative w-full h-96 p-4;}.chart-container.large{@apply h-[500px];}.chart-container.small{@apply h-64;}.map-container{@apply relative w-full h-96 rounded-lg overflow-hidden;}.map-container.fullscreen{@apply h-screen;}.dashboard-grid{@apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6;}.dashboard-main{@apply col-span-full lg:col-span-3;}.dashboard-sidebar{@apply col-span-full lg:col-span-1;}.table-responsive{@apply overflow-x-auto;}.table{@apply min-w-full divide-y divide-gray-200;}.table th{@apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;}.table td{@apply px-6 py-4 whitespace-nowrap text-sm text-gray-900;}.sr-only{@apply absolute w-px h-px p-0 -m-px overflow-hidden clip-rect-0 border-0;}.focus-visible{@apply outline-none ring-2 ring-primary-500 ring-offset-2;}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@media print{.no-print{display:none!important}.print-break{page-break-before:always}}@media (max-width: 768px){.chart-container{@apply h-64;}.dashboard-grid{@apply grid-cols-1 gap-4;}.card{@apply p-4;}}@media (prefers-contrast: high){:root{--border: #000000;--shadow: 0 0 0 1px #000000}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
