:root{--ink: #1a1a1a;--ink-soft: #2a2a2a;--amber: #EF9F27;--amber-dark: #BA7517;--grey: #888780;--primary: #EF9F27;--primary-dark: #1a1a1a;--primary-deeper: #111111;--primary-light: #f4b659;--secondary: #BA7517;--success: #43a047;--warning: #f57c00;--danger: #d32f2f;--dark: #1a1a1a;--light: #f8f9fa;--gray: #888780;--gray-light: #e5e7eb;--border: var(--gray-light);--border-radius: 6px;--border-radius-sm: 4px;--box-shadow: 0 2px 12px rgba(0, 0, 0, .08);--transition: all .18s ease;--sidebar-width: 256px;--sidebar-collapsed-width: 56px;--text-xs: .75rem;--text-sm: .82rem;--text-base: .88rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--font-mono: "JetBrains Mono", "Roboto Mono", "Courier New", monospace;--ef-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lm-accent: var(--amber);--lm-accent-faint: rgba(239, 159, 39, .08);--lm-accent-dim: rgba(239, 159, 39, .16);--lm-accent-mid: rgba(239, 159, 39, .3);--lm-card-shadow: 0 2px 12px rgba(26, 26, 26, .07);--lm-card-shadow-hover: 0 6px 20px rgba(26, 26, 26, .12);--lm-green: #2e7d32;--lm-amber: #e65100;--lm-red: #c62828}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,Helvetica,sans-serif;font-weight:400;background:#f8f9fa;color:var(--primary-dark);line-height:1.5;min-height:100vh}.font-mono{font-family:var(--font-mono);font-size:.82rem}.ef-eyebrow{font-family:var(--ef-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-dark);display:inline-flex;align-items:center;gap:10px}.ef-eyebrow:before{content:"";width:24px;height:3px;background:var(--amber);display:inline-block}[data-theme=dark] .ef-eyebrow{color:var(--amber)}.ef-accent-line{width:48px;height:3px;background:var(--amber);border:0;margin:0 0 18px}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex}.shell-body{display:flex;min-height:100vh;width:100%}.shell-sidebar{width:var(--sidebar-width);background:var(--primary-deeper);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar-header{padding:0 20px;height:64px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center}.sidebar-brand-icon{width:36px;height:36px;background:var(--secondary);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.sidebar-brand-glyph{color:var(--primary-deeper);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em}.sidebar-brand{display:flex;flex-direction:column;justify-content:center;gap:2px}.sidebar-brand-mark{width:26px;height:3px;background:var(--amber);border-radius:2px;margin-right:12px;flex-shrink:0}.sidebar-brand-name{font-size:16px;font-weight:700;letter-spacing:-.005em;color:#fff;line-height:1.1}.brand-bar{display:inline-block;width:22px;height:3px;background:var(--amber);border-radius:2px;vertical-align:middle;margin-right:9px;position:relative;top:-2px}.brand-forge{color:var(--amber)}.sidebar-brand-sub{font-size:var(--text-md);font-weight:300;color:#ffffffbf;letter-spacing:.02em;line-height:1.15}.shell-nav{padding:16px 0;display:flex;flex-direction:column;gap:2px;flex:1}.nav-section-label{padding:10px 20px 8px;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff47}.shell-nav-link{text-decoration:none;color:#ffffffd1;padding:7px 16px;border-left:3px solid transparent;font-size:var(--text-sm);font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:10px}.shell-nav-link i{width:18px;text-align:center;font-size:.95rem;opacity:.72}.shell-nav-link:hover{background:#ffffff0f;color:#fff}.shell-nav-link--active{background:#f4a93a1f;color:#fff;border-left-color:var(--secondary)}.shell-nav-link--active i{color:var(--secondary);opacity:1}.shell-sidebar--collapsed{width:var(--sidebar-collapsed-width)}.shell-sidebar--collapsed~.shell-content,.app-shell:has(.shell-sidebar--collapsed) .shell-content{margin-left:var(--sidebar-collapsed-width)}.shell-sidebar--collapsed .sidebar-header{padding:0 10px;justify-content:center}.shell-sidebar--collapsed .sidebar-brand-mark{margin-right:0}.shell-sidebar--collapsed .shell-nav-link{padding:10px;justify-content:center}.shell-sidebar--collapsed .shell-nav-link i{opacity:1}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column}.shell-meta{border-top:1px solid rgba(255,255,255,.08);padding:8px 12px;display:flex;align-items:center;gap:8px}.shell-meta-btn{background:none;border:1px solid rgba(255,255,255,.18);border-radius:var(--border-radius-sm);color:#ffffffb8;cursor:pointer;font-size:var(--text-sm);width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:var(--transition)}.shell-meta-btn:hover{background:#ffffff14;color:#fff}.shell-manual-link{display:flex;align-items:center;gap:12px;padding:8px 20px;text-decoration:none;color:#ffffff8c;font-size:.875rem;transition:var(--transition);border-left:3px solid transparent}.shell-manual-link:hover{background:#ffffff0f;color:#fff}.shell-manual-link i{width:18px;text-align:center;font-size:.95rem;opacity:.72}.shell-sidebar--collapsed .shell-manual-link{padding:8px;justify-content:center}[data-theme=dark] .shell-manual-link{color:#ffffff61}[data-theme=dark] .shell-manual-link:hover{background:#4a7fc126;color:#e8eef7d1}.shell-content{flex:1;overflow-y:auto;padding:20px;background:#eef0f2;margin-left:var(--sidebar-width);height:100vh}.feature-card{max-width:760px;background:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--gray-light);padding:20px}.feature-card h1{margin-bottom:8px;font-size:var(--text-lg);font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.07em}.feature-card p{color:var(--gray);font-size:var(--text-base)}.route-fallback{border:1px dashed var(--gray-light);border-radius:var(--border-radius-sm);padding:20px;color:var(--gray);background:#fff}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;pointer-events:none}.demo-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9000;display:flex;align-items:center;gap:8px;max-width:min(620px,calc(100vw - 32px));padding:8px 16px;background:#1a1a1a;color:#fff;border:1px solid #ef9f27;border-radius:999px;font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 6px 20px #00000047}.demo-banner__dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#ef9f27}[data-theme=dark] .demo-banner{background:#0d0f12;color:#e6e6e6;border-color:#ef9f27}@media (max-width: 600px){.demo-banner{top:8px;left:8px;right:8px;transform:none;max-width:none;white-space:normal;justify-content:center;text-align:center;border-radius:8px}}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--border-radius);box-shadow:0 4px 16px #00000024;background:#fff;border-left:4px solid var(--gray);color:var(--primary-dark);font-size:var(--text-sm);pointer-events:auto;animation:toast-slide-in .22s ease-out}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--secondary)}.toast--warning{border-left-color:var(--warning)}.toast-icon{flex-shrink:0;font-size:var(--text-md);line-height:1}.toast--success .toast-icon{color:var(--success)}.toast--error .toast-icon{color:var(--danger)}.toast--info .toast-icon{color:var(--secondary)}.toast--warning .toast-icon{color:var(--warning)}.toast-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.toast-message{line-height:1.35}.toast-actions{display:flex;gap:6px;flex-wrap:wrap}.toast-action-btn{padding:4px 10px;border-radius:4px;font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s,color .12s;white-space:nowrap}.toast-action-btn--primary{background:var(--primary);color:#fff;border-color:var(--primary)}.toast-action-btn--primary:hover{background:var(--primary-dark)}.toast-action-btn--danger{background:transparent;color:var(--danger);border-color:var(--danger)}.toast-action-btn--danger:hover{background:var(--danger);color:#fff}[data-theme=dark] .toast-action-btn--primary{background:var(--neon-cyan, #f4a93a);color:#0a0f18;border-color:transparent}[data-theme=dark] .toast-action-btn--primary:hover{background:#7de8ff}[data-theme=dark] .toast-action-btn--danger{color:var(--neon-red, #ff6b6b);border-color:var(--neon-red, #ff6b6b);background:transparent}[data-theme=dark] .toast-action-btn--danger:hover{background:#ff6b6b2e}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--gray);font-size:var(--text-lg);line-height:1;padding:0 2px;transition:color .12s}.toast-close:hover{color:var(--primary-dark)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;min-height:240px}.error-boundary-icon{font-size:2.5rem;color:var(--warning)}.error-boundary-title{font-size:var(--text-lg);font-weight:700;color:var(--primary)}.error-boundary-message{font-size:var(--text-base);color:var(--gray);max-width:440px}.error-boundary-reset{margin-top:8px;padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s}.error-boundary-reset:hover{background:var(--primary-dark)}.mobile-topbar,.mobile-nav-overlay{display:none}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:var(--primary-deeper);position:fixed;top:0;left:0;right:0;z-index:200;flex-shrink:0}.mobile-topbar-brand{display:flex;align-items:center;gap:10px}.mobile-topbar-name{font-size:15px;font-weight:700;letter-spacing:-.005em;color:#fff}.mobile-topbar-actions{display:flex;align-items:center;gap:8px}.mobile-hamburger,.mobile-theme-btn{width:44px;height:44px;font-size:1.1rem}.mobile-nav-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:149}.shell-sidebar{position:fixed;top:0;left:0;height:100dvh;width:280px!important;transform:translate(-100%);transition:transform .25s ease;z-index:150;overflow-y:auto}.shell-sidebar--mobile-open{transform:translate(0)}.shell-content{margin-left:0!important;padding:72px 16px 16px;min-height:100dvh}.shell-sidebar--collapsed .sidebar-brand-icon{margin-right:12px}.shell-nav-link{padding:12px 16px;min-height:44px}.shell-meta-btn{width:44px;height:44px}.toast-container{right:8px;left:8px;max-width:none}}@media (max-width: 900px){.toast-container{right:8px;left:8px;max-width:none}}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--border-radius-sm);font-size:var(--text-base);font-weight:500;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:var(--transition);line-height:1.35}.btn-sm,.btn.btn-sm{padding:6px 12px;font-size:.75rem}.btn-xs{padding:3px 8px;font-size:.68rem}.btn--primary,.btn-primary{background:var(--amber);color:var(--ink);border-color:var(--amber)}.btn--primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--amber-dark);color:#fff;border-color:var(--amber-dark)}.btn--secondary,.btn--ghost{background:#fff;color:var(--primary);border-color:var(--gray-light)}.btn--secondary:hover,.btn--ghost:hover{background:var(--light);border-color:var(--secondary)}.btn--danger{background:#fff;color:var(--danger);border-color:var(--gray-light)}.btn--danger:hover{background:#d32f2f0f;border-color:var(--danger)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{background:#388e3c;border-color:#388e3c}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#b71c1c;border-color:#b71c1c}.btn-warning{background:var(--warning);color:#fff;border-color:var(--warning)}.btn-warning:hover{background:#e65100;border-color:#e65100}.btn-info{background:#0d7cb5;color:#fff;border-color:#0d7cb5}.btn-info:hover{background:#0a6a9e;border-color:#0a6a9e}.btn-secondary{background:var(--secondary);color:var(--primary-dark);border-color:var(--secondary)}.btn-secondary:hover{background:#d4880f;border-color:#d4880f}.btn-light{background:#fff;color:var(--primary);border:1px solid var(--gray-light)}.btn-light:hover{background:var(--light)}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--gray-light)}.btn-ghost:hover{background:var(--light)}.btn--loading{opacity:.7;cursor:wait}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border:1px solid var(--gray-light);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--amber);z-index:1}.card-header{background:#f6f4ef;border-bottom:1px solid var(--gray-light);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.card-header h3{font-size:var(--text-md);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}.card-body{padding:16px}.card-title{font-size:var(--text-md);font-weight:600;color:var(--primary)}.badge{display:inline-flex;align-items:center;font-size:.62rem;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;line-height:1.5}.badge--default{background:#0000000f;color:var(--gray)}.badge--success{background:#43a0471f;color:#2e7d32}.badge--warning{background:#f57c001f;color:#e65100}.badge--danger{background:#d32f2f1a;color:#c62828}.badge--info{background:#f4a93a26;color:#0277bd}.input-group{display:flex;flex-direction:column;gap:4px}.input-label{font-size:.67rem;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.04em}.input-field{padding:8px 12px;border:1px solid var(--gray-light);border-radius:var(--border-radius-sm);font-size:var(--text-base);font-family:inherit;color:var(--primary-dark);background:#fff;transition:border-color .15s}.input-field:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 2px #f4a93a33}.browser-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#1e2428a6;z-index:2000;justify-content:center;align-items:flex-start;padding:24px;overflow-y:auto;animation:fadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.browser-modal.open{display:flex}.browser-modal-content{background:#fff;border-radius:12px;width:90%;max-width:640px;box-shadow:0 24px 64px #00000038;display:flex;flex-direction:column;max-height:calc(100vh - 48px);border:1px solid var(--gray-light)}.modal-xs{max-width:420px}.modal-sm{max-width:440px}.modal-sm-lg{max-width:460px}.modal-md{max-width:540px}.modal-lg{max-width:640px}.modal-xl{max-width:min(980px,96vw)}.browser-modal-header{padding:16px 20px;border-bottom:1px solid var(--gray-light);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--primary);border-radius:12px 12px 0 0}.browser-modal-header h3{font-size:var(--text-md);font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;margin:0}.browser-modal-close{font-size:var(--text-xl);color:#fffc;cursor:pointer;line-height:1;padding:2px 6px;border-radius:var(--border-radius-sm);font-weight:300;transition:var(--transition)}.browser-modal-close:hover{color:#fff;background:#ffffff1a}.browser-modal-body{padding:20px;overflow-y:auto;flex:1;background:#fafbfc}.browser-modal-footer{padding:14px 20px;border-top:1px solid var(--gray-light);display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0;background:#fff;border-radius:0 0 12px 12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-section{background:var(--light);border:1px solid var(--gray-light);border-radius:var(--border-radius);padding:14px 16px;margin-bottom:14px}.form-section-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray);margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--gray-light)}.form-section-label:first-child{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:var(--primary);font-size:var(--text-sm);letter-spacing:.02em}.form-control{width:100%;padding:9px 14px;border:1px solid var(--gray-light);border-radius:var(--border-radius-sm);font-size:var(--text-base);transition:var(--transition);background:#fff;font-family:inherit;color:var(--primary-dark)}.form-control:focus{border-color:var(--secondary);box-shadow:0 0 0 3px #72c9eb26;outline:none}.form-check{display:flex;align-items:center;gap:8px}.form-check label{font-weight:500;color:var(--primary);font-size:var(--text-sm);cursor:pointer;display:flex;align-items:center;gap:6px}.text-hint{font-size:var(--text-xs);color:var(--gray);margin-top:4px}.form-group-wide{grid-column:1 / -1}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:20px;padding:4px 0 8px}.wizard-step-item{display:flex;align-items:center;gap:0}.wizard-step-line{width:48px;height:2px;background:var(--gray-light);margin:0 6px;transition:background .25s ease}.wizard-step-line.done{background:var(--success)}.wizard-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0;transition:all .25s ease;background:var(--gray-light);color:var(--gray);border:2px solid transparent}.wizard-step-num.active{background:var(--secondary);color:#fff;border-color:var(--secondary);box-shadow:0 0 0 3px #72c9eb40}.wizard-step-num.done{background:var(--success);color:#fff;border-color:var(--success)}.wizard-step-label{font-size:var(--text-xs);font-weight:600;color:var(--gray);margin-left:6px;white-space:nowrap;transition:color .25s ease}.wizard-step-label.active{color:var(--secondary)}.wizard-step-label.done{color:var(--success)}.wizard-footer{justify-content:space-between;width:100%}.wizard-footer-right{display:flex;align-items:center;gap:12px}.test-connection-group{display:flex;align-items:center;gap:8px;margin:0 8px}.test-result{font-size:var(--text-xs);font-weight:500;padding:2px 6px;border-radius:var(--border-radius)}.test-result--ok{color:var(--success);background:#28a7451a}.test-result--error{color:var(--danger);background:#d32f2f1a}.wizard-step-indicator{font-size:var(--text-xs);color:var(--gray);font-weight:500}.skeleton{background:linear-gradient(90deg,var(--gray-light) 25%,#e8ecf0 50%,var(--gray-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--border-radius-sm, 4px);display:block;width:100%}.skeleton--text{height:14px;margin-bottom:4px}.skeleton--rect{height:80px}.skeleton--circle{border-radius:50%;width:40px;height:40px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%}.content-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 24px 10px}.content-header-left{display:flex;flex-direction:column;gap:2px}.content-header-eyebrow{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray)}.content-header h2{font-size:var(--text-lg);font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px}.control-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.feature-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.toolbar-search{max-width:320px}.server-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}.mon-srv-tile{background:var(--light);border:1.5px solid var(--gray-light);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:var(--transition)}.mon-srv-tile:hover{box-shadow:0 4px 12px #2563eb26;transform:translateY(-2px)}.mon-srv-tile--ok{border-left:4px solid var(--success)}.mon-srv-tile--error{border-left:4px solid var(--danger);opacity:.85}.srv-card-header{background:#f3f6fa;border-bottom:1px solid var(--gray-light);padding:10px 12px;cursor:pointer;transition:background .12s}.srv-card-header:hover{background:#eaf0f7}.srv-card-name-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.server-title{font-weight:700;font-size:var(--text-lg);color:var(--primary)}.srv-card-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mon-srv-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.mon-srv-dot--ok{background:var(--success);box-shadow:0 0 5px #43a04799}.mon-srv-dot--error{background:var(--danger)}.srv-conn-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;background:#0000000f;color:var(--text-muted, #666);white-space:nowrap}.mon-srv-tile-state{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px}.mon-srv-tile-state--ok{background:#43a04726;color:var(--success)}.mon-srv-tile-state--off{background:#d32f2f1a;color:var(--danger)}.srv-card-actions{display:flex;gap:4px;margin-left:auto}.srv-icon-btn{width:26px;height:26px;border-radius:var(--border-radius-sm);border:1px solid var(--gray-light);background:#fff;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;transition:var(--transition)}.srv-icon-btn:hover{border-color:var(--secondary);background:var(--light)}.srv-icon-btn--danger{color:var(--danger)}.srv-icon-btn--danger:hover{border-color:var(--danger);background:#d32f2f0f}.nodes-protocol-badge{font-size:.62rem;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.nodes-protocol-badge--opcua{background:#f4a93a26;color:#2080b0}.nodes-protocol-badge--eth{background:#f57c001f;color:#b35c00}.nodes-protocol-badge--s7{background:#00a86b1f;color:#007a4d}.nodes-protocol-badge--modbus{background:#9c27b01f;color:#7b1fa2}.nodes-protocol-badge--mqtt{background:#00bcd41f;color:#006978}.nodes-protocol-badge--rest{background:#ff98001f;color:#e65100}.server-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease}.server-content.expanded{max-height:700px;opacity:1;padding:10px 12px 12px}.mon-srv-tile-body{display:flex;flex-direction:column;gap:8px}.mon-srv-tile-row{display:flex;align-items:center;gap:8px;padding:4px 0}.mon-srv-icon{color:var(--gray);font-size:var(--text-sm);width:16px;text-align:center}.mon-srv-tile-url{font-size:var(--text-sm);color:var(--primary-dark);word-break:break-all;font-family:Courier New,monospace}.mon-srv-tile-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mon-srv-tile-stat{background:#00000008;border-radius:6px;padding:7px 9px;display:flex;flex-direction:column;gap:2px}.mon-srv-stat-label{font-size:.67rem;color:var(--gray);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:flex;align-items:center;gap:4px}.mon-srv-stat-label i{font-size:.6rem;width:12px;text-align:center}.mon-srv-stat-value{font-size:var(--text-base);font-weight:700;color:var(--primary-dark)}.server-form{display:flex;flex-direction:column;gap:12px}.input-group--checkbox{flex-direction:row;align-items:center;gap:8px}.input-group--checkbox .input-label{display:flex;align-items:center;gap:6px;cursor:pointer}.empty-state,.loading-state{padding:32px 16px;text-align:center;color:var(--gray);font-size:var(--text-base)}.error-state{padding:32px 16px;text-align:center;color:var(--danger);font-size:var(--text-base)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width: 600px){.server-card-list,.mon-srv-tile-stats{grid-template-columns:1fr}.content-header{flex-direction:column}}.nodes-page{display:flex;height:100%;min-height:0;overflow:hidden}.nodes-sidebar{width:220px;flex-shrink:0;background:#f5f7fb;border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.nodes-sidebar-header{padding:12px 14px 8px;border-bottom:1px solid var(--border)}.nodes-sidebar-empty{padding:12px 14px;color:var(--gray);font-size:var(--text-sm)}.nodes-server-item{display:flex;align-items:center;gap:8px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s}.nodes-server-item:hover{background:#eaf0f7}.nodes-server-item--active{background:var(--primary);color:#fff}.nodes-server-item--active:hover{background:var(--primary-light);color:#fff}.nodes-server-item--active .nodes-server-item-count{color:#ffffffbf}.nodes-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.nodes-dot--enabled{background:var(--success);box-shadow:0 0 5px #43a04799}.nodes-dot--disabled{background:var(--gray-light)}.nodes-server-item-text{min-width:0}.nodes-server-item-name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodes-server-item-count{font-size:var(--text-xs);color:var(--gray);display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px}.nodes-protocol-badge{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:3px;flex-shrink:0}.nodes-protocol-badge--opcua{background:#ef9f271f;color:var(--primary)}.nodes-protocol-badge--eth{background:#f4a93a26;color:#0277bd}.nodes-protocol-badge--s7{background:#f57c001f;color:var(--warning)}.nodes-protocol-badge--modbus{background:#43a0471f;color:var(--success)}.nodes-protocol-badge--mqtt{background:#9c27b01f;color:#7b1fa2}.nodes-protocol-badge--rest{background:#d32f2f1f;color:var(--danger)}.nodes-detail{flex:1;min-width:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.nodes-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gray);font-size:var(--text-md)}.nodes-detail-empty i{font-size:2.2rem;opacity:.4}.nodes-filter-bar{display:flex;align-items:center;gap:6px;padding:4px 0 8px}.nodes-filter-label{font-size:var(--text-xs);color:var(--text-muted)}.flex-row-gap{display:flex;align-items:center;gap:6px}.nodes-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.nodes-panels{display:flex;gap:16px;flex:1;min-height:0}.nodes-panels--single{flex-direction:column}.flex-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.flex-label-row{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:var(--text-sm);color:var(--primary)}.selection-quick-btns{display:flex;gap:4px}.selection-box{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:var(--border-radius-sm);min-height:220px;max-height:420px;background:#fff}.selection-footer{display:flex;gap:8px;justify-content:space-between;align-items:center;padding-top:4px}.node-item.srv-node-item{display:flex;flex-direction:column;padding:5px 10px;border-bottom:1px solid var(--border);font-size:var(--text-sm);transition:background .1s}.node-item.srv-node-item:hover{background:#f5f7fb}.node-item.srv-node-item.active-node{border-left:3px solid var(--success)}.srv-node-row{display:flex;align-items:center;gap:6px;min-width:0;width:100%}.node-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:middle;background:var(--gray-light, #ccc)}.node-status-dot--active{background:var(--success, #28a745)}.srv-node-name-text{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:200px}.srv-node-unit{font-size:var(--text-xs);color:var(--gray);background:var(--light);padding:1px 5px;border-radius:3px;flex-shrink:0}.srv-node-addr-inline{font-size:var(--text-xs);color:var(--gray);font-family:Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.srv-node-actions{display:flex;gap:3px;align-items:center;flex-shrink:0;margin-left:auto}.srv-node-info{flex:1;min-width:0}.srv-node-addr{font-size:var(--text-xs);color:var(--gray);font-family:Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.nodes-unified-col{flex:1;min-width:0}.node-meta-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}.node-meta-badge{font-size:.68rem;padding:1px 5px;border-radius:3px;font-weight:500}.node-meta-badge--group{background:#f4a93a1f;color:#0277bd}.node-meta-badge--location{background:#43a0471a;color:var(--success)}.node-meta-badge--retention{background:#ef9f271a;color:var(--primary)}.node-meta-badge--limit-high{background:#f57c001f;color:var(--warning)}.node-meta-badge--limit-low{background:#f4a93a1f;color:#0277bd}.node-meta-badge--desc{background:#f0f4f8;color:var(--gray);font-style:italic}.node-unit-badge{display:inline-block;margin-left:4px;padding:1px 5px;font-size:.65rem;font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);background:#64748b1f;color:var(--gray);border-radius:3px;vertical-align:middle;line-height:1.4}[data-theme=dark] .node-unit-badge{background:#94a3b81f;color:#94a3b8}.node-meta-limits{display:flex;gap:12px;font-size:var(--text-xs);color:var(--gray);margin-top:2px}.browser-tree-node{margin-left:4px}.browser-tree-row{display:flex;align-items:center;padding:3px 6px;border-radius:3px;cursor:default;transition:background .1s}.browser-tree-row:hover{background:#f0f4f8}.browser-tree-row--selected{background:#ef9f2714}.browser-tree-expand{background:none;border:none;padding:0 4px;cursor:pointer;color:var(--gray);font-size:var(--text-xs);flex-shrink:0}.browser-tree-expand-placeholder{width:20px;flex-shrink:0}.browser-tree-label{display:flex;align-items:center;font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;gap:4px}.browser-tree-children{margin-left:16px}.browser-loading{padding:16px;text-align:center;color:var(--gray);font-size:var(--text-sm)}.node-edit-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:16px}.node-edit-tab{padding:8px 18px;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--text-sm);font-weight:500;cursor:pointer;color:var(--gray);transition:all .15s;margin-bottom:-2px}.node-edit-tab:hover{color:var(--primary)}.node-edit-tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.node-edit-tab-body{min-height:220px}.tab-config-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary);margin-left:5px;vertical-align:middle;flex-shrink:0}.node-notif-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.node-notif-row.is-disabled{opacity:.5}.node-notif-main{flex:1;min-width:0}.node-notif-type{font-size:var(--text-xs);background:#eef0f2;padding:1px 5px;border-radius:3px;color:var(--gray)}.node-notif-disabled-pill{font-size:var(--text-xs);background:#d32f2f14;color:var(--danger);padding:1px 6px;border-radius:3px}.node-notif-events{display:flex;gap:12px;font-size:var(--text-sm)}.nb-step2-nodeitem{cursor:pointer;transition:background .1s}.nb-step2-nodeitem:hover{background:#f0f4f8}.nb-node-id-display{background:#f5f6fa;color:var(--gray);cursor:default;-webkit-user-select:all;user-select:all}@media (max-width: 768px){.nodes-page{flex-direction:column}.nodes-sidebar{width:100%;height:120px;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.nodes-panels{flex-direction:column}}.node-expand-content{width:100%;padding:8px 0 4px 28px;animation:nodeExpandIn .15s ease}@keyframes nodeExpandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.node-expand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 16px}.node-expand-field{display:flex;flex-direction:column;padding:2px 0}.node-expand-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;color:var(--gray);font-weight:600}.node-expand-value{font-size:var(--text-sm);font-family:Courier New,monospace;color:var(--primary-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--gray-light);border-radius:3px;background:#fff;cursor:pointer;position:relative;flex-shrink:0;margin-top:3px;transition:all .15s}.node-checkbox:checked{background:var(--primary);border-color:var(--primary)}.node-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.node-checkbox:hover{border-color:var(--primary-light)}.node-checkbox:focus-visible{outline:2px solid var(--primary-light);outline-offset:1px}[data-theme=dark]{--primary: #f4a93a;--primary-dark: #d98e1f;--primary-light: #f8c270;--primary-deeper: #141210;--secondary: #d98e1f;--success: #66bb6a;--warning: #ffa726;--danger: #ef5350;--light: #2a2620;--gray: #a8a59c;--gray-light: rgba(255,255,255,.08);--border: rgba(255,255,255,.08);--box-shadow: 0 2px 12px rgba(0, 0, 0, .4);--neon-cyan: #f4a93a;--neon-cyan-faint: rgba(244, 169, 58, .08);--neon-cyan-dim: rgba(244, 169, 58, .18);--neon-cyan-mid: rgba(244, 169, 58, .38);--neon-green: #56e8a0;--neon-green-faint: rgba(86, 232, 160, .08);--neon-amber: #ffb347;--neon-amber-faint: rgba(255, 179, 71, .08);--neon-red: #ff4f6a;--neon-red-faint: rgba(255, 79, 106, .08);--glass-bg: linear-gradient(145deg, rgba(28,24,18,.92) 0%, rgba(20,17,13,.88) 100%);--glass-border: rgba(244, 169, 58, .18);--glass-border-hover: rgba(244, 169, 58, .38);--glass-shadow: 0 1px 8px rgba(0,0,0,.45), inset 0 0 0 1px rgba(244,169,58,.06);--glass-shadow-hover: 0 2px 14px rgba(0,0,0,.55), 0 0 10px rgba(244,169,58,.1), inset 0 0 0 1px rgba(244,169,58,.12);--glass-blur: blur(8px);--page-grid-bg: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);--page-grid-size: 40px 40px;--page-base-color: #121212;--glow-cyan: 0 0 10px rgba(244,169,58,.55), 0 0 22px rgba(244,169,58,.22);--glow-green: 0 0 10px rgba(86,232,160,.55), 0 0 22px rgba(86,232,160,.22);--glow-amber: 0 0 10px rgba(255,179,71,.55), 0 0 22px rgba(255,179,71,.22);--glow-red: 0 0 10px rgba(255,79,106,.55), 0 0 22px rgba(255,79,106,.22)}[data-theme=dark] body{background:#121212;color:#eeece6d6;color-scheme:dark}[data-theme=dark] .shell-content{background-color:var(--page-base-color);background-image:var(--page-grid-bg);background-size:var(--page-grid-size)}[data-theme=dark] .toast{background:#0f1620f5;border-left-color:#fff3;color:#e8eef7e0;box-shadow:0 4px 20px #0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .toast--success{border-left-color:var(--neon-green)}[data-theme=dark] .toast--error{border-left-color:var(--neon-red)}[data-theme=dark] .toast--info{border-left-color:var(--neon-cyan)}[data-theme=dark] .toast--warning{border-left-color:var(--neon-amber)}[data-theme=dark] .toast--success .toast-icon{color:var(--neon-green)}[data-theme=dark] .toast--error .toast-icon{color:var(--neon-red)}[data-theme=dark] .toast--info .toast-icon{color:var(--neon-cyan)}[data-theme=dark] .toast--warning .toast-icon{color:var(--neon-amber)}[data-theme=dark] .toast-close{color:#e8eef766}[data-theme=dark] .toast-close:hover{color:#e8eef7e0}[data-theme=dark] .card{background:#ffffff08;border-color:#ffffff14;box-shadow:0 2px 12px #00000059}[data-theme=dark] .card-header{background:#ffffff0d;border-color:#ffffff14;color:#e8eef7d1}[data-theme=dark] .card-header h3{color:#f4a93a}[data-theme=dark] .card-body{background:transparent;color:#e8eef7d9}[data-theme=dark] .form-control,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] input[type=text],[data-theme=dark] input[type=number],[data-theme=dark] input[type=password],[data-theme=dark] input[type=search]{background:#0f1620e6;border-color:#ffffff1f;color:#e8eef7e0;color-scheme:dark}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:#0a101ccc;border-color:#f4a93a24;color:#dcebffeb;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] select option{background:var(--primary-deeper);color:#e8eef7e0}[data-theme=dark] select optgroup{background:#161412;color:#f4a93abf}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus,[data-theme=dark] .form-control:focus{outline:none;border-color:var(--neon-cyan-mid)!important;box-shadow:0 0 0 3px #f4a93a26,0 0 8px #f4a93a1f;background:#ffffff0f}[data-theme=dark] label,[data-theme=dark] .form-label{color:#e8eef7b3}[data-theme=dark] .form-text,[data-theme=dark] .form-hint{color:#e8eef78c}[data-theme=dark] .form-section-header{background:#ffffff0d;border-color:#ffffff14;color:#f4a93a}[data-theme=dark] input[type=checkbox],[data-theme=dark] input[type=radio]{accent-color:#f4a93a;color-scheme:dark}[data-theme=dark] .btn-light,[data-theme=dark] .btn-ghost,[data-theme=dark] .btn-outline,[data-theme=dark] .btn-outline-primary{background:#ffffff0f;color:#f4a93a;border-color:#ffffff1f}[data-theme=dark] .btn-light:hover,[data-theme=dark] .btn-ghost:hover,[data-theme=dark] .btn-outline:hover,[data-theme=dark] .btn-outline-primary:hover{background:#ffffff1a;color:#f8c270;border-color:#ffffff2e}[data-theme=dark] .btn-secondary{background:#5a3d12;color:#f8c270;border-color:#6e4d18}[data-theme=dark] .btn-secondary:hover{background:#6e4d18;color:#ffd98a}[data-theme=dark] .btn-info{background:#1a4a72;color:#b3d9f7;border-color:#2a5a88}[data-theme=dark] .btn-info:hover{background:#1e5a8a;color:#d6ecff}[data-theme=dark] .btn-warning{background:#7a4a00;color:#ffcc80;border-color:#8a5a00}[data-theme=dark] .btn-warning:hover{background:#8a5500}[data-theme=dark] .btn-success{background:#1a5a2a;color:#a5d6a7;border-color:#2a6a3a}[data-theme=dark] .btn-success:hover{background:#1e6a32}[data-theme=dark] .btn-danger{background:#6a1a1a;color:#ef9a9a;border-color:#8a2a2a}[data-theme=dark] .btn-danger:hover{background:#7a2222}[data-theme=dark] .btn--primary,[data-theme=dark] .btn-primary{background:#8a5e12;color:#e8eef7d1;border-color:#a8741a}[data-theme=dark] .btn--primary:hover,[data-theme=dark] .btn-primary:hover{background:#a8741a;border-color:#b67e1a}[data-theme=dark] .btn--secondary,[data-theme=dark] .btn--ghost{background:#ffffff0f;color:#f4a93a;border-color:#ffffff1f}[data-theme=dark] .btn--secondary:hover,[data-theme=dark] .btn--ghost:hover{background:#ffffff1a;color:#f8c270;border-color:#ffffff2e}[data-theme=dark] .btn--danger{background:#6a1a1a;color:#ef9a9a;border-color:#8a2a2a}[data-theme=dark] .btn--danger:hover{background:#7a2222;border-color:#9a3333}[data-theme=dark] .modal-overlay{background:#000816c7}[data-theme=dark] .modal-content{background:#0f141c;border-color:#ffffff1a}[data-theme=dark] .modal-body{background:#0f141c;color:#e8eef7d9}[data-theme=dark] .modal-footer{background:#161412;border-top-color:#ffffff14}[data-theme=dark] .browser-modal-content{background:#0f141c;border-color:#ffffff1a}[data-theme=dark] .browser-modal-header{background:#ffffff0d;border-bottom-color:#ffffff1a}[data-theme=dark] .browser-modal-header h3{color:#f4a93a}[data-theme=dark] .browser-modal-close{color:#e8eef799}[data-theme=dark] .browser-modal-close:hover{color:#e8eef7e6;background:#ffffff14}[data-theme=dark] .browser-modal-body{background:#0f141c;color:#e8eef7d9}[data-theme=dark] .browser-modal-footer{background:#161412;border-top-color:#ffffff14}[data-theme=dark] .input-field{background:#ffffff0a;border-color:#ffffff1a;color:#e8eef7d1}[data-theme=dark] .input-field:focus{border-color:#f4a93a;box-shadow:0 0 0 3px #f4a93a33;background:#ffffff0f}[data-theme=dark] .form-section{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] table,[data-theme=dark] .data-table{color:#e8eef7d9}.data-table thead th{white-space:nowrap}[data-theme=dark] th{background:#ffffff0a;color:#f4a93a;border-color:#ffffff14}[data-theme=dark] td{border-color:#ffffff0f;color:#e8eef7d9}[data-theme=dark] tr:hover td{background:#ffffff0a}[data-theme=dark] .badge{background:#ffffff14;color:#f4a93a}[data-theme=dark] .badge-opcua{background:#1a3a5c;color:#f4a93a}[data-theme=dark] .badge-eip{background:#1a3a2a;color:#66bb6a}[data-theme=dark] .badge-s7{background:#2a2a1a;color:#ffa726}[data-theme=dark] .badge-success{background:#1a3a2a;color:#66bb6a}[data-theme=dark] .badge-warning{background:#2a2a1a;color:#ffa726}[data-theme=dark] .badge-danger{background:#3a1a1a;color:#ef9a9a}[data-theme=dark] .nodes-sidebar{background:#161412;border-color:#ffffff14}[data-theme=dark] .nodes-server-item{border-color:#ffffff14;color:#e8eef7d9}[data-theme=dark] .nodes-server-item:hover{background:#ffffff0d}[data-theme=dark] .nodes-server-item--active{background:#ffffff1a!important;color:#f4a93a}[data-theme=dark] .nodes-server-item--active .nodes-server-item-count{color:#f4a93abf}[data-theme=dark] .nodes-server-item-name{color:#e8eef7d9}[data-theme=dark] .nodes-detail{background:#161412}[data-theme=dark] .nodes-detail-header{background:#ffffff0d;border-color:#ffffff14;color:#f4a93a}[data-theme=dark] .nodes-detail-header h3{color:#f4a93a}[data-theme=dark] .nodes-detail-empty{color:#ffffff80}[data-theme=dark] .nodes-panel-header{background:#ffffff0d;border-color:#ffffff14;color:#f4a93a}[data-theme=dark] .node-item.srv-node-item{background:#ffffff08;border-color:#ffffff14;color:#e8eef7d9}[data-theme=dark] .node-item.srv-node-item:hover{background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .selection-box{background:#161412;border-color:#ffffff14}[data-theme=dark] .node-checkbox{background:#ffffff0a;border-color:#ffffff1f}[data-theme=dark] .node-expand-value{color:#e8eef7d9}[data-theme=dark] .node-meta-badge--desc{background:#ffffff0f;color:#e8eef7a6}[data-theme=dark] .srv-node-unit{background:#ffffff0f;color:#e8eef799}[data-theme=dark] .node-edit-tab{color:#e8eef799}[data-theme=dark] .node-edit-tab:hover{color:var(--secondary)}[data-theme=dark] .node-edit-tab.active{color:#f4a93a;border-bottom-color:#f4a93a}[data-theme=dark] .node-notif-type{background:#ffffff0f;color:#e8eef7a6}[data-theme=dark] .nb-step2-nodeitem:hover{background:#ffffff0f}[data-theme=dark] .nb-node-id-display{background:#0a0f19d9!important;color:#a0b4d2cc!important}[data-theme=dark] .browser-tree-row:hover{background:#ffffff0f}[data-theme=dark] .browser-tree-row--selected{background:#4a7fc126}[data-theme=dark] .browser-tree-container{border-color:#ffffff1a!important}[data-theme=dark] .browser-loading{color:#e8eef78c}[data-theme=dark] .browser-selected-list{background:#111820;border-color:#ffffff1a}[data-theme=dark] .browser-selected-tag{background:#ffffff14;color:#f4a93a;border-color:#ffffff1f}[data-theme=dark] .server-card.mon-srv-tile{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .srv-card-header{background:#ffffff0d;border-color:#ffffff14;color:#e8eef7d1}[data-theme=dark] .srv-card-header:hover{background:#ffffff14}[data-theme=dark] .mon-srv-tile-body{background:transparent;color:#e8eef7d9}[data-theme=dark] .srv-icon-btn{background:#ffffff0a;border-color:#ffffff1a;color:#f4a93a}[data-theme=dark] .srv-icon-btn:hover{border-color:#fff3;background:#ffffff14}[data-theme=dark] .srv-icon-btn--danger{color:#ef9a9a}[data-theme=dark] .srv-conn-badge{background:#ffffff12;color:#f4a93a}[data-theme=dark] .content-header{background:#161412;border-bottom-color:#ffffff14}[data-theme=dark] .content-header h2{color:#f4a93a}[data-theme=dark] .content-header-eyebrow{color:#ffffff8c}[data-theme=dark] .flex-label-row{color:#e8eef7a6}[data-theme=dark] .empty-state{color:#e8eef78c}[data-theme=dark] .shell-sidebar{background:#0f141c;border-right:1px solid rgba(255,255,255,.07);border-color:#ffffff12}[data-theme=dark] .shell-nav-link{color:#ffffff8c}[data-theme=dark] .shell-nav-link:hover{background:#ffffff0f;color:#e8eef7d1}[data-theme=dark] .shell-nav-link.active,[data-theme=dark] .shell-nav-link--active{background:#ffffff14;color:#f4a93a;border-left-color:#f4a93a}[data-theme=dark] .nav-section-label{color:#ffffff73}[data-theme=dark] .mobile-topbar{background:#0f141c;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-logo{color:var(--primary);width:30px;height:30px;flex-shrink:0}.login-logo{color:var(--primary);width:28px;height:28px;vertical-align:middle;margin-right:6px}.overview-logo{color:var(--primary);width:24px;height:24px;vertical-align:middle;margin-right:6px}[data-theme=dark] .sidebar-brand-icon{background:transparent;box-shadow:none}[data-theme=dark] .sidebar-logo{color:#f4a93a;width:34px;height:34px}[data-theme=dark] .login-logo,[data-theme=dark] .overview-logo{color:#f4a93a}[data-theme=dark] :focus-visible{outline-color:#f4a93a}[data-theme=dark] .user-meta-secondary,[data-theme=dark] .node-id-cell,[data-theme=dark] .gs-cell--mono,[data-theme=dark] .ann-td-mono,[data-theme=dark] .console-row-ts,[data-theme=dark] .console-row-msg,[data-theme=dark] code,[data-theme=dark] .groups-td-mono{font-family:var(--ef-mono)}[data-theme=dark] .sidebar-link span,[data-theme=dark] .sidebar-footer-link span{font-family:var(--ef-mono);font-size:.78rem;letter-spacing:.02em}[data-theme=dark] .content-header h2{font-family:var(--ef-mono);letter-spacing:.04em}[data-theme=dark] .card-title,[data-theme=dark] .dashboard-card-title,[data-theme=dark] .settings-card-header h3,[data-theme=dark] .settings-card-title{font-family:var(--ef-mono);letter-spacing:.03em}[data-theme=dark] .mon-kpi-label,[data-theme=dark] .mon-metric-label,[data-theme=dark] .mon-resource-label{font-family:var(--ef-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}[data-theme=dark] .mon-kpi-value,[data-theme=dark] .mon-metric-value{font-family:var(--ef-mono)}[data-theme=dark] .alarm-table th{font-family:var(--ef-mono);font-size:.7rem;letter-spacing:.06em}[data-theme=dark] .badge{font-family:var(--ef-mono);letter-spacing:.04em}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1a}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff2e}[data-theme=dark] .ef-grid-bg{background-color:#161412;background-image:linear-gradient(rgba(244,169,58,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(244,169,58,.07) 1px,transparent 1px);background-size:40px 40px}.dashboards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:16px;padding:16px 0}.dashboard-card{display:flex;flex-direction:column;min-width:280px;background:#fff;border-radius:var(--border-radius, 8px);box-shadow:0 2px 12px #00000014;border:1px solid var(--gray-light, #e0e0e0);transition:transform .15s,box-shadow .15s}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000017}.dashboard-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--light, #f8f9fa);border-bottom:1px solid var(--gray-light, #e0e0e0);border-radius:var(--border-radius, 8px) var(--border-radius, 8px) 0 0}.dashboard-card-header h4{margin:0;font-weight:600;font-size:var(--text-base, .95rem);color:var(--primary-dark, #0b3d91)}.dashboard-card-body{padding:14px 16px;flex:1}.dashboard-card-body small{color:var(--gray, #888);font-size:var(--text-xs, .75rem)}.dashboard-card-footer{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#f9fafc;border-top:1px solid var(--gray-light, #e0e0e0);border-radius:0 0 var(--border-radius, 8px) var(--border-radius, 8px)}.dashboard-card-live{background:#f4f8fc;border-top:1px solid var(--gray-light, #e0e0e0)}.dashboard-card-live-header{display:flex;align-items:center;gap:8px;padding:8px 14px;color:var(--primary, #f4a93a);font-size:var(--text-sm, .85rem);font-weight:600;text-transform:uppercase}.dashboard-card-live-grid{padding:8px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.dashboard-card-live-list{padding:2px 8px 6px}.node-live-tile{position:relative;background:#fff;border:1px solid var(--gray-light, #e0e0e0);border-radius:6px;padding:10px 12px 8px;min-height:60px;transition:box-shadow .15s}.node-live-tile:hover{box-shadow:0 2px 8px #0000000f}@keyframes tileFlash{0%{border-color:#2ecc71;background:#2ecc711f}to{border-color:var(--gray-light, #e0e0e0);background:#fff}}@keyframes tileFlashDark{0%{border-color:#2ecc71;background:#2ecc711a}to{border-color:#ffffff1a;background:#ffffff0d}}.node-live-tile--updated,.tile-list-row.node-live-tile--updated{animation:tileFlash .5s ease-out}[data-theme=dark] .node-live-tile--updated,[data-theme=dark] .tile-list-row.node-live-tile--updated{animation:tileFlashDark .45s ease-out}.node-live-tile-label{font-size:var(--text-xs, .75rem);color:var(--gray, #888);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.node-live-tile-value-row{display:flex;align-items:baseline;gap:4px}.node-live-tile-value{font-size:var(--text-lg, 1.15rem);font-weight:700;color:#4caf50}.node-live-tile-unit{font-size:var(--text-xs, .75rem);color:var(--gray, #888);font-weight:400}.node-live-tile-time{font-size:var(--text-2xs, .65rem);color:var(--gray, #888);margin-top:2px}.tile-conn-icon{position:absolute;top:8px;right:8px;font-size:10px;color:var(--gray, #888)}.tile-conn-icon.connected{color:#4caf50}.tile-conn-icon.disconnected{color:var(--gray, #888)}.tile-conn-icon.influx-fallback{color:#f4a93a}.tile-list-row{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border, #eee);min-height:32px}.tile-list-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tile-list-dot--green{background:#4caf50}.tile-list-dot--orange{background:var(--tile-high-color, #c77a1e)}.tile-list-dot--blue{background:var(--tile-low-color, #2d7ec7)}.tile-list-dot--gray{background:var(--gray, #999)}.tile-list-body{flex:1;min-width:0}.tile-list-name{font-size:var(--text-sm, .85rem);font-weight:500;line-height:1.1}.tile-list-meta{display:flex;gap:6px}.tile-list-ts{font-size:var(--text-2xs, .65rem);color:var(--gray, #888)}.tile-list-value{font-size:var(--text-base, .95rem);font-weight:600;text-align:right;white-space:nowrap}.tile-list-alarm-bell{display:none;font-size:11px}.tile-list-alarm-bell.visible{display:inline-block}.tile-list-alarm-bell--critical{color:var(--danger, #e53935)}.tile-list-alarm-bell--warning{color:var(--warning, #ff9800)}.tile-list-alarm-bell--info{color:var(--info, #f4a93a)}.tile-value--high{color:var(--tile-high-color, #c77a1e);font-weight:700}.tile-value--low{color:var(--tile-low-color, #2d7ec7);font-weight:700}.tile-group-header{grid-column:1 / -1;padding:10px 12px;margin-top:12px;background:linear-gradient(90deg,#2196f314,#2196f305);border-left:3px solid var(--primary, #f4a93a);border-top:1px solid rgba(33,150,243,.15);border-bottom:1px solid rgba(33,150,243,.15);font-weight:700;font-size:var(--text-base, .95rem);color:var(--primary, #f4a93a);text-transform:uppercase;letter-spacing:.05em}.tile-group-block{border:1px solid rgba(0,122,255,.14);border-radius:8px;overflow:hidden;background:#ffffffc7}.tile-group-grid{padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.tile-group-list{padding:2px 8px 6px}.dash-group-tiles-section{padding:8px 12px}.dash-group-tile{border:1px solid var(--border, #eee);border-radius:6px;overflow:hidden;margin-bottom:6px}.dash-group-tile-header{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-light, #f8f9fa);cursor:pointer;font-size:var(--text-sm, .85rem)}.dash-group-tile-header:hover{background:#2196f30f}.dash-group-tile-name{font-weight:600}.dash-group-tile-loc{font-size:var(--text-xs, .75rem);color:var(--gray, #888)}.dash-group-tile-chevron{margin-left:auto;color:var(--gray, #888)}.dash-group-tile-body{padding:4px 8px}.dash-group-tile-count{margin-left:4px}.dash-group-empty{padding:8px 12px;color:var(--gray, #888);font-size:var(--text-sm, .85rem)}.dash-group-section-toggle{display:flex;align-items:center;width:100%%;padding:8px 14px;background:none;border:none;border-top:1px solid var(--gray-light, #e0e0e0);cursor:pointer;font-size:var(--text-sm, .85rem);font-weight:600;color:var(--primary, #f4a93a);text-transform:uppercase}.dash-group-section-label{display:flex;align-items:center;width:100%%;padding:8px 14px;border-top:1px solid var(--gray-light, #e0e0e0);font-size:var(--text-sm, .85rem);font-weight:600;color:var(--primary, #f4a93a);text-transform:uppercase}.dash-group-section-toggle:hover{background:#2196f30f}.dash-group-list-body{padding:4px 14px 10px;border-top:1px solid var(--gray-light, #e0e0e0);background:var(--light, #f8f9fa)}.dash-group-check-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:var(--text-sm, .85rem);cursor:pointer}.dash-group-check-item input[type=checkbox]{accent-color:var(--primary, #f4a93a)}.dash-card-nodes-preview{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.dash-tiles-empty{padding:12px;color:var(--gray, #888);font-size:var(--text-sm, .85rem);text-align:center}.dash-tiles-collapse-btn{margin-left:4px;background:none;border:none;cursor:pointer;color:var(--gray, #888);font-size:.75rem;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.dash-tiles-collapse-btn:hover{color:var(--primary, #f4a93a);background:#2196f314}[data-theme=dark] .dash-tiles-collapse-btn:hover{background:#f4a93a1f;color:#f4a93a}.dash-spark-toolbar{display:flex;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--gray-light, #e0e0e0);background:var(--bg-light, #f8f9fa)}.dash-spark-toggle{background:none;border:1px solid var(--border, #ddd);border-radius:4px;cursor:pointer;color:var(--gray, #888);font-size:.75rem;padding:2px 7px;line-height:1.4;transition:color .15s,background .15s,border-color .15s}.dash-spark-toggle:hover{color:var(--primary, #f4a93a);border-color:var(--primary, #f4a93a)}.dash-spark-toggle--active{color:var(--primary, #f4a93a);border-color:var(--primary, #f4a93a);background:#2196f312}.dash-spark-toolbar-label{font-size:var(--text-xs, .75rem);color:var(--gray, #888);font-weight:500;flex-shrink:0}.dash-spark-select{font-size:var(--text-xs, .75rem);padding:2px 6px;border:1px solid var(--border, #ddd);border-radius:4px;background:var(--bg, #fff);color:var(--text, #333);cursor:pointer}.dash-spark-select:focus{outline:none;border-color:var(--primary, #f4a93a)}.spark-select-wrap{position:relative}.spark-select-btn{font-size:var(--text-xs, .75rem);padding:2px 8px;border:1px solid var(--border, #ddd);border-radius:4px;background:var(--bg, #fff);color:var(--text, #333);cursor:pointer;white-space:nowrap;line-height:1.6}.spark-select-btn:hover{border-color:var(--primary, #f4a93a);color:var(--primary, #f4a93a)}.spark-select-list{position:absolute;top:calc(100% + 2px);left:0;z-index:200;list-style:none;margin:0;padding:2px 0;background:var(--bg, #fff);border:1px solid var(--border, #ddd);border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:80px}.spark-select-item{font-size:var(--text-xs, .75rem);padding:4px 10px;cursor:pointer;color:var(--text, #333)}.spark-select-item:hover{background:#2196f314;color:var(--primary, #f4a93a)}.spark-select-item--active{color:var(--primary, #f4a93a);font-weight:600}.tile-sparkline{margin-top:6px;width:100%;position:relative}.tile-sparkline-period{font-size:.62rem;opacity:.45;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sparkline-canvas{width:100%;height:52px}.tile-sparkline-empty{height:52px;display:flex;align-items:center;justify-content:center;position:absolute;top:18px;left:0;right:0}.tile-list-spark{width:100px;flex-shrink:0}.tile-list-spark .tile-sparkline{margin-top:0}.tile-list-spark .tile-sparkline-period{display:none}.tile-list-spark .tile-sparkline-canvas{height:32px}.tile-list-spark .tile-sparkline-empty{height:32px;top:0}[data-theme=dark] .dash-spark-toolbar{background:#ffffff0a;border-bottom-color:#ffffff1a}[data-theme=dark] .dash-spark-select{background:#1a2030;border-color:#ffffff26;color:#e8eef7e6;color-scheme:dark}[data-theme=dark] .spark-select-btn{background:#ffffff0f;border-color:#ffffff1f;color:#e8eef7d9}[data-theme=dark] .spark-select-btn:hover{border-color:#f4a93a;color:#f4a93a}[data-theme=dark] .spark-select-list{background:#0f1520;border-color:#ffffff1f;box-shadow:0 4px 16px #00000080}[data-theme=dark] .spark-select-item{color:#e8eef7d1}[data-theme=dark] .spark-select-item:hover{background:#f4a93a1a;color:#f4a93a}[data-theme=dark] .spark-select-item--active{color:#f4a93a}[data-theme=dark] .dash-spark-toggle{border-color:#ffffff1a;color:#e8eef799}[data-theme=dark] .dash-spark-toggle--active{color:#f4a93a;border-color:#f4a93a;background:#f4a93a1a}[data-theme=dark] .tile-sparkline-period{color:#7ecfe8;opacity:1;letter-spacing:.02em}[data-theme=dark] .tile-sparkline-canvas{filter:drop-shadow(0 0 4px rgba(79,217,245,.18))}.dash-view-toggle{display:flex;gap:2px}.dash-search-wrap{position:relative;display:flex;align-items:center}.dash-search-icon{position:absolute;left:8px;color:var(--gray, #888);font-size:12px;pointer-events:none}.dash-filter-input{padding-left:28px!important;min-width:180px}.dash-search-clear{position:absolute;right:6px;background:none;border:none;cursor:pointer;color:var(--gray, #888);font-size:12px;padding:2px}.dash-modal-node-picker{display:grid;grid-template-columns:200px 1fr;gap:12px;min-height:280px;border:1px solid var(--border, #eee);border-radius:6px;overflow:hidden}.dash-modal-server-list{background:var(--bg-light, #f8f9fa);border-right:1px solid var(--border, #eee);padding:8px;overflow-y:auto;max-height:350px}.dash-modal-server-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:none;background:none;text-align:left;font-size:var(--text-sm, .85rem);cursor:pointer;border-radius:4px;transition:background .1s}.dash-modal-server-btn:hover{background:#2196f314}.dash-modal-server-btn.active{background:var(--primary, #f4a93a);color:#e8eef7e6}.dash-modal-server-btn.active .badge{background:#ffffff40;color:#e8eef7e6}.dash-modal-node-list{padding:8px;overflow-y:auto;max-height:350px}.dash-modal-node-search{margin-bottom:8px}.dash-modal-node-items{display:flex;flex-direction:column;gap:2px}.dash-modal-node-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;font-size:var(--text-sm, .85rem);cursor:pointer}.dash-modal-node-item:hover{background:#2196f30f}.dash-modal-node-item input[type=checkbox]{margin:0}.dashboard-viewer-page{min-height:100vh;background:#f4f6f8;display:flex;flex-direction:column}.dv-topbar{display:flex;align-items:center;gap:12px;padding:0 20px;height:56px;background:var(--primary-dark, #0b3d91);color:#e8eef7e6}.dv-topbar-brand{display:flex;align-items:center;gap:8px;color:#e8eef7e6;text-decoration:none}.dv-topbar-brand-icon{font-size:18px}.dv-topbar-wordmark{display:flex;flex-direction:column;line-height:1.1}.dv-brand-name{font-weight:700;font-size:var(--text-sm, .85rem)}.dv-brand-sub{font-size:var(--text-2xs, .65rem);opacity:.7}.dv-topbar-divider{width:1px;height:28px;background:#ffffff40}.dv-topbar h1{font-size:var(--text-lg, 1.15rem);font-weight:600;margin:0}.dv-topbar-spacer{flex:1}.dv-topbar-meta{font-size:var(--text-xs, .75rem);opacity:.7}.dv-error{padding:40px;text-align:center;color:var(--danger, #e53935);font-size:var(--text-lg, 1.15rem)}.dv-toolbar{background:#fff;border-bottom:1px solid var(--gray-light, #e0e0e0);padding:0 20px}.dv-toolbar-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray-light, #e0e0e0)}.dv-toolbar-tab{padding:10px 16px;cursor:pointer;font-size:var(--text-sm, .85rem);font-weight:500;color:var(--gray, #888);border-bottom:2px solid transparent;transition:color .15s,border-color .15s;background:none;border-top:none;border-left:none;border-right:none;line-height:1.4}.dv-toolbar-tab:hover{color:var(--primary, #f4a93a)}.dv-toolbar-tab.active{color:var(--primary, #f4a93a);border-bottom-color:var(--primary, #f4a93a)}.dv-toolbar-export-btn{align-self:stretch}.dv-toolbar-export-btn .btn{padding:10px 16px;font-size:var(--text-sm, .85rem);font-weight:500;color:var(--gray, #888);border-bottom:2px solid transparent;border-radius:0;background:none;border-top:none;border-left:none;border-right:none;height:100%;transition:color .15s,border-color .15s}.dv-toolbar-export-btn .btn:hover{color:var(--primary, #f4a93a);background:none}[data-theme=dark] .dv-toolbar-export-btn .btn{color:#e8eef799}.dv-toolbar-panel{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 0}.dv-ctrl-group{display:flex;flex-direction:column;gap:4px}.dv-ctrl-label{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--gray, #888);text-transform:uppercase;letter-spacing:.05em}.dv-ctrl-row{display:flex;align-items:center;gap:6px}.dv-ctrl-divider{width:1px;height:36px;background:var(--gray-light, #e0e0e0);align-self:flex-end;margin-bottom:4px}.dv-datetime{max-width:200px;font-size:var(--text-sm, .85rem)}.dv-preset-btn{padding:5px 12px;border:1px solid var(--gray-light, #e0e0e0);border-radius:4px;background:#fff;cursor:pointer;font-size:var(--text-sm, .85rem);transition:background .1s,border-color .1s}.dv-preset-btn:hover{border-color:var(--primary, #f4a93a);background:#2196f30f}.dv-preset-btn.active{background:var(--primary, #f4a93a);color:#e8eef7e6;border-color:var(--primary, #f4a93a)}.dv-preset-select{min-width:150px}.flex-wrap-sm{flex-wrap:wrap}.no-data-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;color:var(--gray, #78909c);gap:6px}#viewer-chart-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.dv-chart-wrapper{padding:20px;flex:1;min-height:0;display:flex;flex-direction:column}.dv-chart-card{background:#fff;border-radius:var(--border-radius, 8px);box-shadow:0 2px 12px #0000000f;border:1px solid var(--gray-light, #e0e0e0);overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.dv-chart-card-header{display:flex;align-items:center;justify-content:flex-end;padding:8px 12px;border-bottom:1px solid var(--gray-light, #e0e0e0);gap:6px}.dv-chart-actions{display:flex;gap:4px}.dv-chart-area{min-height:360px;position:relative;flex:1}.dv-chart-area>.no-data-message,.dv-chart-area>.dv-chart-spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.dv-chart-spinner{color:var(--primary, #f4a93a);font-size:1.5rem}.dv-group-subs-section{padding:0 20px 20px}.dv-group-subs-section h3{font-size:var(--text-base, .95rem);font-weight:600;margin-bottom:8px}.dv-group-subs-list{display:flex;flex-wrap:wrap;gap:6px}.dv-live-tiles-section{padding:0 20px 20px}.dv-section-title{font-size:var(--text-base, .95rem);font-weight:600;margin-bottom:8px;display:flex;align-items:center}.dv-live-dot{width:8px;height:8px;border-radius:50%;background:#4caf50;margin-left:8px;animation:dv-pulse 1.5s ease-in-out infinite}@keyframes dv-pulse{0%,to{opacity:1}50%{opacity:.4}}.dv-live-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.dv-annotations-section{padding:0 20px 20px}.dv-section-toggle{display:flex;align-items:center;width:100%;padding:8px 0;border:none;background:none;cursor:pointer;font-size:var(--text-sm, .85rem);font-weight:600;color:var(--gray-dark, #555)}.dv-section-toggle:hover{color:var(--primary, #f4a93a)}.dv-annotations-body{border:1px solid var(--gray-light, #e0e0e0);border-radius:6px;overflow:hidden}.dv-annotation-form{display:flex;gap:6px;padding:8px;background:#fafbfc;border-bottom:1px solid var(--gray-light, #e0e0e0)}.dv-annotation-form .dv-datetime{max-width:200px}.dv-annotation-form .form-control{flex:1}.dv-annotation-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--gray-light, #e0e0e0);font-size:var(--text-sm, .85rem)}.dv-annotation-item:last-child{border-bottom:none}.dv-annotation-ts{color:var(--gray, #888);min-width:70px;font-family:monospace;font-size:.78rem}.dv-annotation-source{color:var(--gray, #888);font-size:.75rem;white-space:nowrap}.dv-annotation-text{flex:1}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success, #4caf50);margin-right:4px;vertical-align:middle;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.comparison-active-badge{font-size:var(--text-sm)}.annotation-hint{font-size:var(--text-xs, .72rem);color:var(--gray, #888);margin-left:8px;display:inline-flex;align-items:center;gap:4px}.annotation-type-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.annotation-type-badge--event{background:#2196f31f;color:#1565c0}.annotation-type-badge--planned_downtime{background:#ff98001f;color:#e65100}.annotation-type-badge--unplanned_downtime{background:#f4433621;color:#b71c1c}.annotation-type-badge--maintenance{background:#4caf501f;color:#2e7d32}.annotation-type-badge--quality_issue{background:#9c27b01f;color:#6a1b9a}.annotation-type-badge--parameter_change{background:#00bcd41f;color:#006064}.annotation-type-badge--other{background:#7878781f;color:#424242}.annotation-type-badge--incident{background:#f4433621;color:#b71c1c}.annotation-type-badge--note{background:#00bcd41f;color:#006064}.dv-live-tiles-body{padding:8px 0}.dv-live-tiles-body .tile-group-block{margin-bottom:8px}.dv-live-tiles-body .tile-group-block:last-child{margin-bottom:0}.dash-live-tiles-grid{display:grid;grid-template-columns:1fr;gap:6px;padding:8px 12px}.dash-group-tile{border-bottom:1px solid var(--gray-light, #e0e0e0)}.dash-group-tile:last-child{border-bottom:none}.dash-group-tile-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:none;cursor:pointer;font-size:var(--text-sm, .85rem);transition:background .12s}.dash-group-tile-header:hover{background:#2196f30d}.dash-group-tile-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dash-group-tile-dot--subscribed{background:#4caf50;box-shadow:0 0 4px #4caf5080}.dash-group-tile-name{font-weight:500;flex:1;text-align:left}.dash-modal-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-light, #e0e0e0);margin-bottom:12px}.dash-modal-tab{padding:8px 16px;cursor:pointer;font-size:var(--text-sm, .85rem);font-weight:600;color:var(--gray, #888);border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.dash-modal-tab:hover{color:var(--primary, #f4a93a)}.dash-modal-tab.active{color:var(--primary, #f4a93a);border-bottom-color:var(--primary, #f4a93a)}.dash-modal-group-picker{min-height:280px;border:1px solid var(--border, #eee);border-radius:6px;padding:12px;overflow-y:auto;max-height:400px}[data-theme=dark] .dashboard-card{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .dashboard-card-header{background:#ffffff0f;border-bottom-color:#ffffff1a}[data-theme=dark] .dashboard-card-header h4{color:#f4a93a}[data-theme=dark] .dashboard-card-body{color:#b0bec5}[data-theme=dark] .dashboard-card-footer{background:#ffffff0a;border-top-color:#ffffff1a}[data-theme=dark] .dashboard-card-live{background:#ffffff0a;border-top-color:#ffffff14}[data-theme=dark] .node-live-tile{background:linear-gradient(145deg,#1c1812eb,#14110de0);border-color:#f4a93a2e;box-shadow:0 1px 8px #00000073,inset 0 0 0 1px #f4a93a0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=dark] .node-live-tile:hover{border-color:#f4a93a61;box-shadow:0 2px 14px #0000008c,0 0 10px #f4a93a1a,inset 0 0 0 1px #f4a93a1f}[data-theme=dark] .node-live-tile-label{color:#d8d2c6a6;font-family:var(--ef-mono, monospace);letter-spacing:.01em}[data-theme=dark] .node-live-tile-value{color:#f4a93a;text-shadow:0 0 10px rgba(244,169,58,.55),0 0 22px rgba(244,169,58,.22);font-family:var(--ef-mono, monospace)}[data-theme=dark] .node-live-tile-unit{color:#d8d2c680;font-family:var(--ef-mono, monospace)}[data-theme=dark] .node-live-tile-time{color:#d8d2c666;font-family:var(--ef-mono, monospace)}[data-theme=dark] .tile-conn-icon.connected{color:#56e8a0;filter:drop-shadow(0 0 3px rgba(86,232,160,.6))}[data-theme=dark] .tile-conn-icon.disconnected{color:#e8eef740}[data-theme=dark] .tile-conn-icon.influx-fallback{color:#f4a93a;filter:drop-shadow(0 0 3px rgba(244,169,58,.5))}[data-theme=dark] .node-live-tile .tile-value--high{color:#ffb347;text-shadow:0 0 10px rgba(255,179,71,.55)}[data-theme=dark] .node-live-tile .tile-value--low{color:#f4a93a;text-shadow:0 0 10px rgba(244,169,58,.55)}[data-theme=dark] .tile-list-row{border-bottom-color:#f4a93a14}[data-theme=dark] .tile-list-row:hover{background:#f4a93a0a}[data-theme=dark] .tile-list-name{color:#e8eef7e0;font-family:var(--ef-mono, monospace)}[data-theme=dark] .tile-list-ts{color:#d8d2c666;font-family:var(--ef-mono, monospace)}[data-theme=dark] .tile-list-value{color:#f4a93a;font-family:var(--ef-mono, monospace);text-shadow:0 0 8px rgba(244,169,58,.45)}[data-theme=dark] .tile-group-header{color:#f4a93a;border-bottom-color:#f4a93a40;border-left-color:#f4a93a;background:linear-gradient(90deg,#f4a93a2e,#f4a93a0f 70%)}[data-theme=dark] .tile-group-block{background:#ffffff0f;border-color:#ffffff24}[data-theme=dark] .dash-group-tile{border-color:#ffffff1a}[data-theme=dark] .dash-group-tile-header{background:#ffffff0f;color:#e8eef7e6}[data-theme=dark] .dash-group-tile-header:hover{background:#f4a93a1a}[data-theme=dark] .dash-group-tile-name{color:#e8eef7e6}[data-theme=dark] .dash-group-tile-loc{color:#e8eef78c}[data-theme=dark] .dash-group-tile-chevron,[data-theme=dark] .dash-group-empty{color:#e8eef773}[data-theme=dark] .dash-group-section-toggle,[data-theme=dark] .dash-group-section-label{color:#f4a93a;border-top-color:#ffffff1a}[data-theme=dark] .dash-group-section-toggle:hover{background:#f4a93a1a}[data-theme=dark] .dash-group-list-body{background:#ffffff0a;border-top-color:#ffffff1a}[data-theme=dark] .dash-group-check-item{color:#e8eef7bf}[data-theme=dark] .dv-topbar{background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}[data-theme=dark] .dv-toolbar{background:#ffffff08;border-bottom-color:#ffffff1a}[data-theme=dark] .dv-toolbar-tabs{border-bottom-color:#ffffff1a}[data-theme=dark] .dv-toolbar-tab{color:#e8eef799}[data-theme=dark] .dv-toolbar-tab.active{color:#f4a93a;border-bottom-color:#f4a93a}[data-theme=dark] .dv-chart-card{background:#ffffff08;border-color:#ffffff1a;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=dark] .dv-chart-card-header{background:#ffffff0a;border-bottom-color:#ffffff1a}[data-theme=dark] .dashboard-viewer-page{background-color:#161412;background-image:linear-gradient(rgba(244,169,58,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(244,169,58,.055) 1px,transparent 1px);background-size:40px 40px}[data-theme=dark] .dv-preset-btn{background:#ffffff0d;border-color:#ffffff1a;color:#e8eef7bf}[data-theme=dark] .dv-preset-btn.active{background:#f4a93a;color:#e8eef7e6;border-color:#f4a93a}[data-theme=dark] .dv-preset-select{background:#ffffff0f;border-color:#ffffff1a;color:#e8eef7d1;font-family:var(--ef-mono, monospace)}[data-theme=dark] .dv-ctrl-divider{background:#ffffff1a}[data-theme=dark] .dash-modal-server-list{background:#ffffff0f;border-right-color:#ffffff1a}[data-theme=dark] .dash-modal-node-picker{border-color:#ffffff1a}[data-theme=dark] .dash-modal-server-btn{color:#e8eef7bf}[data-theme=dark] .dash-modal-server-btn:hover{background:#f4a93a1f}[data-theme=dark] .dash-modal-node-item:hover{background:#f4a93a14}[data-theme=dark] .dv-live-tiles-section{color:#e8eef7bf}[data-theme=dark] .dash-live-tiles-grid{background:#ffffff0a}[data-theme=dark] .dash-modal-tabs{border-bottom-color:#ffffff1a}[data-theme=dark] .dash-modal-tab{color:#e8eef799}[data-theme=dark] .dash-modal-tab.active{color:#f4a93a;border-bottom-color:#f4a93a}[data-theme=dark] .dash-modal-group-picker{border-color:#ffffff1a;background:#ffffff0f}[data-theme=dark] .dv-annotations-body{border-color:#ffffff1a}[data-theme=dark] .dv-annotation-form{background:#ffffff0a;border-bottom-color:#ffffff1a}[data-theme=dark] .dv-annotation-item{border-bottom-color:#ffffff1a;color:#e8eef7bf}[data-theme=dark] .dv-annotation-ts{color:#e8eef799}[data-theme=dark] .dv-section-toggle{color:#f4a93a}.gs-panel{background:var(--surface, #fff);border:1px solid var(--border, #ddd);border-radius:8px;box-shadow:0 8px 24px #00000024;overflow:hidden;max-height:420px;display:flex;flex-direction:column}.gs-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border, #ddd);background:var(--gray-light, #f5f5f5);font-size:var(--text-sm, .85rem)}.gs-panel-title{flex:1;color:var(--text-main, #333)}.gs-panel-close{background:none;border:none;cursor:pointer;color:var(--text-muted, #888);padding:2px 4px;line-height:1;border-radius:3px}.gs-panel-close:hover{background:var(--danger-light, #fee);color:var(--danger, #e53935)}.gs-panel-body{overflow-y:auto;flex:1}.gs-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, .85rem)}.gs-table thead th{padding:6px 10px;text-align:left;font-weight:600;background:var(--gray-light, #f5f5f5);border-bottom:1px solid var(--border, #ddd);white-space:nowrap;color:var(--text-muted, #666);font-size:var(--text-xs, .75rem);text-transform:uppercase;letter-spacing:.03em}.gs-row{cursor:pointer;transition:background .1s}.gs-row:hover{background:var(--primary-lightest, #e3f2fd)}.search-result-item--focused{background:var(--primary, #1976d2)!important;color:#fff}.search-result-item--focused .gs-cell--name{color:#fff}.search-result-item--focused .gs-muted{color:#ffffffb3}.gs-row:not(:last-child) td{border-bottom:1px solid var(--border-light, #eee)}.gs-cell{padding:8px 10px;vertical-align:middle}.gs-cell--name{font-weight:500;color:var(--text-main, #333);max-width:180px}.gs-cell--mono{font-family:var(--font-mono, monospace);font-size:var(--text-xs, .75rem);color:var(--text-muted, #666);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-muted{color:var(--text-muted, #aaa);font-style:italic}.gs-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:5px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.gs-badge--opcua{background:#e8f4fd;color:#1565c0}.gs-badge--s7{background:#fce4ec;color:#c62828}.gs-badge--eth{background:#e8f5e9;color:#2e7d32}.gs-badge--modbus{background:#fff3e0;color:#e65100}.gs-badge--mqtt{background:#f3e5f5;color:#6a1b9a}.gs-badge--rest{background:#e0f7fa;color:#00695c}.gs-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gray, #bbb)}.gs-status-dot--on{background:var(--success, #43a047)}[data-theme=dark] .gs-panel{background:#0f141c;border-color:#ffffff1f;box-shadow:0 8px 32px #0000008c}[data-theme=dark] .gs-panel-header{background:#ffffff0d;border-bottom-color:#ffffff1a}[data-theme=dark] .gs-panel-title{color:#e8eef7bf}[data-theme=dark] .gs-table thead th{background:#ffffff0a;border-bottom-color:#ffffff1a;color:#7890a0}[data-theme=dark] .gs-row:hover{background:#f4a93a14}[data-theme=dark] .gs-row:not(:last-child) td{border-bottom-color:#ffffff1a}[data-theme=dark] .gs-cell--name{color:#e8eef7bf}[data-theme=dark] .gs-cell--mono{color:#e8eef799}[data-theme=dark] .gs-badge--opcua{background:#1a3a5c;color:#f4a93a}[data-theme=dark] .gs-badge--s7{background:#4a1525;color:#ef9a9a}[data-theme=dark] .gs-badge--eth{background:#1b3a25;color:#a5d6a7}[data-theme=dark] .gs-badge--modbus{background:#3a2000;color:#ffb74d}[data-theme=dark] .gs-badge--mqtt{background:#2a1040;color:#ce93d8}[data-theme=dark] .gs-badge--rest{background:#003030;color:#80cbc4}.browser-search-result{display:flex;align-items:center;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--border-light, #eee);transition:background .1s}.browser-search-result:last-child{border-bottom:none}.browser-search-result:hover{background:var(--primary-lightest, #e3f2fd)}.browser-search-result--selected{background:#2196f314}[data-theme=dark] .browser-search-result{border-bottom-color:#ffffff1a}[data-theme=dark] .browser-search-result:hover{background:#f4a93a14}[data-theme=dark] .browser-search-result--selected{background:#f4a93a1f}.monitor-page{display:flex;flex-direction:column;gap:16px;width:100%}.mon-health-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:var(--border-radius);border-left:5px solid transparent;background:#ef9f2712;flex-wrap:wrap}.mon-health-banner--ok{border-left-color:var(--success);background:#43a04712}.mon-health-banner--warning{border-left-color:var(--warning);background:#f57c0012}.mon-health-banner--critical{border-left-color:var(--danger);background:#d32f2f14}.mon-health-icon{font-size:1.8rem;flex-shrink:0}.mon-health-banner--ok .mon-health-icon{color:var(--success)}.mon-health-banner--warning .mon-health-icon{color:var(--warning)}.mon-health-banner--critical .mon-health-icon{color:var(--danger)}.mon-health-content{flex:1;min-width:160px}.mon-health-title{font-size:var(--text-md);font-weight:700;color:var(--primary-dark);line-height:1.2}.mon-health-sub{font-size:var(--text-sm);color:var(--gray);margin-top:2px}.mon-health-pills{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.mon-status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:24px;font-size:var(--text-sm);font-weight:500}.mon-status-ok{background:#2e9e5b26;border:1px solid rgba(46,158,91,.4);color:#27ae60}.mon-status-error{background:#c0392b1a;border:1px solid rgba(192,57,43,.3);color:#c0392b}.mon-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.mon-kpi-card{background:#fff;border:1px solid var(--gray-light);border-radius:10px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 4px #0000000a;transition:var(--transition)}.mon-kpi-card:hover{box-shadow:0 3px 12px #00000014}.mon-kpi-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-base);margin-bottom:6px;flex-shrink:0}.mon-kpi-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--gray);font-weight:600}.mon-kpi-value{font-size:var(--text-lg);font-weight:700;color:var(--primary-dark);line-height:1.15}.mon-kpi-sub{font-size:var(--text-xs);color:var(--gray);margin-top:1px;line-height:1.35}.mon-two-col{display:grid;grid-template-columns:3fr 2fr;gap:16px;align-items:start}@media (max-width: 900px){.mon-two-col{grid-template-columns:1fr}}.mon-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.mon-metric-card{background:var(--light);border:1px solid var(--gray-light);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:14px}.mon-metric-icon{width:36px;height:36px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-base);flex-shrink:0}.mon-metric-label{font-size:var(--text-xs);color:var(--gray);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:2px}.mon-metric-value{font-size:var(--text-lg);font-weight:700;color:var(--primary-dark);line-height:1.2}.mon-val-warn{color:var(--warning)!important}.mon-val-critical{color:var(--danger)!important}.mon-val-ok{color:var(--success)!important}.mon-no-data{color:var(--gray);font-style:italic;padding:10px 0}.mon-resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.mon-resource-card{background:var(--light);border:1px solid var(--gray-light);border-radius:10px;padding:14px 16px;transition:var(--transition)}.mon-resource-card:hover{box-shadow:0 3px 10px #00000012}.mon-resource-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mon-resource-icon{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);flex-shrink:0}.mon-resource-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--gray);font-weight:600;line-height:1.3}.mon-resource-value{font-size:var(--text-lg);font-weight:700;color:var(--primary-dark);line-height:1}.mon-resource-sub{font-size:var(--text-xs);color:var(--gray);margin-top:4px;line-height:1.35}.mon-gauge-bar{height:6px;background:var(--gray-light);border-radius:3px;overflow:hidden}.mon-gauge-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .6s ease}.mon-gauge-fill.mon-val-warn{background:var(--warning)}.mon-gauge-fill.mon-val-critical{background:var(--danger)}.mon-srv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:14px 16px}.mon-srv-tile--warn{border-left:4px solid var(--warning)}.mon-storage-sections{display:flex;flex-direction:column}.mon-storage-section{padding:4px 0 10px}.mon-storage-section-title{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.mon-storage-rows{display:flex;flex-direction:column;gap:0}.mon-storage-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--gray-light);font-size:var(--text-sm)}.mon-storage-row:last-child{border-bottom:none}.mon-storage-key{color:var(--gray)}.mon-storage-val{font-weight:600;color:var(--primary-dark)}.mon-storage-sep{height:1px;background:var(--gray-light);margin:8px 0}.mon-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-left:auto}.mon-badge--ok{background:#43a0471f;color:#2e7d32}.mon-badge--warn{background:#f57c001f;color:#e65100}.mon-badge--critical{background:#d32f2f1f;color:#c62828}.sfbuf-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:6px;margin-bottom:16px}.sfbuf-banner--warn{background:#f57c001a;border:1px solid rgba(245,124,0,.35);color:#b36000}.sfbuf-banner--critical{background:#d32f2f14;border:1px solid rgba(211,47,47,.3);color:var(--danger)}.mon-console-card .card-header{display:flex;align-items:center}.mon-console-body{max-height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:var(--text-xs)}.mon-console-line{display:flex;gap:12px;padding:3px 0;border-bottom:1px solid rgba(0,0,0,.04)}.mon-console-line:last-child{border-bottom:none}.mon-console-line--error .mon-console-msg{color:var(--danger)}.mon-console-line--warning .mon-console-msg{color:var(--warning)}.mon-console-line--info .mon-console-msg{color:var(--primary-dark)}.mon-console-ts{color:var(--gray);white-space:nowrap;flex-shrink:0}.mon-console-msg{color:var(--primary-dark);word-break:break-all}@media (max-width: 640px){.mon-health-pills{margin-left:0}.mon-kpi-row,.mon-resource-grid{grid-template-columns:repeat(2,1fr)}.mon-metric-grid{grid-template-columns:1fr}.mon-srv-grid{grid-template-columns:1fr;padding:8px 12px}.monitor-page{gap:12px}}@media (max-width: 380px){.mon-kpi-row,.mon-resource-grid{grid-template-columns:1fr}}[data-theme=dark] .mon-health-banner{background:#ef9f2726}[data-theme=dark] .mon-health-banner--ok{background:#43a0471a}[data-theme=dark] .mon-health-banner--warning{background:#f57c001a}[data-theme=dark] .mon-health-banner--critical{background:#d32f2f1f}[data-theme=dark] .mon-health-title{color:#e8eef7d1}[data-theme=dark] .mon-kpi-card{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .mon-kpi-value{color:#e8eef7d1}[data-theme=dark] .mon-kpi-icon{opacity:.72}[data-theme=dark] .mon-metric-card{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .mon-metric-value{color:#e8eef7d1}[data-theme=dark] .mon-metric-icon{opacity:.72}[data-theme=dark] .mon-resource-card{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .mon-resource-value{color:#e8eef7d1}[data-theme=dark] .mon-resource-icon{opacity:.72}[data-theme=dark] .mon-storage-val{color:#c5cfe0}[data-theme=dark] .mon-storage-row{border-bottom-color:#ffffff1a}[data-theme=dark] .mon-storage-sep{background:#ffffff1a}[data-theme=dark] .mon-console-body{background:#111820}[data-theme=dark] .mon-console-line{border-bottom-color:#ffffff0a}[data-theme=dark] .mon-console-line--info .mon-console-msg{color:#c5cfe0}[data-theme=dark] .sfbuf-banner--critical{background:#d32f2f1f}.p-0{padding:0!important}.flex-center{display:flex;align-items:center}.input-auto{width:auto}.text-sm-muted{font-size:var(--text-sm);color:var(--gray)}.card-header h3 i{color:var(--secondary)}.alarm-summary-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}.alarm-summary-card{background:#fff;border:1px solid var(--gray-light);border-radius:var(--border-radius);padding:20px;text-align:center;transition:var(--transition);cursor:pointer}.alarm-summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.alarm-summary-card--active{border-bottom:3px solid currentColor;box-shadow:0 4px 16px #0000001f}.alarm-summary-number{font-size:2.5rem;font-weight:700;margin-bottom:8px}.alarm-summary-label{font-size:var(--text-base);color:var(--gray);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.alarm-summary-total .alarm-summary-number{color:var(--primary)}.alarm-summary-active .alarm-summary-number{color:#e74c3c}.alarm-summary-warning .alarm-summary-number{color:#f39c12}.alarm-summary-critical .alarm-summary-number{color:#c0392b}.alarm-summary-info .alarm-summary-number{color:#3498db}.alarm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:var(--text-base);font-weight:600;color:var(--primary)}.filter-group select,.filter-group input{border:1px solid var(--gray-light);border-radius:4px;padding:6px 10px;font-size:var(--text-base);background:#fff;color:var(--primary-dark)}.alarm-table-container{overflow-x:auto;width:100%;max-width:100%}.alarm-table{width:100%;min-width:900px;border-collapse:collapse;font-size:var(--text-base);table-layout:auto}.alarm-table thead{background:#f5f5f5;border-bottom:2px solid var(--gray-light)}.alarm-table thead th{padding:12px;text-align:left;font-weight:600;color:var(--primary);font-size:var(--text-base);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sortable:hover{background:var(--gray-light)}.sort-indicator{opacity:.3;margin-left:4px;font-size:.75em}.sort-indicator--active{opacity:1;color:var(--primary)}.alarm-table tbody tr{border-bottom:1px solid var(--gray-light);transition:background .2s}.alarm-table tbody tr:hover{background:#f9f9f9}.alarm-table td{padding:9px 10px;vertical-align:middle;white-space:nowrap}.alarm-table tr.alarm-state-active td:first-child{border-left:3px solid #e74c3c}.alarm-table tr.alarm-state-acknowledged td:first-child{border-left:3px solid #f39c12}.alarm-table tr.alarm-state-cleared td:first-child{border-left:3px solid #95a5a6}.alarm-th-cb{width:32px;min-width:32px;text-align:center}.alarm-th-sev{width:44px;min-width:44px}.alarm-th-state{width:10%;min-width:90px}.alarm-th-type,.alarm-th-node{width:11%;min-width:100px}.alarm-th-server{width:10%;min-width:90px}.alarm-th-group,.alarm-th-location{width:9%;min-width:80px}.alarm-th-value,.alarm-th-limit{width:8%;min-width:80px}.alarm-th-time{width:10%;min-width:110px}.alarm-th-action{width:48px;min-width:48px}.alarm-cb-cell{text-align:center;padding:4px 0}.alarm-sev-cell{text-align:center;padding:10px 6px;white-space:nowrap}.alarm-sev-icon{font-size:var(--text-lg)}.alarm-state-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.alarm-state-badge--active{background:#e74c3c1f;color:#c0392b;border:1px solid rgba(231,76,60,.3)}.alarm-state-badge--acknowledged{background:#f39c121f;color:#b7770d;border:1px solid rgba(243,156,18,.3)}.alarm-state-badge--cleared{background:#27ae601f;color:#1e8449;border:1px solid rgba(39,174,96,.3)}.alarm-type-display{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.alarm-cell-node{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis}.alarm-cell-server{font-size:var(--text-base);color:var(--gray);overflow:hidden;text-overflow:ellipsis}.alarm-cell-group,.alarm-cell-location{font-size:var(--text-sm);color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.alarm-meta-icon{color:var(--gray);font-size:var(--text-2xs);margin-right:4px}.alarm-value-cell{font-family:Courier New,monospace;font-size:var(--text-base);font-weight:700;color:var(--primary)}.alarm-limit-cell{font-family:Courier New,monospace;font-size:var(--text-sm);color:var(--gray)}.alarm-value-triggered{font-weight:700;color:var(--primary)}.alarm-value-sep{color:var(--gray);font-size:var(--text-xs)}.alarm-value-threshold{color:var(--gray)}.alarm-value-empty{color:var(--gray);font-size:var(--text-sm)}.alarm-time-cell{font-size:var(--text-sm);color:var(--gray-dark)}.alarm-time-primary{font-size:var(--text-base);font-weight:600;cursor:default}.alarm-time-secondary{font-size:var(--text-xs);color:var(--gray);display:flex;align-items:center;gap:4px}.alarm-actions-cell{text-align:center;vertical-align:middle}.alarm-action-btn{width:30px;height:30px;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);transition:background .15s,color .15s,transform .1s}.alarm-action-btn:hover{transform:scale(1.12)}.alarm-action-btn--ack{color:#27ae60;border-color:#27ae6059;background:#27ae601a}.alarm-action-btn--ack:hover{background:#27ae60;color:#fff;border-color:#27ae60}.alarm-action-btn--del{color:#e74c3c;border-color:#e74c3c59;background:#e74c3c14}.alarm-action-btn--del:hover{background:#e74c3c;color:#fff;border-color:#e74c3c}.alarm-bulk-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%) translateY(100%);transition:transform .2s ease;z-index:1000;display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--dark, #1a2332);color:#fff;border-radius:var(--border-radius, 6px) var(--border-radius, 6px) 0 0;box-shadow:0 -4px 24px #0003;white-space:nowrap}.alarm-bulk-bar--visible{transform:translate(-50%) translateY(0)}.alarm-bulk-count{font-size:var(--text-sm);font-weight:600;color:#a8c4e0;min-width:80px}.alarm-pagination-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;border-top:1px solid var(--border)}@media (max-width: 768px){.alarm-table{font-size:var(--text-sm);min-width:600px}.alarm-table-container{-webkit-overflow-scrolling:touch}.alarm-table th,.alarm-table td{padding:8px}.alarm-th-group,.alarm-th-location,.alarm-th-limit,.alarm-cell-group,.alarm-cell-location{display:none}.alarm-filters,.alarm-summary-container{grid-template-columns:1fr}}[data-theme=dark] .alarm-summary-card{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .alarm-filters .filter-group select,[data-theme=dark] .alarm-filters .filter-group input{background:#ffffff0a;border-color:#ffffff1a;color:#e8eef7d1}[data-theme=dark] .alarm-table thead{background:#ffffff0d;border-bottom-color:#ffffff1a}[data-theme=dark] .alarm-table thead th{color:#c5cfe0}[data-theme=dark] .alarm-table tbody tr{border-bottom-color:#ffffff1a}[data-theme=dark] .alarm-table tbody tr:hover{background:#ffffff0d}[data-theme=dark] .alarm-state-badge--active{background:#e74c3c40;color:#e74c3c}[data-theme=dark] .alarm-state-badge--acknowledged{background:#f39c1240;color:#f39c12}[data-theme=dark] .alarm-state-badge--cleared{background:#27ae6040;color:#2ecc71}[data-theme=dark] .alarm-action-btn--ack{background:#27ae602e}[data-theme=dark] .alarm-action-btn--del{background:#e74c3c2e}[data-theme=dark] .alarm-bulk-bar{background:#0a0e14f2;box-shadow:0 -4px 24px #00000080}[data-theme=dark] .alarm-pagination-bar{border-top-color:#ffffff1a}.groups-two-panel{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start;margin-top:16px}.groups-left-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.groups-panel-header{padding:10px 14px;font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray);background:var(--surface);border-bottom:1px solid var(--border)}.groups-panel-header h4{margin:0;font-size:var(--text-xs)}.groups-right-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-height:200px}.groups-loc-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;-webkit-user-select:none;user-select:none}.groups-loc-item:hover{background:#ef9f270d}.groups-loc-item.selected{background:#ef9f2717;border-left:3px solid var(--primary);padding-left:11px}.groups-loc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.groups-loc-row1{display:flex;align-items:center;gap:4px;min-width:0}.groups-loc-name{flex:1;min-width:0;font-weight:600;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dark)}.groups-loc-name--warn{color:var(--warning, #f57c00)}.groups-loc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.groups-loc-stat{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-family:var(--ef-mono, monospace);color:var(--gray);white-space:nowrap;letter-spacing:.01em}.groups-loc-stat i{font-size:.55rem;opacity:.55}.groups-loc-desc{font-size:var(--text-xs);color:var(--gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.groups-loc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.groups-count-badge{font-size:var(--text-xs);font-weight:600;color:var(--gray);white-space:nowrap;flex-shrink:0}.groups-alarm-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.groups-alarm-dot--critical{background:var(--danger, #e53935)}.groups-alarm-dot--warning{background:var(--warning, #fb8c00)}.groups-alarm-dot--ok{background:var(--success, #43a047)}.groups-alarm-dot--gray{background:var(--gray, #90a4ae)}.groups-loc-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0;margin-left:auto}.groups-loc-item:hover .groups-loc-actions,.groups-grp-item:hover .groups-loc-actions{opacity:1}.groups-icon-btn{background:none;border:none;cursor:pointer;color:var(--gray);padding:2px 4px;border-radius:3px;font-size:var(--text-xs);transition:color .12s,background .12s}.groups-icon-btn:hover{color:var(--accent, #4a7fc1);background:rgba(var(--accent-rgb, 74,127,193),.1)}.groups-icon-btn--danger:hover{color:var(--danger, #e53935);background:#e539351a}.groups-empty-state{padding:48px 24px;text-align:center;color:var(--gray)}.groups-empty-state i{font-size:2rem;display:block;margin-bottom:12px;opacity:.4}.groups-loading{padding:32px;text-align:center;color:var(--gray);font-size:var(--text-base)}.groups-detail-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.groups-detail-header h4{margin:0;font-size:var(--text-md);font-weight:600;color:var(--primary)}.groups-detail-header-actions{display:flex;align-items:center;gap:8px}.groups-breadcrumb{font-size:var(--text-sm);color:var(--gray);padding:6px 0 2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.groups-breadcrumb-hint{font-style:italic}.groups-breadcrumb-link{background:none;border:none;padding:0;cursor:pointer;color:var(--primary);font-size:var(--text-sm);text-decoration:none}.groups-breadcrumb-link:hover{text-decoration:underline}.groups-breadcrumb-sep{color:var(--gray)}.groups-breadcrumb-current{color:var(--dark);font-weight:500}.groups-expanded-section{margin-bottom:8px}.groups-expanded-section-header{padding:6px 14px;background:var(--gray-light);border-top:1px solid var(--border)}.groups-expanded-section-title{font-size:var(--text-sm);font-weight:600;color:var(--dark)}.groups-grp-list{padding:8px 0}.groups-grp-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;-webkit-user-select:none;user-select:none}.groups-grp-item:hover{background:#ef9f270a}.groups-grp-item.selected{background:#ef9f2714;border-left:3px solid var(--primary);padding-left:11px}.groups-grp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.groups-grp-name{flex:1;min-width:0;font-weight:600;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dark)}.groups-grp-desc{font-size:var(--text-xs);color:var(--gray)}.groups-node-section{border-top:2px solid var(--border);padding:0 0 8px}.groups-node-header{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-size:var(--text-sm);font-weight:600;color:var(--gray);border-bottom:1px solid var(--border)}.groups-node-table-wrap{overflow-x:auto}.groups-node-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.groups-node-table thead tr{background:var(--surface-alt, rgba(0,0,0,.03))}.groups-node-table th{padding:7px 12px;text-align:left;font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--gray);border-bottom:1px solid var(--border)}.groups-node-table td{padding:7px 12px;border-bottom:1px solid var(--border);color:var(--primary);vertical-align:middle}.groups-node-table tbody tr:hover{background:rgba(var(--accent-rgb, 74,127,193),.05)}.groups-td-mono{font-family:var(--font-mono, monospace);font-size:var(--text-sm)}.groups-td-actions{width:64px;text-align:right;white-space:nowrap;opacity:0;transition:opacity .12s}.groups-node-table tbody tr:hover .groups-td-actions{opacity:1}.groups-add-nodes-list{max-height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;margin-top:8px}.groups-node-pick-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.groups-node-pick-row:last-child{border-bottom:none}.groups-node-pick-row:hover{background:rgba(var(--accent-rgb,74,127,193),.06)}.groups-node-pick-row input[type=checkbox]{flex-shrink:0}.groups-node-pick-name{flex:1;font-weight:500}.groups-node-pick-server{color:var(--gray);font-size:var(--text-xs)}@media (max-width: 700px){.groups-two-panel{grid-template-columns:1fr}}[data-theme=dark] .groups-left-panel,[data-theme=dark] .groups-right-panel{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .groups-panel-header{background:#ffffff0a;border-bottom-color:#ffffff1a;color:#8ca5bebf}[data-theme=dark] .groups-loc-item{border-bottom-color:#ffffff0f}[data-theme=dark] .groups-loc-item:hover{background:#f4a93a0a}[data-theme=dark] .groups-loc-item.selected{background:#f4a93a14;border-left-color:var(--neon-cyan)}[data-theme=dark] .groups-loc-name,[data-theme=dark] .groups-grp-name{color:#dce6ffeb}[data-theme=dark] .groups-loc-stat{color:#7896b499}[data-theme=dark] .groups-loc-name--warn{color:var(--neon-amber)}[data-theme=dark] .groups-loc-desc,[data-theme=dark] .groups-grp-desc,[data-theme=dark] .groups-count-badge,[data-theme=dark] .groups-node-header{color:#7896b499}[data-theme=dark] .groups-icon-btn{color:#7896b48c}[data-theme=dark] .groups-icon-btn:hover{color:var(--neon-cyan);background:#f4a93a14}[data-theme=dark] .groups-icon-btn--danger:hover{color:var(--neon-red);background:#ff4f6a14}[data-theme=dark] .groups-grp-item{border-bottom-color:#ffffff0f}[data-theme=dark] .groups-grp-item:hover{background:#f4a93a0a}[data-theme=dark] .groups-grp-item.selected{background:#f4a93a14;border-left-color:var(--neon-cyan)}[data-theme=dark] .groups-detail-header{border-bottom-color:#ffffff1a}[data-theme=dark] .groups-detail-header h4{color:#dce6ffeb}[data-theme=dark] .groups-node-section{border-top-color:#ffffff1a}[data-theme=dark] .groups-node-header{border-bottom-color:#ffffff1a}[data-theme=dark] .groups-breadcrumb-current{color:#dce6ffeb}[data-theme=dark] .groups-expanded-section-header{background:#ffffff0a;border-top-color:#ffffff1a}[data-theme=dark] .groups-expanded-section-title{color:#dce6ffeb}[data-theme=dark] .groups-node-table thead tr{background:#ffffff0a}[data-theme=dark] .groups-node-table th{color:#7896b499;border-bottom-color:#ffffff1a}[data-theme=dark] .groups-node-table td{border-bottom-color:#ffffff0f;color:#dce6ffeb}[data-theme=dark] .groups-td-mono{color:#8caac8b3}[data-theme=dark] .groups-node-table tbody tr:hover{background:#f4a93a0a}[data-theme=dark] .groups-add-nodes-list{border-color:#ffffff1a}[data-theme=dark] .groups-node-pick-row{border-bottom-color:#ffffff0f;color:#dce6ffeb}.ann-page{display:flex;flex-direction:column;gap:0;height:100%;padding:0}.ann-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}.ann-toolbar-left{display:flex;align-items:center;gap:10px}.ann-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ann-title{font-size:var(--text-lg);font-weight:700;margin:0;color:var(--primary);display:flex;align-items:center;gap:8px}.ann-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:rgba(var(--accent-rgb, 74,127,193),.12);color:var(--accent, #4a7fc1);border-radius:11px;font-size:var(--text-xs);font-weight:700}.ann-type-filter{min-width:160px;max-width:200px}.ann-btn-icon{padding:6px 10px}.ann-state-msg{padding:40px 20px;text-align:center;color:var(--gray);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;gap:8px}.ann-state-msg--error{color:var(--danger, #e53e3e)}.ann-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--gray)}.ann-empty i{font-size:2rem;opacity:.35}.ann-empty p{margin:0;font-size:var(--text-sm);text-align:center;max-width:360px}.ann-table-wrap{overflow-x:auto;flex:1}.ann-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ann-table thead tr{background:var(--surface-alt, rgba(0,0,0,.03))}.ann-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--gray);border-bottom:2px solid var(--border);white-space:nowrap}.ann-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--primary);vertical-align:middle}.ann-table tbody tr:hover{background:rgba(var(--accent-rgb, 74,127,193),.04)}.ann-th-actions{width:90px;text-align:right}.ann-td-actions{text-align:right;white-space:nowrap}.ann-td-mono{font-family:var(--font-mono, monospace);font-size:var(--text-sm);white-space:nowrap}.ann-td-text{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ann-icon-btn{margin-left:4px;padding:3px 7px}.ann-search-wrapper{position:relative;display:flex;align-items:center;min-width:200px}.ann-search-icon{position:absolute;left:9px;color:var(--gray);font-size:.75rem;pointer-events:none}.ann-search-input{padding-left:26px!important;padding-right:28px!important;min-width:200px}.ann-search-clear{position:absolute;right:6px;background:none;border:none;padding:2px 4px;cursor:pointer;color:var(--gray);font-size:.75rem;line-height:1}.ann-search-clear:hover{color:var(--danger)}.ann-type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.ann-type-badge--event{background:#4a7fc11f;color:#2b5f9e}.ann-type-badge--planned_downtime{background:#48bb7824;color:#276749}.ann-type-badge--unplanned_downtime{background:#f5656524;color:#c53030}.ann-type-badge--maintenance{background:#ecc94b2e;color:#744210}.ann-type-badge--quality_issue{background:#ed893626;color:#7b341e}.ann-type-badge--parameter_change{background:#805ad521;color:#553c9a}.ann-type-badge--other{background:#7180961f;color:#4a5568}.annotation-timeline-wrapper{padding:16px 0}.ann-vtl{padding:8px 0 24px;position:relative}.ann-vtl:before{content:"";position:absolute;top:0;bottom:0;left:84px;width:2px;background:var(--border, #e0e0e0);pointer-events:none}.ann-vtl-date-divider{display:flex;align-items:center;gap:12px;padding:16px 16px 8px;position:relative}.ann-vtl-date-divider:after{content:"";flex:1;height:1px;background:var(--border, #e0e0e0)}.ann-vtl-date-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray, #888);white-space:nowrap;padding-left:48px}.ann-vtl-item{display:flex;align-items:flex-start;gap:0;width:100%;padding:4px 16px 4px 0;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s;border-radius:6px;position:relative}.ann-vtl-item:hover{background:#2196f30a}.ann-vtl-left{width:72px;flex-shrink:0;text-align:right;padding-right:12px;padding-top:6px}.ann-vtl-time{font-size:.7rem;font-family:var(--font-mono, monospace);color:var(--gray, #888);white-space:nowrap}.ann-vtl-spine{width:24px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-top:8px}.ann-vtl-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;position:relative;z-index:1;border:2px solid #fff}.ann-vtl-content{flex:1;min-width:0;padding:4px 0 12px 12px}.ann-vtl-text{font-size:var(--text-sm, .85rem);font-weight:500;color:var(--primary-dark);line-height:1.4;margin-bottom:4px}.ann-vtl-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ann-vtl-node{font-size:.7rem;font-family:var(--font-mono, monospace);color:var(--gray, #888)}.ann-delete-body{color:var(--primary);font-size:var(--text-sm);line-height:1.6;margin:0 0 16px}.ann-delete-hint{color:var(--gray);font-size:var(--text-xs)}[data-theme=dark] .ann-toolbar{border-bottom-color:#ffffff1a}[data-theme=dark] .ann-title{color:#e2e8f0}[data-theme=dark] .ann-table thead tr{background:#ffffff0a}[data-theme=dark] .ann-table th{color:#6b8294;border-bottom-color:#ffffff1a}[data-theme=dark] .ann-table td{border-bottom-color:#1e2d3e;color:#e2e8f0}[data-theme=dark] .ann-table tbody tr:hover{background:#4a7fc114}[data-theme=dark] .ann-td-mono{color:#a0aec0}[data-theme=dark] .ann-empty,[data-theme=dark] .ann-state-msg{color:#6b8294}[data-theme=dark] .ann-type-badge--event{background:#4a7fc12e;color:#7eb2f5}[data-theme=dark] .ann-type-badge--planned_downtime{background:#48bb782e;color:#68d391}[data-theme=dark] .ann-type-badge--unplanned_downtime{background:#f565652e;color:#fc8181}[data-theme=dark] .ann-type-badge--maintenance{background:#ecc94b2e;color:#f6e05e}[data-theme=dark] .ann-type-badge--quality_issue{background:#ed89362e;color:#fbd38d}[data-theme=dark] .ann-type-badge--parameter_change{background:#805ad52e;color:#b794f4}[data-theme=dark] .ann-type-badge--other{background:#7180962e;color:#a0aec0}[data-theme=dark] .ann-delete-body{color:#e2e8f0}[data-theme=dark] .ann-vtl:before{background:linear-gradient(to bottom,#f4a93a8c,#f4a93a33 40%,#f4a93a14)}[data-theme=dark] .ann-vtl-date-divider:after{background:#ffffff14}[data-theme=dark] .ann-vtl-date-label{color:#f4a93a99;font-family:var(--ef-mono, monospace);letter-spacing:.12em}[data-theme=dark] .ann-vtl-item:hover{background:#f4a93a0d}[data-theme=dark] .ann-vtl-spine:before{background:#f4a93a26}[data-theme=dark] .ann-vtl-dot{border-color:#161412}[data-theme=dark] .ann-vtl-time{color:#d8d2c680;font-family:var(--ef-mono, monospace)}[data-theme=dark] .ann-vtl-text{color:#e8eef7e6;font-family:var(--ef-mono, monospace)}[data-theme=dark] .ann-vtl-node{color:#f4a93a8c;font-family:var(--ef-mono, monospace)}[data-theme=dark] .ann-vtl-meta .badge{letter-spacing:.04em}[data-theme=dark] .ann-vtl>div:first-child .ann-vtl-dot{filter:drop-shadow(0 0 6px rgba(244,169,58,.7));animation:ef-pulse-border 2.5s ease-in-out infinite}.ann-vtl-card{background:#fff;border:1px solid rgba(239,159,39,.1);box-shadow:var(--lm-card-shadow);border-radius:6px;transition:box-shadow .2s ease}.ann-vtl-card:hover{box-shadow:var(--lm-card-shadow-hover);cursor:pointer}[data-theme=dark] .ann-vtl-card{background:linear-gradient(145deg,#0d1626e0,#0a101ccc);border:1px solid rgba(244,169,58,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 1px 6px #00000059;border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .ann-vtl-card:hover{border-color:#f4a93a4d;box-shadow:0 2px 12px #00000073,0 0 8px #f4a93a14;cursor:pointer}.ann-type-badge--observation{color:#0277bd;border-color:#b3e5fc;background:#e1f5fe}.ann-type-badge--alert{color:#c62828;border-color:#ef9a9a;background:#ffebee}.ann-type-badge--maintenance{color:#e65100;border-color:#ffcc80;background:#fff3e0}[data-theme=dark] .ann-type-badge--observation{color:var(--neon-cyan);border-color:#f4a93a4d;background:#f4a93a14}[data-theme=dark] .ann-type-badge--alert{color:var(--neon-red);border-color:#ff4f6a4d;background:#ff4f6a14}[data-theme=dark] .ann-type-badge--maintenance{color:var(--neon-amber);border-color:#ffb3474d;background:#ffb34714}.ann-date-divider{color:#78909c;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--ef-mono, monospace);padding:4px 0 4px 90px}[data-theme=dark] .ann-date-divider{position:sticky;top:0;background:linear-gradient(180deg,#0a0e14f2,#0a0e14cc);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f4a93a99;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--ef-mono, monospace);padding:4px 0 4px 90px;z-index:2}.ann-date-range-bar{display:flex;align-items:center;gap:10px;padding:8px 0 10px;flex-wrap:wrap}.ann-date-range-label{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--gray);white-space:nowrap}.ann-date-range-input{padding:4px 8px!important;font-size:var(--text-sm)!important;width:auto!important;min-width:180px}[data-theme=dark] .ann-date-range-label{color:#8fa7be}.dropdown-btn-wrapper{position:relative;display:inline-block}.dropdown-btn-list{position:absolute;top:calc(100% + 4px);right:0;background:var(--light);border:1px solid var(--border);border-radius:var(--border-radius);z-index:200;min-width:150px;box-shadow:0 4px 16px #0000001f;padding:4px 0;list-style:none;margin:0}.dropdown-btn-item{display:block;width:100%;padding:8px 14px;text-align:left;background:none;border:none;cursor:pointer;font-size:var(--text-sm);color:var(--dark);white-space:nowrap}.dropdown-btn-item:hover{background:var(--gray-light)}.dropdown-btn-item:disabled{opacity:.45;cursor:not-allowed}[data-theme=dark] .dropdown-btn-list{background:#0f1620f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#ffffff1a}[data-theme=dark] .dropdown-btn-item{color:#e8eef7d1}[data-theme=dark] .dropdown-btn-item:hover{background:#ffffff12;color:#e8eef7f2}[data-theme=dark] .dropdown-btn-divider{color:#e8eef766;border-top-color:#ffffff14}.dropdown-btn-divider{padding:4px 14px;font-size:var(--text-xs);color:var(--gray);text-transform:uppercase;letter-spacing:.05em;pointer-events:none;border-top:1px solid var(--border);margin-top:2px}.dropdown-btn-divider:first-child{border-top:none;margin-top:0}.dropdown-btn-list--fixed{position:fixed;top:unset;right:unset}.viewer-options-panel{background:var(--light);border:1px solid var(--border);border-radius:var(--border-radius);padding:12px 16px;min-width:560px;display:flex;gap:24px;box-shadow:0 4px 12px #0000001a}[data-theme=dark] .viewer-options-panel{background:var(--dark)}.settings-page{padding:0}.settings-tab-nav{position:sticky;top:0;z-index:10;background:var(--light);border-bottom:1px solid var(--border);display:flex;gap:0;padding:0 4px;overflow-x:auto;scrollbar-width:none;margin:0 -20px 16px}.settings-tab-nav::-webkit-scrollbar{display:none}.settings-tab-nav button{background:none;border:none;border-bottom:3px solid transparent;padding:12px 16px;font-size:var(--text-sm);color:var(--gray);cursor:pointer;white-space:nowrap;transition:var(--transition);flex-shrink:0}.settings-tab-nav button:hover{color:var(--primary)}.settings-tab-nav button.active,.settings-tab-nav button.settings-tab-btn--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}[data-theme=dark] .settings-tab-nav{background:var(--dark);border-color:#ffffff1a}[data-theme=dark] .settings-tab-nav button{color:var(--gray)}[data-theme=dark] .settings-tab-nav button.active,[data-theme=dark] .settings-tab-nav button.settings-tab-btn--active{color:var(--primary-light, #64b5f6);border-bottom-color:var(--primary-light, #64b5f6)}.notif-channel-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border, #eee)}.notif-channel-card:last-child{border-bottom:none}.notif-channel-main{flex:1;min-width:0}.notif-channel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notif-channel-icon{color:var(--primary, #f4a93a);font-size:1rem}.notif-channel-name{font-weight:600;font-size:var(--text-base, .95rem)}.notif-channel-type{font-size:var(--text-sm, .82rem);background:#2196f31a;color:var(--primary, #f4a93a);border-radius:4px;padding:1px 7px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.notif-channel-state{font-size:var(--text-sm, .82rem);border-radius:4px;padding:1px 7px;font-weight:500}.notif-channel-state.is-enabled{background:#4caf501f;color:#2e7d32}.notif-channel-state.is-disabled{background:#7180961f;color:#4a5568}.notif-channel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.notif-channel-toggle{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, .84rem);cursor:pointer;-webkit-user-select:none;user-select:none}.h-auto{height:auto!important}.pos-relative{position:relative}.mb-xs{margin-bottom:4px!important}.mt-lg{margin-top:16px}.mt-md{margin-top:12px}.text-inline-hint{font-size:.78rem;color:var(--gray, #888);margin-left:4px}.text-optional{font-size:.78rem;color:var(--gray, #888)}.flex-col-end{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.flex-wrap-gap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.radio-group{display:flex;gap:16px;flex-wrap:wrap;padding:6px 0}.radio-group label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--text-sm, .9rem)}[data-theme=dark] .notif-channel-card{border-bottom-color:#ffffff1a}[data-theme=dark] .notif-channel-type{background:#f4a93a1f;color:#f4a93a}[data-theme=dark] .notif-channel-state.is-enabled{background:#4caf5026;color:#81c784}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.analytics-kpi{display:flex;align-items:center;gap:10px;background:var(--card-bg,#fff);border:1px solid var(--gray-light,#e8ecf0);border-radius:8px;padding:10px 12px;transition:box-shadow .15s}.analytics-kpi:hover{box-shadow:0 4px 12px #00000012}.analytics-kpi-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#e8eef7e6;font-size:.9rem;flex-shrink:0}.analytics-kpi-body{flex:1;min-width:0}.analytics-kpi-label{font-size:.72rem;color:var(--gray,#888);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}.analytics-kpi-value{font-size:.92rem;font-weight:600;color:var(--text,#222);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-range-card{background:var(--card-bg,#fff);border:1px solid var(--gray-light,#e8ecf0);border-radius:8px;padding:12px 14px;margin-bottom:12px}.analytics-range-header{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;font-weight:600;margin-bottom:10px}.analytics-range-bar{display:flex;align-items:center;gap:8px}.analytics-range-min,.analytics-range-max{font-size:.8rem;font-weight:600;color:var(--text,#222);min-width:48px}.analytics-range-max{text-align:right}.analytics-range-track{flex:1;position:relative;height:10px;background:var(--gray-light,#e8ecf0);border-radius:5px;overflow:visible}.analytics-range-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--success),var(--warning));border-radius:5px}.analytics-range-avg-marker{position:absolute;top:-4px;width:4px;height:18px;background:var(--primary);border-radius:2px;transform:translate(-50%)}.analytics-meta-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.analytics-meta-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.analytics-meta-badge--group{background:#2196f31f;color:#1565c0}.analytics-meta-badge--location{background:#4caf501f;color:#2e7d32}.analytics-meta-badge--desc{background:#0000000a;color:var(--gray,#888);font-style:italic}.analytics-violation-card{background:var(--card-bg,#fff);border:1px solid var(--gray-light,#e8ecf0);border-radius:8px;padding:12px 14px;margin-bottom:12px}.analytics-violation-row{display:flex;align-items:center;gap:8px;margin-top:8px}.analytics-violation-label{font-size:.78rem;font-weight:500;min-width:110px}.analytics-violation-bar-wrap{flex:1;height:8px;background:#0000000f;border-radius:4px;overflow:hidden}.analytics-violation-bar{height:100%;border-radius:4px;transition:width .3s}.analytics-violation-pct{font-size:.78rem;font-weight:600;min-width:40px;text-align:right}.analytics-violation-label--high,.analytics-violation-pct--high{color:#e65100}.analytics-violation-label--low,.analytics-violation-pct--low{color:#0d47a1}.analytics-violation-label--normal,.analytics-violation-pct--normal{color:var(--success)}.analytics-violation-bar--high{background:#ff9800}.analytics-violation-bar--low{background:#f4a93a}.analytics-violation-bar--normal{background:var(--success)}.analytics-results{display:flex;flex-direction:column;gap:0}.node-stat-limit{font-size:.7rem;margin-top:2px}.node-stat-limit--low{color:var(--primary)}.node-stat-limit--high{color:var(--warning)}[data-theme=dark] .node-stat-limit--low{color:var(--neon-cyan)}[data-theme=dark] .node-stat-limit--high{color:var(--neon-amber)}[data-theme=dark] .analytics-kpi{background:linear-gradient(145deg,#1c1812eb,#14110de0);border-color:#f4a93a2e;box-shadow:0 1px 8px #0006,inset 0 0 0 1px #f4a93a0f}[data-theme=dark] .analytics-kpi:hover{border-color:#f4a93a59;box-shadow:0 2px 14px #0000008c,0 0 10px #f4a93a1a}[data-theme=dark] .analytics-kpi-label{color:#d8d2c68c;font-family:var(--ef-mono);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}[data-theme=dark] .analytics-kpi-value{color:#f4a93a;font-family:var(--ef-mono);text-shadow:0 0 10px rgba(244,169,58,.4)}[data-theme=dark] .analytics-kpi-icon{opacity:.72}[data-theme=dark] .analytics-range-card,[data-theme=dark] .analytics-violation-card{background:#ffffff08;border-color:#f4a93a24}[data-theme=dark] .analytics-range-track{background:#ffffff14}[data-theme=dark] .analytics-meta-bar{border-color:#ffffff14}[data-theme=dark] .analytics-meta-badge--group{background:#f4a93a1f;color:#f4a93a;border-color:#f4a93a40}[data-theme=dark] .analytics-meta-badge--location{background:#56e8a01f;color:#56e8a0;border-color:#56e8a040}[data-theme=dark] .analytics-meta-badge--desc{background:#ffffff0d;color:#e8eef799}[data-theme=dark] .analytics-violation-bar-wrap{background:#ffffff12}[data-theme=dark] .analytics-violation-label--high,[data-theme=dark] .analytics-violation-pct--high{color:#ffb347}[data-theme=dark] .analytics-violation-label--low,[data-theme=dark] .analytics-violation-pct--low{color:#f4a93a}[data-theme=dark] .analytics-violation-label--normal,[data-theme=dark] .analytics-violation-pct--normal{color:#56e8a0}[data-theme=dark] .analytics-results{color:#e8eef7d9}[data-theme=dark] .staleness-warn{color:#ffb347}[data-theme=dark] .sparkline-line{stroke:#f4a93a;filter:drop-shadow(0 0 3px rgba(244,169,58,.5))}[data-theme=dark] .sparkline-label{color:#d8d2c680;font-family:var(--ef-mono)}.pct-warn{color:var(--warning);font-weight:600}.pct-danger{color:var(--danger);font-weight:600}[data-theme=dark] td.pct-warn{color:var(--neon-amber);text-shadow:0 0 6px rgba(255,179,71,.4);font-family:var(--ef-mono, monospace)}[data-theme=dark] td.pct-danger{color:var(--neon-red);text-shadow:0 0 6px rgba(255,79,106,.4);font-family:var(--ef-mono, monospace)}.stat-card{background:#fff;border:1px solid rgba(239,159,39,.1);box-shadow:var(--lm-card-shadow);border-radius:8px;padding:14px 18px}.stat-card-value{font-family:var(--ef-mono, monospace);font-size:1.6rem;font-weight:700;color:var(--primary)}.stat-card-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#78909c}[data-theme=dark] .stat-card{border-radius:8px;padding:14px 18px}[data-theme=dark] .stat-card-value{font-family:var(--ef-mono, monospace);font-size:1.6rem;font-weight:700;color:var(--neon-cyan);text-shadow:0 0 10px rgba(244,169,58,.45)}[data-theme=dark] .stat-card-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#82a0c8a6}.staleness-warn{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--warning);margin-top:8px}.sparkline-wrapper{display:flex;align-items:center;gap:10px;padding:8px 0 4px}.sparkline-label{font-size:var(--text-xs);color:var(--gray);white-space:nowrap}.sparkline{width:100%;max-width:300px;height:40px;overflow:visible;flex-shrink:0}.sparkline-line{fill:none;stroke:var(--primary);stroke-width:1.5}[data-theme=dark] .sparkline-line{stroke:var(--primary-light, #64b5f6)}.backup-section-hint{font-size:.82rem;color:var(--gray);margin-bottom:12px}.backup-progress-banner{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#4a7fc114;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--primary);font-size:var(--text-sm);font-weight:500}[data-theme=dark] .backup-progress-banner{background:#4a7fc11f;border-color:#2c3a4a;color:#8ab4d8}.backup-table-wrap{overflow-x:auto}.backup-name-cell{display:flex;align-items:center;gap:8px;font-family:monospace;font-size:.82rem}.backup-icon{color:var(--gray);font-size:.9rem}.backup-action-btns{display:flex;gap:6px;align-items:center}.backup-download-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;text-decoration:none;border-radius:var(--border-radius-sm);color:var(--primary)}.backup-download-btn:hover{background:var(--primary-light, rgba(25, 118, 210, .08));color:var(--primary)}.backup-danger-zone{border:1.5px solid var(--danger);border-left:5px solid var(--danger);background:#d32f2f0a;margin-top:32px;position:relative}.backup-danger-zone:before{content:"";display:block;height:2px;background:repeating-linear-gradient(90deg,var(--danger) 0,var(--danger) 8px,transparent 8px,transparent 16px);margin-bottom:16px}.backup-danger-zone .card-header h3{color:var(--danger)}.backup-danger-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--gray-light)}.backup-danger-row:last-child{border-bottom:none;padding-bottom:0}.backup-danger-info strong{display:block;margin-bottom:4px;font-weight:600}.backup-danger-info p{font-size:.82rem;color:var(--gray);margin:0;max-width:480px}.danger-modal-body{padding:0}.danger-modal-warning{padding:12px 14px;background:#d32f2f0f;border:1px solid rgba(211,47,47,.2);border-radius:var(--border-radius-sm);font-size:.875rem;line-height:1.5}[data-theme=dark] .backup-danger-zone{background:#d32f2f14;border-color:#ef5350b3;border-left-color:#ef5350e6}[data-theme=dark] .backup-danger-row{border-color:#ffffff1a}[data-theme=dark] .danger-modal-warning{background:#d32f2f1f;border-color:#d32f2f4d}[data-theme=dark] .notif-channel-state.is-disabled{background:#71809626;color:#a0aec0}.console-page-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px 0;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;min-width:180px;display:flex;align-items:center}.search-input-wrapper .console-page-search{flex:1;min-width:0;padding-right:2rem}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 2px}.search-clear-btn:hover{color:var(--text-primary)}.console-page-search{flex:1;min-width:180px}.console-page-level-select{width:auto;min-width:130px;font-size:.85rem}.console-page-count{font-size:var(--text-xs);color:var(--gray);white-space:nowrap}.console-page-output{background:#1a2535;border-top:1px solid #2c3a4a;border-radius:0 0 8px 8px;padding:12px 16px;margin-top:12px;min-height:200px;max-height:62vh;overflow-y:auto;font-family:Roboto Mono,Courier New,monospace;font-size:var(--text-xs);line-height:1.6;overscroll-behavior:contain}.console-page-status{color:var(--gray);padding:24px 0;text-align:center;font-family:inherit;font-size:.85rem}.console-page-status--error{color:var(--danger)}.console-page-status .btn-link{background:none;border:none;cursor:pointer;color:var(--primary);text-decoration:underline;padding:0;font-size:inherit}.console-row{display:flex;align-items:flex-start;gap:10px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.04);color:#ffffffb8;font-family:var(--font-mono)}.console-row:last-child{border-bottom:none}.console-row-ts{color:#ffffff7a;white-space:nowrap;flex-shrink:0;font-size:.75rem}.console-row-msg{flex:1;word-break:break-word;white-space:pre-wrap;color:#ffffffb8}.console-row--info .console-row-msg{color:#90caf9}.console-row--warning .console-row-msg{color:#ffcc80}.console-row--error .console-row-msg{color:#ef9a9a}.console-row--success .console-row-msg{color:#a5d6a7}.console-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.console-badge--info{background:#f4a93a26;color:#90caf9}.console-badge--warning{background:#ffcc8026;color:#ffcc80}.console-badge--error{background:#ef9a9a2e;color:#ef9a9a}.console-badge--success{background:#a5d6a726;color:#a5d6a7}.console-row-copy{flex-shrink:0;background:none;border:none;padding:0 4px;cursor:pointer;color:#546e7a;opacity:0;transition:opacity .15s,color .15s;font-size:.75rem}.console-row:hover .console-row-copy{opacity:1}.console-row-copy:hover{color:var(--primary)}.console-log-embed{background:#1a2535;padding:12px 16px;overflow-y:auto;font-family:Roboto Mono,Courier New,monospace;font-size:var(--text-xs);line-height:1.6;border-radius:0 0 var(--border-radius, 6px) var(--border-radius, 6px)}.console-page-output{background:#1a2535}.console-log-embed{background:#f8f9fc;border:1px solid rgba(239,159,39,.12);border-radius:8px}[data-theme=dark] .console-page-output{background:#111820;border-top-color:#1e2c3a}[data-theme=dark] .console-row{border-bottom-color:#ffffff08}[data-theme=dark] .console-badge--info{background:#1565c0;color:#e3f2fd}[data-theme=dark] .console-badge{background:#546e7a;color:#e8eef7cc}.console-page-output{background:#f8f9fc;border:1px solid rgba(239,159,39,.12);border-radius:8px}.console-row{font-family:var(--ef-mono, monospace);color:#37474f;border-bottom:1px solid rgba(0,0,0,.04)}.console-row-ts{color:var(--primary);opacity:.55;margin-right:10px}.console-row--warning .console-row-msg{color:#e65100}.console-row--error .console-row-msg{color:#c62828}.console-row--error{background:#c628280a}.console-page-status .btn{border:1px solid rgba(239,159,39,.2);color:var(--primary);font-family:var(--ef-mono, monospace);font-size:.78rem;letter-spacing:.06em;background:transparent;transition:border-color .2s,color .2s}.console-page-status .btn:hover{border-color:var(--primary);background:#ef9f270a}[data-theme=dark] .console-page-output,[data-theme=dark] .console-log-embed{background:#0d0f12;border:1px solid rgba(244,169,58,.12);border-radius:8px}[data-theme=dark] .console-row{font-family:var(--ef-mono, monospace);font-size:.82rem;padding:3px 12px;color:#c8d7ebcc;transition:background .1s ease}[data-theme=dark] .console-row:hover{background:#f4a93a08}[data-theme=dark] .console-row-ts{color:#f4a93a8c;margin-right:10px;opacity:1;-webkit-user-select:none;user-select:none}[data-theme=dark] .console-row--debug .console-row-msg{color:#8ca0be99;font-style:italic}[data-theme=dark] .console-row--warning .console-row-msg{color:var(--neon-amber)}[data-theme=dark] .console-row--error .console-row-msg{color:var(--neon-red);text-shadow:0 0 8px rgba(255,79,106,.4)}[data-theme=dark] .console-row--error{background:#ff4f6a0a}[data-theme=dark] .console-page-search{background:#0d0f12;border:1px solid rgba(244,169,58,.2);color:var(--neon-cyan);font-family:var(--ef-mono, monospace)}[data-theme=dark] .console-page-status .btn{background:transparent;border:1px solid rgba(244,169,58,.2);color:#f4a93aa6;font-family:var(--ef-mono, monospace);font-size:.78rem;letter-spacing:.08em;transition:border-color .2s,color .2s}[data-theme=dark] .console-page-status .btn:hover{border-color:#f4a93a8c;color:var(--neon-cyan);text-shadow:0 0 6px rgba(244,169,58,.35)}[data-theme=dark] .console-page-output:after{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(244,169,58,.3),transparent);margin-top:4px}.nav-logger-toggle{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:4px 6px 8px;border-radius:var(--border-radius-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.nav-logger-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:none;border-radius:50%;cursor:pointer;font-size:var(--text-sm);transition:var(--transition)}.nav-logger-btn--start{background:var(--success);color:#fff}.nav-logger-btn--start:hover:not(:disabled){background:#388e3c}.nav-logger-btn--stop{background:var(--danger);color:#fff}.nav-logger-btn--stop:hover:not(:disabled){background:#b71c1c}.nav-logger-btn:disabled{opacity:.55;cursor:not-allowed}.nav-logger-label{font-size:var(--text-xs);color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-logger-label--running{color:#81c784}.overview-alarms-count{font-size:var(--text-xs);background:#ffffff14;border:1px solid var(--border);border-radius:12px;padding:2px 8px;color:var(--gray)}.overview-alarm-sev{font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.overview-alarm-sev--critical{background:#d32f2f1f;color:#d32f2f}.overview-alarm-sev--warning{background:#f57c001f;color:var(--warning)}.overview-alarm-sev--info{background:#ef9f271f;color:var(--primary)}.overview-alarm-node{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-alarm-value{color:var(--gray);text-align:left}.overview-alarm-time{color:var(--gray);text-align:left;font-family:monospace;font-size:var(--text-xs)}.overview-alarms-more{padding:6px 16px;font-size:var(--text-xs);color:var(--gray);border-top:1px solid var(--border)}[data-theme=dark] .overview-alarms-count{color:#fff6;border-color:#ffffff1f}[data-theme=dark] .overview-alarm-node{color:#ffffffd9}[data-theme=dark] .overview-alarm-value,[data-theme=dark] .overview-alarm-time,[data-theme=dark] .overview-alarms-more{color:#fff6}[data-theme=dark] .overview-console-msg{color:#ffffffbf}[data-theme=dark] .overview-alarm-sev--critical{background:#d32f2f2e}[data-theme=dark] .overview-alarm-sev--warning{background:#f57c002e}[data-theme=dark] .overview-alarm-sev--info{background:#f4a93a1f;color:var(--secondary)}.overview-alarm-row{cursor:pointer;transition:background var(--transition)}.overview-alarm-row:hover{background:var(--gray-light)}[data-theme=dark] .overview-alarm-row:hover{background:#ffffff0d}.overview-last-write{font-size:var(--text-xs);color:var(--gray);margin-bottom:10px;padding:0 4px}.logger-status-badge{display:flex;align-items:center;gap:6px}.logger-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;padding:3px 8px;border-radius:12px}.logger-badge--running{background:#2e7d321f;color:var(--success)}.logger-badge--stopped{background:#6161611f;color:var(--gray)}[data-theme=dark] .logger-badge--running{background:#2e7d3233}[data-theme=dark] .logger-badge--stopped{background:#ffffff14;color:#e8eef799}.overview-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.overview-metric-card{background:#fff;border:1px solid rgba(239,159,39,.12);box-shadow:var(--lm-card-shadow);text-align:center;padding:20px 24px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:6px}.overview-metric-value{font-family:var(--ef-mono, monospace);font-size:2.4rem;font-weight:700;color:var(--primary);display:block;line-height:1;margin-bottom:4px}.overview-metric-value--warn{color:#e65100}.overview-metric-value--error{color:#c62828}.overview-metric-label{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#78909c}.overview-all-clear{color:#2e7d32;font-weight:600;display:flex;align-items:center;gap:8px}.overview-alarms-card--active{border-color:#c628284d!important;box-shadow:0 2px 12px #c6282814}[data-theme=dark] .overview-metric-value{font-family:var(--ef-mono, monospace);font-size:2.4rem;font-weight:700;line-height:1;color:var(--neon-cyan);text-shadow:var(--glow-cyan);display:block;margin-bottom:4px}[data-theme=dark] .overview-metric-value--warn{color:var(--neon-amber);text-shadow:var(--glow-amber)}[data-theme=dark] .overview-metric-value--error{color:var(--neon-red);text-shadow:var(--glow-red)}[data-theme=dark] .overview-metric-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8caad2a6}[data-theme=dark] .overview-all-clear{color:var(--neon-green);text-shadow:var(--glow-green);font-family:var(--ef-mono, monospace);font-size:1.1rem;display:flex;align-items:center;gap:10px}[data-theme=dark] .overview-alarms-card--active{border-color:#ff4f6a66!important;box-shadow:0 1px 8px #00000073,0 0 14px #ff4f6a1a,inset 0 0 0 1px #ff4f6a14}.nav-user-menu{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:0 6px 4px;border-radius:var(--radius-sm, 6px);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.nav-user-icon{font-size:1rem;color:#ffffff8c}.nav-user-info{display:flex;flex-direction:column;gap:1px;line-height:1.2;flex:1;min-width:0;overflow:hidden}.nav-user-name{font-size:var(--text-sm, .84rem);font-weight:600;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-user-role{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c}.shell-sidebar--collapsed .nav-user-menu{padding:4px;margin:0 4px 4px;gap:0;background:none;border:none;justify-content:center}.shell-sidebar--collapsed .nav-user-info,.shell-sidebar--collapsed .nav-user-icon{display:none}.user-table-empty{padding:24px 16px;color:var(--gray);font-size:var(--text-sm)}.user-role-badge,.role-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.role-badge--admin{background:#fff3e0;border:1px solid #ffcc80;color:#e65100;font-weight:600}.role-badge--engineer{background:#e1f5fe;border:1px solid #81d4fa;color:#0277bd;font-weight:600}.role-badge--viewer{background:#f5f5f5;border:1px solid #e0e0e0;color:#546e7a}[data-theme=dark] .role-badge--admin{background:#ffb3471f;border-color:#ffb34759;color:var(--neon-amber);text-shadow:0 0 6px rgba(255,179,71,.4)}[data-theme=dark] .role-badge--engineer{background:#f4a93a1a;border-color:#f4a93a4d;color:var(--neon-cyan);text-shadow:0 0 6px rgba(244,169,58,.3)}[data-theme=dark] .role-badge--viewer{background:#8296b41a;border-color:#8296b433;color:#96b4dcb3}.audit-action--info{background:#4a7fc11a;color:var(--primary);border-color:#4a7fc140}.audit-action--success{background:#4caf501a;color:var(--success);border-color:#4caf5040}.audit-action--warning{background:#f57c001a;color:var(--warning);border-color:#f57c0040}.audit-action--danger{background:#e539351a;color:var(--danger);border-color:#e5393540}[data-theme=dark] .audit-action--info{background:#4a7fc12e}[data-theme=dark] .audit-action--success{background:#4caf502e}[data-theme=dark] .audit-action--warning{background:#f57c002e}[data-theme=dark] .audit-action--danger{background:#e539352e}.user-meta-secondary{display:block;font-size:var(--text-xs, .72rem);color:var(--gray, #78909c);font-family:Roboto Mono,monospace;margin-top:2px}.user-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid;white-space:nowrap}.user-status-badge.user-status-active{background:#4caf501f;color:var(--success, #43a047);border-color:#4caf504d}.user-status-badge.user-status-disabled{background:#9e9e9e1f;color:var(--gray, #78909c);border-color:#9e9e9e4d}.user-self-badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:.68rem;font-weight:600;background:#64b5f61f;color:#90caf9;border:1px solid rgba(100,181,246,.3);margin-left:6px}.form-label{display:block;font-size:var(--text-sm, .84rem);font-weight:600;color:var(--text-secondary, #b0bec5);margin-bottom:4px}.form-error-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm, 6px);background:#e539351f;border:1px solid rgba(229,57,53,.3);color:#ef9a9a;font-size:var(--text-sm, .84rem);margin-bottom:12px}.form-radio-group{display:flex;align-items:center;gap:4px}.form-radio-label{font-size:var(--text-sm, .84rem);color:var(--text-primary, #e0e8f0);cursor:pointer;display:flex;align-items:center;gap:4px}.wizard-intro{font-size:var(--text-sm, .84rem);color:var(--text-secondary, #b0bec5);margin:0 0 16px;line-height:1.6}.wizard-done{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0;text-align:center}.wizard-done p{font-size:var(--text-sm, .84rem);color:var(--text-secondary, #b0bec5);margin:0}[data-theme=dark] .form-error-banner{background:#e539351a}.input-float{position:relative;display:flex;align-items:center}.input-float .form-control{padding:12px 14px;width:100%;background:var(--input-bg, #fff);border:1px solid var(--border-color, #cfd8dc);border-radius:var(--radius-sm, 6px);color:var(--text-primary, #1e2a35);font-size:var(--text-base, .9rem);transition:border-color .15s,box-shadow .15s;outline:none}.input-float .form-control:focus{border-color:var(--primary, #d98e1f);box-shadow:0 0 0 2px #1a73e82e}.input-float__label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:var(--text-base, .9rem);color:var(--text-muted, #78909c);pointer-events:none;transition:transform .15s cubic-bezier(.4,0,.2,1),font-size .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);background:transparent;padding:0 2px;white-space:nowrap;font-weight:400}.input-float .form-control:focus~.input-float__label,.input-float .form-control:not(:placeholder-shown)~.input-float__label{transform:translateY(-155%) scale(.82);transform-origin:left center;color:var(--primary, #d98e1f);background:var(--surface, #fff);padding:0 4px;font-weight:500}.input-float--icon .input-float__icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted, #78909c);font-size:.8rem;pointer-events:none;z-index:1}.input-float--icon .form-control{padding-left:32px}.input-float--icon .input-float__label{left:32px}[data-theme=dark] .input-float .form-control{background:var(--input-bg, #1a2535);border-color:var(--border-color, rgba(255,255,255,.1));color:var(--text-primary, #e0e8f0)}[data-theme=dark] .input-float .form-control:focus{border-color:var(--primary, #4a9eff);box-shadow:0 0 0 2px #4a9eff2e}[data-theme=dark] .input-float__label{color:var(--text-muted, #78909c)}[data-theme=dark] .input-float .form-control:focus~.input-float__label,[data-theme=dark] .input-float .form-control:not(:placeholder-shown)~.input-float__label{background:var(--surface, #1e2c3a);color:var(--primary, #4a9eff)}.login-modal-error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 13px;background:#d32f2f14;border:1px solid rgba(211,47,47,.28);border-radius:4px;color:var(--danger, #ef5350);font-size:var(--text-sm, .84rem)}[data-theme=dark] .login-modal-error{background:#ef53501a;border-color:#ef53504d}.login-remember{margin:2px 0 4px}.login-remember__label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm, .84rem);color:var(--text-secondary, #b0bec5);-webkit-user-select:none;user-select:none}.login-remember__label input[type=checkbox]{cursor:pointer;accent-color:var(--primary)}.login-remember__label:has(input:disabled){opacity:.5;cursor:not-allowed}.card-subtitle{font-size:var(--text-sm, .84rem);color:var(--text-secondary, #b0bec5);line-height:1.6;margin:0}.nav-time-widget{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;margin:4px 6px;border-radius:var(--radius-sm, 6px);background:#ffffff0a;border:1px solid rgba(255,255,255,.07);min-height:36px}[data-theme=dark] .nav-time-widget{background:#ffffff08;border-color:#ffffff0f}.nav-time-widget--collapsed{justify-content:center;padding:6px;position:relative}.nav-time-body{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow:hidden}.nav-time-icon{font-size:.78rem;color:var(--text-muted, #78909c);flex-shrink:0}.nav-time-icon--warn{color:var(--warning, #ffa726)!important}.nav-time-text{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.nav-time-value{font-size:.76rem;font-weight:600;color:var(--text-primary, #e0e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;letter-spacing:.02em}.nav-time-tz{font-size:.68rem;color:var(--text-muted, #78909c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-time-loading{color:var(--text-muted, #78909c)}.nav-time-error{color:var(--danger, #ef5350)}.nav-time-drift-label{font-size:.68rem;color:var(--warning, #ffa726);white-space:nowrap;display:flex;align-items:center;gap:3px}.nav-time-drift-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--warning, #ffa726)}.nav-time-sync-btn{flex-shrink:0;width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--text-muted, #78909c);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.72rem;transition:background .15s,color .15s}.nav-time-sync-btn:hover:not(:disabled){background:#ffffff14;color:var(--text-primary, #e0e8f0)}.nav-time-sync-btn:disabled{opacity:.4;cursor:not-allowed}.realtime-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;margin:2px 6px;border-radius:12px;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;white-space:nowrap;border:1px solid transparent}.realtime-badge--connected{color:#4caf50;background:#4caf501f;border-color:#4caf5047}.realtime-badge--connecting{color:#ffa726;background:#ffa7261f;border-color:#ffa72647}.realtime-badge--disconnected{color:#ffa726;background:#ffa7261a;border-color:#ffa72638}.realtime-badge--error{color:#ef5350;background:#ef53501f;border-color:#ef535047}[data-theme=light] .realtime-badge--connected{color:#2e7d32;background:#2e7d321a;border-color:#2e7d324d}[data-theme=light] .realtime-badge--connecting{color:#e65100;background:#e6510017;border-color:#e6510047}[data-theme=light] .realtime-badge--disconnected{color:#e65100;background:#e6510014;border-color:#e6510038}[data-theme=light] .realtime-badge--error{color:#c62828;background:#c6282817;border-color:#c6282847}.user-pw-force{color:var(--warning, #f57c00)}.force-password-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000b3;display:flex;align-items:center;justify-content:center}.force-password-modal{width:100%;max-width:420px;margin:0 16px}.force-password-message{color:var(--gray);font-size:var(--text-sm, .875rem);margin-bottom:20px}.force-password-form .form-group{margin-bottom:14px}.force-password-form .form-group label{display:block;font-size:var(--text-sm, .875rem);font-weight:500;margin-bottom:4px}.force-password-form .form-error{color:var(--danger, #ef5350);font-size:var(--text-sm, .875rem);margin-bottom:12px}.force-password-form .btn{width:100%;margin-top:4px}.drag-handle{cursor:grab;color:var(--gray, #9e9e9e);padding:0 6px;flex-shrink:0;display:flex;align-items:center}.drag-handle:active{cursor:grabbing}.sortable-item-row{display:flex;align-items:stretch}.sortable-item-row>.groups-loc-item,.sortable-item-row>.groups-grp-item{flex:1;min-width:0}.sortable-item--dragging{box-shadow:0 4px 12px #00000026;z-index:10;position:relative}.sortable-card-wrapper{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:0}.sortable-card-wrapper .drag-handle--card{padding-top:14px;justify-content:center}.sortable-card-wrapper>.dashboard-card{min-width:0}.sortable-tile-wrapper{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:0}.sortable-tile-wrapper .drag-handle--tile{padding-top:10px;justify-content:center}.sortable-tile-wrapper>.dash-group-tile,.sortable-tile-wrapper>.node-live-tile,.sortable-tile-wrapper>.tile-list-row{min-width:0}.drag-handle--node-overlay{position:absolute;top:4px;left:4px;z-index:2;padding:2px 3px;border-radius:3px;opacity:0;background:#0000000a;transition:opacity .1s;line-height:1;font-size:.7rem}.node-live-tile:hover .drag-handle--node-overlay,.tile-list-row:hover .drag-handle--node-overlay,div:hover>.drag-handle--node-overlay{opacity:.55}.drag-handle--node-overlay:hover{opacity:.85!important}.uptime-badge{font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:10px}.uptime-badge--ok{background:var(--success-light, #d4edda);color:var(--success)}.uptime-badge--warn{background:var(--warning-light, #fff3cd);color:var(--warning)}.uptime-badge--danger{background:var(--danger-light, #f8d7da);color:var(--danger)}[data-theme=dark] .uptime-badge--ok{background:#66bb6a2e;color:#81c784}[data-theme=dark] .uptime-badge--warn{background:#ffa7262e;color:#ffb74d}[data-theme=dark] .uptime-badge--danger{background:#ef53502e;color:#ef9a9a}.status-since{font-size:var(--text-xs);color:var(--gray);white-space:nowrap}.node-status-history-table-wrap{overflow-x:auto}.node-status-history-section{margin-top:16px}.mon-srv-history{border-top:1px solid var(--border-color, #e0e0e0);margin-top:6px}.mon-srv-history-toggle{cursor:pointer;font-size:.72rem;color:var(--gray);padding:6px 12px;list-style:none;-webkit-user-select:none;user-select:none}.mon-srv-history-toggle::-webkit-details-marker{display:none}.mon-srv-history-toggle:before{content:"▶ ";font-size:.65rem}details.mon-srv-history[open] .mon-srv-history-toggle:before{content:"▼ "}.mon-srv-history-chart{padding:4px 12px 8px}input:focus,select:focus,textarea:focus{outline:none;border-color:#ef9f2766!important;box-shadow:0 0 0 3px #ef9f271a}.ef-status-dot--ok{background:#2e7d32;filter:drop-shadow(0 0 2px rgba(46,125,50,.35))}.ef-status-dot--warn{background:#e65100;filter:drop-shadow(0 0 2px rgba(230,81,0,.35))}.ef-status-dot--error{background:#c62828;filter:drop-shadow(0 0 2px rgba(198,40,40,.35))}.ef-status-dot--unknown{background:#90a4ae}.ef-glass-card{background:#fff;border:1px solid rgba(239,159,39,.12);box-shadow:var(--lm-card-shadow);transition:border-color .2s ease,box-shadow .2s ease}.ef-glass-card:hover{border-color:#ef9f273d;box-shadow:var(--lm-card-shadow-hover)}.ef-mono{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-variant-numeric:tabular-nums;letter-spacing:.02em}.ef-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes ef-pulse-border{0%,to{opacity:1}50%{opacity:.4}}.ef-pulse{animation:ef-pulse-border 2s ease-in-out infinite}[data-theme=dark] .ef-glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .ef-glass-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover)}[data-theme=dark] .ef-status-dot--ok{background:var(--neon-green);filter:drop-shadow(0 0 3px rgba(86,232,160,.6))}[data-theme=dark] .ef-status-dot--warn{background:var(--neon-amber);filter:drop-shadow(0 0 3px rgba(255,179,71,.55))}[data-theme=dark] .ef-status-dot--error{background:var(--neon-red);filter:drop-shadow(0 0 3px rgba(255,79,106,.6))}[data-theme=dark] .ef-status-dot--unknown{background:#ffffff40}.sys-res-bar{height:6px;background:var(--gray-light);border-radius:3px;overflow:hidden}.sys-res-bar-fill{height:100%;background:linear-gradient(90deg,#42a5f5,#1e88e5);border-radius:3px;transition:width .4s ease}.sys-res-bar-fill--warn{background:var(--warning)}.sys-res-bar-fill--critical{background:var(--danger)}.sys-res-value--warn{color:#e65100;font-weight:600;font-family:var(--ef-mono, monospace)}.sys-res-value--critical{color:#c62828;font-weight:600;font-family:var(--ef-mono, monospace)}.uptime-badge--ok,.uptime-badge--warn,.uptime-badge--danger{font-family:var(--ef-mono, monospace);font-weight:600}[data-theme=dark] .server-card.mon-srv-tile{transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}[data-theme=dark] .server-card.mon-srv-tile:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover)}[data-theme=dark] .mon-srv-tile .srv-card-header{background:#0a101c80;border-bottom:1px solid rgba(244,169,58,.1)}[data-theme=dark] .mon-srv-tile--ok{border-left:3px solid var(--neon-green)}[data-theme=dark] .mon-srv-tile--error{border-left:3px solid var(--neon-red);opacity:1}[data-theme=dark] .mon-srv-tile--warn{border-left:3px solid var(--neon-amber);animation:ef-pulse-border 2s ease-in-out infinite}[data-theme=dark] .uptime-badge--ok{background:transparent;color:var(--neon-green);text-shadow:var(--glow-green);font-family:var(--ef-mono, monospace)}[data-theme=dark] .uptime-badge--warn{background:transparent;color:var(--neon-amber);text-shadow:var(--glow-amber);font-family:var(--ef-mono, monospace)}[data-theme=dark] .uptime-badge--danger{background:transparent;color:var(--neon-red);text-shadow:var(--glow-red);font-family:var(--ef-mono, monospace)}[data-theme=dark] .sys-res-bar{background:#ffffff0f}[data-theme=dark] .sys-res-bar-fill{background:linear-gradient(90deg,#f4a93a99,#f4a93ae6);box-shadow:0 0 6px #f4a93a59}[data-theme=dark] .sys-res-bar-fill--warn{background:var(--neon-amber);box-shadow:0 0 6px var(--neon-amber)}[data-theme=dark] .sys-res-bar-fill--critical{background:var(--neon-red);box-shadow:0 0 8px var(--neon-red)}[data-theme=dark] .sys-res-value--warn{color:var(--neon-amber);text-shadow:var(--glow-amber);font-family:var(--ef-mono, monospace)}[data-theme=dark] .sys-res-value--critical{color:var(--neon-red);text-shadow:var(--glow-red);font-family:var(--ef-mono, monospace)}[data-theme=dark] .settings-tab-nav button.active,[data-theme=dark] .settings-tab-nav button.settings-tab-btn--active{color:var(--neon-cyan);border-bottom-color:var(--neon-cyan);text-shadow:0 0 8px rgba(244,169,58,.35)}tr.alarm-row--critical{box-shadow:inset 3px 0 #c62828;background:#c6282808}tr.alarm-row--high{box-shadow:inset 3px 0 #e65100;background:#e6510008}tr.alarm-row--low{box-shadow:inset 3px 0 #1565c0;background:#1565c008}[data-theme=dark] tr.alarm-row--critical{box-shadow:inset 3px 0 0 var(--neon-red);background:#ff4f6a0d}[data-theme=dark] tr.alarm-row--high{box-shadow:inset 3px 0 0 var(--neon-amber);background:#ffb3470a}[data-theme=dark] tr.alarm-row--low{box-shadow:inset 3px 0 0 var(--neon-cyan);background:#f4a93a08}[data-theme=dark] tr.alarm-row--active{animation:ef-pulse-border 3s ease-in-out infinite}.severity-badge--critical{color:#c62828;border-color:#c628284d;font-weight:600}.severity-badge--high{color:#e65100;border-color:#e651004d;font-weight:600}.severity-badge--low{color:#1565c0;border-color:#1565c040}[data-theme=dark] .severity-badge--critical{color:var(--neon-red);border-color:#ff4f6a66;text-shadow:0 0 6px rgba(255,79,106,.45)}[data-theme=dark] .severity-badge--high{color:var(--neon-amber);border-color:#ffb34766;text-shadow:0 0 6px rgba(255,179,71,.4)}[data-theme=dark] .severity-badge--low{color:var(--neon-cyan);border-color:#f4a93a4d}[data-theme=dark] .severity-badge--info{color:#96b4dccc;border-color:#96b4dc33}.alarm-filters-card{background:#fff;border:1px solid rgba(239,159,39,.1);box-shadow:0 2px 8px #ef9f270f}[data-theme=dark] .alarm-filters-card,[data-theme=dark] .alarm-filter-bar{background:linear-gradient(145deg,#0d1626e0,#0a101ccc);border:1px solid rgba(244,169,58,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 12px #00000059}.alarm-count-pill--critical{background:#ffebee;border:1px solid #ef9a9a;color:#c62828;border-radius:20px;padding:2px 10px;font-weight:600;font-family:var(--ef-mono, monospace)}.alarm-count-pill--high{background:#fff3e0;border:1px solid #ffcc80;color:#e65100;border-radius:20px;padding:2px 10px;font-weight:600;font-family:var(--ef-mono, monospace)}[data-theme=dark] .alarm-count-pill--critical{background:#ff4f6a26;border:1px solid rgba(255,79,106,.35);color:var(--neon-red);text-shadow:0 0 6px rgba(255,79,106,.4);font-family:var(--ef-mono, monospace);font-weight:600;border-radius:20px;padding:2px 10px}[data-theme=dark] .alarm-count-pill--high{background:#ffb3471f;border:1px solid rgba(255,179,71,.3);color:var(--neon-amber);font-family:var(--ef-mono, monospace);font-weight:600;border-radius:20px;padding:2px 10px}.alarm-ack-btn{background:transparent;border:1px solid rgba(46,125,50,.35);color:#2e7d32;border-radius:4px;padding:2px 8px;font-size:.75rem;transition:all .2s ease;cursor:pointer}.alarm-ack-btn:hover{background:#2e7d3214;border-color:#2e7d328c}.alarm-ack-btn--done{color:#2e7d3273;border-color:#2e7d322e;cursor:default}[data-theme=dark] .alarm-ack-btn{background:transparent;border:1px solid rgba(86,232,160,.3);color:var(--neon-green);border-radius:4px;padding:2px 8px;font-size:.75rem;transition:all .2s ease;cursor:pointer}[data-theme=dark] .alarm-ack-btn:hover{background:#56e8a01a;border-color:#56e8a08c;box-shadow:0 0 6px #56e8a040}[data-theme=dark] .alarm-ack-btn--done{color:#56e8a066;border-color:#56e8a026;cursor:default}.server-protocol-badge{display:inline-block;font-size:.7rem;font-family:var(--ef-mono, monospace);letter-spacing:.05em;text-transform:uppercase;border-radius:3px;padding:1px 6px;border:1px solid}.server-protocol-badge--opcua{color:#0277bd;border-color:#b3e5fc;background:#e1f5fe}.server-protocol-badge--modbus{color:#e65100;border-color:#ffe0b2;background:#fff3e0}.server-protocol-badge--s7{color:#6a1b9a;border-color:#e1bee7;background:#f3e5f5}.server-protocol-badge--ethernet-ip{color:#283593;border-color:#c5cae9;background:#e8eaf6}.server-protocol-badge--mqtt{color:#2e7d32;border-color:#c8e6c9;background:#e8f5e9}.server-protocol-badge--rest{color:#880e4f;border-color:#f8bbd0;background:#fce4ec}[data-theme=dark] .server-protocol-badge--opcua{color:var(--neon-cyan);border-color:#f4a93a59;background:#f4a93a14}[data-theme=dark] .server-protocol-badge--modbus{color:var(--neon-amber);border-color:#ffb34759;background:#ffb34714}[data-theme=dark] .server-protocol-badge--s7{color:#c792ea;border-color:#c792ea59;background:#c792ea14}[data-theme=dark] .server-protocol-badge--ethernet-ip{color:#82b1ff;border-color:#82b1ff59;background:#82b1ff14}[data-theme=dark] .server-protocol-badge--mqtt{color:#69f0ae;border-color:#69f0ae59;background:#69f0ae14}[data-theme=dark] .server-protocol-badge--rest{color:#f48fb1;border-color:#f48fb159;background:#f48fb114}.server-card{background:#fff;border:1px solid rgba(239,159,39,.12);box-shadow:var(--lm-card-shadow);transition:box-shadow .2s ease,border-color .2s ease}.server-card:hover{border-color:#ef9f273d;box-shadow:var(--lm-card-shadow-hover)}.server-card--error{border-color:#c6282859!important;box-shadow:0 2px 12px #c6282814}.server-card--reconnecting{border-color:#e6510059!important}.server-card .srv-card-header{background:linear-gradient(90deg,rgba(239,159,39,.04) 0%,transparent 100%);border-bottom:1px solid rgba(239,159,39,.07)}.server-node-count{font-family:var(--ef-mono, monospace);font-weight:600;color:var(--primary)}[data-theme=dark] .server-card--error{border-color:#ff4f6a66!important;box-shadow:0 1px 8px #00000073,0 0 12px #ff4f6a1f,inset 0 0 0 1px #ff4f6a1a}[data-theme=dark] .server-card--reconnecting{border-color:#ffb34766!important;animation:ef-pulse-border 2s ease-in-out infinite}[data-theme=dark] .server-node-count{font-family:var(--ef-mono, monospace);color:var(--neon-cyan);text-shadow:0 0 8px rgba(244,169,58,.4)}tr.node-row--error{box-shadow:inset 3px 0 #c62828;background:#c6282808}tr.node-row--warn{box-shadow:inset 3px 0 #e65100;background:#e6510008}.node-value-cell{font-family:var(--ef-mono, monospace)}.node-value-cell--numeric{color:var(--primary);font-weight:600}.status-since{font-family:var(--ef-mono, monospace);font-size:.72rem;color:#607d8b;background:#f0f4f8;border:1px solid #dde3ea;border-radius:3px;padding:1px 5px;white-space:nowrap}.node-interval-badge{font-family:var(--ef-mono, monospace);font-size:.72rem;color:#0277bd;background:#e1f5fe;border:1px solid #b3e5fc;border-radius:3px;padding:1px 5px}.alarm-table thead th{color:#546e7a;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}[data-theme=dark] tr.node-row--error{box-shadow:inset 3px 0 0 var(--neon-red);background:#ff4f6a0a}[data-theme=dark] tr.node-row--warn{box-shadow:inset 3px 0 0 var(--neon-amber);background:#ffb34708}[data-theme=dark] .node-value-cell{font-family:var(--ef-mono, monospace);color:#b4dcffe6}[data-theme=dark] .node-value-cell--numeric{color:var(--neon-cyan);text-shadow:0 0 8px rgba(244,169,58,.3)}[data-theme=dark] .status-since{font-family:var(--ef-mono, monospace);font-size:.72rem;color:#8caad2a6;background:#f4a93a0f;border:1px solid rgba(244,169,58,.12);border-radius:3px;padding:1px 5px;white-space:nowrap}[data-theme=dark] .node-interval-badge{font-family:var(--ef-mono, monospace);font-size:.72rem;color:#f4a93abf;background:#f4a93a12;border:1px solid rgba(244,169,58,.15);border-radius:3px;padding:1px 5px}[data-theme=dark] .alarm-table thead tr{background:linear-gradient(180deg,#0d1626f7,#0d1626e6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}[data-theme=dark] .alarm-table thead th{color:#b4d2ffb3;border-bottom:1px solid rgba(244,169,58,.15);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.dashboard-card{transition:transform .15s ease,box-shadow .15s ease,border-color .2s ease}.dashboard-card:hover{transform:translateY(-2px)}[data-theme=dark] .dashboard-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover);transform:translateY(-2px) scale(1.005)}[data-theme=dark] .dashboard-card-header{background:#0a101c80;border-bottom:1px solid rgba(244,169,58,.1)}[data-theme=dark] .dashboard-card-header h4{color:#c8e1fff2}[data-theme=dark] .dashboard-card-footer{background:#0a101c66;border-top:1px solid rgba(244,169,58,.08)}.dashboard-card-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2e7d32;flex-shrink:0;margin-right:2px}[data-theme=dark] .dashboard-card-live-dot{background:var(--neon-green);filter:drop-shadow(0 0 4px rgba(86,232,160,.6));animation:ef-pulse-border 2s ease-in-out infinite}.dashboard-empty-state{border:2px dashed rgba(239,159,39,.2);border-radius:10px;color:var(--gray)}[data-theme=dark] .dashboard-empty-state{border-color:#f4a93a33;color:#f4a93a80}[data-theme=dark] .drag-handle{color:#f4a93a4d;transition:color .2s}[data-theme=dark] .drag-handle:hover{color:#f4a93ab3}.location-card{background:#f3f0ff;border:1px solid rgba(103,58,183,.15);box-shadow:var(--lm-card-shadow);border-radius:8px;color:var(--dark)}.location-card:hover{border-color:#673ab747;box-shadow:var(--lm-card-shadow-hover)}.location-card .groups-panel-header{color:var(--primary);background:#673ab70f;border-bottom-color:#673ab71f}.location-card .groups-loc-item:hover{background:#673ab70d}.location-card .groups-loc-item.selected{background:#673ab71a;border-left-color:#673ab7b3}[data-theme=dark] .location-card{background:linear-gradient(145deg,#120e26eb,#0c0a1ce0);border:1px solid rgba(161,120,255,.18);box-shadow:0 1px 8px #00000073,inset 0 0 0 1px #a178ff0f;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}[data-theme=dark] .location-card:hover{border-color:#a178ff59;box-shadow:0 2px 14px #0000008c,0 0 10px #a178ff1a,inset 0 0 0 1px #a178ff1a}[data-theme=dark] .location-card .groups-loc-item{border-bottom-color:#a178ff1f}[data-theme=dark] .location-card .groups-loc-item:hover{background:#a178ff14}[data-theme=dark] .location-card .groups-loc-item.selected{background:#a178ff29;border-left-color:#a178ffb3}.group-tag{background:#e3f2fd;border:1px solid #90caf9;color:#1565c0;border-radius:4px;font-size:.75rem;padding:2px 8px;font-family:var(--ef-mono, monospace);font-weight:600}[data-theme=dark] .group-tag{background:#f4a93a14;border:1px solid rgba(244,169,58,.2);color:var(--neon-cyan);border-radius:4px;font-size:.75rem;padding:2px 8px;font-family:var(--ef-mono, monospace);transition:background .2s,border-color .2s}[data-theme=dark] .group-tag:hover{background:#f4a93a26;border-color:#f4a93a66}.dnd-drop-zone--active{border:2px dashed rgba(239,159,39,.35);background:#ef9f2708;border-radius:8px}[data-theme=dark] .dnd-drop-zone--active{border-color:#f4a93a73;background:#f4a93a0a}.user-card{background:#fff;border:1px solid rgba(239,159,39,.12);box-shadow:var(--lm-card-shadow);transition:box-shadow .2s ease,border-color .2s ease}.user-card:hover{border-color:#ef9f273d;box-shadow:var(--lm-card-shadow-hover)}[data-theme=dark] .user-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover)}.user-card--disabled{opacity:.55;border-color:#c6282833}[data-theme=dark] .user-card--disabled{opacity:.5;border-color:#ff4f6a33}.user-disabled-tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#c62828;border:1px solid rgba(198,40,40,.25);border-radius:3px;padding:1px 6px}[data-theme=dark] .user-disabled-tag{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--neon-red);border-color:#ff4f6a59}.user-last-login{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.75rem;color:#82a0c899}.audit-log-entry{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.8rem;border-bottom:1px solid rgba(0,0,0,.04)}.audit-ts{white-space:nowrap;font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);color:var(--primary);opacity:.55}.audit-actor{color:#e65100;font-weight:600}[data-theme=dark] .audit-log-entry{border-bottom:1px solid rgba(255,255,255,.03);color:#c8d7ebcc}[data-theme=dark] .audit-log-entry:hover{background:#f4a93a08}[data-theme=dark] .audit-ts{color:#f4a93a8c;opacity:1}[data-theme=dark] .audit-actor{color:var(--neon-amber);font-weight:400}.settings-tab-nav button{color:#546e7a;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease}.settings-tab-nav button:hover{color:var(--primary);border-bottom-color:#ef9f274d}.settings-tab-nav button.active,.settings-tab-nav button.settings-tab-btn--active{color:var(--primary);border-bottom:3px solid var(--primary);font-weight:600}[data-theme=dark] .settings-tab-nav button{color:#8caad2a6;border-bottom:3px solid transparent}[data-theme=dark] .settings-tab-nav button:hover{color:#c8e1ffd9;border-bottom-color:#f4a93a4d}[data-theme=dark] .settings-tab-nav button.active,[data-theme=dark] .settings-tab-nav button.settings-tab-btn--active{color:var(--neon-cyan);border-bottom-color:var(--neon-cyan);text-shadow:0 0 8px rgba(244,169,58,.3)}.settings-card{background:#fff;border:1px solid rgba(239,159,39,.1);box-shadow:var(--lm-card-shadow);transition:border-color .2s ease,box-shadow .2s ease}.settings-card:hover{border-color:#ef9f2733;box-shadow:var(--lm-card-shadow-hover)}.settings-card-header{border-left:3px solid var(--primary);padding-left:12px;background:#ef9f2708;border-bottom:1px solid rgba(239,159,39,.07)}[data-theme=dark] .settings-card{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}[data-theme=dark] .settings-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover)}[data-theme=dark] .settings-card-header{border-left:3px solid rgba(244,169,58,.5);padding-left:12px;background:#f4a93a0a;border-bottom:1px solid rgba(244,169,58,.08)}[data-theme=dark] input[type=checkbox]:checked+.toggle-track{background:var(--neon-green);box-shadow:0 0 8px #56e8a066}.backup-row{border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s ease,border-left .15s ease,padding-left .15s ease}.backup-row:hover{background:#ef9f2708;border-left:3px solid rgba(239,159,39,.25);padding-left:9px}.backup-filesize{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);color:#78909c;font-size:.8rem}.backup-age--fresh{color:#2e7d32;font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.78rem;font-weight:600}.backup-age--stale{color:#e65100;font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.78rem;font-weight:600}.backup-age--old{color:#c62828;font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);font-size:.78rem;font-weight:600}.backup-row--verified{border-left:3px solid #2e7d32}[data-theme=dark] .backup-row{border-bottom:1px solid rgba(244,169,58,.06);transition:background .15s ease}[data-theme=dark] .backup-row:hover{background:#f4a93a0a;border-left:3px solid rgba(244,169,58,.3);padding-left:9px}[data-theme=dark] .backup-filesize{font-family:var(--ef-mono, "JetBrains Mono", "Fira Mono", monospace);color:#82a0c899;font-size:.8rem}[data-theme=dark] .backup-age--fresh{color:var(--neon-green);font-family:var(--ef-mono, monospace);font-size:.78rem}[data-theme=dark] .backup-age--stale{color:var(--neon-amber);font-family:var(--ef-mono, monospace);font-size:.78rem}[data-theme=dark] .backup-age--old{color:var(--neon-red);font-family:var(--ef-mono, monospace);font-size:.78rem}[data-theme=dark] .backup-row--verified{border-left:3px solid var(--neon-green);box-shadow:inset 0 0 12px #56e8a00d}.batch-mode-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.batch-mode-badge--time{background:#1d77c81f;color:#1d77c8}.batch-mode-badge--trigger{background:#823cb41f;color:#7a38b8}.batch-mode-badge--on_change{background:#d278001f;color:#d07800}.batch-mode-badge--positive_edge{background:#1ea0501f;color:#1ea050}[data-theme=dark] .batch-mode-badge--time{background:#f4a93a1f;color:#f4a93a}[data-theme=dark] .batch-mode-badge--trigger{background:#c88cff1f;color:#c88cff}[data-theme=dark] .batch-mode-badge--on_change{background:#ffb3471f;color:#ffb347}[data-theme=dark] .batch-mode-badge--positive_edge{background:#56e8a01f;color:#56e8a0}.bcm-sub-section{margin-top:10px;padding:12px 14px;border-left:3px solid var(--gray-light,#e0e4ea);border-radius:0 6px 6px 0;background:var(--surface-soft, rgba(0,0,0,.02))}[data-theme=dark] .bcm-sub-section{border-left-color:#ffffff1a;background:#ffffff08}.bcm-schedule-row{display:flex;align-items:flex-end;gap:12px;margin-top:8px;flex-wrap:wrap}.bcm-schedule-field{display:flex;flex-direction:column;gap:4px}.bcm-schedule-field label{font-size:var(--text-xs);color:var(--gray, #888);font-weight:500}.bcm-schedule-field select{min-width:110px}.bcm-schedule-hint{font-size:var(--text-xs);color:var(--gray, #888);margin-top:6px;font-style:italic}[data-theme=dark] .bcm-schedule-hint{color:#e8eef780}.form-radio-group--sub{margin-bottom:8px}.form-label-optional{font-weight:400;font-size:.78rem;color:var(--gray,#888)}.node-batch-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;cursor:pointer;font-size:.72rem;color:#5a7090;transition:color .15s,background .15s;vertical-align:middle;border:none;padding:0;background:none}.node-batch-badge:hover{background:#f4a93a1a;color:#f4a93a}[data-theme=dark] .node-batch-badge{color:#f4a93a}.form-section-title{margin:0 0 12px;font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--primary)}[data-theme=dark] .form-section-title{color:#f4a93a}.form-hint{display:block;font-size:var(--text-xs);color:var(--text-muted, #888);margin-top:5px}.form-group--inline{display:flex;align-items:center;gap:8px}.form-group--inline .form-label{margin:0}.form-section .form-radio-label{color:var(--primary-dark, #1e2a35)}.form-control--narrow{max-width:140px}.is-invalid{border-color:#e53935!important}.invalid-feedback{display:block;font-size:var(--text-xs);color:#e53935;margin-top:4px}[data-theme=dark] .is-invalid{border-color:#ef5350!important}[data-theme=dark] .invalid-feedback{color:#ef9a9a}.batch-node-selector{display:flex;flex-direction:column}.batch-node-filter-row{display:flex;gap:8px;align-items:flex-start}.batch-node-search{flex:1;min-width:0}.batch-node-group-select{flex-shrink:0;width:150px;font-size:var(--text-sm)}.batch-node-list{border:1px solid var(--border, #ddd);border-radius:var(--border-radius-sm);max-height:220px;overflow-y:auto;margin-top:8px;background:var(--surface, #fff)}.batch-node-row{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;transition:background .1s;font-size:var(--text-sm);border-bottom:1px solid var(--border-light, #eee)}.batch-node-row:last-child{border-bottom:none}.batch-node-row:hover{background:var(--primary-lightest, #e3f2fd)}.batch-node-row--selected{background:#1d77c814}.batch-node-row--selected .batch-node-check{color:var(--primary, #1976d2)}.batch-node-check{flex-shrink:0;width:18px;text-align:center;color:var(--gray, #bbb);font-size:.9rem}.batch-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-node-server{color:var(--text-muted, #888);font-size:var(--text-xs)}.batch-node-sep{color:var(--gray, #bbb);font-size:var(--text-xs)}.batch-node-group{color:var(--text-muted, #888);font-size:var(--text-xs);font-style:italic}.batch-node-name{font-weight:500;color:var(--text-main, #333)}.batch-node-trigger-label{font-size:var(--text-xs);color:var(--primary, #1976d2);font-style:italic;margin-left:4px}.batch-node-type{flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #666);background:var(--gray-light, #f5f5f5);border-radius:3px;padding:1px 5px}.batch-node-value{flex-shrink:0;font-size:var(--text-xs);color:var(--text-muted, #888);min-width:60px;text-align:right}.batch-node-footer{font-size:var(--text-xs);color:var(--text-muted, #888);padding:6px 2px 0}.batch-trigger-dropdown{background:#fff;border:1px solid var(--border, #ddd);border-radius:var(--border-radius-sm);max-height:200px;overflow-y:auto;margin-top:4px;box-shadow:0 4px 16px #0000001a;position:relative;z-index:200}.batch-trigger-option{padding:8px 12px;cursor:pointer;font-size:var(--text-sm);color:var(--text-main, #333);border-bottom:1px solid var(--border-light, #eee);transition:background .1s}.batch-trigger-option:last-child{border-bottom:none}.batch-trigger-option:hover{background:var(--primary-lightest, #e3f2fd)}.batch-trigger-option--selected{background:#1d77c81a;font-weight:500;color:var(--primary, #1976d2)}.batch-trigger-no-results{padding:10px 12px;font-size:var(--text-sm);color:var(--text-muted, #888);font-style:italic;text-align:center}[data-theme=dark] .batch-node-list{border-color:#ffffff1a;background:#0a0e1499}[data-theme=dark] .batch-node-row{border-bottom-color:#ffffff12}[data-theme=dark] .batch-node-row:hover{background:#f4a93a12}[data-theme=dark] .batch-node-row--selected{background:#f4a93a1a}[data-theme=dark] .batch-node-row--selected .batch-node-check{color:#f4a93a}[data-theme=dark] .batch-node-check{color:#e8eef766}[data-theme=dark] .batch-node-server{color:#e8eef780}[data-theme=dark] .batch-node-sep{color:#e8eef747}[data-theme=dark] .batch-node-group{color:#e8eef773}[data-theme=dark] .batch-node-name{color:#e8eef7d1}[data-theme=dark] .batch-node-trigger-label{color:#f4a93a}[data-theme=dark] .batch-node-type{background:#ffffff12;color:#e8eef78c}[data-theme=dark] .batch-node-value{color:#e8eef78c}[data-theme=dark] .batch-node-footer{color:#e8eef773}[data-theme=dark] .batch-trigger-dropdown{background:#0f141c;border-color:#ffffff1a;box-shadow:0 4px 24px #0000008c}[data-theme=dark] .batch-trigger-option{color:#e8eef7d1;border-bottom-color:#ffffff12}[data-theme=dark] .batch-trigger-option:hover{background:#f4a93a14}[data-theme=dark] .batch-trigger-option--selected{background:#f4a93a1f;color:#f4a93a}[data-theme=dark] .batch-trigger-no-results{color:#e8eef773}.node-address-display{background:#f5f6fa;color:var(--gray);cursor:default;-webkit-user-select:all;user-select:all}[data-theme=dark] .node-address-display{background:#0a0e1499!important;color:#e8eef773!important}.batch-log-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding-top:4px}.batch-config-card{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .15s}.batch-config-card:hover{transform:translateY(-2px)}.batch-config-card--time{border-left:3px solid #1d77c8}.batch-config-card--on_change{border-left:3px solid #d07800}.batch-config-card--positive_edge{border-left:3px solid #1ea050}.batch-config-card--disabled{opacity:.62}[data-theme=dark] .batch-config-card--time{border-left-color:var(--neon-cyan, #f4a93a)}[data-theme=dark] .batch-config-card--on_change{border-left-color:var(--neon-amber, #ffb347)}[data-theme=dark] .batch-config-card--positive_edge{border-left-color:var(--neon-green, #56e8a0)}.batch-config-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 10px}.batch-config-card-title{display:flex;align-items:center;gap:8px;min-width:0}.batch-config-card-name{margin:0;font-size:var(--text-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dark, #1e2a35)}[data-theme=dark] .batch-config-card-name{color:#e8eef7eb}.batch-config-card-body{flex:1;padding:4px 16px 10px;display:flex;flex-direction:column;gap:6px}.batch-config-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-sm);min-height:24px}.batch-config-card-label{color:var(--gray, #888);font-size:var(--text-xs);display:flex;align-items:center;gap:5px;flex-shrink:0}.batch-config-card-value{font-size:var(--text-sm);text-align:right;word-break:break-word}.batch-config-card-muted{color:var(--gray, #888);font-style:normal}.batch-config-card-footer{display:flex;align-items:stretch;gap:4px;padding:8px 12px;border-top:1px solid var(--border, #e0e6ef)}[data-theme=dark] .batch-config-card-footer{border-top-color:#ffffff12}.batch-config-card-btn{flex:1;justify-content:center}.batch-config-card-btn--icon{flex:0 0 auto;min-width:36px;padding-left:10px;padding-right:10px}.batch-config-card-btn--danger{color:#c0392b}.batch-config-card-btn--danger:hover{background:#c0392b1a;color:#c0392b}[data-theme=dark] .batch-config-card-btn--danger{color:#ff6b6b}[data-theme=dark] .batch-config-card-btn--danger:hover{background:#ff6b6b1f;color:#ff6b6b}.batch-trigger-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:#1d77c826;color:#1d77c8;font-size:.68rem;font-weight:700;margin-right:5px;flex-shrink:0}[data-theme=dark] .batch-trigger-badge{background:#f4a93a26;color:#f4a93a}.batch-data-topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.batch-data-topbar .form-control,.batch-logging-page .content-subheader .form-control{height:30px;padding-top:4px;padding-bottom:4px;font-size:.75rem}.batch-data-config-label{white-space:nowrap;font-weight:500;font-size:var(--text-sm)}.batch-data-layout{display:block}.batch-data-events{min-width:0}.batch-data-events-table tbody tr{cursor:pointer}.batch-data-event-row:hover{background:var(--primary-lightest, #e3f2fd)}[data-theme=dark] .batch-data-event-row:hover{background:#f4a93a12}.batch-data-batch-num{color:var(--gray, #888)}.batch-data-view-btn-cell{text-align:right;white-space:nowrap}.batch-data-modal-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.batch-data-detail-id{font-size:var(--text-base);font-weight:600;color:var(--dark, #1e2a35)}[data-theme=dark] .batch-data-detail-id{color:#e8eef7d1}.batch-data-modal-time{font-size:var(--text-xs);color:var(--gray, #888);margin-left:auto}.batch-data-modal-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end}[data-theme=dark] .batch-data-modal-footer{border-top-color:#ffffff14}.batch-data-values-table{font-size:var(--text-sm)}.batch-data-values-loading,.batch-data-values-error,.batch-data-values-empty{font-size:var(--text-sm);color:var(--gray, #888);padding:16px 0;text-align:center}.batch-viewer-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#f6f8fa}.batch-viewer-header{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #dde1e8;flex-shrink:0}.batch-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid #dde1e8;flex-shrink:0;flex-wrap:wrap}.batch-viewer-chart-area{flex:1;min-height:0;padding:16px}.batch-viewer-back-btn{font-size:.85rem;color:var(--text-muted);text-decoration:none;display:flex;align-items:center;gap:6px}.batch-viewer-config-label{font-weight:600;font-size:1rem}.batch-viewer-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:12px}.batch-viewer-cutoff-note{font-size:.78rem;color:var(--text-muted);text-align:center;margin-top:4px}.batch-open-chart-btn{white-space:nowrap}[data-theme=dark] .batch-viewer-page{background:#0b0f18}[data-theme=dark] .batch-viewer-header,[data-theme=dark] .batch-viewer-toolbar{border-color:#ffffff14}[data-theme=dark] .batch-viewer-config-label{color:#e8eaf0}.batch-analysis-wrap{display:flex;flex-direction:column;gap:24px;padding:8px 0}.batch-analysis-section{border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#fff;box-shadow:0 1px 4px #0000000f;overflow:hidden}.batch-analysis-section summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;font-weight:600;font-size:.95rem;list-style:none;-webkit-user-select:none;user-select:none;background:#f8f9fc;border-bottom:1px solid rgba(0,0,0,.07)}.batch-analysis-section summary::-webkit-details-marker{display:none}.batch-analysis-section-body{padding:18px}.batch-analysis-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.batch-analysis-section-count{font-size:.82rem;color:#6b7280;margin-left:auto}.batch-analysis-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.batch-analysis-summary .summary-item{display:flex;flex-direction:column;font-size:.82rem;color:#6b7280}.batch-analysis-summary .summary-item strong{font-size:1.1rem;font-weight:700;color:#1e2535;font-family:var(--ef-mono, monospace)}.batch-stat-table{width:100%;border-collapse:collapse;font-size:.85rem}.batch-stat-table th{text-align:left;padding:6px 10px;font-weight:600;color:#6b7280;border-bottom:2px solid rgba(0,0,0,.08);white-space:nowrap;cursor:pointer}.batch-stat-table th:hover{color:#1e2535}.batch-stat-table td{padding:6px 10px;border-bottom:1px solid rgba(0,0,0,.05);font-family:var(--ef-mono, monospace)}.batch-stat-table td:first-child{font-family:inherit;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-stat-range-bar{position:relative;width:100px;height:8px;background:#00000014;border-radius:4px;overflow:hidden}.batch-stat-range-fill{position:absolute;top:0;height:100%;background:#3b82f6;border-radius:4px;min-width:3px}.batch-compare-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.batch-compare-event-chip{padding:4px 10px;border-radius:14px;border:1px solid rgba(0,0,0,.15);background:#f3f4f6;font-size:.8rem;cursor:pointer;font-family:var(--ef-mono, monospace);transition:background .15s,border-color .15s;white-space:nowrap}.batch-compare-event-chip:hover{background:#e5e7eb}.batch-compare-event-chip--selected{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.batch-compare-chart{width:100%;height:340px}.batch-compare-table{width:100%;border-collapse:collapse;font-size:.85rem}.batch-compare-table th{padding:6px 10px;text-align:right;font-weight:600;color:#6b7280;border-bottom:2px solid rgba(0,0,0,.08);white-space:nowrap}.batch-compare-table th:first-child{text-align:left}.batch-compare-table td{padding:5px 10px;border-bottom:1px solid rgba(0,0,0,.05);text-align:right;font-family:var(--ef-mono, monospace)}.batch-compare-table td:first-child{text-align:left;font-family:inherit}.batch-delta-pos{color:#16a34a}.batch-delta-neg{color:#dc2626}.batch-trend-chart{width:100%;height:320px}.batch-trend-node-select{max-width:320px;padding:6px 10px;border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:.88rem;background:#fff;margin-bottom:14px}[data-theme=dark] .batch-analysis-section{background:#ffffff08;border-color:#ffffff14;box-shadow:none}[data-theme=dark] .batch-analysis-section summary{background:#ffffff0a;border-bottom-color:#ffffff14;color:#e8eaf0}[data-theme=dark] .batch-analysis-section-count{color:#b4c8e68c}[data-theme=dark] .batch-analysis-summary .summary-item{color:#b4c8e6a6}[data-theme=dark] .batch-analysis-summary .summary-item strong{color:var(--neon-cyan);text-shadow:0 0 8px rgba(244,169,58,.3)}[data-theme=dark] .batch-stat-table th{color:#b4c8e699;border-bottom-color:#ffffff1a}[data-theme=dark] .batch-stat-table th:hover{color:#e8eaf0}[data-theme=dark] .batch-stat-table td{color:#c8dcffd9;border-bottom-color:#ffffff0d}[data-theme=dark] .batch-stat-table td:first-child{color:#e8eaf0}[data-theme=dark] .batch-stat-range-bar{background:#ffffff14}[data-theme=dark] .batch-stat-range-fill{background:#f4a93a}[data-theme=dark] .batch-compare-event-chip{background:#ffffff0f;border-color:#ffffff1f;color:#e8eaf0}[data-theme=dark] .batch-compare-event-chip:hover{background:#ffffff1a}[data-theme=dark] .batch-compare-event-chip--selected{background:#f4a93a1f;border-color:#f4a93a80;color:#f4a93a}[data-theme=dark] .batch-compare-table th{color:#b4c8e699;border-bottom-color:#ffffff1a}[data-theme=dark] .batch-compare-table td{color:#c8dcffd9;border-bottom-color:#ffffff0d}[data-theme=dark] .batch-compare-table td:first-child{color:#e8eaf0}[data-theme=dark] .batch-delta-pos{color:#4ade80}[data-theme=dark] .batch-delta-neg{color:#f87171}[data-theme=dark] .batch-trend-node-select{background:#ffffff0f;border-color:#ffffff1f;color:#e8eaf0}.machine-template-table{width:100%;border-collapse:collapse}.machine-template-table th,.machine-template-table td{padding:.6rem .8rem;text-align:left}.machine-template-table .template-slot-count,.machine-template-table .template-config-count{font-family:var(--ef-mono, monospace)}.template-config-count--active{color:var(--success)}.slot-editor-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.4rem}.slot-editor-row__label{flex:2}.slot-editor-row__unit{flex:1}.slot-editor-row__remove{flex:0}[data-theme=dark] .machine-template-table th{color:var(--neon-cyan)}[data-theme=dark] .template-config-count--active{color:var(--neon-green)}.slot-mapping-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.slot-mapping-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.slot-mapping-row__label{min-width:140px;font-size:.85rem;color:var(--text-muted)}.slot-mapping-row__select{flex:1}.slot-mapping-hint{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}[data-theme=dark] .slot-mapping-row__label{color:var(--neon-cyan);opacity:.75}.template-comparison-pairs-list{display:flex;flex-direction:column;gap:.5rem}.template-comparison-pair-row{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px}.template-comparison-pair-row__body{flex:1;display:flex;flex-direction:column;gap:.4rem}.template-comparison-pair-row__field{display:flex;align-items:center;gap:.5rem}.template-comparison-pair-row__field .form-control{flex:1}.template-comparison-config-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.template-comparison-config-row__label{font-size:.8rem;color:var(--text-muted);min-width:48px}.batch-missing-slots-warning{color:var(--warning);font-size:.85rem;padding:.5rem .75rem;border-left:3px solid var(--warning);margin:.5rem 0;background:#ffb34714;border-radius:0 4px 4px 0}[data-theme=dark] .batch-missing-slots-warning{color:var(--neon-amber);border-color:var(--neon-amber);background:#ffb34712}[data-theme=dark] .template-comparison-config-row__label{color:var(--neon-cyan);opacity:.75}[data-theme=dark] .template-comparison-pair-row{border-color:#ffffff1a}@keyframes ef-pgf-dot{0%{left:-8px;opacity:0}6%{opacity:1}94%{opacity:1}to{left:calc(100% + 8px);opacity:0}}@keyframes ef-pgf-ring{0%{box-shadow:0 0 #f4a93a99}70%{box-shadow:0 0 0 8px #f4a93a00}to{box-shadow:0 0 #f4a93a00}}@keyframes ef-pgf-value-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pgf-root{display:flex;flex-direction:column;gap:1.25rem}.pgf-hero{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border-radius:12px;background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid rgba(37,99,235,.15);position:relative;overflow:hidden}.pgf-hero-header{display:flex;align-items:center;justify-content:space-between}.pgf-hero-title{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--lm-accent, #2563eb);opacity:.8}.pgf-hero-status{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-family:var(--ef-mono, monospace)}.pgf-sources{display:flex;flex-wrap:wrap;gap:.5rem}.pgf-source-chip{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.04em;border:1px solid transparent;transition:box-shadow .3s ease}.pgf-source-chip--connected{border-color:#2563eb4d;box-shadow:none}.pgf-source-chip--warn{border-color:#ffb74d66;box-shadow:0 0 8px #ffb74d33}.pgf-source-chip--error{border-color:#ff525266;box-shadow:0 0 8px #ff525233}.pgf-source-chip--none{border-color:#ffffff14;opacity:.45}.pgf-source-count{font-family:var(--ef-mono, monospace);font-size:.68rem;opacity:.75}.pgf-track-wrapper{position:relative;display:flex;align-items:center;height:52px;margin:.25rem 0}.pgf-track-line{position:relative;flex:1;height:2px;background:linear-gradient(90deg,#2563eb0a,#2563eb33);overflow:visible;border-radius:1px}.pgf-particle{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#2563eb;box-shadow:0 0 6px #2563eb99;animation:ef-pgf-dot var(--pgf-speed, 2.4s) linear infinite}.pgf-particle:nth-child(2){animation-delay:calc(var(--pgf-speed, 2.4s) / 3)}.pgf-particle:nth-child(3){animation-delay:calc(var(--pgf-speed, 2.4s) * 2 / 3)}.pgf-track-line--idle .pgf-particle{background:#2563eb40;box-shadow:none}.pgf-stages{display:flex;align-items:flex-start;gap:0;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:20px;pointer-events:none}.pgf-stage-node{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:1}.pgf-stage-node__dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--lm-accent, #2563eb);background:#fff;box-shadow:none;transition:box-shadow .3s ease}.pgf-stage-node__dot--active{animation:ef-pgf-ring 1.8s ease-out infinite}.pgf-stage-node__dot--warn{border-color:var(--neon-amber, #ffb74d);box-shadow:0 0 6px #ffb74d80}.pgf-stage-node__dot--error{border-color:var(--neon-red, #ff5252);box-shadow:0 0 6px #ff525280}.pgf-stage-node__dot--influx{border-color:var(--neon-green, #69ff47);box-shadow:0 0 6px #69ff4780}.pgf-stage-node__label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6;white-space:nowrap}.pgf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.875rem}.pgf-tile{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;border-radius:10px;background:#fff;border:1px solid rgba(37,99,235,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .25s ease,box-shadow .25s ease}.pgf-tile:hover{border-color:var(--glass-border-hover, rgba(244,169,58,.28));box-shadow:var(--glass-shadow-hover, 0 4px 24px rgba(244,169,58,.12))}.pgf-tile__label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lm-accent, #2563eb);opacity:.7}.pgf-tile__value{font-size:2rem;font-family:var(--ef-mono, monospace);font-weight:700;line-height:1;color:#0f172a;animation:ef-pgf-value-in .3s ease;text-shadow:none}.pgf-tile__value--warn{text-shadow:var(--glow-amber, 0 0 12px rgba(255,183,77,.6));color:var(--neon-amber, #ffb74d)}.pgf-tile__value--error{text-shadow:var(--glow-red, 0 0 12px rgba(255,82,82,.6));color:var(--neon-red, #ff5252)}.pgf-tile__value--ok{text-shadow:var(--glow-green, 0 0 12px rgba(105,255,71,.6));color:var(--neon-green, #69ff47)}.pgf-tile__unit{font-size:.85rem;opacity:.55;font-weight:400;margin-left:.2rem}.pgf-tile__sub{font-size:.72rem;opacity:.55}.pgf-tile__bar{height:4px;border-radius:2px;background:#2563eb1a;overflow:hidden}.pgf-tile__bar-fill{height:100%;border-radius:2px;background:var(--lm-accent, #2563eb);box-shadow:none;transition:width .6s cubic-bezier(.4,0,.2,1)}.pgf-tile__bar-fill--warn{background:var(--neon-amber, #ffb74d);box-shadow:0 0 6px #ffb74d80}.pgf-tile__bar-fill--error{background:var(--neon-red, #ff5252);box-shadow:0 0 6px #ff525280}.pgf-sparkline{width:100%;height:20px;display:block;overflow:visible}.pgf-sparkline__line{fill:none;stroke:var(--lm-accent, #2563eb);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;opacity:.7}.pgf-tile__queue-row{display:flex;align-items:center;gap:.75rem}.pgf-tile__queue-info{display:flex;flex-direction:column;gap:.25rem}.pgf-ring{flex-shrink:0;overflow:visible}.pgf-ring__bg{stroke:#2563eb1f}.pgf-ring__fill{stroke:var(--lm-accent, #2563eb);transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1)}.pgf-ring__fill--warn{stroke:var(--neon-amber, #ffb74d)}.pgf-protocols{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.pgf-proto-card{padding:.875rem 1rem;border-radius:8px;background:#fff;border:1px solid rgba(255,255,255,.07);transition:border-color .25s ease}.pgf-proto-card--connected{border-color:#2563eb33}.pgf-proto-card--warn{border-color:#ffb74d40}.pgf-proto-card--error{border-color:#ff525240}.pgf-proto-card__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.pgf-proto-card__counts{display:flex;flex-direction:column;gap:.25rem}.pgf-proto-card__row{display:flex;justify-content:space-between;font-size:.75rem}.pgf-proto-card__row-label{opacity:.55}.pgf-proto-card__row-val{font-family:var(--ef-mono, monospace);font-weight:600}.pgf-proto-card__name{flex:1;font-size:.72rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgf-advanced-details{border:1px solid rgba(255,255,255,.07);border-radius:8px;overflow:hidden}.pgf-advanced-summary{padding:.6rem 1rem;cursor:pointer;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;opacity:.55;-webkit-user-select:none;user-select:none}.pgf-advanced-summary:hover{opacity:.8}.pgf-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem;padding:.75rem 1rem}.pgf-advanced-row{display:flex;justify-content:space-between;font-size:.78rem}.pgf-advanced-label{opacity:.55}.pgf-advanced-val{font-weight:600}.pgf-advanced-val--warn{color:var(--neon-amber, #ffb74d)}[data-theme=dark] .pgf-hero{background:linear-gradient(135deg,#0d0f12e6,#081018f2);border-color:#f4a93a2e}[data-theme=dark] .pgf-hero-title{color:var(--neon-cyan, #f4a93a)}[data-theme=dark] .pgf-track-line{background:linear-gradient(90deg,#f4a93a0a,#f4a93a8c)}[data-theme=dark] .pgf-particle{background:#f4a93a;box-shadow:0 0 6px #f4a93a,0 0 14px #f4a93a80}[data-theme=dark] .pgf-tile{background:var(--glass-bg);border-color:var(--glass-border)}[data-theme=dark] .pgf-tile__label{color:var(--neon-cyan, #f4a93a)}[data-theme=dark] .pgf-tile__value{color:#fff;text-shadow:var(--glow-cyan)}[data-theme=dark] .pgf-tile__bar{background:#ffffff0f}[data-theme=dark] .pgf-tile__bar-fill{background:#f4a93a;box-shadow:0 0 6px #f4a93a80}[data-theme=dark] .pgf-sparkline__line{stroke:#f4a93a;opacity:1;filter:drop-shadow(0 0 3px rgba(244,169,58,.55))}[data-theme=dark] .pgf-ring__bg{stroke:#ffffff0f}[data-theme=dark] .pgf-ring__fill{stroke:#f4a93a;filter:drop-shadow(0 0 4px rgba(244,169,58,.5))}[data-theme=dark] .pgf-ring__fill--warn{stroke:var(--neon-amber, #ffb74d);filter:drop-shadow(0 0 4px rgba(255,183,77,.5))}[data-theme=dark] .pgf-proto-card{background:var(--glass-bg)}[data-theme=dark] .pgf-proto-card__name{color:#e2e8f0}[data-theme=dark] .pgf-stage-node__dot{background:#0d0f12}[data-theme=dark] .pgf-source-chip--connected{border-color:#f4a93a59;box-shadow:0 0 8px #f4a93a33}[data-theme=dark] .pgf-advanced-details{border-color:#f4a93a14}[data-theme=dark] .pgf-advanced-val--warn{color:var(--neon-amber, #ffb74d)}
