/**
 * Accessibility Styles for SecureVPN
 * WCAG 2.1 Level AA Compliant
 * Enhanced focus indicators, screen reader support, and improved contrast
 */
*:focus-visible{outline:3px solid #0a2540;outline-offset:2px;border-radius:4px;transition:outline .2s ease-in-out}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid #0a2540;outline-offset:2px;box-shadow:0 0 0 1px #0a2540,0 0 0 4px rgba(10,37,64,.3)}.dark *:focus-visible{outline-color:#00c4ff}.dark button:focus-visible,.dark input:focus-visible,.dark select:focus-visible,.dark textarea:focus-visible,.dark a:focus-visible{outline-color:#00c4ff;box-shadow:0 0 0 1px #00c4ff,0 0 0 4px rgba(0,196,255,.3)}.focus-visible{outline:3px solid #0a2540;outline-offset:2px;border-radius:4px}.dark .focus-visible{outline-color:#00c4ff}.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;background:rgba(255,255,255,.95);border:2px solid #0a2540;border-radius:4px;padding:8px 12px;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:9999}.dark .sr-only:focus{background:rgba(10,37,64,.95);border-color:#00c4ff;color:#fff}.skip-links{position:absolute;top:-40px;left:6px;z-index:1e4}.skip-links:focus-within{top:6px}.skip-link{position:absolute;top:-40px;left:6px;background:#0a2540;color:#fff;padding:8px 16px;text-decoration:none;border-radius:4px;font-weight:600;font-size:14px;z-index:1e4;transition:top .3s ease-in-out;box-shadow:0 2px 8px rgba(0,0,0,.3)}.skip-link:focus{top:6px;outline:3px solid #00c4ff;outline-offset:2px}.skip-link:hover{background:#1a365d}.skip-link:nth-child(2){top:-80px}.skip-link:nth-child(2):focus{top:46px}.skip-link:nth-child(3){top:-120px}.skip-link:nth-child(3):focus{top:86px}.dark .skip-link{background:#00c4ff;color:#0a2540}.dark .skip-link:hover{background:#67e8ff}@media (prefers-contrast:high){*:focus-visible{outline:3px solid currentColor;outline-offset:2px}button,input,select,textarea{border:2px solid currentColor}}@media (prefers-reduced-motion:reduce){*:focus-visible{transition:none}.skip-link{transition:none}[aria-live]{position:absolute;left:-1e4px;width:1px;height:1px;overflow:hidden}}.contrast-enhanced{color:#000}.dark .contrast-enhanced{color:#fff}a:not(.skip-link){text-decoration-thickness:2px;text-underline-offset:2px}a:not(.skip-link):focus-visible{text-decoration:underline;text-decoration-color:#0a2540}.dark a:not(.skip-link):focus-visible{text-decoration-color:#00c4ff}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#0a2540;box-shadow:0 0 0 3px rgba(10,37,64,.1)}.dark input:focus-visible,.dark select:focus-visible,.dark textarea:focus-visible{border-color:#00c4ff;box-shadow:0 0 0 3px rgba(0,196,255,.1)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}input[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}[aria-live]{position:absolute;left:-1e4px;width:1px;height:1px;overflow:hidden}.keyboard-user button,.keyboard-user input,.keyboard-user select,.keyboard-user textarea,.keyboard-user a{}.keyboard-user .focus-indicator{position:relative}.keyboard-user .focus-indicator::before{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid #0a2540;border-radius:6px;pointer-events:none;z-index:1}.dark .keyboard-user .focus-indicator::before{border-color:#00c4ff}@media (max-width:768px){button,.btn,a.btn,input[type=submit],input[type=button]{min-height:48px;min-width:48px}*:focus-visible{outline-width:4px;outline-offset:3px}}@media print{.skip-links,[aria-live],.sr-only{display:none}*:focus-visible{outline:none;box-shadow:none}}.visually-hidden{@extend .sr-only}.skip-to-content{@extend .skip-link}.focus-trap:focus-within{}.announce{position:absolute;left:-1e4px;width:1px;height:1px;overflow:hidden}.error-message{color:#dc2626;font-weight:600;font-size:14px;margin-top:4px}.dark .error-message{color:#fca5a5}.success-message{color:#16a34a;font-weight:600;font-size:14px;margin-top:4px}.dark .success-message{color:#86efac}.loading-indicator{display:inline-block;width:16px;height:16px;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#0a2540;animation:spin 1s ease-in-out infinite}.dark .loading-indicator{border-color:rgba(255,255,255,.2);border-top-color:#00c4ff}@keyframes spin{to{transform:rotate(360deg)}}.accessibility-debug [aria-label]:after,.accessibility-debug [aria-labelledby]:after,.accessibility-debug [aria-describedby]:after{content:attr(aria-label) " [" attr(aria-labelledby) "] {" attr(aria-describedby) "}"display:inline-block;background:rgba(255,0,0,.1);border:1px solid red;padding:2px 4px;margin:0 4px;font-size:10px;color:red;border-radius:2px}.accessibility-debug *:focus-visible{position:relative;z-index:9999}.accessibility-debug *:focus-visible::after{content:counter(focus-order);counter-increment:focus-order;position:absolute;top:-20px;left:-20px;background:red;color:#fff;padding:2px 6px;border-radius:50%;font-size:12px;font-weight:700;z-index:1e4}.accessibility-debug{body{counter-reset:focus-order}}
