:root{--bg-primary: #090D16;--bg-secondary: #0F172A;--bg-surface: #1E293B;--bg-surface-hover: #283548;--bg-elevated: #1E293B;--border-subtle: rgba(255, 255, 255, .07);--border-focus: #3B82F6;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #64748B;--accent-color: #3B82F6;--accent-hover: #60A5FA;--accent-gradient: linear-gradient(135deg, #3B82F6 0%, #1D4ED8 100%);--accent-gradient-hover: linear-gradient(135deg, #60A5FA 0%, #2563EB 100%);--success: #10B981;--success-bg: rgba(16, 185, 129, .12);--success-border: rgba(16, 185, 129, .25);--warning: #F59E0B;--warning-bg: rgba(245, 158, 11, .12);--warning-border: rgba(245, 158, 11, .25);--danger: #EF4444;--danger-bg: rgba(239, 68, 68, .12);--danger-border: rgba(239, 68, 68, .25);--purple: #8B5CF6;--purple-bg: rgba(139, 92, 246, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px rgba(59, 130, 246, .25);--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:dark;background-color:var(--bg-primary);color:var(--text-primary)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.glass-pane{background:#0f172abf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.glass-pane:hover{border-color:#ffffff1f}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent-gradient);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 4px 14px #3b82f659;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:0 6px 20px #3b82f680;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffff0f;color:var(--text-primary);border:1px solid var(--border-subtle);padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 4px 14px #10b9814d;display:inline-flex;align-items:center;gap:8px}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #10b98173;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 4px 14px #ef44444d;display:inline-flex;align-items:center;gap:8px}.input-field,select.input-field,textarea.input-field{width:100%;padding:11px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#0f172ad9;color:var(--text-primary);font-size:14px;transition:all var(--transition-fast);outline:none;font-family:inherit}.input-field:focus{border-color:var(--accent-color);background:#0f172a;box-shadow:0 0 0 3px #3b82f633}.input-field::placeholder{color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .2s cubic-bezier(.16,1,.3,1) forwards}.modal-container{background:#0f172a;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #000000bf;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:modalScaleUp .25s cubic-bezier(.16,1,.3,1) forwards}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;background:#ffffff05}.modal-header h3{font-size:18px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.modal-close-btn{background:#ffffff0d;border:1px solid transparent;color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.modal-close-btn:hover{background:#ef444426;color:#ef4444;border-color:#ef44444d}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:#ffffff05}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.file-dropzone{border:2px dashed rgba(59,130,246,.4);background:#3b82f60a;border-radius:var(--radius-md);padding:32px 20px;text-align:center;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.file-dropzone:hover{border-color:var(--accent-color);background:#3b82f614}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.modern-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.modern-table th{padding:14px 16px;background:#ffffff05;color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.modern-table td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.modern-table tbody tr{transition:background var(--transition-fast)}.modern-table tbody tr:hover{background:#ffffff08}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;line-height:1}.badge-blue{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.badge-green{background:var(--success-bg);color:#34d399;border:1px solid var(--success-border)}.badge-amber{background:var(--warning-bg);color:#fbbf24;border:1px solid var(--warning-border)}.badge-red{background:var(--danger-bg);color:#f87171;border:1px solid var(--danger-border)}.badge-purple{background:var(--purple-bg);color:#a78bfa;border:1px solid rgba(139,92,246,.25)}.stat-card{background:#0f172abf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px;display:flex;align-items:center;gap:16px;transition:transform var(--transition-normal),border-color var(--transition-normal)}.stat-card:hover{transform:translateY(-2px);border-color:#ffffff26}.stat-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes skeleton-pulse{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.skeleton{background:#ffffff0f;border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}.hide-mobile{display:inline}.show-mobile-only{display:none}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile-only{display:inline!important}.modal-container{max-width:96vw;margin:8px;max-height:94vh}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px}.btn-primary,.btn-secondary,.btn-success,.btn-danger{padding:9px 14px;font-size:13px}.stat-card{padding:14px;gap:12px}.stat-icon-wrapper{width:40px;height:40px}}
