.high-contrast{--color-primary-50:#000000;--color-primary-100:#1a1a1a;--color-primary-200:#333333;--color-primary-300:#4d4d4d;--color-primary-400:#666666;--color-primary-500:#ffffff;--color-primary-600:#ffffff;--color-primary-700:#ffffff;--color-primary-800:#ffffff;--color-primary-900:#ffffff;--color-neutral-50:#000000;--color-neutral-100:#1a1a1a;--color-neutral-200:#333333;--color-neutral-300:#4d4d4d;--color-neutral-400:#666666;--color-neutral-500:#808080;--color-neutral-600:#cccccc;--color-neutral-700:#e6e6e6;--color-neutral-800:#f2f2f2;--color-neutral-900:#ffffff}.high-contrast,.high-contrast *{background-color:#000000!important;color:#ffffff!important}.high-contrast *{border-color:#ffffff!important}.high-contrast button{background-color:#ffffff!important;color:#000000!important;border:2px solid #ffffff!important}.high-contrast button:hover{background-color:#cccccc!important;color:#000000!important}.high-contrast button:disabled{background-color:#666666!important;color:#333333!important;border-color:#666666!important}.high-contrast input,.high-contrast select,.high-contrast textarea{background-color:#000000!important;color:#ffffff!important;border:2px solid #ffffff!important}.high-contrast input:focus,.high-contrast select:focus,.high-contrast textarea:focus{outline:3px solid #ffffff!important;outline-offset:2px!important}.high-contrast .bg-blue-100,.high-contrast .bg-blue-200,.high-contrast .bg-blue-50{background-color:#000000!important}.high-contrast .bg-blue-600,.high-contrast .bg-blue-700{background-color:#ffffff!important;color:#000000!important}.high-contrast .text-blue-600,.high-contrast .text-blue-700{color:#ffffff!important}.high-contrast .border-gray-200,.high-contrast .border-gray-300{border-color:#ffffff!important}.large-font{font-size:125%}.large-font h1{font-size:3rem;line-height:1.2}.large-font h2{font-size:2.5rem;line-height:1.3}.large-font h3{font-size:2rem;line-height:1.4}.large-font h4{font-size:1.75rem;line-height:1.4}.large-font div,.large-font p,.large-font span{font-size:1.25rem;line-height:1.6}.large-font button{font-size:1.25rem;padding:1rem 2rem;min-height:56px}.large-font input,.large-font select,.large-font textarea{font-size:1.25rem;padding:1rem;min-height:56px}.large-font .text-sm{font-size:1.125rem}.large-font .text-xs{font-size:1rem}.touch-optimized [role=button],.touch-optimized a,.touch-optimized button,.touch-optimized input,.touch-optimized select,.touch-optimized textarea{min-height:44px;min-width:44px;padding:12px 16px}.touch-optimized .touch-target-large [role=button],.touch-optimized .touch-target-large button{min-height:56px;min-width:56px;padding:16px 24px}:focus{outline:3px solid #2563eb;outline-offset:2px}.high-contrast :focus{outline:3px solid #ffffff!important;outline-offset:2px!important}.skip-link{position:absolute;top:-40px;left:6px;background:#000000;color:#ffffff;padding:8px;text-decoration:none;z-index:1000;border-radius:4px}.skip-link:focus{top:6px}.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}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.high-contrast .card{border:3px solid #ffffff!important}.high-contrast .card,.high-contrast .shadow-lg,.high-contrast .shadow-md,.high-contrast .shadow-sm{box-shadow:none!important}.high-contrast .border-red-500,.high-contrast .error,.high-contrast .text-red-600{color:#ffff00!important;border-color:#ffff00!important}.high-contrast .border-green-500,.high-contrast .success,.high-contrast .text-green-600{color:#00ff00!important;border-color:#00ff00!important}.high-contrast .border-yellow-500,.high-contrast .text-yellow-600,.high-contrast .warning{color:#ff8800!important;border-color:#ff8800!important}.rtl{direction:rtl;text-align:right}.rtl .flex{flex-direction:row-reverse}.audio-playing{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;border:2px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.biometric-guide{border:3px dashed #3498db;border-radius:8px;background:rgba(52,152,219,.1)}.high-contrast .biometric-guide{border-color:#ffffff!important;background:rgba(255,255,255,.1)!important}.field-error{border-color:#e74c3c!important;background-color:#fdf2f2!important}.high-contrast .field-error{border-color:#ffff00!important;background-color:#333300!important;color:#ffff00!important}.field-success{border-color:#27ae60!important;background-color:#f0f9f0!important}.high-contrast .field-success{border-color:#00ff00!important;background-color:#003300!important;color:#00ff00!important}@media print{.no-print{display:none!important}*{background:white!important;color:black!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}@media (max-width:768px){.touch-optimized [role=button],.touch-optimized a,.touch-optimized button{min-height:56px;min-width:56px;padding:16px 20px}.large-font{font-size:130%}.large-font button{min-height:64px;padding:20px 24px}}.reduce-motion .animate-pulse,.reduce-motion .animate-spin{animation:none}.reduce-motion .transition-all{transition:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000}.modal-content{position:relative;background:white;border-radius:8px;max-height:90vh;overflow-y:auto}.high-contrast .modal-overlay{background:rgba(255,255,255,.9)!important}.high-contrast .modal-content{background:#000000!important;color:#ffffff!important;border:3px solid #ffffff!important}