.skip-link{position:absolute;top:-100px;left:0;background:var(--primary);color:#fff;padding:var(--space-md) var(--space-lg);text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 var(--radius-md) 0;transition:top .3s}.skip-link:focus{top:0;outline:3px solid var(--secondary);outline-offset:2px}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:0}.btn:focus-visible,button:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:3px solid var(--secondary);outline-offset:3px;box-shadow:0 0 0 6px rgba(255,107,53,.2)}a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;background-color:rgba(59,130,246,.1);border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(59,130,246,.1)}.nav-link:focus-visible{background-color:var(--bg-light);outline:3px solid var(--primary);outline-offset:2px}.card:focus-visible{outline:3px solid var(--primary);outline-offset:4px;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}@media (prefers-contrast:high){:root{--text-primary:#000000;--text-secondary:#000000;--bg-primary:#FFFFFF;--bg-secondary:#F5F5F5;--border-light:#000000}.btn,button{border:2px solid currentColor}a{text-decoration:underline;text-decoration-thickness:2px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.fade-in,.slide-in,.zoom-in{animation:none!important;opacity:1!important;transform:none!important}}body.keyboard-nav :focus{outline:3px solid var(--primary);outline-offset:2px}body.mouse-nav :focus{outline:0}.btn,a,button,input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}li a,p a{min-height:auto;min-width:auto;padding:var(--space-xs) var(--space-sm);display:inline-block}input[type=checkbox],input[type=radio]{width:24px;height:24px;margin:10px;cursor:pointer}.required::after{content:" *";color:var(--error,#ef4444);font-weight:700;aria-label:"required"}.form-error{border-color:var(--error,#ef4444)!important;background-color:rgba(239,68,68,.05)}.error-message{color:var(--error,#ef4444);font-size:var(--font-size-sm);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.error-message::before{content:"⚠️";font-size:1.2em}.form-success{border-color:var(--success,#10b981)!important;background-color:rgba(16,185,129,.05)}.success-message{color:var(--success,#10b981);font-size:var(--font-size-sm);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.success-message::before{content:"✓";font-size:1.2em;font-weight:700}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading::after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-loading{opacity:.6;pointer-events:none;position:relative}.form-loading::before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:.8s linear infinite spin;z-index:10}.btn:disabled,button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.text-contrast-high{color:#000;background-color:#fff}.text-contrast-inverse{color:#fff;background-color:#000}a{text-decoration-thickness:1px;text-underline-offset:2px}a:focus,a:hover{text-decoration-thickness:2px}aside[role=complementary],footer[role=contentinfo],header[role=banner],main[role=main],nav[role=navigation],section[role=region]{position:relative}@media print{.skip-link,.sr-only{position:static;width:auto;height:auto;overflow:visible;clip:auto}a[href]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}.skip-link[href]::after,a[href^="#"]::after{content:""}}