:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f7f8fb;--surface-hover: #eef0f5;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--text: #1a1a2e;--text-muted: rgba(0, 0, 0, .55);--text-subtle: rgba(0, 0, 0, .4);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-bg: rgba(37, 99, 235, .1);--accent-border: rgba(37, 99, 235, .35);--accent-contrast: #ffffff;--green: #15803d;--green-bg: rgba(21, 128, 61, .1);--yellow: #b45309;--yellow-bg: rgba(180, 83, 9, .1);--orange: #c2410c;--orange-bg: rgba(194, 65, 12, .1);--red: #dc2626;--red-bg: rgba(220, 38, 38, .1);--pink-bg: rgba(236, 72, 153, .12);--gray-cell: rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}[data-theme=dark]{--bg: #0b0b10;--surface: #16161d;--surface-2: #1d1d25;--surface-hover: #23232c;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #f5f5f7;--text-muted: rgba(255, 255, 255, .62);--text-subtle: rgba(255, 255, 255, .42);--accent: #3b82f6;--accent-hover: #2563eb;--accent-bg: rgba(59, 130, 246, .18);--accent-border: rgba(59, 130, 246, .4);--green: #22c55e;--green-bg: rgba(34, 197, 94, .18);--yellow: #eab308;--yellow-bg: rgba(234, 179, 8, .18);--orange: #f97316;--orange-bg: rgba(249, 115, 22, .18);--red: #ef4444;--red-bg: rgba(239, 68, 68, .18);--pink-bg: rgba(244, 114, 182, .18);--gray-cell: rgba(255, 255, 255, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);transition:background-color .2s ease,color .2s ease;accent-color:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s}.btn:hover{background:var(--surface-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-hover)}.btn-danger{color:var(--red);border-color:var(--red-bg)}.btn-danger:hover{background:var(--red-bg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}table.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}table.data-table th,table.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}table.data-table th{position:sticky;top:0;background:var(--surface-2);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.02em;z-index:1}table.data-table tr:hover td{background:var(--surface-hover)}.input{width:100%;min-height:40px}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.error-text{color:var(--red);font-size:13px}.success-text{color:var(--green);font-size:13px}.ui-select{position:relative;min-width:0}.ui-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.ui-select-trigger:disabled{opacity:.55;cursor:not-allowed}.ui-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-placeholder{color:var(--text-muted)}.ui-select-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s ease}.ui-select-chevron-open{transform:rotate(180deg)}.ui-select-menu{margin:0;padding:4px;list-style:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.ui-select-menu:not(.ui-select-menu-portal){position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:240px}.ui-select-menu-portal{overflow-y:auto}.ui-select-option{padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;line-height:1.35}.ui-select-option:hover,.ui-select-option-active{background:var(--surface-hover)}.ui-select-option-selected{background:var(--accent-bg);color:var(--accent);font-weight:500}.ui-select-option-disabled{opacity:.45;cursor:not-allowed}.ui-checkbox{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--accent-contrast);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.ui-checkbox-checked{background:var(--accent);border-color:var(--accent)}.ui-checkbox:not(.ui-checkbox-readonly):not(.ui-checkbox-disabled):focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-bg)}.ui-checkbox-readonly{cursor:default}.ui-checkbox-disabled{opacity:.5;cursor:not-allowed}.ui-checkbox-label{display:flex;gap:10px;align-items:flex-start}.ui-checkbox-text{line-height:1.4}.ui-checkbox-label-disabled{opacity:.6;cursor:not-allowed}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#00000073}.ui-modal{width:100%;max-width:480px;overflow:hidden}.ui-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.ui-modal-body{padding:20px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;display:inline-block;vertical-align:middle}.page-center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.page-center .spinner{width:28px;height:28px}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}*{scrollbar-width:thin;scrollbar-color:var(--border, #6b7280) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border, #9ca3af);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #6b7280)}::-webkit-scrollbar-track{background:transparent}@media (max-width: 768px){.pipeline-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pipeline-row>div[data-testid^=pipeline-stage-]{height:auto!important;max-height:60vh}}
