:root{--primary-color: #dc2626;--primary-dark: #991b1b;--primary-light: #ef4444;--secondary-color: #1a1a1a;--secondary-light: #333333;--secondary-dark: #000000;--background-primary: #ffffff;--background-secondary: #f8f9fa;--background-tertiary: #e9ecef;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #666666;--border-color: #dee2e6;--border-light: #f1f3f4;--border-dark: #adb5bd;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--border-radius-sm: .25rem;--border-radius: .375rem;--border-radius-lg: .5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 3rem;--breakpoint-mobile: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop: 1200px;--touch-target-min: 44px;--touch-target-recommended: 48px;--success-color: #16a34a;--warning-color: #d97706;--error-color: #dc2626;--info-color: #2563eb}.dark-theme{--primary-color: #f87171;--primary-dark: #dc2626;--primary-light: #fca5a5;--secondary-color: #e5e7eb;--secondary-light: #f3f4f6;--secondary-dark: #9ca3af;--background-primary: #111827;--background-secondary: #1f2937;--background-tertiary: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #60a5fa;--border-color: #404040;--border-light: #2d2d2d;--border-dark: #666666;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .3);--shadow: 0 .5rem 1rem rgba(0, 0, 0, .4);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .5)}.light-theme{--primary-color: #dc2626;--primary-dark: #991b1b;--primary-light: #ef4444;--secondary-color: #1a1a1a;--secondary-light: #333333;--secondary-dark: #000000;--background-primary: #ffffff;--background-secondary: #f8f9fa;--background-tertiary: #e9ecef;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #666666;--border-color: #dee2e6;--border-light: #f1f3f4;--border-dark: #adb5bd;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px}body{height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;background-color:var(--background-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.container{width:100%;max-width:1200px;margin:0 auto}button{background:none;border:none;cursor:pointer;font-family:inherit;transition:all .2s ease}button:focus{outline:2px solid var(--primary-color);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.grid-responsive{display:grid;gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width: var(--breakpoint-mobile)){.grid-responsive{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media (min-width: var(--breakpoint-tablet)){.grid-responsive{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}}.container-responsive{width:100%;max-width:var(--breakpoint-desktop);margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: var(--breakpoint-mobile)){.container-responsive{padding:0 var(--spacing-lg)}}@media (min-width: var(--breakpoint-tablet)){.container-responsive{padding:0 var(--spacing-xl)}}.spacing-responsive{margin:var(--spacing-sm)}@media (min-width: var(--breakpoint-mobile)){.spacing-responsive{margin:var(--spacing-md)}}@media (min-width: var(--breakpoint-tablet)){.spacing-responsive{margin:var(--spacing-lg)}}@media (max-width: calc(var(--breakpoint-mobile) - 1px)){.hide-mobile{display:none!important}}@media (min-width: var(--breakpoint-mobile)) and (max-width: calc(var(--breakpoint-tablet) - 1px)){.hide-tablet{display:none!important}}@media (min-width: var(--breakpoint-tablet)){.hide-desktop{display:none!important}}.show-mobile-only{display:block}@media (min-width: var(--breakpoint-mobile)){.show-mobile-only{display:none!important}}.show-tablet-only{display:none}@media (min-width: var(--breakpoint-mobile)) and (max-width: calc(var(--breakpoint-tablet) - 1px)){.show-tablet-only{display:block!important}}.show-desktop-only{display:none}@media (min-width: var(--breakpoint-tablet)){.show-desktop-only{display:block!important}}.sr-only,.sr-only-focusable{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:active,.sr-only-focusable:focus{position:static!important;width:auto!important;height:auto!important;padding:inherit!important;margin:inherit!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.required:after{content:" *";color:var(--error-color);font-weight:700}.skip-link{position:absolute;top:-40px;left:6px;background:var(--background-primary);color:var(--text-primary);padding:8px;text-decoration:none;border-radius:4px;border:2px solid var(--primary-color);z-index:9999}.skip-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}.skip-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.skip-link:focus:not(:focus-visible){outline:none}.skip-link:focus{top:6px}@media (max-width: calc(var(--breakpoint-mobile) - 1px)){.touch-optimized{min-width:var(--touch-target-recommended);min-height:var(--touch-target-recommended);-webkit-tap-highlight-color:rgba(var(--primary-color-rgb, 220, 38, 38),.2);touch-action:manipulation}.touch-optimized:active{transform:scale(.96);transition:transform .1s ease}}.touch-target-large{min-width:var(--touch-target-recommended);min-height:var(--touch-target-recommended)}.extended-touch{position:relative}.extended-touch:before{content:"";position:absolute;inset:-8px;background:transparent;pointer-events:auto}.extended-touch-large{position:relative}.extended-touch-large:before{content:"";position:absolute;inset:-12px;background:transparent;pointer-events:auto}@media (max-width: calc(var(--breakpoint-mobile) - 1px)){button{min-width:var(--touch-target-recommended);min-height:var(--touch-target-recommended);-webkit-tap-highlight-color:rgba(var(--primary-color-rgb, 220, 38, 38),.2);touch-action:manipulation}button:active{transform:scale(.96);transition:transform .1s ease}}.btn-small{position:relative;min-width:var(--touch-target-recommended);min-height:var(--touch-target-recommended)}.btn-small:before{content:"";position:absolute;inset:-12px;background:transparent;pointer-events:auto}
