*{box-sizing:border-box}html{height:100%;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;padding:0;height:100%;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;margin:0;padding:0;text-align:left;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] ::-webkit-scrollbar-track{background:#ffffff0d}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::selection{background-color:#1976d233;color:inherit}::-moz-selection{background-color:#1976d233;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #1976d2;outline-offset:2px;border-radius:4px}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hover-lift{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.glass-effect{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.glass-effect-dark{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0003;border:1px solid rgba(255,255,255,.1)}.gradient-text{background:linear-gradient(45deg,#1976d2,#42a5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.gradient-text-secondary{background:linear-gradient(45deg,#388e3c,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}@media (max-width: 600px){html{font-size:14px}}@media (min-width: 1200px){html{font-size:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){.card-hover,button{border:2px solid currentColor}}@media (prefers-color-scheme: dark){body{color-scheme:dark}}@media print{body{background:#fff!important;color:#000!important}.no-print{display:none!important}.print-break{page-break-before:always}}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-center{display:flex;align-items:center;justify-content:center}.full-width{width:100%}.full-height{height:100%}.pointer{cursor:pointer}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.MuiButton-root{text-transform:none!important;font-weight:600!important}.MuiCard-root{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.MuiTableContainer-root{border-radius:12px!important}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-dark{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.gpu-accelerated{transform:translateZ(0);will-change:transform}.offline-indicator{position:fixed;top:0;left:0;right:0;background:#f44336;color:#fff;text-align:center;padding:8px;z-index:9999;transform:translateY(-100%);transition:transform .3s ease}.offline-indicator.show{transform:translateY(0)}
