:root{--color-saga-green-primary:#2D5A3D;--color-saga-green-secondary:#4A7C59;--color-saga-green-success:#22C55E;--color-saga-yellow-warning:#F59E0B;--color-saga-red-error:#EF4444;--color-saga-gray-50:#F8FAFC;--color-saga-gray-100:#F1F5F9;--color-saga-gray-200:#E2E8F0;--color-saga-gray-300:#CBD5E1;--color-saga-gray-400:#94A3B8;--color-saga-gray-500:#64748B;--color-saga-gray-600:#475569;--color-saga-gray-700:#334155;--color-saga-gray-800:#1E293B;--color-saga-gray-900:#0F172A;--font-size-display:3rem;--line-height-display:3.5rem;--font-size-h1:2.25rem;--line-height-h1:2.75rem;--font-size-h2:1.875rem;--line-height-h2:2.25rem;--font-size-h3:1.5rem;--line-height-h3:2rem;--font-size-h4:1.25rem;--line-height-h4:1.75rem;--font-size-body-large:1.125rem;--line-height-body-large:1.75rem;--font-size-body:1rem;--line-height-body:1.5rem;--font-size-body-small:0.875rem;--line-height-body-small:1.25rem;--font-size-caption:0.75rem;--line-height-caption:1rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-24:6rem;--radius-small:0.375rem;--radius-medium:0.75rem;--radius-large:1rem;--radius-full:9999px;--shadow-small:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-medium:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-large:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-elevated:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--card-background:white;--card-border:var(--color-saga-gray-200);--card-shadow:var(--shadow-small);--card-shadow-hover:var(--shadow-medium);--button-primary-bg:var(--color-saga-green-primary);--button-primary-hover:var(--color-saga-green-secondary);--button-primary-text:white;--button-secondary-border:var(--color-saga-green-primary);--button-secondary-text:var(--color-saga-green-primary);--button-secondary-hover-bg:var(--color-saga-gray-50);--input-border:var(--color-saga-gray-300);--input-focus-border:var(--color-saga-green-primary);--input-background:white;--badge-success-bg:var(--color-saga-green-success);--badge-warning-bg:var(--color-saga-yellow-warning);--badge-error-bg:var(--color-saga-red-error);--badge-neutral-bg:var(--color-saga-gray-500)}.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}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--color-primary-foreground);padding:8px 16px;text-decoration:none;border-radius:4px;z-index:1000;font-weight:600;transition:top .2s ease-in-out}.skip-link:focus{top:6px}.focus-visible-ring{outline:none}.focus-visible-ring:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast:high){.high-contrast-border{border:2px solid!important}.high-contrast-text{color:black!important;font-weight:700!important}.high-contrast-bg,.high-contrast-button{background-color:white!important}.high-contrast-button{color:black!important;border:2px solid black!important}}@media (prefers-reduced-motion:reduce){.motion-reduce-safe{scroll-behavior:auto!important}*,.motion-reduce-safe{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.touch-target{min-height:44px;min-width:44px}.touch-target-large{min-height:48px;min-width:48px}.font-size-standard{font-size:1rem;line-height:1.5}.font-size-large{font-size:1.125rem;line-height:1.6}.font-size-extra-large{font-size:1.25rem;line-height:1.7}.contrast-safe-text{color:var(--color-foreground);background-color:var(--color-background)}.contrast-safe-inverse{color:var(--color-background);background-color:var(--color-foreground)}.focus-trap{position:relative}.focus-trap:focus{outline:none}.live-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.live-region.visible{position:static;width:auto;height:auto;overflow:visible}.error-indicator{color:var(--color-destructive);font-weight:600}.success-indicator{color:var(--color-success);font-weight:600}.warning-indicator{color:var(--color-warning);font-weight:600}.form-field-error{border-color:var(--color-destructive);box-shadow:0 0 0 1px var(--color-destructive)}.form-field-error:focus{outline:2px solid var(--color-destructive);outline-offset:2px}.required-indicator:after{content:" *";color:var(--color-destructive);font-weight:700}.interactive-element{cursor:pointer;transition:all .2s ease-in-out}.interactive-element:hover{opacity:.8}.interactive-element:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.interactive-element:disabled{cursor:not-allowed;opacity:.5}.keyboard-navigation .focusable:focus{outline:2px solid var(--color-primary);outline-offset:2px}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:50}.modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-background);border-radius:8px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);z-index:51;max-height:90vh;overflow-y:auto}.modal-content:focus{outline:none}.accessible-table{border-collapse:collapse;width:100%}.accessible-table td,.accessible-table th{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.accessible-table th{background-color:var(--color-muted);font-weight:600}.accessible-table th[aria-sort]{cursor:pointer}.accessible-table th[aria-sort]:hover{background-color:var(--color-muted-foreground)}.loading-indicator{position:relative;overflow:hidden}.loading-indicator:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}@media (prefers-reduced-motion:reduce){.loading-indicator:after{animation:none}}@media print{.no-print{display:none!important}.print-only{display:block!important}a[href]:after{content:" (" attr(href) ")"}.skip-link{display:none}}@media (prefers-color-scheme:dark){.auto-dark-mode{color-scheme:dark}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.focus-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(45 90 61/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.touch-friendly{min-height:44px;min-width:44px;padding:.5rem}@media (prefers-contrast:more){.high-contrast-safe{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}}@media (prefers-reduced-motion:reduce){.motion-safe{animation:none;transition-property:none}}:root{--font-size-multiplier:1}html{font-size:calc(16px * var(--font-size-multiplier))}.high-contrast{filter:contrast(150%) brightness(110%)}.high-contrast *{border-color:#000!important}.high-contrast button,.high-contrast input,.high-contrast select,.high-contrast textarea{background:#fff!important;color:#000!important;border:2px solid #000!important}.high-contrast a{color:#0000ff!important;text-decoration:underline!important}.high-contrast a:visited{color:#800080!important}.reduced-motion *,.reduced-motion :after,.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.screen-reader-optimized :focus{outline:3px solid #005fcc!important;outline-offset:2px!important}.screen-reader-optimized a:focus,.screen-reader-optimized button:focus,.screen-reader-optimized input:focus,.screen-reader-optimized select:focus,.screen-reader-optimized textarea:focus{box-shadow:0 0 0 3px rgba(0,95,204,.3)!important}.font-size-standard{--font-size-multiplier:1}.font-size-large{--font-size-multiplier:1.125}.font-size-extra-large{--font-size-multiplier:1.25}