.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-visible :focus,.focus-visible :focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid}.focus-visible :focus:not(:focus-visible){outline:none}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reduced-motion .animate-spin,.reduced-motion .animate-pulse,.reduced-motion .animate-bounce,.reduced-motion .animate-fade-in,.reduced-motion .animate-slide-in,.reduced-motion .animate-zoom-in{transition:none!important;animation:none!important}.touch-mode button,.touch-mode input,.touch-mode select,.touch-mode textarea,.touch-mode a,.touch-mode [role=button]{min-width:44px;min-height:44px;margin:4px;padding:8px 16px}.touch-mode .touch-target{min-width:48px;min-height:48px;padding:12px 20px}.touch-mode input[type=checkbox],.touch-mode input[type=radio]{min-width:44px;min-height:44px;margin:8px;transform:scale(1.5)}.focus-visible button:focus,.focus-visible input:focus,.focus-visible select:focus,.focus-visible textarea:focus,.focus-visible a:focus,.focus-visible [tabindex]:focus{outline:3px solid var(--ring);outline-offset:2px;border-radius:4px}.focus-visible button:focus:not(:focus-visible),.focus-visible input:focus:not(:focus-visible),.focus-visible select:focus:not(:focus-visible),.focus-visible textarea:focus:not(:focus-visible),.focus-visible a:focus:not(:focus-visible),.focus-visible [tabindex]:focus:not(:focus-visible){outline:none}.skip-links{z-index:9999;position:fixed;top:0;left:0}.skip-links button{background:var(--primary);color:var(--primary-foreground);border:2px solid var(--border);border-radius:4px;padding:8px 16px;font-weight:700;text-decoration:none;transition:top .3s;position:absolute;top:-40px;left:6px}.skip-links button:focus{top:6px}@media (prefers-reduced-data:reduce){.text-base{font-size:1.125rem}.text-sm{font-size:1rem}.text-lg{font-size:1.25rem}}@media print{.sr-only-print{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a[href]:after{content:" (" attr(href)")";color:#666;font-size:.8em}.no-print{display:none!important}}.colorblind-friendly{--primary:#06c;--secondary:#080;--destructive:#c00;--warning:#f80;--success:#080}.keyboard-nav :focus{outline:2px solid var(--ring);outline-offset:2px}.keyboard-nav [role=button]:focus,.keyboard-nav button:focus,.keyboard-nav a:focus{background-color:var(--accent);color:var(--accent-foreground)}.error-indicator{border:2px solid var(--destructive)!important;background-color:var(--destructive)!important;color:var(--destructive-foreground)!important}.success-indicator{border:2px solid var(--success)!important;background-color:var(--success)!important;color:var(--success-foreground)!important}.warning-indicator{border:2px solid var(--warning)!important;background-color:var(--warning)!important;color:var(--warning-foreground)!important}.loading-indicator{position:relative;overflow:hidden}.loading-indicator:after{content:"";background:linear-gradient(90deg,transparent,var(--muted),transparent);width:100%;height:100%;animation:1.5s infinite loading;position:absolute;top:0;left:-100%}@keyframes loading{0%{left:-100%}to{left:100%}}.reduced-motion .loading-indicator:after{background:var(--muted);animation:none;left:0}@media (max-width:768px){.touch-mode button,.touch-mode input,.touch-mode select,.touch-mode textarea{min-width:48px;min-height:48px;margin:8px;padding:12px 20px}}@media (prefers-reduced-motion:reduce){.reduced-motion{scroll-behavior:auto}.reduced-motion *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
