@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-base:#f8fafc;--bg-sidebar:#fff;--bg-sidebar-hover:#f1f5f9;--bg-card:#fff;--bg-card-subtle:#f8fafc;--bg-input:#fff;--border:#e2e8f0;--border-subtle:#f1f5f9;--border-focus:#10b981;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--sidebar-text:#475569;--sidebar-text-active:#047857;--sidebar-bg-active:#ecfdf5;--brand:#10b981;--brand-dark:#059669;--brand-light:#34d399;--brand-dim:#ecfdf5;--brand-border:#a7f3d0;--brand-text:#065f46;--success:#10b981;--success-dark:#059669;--success-dim:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--warning:#f59e0b;--warning-dim:#fffbeb;--warning-border:#fde68a;--warning-text:#92400e;--danger:#ef4444;--danger-dim:#fef2f2;--danger-border:#fecaca;--danger-text:#991b1b;--info:#3b82f6;--info-dim:#eff6ff;--info-border:#bfdbfe;--info-text:#1e40af;--purple:#6366f1;--purple-dim:#eef2ff;--purple-border:#c7d2fe;--purple-text:#4338ca;--shadow-sm:0 1px 2px 0 #0000000a;--shadow:0 1px 3px 0 #0000000d, 0 1px 2px 0 #00000008;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -1px #00000008;--radius-sm:6px;--radius:8px;--radius-lg:12px;--sidebar-width:220px;--sidebar-width-collapsed:68px}html.dark{--bg-base:#0b0e1b;--bg-sidebar:#0f1326;--bg-sidebar-hover:#ffffff0d;--bg-card:#141a30;--bg-card-subtle:#1a213d;--bg-input:#1a213d;--border:#ffffff14;--border-subtle:#ffffff0a;--border-focus:#10b981;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--sidebar-text:#94a3b8;--sidebar-text-active:#34d399;--sidebar-bg-active:#10b98126;--brand-dim:#10b98126;--brand-border:#10b9814d;--success-dim:#10b98126;--success-border:#10b9814d;--success-text:#34d399;--warning-dim:#f59e0b26;--warning-border:#f59e0b4d;--warning-text:#fbbf24;--danger-dim:#ef444426;--danger-border:#ef44444d;--danger-text:#f87171;--info-dim:#3b82f626;--info-border:#3b82f64d;--info-text:#60a5fa;--shadow-sm:0 1px 2px 0 #0003;--shadow:0 2px 8px #0000004d;--shadow-md:0 6px 16px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:var(--bg-base);width:100%;height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}html.dark ::-webkit-scrollbar-thumb{background:#ffffff1f}.app-layout{background-color:var(--bg-base);flex-direction:row;width:100vw;max-width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.app-layout.is-sidebar-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);flex:0 0 var(--sidebar-width);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;z-index:20;flex-direction:column;flex-shrink:0;height:100vh;transition:width .2s,min-width .2s,max-width .2s,flex-basis .2s;display:flex;position:relative;overflow:hidden auto;background:var(--bg-sidebar)!important}.main-content{min-width:0;width:calc(100vw - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));background-color:var(--bg-base);z-index:1;flex-direction:column;flex:auto;height:100vh;transition:width .2s,max-width .2s;display:flex;position:relative;overflow:hidden auto}.sidebar-logo{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;min-height:64px;padding:14px 12px 12px;display:flex}.sidebar-brand{cursor:default;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.sidebar.is-collapsed .sidebar-brand{cursor:pointer;flex:0;justify-content:center;width:100%}.sidebar-logo-icon{color:#fff;background:#10b981;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 2px 8px #10b98140}.sidebar-logo-text{flex:1;min-width:0}.sidebar-logo-text h1{color:var(--text-primary);letter-spacing:.02em;font-size:15px;font-weight:700;line-height:1.1}.sidebar-logo-text span{color:var(--text-secondary);font-size:10.5px;font-weight:400}.sidebar-collapse-btn{border:1px solid var(--border);background:var(--bg-card-subtle,#f8fafc);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.sidebar-collapse-btn:hover{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.sidebar-collapse-btn.is-close-action{margin-left:auto}.sidebar.is-collapsed .sidebar-logo{flex-direction:column;justify-content:flex-start;align-items:center;gap:0;min-height:0;padding:14px 8px 10px}.sidebar.is-collapsed .sidebar-brand{border-radius:10px;padding:4px}.sidebar.is-collapsed .sidebar-brand:hover{background:var(--bg-sidebar-hover)}.sidebar.is-collapsed .nav-item{margin:2px 6px}.sidebar.is-collapsed .nav-link{justify-content:center;gap:0;padding:10px 0}.sidebar.is-collapsed .sidebar-footer{padding:10px 6px}.sidebar.is-collapsed .sidebar-user{justify-content:center;padding:6px 0}.sidebar.is-collapsed .dark-mode-toggle{flex-direction:column;justify-content:center;gap:8px;padding:8px 0}.sidebar.is-collapsed .dark-mode-toggle.is-collapsed{align-items:center}.nav-item-row{align-items:center;width:100%;display:flex;position:relative}.nav-chevron-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;right:4px}.sidebar-nav{flex:1;padding:12px 0}.sidebar-nav ul{list-style:none}.nav-item{margin:2px 10px}.nav-link{border-radius:var(--radius);color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{color:var(--text-primary);background:var(--bg-sidebar-hover)}.nav-link.active{color:var(--sidebar-text-active);background:var(--sidebar-bg-active);font-weight:600}.nav-link.active svg{color:#10b981}.nav-link svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.tool-badge{background:var(--bg-card-subtle);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;align-items:center;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}[data-theme=dark] .tool-badge,.dark .tool-badge{color:#f1f5f9!important;background:#1e293b!important;border-color:#334155!important}.nav-sub{border-left:1px solid var(--border);margin:3px 0 3px 18px;padding-left:10px}.nav-sub .nav-link{padding:6px 10px;font-size:12.5px}.nav-sub .nav-link.active{background:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:12px 14px}.sidebar-user{border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:6px 8px;transition:background .15s;display:flex}.sidebar-user:hover{background:var(--bg-sidebar-hover)}.user-avatar{width:32px;height:32px;color:var(--text-primary);background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.user-info .name{color:var(--text-primary);font-size:12.5px;font-weight:600}.user-info .role{color:var(--text-secondary);font-size:11px}.dark-mode-toggle{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:4px;padding:8px;font-size:12px;display:flex}.toggle-switch{cursor:pointer;background:#cbd5e1;border-radius:99px;width:36px;height:20px;transition:background .2s;position:relative}.toggle-switch.on{background:#10b981}.toggle-switch:after{content:"";background:var(--bg-card);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.on:after{transform:translate(16px)}.sidebar-version{color:var(--text-muted);padding:6px 8px 0;font-size:10px;line-height:1.3}.page-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;padding:20px 24px 12px;display:flex}.page-header-left h2{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.page-header-left p{color:var(--text-secondary);margin-top:2px;font-size:13px}.page-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.header-btn:hover{border-color:var(--brand)}.header-btn select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:12px;font-weight:500}.export-btn{border-radius:var(--radius);color:#fff;cursor:pointer;background:#059669;border:1px solid #059669;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #05966940}.export-btn:hover{background:#047857;transform:translateY(-1px)}.live-indicator{color:#065f46;border-radius:var(--radius);background:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.live-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulse;box-shadow:0 0 0 2px #10b9814d}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b98180}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.icon-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{color:var(--text-primary);border-color:var(--brand)}.page-body{flex:1;width:100%;min-width:0;padding:0 24px 24px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;padding:16px 18px;transition:all .15s;overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-title{color:var(--text-primary);font-size:14px;font-weight:600}.card-link{color:#10b981;cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.card-link:hover{color:#059669;text-decoration:underline}.kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;display:grid}.kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:100%;display:grid}.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;display:grid}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}@media (width<=900px){.kpi-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.kpi-grid-3{grid-template-columns:1fr}}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;min-width:0;padding:14px 14px 12px;transition:all .15s;display:flex;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.kpi-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.kpi-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.kpi-value{color:var(--text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.1}.kpi-delta{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;margin-top:4px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.kpi-delta.up{color:#10b981}.kpi-delta.down{color:#ef4444}.sparkline-container{width:100%;min-width:0;height:28px;margin-top:8px}.filters-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:12px 16px;display:flex}.filter-select{flex-direction:column;gap:3px;display:flex}.filter-select label{color:var(--text-secondary);font-size:11px;font-weight:500}.select-control{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;outline:none;min-width:100px;padding:6px 10px;font-family:inherit;font-size:12px}.select-control:focus{border-color:var(--border-focus)}.search-box{align-items:center;display:flex;position:relative}.search-box svg{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.search-box input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);outline:none;width:220px;padding:7px 10px 7px 32px;font-family:inherit;font-size:12.5px}.search-box input:focus{border-color:var(--border-focus)}.search-box input::placeholder{color:var(--text-muted)}.enterprise-filter-pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.enterprise-filter-pill:hover{background:var(--bg-card-subtle);border-color:#10b981}.enterprise-filter-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:12px;font-weight:600}.filter-action-btn{background:var(--bg-card);color:#059669;border-radius:var(--radius);cursor:pointer;border:1px solid #10b981;align-items:center;gap:5px;height:32px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.filter-action-btn:hover{background:#ecfdf5}.clear-filters-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;font-weight:500}.clear-filters-btn:hover{color:var(--danger)}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.card-title{color:var(--text-primary)!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;display:block!important}.card-subtitle{color:var(--text-muted)!important;margin-top:3px!important;font-size:11.5px!important;line-height:1.4!important;display:block!important}.table-wrapper{border-radius:var(--radius);width:100%;overflow-x:auto}.vithi-table{border-collapse:collapse;text-align:left;width:100%}.vithi-table th{color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-card-subtle);white-space:nowrap;padding:10px 14px;font-size:11.5px;font-weight:600}.vithi-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:12px 14px;font-size:12.5px}.vithi-table tr:hover td{background:#10b98105}.status-pill{border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:600;line-height:1.2;display:inline-flex}.status-pill.success,.status-pill.good,.status-pill.fresh,.status-pill.valid,.status-pill.healthy{background:var(--success-dim);color:var(--success-text);border:1px solid var(--success-border)}.status-pill.warning,.status-pill.delayed,.status-pill.invalid,.status-pill.degraded,.status-pill.warn{background:var(--warning-dim);color:var(--warning-text);border:1px solid var(--warning-border)}.status-pill.failed,.status-pill.critical,.status-pill.poor,.status-pill.stale,.status-pill.error{background:var(--danger-dim);color:var(--danger-text);border:1px solid var(--danger-border)}.status-pill.running,.status-pill.info,.status-pill.debug{background:var(--info-dim);color:var(--info-text);border:1px solid var(--info-border)}.progress-track{background:var(--bg-card-subtle);border-radius:99px;height:5px;margin-top:4px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width .6s}.progress-fill.green{background:#10b981}.progress-fill.orange{background:#f59e0b}.progress-fill.red{background:#ef4444}.progress-fill.blue{background:#3b82f6}.pagination-bar{border-top:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:8px;padding-top:14px;font-size:12px;display:flex}.pagination-pages{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--border);background:var(--bg-card);min-width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.pagination-btn:hover{border-color:var(--brand);color:var(--text-primary)}.pagination-btn.active{color:#fff;background:#10b981;border-color:#10b981;font-weight:600}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.tool-badge{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;display:grid}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;display:grid}.mt-4{margin-top:14px}.mt-6{margin-top:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s ease-out fadeIn}.export-btn,.primary-btn{border-radius:var(--radius-sm);cursor:pointer;background:#00966b;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000d;color:#fff!important}.export-btn:hover,.primary-btn:hover{background:#00875a}.export-btn svg,.primary-btn svg{color:#fff}.date-picker-popover{background:var(--bg-card);border:1px solid var(--border);z-index:9999;border-radius:12px;width:270px;padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px -4px #0000001f,0 4px 12px -2px #0000000f}.date-picker-popover-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.date-picker-popover-title{color:var(--text-primary);font-size:13px;font-weight:700}.date-picker-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:flex}.date-picker-close-btn:hover{color:var(--text-primary)}.preset-btn{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:flex}.preset-btn:hover{background:var(--bg-card-subtle)}.preset-btn.active{color:#059669;background:#ecfdf5;font-weight:600}.date-picker-divider{border-top:1px solid var(--border);margin:12px 0}.custom-range-label{color:var(--text-secondary);margin-bottom:8px;font-size:11.5px;font-weight:600;display:block}.custom-date-input{border:1px solid var(--border);background:var(--bg-main);width:100%;height:36px;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:0 10px;font-size:12px;transition:border-color .15s}.custom-date-input:focus{border-color:#059669;box-shadow:0 0 0 2px #05966926}.apply-date-btn{cursor:pointer;background:#00966b;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;height:38px;margin-top:8px;font-size:12.5px;font-weight:600;transition:background .15s;display:flex;color:#fff!important}.apply-date-btn:hover:not(:disabled){background:#00875a}.apply-date-btn:disabled{cursor:not-allowed;background:#a7f3d0;color:#fff!important}.modal-backdrop{animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;-webkit-backdrop-filter:blur(5px)!important;z-index:99999!important;background:#0f172aa6!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;padding:24px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.modal-content{animation:.2s cubic-bezier(.16,1,.3,1) modalScaleUp;background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:12px!important;width:100%!important;max-width:580px!important;max-height:88vh!important;padding:24px 28px!important;position:relative!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d!important}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.connector-connect-btn{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s ease-in-out;display:flex;box-shadow:0 2px 4px #10b98140;color:#fff!important;background:#10b981!important;border:1px solid #059669!important}.connector-connect-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #10b98159;background:#059669!important}.connector-connect-btn:active{transform:translateY(0)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin!important}.pipeline-catalog-list{flex-direction:column;gap:10px;padding:4px 2px 8px;display:flex}.pipeline-catalog-row{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);border-radius:10px;grid-template-columns:minmax(150px,1.15fr) minmax(180px,1.35fr) repeat(4,minmax(70px,.7fr));align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.pipeline-catalog-row:hover{background:#10b98108;border-color:#a7f3d0}.pipeline-catalog-row.is-selected{background:#10b9810f;border-color:#6ee7b7;box-shadow:0 0 0 1px #10b98126}.pipeline-catalog-name{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.pipeline-catalog-row.is-selected .pipeline-catalog-name{color:#047857}.pipeline-catalog-id{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.pipeline-catalog-flow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pipeline-flow-arrow{color:var(--text-muted);flex-shrink:0}.pipeline-catalog-meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:10px}.pipeline-catalog-meta-value{color:var(--text-primary);font-size:13px;font-weight:700}.pipeline-catalog-meta-sub{color:var(--text-muted);font-size:11px}.pipeline-activity{color:var(--text-secondary);font-size:12px;font-weight:600}.pipeline-activity.is-active{color:#059669}.pipeline-incident-flag{color:#b91c1c;margin-top:4px;font-size:11px;font-weight:600}.pipeline-focus-banner{background:var(--bg-card-subtle);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}@media (width<=1100px){.pipeline-catalog-row{grid-template-columns:1fr 1fr}}@media (width<=720px){.kpi-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-catalog-row{grid-template-columns:1fr}}.integration-topology{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.integration-topology-node{flex:200px;align-items:center;gap:8px;min-width:180px;display:flex}.integration-topology-arrow{color:var(--text-muted);flex-shrink:0;margin-right:4px}.integration-topology-card{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:10px;flex:1;min-height:110px;padding:12px 14px}.integration-topology-role{letter-spacing:.04em;text-transform:uppercase;color:#059669;margin-bottom:6px;font-size:10px;font-weight:700}.integration-topology-name{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:700}.integration-topology-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.integration-topology-asset{color:var(--text-secondary);font-size:11px;line-height:1.45}.integration-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:4px 2px 12px;display:grid}.integration-catalog-card{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:12px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.integration-catalog-card:hover{border-color:#a7f3d0;box-shadow:0 2px 8px #10b98114}.integration-catalog-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.integration-catalog-title{color:var(--text-primary);font-size:14px;font-weight:700}.integration-catalog-id{color:var(--text-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.integration-catalog-status{min-height:18px}.integration-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.integration-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.integration-tab:hover{background:var(--bg-card-subtle);color:var(--text-primary)}.integration-tab.is-active{color:#047857;background:#ecfdf5}.integration-tab-dot{background:0 0;border-radius:50%;width:7px;height:7px}.integration-tab.is-active .integration-tab-dot{background:#10b981}.integration-toolbar{flex-wrap:wrap;align-items:center;margin-bottom:18px!important}.integration-search{flex:280px;min-width:220px}.integration-category-pills{flex-wrap:wrap;gap:8px;display:flex}.integration-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s}.integration-pill:hover{color:#047857;border-color:#a7f3d0}.integration-pill.is-active{color:#fff;background:#059669;border-color:#059669}.integration-directory{flex-direction:column;gap:28px;display:flex}.integration-dir-toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:4px;display:flex}.integration-dir-search{width:100%;flex:none!important;min-height:0!important}.integration-dir-search input{width:100%!important}.integration-directory-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 18px 16px}.integration-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.integration-section-title-row{align-items:flex-start;gap:10px;display:flex}.integration-section-icon{background:#ecfdf5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.integration-section-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.integration-section-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12.5px}.integration-section-link{color:#059669;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:2px;padding:4px 0;font-size:12.5px;font-weight:600;display:inline-flex}.integration-section-link:hover{color:#047857;text-decoration:underline}.integration-marketplace-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.integration-market-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-height:190px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 2px #0f172a0a}.integration-market-card:hover{border-color:#a7f3d0;transform:translateY(-1px);box-shadow:0 8px 20px #10b98114}.integration-market-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.integration-market-logo{letter-spacing:-.02em;border:1px solid;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:12px;font-weight:800;display:flex}.integration-market-status{color:#059669;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.integration-market-status.is-soon{color:var(--text-muted)}.integration-market-status.is-connected{color:#047857}.integration-market-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.integration-market-title{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:700}.integration-market-desc{color:var(--text-secondary);flex:1;margin:0;font-size:12.5px;line-height:1.45}.integration-connect-btn{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;padding:10px 12px;font-size:13px;font-weight:650;transition:background .15s,transform .1s;display:inline-flex}.integration-connect-btn:hover:not(.is-disabled){background:#047857}.integration-connect-btn.is-disabled,.integration-connect-btn:disabled{color:#64748b;cursor:not-allowed;background:#e2e8f0}.integration-templates-note{background:var(--bg-card-subtle);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;margin-top:4px;padding:10px 12px;font-size:12px}@media (width<=1200px){.integration-marketplace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.integration-marketplace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.integration-marketplace-grid{grid-template-columns:1fr}}.integration-role-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;border-radius:6px;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.integration-role-badge.role-source{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.integration-role-badge.role-etl{color:#b45309;background:#fffbeb;border-color:#fde68a}.integration-role-badge.role-target{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.integration-role-badge.role-default{color:#475569;background:#f1f5f9}.integration-tool-name-cell{align-items:center;gap:10px;display:flex}.integration-schema-path{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;overflow:hidden}.integration-type-chip{border:1px solid;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.integration-binding-lines{color:var(--text-secondary);max-width:280px;font-size:11.5px;line-height:1.45}.integration-verify{align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.integration-verify.is-ok{color:#059669}.integration-verify.is-warn{color:#b45309}.integration-test-msg{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;margin-top:4px;font-size:11px;overflow:hidden}.integration-arch-flow{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.integration-arch-node{flex:220px;align-items:center;gap:10px;min-width:200px;display:flex}.integration-arch-arrow{color:#10b981;flex-shrink:0}.integration-arch-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex:1;min-height:130px;padding:14px}.integration-arch-card.is-source{background:linear-gradient(180deg, color-mix(in srgb, #10b981 12%, var(--bg-card)) 0%, var(--bg-card) 55%);border-color:color-mix(in srgb, #10b981 35%, var(--border))}.integration-arch-card.is-etl{background:linear-gradient(180deg, color-mix(in srgb, #f59e0b 12%, var(--bg-card)) 0%, var(--bg-card) 55%);border-color:color-mix(in srgb, #f59e0b 35%, var(--border))}.integration-arch-card.is-target{background:linear-gradient(180deg, color-mix(in srgb, #8b5cf6 12%, var(--bg-card)) 0%, var(--bg-card) 55%);border-color:color-mix(in srgb, #8b5cf6 35%, var(--border))}.integration-arch-name{color:var(--text-primary);margin-top:10px;font-size:14px;font-weight:700}.integration-arch-meta{color:var(--text-secondary);margin-top:8px;font-size:11.5px;line-height:1.4}.integration-arch-footer{color:var(--text-muted);margin-top:12px;font-size:11px}.integration-sync-console{color:#d1fae5;white-space:pre-wrap;word-break:break-word;background:#0b1220;border:1px solid #1e293b;border-radius:10px;min-height:160px;max-height:280px;margin:0 4px 12px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;overflow:auto}.integration-compose-flow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integration-compose-step{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:10px;flex:140px;padding:10px}.integration-compose-step.is-source{background:#f0fdf4;border-color:#a7f3d0}.integration-compose-step.is-etl{background:#fffbeb;border-color:#fde68a}.integration-compose-step.is-target{background:#f5f3ff;border-color:#ddd6fe}.integration-connected-table td{vertical-align:top}.integration-hero{background:radial-gradient(1200px 280px at 0 0,#10b98124,#0000 55%),linear-gradient(#ecfdf5 0%,#fff 48%);border:1px solid #a7f3d0;border-radius:16px;margin-bottom:20px;padding:20px 22px 22px;box-shadow:0 8px 28px #0f172a0a}.integration-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.integration-hero-kicker{letter-spacing:.08em;text-transform:uppercase;color:#059669;margin-bottom:4px;font-size:11px;font-weight:700}.integration-hero-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:780}.integration-hero-meta{color:var(--text-secondary);margin:6px 0 0;font-size:12.5px}.integration-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integration-hero-sync{color:#fff;cursor:pointer;background:#059669;border:1px solid #059669;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.integration-hero-sync:disabled{opacity:.55;cursor:not-allowed}.integration-hero-flow{gap:4px}.integration-hero-empty{text-align:center;color:var(--text-muted);background:#ffffffa6;border:1px dashed #a7f3d0;border-radius:12px;padding:28px 16px;font-size:13.5px}.integration-conn-section{margin-bottom:8px}.integration-conn-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.integration-conn-section-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:750}.integration-conn-section-sub{color:var(--text-muted);margin:4px 0 0;font-size:12px}.integration-conn-section-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integration-conn-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.integration-conn-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;flex-direction:column;gap:8px;min-height:168px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.integration-conn-card:hover{border-color:#a7f3d0;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a0f}.integration-conn-card.role-source{border-top:3px solid #10b981}.integration-conn-card.role-etl{border-top:3px solid #f59e0b}.integration-conn-card.role-target{border-top:3px solid #8b5cf6}.integration-conn-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.integration-conn-card-name{color:var(--text-primary);word-break:break-word;margin:0;font-size:14.5px;font-weight:750}.integration-conn-card-type{color:var(--text-secondary);font-size:12px;font-weight:600}.integration-conn-card-config{color:var(--text-muted);flex:1;margin:0;font-size:12px;line-height:1.45}.integration-conn-card-foot{border-top:1px solid var(--border-subtle,#f1f5f9);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}@media (width<=1100px){.integration-conn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.integration-conn-grid{grid-template-columns:1fr}.integration-hero{padding:16px}.integration-hero-title{font-size:18px}}.integration-tab{gap:8px}.obs-alert{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.obs-alert.is-ok{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.obs-alert.is-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.obs-alert.is-bad{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.obs-alert svg{flex-shrink:0;margin-top:1px}.obs-pillar-btn{text-align:left;cursor:pointer;border:1px solid var(--border);width:100%}.obs-pillar-detail{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;font-weight:600;display:flex}.obs-simple-empty{text-align:center;color:var(--text-muted);padding:28px 16px;font-size:13px}.obs-simple-meter{align-items:center;gap:8px;display:flex}.obs-simple-meter-track{background:#e2e8f0;border-radius:999px;flex:1;min-width:70px;height:6px;overflow:hidden}.obs-simple-meter-track>div{border-radius:999px;height:100%}.obs-simple-meter span{color:var(--text-secondary);min-width:34px;font-size:11px;font-weight:650}.obs-insight{border:1px solid var(--border);color:var(--text-secondary);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:12.5px;line-height:1.45;display:flex}.obs-insight svg{color:#64748b;flex-shrink:0;margin-top:2px}.obs-insight strong{color:var(--text-primary);margin-bottom:2px;font-size:12.5px;display:block}.vol-donut-wrap{align-items:center;gap:20px;min-height:220px;padding:8px 12px 16px;display:flex}.vol-donut-chart{flex-shrink:0;width:180px;height:180px;position:relative}.vol-donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vol-donut-center strong{color:var(--text-primary);font-size:15px;line-height:1.2}.vol-donut-center span{color:var(--text-muted);margin-top:2px;font-size:11px}.vol-donut-legend{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.vol-donut-legend-row{align-items:flex-start;gap:8px;display:flex}.vol-donut-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;margin-top:3px}.vol-donut-legend-text{flex-direction:column;gap:2px;min-width:0;display:flex}.vol-donut-legend-text strong{color:var(--text-primary);font-size:12.5px}.vol-donut-legend-text span{color:var(--text-muted);font-size:11.5px}.vol-table-footer{color:var(--text-muted);border-top:1px solid var(--border);padding:10px 14px 12px;font-size:12px}.vol-break-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 14px;display:flex}.vol-break-tab{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.vol-break-tab:hover{color:var(--text-primary)}.vol-break-tab.active{color:#2563eb;border-bottom-color:#2563eb}.vol-break-body{padding:18px 16px 16px}.vol-break-bar{background:#e2e8f0;border-radius:999px;width:100%;height:14px;margin-bottom:16px;display:flex;overflow:hidden}.vol-break-seg{min-width:0;height:100%}.vol-break-legend{flex-direction:column;gap:10px;display:flex}.vol-break-legend-row{grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12.5px;display:grid}.vol-break-legend-row strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.vol-break-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums}.vol-break-pct{color:var(--text-muted);text-align:right;min-width:40px;font-weight:650}.vol-link-btn{appearance:none;color:#2563eb;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:600}.vol-link-btn:hover{text-decoration:underline}.vol-trend-header{align-items:flex-start}.vol-trend-legend{color:var(--text-secondary);flex-wrap:wrap;gap:12px;padding-top:2px;font-size:12px;display:flex}.vol-trend-legend span{align-items:center;gap:6px;display:inline-flex}.vol-trend-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.vol-trend-tooltip{background:var(--bg-card);border:1px solid #e2e8f0;border-radius:8px;min-width:160px;padding:10px 12px;box-shadow:0 4px 12px #00000014}.vol-trend-tooltip-title{color:#64748b;margin-bottom:8px;font-size:12px;font-weight:650}.vol-trend-tooltip-row{color:var(--text-secondary);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;margin-bottom:4px;font-size:12.5px;display:grid}.vol-trend-tooltip-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.vol-trend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dq-results-table{table-layout:fixed;width:100%;min-width:960px}.dq-results-table th,.dq-results-table td{vertical-align:top;overflow:hidden}.dq-results-table th:first-child,.dq-results-table td:first-child{width:22%}.dq-results-table th:nth-child(2),.dq-results-table td:nth-child(2),.dq-results-table th:nth-child(3),.dq-results-table td:nth-child(3){width:12%}.dq-results-table th:nth-child(4),.dq-results-table td:nth-child(4){width:10%}.dq-results-table th:nth-child(5),.dq-results-table td:nth-child(5){width:26%}.dq-results-table th:nth-child(6),.dq-results-table td:nth-child(6){width:10%}.dq-results-table th:nth-child(7),.dq-results-table td:nth-child(7){width:8%}.dq-check-cell{color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;white-space:normal;font-size:12.5px;font-weight:650;line-height:1.35}.dq-check-cell .dq-check-name{overflow-wrap:anywhere;word-break:break-word;display:block}.dq-pipe-cell,.dq-source-cell{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.dq-message-cell{overflow-wrap:anywhere;word-break:break-word}.dq-message-plain{color:var(--text-primary);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:12.5px;line-height:1.4}.dq-message-raw{color:var(--text-muted);white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin-top:4px;font-size:11px;line-height:1.35}.dq-results-table .tag{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%;line-height:1.3;display:inline-block}.dq-easy-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dq-easy-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:14px 16px}.dq-easy-card.tone-warn{background:linear-gradient(#fffbeb 0%,#fff 55%);border-color:#fde68a}.dq-easy-card.tone-crit{background:linear-gradient(#fef2f2 0%,#fff 55%);border-color:#fecaca}.dq-easy-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dq-easy-when{color:var(--text-muted);font-size:11.5px}.dq-easy-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:750}.dq-easy-meaning{color:var(--text-secondary);margin:4px 0 8px;font-size:12.5px;font-weight:650}.dq-easy-why{color:var(--text-primary);margin:0 0 10px;font-size:13px;line-height:1.45}.dq-easy-meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:11.5px;display:flex}.dq-easy-meta span{background:var(--bg-card-subtle);border:1px solid var(--border);border-radius:999px;padding:3px 8px}.dq-easy-empty{color:var(--text-secondary);align-items:flex-start;gap:12px;padding:20px 8px 12px;display:flex}.dq-easy-empty strong{color:var(--text-primary);margin-bottom:2px;display:block}.dq-easy-empty span{font-size:13px}.dq-ok-list{flex-direction:column;gap:8px;display:flex}.dq-ok-row{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:10px;grid-template-columns:20px minmax(0,1.4fr) minmax(160px,.9fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.dq-ok-main strong{color:var(--text-primary);margin-bottom:2px;font-size:13px;display:block}.dq-ok-main span{color:var(--text-secondary);font-size:12.5px;line-height:1.4}.dq-ok-side{color:var(--text-muted);text-align:right;flex-direction:column;align-items:flex-end;gap:4px;font-size:11.5px;display:flex}@media (width<=900px){.dq-easy-list{grid-template-columns:1fr}.dq-ok-row{grid-template-columns:20px 1fr}.dq-ok-side{text-align:left;flex-flow:wrap;grid-column:2;align-items:flex-start}}.lin-workspace{grid-template-columns:1fr;align-items:stretch;gap:16px;width:100%;display:grid}.lin-workspace.has-inspector{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.lin-canvas-card{width:100%;min-width:0;overflow:visible!important}.lin-canvas-header{z-index:3;background:var(--bg-card,#fff);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative;overflow:visible}.lin-toolbar{flex-direction:column;align-items:flex-end;gap:8px;min-width:0;display:flex}.lin-col-search{flex-shrink:0;width:min(240px,100%)}.lin-col-search input{width:100%}.lin-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.lin-zoom-label{color:var(--text-muted);text-align:center;min-width:36px;font-size:11.5px}.lin-zoom{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.lin-kpi-strip{flex-wrap:wrap;gap:8px;margin:12px 0 14px;display:flex}.lin-kpi-chip{border:1px solid var(--border);color:var(--text-secondary);background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.lin-kpi-chip strong{color:var(--text-primary);margin-left:2px;font-size:14px;font-weight:700}.lin-kpi-chip.is-ok strong{color:#059669}.lin-kpi-chip.is-warn strong{color:#d97706}.lin-filters{border:1px solid var(--border);background:#f8fafc;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px 14px}.lin-filters-col input{width:160px}.lin-filters .lin-legend{margin-left:0}.lin-canvas-header{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:12px}.lin-flow{transform-origin:top;box-sizing:border-box;justify-content:center;align-items:stretch;gap:clamp(28px,4vw,56px);width:100%;max-width:1200px;margin:0 auto;padding:12px 8px;transition:transform .15s;display:flex}.lin-card{text-align:left;background:var(--bg-card);cursor:pointer;border:2px solid var(--border);border-radius:10px;flex:1 1 0;min-width:220px;max-width:320px;padding:0;font-family:inherit;transition:box-shadow .15s,border-color .15s;overflow:hidden;box-shadow:0 4px 14px #0f172a0f}.lin-card.is-source{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626,0 4px 14px #3b82f614}.lin-card.is-etl{border-color:#f97316;min-height:280px;box-shadow:0 0 0 3px #f9731626,0 4px 14px #f9731614}.lin-card.is-target{border-color:#10b981;box-shadow:0 0 0 3px #10b98126,0 4px 14px #10b98114}.lin-card.is-active{transform:translateY(-1px)}.lin-card-head{padding:12px 14px}.lin-card.is-source .lin-card-head{background:#eff6ff;border-bottom:1px solid #bfdbfe}.lin-card.is-etl .lin-card-head{background:#fff7ed;border-bottom:1px solid #fed7aa}.lin-card.is-target .lin-card-head{background:#ecfdf5;border-bottom:1px solid #a7f3d0}.lin-card-head-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lin-pill{border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.lin-card.is-source .lin-pill{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.lin-card.is-etl .lin-pill{color:#c2410c;background:#ffedd5;border:1px solid #fed7aa}.lin-card.is-target .lin-pill{color:#047857;background:#d1fae5;border:1px solid #a7f3d0}.lin-card-menu{color:#94a3b8}.lin-card-title{color:var(--text-primary);word-break:break-word;font-size:12.5px;font-weight:700;line-height:1.35}.lin-card-title-row{align-items:center;gap:6px;font-size:13px;display:flex}.lin-etl-icon{color:#ea580c;font-size:14px}.lin-card-platform{align-items:center;gap:6px;margin-top:8px;font-size:11.5px;font-weight:600;display:flex}.lin-card.is-source .lin-card-platform{color:#2563eb}.lin-card.is-target .lin-card-platform{color:#047857}.lin-snow{font-size:12px}.lin-card-stats{justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;font-weight:600;display:flex}.lin-card.is-source .lin-card-stats{color:#2563eb}.lin-card.is-target .lin-card-stats{color:#047857}.lin-card-stats span{align-items:center;gap:4px;display:inline-flex}.lin-card-live-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.lin-live-pill{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.lin-live-dot{background:#10b981;border-radius:50%;width:6px;height:6px}.lin-card-duration{color:#64748b;align-items:center;gap:4px;font-size:11px;display:inline-flex}.lin-card-await{color:#64748b;margin-top:8px;font-size:11px}.lin-card-body{background:var(--bg-card);min-height:72px;padding:10px 12px 12px}.lin-card-empty{color:#64748b;word-break:break-word;font-size:11px;line-height:1.45}.lin-card-col{color:#334155;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;min-height:24px;padding:1px 4px;font-size:11px;display:flex}.lin-card-col code{color:var(--text-primary);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;overflow:hidden}.lin-card-col span{color:#94a3b8;flex-shrink:0;font-size:10px}.lin-stage-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-right:2px}.lin-card.is-etl .lin-card-col{justify-content:flex-start}.lin-card-col.is-linked code{color:#6d28d9}.lin-card-col.is-hot{background:#f5f3ff;outline:1px solid #ddd6fe}.lin-card-dataset{color:#64748b;word-break:break-all;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.35}.lin-hop{color:#94a3b8;flex-shrink:0;align-items:center;padding-top:72px;display:flex}.lin-level-toggle{background:var(--bg-card-subtle);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.lin-level-toggle button{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.lin-level-toggle button.active{color:#fff;background:#10b981}.lin-legend{color:var(--text-secondary);align-items:center;gap:12px;margin-left:auto;font-size:12px;display:flex}.lin-legend span{align-items:center;gap:6px;display:inline-flex}.lin-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.lin-legend i.is-source{background:#3b82f6}.lin-legend i.is-etl{background:#8b5cf6}.lin-legend i.is-target{background:#10b981}.lin-path{flex-direction:column;gap:6px;display:flex}.lin-path-step{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.lin-path-step span{text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.lin-path-step code{color:var(--text-primary);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.lin-path-step.is-source{background:#eff6ff;border-color:#bfdbfe}.lin-path-step.is-etl{background:#f5f3ff;border-color:#ddd6fe}.lin-path-step.is-target{background:#ecfdf5;border-color:#a7f3d0}.lin-stage-row{justify-content:flex-start!important}.lin-col-graph-wrap{width:100%;padding-top:4px;overflow:visible}.lin-col-graph{box-sizing:border-box;width:max-content;min-width:100%;min-height:0;margin:0 auto;padding:8px 4px 16px;position:relative}.lin-zoom-frame{margin:0 auto;overflow:hidden}.lin-zoom-inner{transform-origin:0 0}.lin-col-lanes{z-index:2;grid-template-columns:minmax(240px,280px) minmax(220px,280px) minmax(240px,280px);justify-content:center;align-items:start;gap:clamp(40px,5vw,64px);width:max-content;margin:0 auto;display:grid;position:relative}.lin-wire-head{box-sizing:border-box;border-radius:8px 8px 0 0;height:auto;min-height:0;padding:10px 12px 8px}.lin-wire-models{flex-direction:column;gap:2px;margin-top:8px;display:flex}.lin-wire-models code{color:#9a3412;text-overflow:ellipsis;background:#ffedd5;border-radius:4px;width:fit-content;max-width:100%;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;overflow:hidden}.lin-etl-body{min-height:120px;padding-bottom:12px;position:relative}.lin-etl-runmeta{color:#64748b;margin-top:10px;font-size:10.5px}.lin-etl-rails{pointer-events:none;position:absolute;inset:0}.lin-etl-rail-row{height:0;position:absolute;left:0;right:0}.lin-etl-rail-row .lin-port.is-left{top:0;left:-5px;transform:translateY(-50%)}.lin-etl-rail-row .lin-port.is-right{top:0;right:-5px;transform:translateY(-50%)}.lin-wire-card.is-etl,.lin-wire-card.is-etl .lin-wire-cols{overflow:visible}.lin-canvas{box-sizing:border-box;z-index:1;background-image:radial-gradient(#e2e8f0 1.2px,#0000 1.2px);background-size:22px 22px;border-radius:0 0 12px 12px;width:100%;min-height:0;padding:16px 16px 20px;position:relative;overflow:auto visible}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;display:flex}.lin-wires{pointer-events:none;z-index:1;position:absolute;inset:0 auto auto 0;overflow:visible}.lin-wire-card{background:var(--bg-card);border:2px solid var(--border);z-index:2;cursor:pointer;border-radius:10px;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a0f}.lin-wire-card.is-active{outline:2px solid #0f172a1f}.lin-wire-card.is-source{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.lin-wire-card.is-etl{border-color:#f97316;min-height:0;box-shadow:0 0 0 3px #f973161f}.lin-wire-card.is-target{border-color:#10b981;box-shadow:0 0 0 3px #10b9811f}.lin-wire-head{box-sizing:border-box;border-radius:8px 8px 0 0;height:auto;min-height:72px;padding:10px 12px 8px;overflow:hidden}.lin-wire-card.is-source .lin-wire-head{background:#eff6ff;border-bottom:1px solid #bfdbfe}.lin-wire-card.is-etl .lin-wire-head{background:#fff7ed;border-bottom:1px solid #fed7aa}.lin-wire-card.is-target .lin-wire-head{background:#ecfdf5;border-bottom:1px solid #a7f3d0}.lin-wire-head strong{color:var(--text-primary);word-break:break-word;margin-top:8px;font-size:13px;display:block}.lin-wire-sub{color:#64748b;margin-top:6px;font-size:11px}.lin-wire-cols{background:var(--bg-card);border-radius:0 0 8px 8px;flex-direction:column;gap:0;padding:6px 8px 10px;display:flex}.lin-wire-hint{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;margin-top:8px;padding:6px 8px;font-size:10.5px}.lin-wire-col{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;height:26px;padding:0 10px;font-family:inherit;display:flex;position:relative}.lin-wire-col:hover,.lin-wire-col.is-hot{background:#f5f3ff}.lin-wire-col code{color:var(--text-primary);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;overflow:hidden}.lin-wire-col.is-hot code{color:#6d28d9;font-weight:700}.lin-wire-col span{color:#94a3b8;flex-shrink:0;font-size:10px}.lin-port{z-index:3;background:#94a3b8;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 0 2px #fff}.lin-port.is-right{right:-5px}.lin-port.is-left{left:-5px}.lin-wire-col.is-hot .lin-port,.lin-wire-card.is-source .lin-port{background:#3b82f6}.lin-wire-card.is-target .lin-port,.lin-wire-card.is-etl .lin-port{background:#10b981}.lin-wire-stage{color:#334155;align-items:center;gap:6px;height:26px;padding:0 12px;font-size:11px;display:flex;position:relative}.lin-wire-stage code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.lin-wire-note{text-align:center;color:var(--text-muted);padding:8px 12px 16px;font-size:12px}.lin-bars{flex-direction:column;gap:10px;display:flex}.lin-bar-label{color:#64748b;justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.lin-bar-track{background:#e2e8f0;border-radius:99px;height:6px;overflow:hidden}.lin-bar-track>div{background:#10b981;border-radius:99px;height:100%}.lin-impact-box{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:10px;font-size:12px;display:flex}.lin-impact-box strong{color:var(--text-primary);font-size:12.5px}.lin-inspector{align-self:start;position:sticky;top:12px}.lin-inspector-body{flex-direction:column;gap:12px;padding:0 14px 16px;display:flex}.lin-inspector-pill{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.lin-inspector-pill strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.lin-inspector-block{flex-direction:column;gap:6px;font-size:12px;display:flex}.lin-inspector-block>div{grid-template-columns:88px minmax(0,1fr);gap:8px;display:grid}.lin-inspector-block span{color:var(--text-muted)}.lin-inspector-block strong{color:var(--text-primary);word-break:break-word;font-weight:600}.lin-inspector-block .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.lin-health-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lin-health{border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:8px}.lin-health span{color:var(--text-muted);margin-bottom:3px;font-size:10.5px;font-weight:650;display:block}.lin-health strong{color:var(--text-primary);font-size:12px;line-height:1.3;display:block}.lin-health.is-ok{background:#ecfdf5;border-color:#a7f3d0}.lin-health.is-warn{background:#fffbeb;border-color:#fde68a}.lin-health.is-bad{background:#fef2f2;border-color:#fecaca}.lin-section-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}.lin-inspector-models{max-height:160px;overflow:auto}.lin-model-row{color:var(--text-secondary);align-items:center;gap:6px;padding:3px 0;font-size:11px;display:flex}.lin-model-row code{text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;overflow:hidden}.lin-inspector-foot{color:var(--text-muted);border-top:1px solid var(--border-subtle);align-items:center;gap:6px;padding-top:4px;font-size:11.5px;display:flex}.lin-row-active td{background:#10b9810f}@media (width<=1100px){.lin-workspace,.lin-workspace.has-inspector{grid-template-columns:1fr}.lin-inspector{position:static}.lin-flow{flex-wrap:wrap;max-width:none}.lin-card{min-width:min(100%,280px);max-width:none}.inc-workspace.has-inspector{grid-template-columns:1fr}}.inc-workspace{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.inc-workspace.has-inspector{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.vithi-table tr.is-selected td{background:#f8fafc}.vithi-table tr.is-selected td:first-child{box-shadow:inset 3px 0 #059669}.met-summary-strip{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px 14px;display:grid}.met-summary-strip>div{flex-direction:column;gap:2px;min-width:0;display:flex}.met-summary-strip span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10.5px}.met-summary-strip strong{font-size:16px;font-weight:700}@media (width<=800px){.met-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.met-row-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.met-clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:center;padding:6px 8px;font-size:12.5px;font-weight:600}.met-clear-btn:hover{color:var(--text-primary);text-decoration:underline}.met-rail{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;grid-template-columns:repeat(9,minmax(0,1fr));margin-top:14px;display:grid;overflow:hidden}.met-rail-item{border-right:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:11px 10px 12px;display:flex}.met-rail-item:last-child{border-right:none}.met-rail-item span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:650;overflow:hidden}.met-rail-item strong{letter-spacing:-.03em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:750;line-height:1.1;overflow:hidden}.met-rail-item.is-ok strong{color:#047857}.met-rail-item.is-warn strong{color:#b45309}.met-rail-item.is-bad strong{color:#b91c1c}@media (width<=1200px){.met-rail{grid-template-columns:repeat(5,minmax(0,1fr))}.met-rail-item:nth-child(5n){border-right:none}.met-rail-item:nth-child(n+6){border-top:1px solid var(--border)}}@media (width<=700px){.met-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.met-rail-item{border-right:1px solid var(--border)}.met-rail-item:nth-child(3n){border-right:none}.met-rail-item:nth-child(n+4){border-top:1px solid var(--border)}}.met-pillar-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.met-pillar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.met-pillar span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.met-pillar strong{color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:750}.met-pillar em{color:var(--text-secondary);font-size:11px;font-style:normal}.met-pillar.is-ok strong{color:#047857}.met-pillar.is-warn strong{color:#b45309}.met-pillar.is-bad strong{color:#b91c1c}.met-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.met-wall-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.met-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;min-width:0;overflow:hidden}.met-widget-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 4px;display:flex}.met-widget-title{color:var(--text-primary);font-size:13px;font-weight:700}.met-widget-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.met-widget-body{min-height:160px;padding:0 6px 10px}.met-end-badge{color:#fff;letter-spacing:-.01em;background:#4f46e5;border-radius:4px;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=1100px){.met-wall-grid,.met-wall-grid-3{grid-template-columns:1fr}}.met-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.met-stat{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;min-height:88px;padding:14px 14px 12px}.met-signal-strip{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-wrap:wrap;gap:0;margin-top:10px;display:flex;overflow:hidden}.met-signal-item{color:var(--text-secondary);border-right:1px solid var(--border);flex:140px;align-items:center;gap:8px;min-width:0;padding:10px 14px;font-size:12px;display:flex}.met-signal-item:last-child{border-right:none}.met-signal-item strong{color:var(--text-primary);margin-left:auto;font-size:13px;font-weight:700}.met-table-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.met-related-link{color:var(--text-secondary);align-items:center;gap:4px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.met-related-link:hover{color:#059669}.met-pager{border-left:1px solid var(--border);color:var(--text-muted);align-items:center;gap:6px;margin-left:4px;padding-left:12px;font-size:12px;display:inline-flex}.met-pager-btn{border:1px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.met-pager-btn:disabled{opacity:.4;cursor:not-allowed}.met-pager-btn:not(:disabled):hover{color:#059669;border-color:#a7f3d0}.met-stat.ok{background:#ecfdf5;border-color:#a7f3d0}.met-stat.warn{background:#fffbeb;border-color:#fde68a}.met-stat.bad{background:#fef2f2;border-color:#fecaca}.met-stat.neutral{background:var(--bg-card)}.met-stat-head{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.met-stat-value{letter-spacing:-.03em;color:var(--text-primary);margin-top:8px;font-size:26px;font-weight:750;line-height:1.1}.met-stat.ok .met-stat-value{color:#047857}.met-stat.warn .met-stat-value{color:#b45309}.met-stat.bad .met-stat-value{color:#b91c1c}.met-toplist{flex-direction:column;gap:10px;min-height:140px;padding:6px 14px 16px;display:flex}.met-toplist-row{grid-template-columns:28px minmax(0,1fr) 72px;align-items:center;gap:10px;display:grid}.met-toplist-rank{color:var(--text-muted);font-size:12px;font-weight:700}.met-toplist-name{justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12.5px;display:flex}.met-toplist-name span{color:var(--text-muted);font-size:11px}.met-toplist-track{background:#f1f5f9;border-radius:99px;height:6px;overflow:hidden}.met-toplist-track>div{background:#3b82f6;border-radius:99px;height:100%}.met-toplist-val{text-align:right}.met-toplist-val strong{font-size:13px;display:block}.met-toplist-val span{color:var(--text-muted);font-size:11px}@media (width<=900px){.met-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.met-signal-item{border-right:none;border-bottom:1px solid var(--border);flex:45%}.met-signal-item:nth-last-child(-n+2){border-bottom:none}}.met-dist{min-height:160px;padding:8px 14px 16px}.met-dist-bar{background:#f1f5f9;border-radius:8px;height:28px;display:flex;overflow:hidden}.met-dist-bar>div{min-width:2px;height:100%}.met-dist-legend{grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:14px;display:grid}.met-dist-legend>div{align-items:center;gap:8px;font-size:12px;display:flex}.met-dist-legend i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.met-dist-legend span{color:var(--text-secondary);flex:1}.met-rank-list{flex-direction:column;gap:12px;min-height:180px;padding:4px 14px 16px;display:flex}.met-rank-row{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.met-rank-idx{color:var(--text-muted);padding-top:2px;font-size:12px;font-weight:700}.met-rank-top{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12.5px;display:flex}.met-rank-top strong{color:var(--text-primary);font-weight:650}.met-rank-top span{color:#4f46e5;font-weight:700}.met-rank-meta{color:var(--text-muted);margin-top:5px;font-size:11px}.met-catalog{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.met-chip{text-align:left;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:10px;padding:10px 12px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.met-chip:hover{border-color:#cbd5e1}.met-chip.is-active{border-color:#059669;box-shadow:0 0 0 3px #0596691f}.met-chip.is-muted{opacity:.72}.met-chip-top{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.met-chip-value{letter-spacing:-.02em;margin-top:6px;font-size:20px;font-weight:750;line-height:1.1}.met-chip-help{color:var(--text-muted);margin-top:4px;font-size:10.5px}.met-explorer{grid-template-columns:minmax(0,1.7fr) minmax(240px,.9fr);align-items:stretch;gap:16px;display:grid}.met-spotlight,.met-facet{margin:0}.met-spotlight-stat{text-align:right}.met-spotlight-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;display:block}.met-spotlight-stat strong{font-size:22px;font-weight:750}.met-spotlight-body{min-height:280px;padding:4px 12px 14px}.met-facet-body{padding:0 14px 14px}.met-donut-wrap{height:150px;position:relative}.met-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.met-donut-center strong{font-size:18px;line-height:1}.met-donut-center span{color:var(--text-muted);margin-top:2px;font-size:10.5px}.met-facet-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.met-facet-list li{justify-content:space-between;gap:10px;font-size:12px;display:flex}.met-facet-list span{color:var(--text-secondary);align-items:center;gap:8px;display:inline-flex}.met-facet-list i{border-radius:2px;width:8px;height:8px;display:inline-block}.met-facet-foot{border-top:1px solid var(--border);color:var(--text-muted);margin-top:12px;padding-top:10px;font-size:11.5px}.met-board{flex-direction:column;gap:0;padding:4px 0 8px;display:flex}.met-board-row{border-top:1px solid var(--border);grid-template-columns:44px minmax(0,1fr) minmax(220px,280px);align-items:center;gap:12px;padding:12px 16px;display:grid}.met-board-rank{color:var(--text-muted);font-size:12px;font-weight:700}.met-board-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.met-board-meta{color:var(--text-muted);margin-top:4px;font-size:11px}.met-board-bar{background:#f1f5f9;border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.met-board-bar>div{background:linear-gradient(90deg,#93c5fd,#3b82f6);border-radius:99px;height:100%}.met-board-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.met-board-stats>div{flex-direction:column;gap:2px;display:flex}.met-board-stats span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.met-board-stats strong{font-size:13px}.met-footnote{color:var(--text-muted);align-items:flex-start;gap:8px;margin-top:14px;font-size:11px;display:flex}.met-footnote code{font-size:10.5px}@media (width<=1100px){.met-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.met-explorer{grid-template-columns:1fr}}@media (width<=720px){.met-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.met-board-row{grid-template-columns:36px 1fr}.met-board-stats{grid-column:1/-1}}.log-rail{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;display:grid;overflow:hidden}.log-rail-item{border-right:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:11px 14px 12px;display:flex}.log-rail-item:last-child{border-right:none}.log-rail-item span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:650}.log-rail-item strong{letter-spacing:-.03em;color:var(--text-primary);font-size:18px;font-weight:750;line-height:1.1}.log-rail-item.is-ok strong{color:#047857}.log-rail-item.is-warn strong{color:#b45309}.log-rail-item.is-bad strong{color:#b91c1c}.log-workspace{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.log-workspace.has-inspector{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.log-stream-card{min-width:0;overflow:hidden}.log-stream-wrap{overflow-x:auto}.log-stream-table{width:100%;min-width:720px}.log-stream-table td{vertical-align:middle}.log-stream-table tbody tr{cursor:pointer}.log-stream-table tr.is-selected td{background:#f0fdf4}.log-stream-table tr.is-selected td:first-child{box-shadow:none;border-left:3px solid #059669;padding-left:11px}.log-time{color:var(--text-secondary);white-space:nowrap;font-size:12px}.log-meta{color:var(--text-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.log-msg{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12.5px;overflow:hidden}.log-dur{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.log-workspace.has-inspector .log-msg{max-width:180px}.log-level{letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:700;display:inline-block}.log-level.is-ok{color:#047857;background:#ecfdf5}.log-level.is-warn{color:#b45309;background:#fffbeb}.log-level.is-err{color:#b91c1c;background:#fef2f2}.log-inspector{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-self:start;height:calc(100vh - 110px);min-height:0;max-height:calc(100vh - 110px);display:flex;position:sticky;top:12px;overflow:hidden}.log-inspector-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 14px 8px;display:flex}.log-inspector-title{color:var(--text-primary);font-size:14px;font-weight:700}.log-inspector-sub{color:var(--text-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.log-inspector-pills{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:0 14px 10px;display:flex}.log-chip{color:var(--text-secondary);border:1px solid var(--border);background:#f8fafc;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.log-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:2px;padding:0 10px;display:flex;overflow-x:auto}.log-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 10px;font-size:11.5px;font-weight:600}.log-tab.is-active{color:#059669;border-bottom-color:#059669}.log-inspector-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 14px 16px;overflow:hidden auto}.log-overview{flex-direction:column;gap:10px;display:flex}.log-kv{flex-direction:column;gap:2px;display:flex}.log-kv span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10.5px;font-weight:650}.log-kv strong{color:var(--text-primary);word-break:break-word;font-size:12.5px;font-weight:600}.log-kv strong.is-bad-text{color:#b91c1c}.log-summary-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.log-summary-grid>div{border:1px solid var(--border);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:16px 1fr;align-items:center;column-gap:6px;padding:8px;display:grid}.log-summary-grid svg{color:var(--text-muted);grid-row:1/span 2}.log-summary-grid span{color:var(--text-muted);text-transform:uppercase;font-size:10px}.log-summary-grid strong{font-size:14px;font-weight:700}.log-block{border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:10px}.log-block.is-err{background:#fef2f2;border-color:#fecaca}.log-block-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:10.5px;font-weight:700}.log-block code{color:#334155;word-break:break-all;margin-bottom:4px;font-size:11px;display:block}.log-block pre{white-space:pre-wrap;color:#7f1d1d;margin:0;font-size:11.5px}.log-inspector-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.log-console{color:#e2e8f0;background:#0f172a;border-radius:8px;overflow:hidden}.log-console-head{color:#94a3b8;border-bottom:1px solid #1e293b;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.log-console pre{white-space:pre-wrap;word-break:break-word;max-height:420px;margin:0;padding:10px 12px;font-size:11px;line-height:1.45;overflow:auto}.log-check-list{flex-direction:column;gap:8px;display:flex}.log-check-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.log-check-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.log-check-row em{color:var(--text-muted);margin-top:2px;font-size:11px;font-style:normal;display:block}.log-asset-list{flex-direction:column;gap:8px;display:flex}.log-asset-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:3px;padding:10px;display:flex}.log-asset-role{letter-spacing:.05em;color:#059669;text-transform:uppercase;font-size:10px;font-weight:700}.log-asset-card strong{font-size:12.5px}.log-asset-card>span{color:var(--text-muted);font-size:11px}.log-asset-stats{gap:10px;margin-top:4px;display:flex}.log-asset-stats em{color:#334155;font-size:11px;font-style:normal;font-weight:600}@media (width<=1100px){.log-workspace.has-inspector{grid-template-columns:1fr}.log-inspector{height:min(70vh,640px);max-height:min(70vh,640px);position:relative;top:auto}}@media (width<=700px){.log-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.log-rail-item:nth-child(2n){border-right:none}.log-rail-item:nth-child(n+3){border-top:1px solid var(--border)}}.int-tabs{border:1px solid var(--border);background:#f8fafc;border-radius:12px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:16px;padding:4px;display:flex}.int-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.int-tab:hover{color:var(--text-primary);background:var(--bg-card)}.int-tab.is-active{background:var(--bg-card);color:#065f46;box-shadow:0 1px 2px #0f172a0f}.int-tab-count{color:#475569;text-align:center;background:#e2e8f0;border-radius:999px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:700}.int-tab.is-active .int-tab-count{color:#047857;background:#d1fae5}.int-banner{border:1px solid var(--border);color:var(--text-secondary);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.int-banner.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.int-banner.is-ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.int-banner-dismiss{cursor:pointer;color:inherit;background:0 0;border:none;margin-left:auto;padding:2px}.int-panel{flex-direction:column;gap:14px;display:flex}.int-panel-head h3,.int-card-head h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:750}.int-panel-head p,.int-card-head p{color:var(--text-muted);margin:4px 0 0;font-size:12.5px}.int-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-search{flex:0 260px;min-width:200px}.int-pills{flex-wrap:wrap;gap:8px;display:flex}.int-pill{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.int-pill:hover{color:#065f46;border-color:#a7f3d0}.int-pill.is-active{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.int-empty{color:var(--text-muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;font-size:13px;display:flex}.int-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.int-catalog-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.int-catalog-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.int-catalog-card h4{margin:0;font-size:14px;font-weight:700}.int-catalog-card p{color:var(--text-muted);flex:1;margin:0;font-size:12px;line-height:1.4}.int-logo{border:1px solid;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.int-status-chip{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.int-status-chip.is-ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.int-status-chip.is-warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.int-primary-btn,.int-dark-btn,.int-sync-btn{cursor:pointer;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.int-primary-btn{color:#fff;background:#059669}.int-primary-btn:disabled,.int-dark-btn:disabled,.int-sync-btn:disabled{opacity:.55;cursor:not-allowed}.int-dark-btn{color:#fff;background:#0f172a}.int-sync-btn{color:#fff;background:#059669}.int-table-wrap{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;overflow:auto}.int-table{border-collapse:collapse;width:100%;font-size:13px}.int-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:#f8fafc;padding:10px 12px;font-size:11px;font-weight:700}.int-table td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-secondary);padding:12px}.int-table tr:last-child td{border-bottom:none}.int-tool-name{color:var(--text-primary);align-items:center;gap:8px;display:flex}.int-role{letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.int-row-actions{flex-wrap:wrap;gap:6px;display:flex}.int-id-btn{border:1px solid var(--border);cursor:pointer;max-width:280px;font:inherit;color:inherit;background:#f8fafc;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.int-id-btn code{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.int-id-btn:hover{background:var(--bg-card);border-color:#94a3b8}.int-id-inline{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;margin-top:2px;padding:0;font-size:11px;display:block}.int-id-inline:hover{color:#047857;text-decoration:underline}.int-pipe-row-run{flex-shrink:0;align-self:center;margin:10px 12px;padding:8px 12px}.int-pipe-stack{gap:14px}.int-compose-stack{flex-direction:column;gap:14px;display:flex}.int-pipe-split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.int-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;padding:16px 18px}.int-card-sync{background:#f0fdf4;border-color:#a7f3d0}.int-card-head{margin-bottom:12px}.int-form{flex-direction:column;gap:10px;display:flex}.int-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.int-field{color:var(--text-secondary);font-size:12px;font-weight:600;display:block}.int-field input,.int-field select{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:8px;margin-top:6px;padding:8px 10px;font-size:13px}.int-field-hint{color:var(--text-muted);margin-top:6px;font-size:11px;font-weight:500;display:block}.int-connector-locked{border:1px solid var(--border);background:var(--bg-card-subtle,var(--bg-card));border-radius:10px;align-items:center;gap:12px;margin-top:6px;padding:10px 12px;display:flex}.int-optional-block{flex-direction:column;gap:10px;padding-top:4px;display:flex}.int-register-result{flex-direction:column;gap:10px;display:flex}.int-register-row{flex-direction:column;gap:4px;display:flex}.int-register-label{color:var(--text-muted);letter-spacing:.02em;font-size:11px;font-weight:700}.int-check{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;font-weight:500;display:flex}.int-form-actions{justify-content:flex-end;gap:8px;width:100%;margin-top:4px;display:flex}.int-form-actions .int-primary-btn{justify-content:center;min-width:160px}.int-sync-msg{color:var(--text-muted);margin:8px 0 0;font-size:12.5px}.int-sync-msg.is-ok{color:#065f46}.int-sync-msg.is-fail{color:#991b1b}.int-pipe-list{flex-direction:column;gap:8px;display:flex}.int-pipe-row{border:1px solid var(--border);background:#f8fafc;border-radius:12px;align-items:stretch;gap:8px;display:flex;overflow:hidden}.int-pipe-row.is-selected{background:#ecfdf5;border-color:#059669}.int-pipe-row-main{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:12px 14px}.int-pipe-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-pipe-row-title strong{color:var(--text-primary);font-size:14px}.int-pipe-row-flow{color:var(--text-muted);margin-top:6px;font-size:12px}.int-pipe-row-id{color:#64748b;background:#f1f5f9;border-radius:4px;margin-top:8px;padding:2px 6px;font-size:11px;display:inline-block}.int-pipe-row .int-id-btn{align-self:center;margin-right:10px}.int-detail{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.int-detail-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.int-detail-head h4{word-break:break-all;margin:0;font-size:13px;font-weight:700}.int-detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.int-detail-grid h5{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 6px;font-size:11px;font-weight:700}.int-pre{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:10px;max-height:240px;margin:0;padding:10px 12px;font-size:11.5px;overflow:auto}.int-muted{color:var(--text-muted);margin:0;font-size:12.5px}.int-run-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.int-run-list li{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:90px 1fr;gap:2px 10px;padding:8px 10px;font-size:12px;display:grid}.int-run-list strong{grid-row:1/span 2;align-self:center}.int-run-list em{color:var(--text-muted);font-size:11px;font-style:normal}@media (width<=900px){.int-pipe-split,.int-form-grid,.int-detail-grid{grid-template-columns:1fr}}.int-kpi-rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.int-kpi-rail-4{grid-template-columns:repeat(4,minmax(0,1fr))}.int-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex}.int-kpi span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.int-kpi strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:750;overflow:hidden}.int-register-btn{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.int-register-btn:hover{background:#047857}.integration-tabs{align-items:center}.int-wizard{width:calc(100% - 24px);max-width:640px}.int-wizard-steps{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:0 20px 12px;display:flex}.int-wizard-step{color:var(--text-muted);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.int-wizard-step.is-active{color:#047857;background:#ecfdf5}.int-wizard-step.is-done{color:#065f46}.int-wizard-step-num{color:#475569;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex}.int-wizard-step.is-active .int-wizard-step-num,.int-wizard-step.is-done .int-wizard-step-num{color:#fff;background:#059669}.int-wizard-body{flex-direction:column;gap:12px;display:flex}.int-wizard-form{flex-direction:column;gap:10px;display:flex}.int-wizard-hint{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.int-wizard-mode{background:#f1f5f9;border-radius:10px;gap:6px;width:fit-content;padding:4px;display:inline-flex}.int-wizard-mode button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:650}.int-wizard-mode button.is-active{background:var(--bg-card);color:#065f46;box-shadow:0 1px 2px #0f172a14}.int-wizard-ids{border:1px solid var(--border);background:#f8fafc;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.int-wizard-id-row{grid-template-columns:70px 1fr auto;align-items:center;gap:8px;font-size:12.5px;display:grid}.int-wizard-id-row span{color:var(--text-muted);font-weight:650}.int-wizard-id-row strong{color:var(--text-primary);text-overflow:ellipsis;overflow:hidden}.int-wizard-id-row code,.int-wizard-id-chip code{background:var(--bg-card);border:1px solid var(--border);color:#047857;text-overflow:ellipsis;border-radius:6px;max-width:220px;padding:3px 6px;font-size:11px;overflow:hidden}.int-wizard-id-chip{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.int-field textarea{border:1px solid var(--border);width:100%;min-height:72px;font:inherit;resize:vertical;border-radius:8px;margin-top:4px;padding:8px 10px}@media (width<=900px){.int-kpi-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-tabs .int-register-btn{justify-content:center;width:100%;margin-left:0}}.int-filter-meta{color:var(--text-muted);margin:-6px 0 14px;font-size:12px}.integration-arch-card.is-dimmed{opacity:.38;filter:grayscale(.35)}.integration-arch-card.is-dimmed .int-row-actions{pointer-events:none}.int-conn-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex;margin-bottom:14px!important}.int-conn-filters .select-control{min-width:140px}.int-conn-groups{flex-direction:column;gap:16px;display:flex}.int-conn-group{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.int-conn-group-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.int-conn-group-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.int-conn-group-title strong{color:var(--text-primary);font-size:16px}.int-conn-group-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.int-arch-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.int-arch-logo{border:1px solid var(--border);background:var(--bg-card-subtle);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.int-arch-role{letter-spacing:.04em;text-transform:uppercase;color:#047857;background:#ecfdf5;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.int-arch-role.is-etl{color:#b45309;background:#fffbeb}.int-arch-role.is-target{color:#6d28d9;background:#f5f3ff}.int-arch-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.int-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}html.dark .int-kpi,html.dark .int-conn-group,html.dark .int-card,html.dark .int-table-wrap,html.dark .int-catalog-card,html.dark .integration-market-card,html.dark .integration-arch-card,html.dark .integration-directory-panel,html.dark .card,html.dark .kpi-card,html.dark .page-header,html.dark .filters-bar,html.dark .search-box,html.dark .select-control,html.dark .header-btn,html.dark .modal-content,html.dark .date-picker-popover,html.dark .met-rail,html.dark .met-rail-item,html.dark .met-pillar,html.dark .met-summary-strip,html.dark .met-signal-strip,html.dark .met-stat,html.dark .met-panel,html.dark .inc-panel,html.dark .log-stream-card,html.dark .health-pillar-card,html.dark .vithi-table,html.dark .pipeline-catalog-card,html.dark .obs-empty,html.dark .lin-wire-card{color:var(--text-primary);border-color:var(--border);background:var(--bg-card)!important}html.dark .int-kpi strong,html.dark .int-conn-group-title strong,html.dark .integration-arch-name,html.dark .integration-market-title,html.dark .kpi-value,html.dark .card-title,html.dark .page-header h2,html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark .met-rail-item strong,html.dark .met-pillar strong,html.dark .met-signal-item strong,html.dark .met-summary-strip strong{color:var(--text-primary)!important}html.dark .met-rail-item.is-ok strong,html.dark .met-pillar.is-ok strong,html.dark .int-kpi-ok{color:#34d399!important}html.dark .met-rail-item.is-warn strong,html.dark .met-pillar.is-warn strong{color:#fbbf24!important}html.dark .met-rail-item.is-bad strong,html.dark .met-pillar.is-bad strong{color:#f87171!important}html.dark .int-kpi span,html.dark .int-conn-group-sub,html.dark .integration-arch-meta,html.dark .kpi-label,html.dark .card-subtitle,html.dark .int-filter-meta,html.dark .page-header p,html.dark .met-rail-item span,html.dark .met-pillar span,html.dark .met-summary-strip span,html.dark .met-row-label{color:var(--text-muted)!important}html.dark .integration-arch-card.is-source{background:linear-gradient(180deg, #10b98124 0%, var(--bg-card) 55%)!important}html.dark .integration-arch-card.is-etl{background:linear-gradient(180deg, #f59e0b24 0%, var(--bg-card) 55%)!important}html.dark .integration-arch-card.is-target{background:linear-gradient(180deg, #8b5cf624 0%, var(--bg-card) 55%)!important}html.dark .int-arch-logo,html.dark .integration-market-logo,html.dark .int-wizard-mode button.is-active,html.dark .int-pill{color:var(--text-primary);border-color:var(--border);background:var(--bg-card-subtle)!important}html.dark .integration-pill{color:var(--text-secondary);background:var(--bg-card)!important}html.dark .integration-pill.is-active{color:#fff!important;background:#059669!important}html.dark .int-tab,html.dark .integration-tab{color:var(--text-secondary)}html.dark .int-tab.is-active,html.dark .integration-tab.is-active{background:var(--sidebar-bg-active)!important;color:var(--sidebar-text-active)!important}html.dark input,html.dark select,html.dark textarea,html.dark .custom-date-input{background:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border)!important}html.dark .int-table th,html.dark .int-table td,html.dark .vithi-table th,html.dark .vithi-table td{color:var(--text-secondary);border-color:var(--border)}html.dark .int-table th,html.dark .vithi-table th{background:var(--bg-card-subtle);color:var(--text-muted)}html.dark .int-empty,html.dark .int-banner.is-ok{background:var(--bg-card-subtle);color:var(--text-primary);border-color:var(--border)}html.dark .main-content,html.dark .page-body{background:var(--bg-base);color:var(--text-primary)}html.dark .recharts-cartesian-grid line{stroke:#ffffff14!important}html.dark .recharts-text,html.dark .recharts-cartesian-axis-tick-value{fill:var(--text-muted)!important}html.dark .status-pill.good{color:#34d399;background:#10b98133}html.dark .status-pill.warning{color:#fbbf24;background:#f59e0b33}html.dark .status-pill.critical{color:#f87171;background:#ef444433}html.dark .preset-btn{color:var(--text-secondary)}html.dark .int-card-sync{background:#10b9811a!important;border-color:#10b98159!important}
