.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.high-contrast{--background:hsl(0 0% 100%);--foreground:hsl(0 0% 0%);--card:hsl(0 0% 100%);--card-foreground:hsl(0 0% 0%);--popover:hsl(0 0% 100%);--popover-foreground:hsl(0 0% 0%);--primary:hsl(0 0% 0%);--primary-foreground:hsl(0 0% 100%);--secondary:hsl(0 0% 90%);--secondary-foreground:hsl(0 0% 0%);--muted:hsl(0 0% 90%);--muted-foreground:hsl(0 0% 0%);--accent:hsl(0 0% 90%);--accent-foreground:hsl(0 0% 0%);--destructive:hsl(0 84% 60%);--destructive-foreground:hsl(0 0% 100%);--border:hsl(0 0% 0%);--input:hsl(0 0% 90%);--ring:hsl(0 0% 0%)}.high-contrast .bg-gradient-to-r{background:var(--primary)!important}.high-contrast .text-transparent{color:var(--foreground)!important;background:transparent!important;-webkit-background-clip:unset!important;background-clip:unset!important}.reduced-motion *,.reduced-motion :after,.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.font-large{font-size:110%}.font-extra-large{font-size:125%}:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}[role=button]:focus-visible,[role=link]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px;box-shadow:0 0 0 1px hsl(var(--background))}.skip-link{position:absolute;top:-40px;left:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px;text-decoration:none;border-radius:4px;z-index:1000;font-weight:600}.skip-link:focus{top:6px}.high-contrast .badge{border:2px solid hsl(var(--border));font-weight:600}.badge-dark{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.badge-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.badge-warning{background-color:hsl(45 93% 47%);color:hsl(0 0% 100%)}.progress-bar{background-color:hsl(var(--muted));border:1px solid hsl(var(--border))}.progress-bar-fill{background-color:hsl(var(--primary))}.high-contrast .progress-bar-fill{background-color:hsl(var(--foreground))}.loading-skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted-foreground)/.1) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:loading 1.5s infinite}.reduced-motion .loading-skeleton{background:hsl(var(--muted));animation:none}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:640px){.font-large{font-size:115%}.font-extra-large{font-size:135%}}@media (max-width:768px){.touch-target,[role=button],[role=link],a,button,input,select,textarea{min-height:44px;min-width:44px}.touch-target{display:flex;align-items:center;justify-content:center}}.error-state{border-color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.1)}.success-state{border-color:hsl(142 76% 36%);background-color:hsl(142 76% 36%/.1)}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:hsl(var(--foreground))}.form-description{font-size:.875rem;color:hsl(var(--muted-foreground))}.form-error{font-size:.875rem;color:hsl(var(--destructive));font-weight:500}.modal-overlay{background-color:hsl(var(--background)/.8);backdrop-filter:blur(4px)}.reduced-motion .modal-overlay{backdrop-filter:none}.heading-1{font-size:2.25rem;font-weight:800}.heading-2{font-size:1.875rem;font-weight:700}.heading-3{font-size:1.5rem;font-weight:600}.heading-4{font-size:1.25rem;font-weight:600}.heading-5{font-size:1.125rem;font-weight:500}.heading-6{font-size:1rem;font-weight:500}@media print{.no-print{display:none!important}*{background:white!important;color:black!important;box-shadow:none!important}a{text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")"}}