:root{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-primary: #f97316;--color-primary-hover: #ea580c;--color-accent: #06b6d4;--color-border: #334155;--color-success: #22c55e;--color-danger: #ef4444;--color-warning: #eab308;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}@media(max-width:768px){.grid-mobile-1{grid-template-columns:1fr!important}.flex-col-mobile{flex-direction:column!important;align-items:stretch!important}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}.main-content{padding:var(--spacing-md)!important}h1{font-size:1.5rem!important;margin-bottom:var(--spacing-md)!important}}.sidebar{width:250px;background-color:var(--color-bg-secondary);height:100vh;padding:var(--spacing-md);transition:transform .3s ease,width .3s ease;display:flex;flex-direction:column;position:relative;flex-shrink:0;z-index:100}.sidebar.collapsed{width:70px}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;width:250px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay.mobile-open{display:block;position:fixed;inset:0;background:#00000080;z-index:99}}
