.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.icon{-webkit-user-select:none;user-select:none}.notification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1099;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.notification-backdrop.visible{opacity:1;visibility:visible}.notification-panel{position:fixed;top:0;left:0;width:440px;height:100vh;background:var(--bg-primary);border-right:1px solid var(--border-color);z-index:1100;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #00000026}.notification-panel.open{transform:translate(0)}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.notification-panel-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.notification-header-actions{display:flex;align-items:center;gap:.25rem}.notification-header-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.notification-header-btn:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.notification-header-btn.danger:hover{color:var(--status-failed)}.notification-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#d32f2f14;border-bottom:1px solid rgba(211,47,47,.2);color:var(--text-primary);font-size:.85rem}.notification-confirm-actions{display:flex;gap:.5rem;margin-left:auto}.confirm-btn{padding:.35rem .75rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.confirm-btn.cancel:hover{background:var(--bg-hover)}.confirm-btn.delete{background:#dc2626;color:#fff}.confirm-btn.delete:hover{background:#b71c1c}.notification-panel-body{flex:1;overflow-y:auto;padding:.5rem 0}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-tertiary);gap:.75rem}.notification-empty p{margin:0;font-size:.9rem}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background .15s ease;position:relative}.notification-item:hover{background:var(--bg-hover)}.notification-item.clickable{cursor:pointer}.notification-item.clickable:hover{background:color-mix(in srgb,var(--accent-color) 8%,transparent)}.notification-item.unseen{background:color-mix(in srgb,var(--accent-color) 6%,transparent)}.notification-item.unseen:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-color);border-radius:0 3px 3px 0}.notification-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-top:2px}.notification-icon.info{background:color-mix(in srgb,var(--accent-color) 15%,transparent);color:var(--accent-color)}.notification-icon.warning{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.notification-icon.error{background:color-mix(in srgb,var(--status-failed) 15%,transparent);color:var(--status-failed)}.notification-icon.success{background:color-mix(in srgb,var(--status-completed) 15%,transparent);color:var(--status-completed)}.notification-content{flex:1;min-width:0}.notification-text{margin:0 0 .25rem;font-size:.875rem;line-height:1.4;color:var(--text-primary);word-break:break-word;text-align:left}.notification-time{font-size:.75rem;color:var(--text-tertiary)}.notification-actions{display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease;flex-shrink:0}.notification-item:hover .notification-actions{opacity:1}.notification-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.notification-action-btn:hover{background:var(--bg-tertiary);color:var(--accent-color)}.notification-action-btn.danger:hover{color:var(--status-failed)}.notification-load-more{display:block;width:calc(100% - 2.5rem);margin:.5rem 1.25rem;padding:.6rem;border:1px dashed var(--border-color);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .15s ease}.notification-load-more:hover{border-color:var(--accent-color);color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 5%,transparent)}.notification-load-more:disabled{opacity:.5;cursor:not-allowed}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;background:var(--accent-color);color:#fff;font-size:.6rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--bg-secondary)}@media (max-width: 480px){.notification-panel{width:100%}}.layout{display:flex;min-height:100vh;width:100%;overflow-x:hidden;max-width:100vw}.sidebar{width:250px;background-color:var(--sidebar-bg);padding:1.5rem 0 0;border-right:1px solid var(--border-color);position:fixed;height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;transition:width var(--transition-slow),background-color var(--transition-slow)}.sidebar.collapsed{width:80px}.sidebar-header{padding:0 1.5rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.sidebar.collapsed .sidebar-header{padding:0 1rem;align-items:center}.sidebar-header-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sidebar.collapsed .sidebar-header-top{flex-direction:column;gap:1rem}.logo-link{display:flex;align-items:center;gap:1rem;text-decoration:none;transition:opacity .2s}.logo-link:hover{opacity:.8}.logo{width:48px;height:48px;flex-shrink:0}.sidebar.collapsed .logo{width:40px;height:40px}.logo-text{flex:1}.sidebar-header h1{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem;color:var(--text-primary);line-height:1}.sidebar-header p{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1}.sidebar-toggle{width:28px;height:28px;border-radius:var(--radius-sm);background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);padding:0;flex-shrink:0}.sidebar-toggle:hover{background-color:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.sidebar-toggle .material-icons{font-size:20px}.nav-menu{list-style:none;flex:1;padding-bottom:1rem}.nav-menu li{margin-bottom:.5rem}.nav-menu a{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;margin:0 .5rem;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:background-color var(--transition-base),color var(--transition-base)}.sidebar.collapsed .nav-menu a{padding:.75rem 1rem;justify-content:center}.nav-menu a:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-menu li.active a{background-color:#6366f11a;color:var(--accent-color)}.nav-group{margin-bottom:.5rem}.nav-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;margin:0 .5rem;width:calc(100% - 1rem);border-radius:var(--radius-md);background:none;border:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);text-align:left}.sidebar.collapsed .nav-group-header{padding:.75rem 1rem;justify-content:center}.nav-group-header:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-group-title{display:flex;align-items:center;gap:.75rem;flex:1}.sidebar.collapsed .nav-group-title{justify-content:center}.nav-submenu{list-style:none;padding:0;margin:0;background-color:transparent;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.nav-submenu li{margin:0}.nav-submenu a{padding:.4rem 1rem .4rem 2.75rem;margin:0 .5rem;border-radius:var(--radius-md);font-size:var(--text-sm);display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base)}.nav-submenu a:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-submenu li.active a{background-color:#6366f11a;color:var(--accent-color)}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-color);margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.sidebar-actions{display:flex;align-items:center;gap:.5rem;justify-content:center}.sidebar-action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);text-decoration:none;padding:0}.sidebar-action-btn:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.sidebar-action-btn svg{fill:currentColor}.notification-trigger-btn{position:relative}.sidebar.collapsed .sidebar-actions{flex-direction:column}.theme-toggle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.9rem}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--accent-color)}.sidebar.collapsed .theme-toggle{justify-content:center;padding:.75rem}.sidebar.collapsed .theme-toggle span{display:none}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:background-color .2s;text-align:left}.sidebar.collapsed .user-menu-trigger{justify-content:center;padding:.75rem .5rem}.user-menu-trigger:hover{background-color:var(--bg-hover)}.user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-gradient);border-radius:var(--radius-sm);flex-shrink:0}.user-avatar .material-icons{color:#fff}.user-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.user-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--text-muted)}.user-menu-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.375rem;box-shadow:var(--shadow-lg);animation:slideUp .15s ease-out;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--text-sm)}.profile-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.logout-button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--text-sm)}.logout-button:hover{background-color:#ef444414;color:var(--error-color)}.logout-button .material-icons{color:currentColor}.main-content{flex:1;margin-left:250px;padding:2rem;width:calc(100% - 250px);max-width:calc(100% - 250px);overflow-x:hidden;transition:margin-left .3s ease,width .3s ease,background-color .3s ease;background-color:var(--bg-primary)}.main-content.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px);max-width:calc(100% - 70px)}@media (max-width: 768px){.layout{overflow-x:hidden}.sidebar{width:100%;max-width:280px;transform:translate(-100%);transition:transform .3s ease,width .3s ease;z-index:1000;position:fixed;top:0;left:0;bottom:0;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:70px;transform:translate(-100%)}.sidebar.collapsed.mobile-open{transform:translate(0)}.main-content{margin-left:0;width:100vw;max-width:100vw;padding:4.5rem .75rem 1rem;min-height:100vh;overflow-x:hidden;box-sizing:border-box}.main-content.sidebar-collapsed{margin-left:0;width:100vw;max-width:100vw}.mobile-menu-toggle{position:fixed;top:1rem;left:1rem;z-index:999;height:44px;border-radius:8px;background-color:#6366f1;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s}.mobile-menu-toggle:hover{background-color:#4f46e5;transform:scale(1.05)}.mobile-menu-toggle:active{transform:scale(.95)}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease}.sidebar-backdrop.visible{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-header{padding:1rem;margin-bottom:1.5rem}.nav-menu{overflow-y:auto;overflow-x:hidden;flex:1;padding-bottom:1rem}.logo{width:40px;height:40px}.sidebar-header h1{font-size:1.25rem}}@media (min-width: 769px) and (max-width: 1024px){.sidebar{width:220px}.sidebar.collapsed{width:70px}.main-content{margin-left:220px;width:calc(100% - 220px);max-width:calc(100% - 220px);padding:1.5rem}.main-content.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px);max-width:calc(100% - 70px)}}@media (min-width: 769px){.mobile-menu-toggle{display:none}.sidebar-backdrop{display:none!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:2rem;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--border-color) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.login-container{width:100%;max-width:760px;z-index:1;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:row;min-height:460px}.login-brand-panel{width:260px;flex-shrink:0;background:var(--accent-gradient);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}.login-brand-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center}.login-logo{width:250px;height:200px;display:block;margin:0 auto 1.5rem}.login-brand-title{font-size:1.375rem;font-weight:700;letter-spacing:-.03em;color:#fff;margin:0 0 .375rem}.login-brand-subtitle{font-size:var(--text-xs);color:#ffffffb3;margin:0 0 2rem;line-height:1.5}.login-brand-features{display:flex;flex-direction:column;gap:.75rem}.login-brand-feature{display:flex;align-items:center;gap:.625rem;font-size:var(--text-xs);color:#ffffffd9;margin:0}.login-form-panel{flex:1;display:flex;flex-direction:column;min-width:0;padding:2.5rem}.login-form-header{margin-bottom:1.5rem}.login-form-header h2{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .25rem}.login-form-header p{font-size:var(--text-sm);color:var(--text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:1rem;flex:1}.error-message{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--error-color);font-size:var(--text-xs);animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-top:0}.form-group label{display:flex;align-items:center;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input{width:100%;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-group input::placeholder{color:var(--text-muted)}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{padding-right:2.75rem}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-sm);transition:color var(--transition-base),background-color var(--transition-base)}.password-toggle:hover{color:var(--accent-color);background-color:var(--bg-hover)}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:opacity var(--transition-base),box-shadow var(--transition-base);margin-top:auto}.login-button:hover:not(:disabled){opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button .spinning{animation:spin 1s linear infinite;display:inline-block}.login-footer{text-align:center;padding-top:1.25rem;margin-top:1rem;border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-muted);font-size:var(--text-xs);margin:0;letter-spacing:.02em}@media (max-width: 620px){.login-page{padding:2.5rem 1rem 1rem;align-items:flex-start}.login-brand-panel{display:none}.login-card{min-height:auto}.login-form-panel{padding:2rem 1.5rem}}@media (min-width: 621px) and (max-width: 720px){.login-brand-panel{width:200px;padding:2rem 1.5rem}.login-form-panel{padding:2rem}}.auto-refresh-indicator{position:fixed;bottom:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;padding:.5rem .875rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-sm);font-size:.8rem;color:var(--text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;transition:all .3s ease;opacity:.6}.auto-refresh-indicator:hover{opacity:1;box-shadow:var(--shadow-md);transform:translateY(-2px)}.refresh-info{display:flex;align-items:center;gap:.5rem}.refresh-time{display:flex;align-items:center;gap:.25rem;color:var(--text-muted)}.time-text{font-weight:500;white-space:nowrap}.next-refresh{color:var(--text-muted);opacity:.7;font-size:.75rem;white-space:nowrap}.refresh-toggle{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border:none;border-radius:16px;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.refresh-toggle:hover{background:var(--bg-hover)}.refresh-toggle.active{background:#10b9811f;color:#10b981}.refresh-toggle.inactive{background:#9e9e9e1a;color:var(--text-muted)}.refresh-toggle.active:hover{background:#4caf5040}.refresh-toggle.inactive:hover{background:#71717a1a}.refresh-toggle.active .material-icons{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.auto-refresh-indicator{bottom:.75rem;right:.75rem;font-size:.75rem;padding:.4rem .75rem;gap:.5rem}.toggle-label,.next-refresh{display:none}.refresh-toggle{padding:.25rem .5rem}}@media print{.auto-refresh-indicator{display:none}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-light) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;border-radius:4px;display:inline-block}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-wave{animation:skeleton-wave 1.5s linear infinite}.skeleton-none{animation:none}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px;border-radius:4px}.skeleton-circular{border-radius:50%}.skeleton-rectangular{border-radius:8px}.skeleton-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm)}.skeleton-stat-content{display:flex;flex-direction:column;gap:8px}.skeleton-table-container{overflow:hidden;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color)}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table th,.skeleton-table td{padding:12px 16px;text-align:left}.skeleton-table thead{background:var(--bg-tertiary)}.skeleton-table-row td{border-bottom:1px solid var(--border-color)}.skeleton-card{padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm)}.skeleton-card-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.skeleton-card-body{display:flex;flex-direction:column;gap:12px}.skeleton-dashboard{padding:24px}.skeleton-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.skeleton-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.skeleton-job-list{padding:20px}.skeleton-toolbar{display:flex;gap:12px;margin-bottom:20px}.skeleton-detail{padding:24px}.skeleton-detail-header{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.skeleton-detail-body{display:flex;flex-direction:column;gap:20px}.dashboard{max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden;box-sizing:border-box}.dashboard-hero{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem 2.5rem;margin-bottom:2rem;color:var(--text-primary);position:relative;overflow:hidden}.dashboard-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--accent-gradient);opacity:.6}.hero-content h1{font-size:var(--text-2xl);margin:0 0 .5rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.hero-subtitle{font-size:var(--text-base);margin:0 0 1rem;color:var(--text-secondary)}.hero-meta{display:inline-flex;align-items:center!important;gap:1rem}.auto-refresh{padding:.375rem .75rem;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary)}.refresh-btn{padding:.4rem 1rem;background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;width:100%}.quick-stat-card{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.quick-stat-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.quick-stat-card.primary{border-left:4px solid #6366f1}.quick-stat-card.success{border-left:4px solid #10b981}.quick-stat-card.warning{border-left:4px solid #f59e0b}.quick-stat-card.info{border-left:4px solid #3b82f6}.quick-stat-icon{font-size:2.5rem}.quick-stat-content{display:flex;flex-direction:column;gap:.25rem}.quick-stat-value{font-size:1.875rem;font-weight:700;line-height:1;letter-spacing:-.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.quick-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;width:100%;box-sizing:border-box}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-sizing:border-box}.card-header h3{margin:0;font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.card-subtitle{font-size:.85rem;color:var(--text-muted)}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem;width:100%;box-sizing:border-box}.status-item{display:flex;align-items:center;gap:1rem;padding:.875rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box}.status-item.clickable{cursor:pointer}.status-item.clickable:hover{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.status-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%}.status-icon.success{background-color:#10b98126}.status-icon.failed{background-color:#ef444426}.status-icon.running{background-color:#3b82f626}.status-icon.cancelled{background-color:#f59e0b26}.status-content{display:flex;flex-direction:column;gap:.25rem}.status-value{font-size:1.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.status-label{font-size:.9rem;color:var(--text-muted)}.capacity-content{padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;box-sizing:border-box}.capacity-chart{width:150px;height:150px;flex-shrink:0}.circular-progress{transform:rotate(-90deg)}.progress-bg{fill:none;stroke:var(--border-color);stroke-width:8}.progress-bar{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s ease}.progress-bar.success{stroke:#10b981}.progress-bar.warning{stroke:#f59e0b}.progress-text{font-size:20px;font-weight:700;fill:var(--text-primary);text-anchor:middle;dominant-baseline:middle;transform:rotate(90deg);transform-origin:center}.capacity-stats{display:flex;gap:2rem;width:100%;justify-content:space-around;box-sizing:border-box}.capacity-stat{display:flex;flex-direction:column;align-items:center;gap:.5rem;box-sizing:border-box}.throughput-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;width:100%;box-sizing:border-box}.throughput-metric{display:flex;align-items:center;gap:1.5rem;padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.throughput-metric:hover{border-color:var(--accent-color);transform:translate(4px)}.metric-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.metric-icon.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.metric-icon.success{background:linear-gradient(135deg,#10b981,#059669)}.metric-icon.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.metric-info{display:flex;flex-direction:column;gap:.25rem}.metric-value{font-size:1.875rem;font-weight:700;line-height:1;letter-spacing:-.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.metric-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.quick-stat-sublabel{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.health-list{padding:1rem;width:100%;box-sizing:border-box}.health-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color);box-sizing:border-box;width:100%}.health-item:last-child{border-bottom:none}.health-item-icon{font-size:1.8rem;width:40px;text-align:center;flex-shrink:0}.health-item-content{flex:1;min-width:0}.health-item-name{font-weight:600;margin-bottom:.25rem}.health-item-duration{font-size:.85rem;color:var(--text-muted)}.health-item-status{margin-left:auto;flex-shrink:0}.health-badge{padding:.2rem .625rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:.25rem;border:1px solid transparent}.health-badge.healthy{background-color:#10b9811a;color:#10b981;border-color:#10b98133}.health-badge.unhealthy{background-color:#ef44441a;color:#ef4444;border-color:#ef444433}.health-badge.degraded{background-color:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.loading{text-align:center;padding:3rem;font-size:1.2rem}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}.quick-stats{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 768px){.dashboard{padding:.5rem;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.dashboard-grid,.quick-stats{grid-template-columns:1fr!important}.quick-stats{grid-template-columns:1fr;gap:.875rem;width:calc(100% + -0px);max-width:100%;box-sizing:border-box;margin-bottom:1.5rem}.quick-stat-content{display:flex;flex-direction:row;gap:2rem}.quick-stat-card{padding:1rem;width:100%;max-width:100%;box-sizing:border-box;gap:1rem}.quick-stat-icon{font-size:1.75rem;flex-shrink:0}.quick-stat-value{font-size:1.5rem}.quick-stat-label{font-size:.8rem}.dashboard-grid{grid-template-columns:1fr;gap:.875rem;width:calc(100% + -0px);max-width:100%;box-sizing:border-box;padding:0!important;margin:0}.dashboard-card{border-radius:10px;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box;margin:0}.card-header{padding:.875rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem;box-sizing:border-box}.card-header h3{width:100%;font-size:.95rem;flex-direction:row;align-items:center}.card-subtitle{width:100%;font-size:.7rem;margin-top:-.25rem}.job-status-card .status-grid{display:flex;flex-direction:column;gap:.625rem;padding:.875rem;width:100%;box-sizing:border-box}.job-status-card .status-item{display:grid;grid-template-columns:auto 1fr;gap:.875rem;padding:.875rem;width:100%;box-sizing:border-box;align-items:center}.job-status-card .status-icon{width:40px;height:40px;font-size:1.25rem;flex-shrink:0}.job-status-card .status-content{display:flex;flex-direction:row;align-items:baseline;gap:.5rem}.job-status-card .status-value{font-size:1.5rem;font-weight:700;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.job-status-card .status-label{font-size:.8rem;color:#999;line-height:1}.worker-capacity-card .capacity-content{padding:.875rem;display:flex;flex-direction:row;align-items:center;gap:1.25rem;width:100%;box-sizing:border-box;flex-wrap:nowrap}.worker-capacity-card .capacity-chart{width:90px;height:90px;flex-shrink:0;min-width:90px}.worker-capacity-card .progress-text{font-size:16px}.worker-capacity-card .capacity-stats{display:flex;flex-direction:column;gap:.625rem;flex:1;min-width:0;justify-content:center;align-items:flex-start;padding:0;overflow:hidden}.worker-capacity-card .capacity-stat{display:flex;flex-direction:row;align-items:center;gap:.75rem;width:100%;min-width:0;justify-content:space-between;box-sizing:border-box}.worker-capacity-card .capacity-label{font-size:.8rem;text-align:left;color:#999;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.worker-capacity-card .capacity-value{font-size:1.35rem;font-weight:700;white-space:nowrap;flex-shrink:0}.health-card .health-list{padding:.625rem;width:100%;box-sizing:border-box}.health-card .health-item{display:grid;grid-template-columns:auto 1fr auto;gap:.625rem;padding:.75rem .625rem;width:100%;box-sizing:border-box;align-items:center}.health-card .health-item-icon{font-size:1.35rem;width:32px;flex-shrink:0}.health-card .health-item-content{flex:1;min-width:0;overflow:hidden}.health-card .health-item-name{font-size:.85rem;font-weight:600;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-card .health-item-duration{font-size:.7rem;color:#999}.health-card .health-item-status{margin-left:0;flex-shrink:0}.health-card .health-badge{padding:.25rem .5rem;font-size:.7rem;white-space:nowrap;box-sizing:border-box}.health-card .health-badge .material-icons{font-size:12px}.throughput-card .throughput-content{padding:.875rem;gap:.75rem;width:100%;box-sizing:border-box}.throughput-card .throughput-metric{display:flex;flex-direction:row;align-items:center;gap:1rem;padding:.875rem;width:100%;box-sizing:border-box}.throughput-card .metric-icon{width:48px;height:48px;flex-shrink:0}.throughput-card .metric-icon .material-icons{font-size:24px}.throughput-card .metric-info{flex:1;min-width:0}.throughput-card .metric-value{font-size:1.5rem}.throughput-card .metric-label{font-size:.75rem}}@media (max-width: 480px){.dashboard{padding:.5rem;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.quick-stats{gap:.75rem;width:calc(100% + -0px);box-sizing:border-box}.quick-stat-card{padding:.875rem;gap:.875rem;width:100%;box-sizing:border-box}.quick-stat-content{display:flex;flex-direction:row;gap:1rem}.quick-stat-icon{font-size:1.5rem}.quick-stat-value{font-size:1.35rem}.quick-stat-label{font-size:.75rem}.dashboard-grid{gap:.75rem;width:calc(100% + -0px);box-sizing:border-box;padding:0;margin:0}.dashboard-card{width:100%;max-width:100%;box-sizing:border-box;margin:0}.card-header{padding:.75rem .875rem}.card-header h3{font-size:.9rem}.card-subtitle{font-size:.65rem}.job-status-card .status-grid{padding:.75rem;gap:.5rem}.job-status-card .status-item{padding:.75rem;gap:.75rem}.job-status-card .status-icon{width:36px;height:36px;font-size:1.15rem}.job-status-card .status-value{font-size:1.35rem}.job-status-card .status-label{font-size:.75rem}.worker-capacity-card .capacity-content{padding:.75rem;gap:1rem;display:flex;flex-direction:row;width:100%;box-sizing:border-box;flex-wrap:nowrap;align-items:center}.worker-capacity-card .capacity-chart{width:80px;height:80px;flex-shrink:0;min-width:80px}.worker-capacity-card .progress-text{font-size:14px}.worker-capacity-card .capacity-stats{gap:.5rem;display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden;padding:0}.worker-capacity-card .capacity-stat{display:flex;flex-direction:row;width:100%;min-width:0;box-sizing:border-box;justify-content:space-between;align-items:center;gap:.5rem}.worker-capacity-card .capacity-label{font-size:.75rem;flex-shrink:0}.worker-capacity-card .capacity-value{font-size:1.2rem;white-space:nowrap;flex-shrink:0}.health-card .health-list{padding:.5rem}.health-card .health-item{padding:.65rem .5rem;gap:.5rem}.health-card .health-item-icon{font-size:1.2rem;width:28px}.health-card .health-item-name{font-size:.8rem}.health-card .health-item-duration{font-size:.65rem}.health-card .health-badge{padding:.2rem .4rem;font-size:.65rem}.health-card .health-badge .material-icons{font-size:11px}}@media (prefers-color-scheme: light){.dashboard{background-color:#f4f4f9}.dashboard-hero{background:linear-gradient(135deg,#d3cce3,#e9e4f0);color:#333}.hero-content h1{color:#111}.hero-subtitle{color:#333}.hero-meta{color:#666}.auto-refresh{background-color:#0000001a}.refresh-btn{background-color:#6366f1;color:#fff}.quick-stat-card{background:linear-gradient(135deg,#fff,#f3f4f6);border:1px solid #ddd}.quick-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dashboard-card{background:linear-gradient(135deg,#fff,#f3f4f6);border:1px solid #ddd}.card-header{border-bottom:1px solid #ddd}.card-header h3{color:#111}.card-subtitle{color:#666}.status-item{background-color:#fff;border:1px solid #ddd}.status-item:hover{box-shadow:0 4px 12px #0000001a}.status-icon{background-color:#0000001a}.health-list{background-color:#f9f9f9;border-radius:8px}.health-item{border-bottom:1px solid #ddd}.health-item:last-child{border-bottom:none}.health-badge{background-color:#0000001a}.empty-state{color:#666}.loading{color:#333}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:500px;width:100%;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-content.modal-large{max-width:900px}.modal-content.modal-xl{max-width:1200px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-icon{font-size:2rem;flex-shrink:0}.modal-title{flex:1;margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.modal-close-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);flex-shrink:0}.modal-close-btn:hover{background-color:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-message{margin:0;font-size:1rem;line-height:1.6;color:var(--text-secondary)}.modal-footer{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border-color);justify-content:flex-end}.modal-btn{padding:.5rem 1.125rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:opacity var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);min-width:88px}.modal-btn-cancel{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.modal-btn-cancel:hover{background-color:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.modal-btn-confirm{background:var(--accent-gradient);color:#fff;border-color:transparent}.modal-btn-confirm:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.modal-btn-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:transparent}.modal-btn-error:hover{opacity:.9;box-shadow:0 0 0 3px #ef444440}.modal-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:transparent}.modal-btn-warning:hover{opacity:.9;box-shadow:0 0 0 3px #f59e0b40}.modal-btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent}.modal-btn-success:hover{opacity:.9;box-shadow:0 0 0 3px #10b98140}.modal-info{border-left:4px solid #3b82f6}.modal-success{border-left:4px solid #10b981}.modal-warning{border-left:4px solid #f59e0b}.modal-error{border-left:4px solid #ef4444}.modal-confirm{border-left:4px solid #6366f1}@media (max-width: 768px){.modal-content{max-width:100%;margin:1rem}.modal-header,.modal-body{padding:1.25rem}.modal-footer{padding:1.25rem;flex-direction:column-reverse}.modal-btn{width:100%}}.json-editor{display:flex;flex-direction:column;gap:.5rem}.json-editor-label{font-weight:500;color:var(--text-primary);font-size:.9rem}.json-editor-label .required{color:#ef4444;margin-left:.25rem}.json-editor-container{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .2s}.json-editor.has-error .json-editor-container{border-color:#ef4444}.json-editor-container:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.json-editor.has-error .json-editor-container:focus-within{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.json-editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:.5rem;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.5rem}.toolbar-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.toolbar-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn span{display:none}@media (min-width: 480px){.toolbar-btn span{display:inline}}.validation-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.validation-badge.valid{background:#10b9811f;color:#10b981}.validation-badge.invalid{background:#f4433626;color:#ef4444}.json-editor-textarea{width:100%;padding:.875rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;background:var(--bg-primary);border:none;color:var(--text-primary);resize:vertical;min-height:150px;outline:none}.json-editor-textarea::placeholder{color:var(--text-muted)}.json-editor-textarea.invalid{background:#f4433608}.json-editor-error{display:flex;align-items:flex-start;gap:.375rem;padding:.5rem .75rem;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:.75rem;font-family:Consolas,Monaco,Courier New,monospace}.json-editor-error span{flex:1;word-break:break-word}.json-editor-hint{color:var(--text-muted);font-size:.8rem}.job-list{margin:0 auto;padding:0 1rem}.trigger-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6366f1}.trigger-jobdata-hint{margin-top:.5rem;color:var(--text-muted);font-size:.8rem}.trigger-current-data{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.header-content{flex:1;min-width:280px;margin-bottom:0!important}.header-content h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;flex-wrap:wrap}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.search-box{position:relative;display:flex;align-items:center;flex:1;min-width:240px;max-width:400px}.search-input{padding:.5rem 2.75rem .5rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);width:100%;transition:border-color var(--transition-base),box-shadow var(--transition-base);min-height:38px}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);background-color:var(--bg-secondary)}.clear-search-btn{position:absolute;right:.75rem;background:none;border:none;color:#999;cursor:pointer;font-size:1.1rem;padding:.5rem;transition:color .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{color:#ef4444}.filter-tag-display{display:flex;align-items:center;gap:.75rem;padding:.5rem .875rem;background-color:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);margin-bottom:1.5rem}.filter-label{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.tag-chip{padding:.2rem .625rem;background:var(--accent-gradient);color:#fff;border-radius:var(--radius-full);font-weight:500;font-size:var(--text-xs);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-filter-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:4px;margin-left:auto}.clear-filter-btn:hover{color:#ef4444;background:#ef44441a}.create-job-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:500;font-size:var(--text-sm);letter-spacing:-.01em;transition:opacity var(--transition-base),box-shadow var(--transition-base);white-space:nowrap;min-height:38px;justify-content:center;border:1px solid transparent}.create-job-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow);color:#fff}.btn-icon{font-size:1.1rem}.empty-state-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:3rem 1.5rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-card h3{margin:0 0 .5rem;font-size:1.5rem}.empty-state-card p{color:var(--text-muted);margin:0 0 1.5rem;font-size:1rem}.empty-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:500;font-size:var(--text-sm);transition:opacity var(--transition-base),box-shadow var(--transition-base);min-height:38px;border:1px solid transparent}.empty-action-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow);color:#fff}.jobs-grid{display:flex;flex-direction:column;padding:1rem;gap:1rem;margin-bottom:2rem;background:transparent;border-radius:12px}.job-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;transition:all .2s;display:grid;grid-template-rows:auto auto;padding:1.5rem;gap:1rem;cursor:pointer;text-decoration:none;color:inherit;border-left:4px solid transparent}.job-card.active{border-left-color:#10b981}.job-card.inactive{border-left-color:#f59e0b}.job-card:hover{background:var(--bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.job-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%}.job-title-section{display:flex;align-items:center;flex:1;min-width:0}.job-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.job-name:hover{color:var(--accent-color)}.job-status-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;border-radius:16px;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0;border:2px solid;min-height:32px;width:fit-content}.job-status-badge.active{background-color:#10b98124;color:#10b981;border-color:#10b98140}.job-status-badge.inactive{background-color:#71717a1a;color:#71717a;border-color:#9e9e9e66}.job-card-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;width:100%;align-items:start}.job-info-row{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;text-align:left;width:100%;min-width:0}.info-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;line-height:1}.info-value{color:var(--text-primary);font-size:.95rem;display:flex;align-items:center;justify-content:center;min-width:0}.info-value.job-type{font-family:Courier New,monospace;background-color:#6366f11a;padding:.375rem .625rem;border-radius:4px;max-width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.concurrent-policy{font-size:.9rem;color:var(--text-secondary);font-weight:500}.latest-run{display:flex;flex-direction:column;gap:.375rem;align-items:flex-start;width:100%}.run-date{font-size:.85rem;color:#999;white-space:nowrap}.never-run{color:#999;font-style:italic;font-size:.95rem}.latest-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:10px;font-size:.8rem;font-weight:500;white-space:nowrap}.latest-status.status-success{color:#10b981;max-height:1.5rem}.latest-status.status-failed{color:#ef4444}.latest-status.status-running{color:#3b82f6}.latest-status.status-pending{color:#71717a}.latest-status.status-cancelled{color:#f59e0b}.job-actions{display:flex;gap:.625rem;flex-shrink:0;align-items:center;justify-content:flex-end}.action-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:1.1rem;text-decoration:none;transition:all .2s;padding:.625rem}.action-btn:hover{transform:translateY(-2px)}.action-btn.trigger{color:#6366f1}.action-btn.trigger:hover{border-color:#6366f1;background-color:#6366f11a}.action-btn.edit{color:#3b82f6}.action-btn.edit:hover{border-color:#3b82f6;background-color:#3b82f61a}.action-btn.delete:hover{border-color:#ef4444;background-color:#ef44441a}.action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.view-details-btn{padding:.625rem 1.25rem;color:#6366f1;text-decoration:none;font-weight:500;border-radius:8px;transition:all .2s;white-space:nowrap;border:1px solid transparent;min-height:44px;display:flex;align-items:center;justify-content:center}.view-details-btn:hover{background-color:#6366f11a;border-color:#6366f1}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-wrap:wrap;gap:1rem}.jobs-table-container .pagination-container{margin-top:0;border:none;border-top:1px solid var(--border-color);border-radius:0;background:none}.pagination{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.pagination .btn{min-width:44px;min-height:44px;padding:.625rem .875rem;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.95rem}.page-ellipsis{padding:0 .5rem;color:var(--text-muted)}.page-info{margin-left:.5rem;color:var(--text-muted);font-size:.9rem;white-space:nowrap}.page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.9rem;flex-wrap:wrap}.page-size-selector label{color:var(--text-muted);white-space:nowrap}.page-size-select{padding:.625rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-height:44px;font-size:1rem}@media (max-width: 1400px){.job-card-body{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}}@media (max-width: 1200px){.job-card{gap:1.25rem}.job-card-header{width:100%;flex-wrap:wrap}.job-title-section{max-width:none;flex:1;min-width:0}.job-name{white-space:normal;word-break:break-word}.job-card-body{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));width:100%}.job-actions{justify-content:flex-end;flex-wrap:wrap}}@media (max-width: 768px){.job-list{padding:0 .75rem}.page-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.header-content{width:100%;text-align:left}.header-content h1{font-size:1.5rem;gap:.5rem;flex-wrap:wrap}.header-actions{width:100%;flex-direction:row;flex-wrap:wrap;gap:.75rem}.search-box{flex:1;min-width:200px;max-width:100%}.search-input{font-size:16px}.create-job-btn{flex:1;min-width:200px;justify-content:center}.filter-tag-display{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tag-chip{max-width:200px}.job-card{padding:1.25rem;gap:1rem}.job-card:hover{transform:none}.job-card-header{flex-direction:column;align-items:stretch;width:100%;gap:1rem}.job-title-section{width:100%}.job-name{font-size:1.05rem;padding-top:.5rem}.job-status-badge{align-self:flex-start}.job-card-body{grid-template-columns:1fr;gap:1rem;width:100%}.job-info-row{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;padding:.75rem;background-color:#ffffff08;border-radius:8px}.info-label{text-align:left}.info-value{text-align:right;justify-content:flex-end}.latest-run{align-items:flex-end;text-align:right}.job-actions{width:100%;justify-content:space-between;gap:.5rem}.action-btn{flex:1;min-width:44px;max-width:120px}.empty-state-card{padding:2.5rem 1.25rem}.empty-icon{font-size:3rem}.empty-state-card h3{font-size:1.25rem}.empty-state-card p{font-size:.95rem}.empty-action-btn{width:100%;justify-content:center}.pagination-container{flex-direction:column;padding:1rem;gap:1rem}.pagination{width:100%;justify-content:center;overflow-x:auto}.pagination .btn{padding:.5rem;flex-shrink:0}.page-info{width:100%;text-align:center;margin-left:0;font-size:.85rem}.page-size-selector{width:100%;justify-content:center}}@media (max-width: 480px){.job-list{padding:0 .5rem}.header-content h1{font-size:1.35rem;flex-wrap:wrap}.header-actions{flex-direction:column}.search-box,.create-job-btn{width:100%;max-width:100%}.job-card{padding:1rem}.job-actions{justify-content:center;gap:.5rem}.action-btn{max-width:80px}.job-name{font-size:1rem}.job-status-badge{font-size:.85rem;padding:.375rem .75rem}.info-label{font-size:.75rem}.info-value{font-size:.9rem}.action-btn{font-size:1rem}.pagination .btn{min-width:36px;min-height:36px;font-size:.85rem;padding:.375rem}.page-ellipsis{display:none}}*{max-width:100%}.job-list,.page-header,.header-actions,.jobs-grid,.job-card,.pagination-container{overflow-x:hidden}@media (hover: none) and (pointer: coarse){.action-btn,.create-job-btn,.empty-action-btn,.clear-search-btn,.clear-filter-btn,.view-details-btn,.pagination .btn{min-width:48px;min-height:48px}.job-card:hover,.action-btn:hover,.view-details-btn:hover{transform:none}}@media (prefers-color-scheme: light){.cron{background-color:#f0f0f0;color:#213547}.job-name{color:#6366f1}.run-date{color:#0009}.no-run{color:#666}.job-card{background:linear-gradient(135deg,#fff,#f5f5f5);border-color:#ddd}.empty-state-card,.pagination-container{background:linear-gradient(135deg,#fff,#f9f9f9);border-color:#ddd}.search-input{background-color:#fff;border-color:#ccc}.search-input:focus{background-color:#f9f9f9}.action-btn{background-color:#fff;border-color:#ddd}.page-size-select{background-color:#fff;border-color:#ccc}.job-info-row{background-color:#00000005}}.view-mode-selector{display:inline-flex;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px;gap:4px;min-height:44px}.view-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap;min-height:36px}.view-mode-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.view-mode-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 4px #6366f133}.view-mode-btn.active:hover{background:linear-gradient(135deg,#4f46e5,#4248d9)}.view-mode-switch-container,.view-mode-switch,.view-mode-toggle{display:none}.jobs-table-container{width:100%;margin-bottom:2rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.jobs-table{width:100%;border-collapse:collapse;margin-top:0}.jobs-table th{padding:1rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border-color);color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:none!important}.jobs-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.jobs-table tbody tr{border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .15s}.jobs-table tbody tr:hover{background-color:var(--bg-hover)}.jobs-table tbody tr.active{border-left:4px solid #10b981}.jobs-table tbody tr.inactive{border-left:4px solid #f59e0b}.job-status-indicator{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%}.job-status-indicator.active{color:#10b981}.job-status-indicator.inactive{color:#f59e0b}.job-name-link{color:#6366f1;text-decoration:none;font-weight:500;font-size:1rem}.job-name-link:hover{text-decoration:underline}.job-type-badge{display:inline-block;padding:.375rem .75rem;background-color:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:12px;font-size:.85rem;font-family:Courier New,monospace;white-space:nowrap}.latest-run-date{font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.table-status-cell{display:flex;align-items:center;justify-content:flex-start}.concurrent-policy-text{font-size:.9rem;color:var(--text-secondary);font-weight:500}.table-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-start}@media (max-width: 1400px){.jobs-table-container{overflow-x:auto}.jobs-table{min-width:1000px}}@media (max-width: 768px){.view-mode-selector{width:100%;justify-content:stretch}.view-mode-btn{flex:1;justify-content:center}.jobs-table{min-width:900px}.jobs-table th,.jobs-table td{padding:.75rem;font-size:.875rem}}.external-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin-left:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:4px;vertical-align:middle}.json-viewer{border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);overflow:hidden;margin:1rem 0}.json-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.json-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;padding:.25rem;transition:color .2s}.json-toggle:hover{color:var(--accent-color)}.json-copy-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.json-copy-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color)}.json-viewer-content{margin:0;padding:1rem;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.5;overflow-x:auto;white-space:pre;text-align:left;color:#a5d6ff;background-color:var(--bg-secondary);max-height:400px;overflow-y:auto}[data-theme=light] .json-viewer-content{color:#333}[data-theme=light] .json-key{color:#0969da}[data-theme=light] .json-string{color:#0a3069}[data-theme=light] .json-number{color:#0550ae}[data-theme=light] .json-boolean{color:#cf222e}[data-theme=light] .json-null{color:#6e7781}.json-key{color:#79c0ff}.json-string{color:#a5d6ff}.json-number{color:#79c0ff}.json-boolean{color:#ff7b72}.json-null{color:#ffa657}.json-preview{margin-left:.5rem;font-size:.8rem;color:#ffffff80;font-family:Fira Code,Consolas,monospace;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-color-scheme: light){.json-preview{color:#00000080}}.job-detail{max-width:1400px;margin:0 auto}.trigger-modal-content{text-align:left}.trigger-modal-description{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.6}.trigger-modal-description strong{color:var(--text-primary)}.trigger-option{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.trigger-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:var(--text-primary)}.trigger-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color)}.trigger-jobdata-input{margin-top:1rem}color: var(--text-muted); font-size: .8rem; } .trigger-current-data{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.trigger-current-data label{display:block;font-weight:500;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.trigger-current-data pre{background:var(--bg-tertiary);padding:.75rem;border-radius:6px;font-size:.8rem;color:var(--text-secondary);overflow-x:auto;max-height:150px;margin:0}.auto-disabled-warning{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md);margin-bottom:1.5rem}.auto-disabled-warning .warning-icon{display:flex;align-items:center;justify-content:center;color:#f59e0b;flex-shrink:0}.auto-disabled-warning .warning-content{flex:1;min-width:0}.auto-disabled-warning .warning-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#f59e0b}.auto-disabled-warning .warning-content p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.auto-disabled-warning .warning-action{padding:.5rem 1rem;background:#f59e0b;color:#000;border:none;border-radius:6px;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.auto-disabled-warning .warning-action:hover{background:#ffca28;transform:translateY(-1px)}.job-status-badge.auto-disabled{background-color:#ffc10733;color:#f59e0b;border:2px solid rgba(255,193,7,.4)}.auto-disable-card .info-value.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:16px;font-size:.85rem;font-weight:600}.auto-disable-card .info-value.badge.enabled{background-color:#10b98124;color:#10b981;border:1px solid rgba(16,185,129,.25)}.auto-disable-card .info-value.badge.disabled{background-color:#71717a1a;color:#71717a;border:1px solid rgba(158,158,158,.4)}.auto-disable-card .info-value.warning{color:#f59e0b;font-weight:600}.auto-disable-card .info-value.danger{color:#ef4444;font-weight:600}.detail-header{margin-bottom:2rem}.header-content{display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;gap:1rem!important}.header-actions{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap;flex-shrink:1;width:auto;overflow-x:auto}.action-btn{white-space:normal}.header-left{flex:1;display:flex;align-items:flex-start;gap:1rem}.back-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;font-size:1.2rem;transition:all .2s;flex-shrink:0;cursor:pointer;margin-top:0!important}.title-content{flex:1;display:flex;flex-direction:column;gap:1rem}.title-section{display:flex;gap:1rem}.title-section h1{font-size:2rem;margin:0}.job-status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.job-status-badge.active{background-color:#10b98124;color:#10b981;border:2px solid rgba(16,185,129,.25)}.job-status-badge.inactive{background-color:#71717a1a;color:#71717a;border:2px solid rgba(158,158,158,.4)}.job-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .8rem;background-color:#6366f11a;border:1px solid rgba(99,102,241,.2);color:#6366f1;border-radius:16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.tag-badge:hover{background-color:#6366f124;border-color:#6366f1;transform:translateY(-1px)}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.job-detail .card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.job-detail .card-header h3{margin:0;font-size:1.1rem;font-weight:600}.count-badge{padding:.25rem .75rem;background-color:#6366f124;border-radius:12px;font-size:.85rem;color:#6366f1}.card-body{padding:1.5rem}.info-row{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.info-row.full-width{grid-template-columns:1fr}.info-label{font-size:.85rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;text-align:left}.info-value{color:var(--text-primary);text-align:left}.info-value.code{font-family:Courier New,monospace;background-color:#6366f11a;padding:.25rem .5rem;border-radius:4px;display:inline-block}.info-value.description{line-height:1.6;margin:0}.worker-badge{background-color:#6366f124;border:1px solid rgba(99,102,241,.25);padding:.25rem .75rem;border-radius:12px;font-family:monospace;font-size:.9rem;display:inline-block}.job-data-preview{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:1rem;font-size:.85rem;overflow-x:auto;max-height:300px;color:var(--text-secondary)}.stats-card .card-body{display:flex;flex-direction:column;gap:1.5rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-value.danger{color:#ef4444}.occurrences-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.status-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}.status-chip{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.status-chip:hover{border-color:var(--accent-color);transform:translateY(-1px)}.signalr-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;white-space:nowrap}.indicator-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite;flex-shrink:0}.signalr-indicator.connected .indicator-dot{background-color:#10b981}.signalr-indicator.disconnected .indicator-dot{background-color:#ef4444}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;border:none;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;box-sizing:border-box}.trigger-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;min-height:40px;min-width:150px}.trigger-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f140}.trigger-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.edit-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);min-height:40px;min-width:150px}.edit-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color);transform:translateY(-2px)}.delete-btn{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);min-height:40px;min-width:150px}.delete-btn:hover{background-color:#ef444424;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.btn-icon{font-size:1rem;flex-shrink:0;line-height:1}.schedule-type-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:6px;font-size:.875rem;font-weight:600}.schedule-type-badge.recurring{background-color:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.schedule-type-badge.one-time{background-color:#ff980026;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.version-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#6366f11f;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:.875rem;font-weight:600;color:#6366f1;font-family:Courier New,monospace;margin:0!important}.version-history-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;margin-left:.75rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.version-history-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--bg-hover)}.version-history-modal{display:flex;flex-direction:column;gap:1.5rem;max-height:70vh;overflow-y:auto;min-width:700px}.current-version-info{text-align:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.version-badge-large{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#6366f124;border:2px solid rgba(99,102,241,.25);border-radius:8px;font-size:1.125rem;font-weight:700;color:#6366f1;font-family:Courier New,monospace;margin-bottom:.75rem}.version-note{color:var(--text-muted);font-size:.875rem;margin:0}.version-list{display:flex;flex-direction:column;gap:1rem}.version-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.version-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.version-number{display:flex;align-items:center;gap:.375rem;font-weight:600;font-size:.9375rem;color:#6366f1;font-family:Courier New,monospace}.version-date{font-size:.8125rem;color:var(--text-muted)}.version-content{padding:1rem}.version-history-modal::-webkit-scrollbar{width:8px}.version-history-modal::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.version-history-modal::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.version-history-modal::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 1200px){.content-grid{grid-template-columns:repeat(2,1fr)}.content-grid .config-card{grid-column:span 2}}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}.content-grid .config-card{grid-column:span 1}.header-actions{flex-wrap:wrap;padding-top:2rem}}@media (max-width: 768px){.job-detail{padding:0 .75rem}.detail-header{margin-bottom:1.25rem}.header-content{flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1rem}.header-left{flex-direction:column;gap:.5rem;align-items:stretch}.title-content{gap:.5rem}.title-section{flex-direction:column;align-items:flex-start;gap:.5rem}.title-section h1{font-size:1.25rem;word-break:break-word}.job-status-badge{font-size:.85rem;padding:.4rem .8rem}.job-tags{gap:.25rem}.tag-badge{font-size:.8rem;padding:.3rem .6rem}.header-actions{flex-direction:row!important;gap:.5rem;align-items:stretch;width:100%}.action-btn{min-width:44px;min-height:44px;width:auto;justify-content:center;font-size:1rem;padding:.75rem}.header-actions{gap:.5rem;align-items:stretch;width:100%}.action-btn>span:not(.icon){display:none}.signalr-indicator{width:100%;justify-content:center;font-size:.9rem;padding:.5rem}.content-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.info-card{border-radius:10px}.job-detail .card-header{padding:1rem;font-size:1rem}.card-body{padding:1rem}.info-row{grid-template-columns:1fr;gap:.5rem;padding:.5rem 0;font-size:.95rem}.info-label{font-size:.8rem}.info-value{font-size:.95rem}.worker-badge{font-size:.85rem;padding:.2rem .5rem}.version-badge{font-size:.8rem;padding:.25rem .5rem}.version-history-btn{font-size:.8rem;padding:.2rem .5rem;margin-left:.5rem}.stats-card .card-body{gap:1rem}.stat-value{font-size:1.3rem}.occurrences-card{border-radius:10px}.count-badge{font-size:.8rem;padding:.2rem .5rem}.version-history-modal{min-width:0;width:100vw;max-width:100vw;padding:.5rem;box-sizing:border-box}.version-content{padding:.5rem;font-size:.9rem;overflow-x:auto}.auto-disabled-warning{flex-direction:column;align-items:flex-start;gap:.75rem}.auto-disabled-warning .warning-action{width:100%;text-align:center}}@media (max-width: 480px){.job-detail{padding:0 .25rem}.title-section h1{font-size:1.05rem}.info-label,.info-value{font-size:.85rem}.stat-value{font-size:1.1rem}.job-detail .card-header{font-size:.95rem;padding:.75rem .5rem}.card-body{padding:.75rem}.version-history-modal{padding:.25rem}}.external-job-info{display:flex;align-items:center;gap:12px;margin-top:8px}.external-badge-large{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:6px}.external-id{font-size:.75rem;color:var(--text-secondary);font-family:monospace;background:var(--bg-secondary);padding:4px 8px;border-radius:4px}.action-btn:disabled,.trigger-btn:disabled,.delete-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.occurrence-table-container{width:100%}.status-filters-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.status-filters{display:flex;flex-wrap:wrap;gap:.5rem;flex:1;padding:1rem 1.5rem}s .status-chip{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem 1rem;border-radius:20px;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.status-chip .icon{margin-bottom:.2rem;margin-right:.3rem}.status-chip:hover{border-color:#6366f1;transform:translateY(-1px)}.status-chip.active{background-color:#6366f124;border-color:#6366f1;color:#6366f1}.status-chip.pending.active{background-color:#71717a1a;border-color:#71717a;color:#71717a}.status-chip.running.active{background-color:#3b82f624;border-color:#3b82f6;color:#3b82f6}.status-chip.success.active{background-color:#10b98124;border-color:#10b981;color:#10b981}.status-chip.failed.active{background-color:#ef444424;border-color:#ef4444;color:#ef4444}.status-chip.cancelled.active{background-color:#f59e0b24;border-color:#f59e0b;color:#f59e0b}.status-chip.queued.active{background-color:#ffc10733;border-color:#f59e0b;color:#f59e0b}.status-chip.timeout.active{background-color:#ff572233;border-color:#ff5722;color:#ff5722}.status-chip.unknown.active{background-color:#9c27b033;border-color:#9c27b0;color:#9c27b0}.status-chip.skipped.active{background-color:#607d8b33;border-color:#607d8b;color:#607d8b}.occurrence-table{width:100%;border-collapse:collapse;margin-top:0!important}.occurrence-table thead{background-color:var(--bg-tertiary)}.occurrence-table th{padding:1rem;text-align:left;font-weight:600;border-bottom:2px solid var(--border-color);color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.occurrence-table th.checkbox-column,.occurrence-table td.checkbox-column{width:50px;text-align:center}.occurrence-table td.checkbox-column input[type=checkbox],.occurrence-table th.checkbox-column input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#6366f1}.occurrence-table td.checkbox-column input[type=checkbox]:disabled{cursor:not-allowed;opacity:.3}.occurrence-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.occurrence-table tbody tr{border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .15s}.occurrence-table tbody tr:hover{background-color:var(--bg-hover)}.occurrence-running{background-color:#2196f30d!important}.occurrence-running:hover{background-color:#3b82f61a!important}.job-link,.occurrence-link{color:#6366f1;text-decoration:none;font-weight:500}.job-link:hover,.occurrence-link:hover{text-decoration:underline}.worker-badge{padding:.25rem .75rem;background-color:#6366f124;border:1px solid rgba(99,102,241,.25);border-radius:12px;font-size:.85rem;font-family:monospace;display:inline-block}.occurrence-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.25rem .75rem;gap:.25rem;border-radius:12px;font-size:.9em;white-space:nowrap;font-weight:500}.occurrence-status.status-success{background-color:#10b98124;color:#10b981}.occurrence-status.status-failed{background-color:#ef444424;color:#ef4444}.occurrence-status.status-running{background-color:#3b82f624;color:#3b82f6}.occurrence-status.status-pending{background-color:#71717a1a;color:#71717a}.occurrence-status.status-cancelled{background-color:#f59e0b24;color:#f59e0b}.occurrence-status.status-queued{background-color:#ffc10733;color:#f59e0b}.occurrence-status.status-timeout{background-color:#ff572233;color:#ff5722}.occurrence-status.status-unknown{background-color:#9c27b033;color:#9c27b0}.occurrence-status.status-skipped{background-color:#607d8b33;color:#607d8b}.bulk-delete-btn{padding:.5rem 1rem;border-radius:8px;border:1px solid #ef4444;background-color:#ef44441a;color:#ef4444;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bulk-delete-btn:hover{background-color:#ef444424;transform:translateY(-1px);box-shadow:0 4px 8px #ef444424}.bulk-delete-btn:active{transform:translateY(0)}.occurrence-table-container .pagination-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;flex-wrap:wrap;gap:1rem;border:0!important;margin-top:0!important}.pagination{display:flex;gap:.5rem;align-items:center;border:0!important}.pagination .btn{padding:.5rem .75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:36px}.pagination .btn-sm{padding:.375rem .75rem;font-size:.8125rem}.occurrence-status.status-running .material-symbols-outlined{animation:spin 2s linear infinite;display:inline-block}@media (max-width: 1024px){.occurrence-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:.5rem}.occurrence-table{min-width:700px;width:max-content}}@media (max-width: 900px){.occurrence-table-container{overflow-x:auto!important;-webkit-overflow-scrolling:touch;width:100vw!important;max-width:100vw!important;padding-bottom:.5rem}.occurrence-table{min-width:600px!important;width:max-content!important;display:block!important}}@media (max-width: 600px){.occurrence-table{min-width:550px}}.audit-info-wrapper{position:relative}.audit-info-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:all .2s;flex-shrink:0;padding:0}.audit-info-btn .icon{display:flex}.audit-info-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover)}.audit-info-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:300px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;animation:auditCardFadeIn .15s ease-out}@keyframes auditCardFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.audit-info-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border-bottom:1px solid var(--border-color);font-weight:600;font-size:.9rem;color:var(--text-primary)}.audit-info-body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.125rem}.audit-info-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.audit-info-row:last-child{border-bottom:none}.audit-info-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.audit-info-value{font-size:.875rem;color:var(--text-primary);padding-left:1.375rem}.audit-info-inline{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-top:.5rem}.audit-info-inline .audit-info-header{padding:.75rem 1rem;font-size:.85rem}.audit-info-inline .audit-info-body{padding:.25rem 1rem .75rem}.audit-info-inline .audit-info-row{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0}.audit-info-inline .audit-info-value{padding-left:0;text-align:right;font-size:.8rem}.audit-info-inline .audit-info-label{font-size:.7rem}@media (max-width: 768px){.audit-info-popover{min-width:260px;right:-8px}.audit-info-btn{min-width:44px;min-height:44px}.audit-info-inline .audit-info-row{flex-direction:column;align-items:flex-start}.audit-info-inline .audit-info-value{text-align:left;padding-left:1.375rem}}.json-string-converter{border:1px solid var(--border-color)}.json-string-converter .sidebar-card-title.clickable{cursor:pointer;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.json-string-converter .sidebar-card-title.clickable:hover{color:var(--primary-color)}.json-string-converter .expand-icon{margin-left:auto;opacity:.6}.converter-content{margin-top:.75rem}.converter-description{font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem}.converter-input-group,.converter-output-group{margin-bottom:.75rem}.converter-input-group label,.converter-output-group label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.converter-input-group textarea,.converter-output-group textarea{width:100%;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);resize:vertical;min-height:60px}.converter-input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.converter-output-group .output-textarea{background:var(--bg-tertiary);cursor:text}.converter-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.converter-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.75rem;padding:.375rem .5rem}.copy-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--primary-color);font-size:.7rem;cursor:pointer;padding:.125rem .25rem;border-radius:3px}.copy-btn:hover{background:var(--bg-secondary)}.output-hint{display:block;font-size:.7rem;color:var(--text-tertiary);margin-top:.25rem}.converter-example{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.converter-example strong{display:block;font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem}.converter-example pre{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.7rem;background:var(--bg-tertiary);padding:.5rem;border-radius:4px;overflow-x:auto;margin:0;color:var(--text-secondary)}.job-form-container{max-width:1400px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:var(--text-sm);margin-bottom:1rem;padding:.375rem .75rem;border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base);background-color:transparent;border:1px solid var(--border-color)}.back-link:hover{color:var(--text-primary);border-color:var(--border-light);background-color:var(--bg-hover)}.form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.form-header-left{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.back-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;font-size:1.1rem;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);flex-shrink:0;cursor:pointer;margin-top:1rem}.back-icon-btn:hover{color:var(--text-primary);border-color:var(--border-light);background-color:var(--bg-hover)}.form-header-content{flex:1;text-align:left}.job-form-container h1{font-size:2rem;margin:0 0 .5rem}.form-subtitle{color:var(--text-muted);font-size:1rem;margin:0}.error-message{background:#ef44440f;color:#ef4444;padding:.875rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;gap:.75rem;font-size:var(--text-sm)}.error-message:before{content:"⚠️";font-size:1.5rem}.job-form{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.main-form-section{display:flex;flex-direction:column;gap:1.5rem}.form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.form-section{padding:2rem;border-bottom:1px solid var(--border-color)}.form-section:last-child{border-bottom:none}.form-section-title{font-size:1.1rem;font-weight:600;margin:0 0 1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.form-section-title:before{content:"";width:4px;height:1.2rem;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:2px}.form-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.sidebar-card-title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.sidebar-card-title:before{content:"💡";font-size:1.2rem}.sidebar-card p{margin:0 0 .75rem;color:var(--text-muted);font-size:.9rem;line-height:1.5;text-align:left}.sidebar-card input[type=text],.sidebar-card input[type=number],.sidebar-card textarea,.sidebar-card select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .2s}.sidebar-card input::placeholder,.sidebar-card textarea::placeholder{color:var(--text-muted);opacity:.6}.sidebar-card input:focus,.sidebar-card textarea:focus,.sidebar-card select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.sidebar-card ul{margin:0;padding-left:1.5rem;color:var(--text-muted);font-size:.9rem}.sidebar-card li{margin-bottom:.5rem;text-align:left}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-muted);text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.required{color:#ef4444;margin-left:.25rem}.form-group input[type=text],.form-group input[type=datetime-local],.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.6}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.form-group small{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.85rem;line-height:1.4}.json-input{font-family:Courier New,monospace;font-size:.9rem;min-height:200px}.radio-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.75rem}.radio-option{display:flex;align-items:center;gap:.75rem;font-weight:400;text-transform:none;color:var(--text-primary);cursor:pointer;padding:1rem;border:1px solid var(--border-color);border-radius:8px;transition:all .2s}} .radio-option span{display:inline-block;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);transition:all .2s ease}.radio-option:hover{border-color:var(--accent-color);background-color:var(--bg-hover)}.radio-option input[type=radio]{cursor:pointer;accent-color:#6366f1;display:none}.radio-option input[type=radio]:checked{background:#2563eb;color:#fff;border-color:#2563eb}.checkbox-label{display:flex!important;align-items:center;gap:.75rem;font-weight:400!important;text-transform:none!important;color:var(--text-primary)!important;cursor:pointer;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;transition:all .2s;margin-top:.5rem}.checkbox-label:hover{border-color:var(--accent-color);background-color:var(--bg-hover)}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#6366f1}.tags-input-container{display:flex;flex-direction:column;gap:.75rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px;padding:.75rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.tag{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:#6366f1;color:#fff;border-radius:16px;font-size:.875rem;font-weight:500}.tag-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;margin-left:.25rem;opacity:.8;transition:opacity .2s}.tag-remove:hover{opacity:1}.tag-input-wrapper{display:flex;gap:.5rem}.tag-input-wrapper input{flex:1}.form-actions{display:flex;gap:1rem;align-items:center;flex-shrink:0}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-hover);transform:translateY(-1px)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f140}.btn:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;padding:3rem;font-size:1.1rem;color:var(--text-muted)}.switch-label{display:flex!important;flex-direction:column!important;gap:.75rem!important;font-weight:400!important;text-transform:none!important;color:var(--text-primary)!important;margin-top:.5rem}.switch-label-text{font-weight:500;color:var(--text-muted);text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.switch-container{display:flex;align-items:center;justify-content:center}.switch-input{display:none}.switch{position:relative;display:inline-block;width:52px;height:28px;background-color:var(--bg-tertiary);border-radius:28px;cursor:pointer;transition:background-color .3s;border:2px solid var(--border-color)}.switch-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--text-muted);border-radius:50%;transition:all .3s}.switch-input:checked+.switch{background-color:#6366f1;border-color:#6366f1}.switch-input:checked+.switch .switch-slider{transform:translate(24px);background-color:#fff}.switch-status{font-weight:600;color:var(--text-primary);min-width:60px}.switch-input:checked~.switch-status{color:#10b981}.switch-input:not(:checked)~.switch-status{color:var(--text-muted)}@media (max-width: 1024px){.job-form,.form-row{grid-template-columns:1fr}.form-sidebar{order:-1}}@media (max-width: 768px){.radio-group{grid-template-columns:1fr}.form-section{padding:1.5rem}.form-actions{flex-direction:column;padding:1.5rem}.btn{width:100%;justify-content:center}}.job-data-schema{background:linear-gradient(135deg,#6366f11a,#6366f10a);border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.schema-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:#6366f1;font-size:.9rem;flex-wrap:wrap}.schema-header .btn{margin-left:auto;font-size:.8rem;padding:.35rem .75rem}.schema-content{background:var(--bg-secondary);border-radius:6px;padding:.75rem}.schema-viewer{font-size:.85rem}.schema-properties{display:flex;flex-direction:column;gap:.5rem}.schema-property{background:#ffffff0d;border-radius:4px;padding:.5rem .75rem;border-left:3px solid transparent}.schema-property:hover{border-left-color:#6366f1;background:#ffffff14}.property-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.property-name{font-weight:600;color:var(--text-primary);font-family:Fira Code,monospace}.property-type{font-size:.75rem;padding:.15rem .4rem;border-radius:4px;font-weight:500;text-transform:lowercase}.property-type.type-string{background:#10b98124;color:#81c784}.property-type.type-integer,.property-type.type-number{background:#3b82f624;color:#64b5f6}.property-type.type-boolean{background:#f59e0b24;color:#ffb74d}.property-type.type-array{background:#9c27b033;color:#ba68c8}.property-type.type-object{background:#00bcd433;color:#4dd0e1}.property-required{font-size:.7rem;padding:.1rem .35rem;border-radius:3px;background:#ef444424;color:#ef5350;font-weight:600;text-transform:uppercase}.property-enum{font-size:.7rem;padding:.1rem .35rem;border-radius:3px;background:#ffc10733;color:#f59e0b;font-weight:500}.property-description{color:var(--text-secondary);font-size:.8rem;margin-top:.25rem;text-align:left}.property-enum-values{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;font-family:Fira Code,monospace;text-align:left}.property-default{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;text-align:left}.property-default code{background:var(--bg-secondary);padding:.1rem .3rem;border-radius:3px;font-family:Fira Code,monospace}.schema-toggle{margin-top:.75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.35rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.schema-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}.schema-raw{margin-top:.5rem;background:var(--bg-secondary);border-radius:4px;padding:.75rem;font-size:.75rem;overflow-x:auto;color:var(--text-secondary);font-family:Fira Code,Consolas,Monaco,monospace;max-height:200px;overflow-y:auto;white-space:pre;text-align:left;-moz-tab-size:2;tab-size:2;line-height:1.4}.schema-error,.schema-empty{color:var(--text-muted);font-style:italic;font-size:.85rem}.external-job-warning{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;margin-bottom:24px;background:linear-gradient(135deg,#8b5cf61a,#6366f11a);border:1px solid rgba(139,92,246,.3);border-radius:12px;border-left:4px solid #8b5cf6}.external-job-warning .warning-icon{color:#8b5cf6;flex-shrink:0;margin-top:2px}.external-job-warning .warning-content h3{margin:0 0 8px;color:#8b5cf6;font-size:1rem;font-weight:600}.external-job-warning .warning-content p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.form-card.disabled-section{opacity:.6;position:relative}.form-card.disabled-section:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:none}.form-card.disabled-section select:disabled,.form-card.disabled-section input:disabled{background:var(--bg-tertiary);cursor:not-allowed}.external-label{margin-left:12px;font-size:.75rem;font-weight:500;color:#8b5cf6;background:#8b5cf626;padding:4px 10px;border-radius:4px}.radio-option.disabled{opacity:.5;cursor:not-allowed}.external-label-small{display:block;font-size:.65rem;font-weight:500;color:#8b5cf6;margin-top:4px}.switch.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary)!important}.sidebar-card.disabled-card{opacity:.6;position:relative}.sidebar-card.disabled-card .sidebar-card-title{color:var(--text-muted)}.occurrence-detail{max-width:1400px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem;border-radius:8px;transition:all .2s;background-color:var(--bg-secondary);border:1px solid transparent}.back-link:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(-4px)}.back-link .back-icon{font-size:1rem;transition:transform .2s}.back-link:hover .back-icon{transform:translate(-2px)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.page-header-left{flex:1;display:flex;align-items:flex-start;gap:1rem}.page-header h1{font-size:2rem;margin:0}.back-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;font-size:1.2rem;transition:all .2s;flex-shrink:0;cursor:pointer}.back-icon-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(-2px)}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;box-sizing:border-box;border:none}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f140}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.signalr-status{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.signalr-status.connected{background-color:#10b9811a;color:#10b981;border:1px solid rgba(76,175,80,.3)}.signalr-status.reconnecting{background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.signalr-status.disconnected{background-color:#9e9e9e1a;color:#71717a;border:1px solid rgba(158,158,158,.3)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.signalr-status.connected .status-dot{background-color:#10b981}.signalr-status.reconnecting .status-dot{background-color:#f59e0b}.signalr-status.disconnected .status-dot{background-color:#71717a;animation:none}.occurrence-info-card{border:1px solid var(--border-color);border-radius:12px;padding:0;margin-bottom:2rem;overflow:hidden}.occurrence-info-card h2{margin:0;padding:1.25rem 1.5rem;font-size:1.2rem;font-weight:600;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;padding:1.5rem}.info-item{display:flex;flex-direction:column;padding:1rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)!important}.info-item:nth-child(2n){border-right:none}.info-item:nth-last-child(-n+2){border-bottom:none}.info-item.full-width{grid-column:1 / -1;border-right:none;border-bottom:none!important}.info-item label{font-weight:500;color:var(--text-muted);font-size:.8rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:1rem;color:var(--text-primary)}.occurrence-status{padding:.3rem .8rem;border-radius:12px;font-size:.85rem;white-space:nowrap;display:inline-block;width:fit-content;font-weight:500}.occurrence-status.success{background-color:#10b98124;color:#10b981;border:1px solid rgba(16,185,129,.25)}.occurrence-status.failed{background-color:#ef444424;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.occurrence-status.running{background-color:#3b82f624;color:#3b82f6;border:1px solid rgba(33,150,243,.4)}.occurrence-status.queued{background-color:#ffc10733;color:#f59e0b;border:1px solid rgba(255,193,7,.4)}.occurrence-status.cancelled{background-color:#71717a1a;color:#71717a;border:1px solid rgba(158,158,158,.4)}.occurrence-status.timeout{background-color:#ff572233;color:#ff5722;border:1px solid rgba(255,87,34,.4)}.occurrence-status.unknown{background-color:#9c27b033;color:#9c27b0;border:1px solid rgba(156,39,176,.4)}.occurrence-status.skipped{background-color:#607d8b33;color:#607d8b;border:1px solid rgba(96,125,139,.4)}.job-link{color:#6366f1;text-decoration:none;font-weight:500;font-size:.95rem;transition:all .2s;margin:auto}.job-link:hover{text-decoration:underline;color:#4f46e5}.job-info-container{display:flex;flex-direction:column;gap:.5rem}.job-name-display{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.error-box{background-color:#f443360d;border-left:4px solid #ef4444;padding:1rem;border-radius:8px}.error-box pre{background-color:var(--bg-secondary);padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.5;color:#ef4444;margin:.5rem 0 0;border:1px solid rgba(239,68,68,.2)}.result-data{background-color:var(--bg-tertiary);padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.5;margin:.5rem 0 0;border:1px solid var(--border-color)}.logs-section{margin-top:2rem}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.logs-header h2{font-size:1.5rem;margin:0}.log-count{background-color:#6366f124;color:#6366f1;padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:500;border:1px solid rgba(99,102,241,.25)}.logs-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:0;max-height:600px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;scroll-behavior:smooth;position:relative}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.log-entry{padding:.75rem 1.25rem;margin:0;border-radius:0;border-left:3px solid transparent;background-color:transparent;transition:background-color .15s ease;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-color);font-size:.85rem;position:relative}.log-entry:hover{background-color:var(--bg-hover)}.log-entry:last-child{border-bottom:none}.log-entry.log-error{border-left-color:#ef4444;background-color:#f4433608}.log-entry.log-warning{border-left-color:#f59e0b;background-color:#ff980008}.log-entry.log-information,.log-entry.log-info{border-left-color:#3b82f6}.log-entry.log-debug{border-left-color:#9c27b0}.log-time{color:var(--text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;font-family:Courier New,monospace;flex-shrink:0;width:75px}.log-level{font-weight:600;text-transform:uppercase;font-size:.7rem;padding:.3rem .6rem;border-radius:6px;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;width:110px;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.level-error{background-color:#f4433626;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.level-warning{background-color:#ff980026;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.level-information,.level-info{background-color:#3b82f61f;color:#3b82f6;border:1px solid rgba(33,150,243,.3)}.level-debug{background-color:#9c27b026;color:#9c27b0;border:1px solid rgba(156,39,176,.3)}.log-message{color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.log-data-inline{flex-shrink:0}.log-data-inline summary{cursor:pointer;color:#6366f1;font-weight:500;font-size:.75rem;-webkit-user-select:none;user-select:none;padding:.3rem .6rem;transition:all .2s ease;border-radius:6px;background-color:#6366f11a;border:1px solid rgba(99,102,241,.14);display:inline-block}.log-data-inline summary:hover{color:#747bff;background-color:#6366f124;border-color:#6366f133}.log-data-inline[open] summary{background-color:#6366f124;border-color:#6366f140}.log-data-inline pre{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-top:.5rem;overflow-x:auto;font-size:.75rem;line-height:1.5;color:var(--text-secondary);position:absolute;right:1rem;max-width:500px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-lg)}.log-data-inline pre::-webkit-scrollbar{width:6px;height:6px}.log-data-inline pre::-webkit-scrollbar-track{background:var(--bg-secondary)}.log-data-inline pre::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.correlation-id{font-family:Courier New,monospace;font-size:.85rem;color:var(--text-muted);background-color:#6366f11a;padding:.25rem .5rem;border-radius:4px;display:inline-block}.status-history-section{margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;margin:0;color:var(--text-primary)}.history-count{background-color:#6366f124;color:#6366f1;padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:500;border:1px solid rgba(99,102,241,.25)}.status-history-timeline{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;position:relative}.status-history-timeline:before{content:"";position:absolute;left:3.7rem;top:2.5rem;bottom:2.5rem;width:2px;background:linear-gradient(180deg,#6366f166,#6366f124,#6366f166);z-index:0}.status-change-item{display:flex;align-items:center;gap:2rem;margin-bottom:1rem;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:all .2s ease;position:relative;padding:1rem 1rem 1rem 4rem;z-index:1}.status-change-item:before{content:"";position:absolute;left:1.7rem;width:12px;height:12px;border-radius:50%;background-color:#6366f1;border:3px solid var(--bg-card);z-index:1;box-shadow:0 0 8px #6366f180}.status-change-item:last-child{margin-bottom:0}.status-change-time{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;font-family:Courier New,monospace;min-width:200px;white-space:nowrap}.status-change-flow{display:flex;align-items:center;gap:1rem;flex:1}.status-arrow{color:var(--text-muted);flex-shrink:0}@media (max-width: 1024px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.status-change-item{flex-direction:column;align-items:flex-start;gap:1rem}.status-change-time{min-width:auto}}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}.info-item{border-right:none}.info-item:not(:last-child){border-bottom:1px solid #222}.page-header{flex-direction:column;gap:1rem}.logs-header{flex-direction:column;align-items:flex-start;gap:.5rem}.log-entry{flex-wrap:wrap;padding:.75rem}.logs-container{max-height:400px}.status-history-timeline:before{display:none}.status-change-item{padding-left:1rem}.status-change-item:before{left:.5rem}}.version-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#6366f11f;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:.875rem;font-weight:600;color:#6366f1;font-family:Courier New,monospace;width:fit-content;align-self:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.occurrence-status.running:not(.no-animate) .material-symbols-outlined{animation:spin 2s linear infinite;display:inline-block}.external-badge-detail{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:500;background:linear-gradient(135deg,#8b5cf626,#6366f126);color:#8b5cf6;border:1px solid rgba(139,92,246,.3);border-radius:6px;font-family:monospace}.btn:disabled{opacity:.4;cursor:not-allowed}.worker-list-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0;font-size:2rem;font-weight:700}.worker-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border-color);transition:all .3s;flex-direction:row!important}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.stat-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);background:#6366f11f;color:var(--accent-color);flex-shrink:0}.stat-card.active .stat-icon{background:#10b9811f;color:#10b981}.stat-card.running .stat-icon{background:#3b82f61f;color:#3b82f6}.stat-content{flex:1;text-align:left}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.worker-cards{display:flex;flex-direction:column;gap:1.5rem}.worker-card{background:var(--bg-card);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s}.worker-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.worker-card.expanded{border-left:4px solid var(--accent-color);box-shadow:var(--shadow-md)}.worker-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:1rem}.worker-title{display:flex;align-items:center;gap:1rem;flex:1}.worker-title h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.worker-meta{display:flex;align-items:center;gap:1rem}.heartbeat{display:inline-flex;align-items:center;font-size:.85rem;gap:.5rem;color:var(--text-muted);padding:.3rem .6rem;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.expand-icon{font-size:1.2rem;color:var(--text-muted);transition:transform .3s}.header-title{display:inline-flex!important;align-items:center!important;gap:.5rem!important}.worker-card.expanded .expand-icon{transform:rotate(180deg)}.worker-details-wrapper{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--transition-slow),opacity var(--transition-base)}.worker-details-wrapper.expanded{grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--transition-slow),opacity var(--transition-base) .05s}.worker-details{overflow:hidden}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:16px;font-size:.85rem;font-weight:600;border:2px solid}.status-badge.active{background-color:#10b9811a;color:#10b981;border-color:#10b98140}.status-badge.inactive{background-color:#ef44441a;color:#ef4444;border-color:#ef444440}.status-badge.zombie{background-color:#f59e0b1a;color:#f59e0b;border-color:#f59e0b40}.status-badge.unknown{background-color:#71717a1a;color:#71717a;border-color:#71717a40}.worker-summary{display:flex;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item .label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.summary-item .value{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.worker-jobs,.worker-patterns{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.worker-jobs .label,.worker-patterns .label{font-size:.85rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.job-tags,.pattern-tags{display:flex;gap:.5rem;flex-wrap:wrap}.job-tag{background-color:#6366f114;color:var(--accent-color);padding:.2rem .625rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;border:1px solid rgba(99,102,241,.2);transition:background-color var(--transition-base)}.job-tag:hover{background-color:#6366f124}.pattern-tag{background-color:#10b98114;color:#10b981;padding:.2rem .625rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-family:Courier New,monospace;border:1px solid rgba(16,185,129,.2);transition:background-color var(--transition-base)}.pattern-tag:hover{background-color:#10b98124}.job-pattern-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem}.job-name-tag{background-color:#6366f11a;color:var(--accent-color);padding:.2rem .5rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;border:1px solid rgba(99,102,241,.25);white-space:nowrap}.job-pattern-group .pattern-tag{margin-left:.25rem}.worker-details{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.detail-section{margin-bottom:1.5rem}.detail-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.metadata-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.metadata-item .label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.metadata-item .value{color:var(--text-primary);font-weight:500}.table-container{overflow-x:auto;overflow-y:hidden;margin:0 -.5rem;padding:0 .5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.job-configs-table,.instances-table{width:100%;border-collapse:collapse;font-size:.9rem;background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;min-width:600px}.job-configs-table th,.job-configs-table td,.instances-table th,.instances-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.job-configs-table th,.instances-table th{background-color:var(--bg-tertiary);font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.job-configs-table td,.instances-table td{color:var(--text-primary)}.job-configs-table tbody tr:hover,.instances-table tbody tr:hover{background-color:var(--bg-hover)}.job-configs-table code,.instances-table code{background-color:#6366f114;padding:.2rem .4rem;border-radius:var(--radius-xs);font-size:var(--text-xs);color:var(--accent-color);border:1px solid rgba(99,102,241,.2)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.empty-state p{font-size:1.1rem;color:var(--text-muted);margin:0 0 .5rem}.empty-state small{color:var(--text-secondary);font-size:.9rem}.loading,.error{text-align:center;padding:3rem;font-size:1.1rem;color:var(--text-muted)}.error{color:var(--error-color)}@media (max-width: 768px){.worker-stats{grid-template-columns:repeat(2,1fr)}.worker-summary{gap:1rem}.metadata-grid{grid-template-columns:1fr}.table-container{margin-left:-1rem;margin-right:-1rem;border-radius:0}.job-configs-table,.instances-table{font-size:.8rem;min-width:800px}.job-configs-table th,.job-configs-table td,.instances-table th,.instances-table td{padding:.5rem}.table-container:after{content:"← Swipe to see more →";display:block;text-align:center;padding:.5rem;font-size:.75rem;color:#666;background:linear-gradient(90deg,transparent,#1a1a1a 20%,#1a1a1a 80%,transparent)}}.worker-card.external{border-left:4px solid #8b5cf6}.worker-card.external .worker-header{background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,transparent 50%)}.external-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;margin-left:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:4px}.source-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3);border-radius:6px;margin-right:12px}.execution-list{max-width:1400px;margin:0 auto}.execution-list .pagination .btn-sm{padding:.375rem .75rem;min-width:80px!important;font-size:.8125rem}.page-header{margin-bottom:1rem}.page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0 0 1.5rem}.search-section{margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.search-box{position:relative;width:100%;max-width:600px}.search-input{width:100%;padding:.5rem 2.5rem .5rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.occurrence-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.loading,.error,.empty-state{text-align:center;padding:3rem;font-size:1.1rem}.error{color:#dc2626}@media (max-width: 768px){.search-section{padding:1rem}.search-box{max-width:100%}.page-header h1{font-size:1.5rem}}.tags-page{max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.subtitle{color:var(--text-muted);margin:0;font-size:1rem}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.tag-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s;font-size:1.1rem;font-weight:500;color:var(--text-primary);text-align:left}.tag-card:hover{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#6366f1;transform:translateY(-4px);box-shadow:0 8px 20px #6366f140;color:#fff}.tag-icon{font-size:1.8rem;flex-shrink:0}.tag-name{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading,.error,.empty-state{text-align:center;padding:4rem 2rem;font-size:1.1rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.empty-state{color:var(--text-muted)}@media (max-width: 768px){.tags-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tag-card{padding:1.25rem}}.db-stats-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);grid-column:1 / -1}.db-stats-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.db-stats-card .card-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.db-stats-card .refresh-btn-small{background:transparent;border:1px solid var(--border-color);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--text-muted);transition:all .2s;display:flex;align-items:center;justify-content:center}.db-stats-card .refresh-btn-small:hover{background:#6366f11a;border-color:#6366f1;color:#6366f1}.db-stats-card .card-content{padding:1.5rem}.loading-spinner,.error-message{padding:2rem;text-align:center;color:#999}.error-message{color:#ef4444}.db-stat-summary{margin-bottom:2rem;padding:1.5rem;background:#6366f11a;border-radius:8px;border:1px solid rgba(99,102,241,.2)}.stat-item-large{display:flex;align-items:center;gap:1rem}.stat-icon-large{color:#6366f1}.stat-value-large{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#999;font-weight:500}.db-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.table-list{display:flex;flex-direction:column;gap:.75rem}.table-item{padding:.75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.table-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.table-name{font-weight:500;color:var(--text-primary);font-family:Courier New,monospace;font-size:.875rem}.table-size{font-size:.875rem;color:#999}.progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#747bff);border-radius:3px;transition:width .3s ease}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.badge-success{background:#10b9811f;color:#10b981;border:1px solid rgba(76,175,80,.3)}.badge-error{background:#f4433626;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.badge-warning{background:#ff980026;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.badge-info{background:#3b82f61f;color:#3b82f6;border:1px solid rgba(33,150,243,.3)}.badge-secondary{background:#9e9e9e26;color:#71717a;border:1px solid rgba(158,158,158,.3)}.cache-stats{padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.cache-metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.cache-metric{padding:.75rem;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-color)}.metric-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;font-weight:500}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.progress-success{background:linear-gradient(90deg,#10b981,#66bb6a)}.progress-info{background:linear-gradient(90deg,#3b82f6,#42a5f5)}.progress-warning{background:linear-gradient(90deg,#f59e0b,#f59e0b)}.cache-details{display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:1rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.index-list{display:flex;flex-direction:column;gap:.75rem}.index-item{padding:.75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.index-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.index-name{font-weight:500;color:var(--text-primary);font-family:Courier New,monospace;font-size:.875rem}.index-name-small{color:var(--text-muted);font-size:.75rem}.index-stats-row{display:flex;gap:1rem;flex-wrap:wrap}.index-stat{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.bloat-list{display:flex;flex-direction:column;gap:.75rem}.bloat-item{padding:.75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.bloat-item.bloat-critical{border-left:3px solid #ef4444;background:#f443360d}.bloat-item.bloat-warning{border-left:3px solid #f59e0b;background:#ff98000d}.bloat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bloat-table-name{font-weight:500;color:var(--text-primary);font-family:Courier New,monospace;font-size:.875rem}.bloat-stats-row{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.bloat-stat{display:flex;align-items:center;gap:.25rem;font-size:.75rem}.bloat-stat .label{color:var(--text-muted)}.bloat-stat .value{color:var(--text-primary);font-weight:600}.bloat-meta{display:flex;gap:1rem;padding-top:.5rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--text-muted)}.recommendation-box{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:.875rem;color:var(--text-secondary);margin-top:1rem}.recommendation-urgent{background:#ef44441a;border-color:#ef444433;color:#ef4444}@media (max-width: 768px){.db-stats-card .card-header,.db-stats-card .card-content{padding:1rem}.stat-value-large{font-size:1.5rem}.table-info,.bloat-header,.index-header{flex-direction:column;align-items:flex-start;gap:.25rem}.occ-sizes{flex-direction:column;gap:.25rem}}.service-memory-stats{grid-column:1 / -1}.service-memory-stats .card-header{display:flex;justify-content:space-between;align-items:center}.service-memory-stats .header-actions{display:flex;gap:.5rem}.service-memory-stats .refresh-btn-small{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.service-memory-stats .refresh-btn-small:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.memory-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.memory-stat-box{text-align:center;padding:1.25rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.memory-stat-box:hover{border-color:var(--accent-color);transform:translateY(-2px)}.memory-stat-box.warning{border-color:#ff980080;background:#ff98000d}.memory-stat-box.error{border-color:#f4433680;background:#f443360d}.memory-stat-value{display:block;font-size:1.75rem;font-weight:700;margin-bottom:.25rem;line-height:1.2}.memory-stat-value.primary{color:#6366f1}.memory-stat-value.success{color:#10b981}.memory-stat-value.warning{color:#f59e0b}.memory-stat-value.error{color:#ef4444}.memory-stat-value.info{color:#3b82f6}.memory-stat-value.secondary{color:#999}.memory-stat-label{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.section-title{font-size:1rem;font-weight:600;margin:1.5rem 0 1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";display:inline-block;width:4px;height:16px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:2px}.service-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem}.service-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .2s}.service-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.service-card.has-leak{border-color:#f4433680;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(244,67,54,.05) 100%)}.service-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.service-card-title{display:flex;align-items:center;gap:.5rem}.service-card-title h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.service-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.status-dot.running{background-color:#10b981;box-shadow:0 0 8px #4caf5080}.status-dot.stopped{background-color:#999;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.service-card-body{padding:1rem 1.25rem}.service-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.service-stat-item{display:flex;flex-direction:column;padding:.75rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.service-stat-item.full-width{grid-column:1 / -1}.service-stat-item .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.service-stat-item .stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.service-stat-item .stat-value.growth-positive{color:#ef4444}.service-stat-item .stat-value.growth-negative{color:#10b981}.service-stat-item .stat-value.growth-neutral{color:#999}.memory-bar-container{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.memory-bar-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.memory-bar{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;position:relative}.memory-bar-fill{height:100%;border-radius:4px;transition:width .5s ease;background:linear-gradient(90deg,#10b981,#8bc34a)}.memory-bar-fill.warning{background:linear-gradient(90deg,#f59e0b,#f59e0b)}.memory-bar-fill.error{background:linear-gradient(90deg,#ef4444,#e91e63)}.gc-stats{margin-top:1rem;padding:.75rem;background:#6366f10a;border:1px solid rgba(99,102,241,.1);border-radius:6px}.gc-stats-title{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.gc-stats-row{display:flex;justify-content:space-between;gap:1rem}.gc-stat{text-align:center;flex:1}.gc-stat-value{font-size:1.1rem;font-weight:600;color:#6366f1}.gc-stat-label{font-size:.65rem;color:#999;text-transform:uppercase}.leak-warning{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#ef4444;font-size:.8rem;font-weight:500}.memory-stats-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#999;gap:.75rem}.memory-stats-loading .spinner{width:24px;height:24px;border:3px solid #333;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.memory-stats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#999;text-align:center}.memory-stats-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.memory-stats-timestamp{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem;font-size:.75rem;color:#666}@media (prefers-color-scheme: light){.memory-stat-box{background-color:#fff;border-color:#ddd}.memory-stat-box.warning{background:#ff98000d}.memory-stat-box.error{background:#f443360d}.service-card{background-color:#fff;border-color:#ddd}.service-card:hover{background-color:#fafafa}.service-card.has-leak{background:linear-gradient(135deg,#fff,#f443360d)}.service-card-header{background:#6366f105;border-bottom-color:#ddd}.service-card-title h4{color:#111}.service-stat-item{background:#00000005;border-color:#0000000d}.service-stat-item .stat-value{color:#111}.memory-bar{background:#e0e0e0}.gc-stats{background:#6366f108;border-color:#6366f11a}.section-title{color:#111}.service-memory-stats .refresh-btn-small{background:#fff;border-color:#ddd}.service-memory-stats .refresh-btn-small:hover{background:#6366f10a}.memory-bar-container{border-top-color:#ddd}}@media (max-width: 768px){.memory-overview{grid-template-columns:repeat(2,1fr)}.service-cards-grid{grid-template-columns:1fr}.memory-stat-value{font-size:1.5rem}}.admin-dashboard{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:2rem;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:.75rem}.header-title{display:inline-flex;align-items:center;gap:.5rem}.header-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-base),box-shadow var(--transition-base);white-space:nowrap}.refresh-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.auto-refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base);white-space:nowrap}.auto-refresh-btn:hover{background-color:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.auto-refresh-btn.active{background-color:#10b98114;border-color:#10b9814d;color:#10b981}.alert{display:flex;gap:1rem;padding:1rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:2rem;border:1px solid var(--border-color);background:var(--bg-secondary);text-align:left}.alert-warning{border-color:#f59e0b40;background:#f59e0b0f}.alert-warning strong{color:#f59e0b}.alert-warning p{color:var(--text-secondary)}.alert-error{border-color:#ef444440;background:#ef44440f}.alert-error strong{color:#ef4444}.alert-error p{color:var(--text-secondary)}.alert strong{display:block;margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.alert p{margin:.25rem 0 0;line-height:1.5}.alert .material-symbols-outlined{flex-shrink:0;font-size:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.dashboard-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.dashboard-card.queue-health{grid-column:1 / -1}.card-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.card-content{padding:1.5rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin-bottom:.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-base)}.status-item:hover{border-color:var(--accent-color)}.status-label{color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.circuit-breaker .circuit-status{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.circuit-breaker .circuit-state-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s;text-align:center}.circuit-breaker .circuit-state-item:hover{border-color:var(--accent-color);transform:translateY(-2px)}.circuit-breaker .circuit-state-item .status-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.circuit-breaker .circuit-message{padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.circuit-breaker .circuit-message p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.5}.circuit-breaker .stats-grid{margin-bottom:0;grid-template-columns:repeat(2,1fr)}.circuit-breaker .stat-box{padding:1rem;min-height:90px;display:flex;flex-direction:column;justify-content:center;align-items:center}.circuit-breaker .stat-value{font-size:1.75rem;line-height:1.2;word-break:break-word;text-align:center}.circuit-breaker .stat-label{font-size:.75rem;margin-top:.25rem;text-align:center}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:.25rem}.badge-success{background-color:#10b98124;color:#10b981}.badge-error{background-color:#ef444424;color:#ef4444}.badge-warning{background-color:#f59e0b24;color:#f59e0b}.badge-default{background-color:#71717a1a;color:#999}.control-buttons{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s;width:100%;justify-content:center;font-size:1rem}.btn-error{background:linear-gradient(135deg,#ef4444,#e91e63);color:#fff}.btn-error:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.btn-success{background:linear-gradient(135deg,#10b981,#8bc34a);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-box{text-align:center;padding:1.5rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s}.stat-box:hover{border-color:var(--accent-color);transform:translateY(-2px)}.stat-value{display:block;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;line-height:1}.stat-value.primary{color:var(--accent-color)}.stat-value.success{color:#10b981}.stat-value.secondary{color:var(--text-muted)}.stat-value.info{color:#3b82f6}.stat-value.warning{color:#f59e0b}.stat-value.error{color:#ef4444}.stat-label{display:block;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.queue-table{width:100%}.queue-table-header,.queue-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:1rem;padding:1rem 1.5rem;align-items:center}.queue-table-header{background-color:var(--bg-secondary);border-radius:8px;font-weight:600;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.queue-table-row{border:1px solid var(--border-color);border-radius:8px;margin-bottom:.5rem;transition:all .2s;color:var(--text-primary)}.queue-table-row:hover{border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(4px)}.queue-col-messages,.queue-col-consumers,.queue-col-health{text-align:center}.queue-col-capacity{display:flex;align-items:center;gap:.75rem}.capacity-bar-container{flex:1;height:10px;background-color:var(--bg-secondary);border-radius:5px;overflow:hidden;border:1px solid var(--border-color)}.capacity-bar{height:100%;transition:width .5s ease;border-radius:5px}.capacity-success{background:linear-gradient(90deg,#10b981,#8bc34a)}.capacity-warning{background:linear-gradient(90deg,#f59e0b,#f59e0b)}.capacity-error{background:linear-gradient(90deg,#ef4444,#e91e63)}.capacity-text{font-size:.85rem;color:var(--text-muted);min-width:45px;text-align:right;font-weight:600}.text-error{color:#ef4444;font-weight:700}.text-warning{color:#f59e0b;font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;max-width:540px;width:90%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.3rem;display:flex;align-items:center;gap:.5rem;color:#ef4444;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-muted);transition:all .2s;border-radius:4px}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-content{padding:1.5rem}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end}.modal-footer .btn{width:auto;min-width:120px}.form-group{margin-top:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.9rem;background:var(--bg-secondary);color:var(--text-primary);resize:vertical;transition:all .2s}.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.form-group textarea::placeholder{color:var(--text-muted)}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.2rem;color:var(--text-muted)}@media (max-width: 768px){.admin-dashboard{padding:0}.dashboard-hero{padding:1.5rem;margin-bottom:1.5rem}.hero-content h1{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-meta{flex-wrap:wrap}.icon-button,.toggle-button{font-size:.85rem}.dashboard-grid{padding:0 1rem;grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:1.75rem}.header-actions{width:100%;flex-direction:column}.refresh-btn,.auto-refresh-btn{width:100%;justify-content:center}.stats-grid,.circuit-breaker .stats-grid{grid-template-columns:repeat(2,1fr)}.circuit-breaker .circuit-status{grid-template-columns:1fr}.circuit-breaker .stat-value{font-size:1.5rem}.queue-table-header,.queue-table-row{grid-template-columns:1fr;gap:.5rem}.queue-table-header{display:none}.queue-table-row{padding:1rem}.queue-col-name:before,.queue-col-messages:before,.queue-col-consumers:before,.queue-col-health:before,.queue-col-capacity:before{content:attr(data-label);font-weight:600;color:#999;margin-right:.5rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.queue-col-messages,.queue-col-consumers,.queue-col-health{text-align:left}.queue-col-capacity{grid-column:1 / -1}.modal{width:95%;max-height:95vh}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}@media (prefers-color-scheme: light){.admin-dashboard{background-color:#f4f4f9}.page-header h1{color:#111}.refresh-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.auto-refresh-btn{background-color:#fff;color:#213547;border:1px solid #ddd}.auto-refresh-btn:hover{background-color:#f0f0f0;border-color:#6366f1}.auto-refresh-btn.active{background-color:#10b9811a;border-color:#10b981;color:#10b981}.alert{background:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 8px #00000014}.alert-warning{border-left-color:#f59e0b;border-color:#f59e0b33;background:linear-gradient(135deg,#fff9f0,#fffaf5)}.alert-warning strong{color:#e65100}.alert-warning p{color:#f57c00}.alert-error{border-left-color:#ef4444;border-color:#ef444433;background:linear-gradient(135deg,#fff5f5,#ffebee)}.alert-error strong{color:#c62828}.alert-error p{color:#dc2626}.dashboard-card{background:linear-gradient(135deg,#fff,#f3f4f6);border:1px solid #ddd}.card-header{border-bottom:1px solid #ddd}.card-header h3{color:#111}.status-item{background-color:#fff;border:1px solid #ddd}.status-item:hover{border-color:#6366f1}.stat-box{background-color:#fff;border:1px solid #ddd}.queue-table-header{background-color:#fff}.queue-table-row{border:1px solid #ddd;background:#fff}.queue-table-row:hover{background-color:#6366f10a}.capacity-bar-container{background-color:#f0f0f0;border:1px solid #ddd}.modal{background:linear-gradient(135deg,#fff,#f3f4f6);border:1px solid #ddd}.modal-header{border-bottom:1px solid #ddd}.modal-header h3{color:#ef4444}.modal-close{color:#666}.modal-close:hover{color:#111;background:#0000000d}.modal-footer{border-top:1px solid #ddd}.form-group label{color:#111}.form-group textarea{background:#fff;border:1px solid #ddd;color:#111}.form-group textarea:focus{border-color:#6366f1}.form-group textarea::placeholder{color:#999}.btn-secondary{background:#f0f0f0;color:#111;border:1px solid #ddd}.btn-secondary:hover{background:#e0e0e0}.circuit-breaker .circuit-state-item{background-color:#fff;border:1px solid #ddd}.circuit-breaker .circuit-state-item:hover{border-color:#6366f1}.circuit-breaker .circuit-message{background-color:#fff;border:1px solid #ddd}.circuit-breaker .circuit-message p{color:#111}.circuit-breaker .stat-box{background-color:#fff;border:1px solid #ddd}}.configuration{max-width:1400px;margin:0 auto}.configuration-header{margin-bottom:1.5rem}.configuration-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.375rem}.configuration-subtitle{color:var(--text-muted);font-size:1rem;margin:0}.config-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.5rem}.config-section h2{font-size:1.3rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.config-section h3{font-size:1.1rem;font-weight:600;margin:2rem 0 1rem;color:var(--text-primary)}.section-description{color:var(--text-muted);font-size:.9rem;margin:-.5rem 0 1.5rem;line-height:1.5}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.config-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-base);align-items:flex-start}.config-item:hover{border-color:var(--border-light)}.config-label{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.config-value{font-size:1.05rem;font-weight:500;color:var(--text-primary);word-break:break-word}.config-value.code{font-family:Courier New,monospace;font-size:var(--text-xs);background-color:#6366f114;padding:.3rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(99,102,241,.2)}.config-value.badge{display:inline-flex;align-items:center;justify-content:flex-start;gap:.4rem;padding:.5rem .9rem;border-radius:16px;font-size:.85rem;font-weight:600;width:fit-content;border:2px solid;line-height:1.2;vertical-align:middle}.config-header-title{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem}.config-value.badge.production{background-color:#ef444424;color:#ef4444;border-color:#ef444440}.config-value.badge.development{background-color:#3b82f624;color:#3b82f6;border-color:#2196f366}.config-value.badge.enabled{background-color:#10b98124;color:#10b981;border-color:#10b98140}.config-value.badge.disabled{background-color:#71717a1a;color:#71717a;border-color:#9e9e9e66}.info-box{display:flex;gap:1rem;margin-top:1.5rem;padding:1.25rem;background-color:#3b82f61a;border:1px solid rgba(33,150,243,.3);border-radius:8px;border-left:4px solid #3b82f6}.info-box>.material-symbols-outlined,.info-box>span:first-child{color:#3b82f6;flex-shrink:0}.info-content{flex:1;text-align:left}.info-content strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.info-content ul{margin:0;padding-left:1.25rem;color:var(--text-muted);font-size:.9rem;line-height:1.6}.info-content li{margin-bottom:.25rem}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.resource-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.resource-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.resource-icon{font-size:2rem}.resource-title{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.resource-value{font-size:2.5rem;font-weight:700;color:var(--accent-color);text-align:center;line-height:1}.resource-bar{width:100%;height:10px;background-color:var(--bg-tertiary);border-radius:6px;overflow:hidden}.resource-bar-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:6px}.resource-bar-fill.low{background:linear-gradient(90deg,#10b981,#66bb6a);box-shadow:0 2px 8px #10b98140}.resource-bar-fill.medium{background:linear-gradient(90deg,#f59e0b,#f59e0b);box-shadow:0 2px 8px #ff980066}.resource-bar-fill.high{background:linear-gradient(90deg,#ef4444,#e57373);box-shadow:0 2px 8px #ef444440}.resource-detail{font-size:.9rem;color:var(--text-muted);text-align:center;font-weight:500}.resource-label{font-size:.75rem;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.loading,.error{text-align:center;padding:4rem 2rem;font-size:1.1rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}@media (max-width: 768px){.config-grid,.resource-grid{grid-template-columns:1fr}.config-section{padding:1.5rem}.info-box{flex-direction:column}}.failed-job-list{padding:2rem;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-content h1{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.bulk-actions{display:flex;gap:.75rem;align-items:center}.bulk-resolve-btn{padding:.4rem .875rem;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.3);background-color:#10b98114;color:#10b981;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bulk-resolve-btn:hover{background-color:#10b98124;box-shadow:0 0 0 3px #10b98126}.bulk-delete-btn{padding:.4rem .875rem;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.3);background-color:#ef444414;color:#ef4444;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bulk-delete-btn:hover{background-color:#ef444424;box-shadow:0 0 0 3px #ef444426}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s;border:1px solid var(--border-color)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-card.total .stat-icon{background:var(--accent-gradient)}.stat-card.unresolved .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.resolved .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.filters-section{background:var(--bg-card);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;border:1px solid var(--border-color)}.search-box{position:relative;flex:1;min-width:200px}.search-input{width:100%;padding:.625rem 2.5rem .625rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;transition:border-color .2s;background:var(--bg-secondary);color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--accent-color)}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{color:var(--text-secondary)}.filter-buttons{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent-color) var(--bg-secondary)}.filter-buttons::-webkit-scrollbar{height:6px}.filter-buttons::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.filter-buttons::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:3px}.filter-buttons::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.filter-btn{flex-shrink:0;padding:.625rem 1rem;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);white-space:nowrap}.filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-btn.active{background:#6366f124;color:#6366f1;border-color:#6366f1}.filter-select{display:flex;align-items:center;gap:.5rem}.filter-select label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.failure-type-select{padding:.625rem 2rem .625rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;background:var(--bg-secondary);cursor:pointer;min-width:200px;color:var(--text-primary)}.failure-type-select:focus{outline:none;border-color:var(--accent-color)}.failed-jobs-table-container{background:var(--bg-card);border-radius:12px;overflow-x:auto;overflow-y:hidden;margin-bottom:1.5rem;border:1px solid var(--border-color);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.failed-jobs-table-container::-webkit-scrollbar{height:8px}.failed-jobs-table-container::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.failed-jobs-table-container::-webkit-scrollbar-thumb{background:#6366f1;border-radius:4px}.failed-jobs-table-container::-webkit-scrollbar-thumb:hover{background:#747bff}.failed-jobs-table{width:100%;border-collapse:collapse;min-width:800px;margin-top:0!important}.failed-jobs-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);white-space:nowrap;background:none!important}.failed-jobs-table th.checkbox-column,.failed-jobs-table td.checkbox-column{width:50px;text-align:center}.failed-jobs-table td.checkbox-column input[type=checkbox],.failed-jobs-table th.checkbox-column input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#6366f1}.failed-jobs-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .15s;cursor:pointer}.failed-jobs-table tbody tr:hover{background-color:var(--bg-hover)}.failed-jobs-table tbody tr.resolved-row{opacity:.6}.failed-jobs-table tbody tr.resolved-row:hover{opacity:.75}.failed-jobs-table td{padding:1rem;font-size:.9375rem;white-space:nowrap}@media (max-width: 768px){.failed-jobs-table-container{margin-left:-1rem;margin-right:-1rem;border-radius:0;border-left:none;border-right:none}.failed-jobs-table{min-width:1000px}.failed-jobs-table th,.failed-jobs-table td{padding:.75rem .5rem}.failed-jobs-table-container:after{content:"← Swipe to see more →";display:block;text-align:center;padding:.5rem;font-size:.75rem;color:var(--text-muted);background:var(--bg-card)}}.action-buttons{display:flex;gap:.5rem}.action-btn{padding:.5rem;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}.action-btn.view{color:#6366f1}.action-btn.view:hover{background:#6366f11f}.action-btn.resolve{color:#10b981}.action-btn.resolve:hover{background:#10b9811f}.action-btn.delete{color:#ef4444}.action-btn.delete:hover{background:#f4433626}.resolve-form{display:flex;flex-direction:column;gap:1rem}.resolve-form .form-group{display:flex;flex-direction:column;gap:.5rem}.resolve-form label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.resolve-form .form-control{padding:.625rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary)}.resolve-form .form-control::placeholder{color:var(--text-muted)}.resolve-form .form-control:focus{outline:none;border-color:#6366f1}.resolve-form textarea.form-control{resize:vertical;min-height:100px}.resolve-form .bulk-info{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:.875rem;color:#6366f1}.empty-state-card{background:var(--bg-card);border-radius:12px;padding:3rem 2rem;text-align:center;border:1px solid var(--border-color)}.empty-icon{color:var(--text-muted);margin-bottom:1.5rem}.empty-state-card h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.empty-state-card p{font-size:1rem;color:var(--text-muted);margin-bottom:1.5rem}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);gap:1rem;margin-top:0!important}.failed-jobs-table-container .pagination-container{border:none;border-radius:0;background:none}.pagination{display:flex;gap:.5rem;align-items:center}.pagination .btn{padding:.5rem .75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;min-width:36px;max-width:20px}.pagination .btn:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color);background:var(--bg-hover)}.pagination .btn:disabled{opacity:.3;cursor:not-allowed}.pagination .btn.btn-primary{background:#6366f124;color:#6366f1;border-color:#6366f1}.pagination .btn-sm{padding:.375rem .625rem;font-size:.8125rem}.page-ellipsis{color:var(--text-muted);font-size:.875rem;padding:0 .25rem}.page-info{font-size:.875rem;color:var(--text-muted);margin-left:1rem;white-space:nowrap}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{font-size:.875rem;color:var(--text-muted);white-space:nowrap}.page-size-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;cursor:pointer;background:var(--bg-secondary);color:var(--text-primary)}.page-size-select:focus{outline:none;border-color:var(--accent-color)}@media (max-width: 1024px){.pagination-container{flex-direction:column;align-items:stretch}.pagination{justify-content:center;flex-wrap:wrap}.page-info{text-align:center;margin-left:0;margin-top:.5rem}.page-size-selector{justify-content:center}}@media (max-width: 640px){.pagination .btn{min-width:32px;padding:.375rem .5rem;font-size:.8125rem}.page-info{font-size:.8125rem}}.loading,.error{padding:3rem;text-align:center;font-size:1.125rem;color:#999}.error{color:#ef4444}.failure-type-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;white-space:nowrap}.failed-job-detail{padding:2rem;max-width:1400px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--text-muted)}.breadcrumb-link{display:flex;align-items:center;gap:.375rem;text-decoration:none;color:#6366f1;font-weight:500;transition:color .2s}.breadcrumb-link:hover{color:#5568d3}.detail-header{background:var(--bg-card);border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color);flex-direction:row}.header-left{display:flex;align-items:center;gap:1rem}.header-left .back-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-secondary);color:var(--text-muted);text-decoration:none;transition:all .2s ease;border:1px solid var(--border-color);flex-shrink:0}.header-left .back-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-color)}.header-left .header-info{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.header-left .status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:24px;font-size:.875rem;font-weight:500}.header-left .status-badge.resolved{background:#10b98124;color:#10b981;border:2px solid rgba(16,185,129,.25)}.header-left .status-badge.unresolved{background:#f59e0b24;color:#f59e0b;border:2px solid rgba(255,152,0,.4)}.header-actions{display:flex;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-success{background:linear-gradient(135deg,#10b981,#45a049);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98140}.btn-danger{background-color:var(--bg-tertiary);color:#ef4444;border:1px solid var(--border-color)}.btn-danger:hover{background-color:#ef44441a;border-color:#ef4444;transform:translateY(-2px)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-card{background:var(--bg-card);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.detail-card.full-width{grid-column:1 / -1}.failed-job-detail .card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-start;gap:.75rem}.failed-job-detail .card-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.failed-job-detail .card-content{padding:1.5rem}.info-row{display:flex;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-row.full-width{flex-direction:column;gap:.5rem}.info-row .label{flex:0 0 180px;font-size:.875rem;font-weight:600;color:var(--text-muted);text-align:left}.info-row .value{flex:1;font-size:.9375rem;color:var(--text-primary);text-align:left}.info-row .value code{font-family:Courier New,monospace;font-size:.875rem;padding:.25rem .5rem;background:#6366f11a;border-radius:4px;color:var(--text-primary);border:1px solid var(--border-color)}.job-link{display:inline-flex;align-items:center;gap:.375rem;text-decoration:none;color:#6366f1;font-weight:500;transition:color .2s}.job-link:hover{color:#4f46e5}.info-row .failure-type-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;border:1.5px solid;background:var(--bg-secondary)}.exception-content{background:var(--bg-secondary);border-radius:8px;padding:1rem;overflow-x:auto;border:1px solid var(--border-color)}.exception-content pre{margin:0;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6;color:#ef4444;white-space:pre-wrap;word-wrap:break-word}.json-content{background:var(--bg-secondary);border-radius:8px;padding:1rem;overflow-x:auto;border:1px solid var(--border-color)}.json-content pre{margin:0;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.resolution-card{border:2px solid rgba(76,175,80,.6);background:var(--bg-card)}.resolution-card .card-header{background:#10b9811a;color:#10b981;border-bottom:1px solid rgba(76,175,80,.3)}.resolution-action{display:inline-block;padding:.375rem .875rem;background:#10b98124;color:#10b981;border-radius:6px;font-weight:500;border:1px solid rgba(16,185,129,.25)}.resolution-notes{background:var(--bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.resolution-notes p{margin:0;display:flex;align-items:flex-end;color:var(--text-primary)}.resolve-form{padding:1rem 0}.resolve-form .form-group{margin-bottom:1.5rem}.resolve-form .form-group:last-child{margin-bottom:0}.resolve-form label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.resolve-form .form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:all .2s}.resolve-form textarea.form-control{min-height:120px;resize:vertical}.resolve-form .form-control:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.resolve-form .form-control::placeholder{color:var(--text-muted);opacity:.6}@media (max-width: 968px){.detail-grid{grid-template-columns:1fr}.detail-card.full-width{grid-column:1}.detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-end}}.loading,.error{padding:3rem;text-align:center;font-size:1.125rem;color:#a0aec0}.error{color:#fc8181}.user-list-page{max-width:1400px;margin:0 auto}.user-list-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.user-list-page .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.user-list-page .search-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:1rem;align-items:center}.user-list-page .search-box{position:relative;flex:1;min-width:0;max-width:600px}.user-list-page .search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.user-list-page .search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.user-list-page .search-input::placeholder{color:var(--text-muted)}.user-list-page .clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center}.user-list-page .clear-search-btn:hover{color:var(--text-secondary)}.user-list-page .create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:var(--text-sm);white-space:nowrap;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.user-list-page .create-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.user-list-page .table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow-x:auto;overflow-y:hidden;margin:0!important;-webkit-overflow-scrolling:touch}.user-list-page .data-table{width:100%;border-collapse:collapse;min-width:600px}.user-list-page .data-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);white-space:nowrap;background:none!important}.user-list-page .data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9375rem;white-space:nowrap}.user-list-page .data-table tbody tr:hover{background:var(--bg-hover)}.user-list-page .data-table tbody tr.clickable-row{cursor:pointer}.user-list-page .data-table tbody tr.clickable-row:hover{background:var(--bg-hover);border-left:2px solid var(--accent-color)}.user-list-page .data-table tbody tr:last-child td{border-bottom:none}.user-list-page .id-col{width:80px;color:var(--text-muted)!important;font-family:monospace}.user-list-page .email-col{color:var(--text-secondary)}.user-list-page .text-muted{color:var(--text-muted)}.user-list-page .actions-col{width:120px;text-align:right!important}.user-list-page .user-name-cell{display:flex;align-items:center;gap:.5rem;font-weight:500}.user-list-page .row-actions{display:flex;gap:.5rem;justify-content:flex-end}.user-list-page .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.user-list-page .action-btn.edit:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.user-list-page .action-btn.delete:hover{background:#dc2626;color:#fff;border-color:#dc2626}.user-list-page .pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.75rem}.user-list-page .pagination-info{font-size:.875rem;color:var(--text-muted)}.user-list-page .pagination-controls{display:flex;align-items:center;gap:.25rem}.user-list-page .page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.user-list-page .page-btn:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.user-list-page .page-btn:disabled{opacity:.4;cursor:not-allowed}.user-list-page .page-indicator{padding:0 .75rem;font-size:.875rem;color:var(--text-secondary)}.user-list-page .page-size-selector select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.user-list-page .empty-state-card{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.user-list-page .empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.user-list-page .empty-state-card h3{margin:0 0 .5rem;color:var(--text-primary)}.user-list-page .empty-state-card p{color:var(--text-muted);margin:0 0 1.5rem}.user-list-page .empty-action-btn{padding:.75rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.user-list-page .empty-action-btn:hover{background:var(--accent-hover)}.user-list-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.user-list-page .form-modal{background:var(--bg-card);border-radius:16px;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.user-list-page .form-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.user-list-page .form-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.user-list-page .modal-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;transition:color .2s}.user-list-page .modal-close-btn:hover{color:var(--text-primary)}.user-list-page .form-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.user-list-page .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#d32f2f1a;border:1px solid rgba(211,47,47,.3);border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.user-list-page .form-group{margin-bottom:1.25rem}.user-list-page .form-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem}.user-list-page .selected-count{font-weight:400;font-size:.8125rem;color:var(--text-muted)}.user-list-page .form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.user-list-page .form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.user-list-page .form-input.input-error{border-color:var(--error-color)}.user-list-page .form-input.input-error:focus{box-shadow:0 0 0 3px #ef444426}.user-list-page .field-error{display:block;margin-top:.375rem;font-size:.75rem;color:#dc2626}.user-list-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.user-list-page .roles-loading{padding:1.5rem;text-align:center;color:var(--text-muted)}.user-list-page .roles-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.user-list-page .role-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border-color)}.user-list-page .role-item:last-child{border-bottom:none}.user-list-page .role-item:hover{background:var(--bg-hover)}.user-list-page .role-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-color)}.user-list-page .no-roles{padding:1.5rem;text-align:center;color:var(--text-muted)}.user-list-page .form-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.user-list-page .btn-cancel{padding:.625rem 1.25rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.9375rem;transition:all .2s}.user-list-page .btn-cancel:hover{background:var(--bg-tertiary)}.user-list-page .btn-submit{padding:.625rem 1.25rem;border:none;border-radius:8px;background:var(--accent-color);color:#fff;cursor:pointer;font-weight:500;font-size:.9375rem;transition:all .2s}.user-list-page .btn-submit:hover:not(:disabled){background:var(--accent-hover)}.user-list-page .btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.user-list-page .search-section{flex-direction:column;padding:1rem}.user-list-page .search-box{max-width:100%}.user-list-page .page-header h1{font-size:1.5rem}.user-list-page .form-modal{max-height:95vh}.user-list-page .form-row{grid-template-columns:1fr}.user-list-page .pagination{flex-direction:column;align-items:stretch;text-align:center}.user-list-page .pagination-controls{justify-content:center}}.role-list{max-width:1400px;margin:0 auto}.role-list .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.role-list .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.role-list .search-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:1rem;align-items:center}.role-list .search-box{position:relative;flex:1;min-width:0;max-width:600px}.role-list .search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.role-list .search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.role-list .search-input::placeholder{color:var(--text-muted)}.role-list .clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:inherit}.role-list .clear-search-btn:hover{color:var(--text-secondary)}.role-list .create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:var(--text-sm);white-space:nowrap;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.role-list .create-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.role-list .table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:hidden;margin:0!important;-webkit-overflow-scrolling:touch}.role-list .data-table{width:100%;border-collapse:collapse;min-width:400px}.role-list .data-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);white-space:nowrap;background:none!important}.role-list .data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9375rem;white-space:nowrap}.role-list .data-table tbody tr:hover{background:var(--bg-hover)}.role-list .data-table tbody tr.clickable-row{cursor:pointer}.role-list .data-table tbody tr.clickable-row:hover{background:var(--bg-hover);border-left:2px solid var(--accent-color)}.role-list .data-table tbody tr:last-child td{border-bottom:none}.role-list .id-col{width:80px;color:var(--text-muted)!important;font-family:monospace}.role-list .actions-col{width:120px;text-align:right!important}.role-list .role-name{display:flex;align-items:center;gap:.5rem;font-weight:500}.role-list .row-actions{display:flex;gap:.5rem;justify-content:flex-end}.role-list .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.role-list .action-btn.edit:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.role-list .action-btn.delete:hover{background:#dc2626;color:#fff;border-color:#dc2626}.role-list .pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.75rem}.role-list .pagination-info{font-size:.875rem;color:var(--text-muted)}.role-list .pagination-controls{display:flex;align-items:center;gap:.25rem}.role-list .page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.role-list .page-btn:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.role-list .page-btn:disabled{opacity:.4;cursor:not-allowed}.role-list .page-indicator{padding:0 .75rem;font-size:.875rem;color:var(--text-secondary)}.role-list .page-size-selector select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.role-list .empty-state-card{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.role-list .empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.role-list .empty-state-card h3{margin:0 0 .5rem;color:var(--text-primary)}.role-list .empty-state-card p{color:var(--text-muted);margin:0 0 1.5rem}.role-list .empty-action-btn{padding:.75rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.role-list .empty-action-btn:hover{background:var(--accent-hover)}.role-list .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.role-list .form-modal{background:var(--bg-card);border-radius:16px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.role-list .form-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.role-list .form-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.role-list .modal-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;transition:color .2s}.role-list .modal-close-btn:hover{color:var(--text-primary)}.role-list .form-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.role-list .form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#d32f2f1a;border:1px solid rgba(211,47,47,.3);border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.role-list .form-group{margin-bottom:1.25rem}.role-list .form-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem}.role-list .selected-count{font-weight:400;font-size:.8125rem;color:var(--text-muted)}.role-list .form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.role-list .form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.role-list .permission-search{margin-bottom:.75rem}.role-list .permissions-loading{padding:2rem;text-align:center;color:var(--text-muted)}.role-list .permissions-list{max-height:320px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.role-list .permission-group{border-bottom:1px solid var(--border-color)}.role-list .permission-group:last-child{border-bottom:none}.role-list .permission-group-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.role-list .permission-group-header:hover{background:var(--bg-hover)}.role-list .permission-group-header input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-color)}.role-list .group-name{font-weight:600;font-size:.8125rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px}.role-list .group-description{font-size:.75rem;color:var(--text-muted)}.role-list .permission-items{padding:.25rem 0}.role-list .permission-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem .5rem 2.5rem;cursor:pointer;transition:background .2s}.role-list .permission-item:hover{background:var(--bg-hover)}.role-list .permission-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent-color)}.role-list .perm-name{font-size:.875rem;color:var(--text-primary)}.role-list .perm-description{font-size:.75rem;color:var(--text-muted)}.role-list .no-permissions{padding:2rem;text-align:center;color:var(--text-muted)}.role-list .form-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.role-list .btn-cancel{padding:.625rem 1.25rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.9375rem;transition:all .2s}.role-list .btn-cancel:hover{background:var(--bg-tertiary)}.role-list .btn-submit{padding:.625rem 1.25rem;border:none;border-radius:8px;background:var(--accent-color);color:#fff;cursor:pointer;font-weight:500;font-size:.9375rem;transition:all .2s}.role-list .btn-submit:hover:not(:disabled){background:var(--accent-hover)}.role-list .btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.role-list .search-section{flex-direction:column;padding:1rem}.role-list .search-box{max-width:100%}.role-list .page-header h1{font-size:1.5rem}.role-list .form-modal{max-height:95vh}.role-list .pagination{flex-direction:column;align-items:stretch;text-align:center}.role-list .pagination-controls{justify-content:center}}.activity-log-list{max-width:1400px;margin:0 auto}.activity-log-list .page-header{margin-bottom:1rem}.activity-log-list .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.activity-log-list .search-section{margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.activity-log-list .search-box{position:relative;width:100%;max-width:600px}.activity-log-list .search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.9375rem;transition:all .2s}.activity-log-list .search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}.activity-log-list .search-input::placeholder{color:var(--text-muted)}.activity-log-list .clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center}.activity-log-list .clear-search-btn:hover{color:var(--text-secondary)}.activity-log-list .table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:hidden;margin:0!important;-webkit-overflow-scrolling:touch}.activity-log-list .data-table{width:100%;border-collapse:collapse;min-width:700px}.activity-log-list .data-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color);white-space:nowrap;background:none!important}.activity-log-list .data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9375rem;white-space:nowrap}.activity-log-list .data-table tbody tr:hover{background:var(--bg-hover)}.activity-log-list .data-table tbody tr:last-child td{border-bottom:none}.activity-log-list .id-col{width:80px;color:var(--text-muted)!important;font-family:monospace}.activity-log-list .date-col{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.activity-log-list .user-cell{display:flex;align-items:center;gap:.5rem;font-weight:500}.activity-log-list .activity-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:20px;font-size:.8125rem;font-weight:500;white-space:nowrap}.activity-log-list .activity-create{background:#2e7d321f;color:#2e7d32;border:1px solid rgba(46,125,50,.25)}.activity-log-list .activity-update{background:#6366f11f;color:var(--accent-color);border:1px solid rgba(99,102,241,.18)}.activity-log-list .activity-delete{background:#d32f2f1f;color:#dc2626;border:1px solid rgba(211,47,47,.25)}.activity-log-list .pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.75rem}.activity-log-list .pagination-info{font-size:.875rem;color:var(--text-muted)}.activity-log-list .pagination-controls{display:flex;align-items:center;gap:.25rem}.activity-log-list .page-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s}.activity-log-list .page-btn:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.activity-log-list .page-btn:disabled{opacity:.4;cursor:not-allowed}.activity-log-list .page-indicator{padding:0 .75rem;font-size:.875rem;color:var(--text-secondary)}.activity-log-list .page-size-selector select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer}.activity-log-list .empty-state-card{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.activity-log-list .empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.activity-log-list .empty-state-card h3{margin:0 0 .5rem;color:var(--text-primary)}.activity-log-list .empty-state-card p{color:var(--text-muted);margin:0}@media (max-width: 768px){.activity-log-list .search-section{padding:1rem}.activity-log-list .search-box{max-width:100%}.activity-log-list .page-header h1{font-size:1.5rem}.activity-log-list .pagination{flex-direction:column;align-items:stretch;text-align:center}.activity-log-list .pagination-controls{justify-content:center}}.profile-page{max-width:900px;margin:0 auto}.profile-page .page-header{display:flex;align-items:center;margin-bottom:1.5rem}.profile-page .page-header h1{display:flex;align-items:center;gap:.625rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.profile-page .profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:5rem 2rem;color:var(--text-muted)}.profile-page .profile-hero-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--accent-color);border-radius:var(--radius-lg);margin-bottom:1.5rem}.profile-page .profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-page .avatar-initials{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1}.profile-page .profile-hero-info{flex:1;min-width:0}.profile-page .profile-hero-name{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.25rem}.profile-page .profile-hero-username{font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem}.profile-page .roles-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:.375rem}.profile-page .role-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .625rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;background:#6366f11a;color:var(--accent-color);border:1px solid rgba(99,102,241,.2)}.profile-page .profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.profile-page .profile-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.profile-page .card-header{display:flex;justify-content:flex-start;align-items:center;gap:.625rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);color:var(--text-muted);background:none!important}.profile-page .card-header h2{margin:0;font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.profile-page .card-body{padding:1.25rem;flex:1}.profile-page .info-list{display:flex;flex-direction:column}.profile-page .info-item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;border-right:0px;background:none!important}.profile-page .info-item:first-child{padding-top:0}.profile-page .info-item:last-child{border-bottom:none;padding-bottom:0}.profile-page .info-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.profile-page .info-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:500;text-align:right;word-break:break-all}.profile-page .form-group{margin-bottom:1rem}.profile-page .form-group:last-of-type{margin-bottom:1.25rem}.profile-page .form-group label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.profile-page .form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box}.profile-page .form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.profile-page .form-input::placeholder{color:var(--text-muted)}.profile-page .form-input.input-error{border-color:var(--error-color)}.profile-page .form-input.input-error:focus{box-shadow:0 0 0 3px #ef444426}.profile-page .field-error{display:block;margin-top:.3rem;font-size:var(--text-xs);color:var(--error-color)}.profile-page .form-error{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--error-color);font-size:var(--text-xs);margin-bottom:1rem}.profile-page .btn-change-password{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:var(--text-sm);font-family:inherit;white-space:nowrap;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.profile-page .btn-change-password:hover:not(:disabled){opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.profile-page .btn-change-password:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 720px){.profile-page .profile-hero-card{flex-direction:column;align-items:flex-start;gap:1rem;border-left-width:1px;border-top:3px solid var(--accent-color)}.profile-page .profile-grid{grid-template-columns:1fr}}.twm-fetch-loading{display:flex;align-items:center;gap:8px;justify-content:center;padding:2rem;color:var(--text-muted)}.twm-modal{width:660px;max-width:95vw;max-height:88vh;display:flex;flex-direction:column}.twm-body{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem}.twm-field{display:flex;flex-direction:column;gap:.4rem}.twm-label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.twm-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);margin-left:.25rem}.twm-steps{display:flex;flex-direction:column;gap:1rem}.twm-steps-label{margin-bottom:.25rem}.twm-step{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.6rem}.twm-step-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.twm-step-order{font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border-radius:4px;padding:1px 6px}.twm-step-name{font-size:.9rem}.twm-step-job{display:inline-flex;align-items:center;gap:.25rem;font-size:.76rem;color:var(--text-muted);background:var(--bg-tertiary);border-radius:4px;padding:2px 7px;margin-left:auto}.twm-schema{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.5rem}.twm-schema-error{font-size:.78rem;color:var(--color-failed)}.twm-schema-header{display:flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:var(--text-secondary)}.twm-schema-gen-btn{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;font-size:.75rem;padding:2px 8px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.twm-schema-gen-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.twm-schema-props{display:flex;flex-direction:column;gap:.35rem}.twm-schema-prop{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;font-size:.78rem}.twm-prop-name{font-weight:600;color:var(--text-primary);font-family:Fira Code,monospace}.twm-prop-type{border-radius:3px;padding:0 5px;font-size:.7rem;font-weight:600;text-transform:uppercase}.twm-type-string{background:#1e6a4a22;color:#2ecc71}.twm-type-number,.twm-type-integer{background:#1a4a9022;color:#5b9cf6}.twm-type-boolean{background:#6a1a6a22;color:#c678dd}.twm-type-array,.twm-type-object{background:#6a4a1a22;color:#e5c07b}.twm-prop-required{font-size:.68rem;font-weight:700;color:var(--color-failed);text-transform:uppercase;letter-spacing:.04em}.twm-prop-enum{font-size:.72rem;color:var(--text-muted);font-style:italic}.twm-prop-desc{font-size:.72rem;color:var(--text-muted);flex-basis:100%;padding-left:.25rem}.twm-schema-toggle{background:none;border:none;color:var(--accent-color);font-size:.74rem;cursor:pointer;padding:0;text-align:left;width:fit-content}.twm-schema-raw{font-size:.74rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:.5rem .75rem;overflow-x:auto;white-space:pre;color:var(--text-secondary)}.twm-textarea{width:100%;font-family:Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.5;resize:vertical;min-height:70px;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s;box-sizing:border-box}.twm-textarea:focus{outline:none;border-color:var(--accent-color)}.twm-textarea--error{border-color:var(--color-failed)}.twm-error{font-size:.75rem;color:var(--color-failed)}.workflow-list-page{padding:0}.workflow-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header-actions{display:flex;align-items:center;gap:.625rem}.workflow-list-page .page-title{display:flex;align-items:center;gap:10px}.workflow-list-page .page-title h1{margin:0;font-size:1.5rem;font-weight:700}.create-workflow-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:500;font-size:var(--text-sm);transition:opacity var(--transition-base),box-shadow var(--transition-base);white-space:nowrap;border:1px solid transparent}.create-workflow-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow);color:#fff}.create-workflow-btn--builder{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.create-workflow-btn--builder:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-color);box-shadow:none;transform:none}.count-badge{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);font-size:13px;font-weight:600;padding:2px 10px;border-radius:12px}.workflow-list-loading{display:flex;align-items:center;gap:8px;padding:40px;justify-content:center;color:var(--text-secondary)}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;margin-top:16px}.workflow-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base);display:flex;flex-direction:column;cursor:pointer}.workflow-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-color)}.workflow-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.workflow-name{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);text-decoration:none}.workflow-name:hover{color:var(--primary-color)}.workflow-description{color:var(--text-secondary);font-size:13px;margin-bottom:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workflow-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-bottom:10px}.workflow-meta span{display:flex;align-items:center;gap:4px}.workflow-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.tag-chip{background:var(--bg-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:11px}.workflow-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-color);margin-top:auto}.wf-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}.wf-action-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.wf-action-btn:disabled{opacity:.4;cursor:not-allowed}.wf-action-primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.wf-action-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.wf-action-secondary{background:transparent}.wf-action-danger{color:var(--error-color);border-color:transparent;background:transparent}.wf-action-danger:hover{background:#ef44441a;border-color:var(--error-color);color:var(--error-color)}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--text-secondary);text-align:center}.empty-state h3{margin:0;color:var(--text-primary)}.empty-state p{margin:0}.dag-viewport{overflow:auto;border:1px solid var(--border-color);border-radius:12px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:16px;box-shadow:inset 0 1px 3px #0000001a}.dag-svg{display:block;min-width:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.dag-edge{transition:stroke .3s,stroke-width .3s}.dag-edge:hover{stroke:var(--accent-color)!important;stroke-width:3!important}.dag-node{transition:filter .2s;cursor:pointer}.dag-node:hover rect{filter:brightness(1.08) drop-shadow(0 2px 8px rgba(0,0,0,.12))}.dag-status-icon{display:inline-block;margin-left:8px!important}.dag-status-icon-spinning{display:inline-block;animation:dag-spin 2s linear infinite}@keyframes dag-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.edge-label{font-weight:500;letter-spacing:.3px;opacity:.7;transition:opacity .2s}.edge-label:hover{opacity:1}.dag-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-muted);background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:12px;transition:border-color .3s}.dag-empty:hover{border-color:var(--accent-color)}.dag-empty p{margin:0;font-size:14px}.workflow-detail-page{max-width:1400px;margin:0 auto}.workflow-detail-loading,.workflow-detail-error{display:flex;align-items:center;gap:8px;padding:40px;justify-content:center;color:var(--text-secondary)}.wfd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.wfd-header-left{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.wfd-back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;transition:all .2s;flex-shrink:0;margin-top:.5rem}.wfd-back-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(-2px)}.wfd-header-content{flex:1;min-width:0}.wfd-header-content h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.wfd-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.wfd-badge-success{background:#10b98126;color:#10b981}.wfd-badge-muted{background:var(--bg-secondary);color:var(--text-muted)}.wfd-version-badge{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.wfd-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.wfd-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;border:none}.wfd-btn:disabled{opacity:.5;cursor:not-allowed}.wfd-btn-primary{background:var(--accent-gradient);color:#fff}.wfd-btn-primary:hover:not(:disabled){opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.wfd-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.wfd-btn-danger:hover:not(:disabled){opacity:.9;box-shadow:0 0 0 3px #ef444440}.wfd-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.wfd-btn-secondary:hover:not(:disabled){border-color:var(--border-light);background:var(--bg-hover);color:var(--text-primary)}.wfd-btn-sm{padding:.4rem .85rem;font-size:13px}.workflow-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px;margin-top:24px}.info-card{background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:10px;padding:16px}.info-card label{display:block;font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:6px;font-weight:500}.info-card span{font-size:14px;color:var(--text-primary);font-weight:600}.workflow-dag-section{margin-bottom:24px}.workflow-dag-section h2,.workflow-steps-section h2,.workflow-runs-section h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.dag-container{background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:12px;padding:24px;min-height:300px;overflow:auto}.workflow-steps-section,.workflow-runs-section{margin-bottom:24px}.workflow-detail-page .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.workflow-detail-page .section-header h2{margin-bottom:0}.workflow-detail-page .table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:10px}.workflow-detail-page .data-table{width:100%;border-collapse:collapse;font-size:14px}.workflow-detail-page .data-table thead{background:var(--bg-secondary)}.workflow-detail-page .data-table th{text-align:left;padding:10px 14px;font-size:12px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-weight:600;border-bottom:1px solid var(--border-color)}.workflow-detail-page .data-table td{padding:10px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.workflow-detail-page .data-table tbody tr:last-child td{border-bottom:none}.workflow-detail-page .data-table tbody tr:hover{background:var(--bg-hover)}.job-link{color:var(--accent-color);text-decoration:none;font-weight:500}.job-link:hover{text-decoration:underline}.text-muted{color:var(--text-muted);font-style:italic}.run-id{font-size:12px;background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-family:monospace}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-pending{background:var(--bg-secondary);color:var(--text-secondary)}.status-running{background:#3b82f626;color:#3b82f6}.status-completed{background:#10b98126;color:#10b981}.status-failed{background:#ef444426;color:#ef4444}.status-cancelled{background:#7c3aed26;color:#7c3aed}.status-partial{background:#10b98126;color:#10b981}.empty-runs{text-align:center;padding:32px;color:var(--text-secondary);background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:10px;font-size:14px}.loading-text{text-align:center;padding:20px;color:var(--text-secondary)}@media (max-width: 768px){.wfd-header{flex-direction:column;gap:1rem}.wfd-header-content h1{font-size:1.5rem}.wfd-header-actions{width:100%}.wfd-header-actions .wfd-btn{flex:1;justify-content:center}.workflow-info-grid{grid-template-columns:1fr 1fr}}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 1rem;border-top:1px solid var(--border-color)}.pagination-info{color:var(--text-secondary);font-size:.875rem;min-width:200px;text-align:center}.pagination .wfd-btn{display:inline-flex;align-items:center;gap:.25rem}.wfd-version-badge.clickable{background:none;border:none;padding:.25rem .75rem;cursor:pointer;transition:all .2s;background-color:var(--bg-info);color:var(--text-info);font-size:.875rem;font-weight:500;border-radius:12px;margin-left:.5rem}.wfd-version-badge.clickable:hover{background-color:var(--accent-color);color:#fff;transform:translateY(-1px)}.version-history-modal{max-width:900px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.version-history-modal .modal-body{overflow-y:auto;padding:1.5rem}.version-history-list{display:flex;flex-direction:column;gap:1.5rem}.version-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s}.version-card:hover{border-color:var(--accent-color);box-shadow:0 2px 12px #0000001a}.version-card.error{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-danger);border-color:var(--border-danger);padding:1rem;background-color:#dc26260d}.error-details{display:flex;flex-direction:column;gap:.5rem;flex:1}.error-details strong{font-size:.9375rem;color:var(--text-danger)}.error-details span{font-size:.8125rem;color:var(--text-secondary)}.error-details details{margin-top:.5rem}.error-details summary{cursor:pointer;font-size:.8125rem;color:var(--text-info);padding:.25rem 0;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--accent-color)}.error-json{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:.625rem;font-family:Courier New,monospace;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--text-primary);margin:.5rem 0 0;max-height:300px;overflow-y:auto}.version-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:0;margin-bottom:0;border-bottom:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.version-header-right{display:flex;align-items:center;gap:1rem}.version-header-right .material-icons{color:var(--text-secondary);transition:transform .2s}.version-content{padding-top:1rem;animation:expandContent .2s ease-out}@keyframes expandContent{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.version-header-left{display:flex;align-items:center;gap:.75rem}.version-number{font-size:1.125rem;font-weight:600;background-color:var(--bg-info);color:var(--text-info);padding:.375rem .875rem;border-radius:12px}.version-badge-active{background-color:var(--bg-success);color:var(--text-success);padding:.25rem .625rem;border-radius:8px;font-size:.75rem;font-weight:500}.version-badge-inactive{background-color:var(--bg-muted);color:var(--text-secondary);padding:.25rem .625rem;border-radius:8px;font-size:.75rem;font-weight:500}.version-date{color:var(--text-secondary);font-size:.875rem}.version-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.version-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.version-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.9375rem;color:var(--text-primary);font-weight:600}.version-section.version-metadata{background-color:var(--bg-tertiary);margin:1.25rem -1.5rem -1.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);border-radius:0 0 8px 8px}.version-details{display:flex;flex-direction:column;gap:.625rem}.version-row{display:flex;gap:.625rem;font-size:.875rem;align-items:flex-start}.version-row strong{min-width:130px;color:var(--text-secondary);flex-shrink:0;font-weight:500}.version-row span{color:var(--text-primary);word-break:break-word;flex:1}.version-tags{display:flex;flex-wrap:wrap;gap:.375rem}.version-tag{background-color:var(--bg-primary);color:var(--text-secondary);padding:.125rem .5rem;border-radius:4px;font-size:.8125rem;border:1px solid var(--border-color)}.version-cron{font-family:Courier New,monospace;background-color:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;font-size:.8125rem}.version-steps-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.version-step{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;transition:all .15s}.version-step:hover{border-color:var(--accent-color);box-shadow:0 1px 4px #0000000d}.version-step-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;font-size:.9375rem;flex-wrap:wrap}.version-step-order{background-color:var(--bg-info);color:var(--text-info);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;min-width:32px;text-align:center}.version-step-job{display:flex;align-items:center;gap:.25rem;margin-left:auto;color:var(--text-secondary);font-size:.8125rem;font-weight:400;background-color:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.version-step-job .material-icons{font-size:14px}.job-version-badge{margin-left:.375rem;padding:.125rem .375rem;background-color:var(--bg-info);color:var(--text-info);font-size:.6875rem;font-weight:600;border-radius:3px}.version-step-details{display:flex;flex-direction:column;gap:.375rem;padding-left:.5rem}.version-step-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.version-step-row .material-icons{font-size:14px;color:var(--text-muted)}.version-step-row.version-step-mappings,.version-step-row.version-step-data{flex-direction:column;align-items:flex-start}.version-mappings-content,.version-data-content{width:100%;margin-top:.375rem;text-align:left}.version-mappings-content strong,.version-data-content strong{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.8125rem;text-align:left}.version-json{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:.625rem;font-family:Courier New,monospace;font-size:.75rem;overflow-x:auto;white-space:pre;color:var(--text-primary);margin:0;max-height:200px;overflow-y:auto;text-align:left;direction:ltr}.inline-code{background-color:var(--bg-tertiary);padding:.125rem .375rem;border-radius:3px;font-family:Courier New,monospace;font-size:.8125rem;color:var(--text-info)}.version-empty{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.875rem;font-style:italic}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.dm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dm-title{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--text-secondary)}.dm-add-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;background:transparent;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.dm-add-btn:hover{background:var(--accent-color);color:#fff}.dm-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:8px;text-align:center}.dm-empty p{margin:0;font-size:12px}.dm-empty-example{font-size:11px;padding:2px 8px;background:var(--bg-secondary);border-radius:4px;color:var(--accent-color)}.dm-list{display:flex;flex-direction:column;gap:6px}.dm-row{display:flex;align-items:flex-start;gap:8px;padding:10px 10px 10px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-left:3px solid var(--border-color);border-radius:8px;transition:border-left-color .2s}.dm-row--complete{border-left-color:#22c55e}.dm-row--warn{border-left-color:#f59e0b}.dm-indicator{display:flex;align-items:center;padding-top:20px;flex-shrink:0}.dm-row--complete .dm-indicator{color:#22c55e}.dm-row--warn .dm-indicator{color:#f59e0b}.dm-row:not(.dm-row--complete):not(.dm-row--warn) .dm-indicator{color:var(--text-muted)}.dm-side{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.dm-side-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.dm-side-label--from{color:#818cf8}.dm-side-label--to{color:#34d399}.dm-select,.dm-field-select{width:100%;padding:5px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;transition:border-color .2s}.dm-select:focus,.dm-field-select:focus{outline:none;border-color:var(--accent-color)}.dm-path-box{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);overflow:hidden;transition:border-color .2s}.dm-path-box:focus-within{border-color:var(--accent-color)}.dm-prefix{padding:5px 0 5px 8px;color:var(--accent-color);font-family:monospace;font-size:12px;font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.dm-path-input{flex:1;min-width:0;padding:5px 8px 5px 2px;border:none;background:transparent;color:var(--text-primary);font-size:12px;font-family:monospace}.dm-path-input:focus{outline:none}.dm-arrow{color:var(--text-muted);flex-shrink:0;margin-top:20px}.dm-warn-text{font-size:10px;color:#f59e0b;font-weight:500}.dm-remove-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;flex-shrink:0;margin-top:16px}.dm-remove-btn:hover{background:#ef44441a;color:var(--error-color)}.dm-picker{position:relative;width:100%}.dm-picker-trigger{display:flex;align-items:center;gap:5px;width:100%;padding:5px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-muted);font-size:12px;cursor:pointer;text-align:left;transition:border-color .2s,background .15s}.dm-picker-trigger:hover,.dm-picker-trigger--open{border-color:var(--accent-color);background:var(--bg-hover, var(--bg-secondary))}.dm-picker-trigger--selected{color:var(--text-primary)}.dm-picker-placeholder{flex:1;font-style:italic;color:var(--text-muted)}.dm-picker-value{flex:1;font-family:monospace;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-picker-type{font-size:10px;color:var(--text-muted);background:var(--bg-tertiary, var(--bg-primary));padding:1px 5px;border-radius:4px;flex-shrink:0}.dm-picker-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.dm-field-type-icon{color:var(--accent-color);opacity:.75;flex-shrink:0}.dm-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #00000040;z-index:100;overflow:hidden;min-width:200px}.dm-picker-search{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--border-color);color:var(--text-muted)}.dm-picker-search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:12px;outline:none}.dm-picker-use-custom{display:flex;align-items:center;padding:2px 5px;border:1px solid var(--accent-color);border-radius:4px;background:transparent;color:var(--accent-color);cursor:pointer;flex-shrink:0;transition:background .1s}.dm-picker-use-custom:hover{background:var(--accent-color);color:#fff}.dm-picker-type--custom{background:#6366f11f!important;color:var(--accent-color)!important}.dm-picker-item--custom{border-bottom:1px solid var(--border-color);margin-bottom:2px;background:#6366f10a}.dm-picker-list{max-height:200px;overflow-y:auto;padding:4px 0}.dm-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:6px 10px;border:none;background:transparent;color:var(--text-primary);font-size:12px;cursor:pointer;text-align:left;transition:background .1s}.dm-picker-item:hover{background:var(--bg-hover)}.dm-picker-item--active{background:#6366f11f;color:var(--accent-color)}.dm-picker-item--special{flex-direction:row;align-items:center;gap:6px;color:var(--text-secondary);font-style:italic;border-bottom:1px solid var(--border-color);margin-bottom:2px}.dm-picker-item-row{display:flex;align-items:center;gap:5px;width:100%;min-width:0}.dm-picker-item-name{font-family:monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dm-picker-item-meta{display:flex;align-items:center;gap:5px;padding-left:17px;min-width:0;width:100%}.dm-picker-item-type{font-size:10px;color:var(--text-muted);background:var(--bg-tertiary, var(--bg-primary));padding:1px 5px;border-radius:4px;flex-shrink:0}.dm-picker-item-desc{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.dm-tooltip{position:relative}.dm-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-card, #1e1e2e);color:var(--text-primary);font-size:11px;line-height:1.4;white-space:normal;max-width:220px;min-width:100px;padding:6px 9px;border-radius:6px;border:1px solid var(--border-color);box-shadow:0 4px 14px #0000004d;pointer-events:none;opacity:0;transition:opacity .15s;z-index:200;word-break:break-word}.dm-tooltip:hover:after{opacity:1}.dm-picker-empty{padding:10px;text-align:center;font-size:12px;color:var(--text-muted)}.dm-picker-custom{display:flex;align-items:center;gap:5px;padding:5px 10px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-color)}.dm-picker-clear{display:flex;align-items:center;gap:4px;width:100%;padding:6px 10px;border:none;border-top:1px solid var(--border-color);background:transparent;color:var(--error-color, #ef4444);font-size:11px;cursor:pointer;transition:background .1s}.dm-picker-clear:hover{background:#ef444414}.workflow-form-page{max-width:1200px;margin:0 auto}.workflow-form-loading{display:flex;align-items:center;gap:8px;padding:40px;justify-content:center;color:var(--text-secondary)}.wf-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.wf-form-header-left{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.wf-back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;transition:all .2s;flex-shrink:0;margin-top:.5rem}.wf-back-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(-2px)}.wf-form-header-content{flex:1;text-align:left}.wf-form-header-content h1{font-size:2rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary)}.wf-form-subtitle{color:var(--text-muted);font-size:1rem;margin:0}.workflow-form{display:flex;flex-direction:column;gap:24px}.wf-top-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.wf-general-fields,.wf-settings-fields{display:flex;flex-direction:column;gap:14px}.workflow-form-page .form-section{background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:12px;padding:24px}.workflow-form-page .form-section h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.workflow-form-page .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.workflow-form-page .section-header h2{margin:0}.workflow-form-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workflow-form-page .form-group{display:flex;flex-direction:column;gap:6px}.workflow-form-page .form-group-full{grid-column:1 / -1}.workflow-form-page .form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.workflow-form-page .form-group input,.workflow-form-page .form-group select,.workflow-form-page .form-group textarea{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color .2s}.workflow-form-page .form-group input:focus,.workflow-form-page .form-group select:focus,.workflow-form-page .form-group textarea:focus{outline:none;border-color:var(--accent-color)}.workflow-form-page .form-group textarea{resize:vertical;font-family:inherit}.wf-tags-input-container{display:flex;flex-direction:column;gap:.5rem}.wf-tag-input-wrapper{display:flex;gap:.5rem}.wf-tag-input-wrapper input{flex:1}.wf-tag-add-btn{padding:8px 16px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.wf-tag-add-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.wf-tags-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:36px;padding:.5rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.wf-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;background-color:var(--accent-color);color:#fff;border-radius:16px;font-size:.85rem;font-weight:500}.wf-tag-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:1.15rem;line-height:1;padding:0;margin-left:.15rem;opacity:.8;transition:opacity .2s}.wf-tag-remove:hover{opacity:1}.wf-switch-label{display:flex;flex-direction:column;gap:.75rem;font-weight:400;color:var(--text-primary);margin-top:.5rem}.wf-switch-label-text{font-weight:500;color:var(--text-muted);text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.wf-switch-container{display:flex;align-items:center;justify-content:center;margin-top:.5rem}.wf-switch-input{display:none}.wf-switch{position:relative;display:inline-block;width:52px;height:28px;background-color:var(--bg-tertiary);border-radius:28px;cursor:pointer;transition:background-color .3s;border:2px solid var(--border-color);flex-shrink:0}.wf-switch-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--text-muted);border-radius:50%;transition:all .3s}.wf-switch-input:checked+.wf-switch{background-color:var(--accent-color);border-color:var(--accent-color)}.wf-switch-input:checked+.wf-switch .wf-switch-slider{transform:translate(24px);background-color:#fff}.wf-switch-status{font-weight:600;color:var(--text-primary);min-width:60px;margin-left:10px}.wf-switch-input:checked~.wf-switch-status{color:#10b981}.wf-switch-input:not(:checked)~.wf-switch-status{color:var(--text-muted)}.wf-form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.wf-cron-field{grid-column:1 / -1}.wf-add-step-buttons{display:flex;gap:8px;flex-wrap:wrap}.wf-add-step-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.wf-add-step-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.empty-steps{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:8px}.empty-steps p{margin:0;font-size:14px}.steps-list{display:flex;flex-direction:column;gap:16px}.step-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:16px}.step-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.step-number{font-weight:700;font-size:14px;color:var(--accent-color);background:#6366f11a;padding:2px 10px;border-radius:var(--radius-full)}.step-temp-id{font-size:11px;color:var(--text-muted);font-family:monospace}.step-card-header .wf-remove-step-btn{margin-left:auto}.wf-remove-step-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--error-color);cursor:pointer;transition:background .2s}.wf-remove-step-btn:hover{background:#ef44441a}.step-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.step-data-mappings{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.mapping-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mapping-header label{font-size:13px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.wf-mapping-add-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;background:transparent;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.wf-mapping-add-btn:hover{background:var(--accent-color);color:#fff}.mapping-hint{margin:0;font-size:12px;color:var(--text-muted);font-style:italic}.mapping-rows{display:flex;flex-direction:column;gap:8px}.mapping-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.mapping-source{display:flex;gap:6px;flex:1;min-width:0}.mapping-source select{width:120px;flex-shrink:0;padding:4px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px}.mapping-path-input{display:flex;align-items:center;flex:1;min-width:0;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);overflow:hidden}.path-prefix{padding:4px 0 4px 8px;color:var(--accent-color);font-family:monospace;font-size:13px;font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.mapping-path-input input{flex:1;min-width:0;padding:4px 8px 4px 2px;border:none!important;background:transparent!important;color:var(--text-primary);font-size:12px;font-family:monospace}.mapping-path-input input:focus{outline:none}.mapping-arrow{color:var(--text-muted);flex-shrink:0}.mapping-target{flex:1;min-width:0}.step-dependencies{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.step-dependencies label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;display:block}.dep-chips{display:flex;flex-wrap:wrap;gap:6px}.dep-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.dep-chip:hover{border-color:var(--accent-color);color:var(--accent-color)}.dep-chip.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.edges-list{display:flex;flex-direction:column;gap:12px}.edge-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid #6366f1;border-radius:10px;padding:14px}.edge-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.edge-number{font-weight:700;font-size:13px;color:#6366f1}.edge-temp-id{font-size:11px;color:var(--text-muted);font-family:monospace}.edge-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}@media (max-width: 768px){.edge-form-grid{grid-template-columns:1fr}}.wf-form-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.wf-cancel-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}.wf-cancel-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.wf-submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.wf-submit-btn:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow)}.wf-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (max-width: 768px){.wf-top-row,.workflow-form-page .form-grid,.step-form-grid{grid-template-columns:1fr}.wf-form-header{flex-direction:column;gap:1rem}.wf-form-header-content h1{font-size:1.5rem}}.wfr-page{max-width:1400px;margin:0 auto}.wfr-loading{display:flex;align-items:center;gap:8px;padding:40px;justify-content:center;color:var(--text-secondary)}.wfr-live-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:700;letter-spacing:.05em;background-color:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.35);animation:wfr-pulse 2s ease-in-out infinite}@keyframes wfr-pulse{0%,to{opacity:1}50%{opacity:.55}}.wfr-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.wfr-header-left{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.wfr-back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);text-decoration:none;transition:all .2s;flex-shrink:0;margin-top:.5rem}.wfr-back-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background-color:var(--bg-hover);transform:translate(-2px)}.wfr-header-content{flex:1;min-width:0}.wfr-header-content h1{font-size:2rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.wfr-subtitle{color:var(--text-muted);font-size:.95rem;margin:0}.wfr-subtitle code{font-size:.85rem;background:var(--bg-secondary);padding:1px 6px;border-radius:4px}.wfr-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.wfr-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap;border:none}.wfr-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.wfr-btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.wfr-btn-secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}.wfr-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1px solid rgba(239,68,68,.3)}.wfr-btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466}.wfr-btn-sm{padding:.5rem .75rem;font-size:12px}.wfr-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}.wfr-info-card{background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:10px;padding:16px}.wfr-info-card label{display:block;font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;margin-bottom:6px;font-weight:500}.wfr-info-card span{font-size:14px;color:var(--text-primary);font-weight:600}.wfr-info-error{grid-column:1 / -1;border-color:#ef44444d}.wfr-info-error span{color:var(--error-color);font-weight:500}.wfr-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.wfr-status-pending{background:var(--bg-secondary);color:var(--text-secondary)}.wfr-status-running{background:#3b82f626;color:#3b82f6}.wfr-status-completed{background:#10b98126;color:#10b981}.wfr-status-failed{background:#ef444426;color:#ef4444}.wfr-status-skipped{background:#9ca3af26;color:#9ca3af}.wfr-status-cancelled{background:#7c3aed26;color:#7c3aed}.wfr-status-delayed{background:#f59e0b26;color:#f59e0b}.wfr-status-partial{background:#10b98126;color:#10b981}.wfr-dag-section{margin-bottom:32px;background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.wfr-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.wfr-section-header h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0;color:var(--text-primary)}.wfr-dag-live-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px;background:linear-gradient(135deg,#22c55e26,#10b98126);color:#10b981;border:1px solid rgba(34,197,94,.25);animation:wfr-live-glow 2s ease-in-out infinite}@keyframes wfr-live-glow{0%,to{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 12px #22c55e4d}}.wfr-dag-container{margin-top:16px;background:var(--bg-primary);border-radius:10px;overflow:hidden}.wfr-steps-section{margin-bottom:24px;background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.wfr-steps-section h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.wfr-table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary)}.wfr-table{width:100%;border-collapse:collapse;font-size:14px}.wfr-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:1}.wfr-table th{text-align:left;padding:12px 16px;font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-weight:700;border-bottom:2px solid var(--border-color)}.wfr-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.wfr-table tbody tr:last-child td{border-bottom:none}.wfr-table tbody tr{transition:background-color .2s}.wfr-table tbody tr:hover{background:var(--bg-hover)}.wfr-error-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--error-color);font-size:13px}.wfr-link{color:var(--accent-color);text-decoration:none;font-weight:500}.wfr-link:hover{text-decoration:underline}@media (max-width: 768px){.wfr-header{flex-direction:column;gap:1rem}.wfr-header-content h1{font-size:1.5rem}.wfr-info-grid{grid-template-columns:1fr 1fr}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.wfb-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);overflow:hidden}.wfb-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;height:100%;font-size:1.1rem;color:var(--text-secondary)}.wfb-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:8px;border-bottom:1px solid var(--border-color);gap:1rem;flex-shrink:0;height:52px}.wfb-toolbar-left,.wfb-toolbar-right{display:flex;align-items:center;gap:.625rem}.wfb-back-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;color:var(--text-secondary);transition:background .15s,color .15s;flex-shrink:0}.wfb-back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wfb-name-input{border:1px solid transparent;border-radius:6px;padding:.375rem .625rem;font-size:1rem;font-weight:600;color:var(--text-primary);background:transparent;min-width:200px;transition:border-color .15s,background .15s}.wfb-name-input:hover{border-color:var(--border-color);background:var(--bg-tertiary)}.wfb-name-input:focus{outline:none;border-color:var(--accent-color);background:var(--bg-primary)}.wfb-active-toggle{display:flex;align-items:center;gap:.375rem;cursor:pointer;margin-top:.2rem}.wfb-active-toggle input[type=checkbox]{display:none}.wfb-active-label{display:inline-flex;align-items:center;gap:5px;padding:.25rem .625rem .25rem .5rem;border-radius:20px;font-size:.78rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;-webkit-user-select:none;user-select:none}.wfb-active-label:hover{opacity:.85}.wfb-active-label:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.wfb-active-label.is-active{background:var(--bg-success);color:var(--text-success);border-color:color-mix(in srgb,var(--text-success) 30%,transparent)}.wfb-active-label.is-active:before{background:#22c55e;box-shadow:0 0 0 2px #22c55e59}.wfb-active-label.is-inactive{background:var(--bg-muted);color:var(--text-secondary);border-color:var(--border-color)}.wfb-active-label.is-inactive:before{background:var(--text-muted, var(--text-secondary))}.wfb-step-count{font-size:.8125rem;color:var(--text-secondary);padding:0 .25rem}.wfb-toolbar-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .15s}.wfb-toolbar-btn:hover{background:var(--bg-primary);border-color:var(--accent-color)}.wfb-toolbar-btn--pressed{background:var(--bg-primary);border-color:var(--accent-color);color:var(--accent-color)}.wfb-toolbar-btn--add{background:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-color)}.wfb-toolbar-btn--add:hover{background:var(--accent-color);color:#fff}.wfb-toolbar-btn--save{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.wfb-toolbar-btn--save:hover:not(:disabled){opacity:.9}.wfb-toolbar-btn--save:disabled{opacity:.6;cursor:not-allowed}.wfb-add-menu{position:relative}.wfb-add-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-card, var(--bg-secondary));border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 24px #0003;z-index:200;min-width:200px;overflow:hidden;padding:4px 0}.wfb-add-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .1s}.wfb-add-menu-item:hover{background:var(--bg-hover)}.wfb-add-menu-item>svg,.wfb-add-menu-item>span:first-child{color:var(--accent-color);flex-shrink:0}.wfb-add-menu-item-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary)}.wfb-add-menu-item-desc{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}.wfb-settings-bar{display:flex;flex-direction:column;gap:.5rem;padding:.625rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:0 0 8px 8px;flex-shrink:0}.wfb-settings-row{display:flex;align-items:flex-end;gap:.625rem}.wfb-setting-field{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.wfb-setting-field--sm{flex:0 0 160px}.wfb-setting-field--xs{flex:0 0 96px}.wfb-setting-field--full{flex:1}.wfb-setting-field>label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.wfb-input,.wfb-select,.wfb-textarea{padding:.375rem .625rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s}.wfb-input:focus,.wfb-select:focus,.wfb-textarea:focus{outline:none;border-color:var(--accent-color)}.wfb-tags-row{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center;border:1px solid var(--border-color);border-radius:6px;padding:.25rem .5rem;background:var(--bg-primary);min-height:34px}.wfb-tag{display:flex;align-items:center;gap:.25rem;background:var(--bg-info);color:var(--text-info);padding:.125rem .5rem;border-radius:10px;font-size:.8rem}.wfb-tag button{background:none;border:none;cursor:pointer;color:inherit;font-size:.875rem;line-height:1;padding:0;opacity:.7}.wfb-tag-input{border:none;padding:.125rem .25rem;min-width:80px;font-size:.875rem;background:transparent}.wfb-tag-input:focus{outline:none;border:none}.wfb-canvas-wrapper{display:flex;flex:1;overflow:hidden;position:relative;min-height:500px;height:100%}.wfb-reactflow{flex:1;width:100%;height:100%}.react-flow__handle{width:10px;height:10px;background-color:var(--accent-color);border:2px solid var(--bg-primary)}.wfb-reactflow .react-flow__background{background-color:var(--bg-primary)}.wfb-empty-hint{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;padding:.625rem 1rem;color:var(--text-secondary);font-size:.875rem;margin-top:1rem!important}.wfb-step-node{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:.625rem .75rem;min-width:180px;max-width:220px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:visible}.wfb-step-node:hover{border-color:var(--accent-color);box-shadow:0 4px 16px #0000001f}.wfb-step-node--selected{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 20%,transparent)!important}.wfb-step-node--invalid{border-color:var(--border-danger);background:#dc262608}.wfb-step-node-header{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-bottom:.5rem}.wfb-step-node-title{font-weight:600;font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.wfb-step-node-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:none;border:none;cursor:pointer;color:var(--text-secondary);opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.wfb-step-node:hover .wfb-step-node-delete,.wfb-condition-node:hover .wfb-step-node-delete,.wfb-merge-node:hover .wfb-step-node-delete{opacity:1}.wfb-step-node-delete:hover{background:var(--bg-danger);color:var(--text-danger)}.wfb-step-node-body{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.wfb-step-node-job{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wfb-step-node-no-job{color:var(--text-danger);font-style:italic}.wfb-step-node-meta{display:flex;gap:.375rem;margin-top:.375rem;flex-wrap:wrap}.wfb-step-meta-tag{display:flex;align-items:center;gap:.2rem;font-size:.7rem;background:var(--bg-tertiary);color:var(--text-secondary);padding:.1rem .375rem;border-radius:8px}.react-flow__controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #00000026;overflow:hidden}.react-flow__controls-button{background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-color);color:var(--text-secondary);fill:var(--text-secondary);width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button:hover{background:var(--bg-tertiary);color:var(--text-primary);fill:var(--text-primary)}.react-flow__controls-button svg{fill:inherit;max-width:14px;max-height:14px}.react-flow__minimap{background:var(--bg-secondary)!important;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.react-flow__minimap-svg{background:var(--bg-secondary)}.react-flow__minimap-mask{fill:var(--bg-primary);opacity:.6}.react-flow__panel{margin:0 10px 0 0}.wfb-condition-node{background:var(--bg-secondary);border:2px solid #f59e0b;border-radius:12px;padding:.75rem;min-width:140px;max-width:180px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:visible}.wfb-condition-node:hover{border-color:#f59e0b;box-shadow:0 4px 16px #f59e0b33}.wfb-condition-node--selected{border-color:#f59e0b!important;box-shadow:0 0 0 3px #f59e0b33!important}.wfb-condition-node-header{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-bottom:.5rem}.wfb-condition-node-title{font-weight:600;font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.wfb-condition-node-body{display:flex;flex-direction:column;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.wfb-condition-expr{font-size:.7rem;color:var(--text-muted);font-style:italic;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wfb-port-label{position:absolute;font-size:.65rem;font-weight:600;padding:.1rem .3rem;border-radius:3px;pointer-events:none;white-space:nowrap}.wfb-port-label--true{right:-45px;top:35%;background:#22c55e26;color:#22c55e;border:1px solid #22c55e}.wfb-port-label--false{bottom:-25px;left:50%;transform:translate(-50%);background:#ef444426;color:#ef4444;border:1px solid #ef4444}.wfb-merge-node{background:var(--bg-secondary);border:2px solid #10b981;border-radius:8px;padding:.625rem .75rem;min-width:100px;max-width:140px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:visible}.wfb-merge-node:hover{border-color:#10b981;box-shadow:0 4px 16px #10b98133}.wfb-merge-node--selected{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.wfb-merge-node-header{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-bottom:.5rem}.wfb-merge-node-title{font-weight:600;font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.wfb-merge-node-body{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.react-flow__attribution{background:var(--bg-secondary);color:var(--text-muted);border-radius:4px;padding:2px 6px;font-size:10px}.react-flow__attribution a{color:var(--text-muted)}.wfb-config-panel{width:35rem;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-color);border-radius:0 0 8px 8px;overflow:hidden}.wfb-config-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.wfb-config-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;color:var(--text-primary)}.wfb-config-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:none;border:none;cursor:pointer;color:var(--text-secondary);transition:background .15s}.wfb-config-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wfb-config-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.wfb-field{display:flex;flex-direction:column;gap:.375rem}.wfb-field>label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.wfb-field-header{display:flex;align-items:center;justify-content:space-between}.wfb-field-header>label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.wfb-textarea{resize:vertical;font-family:Courier New,monospace;font-size:.8125rem}.wfb-textarea:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-tertiary)}.wfb-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.wfb-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:500;padding:2px 7px;border-radius:10px}.wfb-badge--warn{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.wfb-deps-list{display:flex;flex-direction:column;gap:.375rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .625rem}.wfb-dep-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;color:var(--text-primary)}.wfb-dep-item input[type=checkbox]{cursor:pointer}.wfb-btn-xs{display:flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:5px;font-size:.8125rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--accent-color);cursor:pointer;transition:background .15s}.wfb-btn-xs:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.wfb-mapping-row{display:flex;align-items:center;gap:.25rem;margin-top:.375rem;flex-wrap:wrap}.wfb-mapping-preview{display:flex;align-items:center;gap:.25rem;width:100%;padding:.375rem .5rem;margin-top:.25rem;background:var(--bg-info);border:1px solid var(--border-color);border-radius:4px;font-size:.7rem;color:var(--text-info)}.wfb-mapping-preview code{background:#0000001a;padding:.1rem .3rem;border-radius:3px;font-family:Courier New,monospace;font-size:.7rem}.wfb-input-sm{flex:1;min-width:0;padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;background:var(--bg-primary);color:var(--text-primary)}.wfb-input-sm:focus{outline:none;border-color:var(--accent-color)}.wfb-btn-delete-sm{display:flex;align-items:center;padding:.25rem;background:none;border:none;cursor:pointer;color:var(--text-danger);border-radius:4px;flex-shrink:0;transition:background .15s}.wfb-btn-delete-sm:hover{background:var(--bg-danger)}.wfb-schema-preview{display:flex;flex-direction:column;gap:4px}.wfb-schema-section{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.wfb-schema-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:var(--bg-tertiary);border:none;cursor:pointer;font-size:.8rem;font-weight:500;color:var(--schema-color, var(--accent-color));text-align:left;transition:background .15s}.wfb-schema-toggle:hover{background:var(--bg-primary)}.wfb-schema-count{margin-left:auto;font-size:.7rem;font-weight:400;color:var(--text-muted)}.wfb-schema-chevron{flex-shrink:0;color:var(--text-muted)}.wfb-schema-fields{display:flex;flex-direction:column;gap:1px;padding:4px 0;background:var(--bg-primary);max-height:200px;overflow-y:auto}.wfb-schema-field{display:flex;align-items:baseline;gap:6px;padding:3px 10px;font-size:.775rem;min-width:0}.wfb-schema-field:hover{background:var(--bg-tertiary)}.wfb-schema-field-name{font-family:monospace;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:50%}.wfb-schema-field-type{font-size:.7rem;padding:1px 5px;border-radius:4px;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-muted)}.wfb-schema-type--string{background:#22c55e1a;color:#22c55e}.wfb-schema-type--integer,.wfb-schema-type--number{background:#6366f11a;color:var(--accent-color)}.wfb-schema-type--boolean{background:#f59e0b1a;color:#f59e0b}.wfb-schema-type--object{background:#6366f11a;color:#6366f1}.wfb-schema-type--array{background:#ef44441a;color:#ef4444}.wfb-schema-field-desc{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.wfb-edge-delete-btn{display:flex;align-items:center;justify-content:center;height:10px;background:#ef4444;border:none;border-radius:4px;cursor:pointer;color:#fff;transition:all .15s ease;opacity:0;box-shadow:0 1px 3px #0003}.wfb-edge-btn-wrapper:hover .wfb-edge-delete-btn,.wfb-edge-btn-wrapper--selected .wfb-edge-delete-btn{opacity:1}.wfb-edge-delete-btn:hover{background:#dc2626;transform:scale(1.1)}.report-dashboard{padding:0}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;padding:1.5rem}.report-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;gap:1.5rem}.report-card:hover:not(.no-data){box-shadow:0 8px 24px #0000001f;transform:translateY(-2px);border-color:var(--primary-color)}.report-card.no-data{opacity:.6}.report-card-header{display:flex;gap:1rem;align-items:flex-start}.report-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-info{flex:1;min-width:0}.report-dashboard .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:nowrap;gap:1rem}.report-dashboard .page-header>div:first-child{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.report-dashboard .page-header .page-description{width:100%;margin:-.25rem 0 0;font-size:.8125rem;color:var(--text-muted)}.report-dashboard .page-header .btn{max-width:150px;white-space:nowrap}.report-dashboard .page-header .page-description{text-align:left}.report-info h3{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.report-info p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.report-card-body{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--border-color);padding-top:1rem}.report-meta{display:flex;flex-direction:column;gap:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.meta-item .icon{color:var(--text-tertiary)}.report-action{display:flex;justify-content:flex-end}.report-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-tertiary);gap:.5rem}.report-card-empty p{font-size:.875rem;font-weight:500;margin:0;color:var(--text-secondary)}.report-card-empty small{font-size:.75rem;color:var(--text-tertiary)}@media (max-width: 768px){.report-grid{grid-template-columns:1fr;padding:1rem}}.spinning{animation:spin 1s linear infinite}.dashboard-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.cleanup-input-group{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.cleanup-input-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.cleanup-input{padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:.875rem;width:100%;box-sizing:border-box}.cleanup-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.cleanup-result{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.cleanup-result.success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.cleanup-result.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.report-detail{padding:0}.report-detail .page-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:nowrap;gap:1rem}.report-detail .page-header>div:first-child{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.report-detail .page-header .page-description{width:100%;margin:-.25rem 0 0 3rem;text-align:left;font-size:.8125rem;color:var(--text-muted)}.page-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.report-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;cursor:pointer;max-width:340px}.btn-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-back:hover{background:var(--hover-bg);color:var(--text-primary)}.report-selector{padding:1.5rem;background:var(--surface-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.report-selector label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);font-size:.875rem}.report-selector select{flex:1;max-width:500px;padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer}.chart-container{padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.chart-container .recharts-default-tooltip{background-color:var(--surface-bg)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.chart-container .recharts-tooltip-label{color:var(--text-primary)!important}.chart-container .recharts-tooltip-item,.chart-container .recharts-legend-item-text{color:var(--text-secondary)!important}.chart-container .recharts-legend-wrapper{bottom:-10px!important}.chart-container .recharts-tooltip-cursor{fill:var(--bg-hover)!important}.chart-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.5px}.stat-value{font-size:1.875rem;font-weight:700;line-height:1}.stat-detail{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.empty-state{padding:4rem 2rem;text-align:center;color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state h3{color:var(--text-secondary);margin:0;font-size:1.25rem}.empty-state p{color:var(--text-tertiary);margin:0;font-size:.875rem}.loading-container{padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.health-scores-container{padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.stat-card-clickable{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.stat-card-clickable:hover{border-color:var(--border-light)}.health-filters{display:flex;gap:1rem;align-items:stretch}.health-search{flex:1;display:flex;align-items:center;gap:.5rem;padding:0 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary)}.health-search input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.875rem;padding:.625rem 0}.health-search input::placeholder{color:var(--text-muted)}.search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.health-slider{display:flex;flex-direction:column;gap:.375rem;min-width:220px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1rem}.health-slider label{font-size:.75rem;color:var(--text-secondary)}.health-slider strong{color:var(--text-primary)}.health-slider input[type=range]{width:100%;accent-color:var(--accent-color);cursor:pointer}@media (max-width: 768px){.health-filters{flex-direction:column}.health-slider{min-width:unset}}.health-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.health-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.health-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.health-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.health-card-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);flex:1;min-width:0;word-break:break-word}.health-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.health-gauge{display:flex;align-items:center;justify-content:center;padding:1rem 0}.gauge-svg{width:100%;max-width:200px;height:auto}.health-stats{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.health-stat{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.health-stat .icon{color:var(--text-tertiary)}.health-stat .stat-label{color:var(--text-secondary);flex:1}.health-stat .stat-value{font-weight:600;color:var(--text-primary)}@media (max-width: 768px){.report-selector{flex-direction:column;align-items:stretch}.report-selector select{max-width:none}.chart-stats{grid-template-columns:1fr}.health-summary{grid-template-columns:repeat(2,1fr)}.health-cards-grid{grid-template-columns:1fr}}.schedule-table{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.schedule-table table{width:100%;border-collapse:collapse}.schedule-table thead{background:var(--surface-bg)}.schedule-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.schedule-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s ease}.schedule-table tbody tr:hover{background:var(--hover-bg)}.schedule-row-clickable{cursor:pointer}.schedule-table td{padding:1rem;font-size:.875rem;color:var(--text-primary)}.job-name-cell{font-weight:500;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-name-cell .table-link{color:var(--accent-color);text-decoration:none;transition:color .15s ease}.job-name-cell .table-link:hover{color:var(--accent-hover);text-decoration:underline}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.375rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon:hover{color:var(--accent-color);background:var(--bg-hover)}.deviation-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.table-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid var(--border-color)}.table-pagination .pagination-info{font-size:.8125rem;color:var(--text-secondary);min-width:100px;text-align:center}.table-pagination .btn{max-width:50px}.btn-delete-report{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;transition:all .2s ease}.btn-delete-report:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.btn-delete-report:disabled{opacity:.6;cursor:not-allowed}.ds-btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem 1.125rem;background:var(--accent-gradient);color:#fff;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:opacity var(--transition-base),box-shadow var(--transition-base)}.ds-btn-primary:hover{opacity:.9;box-shadow:0 0 0 3px var(--accent-glow);color:#fff}.ds-btn-primary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ds-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ds-btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem 1.125rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.ds-btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.ds-btn-secondary:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ds-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ds-btn-danger{display:inline-flex;align-items:center;gap:var(--space-2);padding:.5rem 1.125rem;background:#ef444414;color:var(--error-color);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--transition-base),box-shadow var(--transition-base)}.ds-btn-danger:hover{background-color:#ef444424;box-shadow:0 0 0 3px #ef444426}.ds-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.375rem;background:transparent;color:var(--text-muted);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.ds-btn-ghost:hover{background-color:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.ds-btn-sm{padding:.3rem .75rem;font-size:var(--text-xs);border-radius:var(--radius-sm)}.ds-btn-lg{padding:.625rem 1.5rem;font-size:var(--text-base);border-radius:var(--radius-lg)}.ds-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.ds-card-hover{transition:border-color var(--transition-base),box-shadow var(--transition-base)}.ds-card-hover:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.ds-card-header{padding:var(--space-6);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.ds-card-title{margin:0;font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.ds-card-body{padding:var(--space-6)}.ds-input{display:block;width:100%;padding:.5rem .75rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.ds-input::placeholder{color:var(--text-muted)}.ds-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.ds-input:disabled{opacity:.5;cursor:not-allowed}.ds-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.ds-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.ds-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.ds-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .625rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;letter-spacing:.01em;border:1px solid transparent}.ds-badge-accent{background:#6366f11a;color:var(--accent-color);border-color:#6366f133}.ds-badge-success{background:#10b9811a;color:#10b981;border-color:#10b98133}.ds-badge-warning{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.ds-badge-error{background:#ef44441a;color:#ef4444;border-color:#ef444433}.ds-badge-info{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633}.ds-badge-neutral{background:#71717a1a;color:#71717a;border-color:#71717a33}.ds-alert{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);font-size:var(--text-sm)}.ds-alert-warning{border-color:#f59e0b40;background:#f59e0b0f}.ds-alert-error{border-color:#ef444440;background:#ef44440f}.ds-alert-success{border-color:#10b98140;background:#10b9810f}.ds-alert-info{border-color:#3b82f640;background:#3b82f60f}.ds-divider{width:100%;height:1px;background:var(--border-color);border:none;margin:var(--space-6) 0}.ds-heading-1{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.04em;line-height:1.15}.ds-heading-2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.03em;line-height:1.2}.ds-heading-3{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;line-height:1.3}.ds-heading-4{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.4}.ds-text-primary{color:var(--text-primary)}.ds-text-secondary{color:var(--text-secondary)}.ds-text-muted{color:var(--text-muted)}.ds-mono{font-family:Courier New,Fira Code,monospace;font-size:.9em;background:#6366f114;padding:.15em .4em;border-radius:var(--radius-xs);border:1px solid rgba(99,102,241,.15)}.ds-page{max-width:1400px;margin:0 auto;padding:0 var(--space-4)}.ds-section{margin-bottom:var(--space-8)}.ds-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ds-stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.ds-stack-lg{display:flex;flex-direction:column;gap:var(--space-6)}.ds-row{display:flex;align-items:center;gap:var(--space-3)}.ds-row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","calt";--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .3s ease;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: rgba(255, 255, 255, .04);--bg-card: #0a0a0a;--card-bg: var(--bg-card);--sidebar-bg: #0a0a0a;--surface-bg: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .16);--accent-color: #6366f1;--accent-hover: #818cf8;--accent-gradient: linear-gradient(90deg, #6366f1, #8b5cf6);--accent-glow: rgba(99, 102, 241, .25);--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: rgba(255, 255, 255, .04);--bg-card: #0a0a0a;--card-bg: var(--bg-card);--sidebar-bg: #0a0a0a;--surface-bg: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .16);--accent-color: #6366f1;--accent-hover: #818cf8;--accent-gradient: linear-gradient(90deg, #6366f1, #8b5cf6);--accent-glow: rgba(99, 102, 241, .25);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}[data-theme=light]{--bg-primary: #f4f4f5;--bg-secondary: #ffffff;--bg-tertiary: #ececed;--bg-hover: rgba(0, 0, 0, .04);--bg-card: #ffffff;--card-bg: var(--bg-card);--sidebar-bg: #ffffff;--surface-bg: #ececed;--text-primary: #09090b;--text-secondary: #52525b;--text-muted: #a1a1aa;--border-color: rgba(0, 0, 0, .09);--border-light: rgba(0, 0, 0, .15);--accent-color: #6366f1;--accent-hover: #4f46e5;--accent-gradient: linear-gradient(90deg, #6366f1, #8b5cf6);--accent-glow: rgba(99, 102, 241, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);color-scheme:light;color:var(--text-primary);background-color:var(--bg-primary)}:root{--theme-toggle-x: 50vw;--theme-toggle-y: 50vh;--theme-toggle-r: 100vmax}::view-transition-old(root){animation:none;z-index:1}::view-transition-new(root){animation:theme-reveal .5s ease-out forwards;z-index:9999}@keyframes theme-reveal{0%{clip-path:circle(0px at var(--theme-toggle-x) var(--theme-toggle-y))}to{clip-path:circle(var(--theme-toggle-r) at var(--theme-toggle-x) var(--theme-toggle-y))}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden;width:100%;max-width:100vw;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;max-width:100%;margin:0 auto;text-align:center;overflow-x:hidden}a{font-weight:500;color:var(--accent-color);text-decoration:inherit}a:hover{color:var(--accent-hover)}button{border-radius:var(--radius-md);border:1px solid var(--border-color);padding:.5em 1em;font-size:var(--text-sm);font-weight:500;font-family:inherit;letter-spacing:-.01em;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}button:hover{background-color:var(--bg-tertiary);border-color:var(--border-light)}button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input,textarea,select{border-radius:var(--radius-md);border:1px solid var(--border-color);padding:.5em .75em;font-size:var(--text-sm);font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}table{width:100%;border-collapse:collapse;margin-top:1rem}table th,table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);font-size:var(--text-sm)}table th{background-color:var(--bg-secondary);font-weight:600;color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:var(--text-xs)}table tr:hover td{background-color:var(--bg-hover)}
