: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}.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}@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%}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)}50%{transform:translateY(-.5rem)}}
