:root{--color-primary: #d32f2f;--color-primary-dark: #b71c1c;--color-primary-light: #ffebee;--color-secondary: #1976d2;--color-success: #2e7d32;--color-success-light: #e8f5e9;--color-warning: #e65100;--color-warning-light: #fff3e0;--color-error: #c62828;--color-text-primary: #1a1a1a;--color-text-secondary: #666;--color-text-light: #999;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #fafafa;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--font-family-base: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: .95rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2rem;--breakpoint-mobile: 640px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--min-touch-target: 44px;--container-max-width: 1400px;--container-padding: 1rem}@media (min-width: 768px){:root{--container-padding: 1.5rem}}@media (min-width: 1024px){:root{--container-padding: 2rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;min-height:100vh;font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}html,body{overflow-x:hidden;max-width:100vw}.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}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.responsive-card{background-color:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}@media (min-width: 768px){.responsive-card{padding:var(--spacing-xl)}}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-horizontal{display:flex;gap:var(--spacing-lg);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-horizontal::-webkit-scrollbar{display:none}@media (min-width: 768px){.nav-horizontal{overflow-x:visible}}.grid-responsive{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width: 640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}.btn{min-height:var(--min-touch-target);padding:.75rem 1.5rem;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .3s ease;font-family:var(--font-family-base);font-size:var(--font-size-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #b71c1c4d}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #b71c1c33}@media (hover: none) and (pointer: coarse){.btn:hover{transform:none}.btn:active{opacity:.8;transform:scale(.98)}}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{min-height:var(--min-touch-target);font-size:16px}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button,a,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active,a:active,[role=button]:active{opacity:.9}html{scroll-behavior:smooth}.card-hover,.btn,[data-interactive]{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite;background:linear-gradient(to right,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:1000px 100%;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}body{overscroll-behavior-y:contain}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@keyframes bounce{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-.5rem) translateZ(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-bounce],.bounce-animation{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.touch-active{transform:scale(.97);opacity:.85;transition:transform .15s ease-out,opacity .15s ease-out}.touch-active:not(:active){transform:scale(1);opacity:1}.btn-haptic,button[data-haptic]{position:relative;overflow:hidden}.btn-haptic:active,button[data-haptic]:active{transform:scale(.96);transition:transform .1s ease-out}.btn-haptic:after,button[data-haptic]:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .15s ease-out;pointer-events:none}.btn-haptic:active:after,button[data-haptic]:active:after{opacity:1}.ripple{position:relative;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff6;border-radius:50%;transform:translate(-50%,-50%) translateZ(0);transition:width .4s ease-out,height .4s ease-out,opacity .4s ease-out;opacity:0;pointer-events:none;will-change:width,height,opacity}.ripple:active:before{width:200%;height:200%;opacity:1;transition:width 0ms,height 0ms,opacity 0ms}.ripple-dark:before{background:#00000026}*:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #d32f2f26;transition:outline-offset .15s ease-out,box-shadow .15s ease-out}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #d32f2f33}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:0;box-shadow:0 0 0 4px #d32f2f1a;border-color:var(--color-primary)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.card-interactive,.card-hover,[data-card-interactive]{transition:transform .2s ease-out,box-shadow .2s ease-out,background-color .2s ease-out;cursor:pointer}.card-interactive:hover,.card-hover:hover,[data-card-interactive]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-interactive:active,.card-hover:active,[data-card-interactive]:active{transform:scale(.98) translateY(0);box-shadow:var(--shadow-sm);transition:transform .1s ease-out,box-shadow .1s ease-out}@media (hover: none) and (pointer: coarse){.card-interactive:hover,.card-hover:hover,[data-card-interactive]:hover{transform:none;box-shadow:var(--shadow-sm)}.card-interactive:active,.card-hover:active,[data-card-interactive]:active{transform:scale(.97);background-color:#00000005}}.list-item-interactive,[data-list-interactive],li[role=button],li[tabindex]{transition:background-color .15s ease-out,transform .15s ease-out;cursor:pointer}.list-item-interactive:hover,[data-list-interactive]:hover,li[role=button]:hover,li[tabindex]:hover{background-color:#0000000a}.list-item-interactive:active,[data-list-interactive]:active,li[role=button]:active,li[tabindex]:active{background-color:#00000014;transform:scale(.995);transition:background-color 50ms ease-out,transform 50ms ease-out}@media (hover: none) and (pointer: coarse){.list-item-interactive:active,[data-list-interactive]:active,li[role=button]:active,li[tabindex]:active{background-color:#0000001a}}button,.btn,[role=button],input[type=submit],input[type=button]{transition:transform .15s ease-out,opacity .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}button:active,.btn:active,[role=button]:active,input[type=submit]:active,input[type=button]:active{transform:scale(.97);opacity:.9;transition:transform 50ms ease-out,opacity 50ms ease-out}button:disabled,.btn:disabled,.btn-disabled,[role=button][aria-disabled=true],input[type=submit]:disabled,input[type=button]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:grayscale(30%);box-shadow:none;transform:none!important}button:disabled:hover,.btn:disabled:hover,.btn-disabled:hover{transform:none;box-shadow:none}.btn-disabled-subtle{opacity:.6;background-color:var(--color-bg-secondary)!important;color:var(--color-text-light)!important;border:1px solid var(--color-border)!important;cursor:not-allowed;pointer-events:none}.btn-loading,button[data-loading=true],.loading{position:relative;color:transparent!important;pointer-events:none;cursor:wait}.btn-loading:after,button[data-loading=true]:after,.btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spinner .6s linear infinite;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-origin:center center}.btn-loading-dark:after,button[data-loading=true].btn-secondary:after{border-color:#0003;border-top-color:var(--color-text-primary)}@keyframes btn-spinner{0%{transform:rotate(0) translateZ(0)}to{transform:rotate(360deg) translateZ(0)}}.btn-loading,button[data-loading=true]{opacity:.8;background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-text-light)}.btn-secondary:active{background-color:var(--color-border-light)}.btn-ghost{background-color:transparent;color:var(--color-primary)}.btn-ghost:hover{background-color:var(--color-primary-light)}.btn-ghost:active{background-color:#d32f2f26}.scroll-hint-container{position:relative}.scroll-hint-container:before,.scroll-hint-container:after{content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:1;opacity:0;transition:opacity .2s ease-out}.scroll-hint-container:before{left:0;background:linear-gradient(to right,var(--color-bg-primary) 0%,transparent 100%)}.scroll-hint-container:after{right:0;background:linear-gradient(to left,var(--color-bg-primary) 0%,transparent 100%)}.scroll-hint-container[data-scroll-start=false]:before{opacity:1}.scroll-hint-container[data-scroll-end=false]:after{opacity:1}@media (hover: none) and (pointer: coarse){.scroll-hint-container:after{opacity:.7}}.nav-tabs-scrollable{position:relative;overflow:visible}.nav-tabs-scrollable:after{content:"";position:absolute;right:0;top:0;bottom:0;width:60px;background:linear-gradient(to left,var(--color-bg-primary) 20%,transparent 100%);pointer-events:none;opacity:0;transition:opacity .2s ease-out}.nav-tabs-scrollable.has-overflow:after{opacity:1}.scroll-touch,.table-container,.nav-horizontal,[data-scroll],.overflow-x-auto,.overflow-y-auto,.overflow-auto{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.nav-snap,.tabs-snap{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:none}.nav-snap::-webkit-scrollbar,.tabs-snap::-webkit-scrollbar{display:none}.nav-snap>*,.tabs-snap>*{scroll-snap-align:start;scroll-snap-stop:normal;flex-shrink:0}.nav-snap-center>*{scroll-snap-align:center}.no-pull-refresh,.scroll-container,[data-scroll-container]{overscroll-behavior:contain;overscroll-behavior-y:contain}.scroll-nested{overscroll-behavior:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.scroll-horizontal{overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x}.no-select,button,.btn,[role=button],.card-interactive,.list-item-interactive{-webkit-user-select:none;user-select:none}.allow-select{-webkit-user-select:text;user-select:text}.pan-x{touch-action:pan-x}.pan-y{touch-action:pan-y}.pinch-zoom{touch-action:pinch-zoom}.no-double-tap-zoom{touch-action:manipulation}@media (prefers-reduced-motion: reduce){.touch-active,.card-interactive,.card-hover,.list-item-interactive,.btn-haptic,.ripple,button,.btn{transition:none!important;transform:none!important}.touch-active:active,.card-interactive:active,.btn:active,button:active{opacity:.7;transform:none!important}.ripple:before{display:none}.btn-loading:after,button[data-loading=true]:after{animation:none;border:2px solid currentColor;border-radius:50%;opacity:.5}@keyframes btn-spinner{to{transform:none}}}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;perspective:1000px;will-change:transform,opacity}.gpu-hint{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.gpu-animated{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity;perspective:1000px;-webkit-perspective:1000px}.prefetch-hover{transition:transform .2s ease-out,opacity .2s ease-out;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.prefetch-hover:hover{will-change:transform,opacity,contents}.prefetch-hover:focus-within{will-change:transform,opacity,contents}a.prefetch-hover:hover,[data-prefetch]:hover{will-change:transform,opacity}.instant-transition{transition-delay:0ms!important;transition-duration:.1s;transition-timing-function:ease-out;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.instant-transition:hover,.instant-transition:focus,.instant-transition:active{transition-duration:50ms}.transition-fast{transition-duration:.1s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)}.no-animation{animation:none!important;transition:none!important;transform:none!important}.no-animation *{animation:none!important;transition:none!important}.no-animation-soft{animation:none!important;transition-duration:0ms!important}.scroll-container,.table-container,[data-scroll-container],.overflow-auto,.overflow-x-auto,.overflow-y-auto{contain:layout style}.scroll-contained{contain:strict;overflow:auto}.scroll-list{contain:layout;will-change:scroll-position}.content-contained{contain:content}.paint-contained{contain:paint}.lazy-visible{content-visibility:auto;contain-intrinsic-size:auto 500px}.lazy-visible-sm{content-visibility:auto;contain-intrinsic-size:auto 100px}.lazy-visible-md{content-visibility:auto;contain-intrinsic-size:auto 300px}.lazy-visible-lg{content-visibility:auto;contain-intrinsic-size:auto 800px}.lazy-visible-full{content-visibility:auto;contain-intrinsic-size:100% 500px}@supports not (content-visibility: auto){.lazy-visible,.lazy-visible-sm,.lazy-visible-md,.lazy-visible-lg,.lazy-visible-full{contain:layout style}}.shadow-gpu{position:relative;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.shadow-gpu:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--shadow-md);opacity:0;transition:opacity .2s ease-out;pointer-events:none;z-index:-1}.shadow-gpu:hover:after{opacity:1}.shadow-elevated{position:relative;transform:translateZ(0);transition:transform .2s ease-out;backface-visibility:hidden;-webkit-backface-visibility:hidden}.shadow-elevated:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--shadow-lg);opacity:0;transition:opacity .2s ease-out;pointer-events:none;z-index:-1}.shadow-elevated:hover{transform:translateY(-4px) translateZ(0)}.shadow-elevated:hover:before{opacity:1}.modal-gpu,[role=dialog],[data-modal],.dropdown-gpu,[data-dropdown],[data-popover]{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity}img.gpu-optimized,.image-gpu{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;image-rendering:-webkit-optimize-contrast}.sidebar-gpu,nav[data-fixed],.fixed-nav{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;contain:layout}.toolbar-gpu,[role=toolbar]{transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style}.composite-layer{transform:translateZ(0);isolation:isolate}.no-composite{transform:none;will-change:auto}.will-change-cleanup:not(:hover):not(:focus):not(:active){will-change:auto}.animate-fade{opacity:1;transition:opacity .2s ease-out;will-change:opacity}.animate-fade.hidden,.animate-fade[hidden]{opacity:0;pointer-events:none}.animate-slide{transform:translateY(0) translateZ(0);transition:transform .2s ease-out,opacity .2s ease-out;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.animate-slide.slide-up{transform:translateY(-10px) translateZ(0)}.animate-slide.slide-down{transform:translateY(10px) translateZ(0)}.animate-scale{transform:scale(1) translateZ(0);transition:transform .2s ease-out;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.animate-scale:hover{transform:scale(1.02) translateZ(0)}.animate-scale:active{transform:scale(.98) translateZ(0)}@keyframes pop-in{0%{opacity:0;transform:scale(.9) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes pop-out{0%{opacity:1;transform:scale(1) translateZ(0)}to{opacity:0;transform:scale(.9) translateZ(0)}}.animate-pop-in{animation:pop-in .2s ease-out forwards;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.animate-pop-out{animation:pop-out .15s ease-in forwards;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}@keyframes slide-fade-in{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes slide-fade-out{0%{opacity:1;transform:translateY(0) translateZ(0)}to{opacity:0;transform:translateY(-10px) translateZ(0)}}.animate-slide-fade-in{animation:slide-fade-in .2s ease-out forwards;will-change:transform,opacity;backface-visibility:hidden}.animate-slide-fade-out{animation:slide-fade-out .15s ease-in forwards;will-change:transform,opacity;backface-visibility:hidden}
