.notification-center{position:relative}.notification-center-toggle{position:relative;background:color-mix(in srgb,var(--color-surface-variant) 60%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);border-radius:var(--radius-lg);color:var(--color-text-secondary, #888);font-size:1.35rem;cursor:pointer;padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;min-width:44px;min-height:44px;box-sizing:border-box}.notification-center-toggle:hover{color:var(--color-primary, #6366f1);background:var(--color-surface-variant);border-color:color-mix(in srgb,var(--color-border) 70%,transparent);box-shadow:0 2px 8px #0000001a}.notification-badge{position:absolute;top:2px;right:2px;background:linear-gradient(135deg,var(--color-error, #ef4444),#dc2626);color:#fff;font-size:.7rem;font-weight:600;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 6px #ef444466}.notification-overlay{position:fixed;inset:0;background:#00000080;z-index:999}.notification-panel{position:absolute;top:calc(100% + .5rem);right:0;width:400px;max-height:600px;background:color-mix(in srgb,var(--color-surface) 98%,var(--color-background));border:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:var(--radius-lg, 12px);box-shadow:0 8px 32px #00000040,0 1px #ffffff0a;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notification-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border, #444)}.notification-panel-header h3{margin:0;font-size:1.1rem;color:var(--color-text-primary, #fff)}.notification-panel-actions{display:flex;gap:var(--spacing-sm);align-items:center}.notification-action-btn{background:transparent;border:1px solid var(--color-border, #444);color:var(--color-text-secondary, #888);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:.85rem;transition:all var(--transition-base);min-height:32px}.notification-action-btn:hover{background:var(--color-surface-variant, #2a2a2a);color:var(--color-text-primary, #fff)}.notification-close-btn{background:transparent;border:none;color:var(--color-text-secondary, #888);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border-radius:var(--radius-sm, 4px);transition:all var(--transition-base)}.notification-close-btn:hover{background:var(--color-surface-variant, #2a2a2a);color:var(--color-text-primary, #fff)}.notification-list{flex:1;overflow-y:auto;max-height:500px}.notification-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary, #888)}.notification-empty svg{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.notification-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border, #444);cursor:pointer;transition:background-color var(--transition-base)}.notification-item:hover{background:var(--color-surface-variant, #2a2a2a)}.notification-item.unread{background:#6366f10d;border-left:3px solid var(--color-primary, #6366f1)}.notification-item.error.unread{border-left-color:var(--color-error, #ef4444);background:#ef44440d}.notification-item.warning.unread{border-left-color:var(--color-warning, #f59e0b);background:#ff98000d}.notification-item.success.unread{border-left-color:var(--color-success, #22c55e);background:#22c55e0d}.notification-item-icon{flex-shrink:0;font-size:1.5rem}.notification-icon.error{color:var(--color-error, #ef4444)}.notification-icon.warning{color:var(--color-warning, #f59e0b)}.notification-icon.success{color:var(--color-success, #22c55e)}.notification-icon.info{color:var(--color-primary, #6366f1)}.notification-item-content{flex:1;min-width:0}.notification-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.notification-item-title{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary, #fff)}.notification-item-close{background:transparent;border:none;color:var(--color-text-secondary, #888);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm, 4px);transition:all var(--transition-base);flex-shrink:0}.notification-item-close:hover{background:var(--color-surface-variant, #2a2a2a);color:var(--color-text-primary, #fff)}.notification-item-message{margin:0 0 var(--spacing-xs) 0;font-size:.85rem;color:var(--color-text-secondary, #888);line-height:1.4}.notification-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs)}.notification-item-time{font-size:.75rem;color:var(--color-text-secondary, #666)}.notification-item-action{background:transparent;border:1px solid var(--color-primary, #6366f1);color:var(--color-primary, #6366f1);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:.8rem;transition:all var(--transition-base)}.notification-item-action:hover{background:var(--color-primary, #6366f1);color:#fff}@media(max-width:768px){.notification-panel{width:calc(100vw - 2rem);max-width:400px;right:-1rem;max-height:calc(100vh - 120px)}.notification-list{max-height:calc(100vh - 180px)}}.tooltip-trigger{position:relative;display:inline-block}.tooltip{position:fixed;background-color:var(--color-surface);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:normal;max-width:300px;word-wrap:break-word;z-index:var(--z-tooltip, 9999);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);pointer-events:none;animation:tooltip-fade-in var(--transition-base)}.tooltip:before{content:"";position:absolute;width:0;height:0;border:6px solid transparent}.tooltip-top:before{bottom:-12px;left:50%;transform:translate(-50%);border-top-color:var(--color-surface)}.tooltip-bottom:before{top:-12px;left:50%;transform:translate(-50%);border-bottom-color:var(--color-surface)}.tooltip-left:before{right:-12px;top:50%;transform:translateY(-50%);border-left-color:var(--color-surface)}.tooltip-right:before{left:-12px;top:50%;transform:translateY(-50%);border-right-color:var(--color-surface)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.version-update-banner{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,color-mix(in srgb,var(--color-warning) 22%,var(--color-surface)),color-mix(in srgb,var(--color-warning-dark) 18%,var(--color-surface)));border:1px solid color-mix(in srgb,var(--color-warning) 50%,transparent);border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:0 1px 4px #ff980026,inset 0 1px #ffffff0f;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.version-update-banner:hover{box-shadow:0 2px 8px #ff980040,inset 0 1px #ffffff14;border-color:color-mix(in srgb,var(--color-warning) 70%,transparent)}.version-update-banner-icon{flex-shrink:0;font-size:.95rem;color:var(--color-warning)}.version-update-banner-text{flex:0 1 auto;white-space:nowrap}.version-update-banner-text strong{color:var(--color-warning);font-weight:600}.version-update-banner-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);background:var(--color-warning);color:var(--color-background);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-decoration:none;white-space:nowrap;transition:background var(--transition-base),transform var(--transition-fast)}.version-update-banner-link:hover{background:var(--color-warning-dark);color:var(--color-text-primary);transform:translateY(-1px)}.version-update-banner-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-time-container{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px var(--spacing-md);background:color-mix(in srgb,var(--color-surface-variant) 70%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);border-radius:var(--radius-lg);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;height:40px;box-sizing:border-box}.header-time-container:hover{border-color:color-mix(in srgb,var(--color-border) 70%,transparent);background:var(--color-surface-variant);box-shadow:0 2px 8px #0000001a}.header-time-content{display:flex;align-items:center}.header-time-clock{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:.5px}.header-time-toggle{background:transparent;border:1px solid var(--color-border);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;transition:all var(--transition-base);margin-left:var(--spacing-xs);min-width:34px;text-align:center}.header-time-toggle.utc{color:var(--color-info);border-color:#6366f14d;background-color:#6366f11a}.header-time-toggle.cet{color:var(--color-warning);border-color:var(--color-border);color:var(--color-text-secondary)}.header-time-toggle:hover{transform:translateY(-1px);filter:brightness(1.2)}.header-time-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-time-dual{display:flex;align-items:center;gap:.35rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;letter-spacing:.3px}.ht-dual-utc{color:#6366f1f2}.ht-dual-sep{color:var(--color-text-secondary);opacity:.7;font-weight:400;-webkit-user-select:none;user-select:none}.ht-dual-cet{color:var(--color-text-primary)}button.header-lang-dual-btn{background:none;border:none;padding:0;margin:0;font:inherit;font-size:inherit;font-weight:inherit;font-variant-numeric:tabular-nums;letter-spacing:.3px;cursor:pointer;text-align:left;transition:opacity .15s ease,filter .15s ease}button.header-lang-dual-btn:hover{filter:brightness(1.12)}button.header-lang-dual-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.header-time-cycle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:var(--spacing-xs);padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.85rem;line-height:1;cursor:pointer;opacity:.6;flex-shrink:0;transition:all var(--transition-base)}.header-time-cycle:hover{opacity:1;color:var(--color-primary);border-color:var(--color-border);background:#6366f114}.setup-wizard-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;padding:var(--spacing-md)}.setup-wizard-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);max-width:400px;width:100%;box-shadow:0 4px 12px #00000026}.setup-wizard-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.setup-wizard-text{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.45}.setup-wizard-link{margin:0 0 var(--spacing-md);font-size:var(--font-size-sm)}.setup-wizard-link a{color:var(--color-primary);text-decoration:none}.setup-wizard-link a:hover{text-decoration:underline}.setup-wizard-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.setup-wizard-toggle{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.setup-wizard-checkbox{width:18px;height:18px;cursor:pointer}.setup-wizard-note{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.setup-wizard-actions{margin-top:var(--spacing-md)}.setup-wizard-actions .btn{min-width:100px}.layout{display:flex;min-height:100vh;background-color:var(--color-background)}.sidebar{width:var(--sidebar-width);background:#131316d1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.07);box-shadow:4px 0 32px #00000059,0 0 0 1px #ffffff0a;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:var(--z-sidebar)}.sidebar-header{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);flex-shrink:0}.sidebar-logo-container{display:flex;align-items:center;gap:var(--spacing-md)}.sidebar-logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#6366f138,#818cf81a);border-radius:var(--radius-lg);color:var(--color-primary-light);box-shadow:inset 0 1px #ffffff0f,0 4px 14px #4f46e538;flex-shrink:0;border:1px solid rgba(99,102,241,.28);transition:transform var(--transition-base),box-shadow var(--transition-base)}.sidebar-logo-icon:hover{transform:scale(1.02);box-shadow:inset 0 1px #ffffff14,0 6px 18px #4f46e54d}.sidebar-logo-icon--image{padding:6px;background:#ffffff0f;border-radius:var(--radius-md)}.sidebar-logo-img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.sidebar-logo-icon svg{font-size:1.35rem;position:relative;z-index:1}.sidebar-logo{font-size:var(--font-size-xl);font-weight:700;margin:0;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(99,102,241,.2))}.sidebar-nav{position:relative;flex:1;padding:var(--spacing-md) var(--spacing-sm);overflow-y:auto;overflow-x:hidden}.sidebar-nav-indicator{position:absolute;left:var(--spacing-sm);right:var(--spacing-sm);border-radius:var(--radius-lg);background:linear-gradient(90deg,#6366f133,#6366f10f);pointer-events:none;z-index:0;transition:top .25s ease-out,height .25s ease-out}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:var(--spacing-md);padding:12px var(--spacing-md);margin-bottom:4px;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);transition:background-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;font-size:var(--font-size-sm);font-weight:500;letter-spacing:.01em}.nav-item:hover{background-color:color-mix(in srgb,var(--color-surface-variant) 80%,transparent);color:var(--color-text-primary);transform:translate(2px)}.nav-item.active{background:transparent;color:var(--color-primary)}.nav-item.active:hover{background:transparent}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:20px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--color-warning),var(--color-warning-dark));border-radius:10px;flex-shrink:0;box-shadow:0 2px 6px rgb(from var(--color-warning) r g b / .4)}.nav-icon{font-size:1.35rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;border-radius:var(--radius-md);transition:transform var(--transition-base),background-color .2s ease}.nav-item.active .nav-icon{background-color:#6366f12e}.nav-icon.icon-clicked.settings-icon,.nav-icon.icon-clicked.sync-icon{animation:rotateIcon .6s ease-out}.nav-icon.icon-clicked.scheduler-icon{animation:clockRotate .8s ease-out}.nav-icon.icon-clicked.runs-icon{animation:playPauseIcon .6s ease-out}.nav-icon.icon-clicked.pipelines-icon{animation:flowIcon .8s ease-out}.nav-icon.icon-clicked.dashboard-icon{animation:dashboardLines .6s ease-out}.nav-icon.icon-clicked.secrets-icon{animation:lockUnlockIcon .8s ease-out}.nav-icon.icon-clicked.users-icon{animation:bounceIcon .6s ease-out}@keyframes rotateIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes scaleIcon{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes wiggleIcon{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes pulseIcon{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}@keyframes clockRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lockUnlockIcon{0%{transform:rotateY(0) scale(1)}25%{transform:rotateY(90deg) scale(1.1)}50%{transform:rotateY(180deg) scale(1)}75%{transform:rotateY(270deg) scale(1.1)}to{transform:rotateY(360deg) scale(1)}}@keyframes dashboardLines{0%,to{transform:translateY(0) scaleY(1)}25%{transform:translateY(-2px) scaleY(1.2)}50%{transform:translateY(2px) scaleY(.8)}75%{transform:translateY(-1px) scaleY(1.1)}}@keyframes flowIcon{0%{transform:translate(0) scale(1);opacity:1}25%{transform:translate(4px) scale(1.1);opacity:.8}50%{transform:translate(0) scale(1);opacity:1}75%{transform:translate(-4px) scale(1.1);opacity:.8}to{transform:translate(0) scale(1);opacity:1}}@keyframes playPauseIcon{0%{opacity:1;transform:scale(1) rotate(0)}30%{opacity:.3;transform:scale(.9) rotate(180deg)}60%{opacity:1;transform:scale(1.1) rotate(360deg)}to{opacity:1;transform:scale(1) rotate(360deg)}}.nav-label{flex:1}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);display:flex;flex-direction:column;gap:var(--spacing-sm);background:color-mix(in srgb,var(--color-surface) 95%,var(--color-background));flex-shrink:0}.backend-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:color-mix(in srgb,var(--color-surface-variant) 70%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 40%,transparent);transition:border-color .2s ease,box-shadow .2s ease}.backend-status:hover{border-color:color-mix(in srgb,var(--color-border) 70%,transparent)}.status-dot-icon{font-size:.65rem;transition:filter .2s ease}.backend-status.online .status-dot-icon{color:var(--color-success);filter:drop-shadow(0 0 3px var(--color-success))}.backend-status.online.pulse .status-dot-icon{animation:greenLedPulse .6s ease-out}@keyframes greenLedPulse{0%{filter:drop-shadow(0 0 2px var(--color-success));transform:scale(1)}50%{filter:drop-shadow(0 0 12px var(--color-success)) drop-shadow(0 0 20px var(--color-success));transform:scale(1.3)}to{filter:drop-shadow(0 0 2px var(--color-success));transform:scale(1)}}.backend-status.offline .status-dot-icon{color:var(--color-error);filter:drop-shadow(0 0 3px var(--color-error))}.backend-status.checking .status-dot-icon{color:var(--color-warning);filter:drop-shadow(0 0 3px var(--color-warning));animation:pulse 1.5s ease-in-out infinite}.status-text{color:var(--color-text-secondary);font-weight:500;font-size:.8125rem}.sidebar-github-link,.sidebar-docs-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);background:color-mix(in srgb,var(--color-surface-variant) 60%,transparent);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:500;transition:background .2s ease,color .2s ease,transform .15s ease,border-color .2s ease;border:1px solid transparent}.sidebar-github-link:hover,.sidebar-docs-link:hover{background:var(--color-surface-variant);color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-border) 60%,transparent);transform:translateY(-1px)}.sidebar-github-link svg,.sidebar-docs-link svg{color:var(--color-primary);flex-shrink:0;opacity:.9}.sidebar-footer-text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;padding:var(--spacing-xs) 0;line-height:1.4}.sidebar-footer-text .heart{color:var(--color-error);animation:heartBeat 1.5s ease-in-out infinite;display:inline-block}.sidebar-footer-text strong{color:var(--color-primary);font-weight:600}.logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:12px var(--spacing-md);background:color-mix(in srgb,var(--color-error) 12%,transparent);color:var(--color-text-secondary);border:1px solid color-mix(in srgb,var(--color-error) 35%,transparent);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.logout-btn:hover{background:color-mix(in srgb,var(--color-error) 25%,transparent);color:#fff;border-color:var(--color-error);transform:translateY(-1px)}.logout-btn svg{font-size:1.2rem;opacity:.9}.layout-main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh}.main-header{background:#09090bb8;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 1px 12px #0003;padding:var(--spacing-md) var(--spacing-xl);position:sticky;top:0;z-index:var(--z-header);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.header-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-lg)}.page-title{justify-self:start;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.02em;line-height:1.25;text-shadow:0 0 40px rgba(255,255,255,.03)}.header-center{justify-self:center;min-width:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:var(--spacing-md)}.header-actions>*{flex-shrink:0}.header-center .version-update-banner{margin:0}.main-content{flex:1;padding:var(--spacing-xl);max-width:1400px;width:100%;margin:0 auto;position:relative;padding-bottom:calc(var(--spacing-xl) + 60px)}.page-transition-wrap{animation:pageFadeIn .25s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.layout-footer{position:fixed;bottom:var(--spacing-md);left:calc(var(--sidebar-width) + var(--spacing-md));display:flex;flex-direction:column;gap:var(--spacing-xs);z-index:var(--z-header) - 1;pointer-events:none}.footer-github-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--color-card) 88%,transparent);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;width:fit-content}.footer-github-link:hover{background:color-mix(in srgb,var(--color-surface-variant) 92%,transparent);border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.footer-github-link svg{font-size:1.25rem;color:var(--color-primary);flex-shrink:0}.footer-text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);pointer-events:none}.footer-text .heart{color:var(--color-error);animation:heartBeat 1.5s ease-in-out infinite;display:inline-block}@keyframes heartBeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.2)}20%,40%{transform:scale(1)}}.footer-text strong{color:var(--color-primary);font-weight:var(--font-weight-bold)}.mobile-menu-button{display:none;position:fixed;top:1rem;left:1rem;z-index:var(--z-sidebar) + 1;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--spacing-md);font-size:1.5rem;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all var(--transition-base);touch-action:manipulation;min-width:48px;min-height:48px}.mobile-menu-button:active{transform:scale(.95);background-color:var(--color-primary-dark)}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:var(--z-sidebar) - 1;opacity:0;pointer-events:none;transition:opacity .25s ease-out}.sidebar-overlay.visible{opacity:1;pointer-events:auto}@media(max-width:768px){.mobile-menu-button{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block}.sidebar-overlay:not(.visible){pointer-events:none}.sidebar{transform:translate(-100%);transition:transform .3s ease-out;box-shadow:2px 0 8px #0000004d}.sidebar.open{transform:translate(0)}.layout-main{margin-left:0}.main-header{padding:var(--spacing-md) var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 60px)}.page-title{font-size:var(--font-size-xl)}.main-content{padding:var(--spacing-md)}.nav-item{padding:var(--spacing-lg);min-height:48px}.logout-btn{min-height:48px;padding:var(--spacing-lg)}.nav-icon{font-size:1.75rem}.layout-footer{left:var(--spacing-md)}.main-content{padding-bottom:calc(var(--spacing-md) + 60px)}}#root{min-height:100vh;display:flex;flex-direction:column}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-secondary: #e4e4e7;--color-secondary-dark: #d4d4d8;--color-secondary-light: #f4f4f5;--color-success: #22c55e;--color-success-dark: #16a34a;--color-error: #ef4444;--color-error-dark: #dc2626;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-info: #818cf8;--color-background: #121215;--color-surface: #1a1a1e;--color-surface-variant: #1c1c21;--color-card: #131316;--color-text-primary: #f4f4f5;--color-text-secondary: #d4d4d8;--color-text-disabled: #71717a;--color-border: #27272a;--color-border-light: #3f3f46;--chart-1: #6366f1;--chart-2: #818cf8;--chart-3: #a5b4fc;--chart-4: #94a3b8;--chart-5: #64748b;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--line-height: 1.5;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22);--shadow-md: 0 2px 8px rgba(0, 0, 0, .28);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .35);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .45);--focus-ring-color: rgba(99, 102, 241, .35);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--z-sidebar: 100;--z-header: 90;--z-dropdown: 1000;--z-modal: 2000;--z-tooltip: 3000}.card{background-color:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-border-light) 70%,transparent)}.card-elevated{box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-border) 90%,transparent)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:var(--font-size-base);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:var(--shadow-sm);animation:empty-state-in .45s ease-out both}@keyframes empty-state-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0}.empty-state p{color:var(--color-text-secondary);margin:0;line-height:var(--line-height)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--color-text-secondary);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:var(--shadow-sm)}.loading-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:var(--font-size-base);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:2.5rem;padding:.4375rem var(--spacing-md);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.2;cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-fast);text-decoration:none;outline:none;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{min-height:2rem;padding:.25rem var(--spacing-sm);font-size:var(--font-size-sm);gap:var(--spacing-xs);border-radius:var(--radius-sm)}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:color-mix(in srgb,var(--color-primary-dark) 45%,transparent);box-shadow:inset 0 1px #ffffff24,0 1px 2px #00000047}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1f,0 4px 16px #4f46e56b}.btn-secondary{background-color:var(--color-secondary);color:#09090b;border-color:color-mix(in srgb,#09090b 12%,var(--color-secondary-dark));box-shadow:inset 0 1px #ffffffa6,0 1px 2px #0000001f}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff8c,var(--shadow-sm)}.btn-outlined{background-color:transparent;color:var(--color-primary-light);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);box-shadow:none}.btn-outlined:hover:not(:disabled){background-color:#6366f124;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 10px #6366f12e}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-surface-variant) 72%,transparent);color:var(--color-text-primary);border-color:color-mix(in srgb,var(--color-border) 55%,transparent);transform:translateY(-1px)}.btn-success{background-color:var(--color-success);color:#fff;border-color:color-mix(in srgb,var(--color-success-dark) 40%,transparent);box-shadow:inset 0 1px #fff3,0 1px 2px #00000038}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff24,0 4px 14px #22c55e59}.btn-error{background-color:var(--color-error);color:#fff;border-color:color-mix(in srgb,var(--color-error-dark) 40%,transparent);box-shadow:inset 0 1px #ffffff24,0 1px 2px #00000038}.btn-error:hover:not(:disabled){background-color:var(--color-error-dark);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1a,0 4px 14px #ef444459}.btn-warning{background-color:var(--color-warning);color:#0f172a;border-color:color-mix(in srgb,var(--color-warning-dark) 35%,transparent);box-shadow:inset 0 1px #ffffff59,0 1px 2px #0000001f}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;min-height:0;padding:0;border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-variant) 35%,transparent);color:var(--color-text-secondary);font-size:1.125rem;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base);-webkit-tap-highlight-color:transparent}.btn-icon:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.btn-icon:hover:not(:disabled){background:var(--color-surface-variant);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary-light);box-shadow:0 2px 8px #0003}.btn-icon:active:not(:disabled){transform:scale(.96)}.btn-icon:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-icon.btn-danger{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 45%,transparent);background:color-mix(in srgb,var(--color-error) 8%,transparent)}.btn-icon.btn-danger:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:#fff;box-shadow:0 4px 14px #ef44444d}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.badge-primary{background-color:color-mix(in srgb,var(--color-primary) 85%,transparent);color:var(--color-text-primary)}.badge-success{background-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:#86efac}.badge-error{background-color:color-mix(in srgb,var(--color-error) 35%,transparent);color:#fca5a5}.badge-warning{background-color:color-mix(in srgb,var(--color-warning) 35%,transparent);color:#fcd34d}.badge-info{background-color:color-mix(in srgb,var(--color-info) 35%,transparent);color:var(--color-primary-light)}.badge-secondary{background-color:var(--color-surface-variant);color:var(--color-text-secondary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface-variant);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.form-input::placeholder{color:var(--color-text-disabled)}.form-label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-group{margin-bottom:var(--spacing-lg)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block}.status-dot.online{background-color:var(--color-success);box-shadow:0 0 6px color-mix(in srgb,var(--color-success) 60%,transparent)}.status-dot.offline{background-color:var(--color-error);box-shadow:0 0 6px color-mix(in srgb,var(--color-error) 60%,transparent)}.status-dot.checking{background-color:var(--color-warning);box-shadow:0 0 6px color-mix(in srgb,var(--color-warning) 50%,transparent);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.tab-strip{position:relative;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);border-bottom:2px solid color-mix(in srgb,var(--color-border) 85%,transparent)}.tab-strip__indicator{position:absolute;bottom:-2px;height:2px;background-color:var(--color-primary);pointer-events:none;z-index:0;transition:left .25s ease-out,width .25s ease-out}.tab-strip__tab{position:relative;z-index:1;padding:.75rem 1.25rem;margin-bottom:-2px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-family);font-weight:var(--font-weight-medium);line-height:1.2;transition:color var(--transition-base),border-color var(--transition-base),background-color var(--transition-base)}.tab-strip__tab:hover{color:var(--color-text-primary);background-color:color-mix(in srgb,var(--color-surface-variant) 45%,transparent)}.tab-strip__tab:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.tab-strip__tab.active{color:var(--color-primary-light);border-bottom-color:var(--color-primary)}.tab-strip--indicator .tab-strip__tab.active{border-bottom-color:transparent}.icon-success{color:var(--color-success);flex-shrink:0}.loading-fallback{flex:1;display:flex;align-items:center;justify-content:center;min-height:50vh;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-base);background-color:var(--color-background)}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight-normal);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-medium);line-height:1.2;margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}p{margin:0;line-height:var(--line-height)}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,select,textarea{font-family:var(--font-family);color:var(--color-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-card)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#52525b}
