.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-focusable:focus{position:absolute;width:auto;height:auto;padding:.5rem 1rem;margin:0;overflow:visible;clip:auto;white-space:normal;z-index:9999;top:1rem;left:1rem;background:hsl(var(--background));color:hsl(var(--foreground));border:2px solid hsl(var(--ring));border-radius:.375rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.focus-enhanced:focus{outline:3px solid hsl(var(--ring));outline-offset:3px;border-radius:.375rem;box-shadow:0 0 0 1px hsl(var(--background)),0 0 0 4px hsla(var(--ring)/.3)}.focus-enhanced:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px;border-radius:.375rem;box-shadow:0 0 0 1px hsl(var(--background)),0 0 0 4px hsla(var(--ring)/.3)}.focus-button:focus,.focus-button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px;box-shadow:0 0 0 1px hsl(var(--background))}.focus-input:focus,.focus-input:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:1px;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}.focus-link:focus,.focus-link:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.focus-high-contrast:focus{outline:3px solid hsl(var(--ring));outline-offset:3px;box-shadow:0 0 0 5px hsla(var(--ring)/.3)}.focus-trap{position:relative}.focus-trap:focus-within{outline:2px solid hsl(var(--ring));outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px 16px;text-decoration:none;border-radius:0 0 4px 4px;z-index:10000;font-weight:600;font-size:14px;transition:top .2s ease}.skip-link:focus{top:0;outline:2px solid hsl(var(--ring));outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast:high){.focus-enhanced:focus,.focus-enhanced:focus-visible{outline:3px solid;outline-offset:3px}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:3px solid;outline-offset:2px}}.touch-target{min-height:44px;min-width:44px}.touch-target-large{min-height:48px;min-width:48px}.keyboard-nav-active [tabindex]:focus,.keyboard-nav-active a:focus,.keyboard-nav-active button:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.contrast-aa,.contrast-aa-large,.contrast-aaa{color:hsl(var(--foreground));background:hsl(var(--background))}.live-region{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.announcement-overlay{position:fixed;top:1rem;right:1rem;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);z-index:9998;max-width:320px}.interactive-element{cursor:pointer;transition:all .2s ease}.interactive-element:hover{transform:translateY(-1px)}.interactive-element:active{transform:translateY(0)}.interactive-element:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.interactive-element:disabled{cursor:not-allowed;opacity:.5}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:1px;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}[role=button]:focus,[role=button]:focus-visible,button:focus,button:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px;box-shadow:0 0 0 1px hsl(var(--background))}[role=link]:focus,[role=link]:focus-visible,a:focus,a:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}[tabindex]:focus,[tabindex]:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}@supports (outline-color:CanvasText){[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-color:CanvasText}}table th{text-align:left;font-weight:600}table th[scope=col]{background:hsl(var(--muted))}table th[scope=row]{background:hsl(var(--muted)/.5)}.form-error{color:hsl(var(--destructive));font-size:.875rem;margin-top:.25rem}.form-error:before{content:"⚠ ";font-weight:700}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:hsl(var(--destructive));outline-color:hsl(var(--destructive))}.progress-announcer{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.modal-backdrop{background:rgba(0,0,0,.5);position:fixed;inset:0;z-index:50}.modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:51;max-height:90vh;overflow-y:auto}.modal-content:focus{outline:none}.tooltip{background:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);z-index:60}.breadcrumb-separator:before{content:"/";margin:0 .5rem;color:hsl(var(--muted-foreground))}.breadcrumb-current{color:hsl(var(--foreground));font-weight:600}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted)/.5) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:loading-skeleton 1.5s infinite}@keyframes loading-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.no-print{display:none!important}a:after{content:" (" attr(href) ")";font-size:.8em;color:#666}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}}.js-focus-visible :focus:not(.focus-visible){outline:none}.wcag-focus-indicator{--focus-outline-width:3px;--focus-outline-offset:2px;--focus-outline-color:hsl(var(--ring))}.wcag-focus-indicator:focus,.wcag-focus-indicator:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}[aria-disabled=true]:focus,[disabled]:focus{outline:none!important;box-shadow:none!important}[aria-invalid=true]:focus,[aria-invalid=true]:focus-visible{outline:3px solid hsl(var(--destructive));outline-offset:1px;box-shadow:0 0 0 1px hsl(var(--destructive))}input[type=checkbox]:focus,input[type=radio]:focus{outline:3px solid hsl(var(--ring));outline-offset:2px;box-shadow:none}:focus{outline:revert}.focus-managed:focus{outline:none}.focus-managed:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}@media (max-width:768px){.responsive-text{font-size:1.125rem;line-height:1.75}}@media (min-width:769px){.responsive-text{font-size:1rem;line-height:1.5}}