*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:16px;scroll-behavior:smooth}body{height:100%;font-family: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;background-color:#f5f5f5;overflow-x:hidden}#root{height:100%;min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}*:focus{outline:2px solid #1976d2;outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #1976d2;outline-offset:2px}.js-focus-visible *:focus:not(.focus-visible){outline:none}::selection{background-color:#1976d2;color:#fff}::-moz-selection{background-color:#1976d2;color:#fff}@media print{body{background:white!important;font-size:12pt;line-height:1.4}.no-print{display:none!important}.page-break{page-break-before:always}}@media (prefers-contrast: high){body{background:white;color:#000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{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}.full-height{height:100vh}.full-width{width:100%}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clearfix:after{content:"";display:table;clear:both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 599px){.hide-xs{display:none!important}}@media (max-width: 959px){.hide-sm{display:none!important}}@media (max-width: 1279px){.hide-md{display:none!important}}@media (min-width: 1280px){.hide-lg{display:none!important}}@media (prefers-color-scheme: dark){:root{--primary-color: #90caf9;--background-color: #121212;--surface-color: #1e1e1e;--text-primary: #ffffff;--text-secondary: #aaaaaa}}.MuiButton-root{text-transform:none!important;font-weight:500}.MuiAppBar-root{box-shadow:0 1px 3px #0000001f!important}.MuiPaper-elevation1{box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d!important}.loading{opacity:.7;pointer-events:none}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error-boundary{padding:2rem;text-align:center;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030}.error-boundary h2{margin-bottom:1rem;color:#c53030}.error-boundary pre{background-color:#feb2b2;padding:1rem;border-radius:4px;overflow-x:auto;text-align:left;margin-top:1rem}.MuiDataGrid-root{border:none!important}.MuiDataGrid-columnHeaders{background-color:#f5f5f5!important;border-bottom:2px solid #e0e0e0!important}.MuiDataGrid-columnHeaderTitle{font-weight:600!important}.status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500}.status-active{background-color:#e8f5e8;color:#2e7d32}.status-inactive{background-color:#f5f5f5;color:#616161}.status-warning{background-color:#fff8e1;color:#f57c00}.status-error{background-color:#ffebee;color:#c62828}.status-info{background-color:#e3f2fd;color:#1565c0}
