:root{--line-height: 1.5}body{line-height:var(--line-height)}body.high-contrast{--contrast-bg: #000000;--contrast-text: #FFFFFF;--contrast-link: #FFFF00;--contrast-border: #FFFFFF}body.high-contrast *{border-color:var(--contrast-border)!important}body.high-contrast,body.high-contrast div,body.high-contrast section,body.high-contrast main,body.high-contrast nav,body.high-contrast header,body.high-contrast footer,body.high-contrast article{background-color:var(--contrast-bg)!important;color:var(--contrast-text)!important}body.high-contrast a,body.high-contrast button{color:var(--contrast-link)!important;border:2px solid var(--contrast-link)!important}body.high-contrast [data-preserve-styles=true],body.high-contrast [data-preserve-styles=true] div,body.high-contrast [data-preserve-styles=true] p,body.high-contrast [data-preserve-styles=true] span,body.high-contrast [data-preserve-styles=true] button,body.high-contrast .notification-dropdown,body.high-contrast .notification-dropdown div,body.high-contrast .notification-dropdown p,body.high-contrast .notification-dropdown span,body.high-contrast .notification-dropdown button{background-color:revert!important;color:revert!important;border-color:revert!important}body.simplified-layout [data-preserve-styles=true],body.simplified-layout [data-preserve-styles=true] *,body.simplified-layout .notification-dropdown,body.simplified-layout .notification-dropdown *{border-radius:revert!important;box-shadow:revert!important}body.high-contrast input,body.high-contrast select,body.high-contrast textarea{background-color:#000!important;color:#fff!important;border:2px solid #FFFFFF!important}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}body.dyslexia-font,body.dyslexia-font *{font-family:OpenDyslexic,Comic Sans MS,Arial,sans-serif!important;letter-spacing:.05em!important;word-spacing:.1em!important}body.large-buttons button,body.large-buttons a,body.large-buttons input[type=submit],body.large-buttons input[type=button]{min-height:48px!important;min-width:48px!important;padding:12px 24px!important;font-size:16px!important}body.large-buttons input[type=checkbox],body.large-buttons input[type=radio]{width:24px!important;height:24px!important}body.focus-highlight *:focus{outline:3px solid #2563EB!important;outline-offset:2px!important}body.focus-highlight *:focus:not(:focus-visible){outline:none!important}body.focus-highlight *:focus-visible{outline:3px solid #2563EB!important;outline-offset:2px!important}body.large-cursor,body.large-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M0 0 L0 24 L6 18 L12 30 L18 27 L12 15 L21 15 Z' fill='black' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 0 0,auto!important}body.x-large-cursor,body.x-large-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M0 0 L0 36 L9 27 L18 45 L27 40.5 L18 22.5 L31.5 22.5 Z' fill='black' stroke='white' stroke-width='3'/%3E%3C/svg%3E") 0 0,auto!important}body.simplified-layout .decorative,body.simplified-layout .non-essential,body.simplified-layout [data-decorative=true]{display:none!important}.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}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;z-index:10000;text-decoration:none}.skip-link:focus{top:0}[data-speaking=true]{outline:3px dashed #10B981!important;outline-offset:2px!important}@media print{body.high-contrast *{background:#fff!important;color:#000!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (prefers-contrast: high){:root{--contrast-bg: #000000;--contrast-text: #FFFFFF}}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}html,body{overflow-x:hidden;max-width:100vw}#root{overflow-x:hidden;max-width:100%}@media (max-width: 768px){.responsive-grid-4,.responsive-grid-3{grid-template-columns:repeat(2,1fr)!important}.responsive-grid-2{grid-template-columns:1fr!important}}@media (max-width: 640px){.responsive-grid-4{grid-template-columns:repeat(2,1fr)!important}.responsive-grid-3,.responsive-grid-2{grid-template-columns:1fr!important}.responsive-flex{flex-direction:column!important}.hide-mobile{display:none!important}.mobile-full-width{width:100%!important;max-width:100%!important}.mobile-padding{padding:16px!important}.mobile-text-center{text-align:center!important}.mobile-stack{flex-direction:column!important;gap:12px!important}main{padding:16px!important}h1{font-size:24px!important;line-height:1.2!important}h2{font-size:20px!important}.card,[class*=Card]{padding:16px!important}section{padding-left:16px!important;padding-right:16px!important}section h1{font-size:28px!important}footer{padding:32px 16px!important}section>div>div[style*="justify-content: space-between"]{flex-direction:column!important;gap:16px!important;text-align:center!important}}@media (max-width: 480px){.responsive-grid-4,.responsive-grid-3{grid-template-columns:1fr!important}h1{font-size:22px!important}}.hide-scrollbar,.nav-scroll-hide{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar,.nav-scroll-hide::-webkit-scrollbar{display:none}@media (max-width: 768px){[style*="overflowX: auto"],[style*="overflow-x: auto"]{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}[data-feature]{scroll-snap-align:start}}@media (min-width: 641px) and (max-width: 1024px){.responsive-grid-4,.responsive-grid-3{grid-template-columns:repeat(2,1fr)!important}.hide-tablet{display:none!important}}@media (max-width: 1024px){.desktop-only{display:none!important}}@media (min-width: 1025px){.mobile-only{display:none!important}}@media (max-width: 640px){.touch-target{min-height:44px!important;min-width:44px!important}}.session-timeout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tour-spotlight{position:relative;z-index:1001;box-shadow:0 0 0 9999px #000000bf;border-radius:8px}.tour-tooltip{position:absolute;background:#fff;padding:20px;border-radius:8px;box-shadow:0 20px 50px #0000004d;max-width:320px;z-index:1002;animation:tooltipSlide .3s ease}@keyframes tooltipSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bellShake{0%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}80%,to{transform:rotate(0)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pulse{animation:pulse 2s infinite}.notification-bell:hover{background:#f0f0f0}.interactive-card{transition:all .2s ease;cursor:pointer}.interactive-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#005ea2!important}.interactive-card:active{transform:translateY(0)}.interactive-card:focus-visible{outline:3px solid #005ea2;outline-offset:2px}.btn-primary{transition:all .15s ease}.btn-primary:hover{background:#004480!important;transform:translateY(-1px);box-shadow:0 4px 12px #005ea24d}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-secondary{transition:all .15s ease}.btn-secondary:hover{background:#e5e7eb!important;border-color:#374151!important}.animated-link{position:relative;text-decoration:none}.animated-link:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:#005ea2;transition:width .3s ease}.animated-link:hover:after{width:100%}.toggle-switch{transition:background .2s ease}.toggle-switch .toggle-knob{transition:transform .2s ease,box-shadow .2s ease}.toggle-switch:hover .toggle-knob{box-shadow:0 2px 8px #0003}input:focus,textarea:focus,select:focus{border-color:#005ea2!important;box-shadow:0 0 0 3px #005ea233!important;outline:none!important}.status-badge{transition:all .2s ease}.status-badge.success{animation:successPulse 2s ease-in-out infinite}@keyframes successPulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 6px #10b98100}}.status-badge.warning{animation:warningPulse 2s ease-in-out infinite}@keyframes warningPulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.modal-enter{animation:modalEnter .2s ease-out}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{animation:backdropFade .2s ease}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.dropdown-enter{animation:dropdownEnter .15s ease-out}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.progress-bar-fill{transition:width .5s ease-out}.progress-bar-animated{background:linear-gradient(90deg,#005ea2,#07c,#005ea2);background-size:200% 100%;animation:progressGradient 2s linear infinite}@keyframes progressGradient{0%{background-position:0% 0%}to{background-position:200% 0%}}.checkmark-animate{animation:checkmarkDraw .3s ease-out forwards}@keyframes checkmarkDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.ripple:active:after{width:200%;height:200%}*:focus-visible{outline:3px solid #005ea2;outline-offset:2px}*:focus:not(:focus-visible){outline:none}@media (prefers-contrast: high){.interactive-card:hover{border-width:3px!important}*:focus-visible{outline-width:4px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.shimmer,.skeleton,.progress-bar-animated{animation:none!important}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.biometric-scan{animation:scan 1.5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.map-marker{animation:bounce 1s ease infinite}.demo-highlight{position:relative!important;z-index:100!important;box-shadow:0 0 0 3px #7c3aed99,0 0 12px #7c3aed33!important;border-radius:8px!important;animation:demo-glow-global 1.5s ease-in-out infinite!important;transition:box-shadow .3s ease,transform .3s ease!important;transform:scale(1.01)}@keyframes demo-glow-global{0%,to{box-shadow:0 0 0 3px #7c3aed99,0 0 12px #7c3aed33}50%{box-shadow:0 0 0 5px #7c3aed66,0 0 20px #7c3aed4d}}@media (max-width: 640px){.demo-panel{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;bottom:90px!important}.demo-toggle-container{left:12px!important;bottom:12px!important}.demo-toggle{padding:12px 18px!important;font-size:13px!important}}.upload-dropzone{transition:all .2s ease}.upload-dropzone.dragging{border-color:#3b82f6!important;background:#3b82f61a!important}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOut{0%{transform:translate(0)}to{transform:translate(-100%)}}body.simplified-layout{font-size:16px!important;line-height:1.6!important}body.simplified-layout main{max-width:900px!important;margin:0 auto!important;padding:24px!important}body.simplified-layout .responsive-grid-4,body.simplified-layout .responsive-grid-3,body.simplified-layout .responsive-grid-2{display:flex!important;flex-direction:column!important;gap:16px!important}body.simplified-layout *,body.simplified-layout *:before,body.simplified-layout *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body.simplified-layout .card{border-radius:4px!important;box-shadow:none!important;border:1px solid #d1d5db!important}body.simplified-layout [style*=linear-gradient]{background-image:none!important}body.simplified-layout h1{font-size:28px!important}body.simplified-layout h2{font-size:22px!important}body.simplified-layout h3{font-size:18px!important}body.simplified-layout footer{position:relative!important;margin-top:48px!important}body.simplified-layout [style*="grid-template-columns: 240px"]{display:grid!important;grid-template-columns:240px 1fr!important}@media (max-width: 768px){body.simplified-layout [style*="grid-template-columns: 240px"]{display:flex!important;flex-direction:column!important;gap:16px!important}}[data-preserve-styles=true]{isolation:isolate}@media (max-width: 768px){.notification-dropdown{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;width:100%!important;max-width:100%!important;max-height:70vh!important;border-radius:16px 16px 0 0!important;border:none!important}}@media print{.no-print,nav,button,.notification-bell,.ai-assistant,.prototype-banner,.skip-link,.toast-container,.mobile-menu{display:none!important}.print-only{display:block!important}body{background:#fff!important;color:#000!important;font-size:12pt!important;line-height:1.5!important}*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}main{max-width:100%!important;padding:0!important;margin:0!important}a[href]:after{content:" (" attr(href) ")";font-size:10pt;color:#666!important}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}h1,h2,h3{page-break-after:avoid}img,table,figure{page-break-inside:avoid}.card,[class*=Card]{border:1px solid #ccc!important;padding:12pt!important;margin-bottom:12pt!important;page-break-inside:avoid}@page{margin:.5in}.print-header{display:block!important;text-align:center;padding:12pt 0;border-bottom:2px solid black;margin-bottom:12pt}.print-header h1{font-size:18pt;margin:0}.print-header p{font-size:10pt;margin:4pt 0 0}.print-footer{display:block!important;position:fixed;bottom:0;left:0;right:0;text-align:center;font-size:9pt;padding:8pt 0;border-top:1px solid #ccc}}
