:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-tertiary: #252540;--text-primary: #ffffff;--text-secondary: #a0a0b8;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--border-color: rgba(255, 255, 255, .1);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;overflow:hidden}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color)}.sidebar-logo{font-size:1.5rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:10px}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.nav-section{display:flex;flex-direction:column;gap:4px}.nav-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);padding:4px 12px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition);font-weight:500;font-size:.9rem}.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-link.active{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #6366f166}.sidebar-user{padding:16px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.sidebar-user-info{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sidebar-user-text{display:flex;flex-direction:column}.sidebar-user-name{font-weight:600;font-size:.9rem}.sidebar-user-role{font-size:.75rem;color:var(--text-secondary)}.main-content{flex:1;margin-left:260px;padding:32px;display:flex;flex-direction:column;gap:24px}.page-header{margin-bottom:16px}.page-title{font-size:1.85rem;font-weight:700;margin-bottom:6px}.page-subtitle{color:var(--text-secondary);font-size:.95rem}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:1.2rem;font-weight:600}.job-progress-banner{background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:var(--radius-md);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.progress-track{flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-gradient);transition:width .3s ease}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);font-weight:500;font-size:.9rem;transition:var(--transition)}.btn-primary{background:var(--accent-gradient);color:#fff}.btn-primary:hover{box-shadow:0 4px 20px #6366f180;transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-primary)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.badge-indigo{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.badge-success{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.form-input{width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}
