.users-modal.modal-panel{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:480px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a2e}.users-modal .modal-header{border-bottom:.5px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.users-modal .modal-title{color:#0f172a;font-size:14px;font-weight:600}.users-modal .modal-close{color:#64748b;cursor:pointer;border-radius:6px;padding:2px 6px;font-size:16px;line-height:1;transition:background .15s}.users-modal .modal-close:hover{color:#0f172a;background:#f1f5f9}.users-modal .modal-body{flex:1;padding:16px 20px;overflow-y:auto}.users-modal .form-item{margin-bottom:14px}.users-modal .form-item label{color:#475569;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.users-modal .form-item input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;height:34px;padding:0 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.users-modal .form-item input::placeholder{color:#94a3b8}.users-modal .form-item input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.users-modal .form-footer{border-top:.5px solid #e2e8f0;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;display:flex}.users-modal .btn-secondary{cursor:pointer;color:#475569;background:#fff;border:.5px solid #cbd5e1;border-radius:6px;padding:6px 14px;font-size:12px;transition:background .15s,border-color .15s}.users-modal .btn-secondary:hover{color:#4f46e5;background:#f8fafc;border-color:#a5b4fc}.users-page .btn-link{cursor:pointer;color:#6366f1;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;transition:background .12s}.users-page .btn-link:hover{background:#eef2ff}.users-page .btn-link.danger{color:#e11d48}.users-page .btn-link.danger:hover{background:#fff1f2}.users-modal .pwd-msg,.users-page .pwd-msg{font-size:13px}.users-modal .pwd-msg.ok,.users-page .pwd-msg.ok{color:#059669}.users-modal .pwd-msg.err,.users-page .pwd-msg.err{color:#e11d48}.users-modal .info-grid,.users-page .info-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.users-modal .info-item,.users-page .info-item{background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;padding:10px 12px}.users-modal .info-label,.users-page .info-label{color:#64748b;margin-bottom:4px;font-size:12px}.users-modal .info-value,.users-page .info-value{color:#0f172a;font-size:14px;font-weight:500}.users-page .page-head{align-items:center;display:flex}.users-page .page-head h1{margin-right:auto}.users-page .status-tag.status-plain{color:#64748b;background:#f1f5f9;box-shadow:inset 0 0 0 1px #cbd5e1}.no-cluster-guide{justify-content:center;align-items:center;height:100%;min-height:400px;display:flex}.no-cluster-card{text-align:center;background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;width:460px;padding:48px 40px;box-shadow:0 8px 32px #0f172a0f}.no-cluster-icon{opacity:.85;margin-bottom:16px;font-size:56px}.no-cluster-title{color:#0f172a;margin:0 0 12px;font-size:20px;font-weight:600}.no-cluster-desc{color:#475569;margin:0 0 28px;font-size:14px;line-height:1.8}.no-cluster-actions{justify-content:center;gap:12px;margin-bottom:20px;display:flex}.no-cluster-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:9px 20px;font-size:14px;transition:all .15s}.no-cluster-btn:hover{color:#4f46e5;border-color:#4f46e5}.no-cluster-btn:disabled{opacity:.7;cursor:not-allowed}.no-cluster-spinner{vertical-align:-1px;border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.8s linear infinite no-cluster-spin;display:inline-block}@keyframes no-cluster-spin{to{transform:rotate(360deg)}}.no-cluster-btn.primary{color:#fff;background:#4f46e5;border-color:#4f46e5}.no-cluster-btn.primary:hover{background:#0e4bdb}.no-cluster-tip{color:#64748b;margin:0;font-size:12px}body{margin:0}.page-head{margin-bottom:16px}.page-head h1{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:20px;font-weight:600}.page-head .page-head-sub{color:#64748b;margin-top:4px;font-size:13px}.page-head-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.card-header{justify-content:space-between;align-items:center;padding:16px 20px 8px;display:flex}.card-title{color:#0f172a;font-size:14.5px;font-weight:600}.empty-state{text-align:center;color:#94a3b8;padding:40px 16px;font-size:13px}table.pod-table{border-collapse:collapse;width:100%;font-size:13px}table.pod-table thead{background:#f8fafc99}table.pod-table th{text-align:left;color:#64748b;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:10px 20px;font-size:11.5px;font-weight:500}table.pod-table td{color:#0f172a;vertical-align:middle;border-bottom:1px solid #f8fafc;padding:12px 20px}table.pod-table tbody tr:last-child td{border-bottom:none}table.pod-table tbody tr{transition:background .12s}table.pod-table tbody tr:hover{background:#eef2ff4d}table.pod-table .cell-name{color:#334155;text-overflow:ellipsis;max-width:240px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden}table.pod-table .cell-time{color:#64748b;white-space:nowrap;font-family:SF Mono,Fira Code,monospace;font-size:12px}table.pod-table .table-empty{text-align:center;color:#94a3b8;padding:48px 16px;font-size:13px}.status-tag{letter-spacing:.2px;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.status-tag.status-running,.status-tag.status-deployed,.status-tag.status-ready,.status-tag.status-valid,.status-tag.status-success,.status-tag.status-connected,.status-tag.status-true{color:#059669;background:#ecfdf5;box-shadow:inset 0 0 0 1px #a7f3d0}.status-tag.status-crashloopbackoff,.status-tag.status-failed,.status-tag.status-oomkill,.status-tag.status-expired,.status-tag.status-notready,.status-tag.status-error,.status-tag.status-imagepullbackoff{color:#e11d48;background:#fff1f2;box-shadow:inset 0 0 0 1px #fecdd3}.status-tag.status-pending,.status-tag.status-pending-install,.status-tag.status-expiring_soon,.status-tag.status-waiting{color:#d97706;background:#fffbeb;box-shadow:inset 0 0 0 1px #fde68a}.status-tag.status-canceled,.status-tag.status-skipped,.status-tag.status-false,.status-tag.status-unknown{color:#64748b;background:#f1f5f9;box-shadow:inset 0 0 0 1px #e2e8f0}.page-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tab-group{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:2px;padding:3px;display:flex}.tab-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:7px;padding:5px 14px;font-size:12.5px;font-weight:500;transition:all .12s}.tab-btn.active{color:#fff;background:#4f46e5;box-shadow:0 2px 6px #4f46e540}.select-input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:7px 12px;font-size:13px;transition:border-color .12s,box-shadow .12s}.select-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.search-input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:7px 12px;font-size:13px;transition:border-color .12s,box-shadow .12s}.search-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.search-input::placeholder{color:#94a3b8}.btn{cursor:pointer;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .12s}.btn-primary{color:#fff;background:#4f46e5;box-shadow:0 4px 10px #4f46e533}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;background:#a5b4fc}.btn-secondary{color:#475569;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a}.btn-secondary:hover{color:#4f46e5;border-color:#a5b4fc}.btn-diagnose{color:#6366f1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .12s}.btn-diagnose:hover{background:#eef2ff}.btn-diagnose:disabled{color:#a5b4fc;cursor:not-allowed;background:0 0}.modal-overlay,.confirm-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0f172a66;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay>*,.confirm-overlay>*{margin:auto}.form-field{margin-bottom:14px}.form-field>label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-field input[type=text],.form-field input[type=number],.form-field input:not([type]){box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.form-field input:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.btn-block-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;width:100%;margin-top:6px;padding:9px 0;font-size:13px;font-weight:500;transition:background .15s;box-shadow:0 4px 10px #4f46e533}.btn-block-primary:hover{background:#4338ca}.btn-block-primary:disabled{box-shadow:none;cursor:not-allowed;background:#a5b4fc}.confirm-dialog{text-align:center;background:#fff;border-radius:16px;width:380px;padding:28px 32px;box-shadow:0 24px 64px #0f172a2e}.confirm-icon{margin-bottom:12px;font-size:36px}.confirm-title{color:#0f172a;margin-bottom:8px;font-size:16px;font-weight:600}.confirm-msg{color:#475569;margin-bottom:24px;font-size:13px;line-height:1.6}.confirm-actions{justify-content:center;gap:12px;display:flex}.confirm-actions .btn{min-width:100px;padding:8px 20px;font-size:13px}.btn-danger{color:#fff;cursor:pointer;background:#e11d48;border:none;border-radius:8px;padding:8px 20px;font-size:13px}.btn-danger:hover{background:#be123c}.btn-danger:disabled{cursor:not-allowed;background:#fda4af}.app-select{min-width:150px;display:inline-block;position:relative}.app-select.disabled{opacity:.6}.app-select-current{color:#0f172a;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:5px 12px;font-size:13px;display:flex;box-shadow:0 1px 2px #0f172a0a}.app-select.disabled .app-select-current{cursor:not-allowed}.app-select-current:hover{border-color:#a5b4fc}.app-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-select-value.is-placeholder{color:#64748b}.app-select-arrow{color:#64748b;flex-shrink:0;font-size:12px;transition:transform .15s}.app-select-arrow.up{transform:rotate(180deg)}.app-select-menu{z-index:2200;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:240px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0f172a1f}.app-select-spinner{color:#4f46e5;flex-shrink:0;animation:1s linear infinite app-select-rotate;display:inline-block}@keyframes app-select-rotate{to{transform:rotate(360deg)}}.app-select-item{color:#334155;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;font-size:12.5px;display:flex}.app-select-item:hover{background:#f1f5f9}.app-select-item.active{color:#4f46e5;background:#eef2ff}.app-select-check{color:#4f46e5;flex-shrink:0;width:14px;font-size:12px}.app-select-item-label{text-overflow:ellipsis;overflow:hidden}.app-select-empty{text-align:center;color:#64748b;padding:12px;font-size:12px}.app-select-search{background:#fff;border-bottom:1px solid #e2e8f0;padding:6px 8px;position:sticky;top:0}.app-select-search-input{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;padding:5px 8px;font-size:12px}.app-select-search-input:focus{border-color:#3b82f6}.loading-block{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:32px 16px;font-size:13px;display:flex}.loading-inline{color:#64748b;align-items:center;gap:8px;font-size:13px;display:inline-flex}.loading-spinner{border:2px solid #c7d2fe;border-top-color:#4f46e5;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-dots{gap:2px;margin-left:2px;display:inline-flex}.loading-dots i{background:#a5b4fc;border-radius:50%;width:3px;height:3px;animation:1.2s ease-in-out infinite loading-bounce}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}@keyframes loading-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ns-filter-input{display:inline-block;position:relative}.ns-filter-input .search-input{box-sizing:border-box;width:100%;padding-right:26px}.ns-filter-clear{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.ns-filter-clear:hover{color:#0f172a;background:#cbd5e1}.ns-filter-input.has-left-icon .search-input{padding-left:30px}.ns-filter-left-icon{color:#94a3b8;pointer-events:none;display:flex;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.metric-chart{background:#f8fafccc;border-radius:8px;width:100%;height:110px}.metric-chart-empty{color:#64748b;justify-content:center;align-items:center;height:100%;font-size:12px;display:flex}.metric-trend-title{color:#64748b;margin:8px 0 4px;font-size:12px}.modal-panel{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:560px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a2e}.modal-header{border-bottom:.5px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title-row{align-items:center;gap:8px;display:flex}.severity-tag{border-radius:4px;padding:2px 8px;font-size:11px}.severity-tag.severity-high{color:#e11d48;background:#fff1f2}.severity-tag.severity-medium{color:#d97706;background:#fffbeb}.severity-tag.severity-low{color:#059669;background:#ecfdf5}.modal-panel .modal-close{color:#64748b;cursor:pointer;font-size:16px}.pod-info-bar{background:#f8fafc;border-bottom:.5px solid #e2e8f0;flex-wrap:wrap;gap:16px;padding:10px 20px;font-size:12px;display:flex}.modal-panel .info-label{color:#64748b}.modal-body{flex:1;padding:16px 20px;overflow-y:auto}.severity-row{align-items:center;gap:6px;margin-bottom:12px;display:flex}.severity-dot{border-radius:50%;width:8px;height:8px}.severity-dot.severity-high{background:#e11d48}.severity-dot.severity-medium{background:#d97706}.severity-dot.severity-low{background:#059669}.modal-panel .severity-text{color:#0f172a;font-size:13px;font-weight:600}.root-cause-card{border-radius:8px;margin-bottom:12px;padding:12px}.root-cause-card.severity-high{background:#fff1f2;border:.5px solid #fecdd3}.root-cause-card.severity-medium{background:#fffbeb;border:.5px solid #fde68a}.root-cause-card.severity-low{background:#ecfdf5;border:.5px solid #a7f3d0}.root-cause-label{color:#64748b;margin-bottom:4px;font-size:12px}.root-cause-text{color:#0f172a;margin-bottom:4px;font-size:13px}.suggestion-text{color:#4f46e5;font-size:13px}.section{margin-bottom:12px}.modal-panel .section-title{color:#312e81;margin-bottom:8px;font-size:12px;font-weight:600}.event-row{color:#475569;gap:8px;padding:4px 0;font-size:12px;display:flex}.event-time{color:#64748b;flex-shrink:0;width:60px}.event-reason{color:#e11d48;white-space:nowrap;background:#fff1f2;border-radius:3px;padding:0 6px}.event-message{color:#475569}.resource-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.resource-item{text-align:center;background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;padding:10px}.resource-item.actual{background:#fff1f2;border:.5px solid #fecdd3}.resource-label{color:#64748b;margin-bottom:4px;font-size:12px}.resource-value{font-size:14px;font-weight:500}.limit-value,.actual-value{color:#e11d48}.action-row{gap:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:12px}.btn-primary{color:#fff;background:#4f46e5}.btn-secondary{color:#475569;background:#fff;border:.5px solid #cbd5e1}.fix-command{color:#64748b;background:#f8fafc;border-radius:4px;margin-top:8px;padding:6px 10px;font-size:11px}.fix-command code{word-break:break-all}.diagnose-loading{flex-direction:column;align-items:center;padding:40px;display:flex}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#64748b;margin-bottom:16px;font-size:13px}.loading-steps{gap:12px;display:flex}.loading-steps .step{color:#64748b;background:#f8fafc;border-radius:4px;padding:4px 10px;font-size:11px}.diagnose-error{flex-direction:column;align-items:center;padding:40px;display:flex}.error-icon{color:#e11d48;background:#fff1f2;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:12px;font-size:20px;display:flex}.error-title{color:#e11d48;margin-bottom:6px;font-size:14px;font-weight:500}.error-msg{color:#64748b;max-width:360px;font-size:12px}.loading-badge{color:#4f46e5;background:#eef2ff;border-radius:4px;padding:2px 8px;font-size:11px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.modal-panel .btn-secondary{color:#475569!important;background:#fff!important;border:.5px solid #cbd5e1!important}.modal-panel .btn-secondary:hover{color:#4f46e5!important;background:#f8fafc!important;border-color:#a5b4fc!important}.textview-panel{width:880px;max-width:92vw;max-height:80vh}.textview-header-actions{align-items:center;gap:12px;display:flex}.textview-copy{color:#6366f1;cursor:pointer;background:0 0;border:1px solid #e0e7ff;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .12s}.textview-copy:hover{background:#eef2ff;border-color:#a5b4fc}.textview-body{overflow:auto}.textview-pre{color:#334155;white-space:pre;background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7;overflow-x:auto}.modal-panel .modal-title{color:#0f172a;font-size:14px;font-weight:600}.resources-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ns-list{padding:8px 16px}.ns-item{align-items:center;gap:8px;padding:6px 0;display:flex}.ns-rank{color:#64748b;width:16px;font-size:11px}.ns-name{color:#0f172a;width:100px;font-size:12px;font-weight:500}.ns-bar-bg{background:#f1f5f9;border-radius:4px;flex:1;height:16px;overflow:hidden}.ns-bar-fill{border-radius:4px;height:100%;transition:width .3s}.ns-value{text-align:right;color:#64748b;width:70px;font-size:12px}.node-resource-list{padding:12px 16px}.node-res-item{border-bottom:.5px solid #f1f5f9;margin-bottom:12px;padding-bottom:12px}.node-res-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.node-res-header{justify-content:space-between;margin-bottom:6px;display:flex}.node-res-name{color:#0f172a;font-size:13px;font-weight:500}.node-res-status{border-radius:3px;padding:1px 8px;font-size:11px}.node-res-status.ready{color:#059669;background:#ecfdf5}.node-res-status.unready{color:#e11d48;background:#fff1f2}.node-res-row{align-items:center;gap:8px;margin-top:4px;display:flex}.node-res-label{color:#64748b;width:28px;font-size:11px}.node-res-bg{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.node-res-fill{border-radius:4px;height:100%;transition:width .3s}.cpu-fill{background:#4f46e5}.mem-fill{background:#059669}.node-res-pct{color:#64748b;text-align:right;width:36px;font-size:11px}.rbac-tabs{border-bottom:.5px solid #e2e8f0;gap:0;margin-bottom:16px;display:flex}.rbac-tab{cursor:pointer;color:#475569;border-bottom:2px solid #0000;margin-bottom:-.5px;padding:8px 20px;font-size:13px;transition:all .15s}.rbac-tab:hover{color:#4f46e5}.rbac-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:500}.rbac-kind-tag{border-radius:3px;padding:2px 8px;font-size:11px;font-weight:500}.rbac-kind-tag.cluster{color:#7c3aed;background:#f5f3ff;border:.5px solid #d3adf7}.rbac-kind-tag.ns{color:#4f46e5;background:#eef2ff;border:.5px solid #a0c9ff}.rbac-role-ref{color:#7c3aed;font-size:12px;font-weight:500}.rbac-subjects-cell{text-overflow:ellipsis;white-space:nowrap;color:#475569;max-width:300px;overflow:hidden}.rbac-page .cell-name{color:#334155;font-weight:500}.rbac-page .cell-time{color:#64748b;white-space:nowrap;font-size:12px}.reslist-type-tag{color:#7c3aed;background:#f5f3ff;border:.5px solid #d3adf7;border-radius:3px;padding:2px 8px;font-size:11px}.reslist-ports-cell{text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-family:monospace;font-size:12px;overflow:hidden}.reslist-domains-cell{text-overflow:ellipsis;white-space:nowrap;color:#4f46e5;max-width:250px;font-size:12px;overflow:hidden}.reslist-addresses-cell{text-overflow:ellipsis;white-space:nowrap;color:#475569;max-width:300px;font-family:monospace;font-size:11px;overflow:hidden}.reslist-page .cell-name{color:#334155;font-weight:500}.reslist-page .cell-time{color:#64748b;white-space:nowrap;font-size:12px}.nodes-page .table-empty{text-align:center;color:#64748b;padding:32px}.node-name-link{cursor:pointer}.node-name-link:hover{color:#4f46e5}.node-sched-tag{border-radius:3px;padding:2px 8px;font-size:11px;font-weight:500}.node-sched-tag.sched{color:#059669;background:#ecfdf5;border:.5px solid #a7f3d0}.node-sched-tag.unsched{color:#d97706;background:#fffbeb;border:.5px solid #fde68a}.node-actions{gap:4px;display:flex}.node-btn{cursor:pointer;white-space:nowrap;background:#fff;border:.5px solid #cbd5e1;border-radius:4px;padding:3px 10px;font-size:11px}.node-btn:hover{opacity:.85}.node-btn:disabled{opacity:.4;cursor:not-allowed}.node-btn-cordon{color:#d97706;border-color:#fde68a}.node-btn-cordon:hover{background:#fffbeb}.node-btn-uncordon{color:#059669;border-color:#a7f3d0}.node-btn-uncordon:hover{background:#ecfdf5}.node-btn-drain{color:#4f46e5;border-color:#a0c9ff}.node-btn-drain:hover{background:#eef2ff}.node-btn-delete{color:#e11d48;border-color:#fecdd3}.node-btn-delete:hover{background:#fff1f2}.node-toast{z-index:999;color:#fff;background:#0f172a;border-radius:8px;padding:10px 24px;font-size:13px;animation:.3s toastIn;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.storage-page .table-empty{text-align:center;color:#64748b;padding:32px}.reslist-tabs{border-bottom:.5px solid #e2e8f0;gap:0;margin-bottom:16px;display:flex}.reslist-tab{cursor:pointer;color:#475569;border-bottom:2px solid #0000;margin-bottom:-.5px;padding:8px 20px;font-size:13px;transition:all .15s}.reslist-tab:hover{color:#4f46e5}.reslist-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:500}.helm-page .table-empty{text-align:center;color:#64748b;padding:32px}.page-toolbar-title{color:#0f172a;font-size:14px;font-weight:500}.certs-tabs{border-bottom:.5px solid #e2e8f0;align-items:center;gap:0;margin-bottom:16px;display:flex}.certs-tab{cursor:pointer;color:#475569;border-bottom:2px solid #0000;margin-bottom:-.5px;padding:8px 20px;font-size:13px;transition:all .15s}.certs-tab:hover{color:#4f46e5}.certs-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:500}.certs-page .table-empty{text-align:center;color:#64748b;padding:32px}.status-expired{color:#e11d48;background:#fff1f2;border:.5px solid #fecdd3}.status-expiring_soon{color:#d97706;background:#fffbeb;border:.5px solid #fde68a}.status-valid{color:#059669;background:#ecfdf5;border:.5px solid #a7f3d0}.certs-toolbar{align-items:center;gap:8px;margin-bottom:12px;display:flex}.certs-toolbar .network-toolbar-title{color:#0f172a;margin-right:auto;font-size:13px;font-weight:500}.grafana-page{flex-direction:column;height:calc(100vh - 100px);display:flex}.grafana-iframe{background:#fff;border:none;border-radius:4px;flex:1;width:100%}.grafana-not-configured{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.grafana-icon{margin-bottom:12px;font-size:48px}.grafana-not-configured h3{color:#0f172a;margin-bottom:8px;font-size:16px}.grafana-not-configured p{margin-bottom:16px;font-size:13px}.grafana-code-block{color:#334155;background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.network-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.network-toolbar-title{color:#0f172a;font-size:15px;font-weight:500}.network-select{border:.5px solid #cbd5e1;border-radius:6px;outline:none;padding:6px 10px;font-size:12px}.network-select:focus{border-color:#4f46e5}.network-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;display:grid}.network-card{background:#fff;border:.5px solid #e2e8f0;border-radius:8px;padding:14px}.network-card:hover{box-shadow:0 2px 8px #0000000f}.network-card-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.network-card-name{color:#4f46e5;font-size:14px;font-weight:500}.network-card-ns{color:#64748b;background:#f1f5f9;border-radius:3px;padding:1px 6px;font-size:11px}.network-card-section{margin-bottom:8px}.network-section-title{color:#64748b;align-items:center;gap:4px;margin-bottom:4px;font-size:11px;display:flex}.network-tags{flex-wrap:wrap;gap:4px;display:flex}.network-tag{color:#7c3aed;background:#f5f3ff;border:.5px solid #d3adf7;border-radius:3px;padding:2px 8px;font-size:11px}.network-type-tag{border-radius:3px;margin-left:4px;padding:1px 6px;font-size:10px}.network-type-tag.ingress{color:#4f46e5;background:#eef2ff;border:.5px solid #a0c9ff}.network-type-tag.egress{color:#e11d48;background:#fff1f2;border:.5px solid #fecdd3}.network-rules{flex-direction:column;gap:2px;display:flex}.network-rule{color:#475569;background:#f8fafc;border-radius:3px;padding:2px 6px;font-size:12px}.logs-tabs{border-bottom:1px solid #e2e8f0;gap:2px;display:flex}.logs-tab{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-size:13px;transition:color .15s,border-color .15s}.logs-tab:hover{color:#334155}.logs-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}:root,[data-theme=dark]{--color-bg:oklch(15% .003 270);--color-card:oklch(20% .004 272);--color-surface:var(--color-card);--color-card-2:oklch(23% .005 272);--color-inset:oklch(17.5% .004 270);--color-canvas:oklch(13.5% .003 270);--color-term:oklch(8.5% .004 270);--color-code:oklch(13% .004 270);--color-border:oklch(100% 0 0/.055);--color-border-strong:oklch(100% 0 0/.12);--bg-glow:radial-gradient(900px 440px at 94% -16%, oklch(66% .155 258/.07), transparent 60%);--color-text:oklch(95% .004 270);--color-dim:oklch(72% .008 270);--color-faint:oklch(55% .01 272);--color-line-num:oklch(42% .012 270);--color-primary:oklch(66% .155 258);--color-primary-press:oklch(60% .155 258);--color-primary-soft:oklch(66% .155 258/.2);--color-id-1:oklch(58% .19 285);--color-id-2:oklch(56% .17 258);--color-id-3:oklch(60% .15 165);--color-id-4:oklch(64% .17 55);--color-id-5:oklch(58% .19 350);--color-id-6:oklch(60% .13 215);--color-cyan:oklch(82% .1 205);--color-cyan-soft:oklch(82% .1 205/.14);--color-cyan-line:oklch(82% .1 205/.3);--color-green:oklch(77% .15 150);--color-green-soft:oklch(72% .16 150/.14);--color-green-line:oklch(72% .16 150/.35);--color-amber:oklch(83% .13 82);--color-amber-soft:oklch(83% .13 82/.14);--color-amber-line:oklch(83% .13 82/.4);--color-red:oklch(69% .17 22);--color-red-soft:oklch(62% .18 22/.15);--color-red-line:oklch(62% .18 22/.4);--color-on-accent:oklch(100% 0 0);--color-logblue:oklch(74% .11 248);--shadow:0 1px 2px oklch(0% 0 0/.4), 0 14px 34px oklch(0% 0 0/.3);--shadow-modal:0 24px 70px oklch(0% 0 0/.55);--shadow-inner:inset 0 1px 12px oklch(0% 0 0/.55)}[data-theme=light]{--color-bg:oklch(96.5% .004 270);--color-card:oklch(100% 0 0);--color-surface:var(--color-card);--color-card-2:oklch(98% .004 270);--color-inset:oklch(97.5% .004 270);--color-canvas:oklch(98.5% .004 270);--color-term:oklch(20% .01 270);--color-border:oklch(20% .02 270/.1);--color-border-strong:oklch(20% .02 270/.16);--bg-glow:radial-gradient(900px 440px at 94% -16%, oklch(66% .155 258/.1), transparent 60%);--color-text:oklch(25% .01 270);--color-dim:oklch(45% .014 270);--color-faint:oklch(58% .016 270);--color-line-num:oklch(62% .02 270);--color-primary:oklch(55% .17 258);--color-primary-press:oklch(49% .17 258);--color-primary-soft:oklch(55% .17 258/.12);--color-id-1:oklch(52% .2 285);--color-id-2:oklch(50% .18 258);--color-id-3:oklch(52% .14 165);--color-id-4:oklch(58% .16 55);--color-id-5:oklch(52% .19 350);--color-id-6:oklch(52% .12 215);--color-cyan:oklch(52% .11 215);--color-cyan-soft:oklch(52% .11 215/.1);--color-cyan-line:oklch(52% .11 215/.28);--color-green:oklch(56% .14 150);--color-green-soft:oklch(62% .15 150/.12);--color-green-line:oklch(56% .14 150/.35);--color-amber:oklch(62% .12 70);--color-amber-soft:oklch(62% .12 70/.12);--color-amber-line:oklch(62% .12 70/.38);--color-red:oklch(55% .18 22);--color-red-soft:oklch(60% .19 22/.1);--color-red-line:oklch(55% .18 22/.4);--color-on-accent:oklch(100% 0 0);--color-logblue:oklch(60% .13 248);--shadow:0 1px 2px oklch(50% .02 270/.06), 0 12px 30px oklch(50% .03 270/.1);--shadow-modal:0 24px 60px oklch(40% .03 270/.22);--shadow-inner:inset 0 1px 10px oklch(0% 0 0/.16);--color-line:var(--color-border);--color-line-strong:var(--color-border-strong);--color-bg-subtle:var(--color-inset);--color-code-bg:var(--color-inset);--color-surface-hover:var(--color-card-2);--color-surface-raised:var(--color-card-2);--color-text-soft:var(--color-dim);--color-text-muted:var(--color-dim);--color-accent:var(--color-primary);--color-danger:var(--color-red);--color-danger-soft:var(--color-red-soft);--color-success:var(--color-green);--color-warn:var(--color-amber);--color-warning:var(--color-amber)}:root{--color-overlay:oklch(0% 0 0/.55);--color-on-accent:oklch(100% 0 0);--color-on-term:oklch(92% .01 270);--color-shimmer:oklch(100% 0 0/.06);--color-track-on-accent:oklch(100% 0 0/.35);--font-sans:"Inter", ui-sans-serif, system-ui, "PingFang SC", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--text-display:22.5px;--text-h1:17.4px;--text-kpi:25.5px;--text-card-title:15px;--text-section:12.9px;--text-body:12.9px;--text-label:12.45px;--text-caps:10.65px;--text-micro:10.2px;--text-mono:12px;--icon-stroke:1.9;--rounded-sm:4px;--rounded-md:7px;--rounded:9px;--rounded-lg:11px;--rounded-xl:14px;--rounded-card:15px;--rounded-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--rail-width:62px;--main-pad:48px;--main-pad-top:26px;--main-pad-bottom:90px;--card-gap:18px;--content-max:1680px;--duration-fast:.15s;--duration-normal:.28s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--radius-sm:var(--rounded-sm);--radius-md:var(--rounded-md);--radius-lg:var(--rounded-lg);--text-heading:var(--text-h1);--text-h2:var(--text-section);--text-caption:var(--text-micro);--ease-out:var(--ease-out-expo);--shadow-sm:var(--shadow);--shadow-md:var(--shadow);--shadow-lg:var(--shadow-modal);--color-line:var(--color-border);--color-line-strong:var(--color-border-strong);--color-bg-subtle:var(--color-inset);--color-code-bg:var(--color-inset);--color-surface-hover:var(--color-card-2);--color-surface-raised:var(--color-card-2);--color-text-soft:var(--color-dim);--color-text-muted:var(--color-dim);--color-accent:var(--color-primary);--color-danger:var(--color-red);--color-danger-soft:var(--color-red-soft);--color-success:var(--color-green);--color-warn:var(--color-amber);--color-warning:var(--color-amber)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ui-input{background:var(--color-inset);border:1px solid var(--color-border-strong);border-radius:var(--rounded);width:100%;height:38px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 12px;line-height:1;display:block}.ui-input::placeholder{color:var(--color-faint)}.ui-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.ui-input--error{border-color:var(--color-red)}.ui-input--error:focus{border-color:var(--color-red);box-shadow:0 0 0 3px var(--color-red-soft)}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-input--mono{font-family:var(--font-mono);font-size:var(--text-mono)}.ui-spinner{border:2px solid var(--color-track-on-accent);border-top-color:var(--color-on-accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation:none}}.ui-section-no{font-family:var(--font-mono);color:var(--color-faint);font-size:11.7px;font-weight:600}.ui-vlab{color:var(--color-faint);font-size:10.35px;font-family:var(--font-mono)}.ui-page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.ui-page-head__text{gap:var(--space-1);flex-direction:column;flex:auto;min-width:10em;display:flex}.ui-page-title{font-size:var(--text-display);letter-spacing:-.02em;color:var(--color-text);font-weight:700;line-height:1.2}.ui-page-sub{font-size:var(--text-label);color:var(--color-faint);max-width:62ch;line-height:1.5}.ui-page-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.ui-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-toolbar .app-select{--app-select-width:auto;flex:none}.ui-toolbar__count{font-size:var(--text-micro);color:var(--color-faint);white-space:nowrap;margin-left:auto}.ui-search{flex:220px;min-width:180px;max-width:360px;position:relative}.ui-search__icon{left:var(--space-3);width:15px;height:15px;color:var(--color-faint);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-search__input{background:var(--color-inset);border:1px solid var(--color-border-strong);border-radius:var(--rounded);width:100%;height:36px;padding:0 var(--space-3) 0 34px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-label);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);display:block}.ui-search__input::placeholder{color:var(--color-faint)}.ui-search__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.ui-search__input::-webkit-search-cancel-button{-webkit-appearance:none}.ui-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);box-shadow:var(--shadow)}.ui-card--quiet{box-shadow:none}.ui-card--quiet:hover{box-shadow:var(--shadow)}.ui-chip{min-width:0;max-width:100%;height:22px;padding:0 var(--space-2);background:var(--color-inset);border-radius:var(--rounded-sm);color:var(--color-dim);font-family:var(--font-sans);font-size:var(--text-mono);border:none;align-items:center;gap:5px;line-height:1;display:inline-flex}.ui-chip--accent{background:var(--color-primary-soft);color:var(--color-primary)}.ui-chip svg{width:11px;height:11px;color:var(--color-faint);flex-shrink:0}.ui-chip__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-note{font-size:var(--text-micro);color:var(--color-faint);line-height:1.4}.ui-note--meta{font-size:var(--text-mono)}.ui-modal-scrim{z-index:100;padding:var(--space-6);background:var(--color-overlay);animation:ui-scrim-in var(--duration-fast) ease both;place-items:center;display:grid;position:fixed;inset:0}.ui-modal{width:100%;max-width:520px;max-height:calc(100dvh - (var(--space-6) * 2));background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--rounded-xl);box-shadow:var(--shadow-modal);animation:ui-modal-in var(--duration-normal) var(--ease-out-expo) both;flex-direction:column;display:flex;overflow:hidden}.ui-modal--sm{max-width:440px}.ui-modal__form{flex-direction:column;flex:1;min-height:0;display:flex}.ui-modal__head{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.ui-modal__icon{border-radius:var(--rounded-lg);background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.ui-modal__icon--danger{background:var(--color-red-soft);color:var(--color-red)}.ui-modal__icon svg{width:18px;height:18px}.ui-modal__heading{flex:1;min-width:0}.ui-modal__title{font-size:var(--text-section);letter-spacing:-.01em;color:var(--color-text);font-weight:600}.ui-modal__sub{font-size:var(--text-micro);color:var(--color-faint);margin-top:3px;line-height:1.45}.ui-modal__close{border-radius:var(--rounded-md);width:30px;height:30px;color:var(--color-faint);cursor:pointer;transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.ui-modal__close:hover{color:var(--color-text);background:var(--color-inset)}.ui-modal__close:disabled{opacity:.4;cursor:not-allowed}.ui-modal__body{gap:var(--space-4);min-height:0;padding:var(--space-5);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.ui-modal__foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex}:is(.app-btn,.app-select,.app-menu,.app-banner,.ui-page-head,.ui-toolbar,.ui-modal,.ui-chip,.ui-search,.cfm-dialog__icon,.form-field__error,.empty-state__icon,.error-state__icon,.error-ai__icon,.forbidden-state__icon,.toast-item__icon) svg{stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}@keyframes ui-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}.pwui,.pwui *,.pwui :before,.pwui :after{box-sizing:border-box}.pwui{font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-text);background-color:var(--color-bg);background-image:var(--bg-glow);-webkit-font-smoothing:antialiased;border-radius:14px;min-height:calc(100vh - 120px);padding:22px 24px 30px;line-height:1.6}.pwui h1,.pwui h2,.pwui h3,.pwui h4{font-family:var(--font-sans);font-weight:600;line-height:1.3}.pwui code,.pwui kbd,.pwui pre,.pwui samp{font-family:var(--font-mono);font-size:var(--text-mono)}.pwui a{color:var(--color-primary);text-decoration:none}.pwui .mono{font-family:var(--font-mono)}.pwui ::-webkit-scrollbar{width:10px;height:10px}.pwui ::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:6px}.pwui ::-webkit-scrollbar-track{background:0 0}.status-seg{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:2px;padding:3px;display:inline-flex}.status-seg__btn{font:inherit;color:var(--color-dim);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:none;padding:5px 11px;font-size:.76rem;font-weight:500}.status-seg__btn:hover{color:var(--color-text)}.status-seg__btn--active{color:var(--color-text);background:var(--color-card);font-weight:600;box-shadow:0 1px 3px #0000001a}.status-seg__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dashboard{gap:var(--space-4);flex-direction:column;display:flex}.dash-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding-bottom:var(--space-2);display:flex}.dash-title{font-size:var(--text-display);letter-spacing:-.02em;color:var(--color-text);font-weight:800}.dash-sub{font-size:var(--text-body);color:var(--color-faint);margin-top:2px}.dash-actions{flex:none;gap:10px;display:flex}.dash-ghost,.dash-primary{font-size:var(--text-label);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), transform var(--duration-fast);align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.dash-ghost{color:var(--color-text-soft);background:var(--color-card);border:1px solid var(--color-border)}.dash-ghost:hover:not(:disabled){background:var(--color-surface-hover)}.dash-ghost:disabled{opacity:.6;cursor:progress}.dash-primary{color:#fff;background:var(--color-primary);border:none}.dash-primary:hover{background:var(--color-primary-press);transform:translateY(-1px)}.dash-refresh-icon.spin{animation:.8s linear infinite dash-spin}@keyframes dash-spin{to{transform:rotate(360deg)}}.kpi-row{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.kpi{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:transform var(--duration-fast), box-shadow var(--duration-fast), border-color var(--duration-fast);flex-direction:column;gap:4px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--accent,var(--color-border-strong));width:3px;position:absolute;inset:0 auto 0 0}.kpi:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:0 10px 24px -16px #0000004d}.kpi--primary{--accent:var(--color-primary)}.kpi--ok{--accent:var(--color-green)}.kpi--warn{--accent:var(--color-amber)}.kpi--err{--accent:var(--color-red)}.kpi--run{--accent:var(--color-cyan)}.kpi--neutral{--accent:var(--color-border-strong)}.kpi-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--color-faint);font-weight:600}.kpi-value{font-size:var(--text-kpi);letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.kpi-suffix{font-size:var(--text-micro);color:var(--color-faint)}.bento{grid-template-columns:1.5fr 1fr;gap:16px;display:grid}.bento-runs{grid-column:1}.bento-env{grid-column:2}.bento-srv{grid-column:1}.bento-alerts{grid-column:2}.bento-dora{grid-column:1/-1}.dora-window{font-size:var(--text-micro);color:var(--color-faint);font-weight:600;font-family:var(--font-mono);margin-left:4px}.dora-grid,.dora-skeleton{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.dora-skeleton span{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-inset), var(--color-surface-hover), var(--color-inset));background-size:200% 100%;height:150px;animation:1.3s ease-in-out infinite dash-shimmer}@keyframes dash-shimmer{to{background-position:-200% 0}}.bento-first-deploy{grid-column:span 2}.first-deploy-body{gap:var(--space-1);padding:var(--space-3) 0;flex-direction:column;display:flex}.first-deploy-value{color:var(--color-text);font-size:2rem;font-weight:700}.first-deploy-caption{color:var(--color-text-soft);font-size:.8125rem}.first-deploy-sample{color:var(--color-faint);font-size:.75rem}.dashboard .card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:0 1px 2px #0000000a,0 8px 24px -18px #00000029}.dashboard .card-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard .card-title{font-size:var(--text-heading);letter-spacing:-.01em;color:var(--color-text);font-weight:700}.dashboard .card-link{font-size:var(--text-micro);color:var(--color-primary);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm);transition:color var(--duration-fast);background:0 0;border:none;padding:2px 4px;font-weight:600}.dashboard .card-link:hover{color:var(--color-primary-press)}.dashboard .card-empty{font-size:var(--text-caption);color:var(--color-text-soft);padding:var(--space-2) 0;margin:0;line-height:1.6}.dashboard .runs{flex-direction:column;min-height:0;display:flex}.dashboard .runs-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard .run-row{border-radius:var(--radius-sm);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--color-border);width:100%;transition:background var(--duration-fast);background:0 0;grid-template-columns:96px 1fr auto auto auto;align-items:center;gap:12px;padding:10px 8px;display:grid}.dashboard .run-row:hover{background:var(--color-surface-hover)}.dashboard .runs-list li:last-child .run-row{border-bottom:none}.dashboard .run-badge{font-size:var(--text-micro);white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-weight:600;display:inline-flex}.dashboard .run-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.dashboard .t-ok{color:var(--color-success);background:var(--color-green-soft)}.dashboard .t-err{color:var(--color-danger);background:var(--color-danger-soft)}.dashboard .t-run{color:var(--color-primary);background:var(--color-primary-soft)}.dashboard .t-run .run-dot{animation:1.4s ease-out infinite dash-pulse}.dashboard .t-wait,.dashboard .t-warn{color:var(--color-amber);background:var(--color-amber-soft)}.dashboard .t-roll,.dashboard .t-idle{color:var(--color-faint);background:var(--color-inset)}.dashboard .run-project{font-size:var(--text-caption);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dashboard .run-trigger{font-size:var(--text-micro);color:var(--color-faint);font-family:var(--font-mono)}.dashboard .run-dur{font-size:var(--text-micro);color:var(--color-text-soft);font-variant-numeric:tabular-nums}.dashboard .run-ago{font-size:var(--text-micro);color:var(--color-faint);white-space:nowrap}.dashboard .runs-skeleton,.dashboard .env-skeleton{flex-direction:column;gap:8px;padding:8px 0;display:flex}.dashboard .sk-row{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-inset), var(--color-surface-hover), var(--color-inset));background-size:200% 100%;height:38px;animation:1.3s ease-in-out infinite dash-shimmer}@keyframes dash-pulse{0%{opacity:1;box-shadow:0 0}to{opacity:.7;box-shadow:0 0 0 5px #0000}}.dashboard .env-list{margin:0;padding:0;list-style:none}.dashboard .env-row{border-bottom:1px solid var(--color-border);grid-template-columns:1.4fr auto auto auto auto;align-items:center;gap:10px;padding:9px 4px;display:grid}.dashboard .env-row:last-child{border-bottom:none}.dashboard .env-id{flex-direction:column;gap:1px;min-width:0;display:flex}.dashboard .env-name{font-size:var(--text-caption);color:var(--color-text);text-transform:capitalize;font-weight:700}.dashboard .env-proj{font-size:var(--text-micro);color:var(--color-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard .env-commit{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--color-primary);background:var(--color-primary-soft);border-radius:5px;padding:1px 6px}.dashboard .env-branch{font-size:var(--text-micro);color:var(--color-text-soft);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.dashboard .env-time{font-size:var(--text-micro);color:var(--color-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard .env-pill{font-size:var(--text-micro);white-space:nowrap;border-radius:999px;justify-self:end;padding:2px 8px;font-weight:600}.dashboard .env-pill.ok{color:var(--color-success);background:var(--color-green-soft)}.dashboard .env-pill.none{color:var(--color-faint);background:var(--color-inset);grid-column:2/-1}@media (width<=720px){.dashboard .run-row{grid-template-columns:84px 1fr auto}.dashboard .run-trigger,.dashboard .run-dur{display:none}.dashboard .env-row{grid-template-columns:1fr auto auto}.dashboard .env-branch,.dashboard .env-time{display:none}}@media (width<=1080px){.kpi-row{grid-template-columns:repeat(3,1fr)}.bento{grid-template-columns:1fr}.bento-runs,.bento-env,.bento-srv,.bento-alerts,.bento-dora,.bento-first-deploy{grid-column:1}.dora-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.kpi-row{grid-template-columns:repeat(2,1fr)}.dora-grid{grid-template-columns:1fr}}.dora-card{gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);box-shadow:var(--shadow);transition:transform var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);flex-direction:column;display:flex;position:relative;overflow:hidden}.dora-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.dora-card:focus-visible{outline:2px solid var(--band-color);outline-offset:2px}.dora-card--empty{box-shadow:none}.dora-card__bar{background:linear-gradient(90deg, var(--band-color), transparent 85%);height:3px;position:absolute;inset:0 0 auto}.dora-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.dora-card__titles{flex-direction:column;gap:2px;display:flex}.dora-card__title{font-size:var(--text-section);color:var(--color-text);letter-spacing:.01em;margin:0;font-weight:650}.dora-card__subtitle{font-family:var(--font-mono);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--color-faint);margin:0}.dora-card__band{font-size:var(--text-caps);border-radius:var(--rounded-full);color:var(--band-color);background:var(--band-soft);border:1px solid color-mix(in oklch, var(--band-color) 35%, transparent);white-space:nowrap;flex-shrink:0;padding:2px 9px;font-weight:600}.dora-card--empty .dora-card__band{color:var(--color-faint);border-color:var(--color-border)}.dora-card__value-row{align-items:baseline;gap:var(--space-2);display:flex}.dora-card__value{font-size:var(--text-kpi);color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:700;line-height:1}.dora-card--empty .dora-card__value{color:var(--color-faint)}.dora-card__caption{font-size:var(--text-micro);color:var(--color-dim);min-height:1.1em;margin:0}.dora-card__spark{padding-top:var(--space-2);margin-top:auto}.dora-card__spark--placeholder{height:40px}.twz-backdrop{z-index:900;background:var(--color-overlay);animation:backdrop-in var(--duration-normal,.22s) ease-out;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.twz-panel{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:640px;max-height:calc(100vh - 48px);animation:panel-in var(--duration-normal,.22s) ease-out;flex-direction:column;display:flex;overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.twz-header{border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.twz-header-icon{border-radius:var(--radius-lg);background:var(--color-cyan-soft);border:1px solid var(--color-cyan-line);width:34px;height:34px;color:var(--color-cyan);flex-shrink:0;place-items:center;display:grid}.twz-header-text{flex:1;min-width:0}.twz-title{color:var(--color-text);letter-spacing:-.01em;margin:0 0 2px;font-size:.98rem;font-weight:700}.twz-subtitle{color:var(--color-faint);margin:0;font-size:.78rem}.twz-close{cursor:pointer;width:30px;height:30px;color:var(--color-dim);border-radius:var(--radius-md);transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.twz-close:hover{color:var(--color-text);background:var(--color-inset)}.twz-close:disabled{opacity:.5;cursor:not-allowed}.twz-steps{flex:none;gap:14px;padding:10px 20px 0;display:flex}.twz-step{color:var(--color-faint);border-bottom:2px solid #0000;padding-bottom:6px;font-size:.72rem;font-weight:600}.twz-step--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.twz-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 20px 20px;display:flex;overflow-y:auto}.twz-section{flex-direction:column;gap:12px;display:flex}.tpl-grid{flex-direction:column;gap:8px;display:flex}.tpl-card{text-align:left;background:var(--color-card-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);transition:border-color var(--duration-fast), background var(--duration-fast);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.tpl-card:hover{border-color:var(--color-border-strong)}.tpl-card--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.tpl-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tpl-card-name{color:var(--color-text);font-size:.85rem;font-weight:600}.tpl-card-count{font-size:var(--text-micro);color:var(--color-cyan);background:var(--color-cyan-soft);border:1px solid var(--color-cyan-line);border-radius:999px;flex-shrink:0;padding:1px 7px;font-weight:600}.tpl-card-desc{color:var(--color-faint);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.5;display:-webkit-box;overflow:hidden}.twz-empty{text-align:center;background:var(--color-inset);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.twz-empty-title{color:var(--color-text);margin:0;font-size:.9rem;font-weight:700}.twz-empty-hint{color:var(--color-dim);margin:0;font-size:.78rem}.twz-empty-link{color:var(--color-cyan);border:1px solid var(--color-cyan-line);border-radius:var(--radius-md);background:var(--color-cyan-soft);align-items:center;gap:5px;padding:6px 13px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.tpl-picked{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 12px;display:flex}.tpl-picked-label{font-size:var(--text-micro);color:var(--color-faint);font-weight:500}.tpl-picked-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;font-weight:600;overflow:hidden}.tpl-picked-count{font-size:var(--text-micro);color:var(--color-cyan);background:var(--color-cyan-soft);border:1px solid var(--color-cyan-line);border-radius:999px;flex-shrink:0;padding:1px 7px;font-weight:600}.field-label{font-size:var(--text-label);color:var(--color-dim);font-weight:500}.field-input{width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-inset);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:9px 12px;font-size:.84rem}.field-input--mono{font-family:var(--font-mono)}.field-error{color:var(--color-red);font-size:.74rem}.field-hint{color:var(--color-faint);font-size:.73rem}.twz-skel{flex-direction:column;gap:10px;display:flex}.twz-skel--draft{padding-top:8px}.twz-generating{color:var(--color-faint);align-items:center;gap:6px;padding-top:6px;font-size:.78rem;display:flex}.twz-generating .dot{background:var(--color-cyan);border-radius:999px;width:5px;height:5px;animation:1.2s ease-in-out infinite dot-pulse}.twz-generating .dot:nth-child(2){animation-delay:.2s}.twz-generating .dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.draft-done{background:var(--color-green-soft);border:1px solid var(--color-green-line);border-radius:var(--radius-lg);align-items:center;gap:12px;padding:12px 14px;display:flex}.draft-done-icon{background:var(--color-card);border:1px solid var(--color-green-line);width:38px;height:38px;color:var(--color-green);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.draft-done-title{color:var(--color-green);margin:0 0 2px;font-size:.86rem;font-weight:700}.draft-done-hint{color:var(--color-dim);margin:0;font-size:.76rem}.draft-done-recommend{color:var(--color-cyan);margin:4px 0 0;font-size:.73rem;font-weight:600}.twz-footer{border-top:1px solid var(--color-border);background:var(--color-card);flex:none;align-items:center;gap:10px;padding:14px 20px;display:flex}.twz-footer>:first-child{margin-right:auto}.app-menu{display:inline-flex;position:relative}.app-menu__trigger{border-radius:var(--radius-md);min-width:28px;height:28px;color:var(--color-faint);font-family:var(--font-sans);font-size:var(--text-micro);cursor:pointer;transition:color var(--duration-fast), background-color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-weight:600;display:inline-flex}.app-menu__trigger--text,.app-menu__trigger--bordered{border-color:var(--color-border-strong)}.app-menu__trigger:hover:not(:disabled){color:var(--color-text);background:var(--color-inset)}.app-menu--open .app-menu__trigger{color:var(--color-text);background:var(--color-card-2);border-color:var(--color-border-strong)}.app-menu__trigger:disabled{opacity:.4;cursor:not-allowed}.app-menu__caret{color:var(--color-faint);transition:transform var(--duration-fast)}.app-menu--open .app-menu__caret{transform:rotate(180deg)}.app-menu__panel{z-index:30;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-card-2);min-width:188px;max-height:320px;box-shadow:var(--shadow-modal);padding:5px;position:absolute;top:calc(100% + 6px);overflow-y:auto}.app-menu__panel--end{right:0}.app-menu__panel--start{left:0}.app-menu__item{border-radius:calc(var(--radius-md) - 2px);width:100%;min-height:30px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-micro);text-align:left;cursor:pointer;transition:background-color var(--duration-fast), color var(--duration-fast);background:0 0;border:0;align-items:center;gap:9px;padding:5px 8px;font-weight:500;display:flex}.app-menu__item:hover:not(:disabled),.app-menu__item:focus-visible{background:var(--color-inset);outline:none}.app-menu__item:disabled{opacity:.45;cursor:not-allowed}.app-menu__item--danger{color:var(--color-red)}.app-menu__icon{width:15px;height:15px;color:var(--color-faint);flex-shrink:0;place-items:center;display:grid}.app-menu__item--danger .app-menu__icon{color:var(--color-red)}.app-menu__icon svg{width:14px;height:14px}.app-menu__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-menu__sep{background:var(--color-border);height:1px;margin:5px 6px;display:block}.empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;background:var(--color-inset);flex-direction:column;align-items:center;padding:32px 20px;display:flex}.empty-state__icon{background:var(--color-card);border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-faint);border-radius:14px;flex-shrink:0;place-items:center;margin-bottom:13px;display:grid}.empty-state__icon svg{width:22px;height:22px}.empty-state__title{color:var(--color-text);font-size:.92rem;font-weight:600}.empty-state__desc{color:var(--color-faint);max-width:38ch;margin:6px auto 0;font-size:.8rem;line-height:1.55}.empty-state__cta{margin-top:16px}.error-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;background:var(--color-card-2);padding:28px 20px}.error-state__icon{background:var(--color-red-soft);width:46px;height:46px;color:var(--color-red);border-radius:13px;place-items:center;margin:0 auto 12px;display:grid}.error-state__icon svg{width:22px;height:22px}.error-state__title{color:var(--color-text);font-size:.92rem;font-weight:600}.error-state__desc{color:var(--color-faint);max-width:48ch;margin:6px auto 0;font-size:.8rem;line-height:1.55}.error-state__actions{margin-top:14px}.error-state__retry{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit;font-size:var(--text-label);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast);background:0 0;padding:7px 14px;font-weight:600}.error-state__retry:hover{background:var(--color-inset)}.app-banner{border-radius:var(--radius-lg);font-size:var(--text-body);border:1px solid #0000;align-items:center;gap:10px;padding:11px 14px;line-height:1.5;display:flex}.app-banner__icon{flex-shrink:0;align-items:center;display:flex}.app-banner__icon svg{width:16px;height:16px;display:block}.app-banner__body{flex:1;min-width:0}.app-banner__title{font-weight:600;display:block}.app-banner--info,.app-banner--ai{background:var(--color-cyan-soft);border-color:var(--color-cyan-line);color:var(--color-text)}.app-banner--info .app-banner__icon,.app-banner--ai .app-banner__icon{color:var(--color-cyan)}.app-banner--warn{background:var(--color-amber-soft);border-color:var(--color-amber-line);color:var(--color-text)}.app-banner--warn .app-banner__icon{color:var(--color-amber)}.app-banner--error{background:var(--color-red-soft);border-color:var(--color-red-line);color:var(--color-text)}.app-banner--error .app-banner__icon{color:var(--color-red)}.app-banner--success{background:var(--color-green-soft);border-color:var(--color-green-line);color:var(--color-text)}.app-banner--success .app-banner__icon{color:var(--color-green)}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-field__label-row{align-items:center;gap:var(--space-2);display:flex}.form-field__label{font-size:var(--text-label);color:var(--color-dim);cursor:pointer;font-weight:500}.form-field--disabled .form-field__label{opacity:.5}.form-field__required{color:var(--color-red);margin-left:2px}.form-field__hint{color:var(--color-faint);margin:0;font-size:.76rem;line-height:1.4}.form-field__error{color:var(--color-red);align-items:center;gap:5px;margin:0;font-size:.74rem;line-height:1.4;display:flex}.form-field__error svg{flex-shrink:0;width:12px;height:12px}.form-field--error input,.form-field--error textarea,.form-field--error select{border-color:var(--color-red)!important}.form-field--error input:focus,.form-field--error textarea:focus{box-shadow:0 0 0 3px var(--color-red-soft)!important}.sk-block{background:linear-gradient(90deg, var(--color-inset) 25%, var(--color-shimmer) 37%, var(--color-inset) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s ease-in-out infinite sk-shimmer;display:block}.sk-block--circle{border-radius:999px}.sk-block--rounded{border-radius:var(--radius-md)}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.cfm-overlay{background:var(--color-overlay);z-index:8000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:.16s ease-out ui-scrim-in;position:fixed;inset:0}.cfm-dialog{z-index:8001;background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:min(400px,100vw - 40px);box-shadow:var(--shadow-modal);animation:.18s ease-out ui-modal-in;position:fixed;top:50%;left:50%;overflow:hidden;translate:-50% -50%}.cfm-dialog__header{align-items:center;gap:11px;padding:16px 18px 12px;display:flex}.cfm-dialog__icon{border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.cfm-dialog__icon svg{width:17px;height:17px}.cfm-dialog--danger .cfm-dialog__icon{background:var(--color-red-soft);color:var(--color-red)}.cfm-dialog--primary .cfm-dialog__icon{background:var(--color-primary-soft);color:var(--color-primary)}.cfm-dialog__title{color:var(--color-text);margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.cfm-dialog__body{color:var(--color-dim);padding:0 18px 14px;font-size:.82rem;line-height:1.6}.cfm-dialog__body p{margin:0}.cfm-dialog__footer{align-items:center;gap:9px;padding:12px 18px 16px;display:flex}.cfm-dialog__spacer{flex:1}.cfm-dialog__cancel{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit;font-size:var(--text-label);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast);background:0 0;padding:8px 14px;font-weight:600}.cfm-dialog__cancel:hover{background:var(--color-inset)}.cfm-dialog__confirm{border-radius:var(--radius-md);font:inherit;font-size:var(--text-label);cursor:pointer;color:var(--color-on-accent);background:var(--color-primary);transition:background var(--duration-fast);border:none;padding:8px 14px;font-weight:600}.cfm-dialog__confirm:hover{background:var(--color-primary-press)}.cfm-dialog--danger .cfm-dialog__confirm{background:var(--color-red)}.cfm-dialog--danger .cfm-dialog__confirm:hover{background:var(--color-red);filter:brightness(.92)}.params-editor{flex-direction:column;gap:7px;display:flex}.params-rows{flex-direction:column;gap:6px;display:flex}.params-row{align-items:center;gap:6px;display:flex}.params-input{height:30px;font:inherit;color:var(--color-text);background:var(--color-bg-subtle,var(--color-card));border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color var(--duration-fast);padding:0 9px;font-size:.8rem}.params-input:focus{border-color:var(--color-primary);outline:none}.params-input--key{min-width:0;font-family:var(--font-mono);flex:0 0 38%;font-weight:600}.params-input--val{flex:1;min-width:0}.params-eq{color:var(--color-faint);font-weight:700}.params-del{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-faint);cursor:pointer;transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:grid}.params-del:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-soft)}.params-del:disabled{opacity:.4;cursor:default}.params-empty{color:var(--color-faint);margin:0;font-size:.78rem;font-style:italic}.params-add{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);height:28px;color:var(--color-dim);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast);background:0 0;align-self:flex-start;align-items:center;gap:5px;padding:0 11px;font-size:.76rem;font-weight:500;display:inline-flex}.params-add:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.params-add:disabled{opacity:.5;cursor:default}.params-hint{color:var(--color-faint);margin:0;font-size:.7rem;line-height:1.45}.params-hint code{font-family:var(--font-mono);background:var(--color-bg-subtle,#0000000d);border-radius:3px;padding:0 3px;font-size:.92em}.typed-params{flex-direction:column;gap:12px;display:flex}.tp-field{flex-direction:column;gap:5px;display:flex}.tp-label{color:var(--color-text);align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.tp-req{color:var(--color-danger)}.tp-key{font-family:var(--font-mono);color:var(--color-faint);background:var(--color-inset);border-radius:4px;padding:0 4px;font-size:.7rem;font-weight:400}.tp-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-card);height:34px;color:var(--color-text);font:inherit;outline:none;width:100%;padding:0 10px;font-size:.85rem}.tp-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.tp-toggle{border:1px solid var(--color-border-strong);background:var(--color-inset);cursor:pointer;width:fit-content;height:34px;color:var(--color-dim);font:inherit;transition:background-color var(--duration-fast);border-radius:999px;align-items:center;gap:9px;padding:0 12px 0 4px;font-size:.8rem;display:inline-flex}.tp-toggle--on{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.tp-toggle-knob{background:var(--color-card);border:1px solid var(--color-border-strong);width:24px;height:24px;transition:transform var(--duration-fast);border-radius:50%;flex:none}.tp-toggle--on .tp-toggle-knob{border-color:var(--color-primary);transform:translate(2px)}.tp-toggle-text{font-family:var(--font-mono)}.projects-root{gap:var(--card-gap);flex-direction:column;display:flex}.project-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}@media (width<=960px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.project-grid{grid-template-columns:minmax(0,1fr)}}.project-card{gap:var(--space-3);min-width:0;padding:var(--space-4);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);flex-direction:column;display:flex}.project-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.project-card--ghost{cursor:default}.project-card--ghost:hover{border-color:var(--color-border);transform:none}.project-card__top{align-items:center;gap:var(--space-3);min-width:0;display:flex}.project-card__mark{border-radius:var(--rounded-md);background:var(--color-inset);width:32px;height:32px;color:var(--color-on-accent);font-size:var(--text-section);flex-shrink:0;place-items:center;font-weight:700;line-height:1;display:grid}.project-card__mark--t1{background:var(--color-id-1)}.project-card__mark--t2{background:var(--color-id-2)}.project-card__mark--t3{background:var(--color-id-3)}.project-card__mark--t4{background:var(--color-id-4)}.project-card__mark--t5{background:var(--color-id-5)}.project-card__mark--t6{background:var(--color-id-6)}.project-card__none{color:var(--color-faint);font-size:var(--text-label);flex-shrink:0}.project-card__name{min-width:0;font-size:var(--text-card-title);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:600;line-height:1.35;overflow:hidden}.project-card__name a{color:var(--color-text);text-decoration:none}.project-card__name a:hover{color:var(--color-primary);text-decoration:underline}.project-card__info{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.project-card__repo{min-width:0;color:var(--color-dim);font-family:var(--font-mono);font-size:var(--text-section);align-items:center;gap:6px;line-height:1.4;text-decoration:none;display:flex}.project-card__repo svg{width:14px;height:14px;color:var(--color-faint);flex-shrink:0}.project-card__repo-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-card__repo:hover,.project-card__repo:hover svg{color:var(--color-primary)}.project-card__meta{flex-direction:column;min-width:0;display:flex}.project-card__meta-row{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;padding:2.5px 0;font-size:12.5px;display:flex}.project-card__meta-label{color:var(--color-faint);flex-shrink:0}.project-card__meta-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-dim);overflow:hidden}.project-card__meta-value--accent{color:var(--color-primary);font-weight:600}.project-card__foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:auto;display:flex}.project-card__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.project-card__icon-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:26px;height:26px;color:var(--color-dim);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast);background:0 0;place-items:center;padding:0;display:inline-grid}.project-card__icon-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.project-card__icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.project-card__icon-btn--danger:hover{color:var(--color-red);border-color:var(--color-red);background:var(--color-red-soft)}.project-card__icon-btn--run{color:var(--color-primary);border-color:var(--color-primary)}.project-card__icon-btn--run:hover{color:var(--color-primary);background:var(--color-primary-soft)}.pagination{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.urgent-toggle{font-size:var(--text-label);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.urgent-toggle input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-red);cursor:pointer}.inline-credential{gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--rounded-lg);background:var(--color-inset);flex-direction:column;display:flex}.inline-credential__title{font-size:var(--text-label);color:var(--color-text);font-weight:600}.inline-credential__types{align-items:center;gap:var(--space-2);display:flex}.inline-credential__types-label{font-size:var(--text-micro);color:var(--color-faint)}.test-clone{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.test-clone__ok{font-size:var(--text-micro);color:var(--color-green);align-items:center;gap:6px;display:inline-flex}.test-clone__ok svg{width:13px;height:13px}.test-clone__error{font-size:var(--text-micro);color:var(--color-red)}.app-btn{height:36px;font-family:var(--font-sans);font-size:var(--text-label);border-radius:var(--rounded);padding:0 var(--space-4);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast), opacity var(--duration-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.app-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-btn :slotted(svg){flex-shrink:0;width:14px;height:14px}.app-btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--text-micro);gap:5px}.app-btn--sm :slotted(svg){width:12px;height:12px}.app-btn:disabled,.app-btn--loading{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.app-btn--primary{background:var(--color-primary);color:var(--color-on-accent);box-shadow:0 5px 16px var(--color-primary-soft)}.app-btn--primary:hover:not(:disabled):not(.app-btn--loading){background:var(--color-primary-press);box-shadow:0 7px 20px var(--color-primary-soft);transform:translateY(-1px)}.app-btn--primary:active:not(:disabled):not(.app-btn--loading){background:var(--color-primary-press);transform:translateY(0)}.app-btn--default{background:var(--color-card-2);color:var(--color-text);border-color:var(--color-border-strong)}.app-btn--default:hover:not(:disabled):not(.app-btn--loading){border-color:var(--color-faint);transform:translateY(-1px)}.app-btn--default:active:not(:disabled):not(.app-btn--loading){transform:translateY(0)}.app-btn--ghost{color:var(--color-dim);border-color:var(--color-border-strong);background:0 0}.app-btn--ghost:hover:not(:disabled):not(.app-btn--loading){color:var(--color-text)}.app-btn--danger{background:var(--color-red-soft);color:var(--color-red);border-color:var(--color-red-line)}.app-btn--danger:hover:not(:disabled):not(.app-btn--loading){box-shadow:0 0 0 3px var(--color-red-soft)}.app-btn--danger:focus-visible{outline-color:var(--color-red)}.app-btn--ai{background:var(--color-cyan-soft);color:var(--color-cyan);border-color:var(--color-cyan-line)}.app-btn--ai:hover:not(:disabled):not(.app-btn--loading){box-shadow:0 0 0 3px var(--color-cyan-soft)}.app-btn--ai:focus-visible{outline-color:var(--color-cyan)}.app-btn__spinner{border-radius:var(--rounded-full);border:2px solid var(--color-track-on-accent);border-top-color:var(--color-on-accent);flex-shrink:0;width:13px;height:13px;animation:.7s linear infinite btn-spin;display:inline-block}.app-btn--default .app-btn__spinner,.app-btn--ghost .app-btn__spinner{border-color:var(--color-border-strong);border-top-color:var(--color-dim)}.app-btn--danger .app-btn__spinner{border-color:var(--color-red-soft);border-top-color:var(--color-red)}.app-btn--ai .app-btn__spinner{border-color:var(--color-cyan-soft);border-top-color:var(--color-cyan)}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-btn__spinner{animation:none}}.badge{font-size:var(--text-label);border-radius:var(--rounded-md);white-space:nowrap;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-weight:600;line-height:1;display:inline-flex}.badge__dot{border-radius:var(--rounded-full);flex-shrink:0;width:6px;height:6px}.badge--success{color:var(--color-green);background:var(--color-green-soft)}.badge--success .badge__dot{background:var(--color-green)}.badge--failed{color:var(--color-red);background:var(--color-red-soft);border:1px solid var(--color-red-line)}.badge--failed .badge__dot{background:var(--color-red)}.badge--running{color:var(--color-amber);background:var(--color-amber-soft)}.badge--running .badge__dot{background:var(--color-amber);animation:1.1s ease-in-out infinite badge-pulse}.badge--partial{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line)}.badge--partial .badge__dot{background:var(--color-amber)}.badge--rolledback{color:var(--color-dim);background:var(--color-inset)}.badge--rolledback .badge__dot{background:var(--color-faint)}.badge--queued{color:var(--color-faint);background:var(--color-inset)}.badge--queued .badge__dot{background:var(--color-faint)}.badge--canceled{color:var(--color-dim);background:var(--color-inset)}.badge--canceled .badge__dot{background:var(--color-faint)}.badge--waiting_approval{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line)}.badge--waiting_approval .badge__dot{background:var(--color-amber);animation:1.1s ease-in-out infinite badge-pulse}.badge--plain{color:var(--color-dim);background:0 0;border-color:#0000;padding:0;font-weight:500}.badge--plain .badge__dot{width:7px;height:7px}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.badge--running .badge__dot,.badge--waiting_approval .badge__dot{animation:none}}.runs-root{gap:var(--card-gap);flex-direction:column;display:flex}.page-header{align-items:flex-start;gap:16px;display:flex}.page-header-text{flex:1}.page-title{letter-spacing:-.02em;color:var(--color-text);font-size:22.5px;font-weight:700;line-height:1.2}.page-sub{color:var(--color-faint);margin-top:5px;font-size:12.3px;line-height:1.5}.urgent-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.urgent-toggle input[type=checkbox]{accent-color:#c0392b;cursor:pointer;width:15px;height:15px}.urgent-toggle-text{color:var(--color-dim);font-size:12.3px}.btn-run{background:var(--color-primary);color:#fff;height:34px;font-family:var(--font-sans);border-radius:var(--rounded);cursor:pointer;box-shadow:0 5px 16px var(--color-primary-soft);transition:background-color var(--duration-fast), transform var(--duration-fast), box-shadow var(--duration-fast);white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:6px;padding:0 15px;font-size:12.45px;font-weight:600;display:inline-flex}.btn-run:hover:not(:disabled){background:var(--color-primary-press);transform:translateY(-1px)}.btn-run:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.btn-run:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.modal-scrim{z-index:100;animation:scrim-in var(--duration-fast) ease both;background:oklch(0% 0 0/.62);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--rounded-xl);width:100%;max-width:520px;box-shadow:var(--shadow-modal);animation:modal-in .35s var(--ease-out-expo) both;overflow:hidden}.modal--sm{max-width:420px}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal-scrim,.modal{animation:none}}.modal-head{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.modal-icon{border-radius:var(--rounded-lg);background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.modal-title{color:var(--color-text);letter-spacing:-.01em;margin-top:2px;font-size:15px;font-weight:600}.modal-sub{color:var(--color-faint);margin-top:3px;font-size:11.7px;line-height:1.4}.modal-close{border-radius:var(--rounded-md);width:30px;height:30px;color:var(--color-faint);cursor:pointer;transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.modal-close:hover{color:var(--color-text);background:var(--color-inset)}.modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-close:disabled{opacity:.4;cursor:not-allowed}.modal-banner{border-radius:var(--rounded);margin:16px 20px 0}.modal-form{flex-direction:column;gap:16px;padding:20px;display:flex}.modal-footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--color-dim);font-size:11.7px;font-weight:500}.field-hint-inline{color:var(--color-faint);font-weight:400}.field-input{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded);width:100%;height:38px;color:var(--color-text);font-family:var(--font-sans);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 12px;font-size:12.9px}.field-input::placeholder{color:var(--color-faint)}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.field-input--error{border-color:var(--color-red)}.field-input--error:focus{border-color:var(--color-red);box-shadow:0 0 0 3px var(--color-red-soft)}.field-input:disabled{opacity:.5;cursor:not-allowed}.field-input--mono{font-family:var(--font-mono);font-size:12px}.select-wrap{position:relative}.field-select{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded);width:100%;height:38px;color:var(--color-text);font-family:var(--font-sans);appearance:none;cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 36px 0 12px;font-size:12.9px}.field-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.field-select.field-input--error{border-color:var(--color-red)}.field-select:disabled{opacity:.5;cursor:not-allowed}.field-select option{background:var(--color-card-2);color:var(--color-text)}.select-arrow{color:var(--color-faint);pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.field-error{color:var(--color-red);font-size:11.4px;line-height:1.4}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:currentColor;animation:none}}.run-list-panel{gap:var(--card-gap);flex-direction:column;display:flex}.filter-bar{background:var(--color-inset);border-radius:var(--rounded);flex-wrap:wrap;gap:4px;width:fit-content;padding:3px;display:flex}.filter-tab{height:30px;color:var(--color-dim);font-family:var(--font-sans);border-radius:var(--rounded-md);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:none;padding:0 12px;font-size:11.7px;font-weight:500}.filter-tab:hover{color:var(--color-text);background:oklch(100% 0 0/.04)}.filter-tab--active{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow)}.filter-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.ext-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:-2px;display:flex}.ext-filter{flex-direction:column;gap:2px;display:flex}.ext-filter__label{color:var(--color-faint);font-size:10.5px;font-weight:500}.ext-filter__select,.ext-filter__input{border:1px solid var(--color-border);border-radius:var(--rounded-md);background:var(--color-card);height:30px;color:var(--color-text);font-family:var(--font-sans);min-width:120px;padding:0 8px;font-size:11.7px}.ext-filter__select:focus,.ext-filter__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:#0000}.ext-filter__clear{border:1px solid var(--color-border);border-radius:var(--rounded-md);height:30px;color:var(--color-dim);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;padding:0 10px;font-size:11.7px}.ext-filter__clear:hover{color:var(--color-text);border-color:var(--color-primary)}.result-count{color:var(--color-faint);margin-top:-4px;font-size:11.7px}.table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);overflow:hidden}.table-head{background:var(--color-card-2);border-bottom:1px solid var(--color-border);grid-template-columns:110px 1fr 160px 120px 80px 90px 100px;align-items:center;gap:12px;height:38px;padding:0 18px;display:grid}.th{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);font-size:10.65px;font-weight:600}.th--action{text-align:right}.group-label{background:var(--color-inset);border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:7px 18px;display:flex}.group-label-text{letter-spacing:.03em;color:var(--color-dim);font-size:11.25px;font-weight:600}.group-label-count{color:var(--color-faint);font-size:10.8px}.run-row{border-bottom:1px solid var(--color-border);cursor:pointer;min-height:52px;transition:background-color var(--duration-fast);outline:none;grid-template-columns:110px 1fr 160px 120px 80px 90px 100px;align-items:center;gap:12px;padding:0 18px;display:grid;position:relative}.run-row:last-child{border-bottom:none}.run-row:hover{background:var(--color-inset)}.run-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.run-row--failed{background:linear-gradient(90deg, var(--color-red-soft) 0%, transparent 48%)}.run-row--failed:hover{background:linear-gradient(90deg, oklch(62% .18 22/.2) 0%, var(--color-inset) 55%)}.run-row-progress{background:linear-gradient(90deg, transparent 0%, var(--color-amber) 40%, var(--color-primary) 60%, transparent 100%);background-size:200% 100%;height:2px;animation:2s linear infinite flow;position:absolute;bottom:0;left:0;right:0}@keyframes flow{0%{background-position:200%}to{background-position:-200%}}@media (prefers-reduced-motion:reduce){.run-row-progress{background:var(--color-amber);animation:none}}.status-pill{border-radius:var(--rounded-md);font-size:var(--text-micro);white-space:nowrap;align-items:center;gap:5px;padding:2px 8px;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.status-dot--pulse{animation:none}}.col-status{align-items:center;display:flex}.col-project{flex-direction:column;gap:2px;min-width:0;display:flex}.project-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.9px;font-weight:500;overflow:hidden}.run-id{color:var(--color-faint);font-size:10.8px}.col-branch{flex-direction:column;gap:3px;min-width:0;display:flex}.branch-tag{color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11.7px;overflow:hidden}.commit-hash{color:var(--color-faint);font-size:10.8px}.col-trigger{flex-direction:column;gap:3px;display:flex}.trigger-badge{color:var(--color-dim);font-size:11.25px;font-weight:600}.trigger-badge--urgent{color:#c0392b;border:1px solid #c0392b;border-radius:999px;padding:0 6px;line-height:1.4}.trigger-actor{color:var(--color-faint);font-size:10.8px}.col-dur{align-items:center;display:flex}.dur-value{color:var(--color-dim);font-size:12px}.col-time{align-items:center;display:flex}.time-value{color:var(--color-faint);font-size:11.7px}.col-action{justify-content:flex-end;align-items:center;display:flex}.diag-link{color:var(--color-red);white-space:nowrap;opacity:.7;transition:opacity var(--duration-fast);font-size:11.25px;font-weight:600}.row-retry-btn{color:var(--color-primary);border-radius:var(--rounded-full);cursor:pointer;white-space:nowrap;opacity:.55;transition:opacity var(--duration-fast), background-color var(--duration-fast);background:0 0;border:1px solid oklch(60% .16 255/.4);align-items:center;gap:5px;padding:3px 10px;font-size:10.8px;font-weight:600;display:inline-flex}.run-row:hover .row-retry-btn,.row-retry-btn:focus-visible{opacity:1}.run-row:hover .row-retry-btn{background:oklch(60% .16 255/.12)}.row-retry-btn:disabled{opacity:.4;cursor:wait}.row-retry-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.run-row:hover .diag-link{opacity:1}.pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.pagination-btn{color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm,4px);cursor:pointer;transition:border-color var(--duration-fast), opacity var(--duration-fast);background:0 0;padding:4px 12px;font-size:11.25px}.pagination-btn:hover:not(:disabled){border-color:var(--color-text)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-hint{color:var(--color-faint);font-size:11.25px}.skel-group-label{border-radius:0;width:100%;height:32px}.skel-row{border-bottom:1px solid var(--color-border);grid-template-columns:110px 1fr 160px 120px 80px 90px;align-items:center;gap:12px;padding:12px 18px;display:grid}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--color-inset);animation:none}}.skel--pill{width:80px;height:22px}.skel--name{width:70%;height:14px}.skel--branch{width:90px;height:12px}.skel--trigger{width:70px;height:12px}.skel--dur{width:50px;height:12px}.skel--time{width:70px;height:12px}.banner-retry:hover{opacity:.8}.empty-state{text-align:center;background:var(--color-card);border:1.5px dashed var(--color-border-strong);border-radius:var(--rounded-card);flex-direction:column;align-items:center;gap:10px;padding:72px 32px;display:flex}.empty-icon{border-radius:var(--rounded-xl);background:var(--color-inset);border:1.5px dashed var(--color-border-strong);width:56px;height:56px;color:var(--color-dim);place-items:center;margin-bottom:4px;display:grid}.empty-label{color:var(--color-text);font-size:15px;font-weight:600}.empty-hint{color:var(--color-faint);max-width:44ch;margin-bottom:6px;font-size:12.3px;line-height:1.6}.quality-card{border:1px solid var(--color-line,var(--color-border));border-radius:var(--rounded-lg,10px);background:var(--color-surface,transparent);margin-bottom:14px;overflow:hidden}.quality-card__head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:10px 14px;display:flex}.quality-card__head:focus-visible{outline:2px solid var(--color-accent,#4f7cff);outline-offset:-2px}.quality-card__title{font-size:var(--text-body);color:var(--color-text);margin:0;font-weight:600}.quality-card__summary{font-size:var(--text-label);color:var(--color-dim);gap:18px;margin-left:auto;display:flex}.quality-card__metric strong{color:var(--color-text);font-variant-numeric:tabular-nums;margin-left:4px}.quality-card__chevron{color:var(--color-dim);flex-shrink:0;transition:transform .15s}.quality-card__chevron--open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.quality-card__chevron{transition:none}}.quality-card__body{border-top:1px solid var(--color-line,var(--color-border));padding:4px 14px 14px}.quality-card__filters{flex-wrap:wrap;gap:14px;padding:8px 0 10px;display:flex}.quality-card__filter{font-size:var(--text-label);color:var(--color-dim);align-items:center;gap:6px;display:flex}.quality-card__select{font-size:var(--text-label);color:var(--color-text);background:var(--color-bg,transparent);border:1px solid var(--color-line,var(--color-border));border-radius:var(--rounded-md,6px);padding:3px 8px}.quality-card__error,.quality-card__empty{text-align:center;font-size:var(--text-label);color:var(--color-dim);padding:22px 0}.runs-filter-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.run-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:2px;margin-bottom:4px;display:flex}.run-tab{color:var(--color-dim);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:7px 12px;font-size:11.7px;font-weight:600;position:relative}.run-tab:hover{color:var(--color-text)}.run-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.run-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.anchor-nav{z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:6px 0;display:flex;position:sticky;top:0}.anchor-link{color:var(--color-dim);background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded-full);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast), background-color var(--duration-fast);padding:3px 10px;font-size:11.4px;font-weight:600}.anchor-link:hover{color:var(--color-text);background:var(--color-card-2)}.anchor-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.approval-gate{background:var(--color-amber-soft);border:1px solid var(--color-amber);border-radius:var(--rounded);align-items:flex-start;gap:13px;margin:14px 0;padding:14px 16px;display:flex}.approval-gate-icon{border-radius:var(--rounded-md);background:var(--color-amber);color:#fff;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.approval-gate-body{flex:1;min-width:0}.approval-gate-reason{color:var(--color-text);white-space:pre-wrap;word-break:break-word;margin:2.25px 0;font-size:12.9px}.approval-gate-reason-label{color:var(--color-text-secondary);margin-right:5.25px}.approval-gate-title{color:var(--color-text);font-size:13.8px;font-weight:650}.approval-gate-sub{color:var(--color-dim);margin-top:2px;font-size:12px}.approval-gate-error{color:var(--color-red);margin-top:6px;font-size:11.7px}.approval-gate-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.approval-btn{border-radius:var(--rounded-md);height:34px;font:inherit;cursor:pointer;transition:filter var(--duration-fast), background-color var(--duration-fast);border:1px solid #0000;padding:0 16px;font-size:12.6px;font-weight:600}.approval-btn:disabled{opacity:.6;cursor:default}.approval-btn--approve{background:var(--color-green);color:#fff}.approval-btn--approve:not(:disabled):hover{filter:brightness(1.06)}.approval-btn--reject{border-color:var(--color-border-strong);color:var(--color-dim);background:0 0}.approval-btn--reject:not(:disabled):hover{border-color:var(--color-red);color:var(--color-red)}.run-detail-root{gap:var(--card-gap);flex-direction:column;display:flex}.breadcrumb{color:var(--color-faint);align-items:center;gap:8px;font-size:12.3px;display:flex}.back-btn{color:var(--color-dim);font-family:var(--font-sans);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;align-items:center;gap:4px;padding:3px 0;font-size:12.3px;display:inline-flex}.back-btn:hover{color:var(--color-primary)}.back-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--rounded-sm)}.breadcrumb-sep{color:var(--color-faint)}.breadcrumb-cur{color:var(--color-dim)}.breadcrumb-id{color:var(--color-faint);font-size:11.7px}.detail-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);box-shadow:var(--shadow);animation:card-in .35s var(--ease-out-expo) both;overflow:hidden}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.detail-card{animation:none}}.detail-head{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px 16px;display:flex}.detail-head-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.detail-title{color:var(--color-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17.4px;font-weight:600;overflow:hidden}.detail-id{color:var(--color-faint);font-size:13.5px;font-weight:400}.status-pill{border-radius:var(--rounded-md);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;font-size:11.7px;font-weight:600;display:inline-flex}.status-dot{border-radius:var(--rounded-full);flex-shrink:0;width:6px;height:6px}.status-dot--pulse{animation:1.1s ease-in-out infinite dot-pulse}@media (prefers-reduced-motion:reduce){.status-dot--pulse{animation:none}}.meta-strip{border-bottom:1px solid var(--color-border);background:var(--color-inset);flex-wrap:wrap;gap:0;padding:14px 24px;display:flex}.meta-item{flex-direction:column;gap:3px;min-width:120px;padding:4px 20px 4px 0;display:flex}.meta-key{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);font-size:10.65px;font-weight:600}.meta-val{color:var(--color-dim);font-size:12.45px}.meta-val--failed{color:var(--color-red)}.spec-source-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.7px;font-weight:600;line-height:1.5;display:inline-flex}.spec-source-badge-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.spec-source-badge--repo{color:var(--color-accent,#2563eb);background:color-mix(in oklab, var(--color-accent,#2563eb) 12%, transparent);border-color:color-mix(in oklab, var(--color-accent,#2563eb) 28%, transparent)}.spec-source-badge--stored{color:var(--color-dim);background:color-mix(in oklab, var(--color-dim) 12%, transparent);border-color:color-mix(in oklab, var(--color-dim) 24%, transparent)}.spec-source-badge-hint{cursor:help;font-size:10.8px}.state-section{flex-direction:column;gap:20px;padding:24px;display:flex}.section-title{color:var(--color-text);letter-spacing:-.01em;margin-bottom:16px;font-size:12.9px;font-weight:600}.subsection-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-faint);margin-bottom:10px;font-size:11.7px;font-weight:600}.dag-section{background:var(--color-inset);border-radius:var(--rounded);border:1px solid var(--color-border);padding:16px 20px}.dag-section .section-title{margin-bottom:14px}.dag-section .subsection-title{margin-bottom:12px}.skewer-section{background:var(--color-inset);border-radius:var(--rounded);border:1px solid var(--color-border);padding:16px 20px}.skewer{align-items:flex-start;gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.skewer-item{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.skewer-connector{background:var(--color-border-strong);flex-shrink:0;align-self:center;width:36px;height:2px;margin-bottom:20px;position:relative;top:-12px}.skewer{flex-direction:row;align-items:flex-start;display:flex}.skewer-item{flex-direction:column;align-items:center;gap:8px;display:flex}.skewer-connector{flex-shrink:0;align-self:flex-start;width:36px;height:2px;margin-top:5px}.connector--ok{background:var(--color-green)}.connector--bad{background:linear-gradient(90deg, var(--color-green), var(--color-red))}.connector--running{background:linear-gradient(90deg, var(--color-green) 40%, var(--color-amber))}.skewer-connector:not(.connector--ok):not(.connector--bad):not(.connector--running){background:var(--color-border-strong)}.skewer-node{border-radius:var(--rounded-full);width:13px;height:13px;transition:box-shadow var(--duration-fast);flex-shrink:0;position:relative}.node--pending{background:var(--color-inset);border:2px solid var(--color-border-strong)}.node--ok{background:var(--color-green);box-shadow:0 0 0 4px var(--color-green-soft)}.node--running{background:var(--color-amber);box-shadow:0 0 0 4px var(--color-amber-soft)}.node--bad{background:var(--color-red);box-shadow:0 0 0 4px var(--color-red-soft), 0 0 8px var(--color-red-soft);animation:1.2s ease-in-out infinite node-bad-pulse}@keyframes node-bad-pulse{0%,to{box-shadow:0 0 0 4px var(--color-red-soft), 0 0 8px var(--color-red-soft)}50%{box-shadow:0 0 0 6px var(--color-red-soft), 0 0 14px oklch(62% .18 22/.3)}}@media (prefers-reduced-motion:reduce){.node--bad{animation:none}}.node--skip{background:var(--color-inset);border:2px dashed var(--color-border-strong)}.node-pulse-ring{border-radius:var(--rounded-full);border:2px solid var(--color-amber);opacity:0;animation:1.1s ease-out infinite ring-pulse;position:absolute;inset:-4px}@keyframes ring-pulse{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.node-pulse-ring{animation:none;display:none}}.skewer-label{color:var(--color-faint);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:72px;font-size:10.2px;overflow:hidden}.running-body{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=820px){.running-body{grid-template-columns:1fr}}.step-list{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded);padding:14px 16px}.steps{flex-direction:column;gap:2px;list-style:none;display:flex}.step-row{border-radius:var(--rounded-md);transition:background-color var(--duration-fast);align-items:center;gap:10px;padding:7px 8px;display:flex}.step-row--skipped .step-icon,.step-row--pending .step-icon{color:var(--color-faint)}.step-info{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.step-dur{color:var(--color-faint);flex-shrink:0;margin-left:auto;font-size:10.8px}.slot-panel{border-radius:var(--rounded);border:1.5px dashed var(--color-border-strong);overflow:hidden}.slot-panel--success{border-color:var(--color-green-line)}.slot-panel--ai{border-color:var(--color-cyan-line)}.slot-panel--multi{border-color:var(--color-amber-line)}.slot-header{background:var(--color-inset);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:10px 14px;display:flex}.slot-panel--success .slot-header{color:var(--color-green);background:var(--color-green-soft)}.slot-panel--ai .slot-header{color:var(--color-cyan);background:var(--color-cyan-soft)}.slot-panel--multi .slot-header{color:var(--color-amber);background:var(--color-amber-soft)}.slot-title{color:inherit;flex:1;font-size:12.3px;font-weight:600}.slot-title--ai{color:var(--color-cyan)}.slot-badge{border-radius:var(--rounded-sm);background:var(--color-border-strong);color:var(--color-dim);white-space:nowrap;padding:1px 6px;font-size:10.2px;font-weight:600}.slot-badge--epic{background:var(--color-primary-soft);color:var(--color-primary)}.slot-body{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:20px 18px;display:flex}.slot-placeholder-text{color:var(--color-dim);font-size:12.45px;font-weight:500}.slot-placeholder-hint{color:var(--color-faint);font-size:11.25px;line-height:1.5}.slot-log-live,.log-history{min-width:0}.success-summary{background:var(--color-green-soft);border:1px solid var(--color-green-line);border-radius:var(--rounded);flex-wrap:wrap;gap:24px;padding:12px 16px;display:flex}.summary-item{flex-direction:column;gap:3px;display:flex}.summary-key{letter-spacing:.04em;text-transform:uppercase;color:var(--color-green);opacity:.7;font-size:10.65px;font-weight:600}.summary-val{color:var(--color-green);font-size:12.9px;font-weight:500}.failed-summary{flex-direction:column;gap:6px;display:flex}.failed-step-banner{background:var(--color-red-soft);border:1px solid var(--color-red-line);border-radius:var(--rounded);color:var(--color-red);align-items:center;gap:8px;padding:10px 14px;font-size:12.45px;display:flex}.failed-step-name{flex:1;font-weight:500}.failed-step-dur{color:var(--color-faint);font-size:11.25px}.partial-info{background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:var(--rounded);color:var(--color-amber);align-items:flex-start;gap:8px;padding:10px 14px;font-size:12.45px;line-height:1.5;display:flex}.terminal-state{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.terminal-badge{border-radius:var(--rounded);align-items:center;gap:8px;padding:6px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.terminal-meta{flex-wrap:wrap;gap:20px;display:flex}.terminal-meta-item{flex-direction:column;gap:3px;display:flex}.preempted-note{color:var(--color-dim);background:var(--color-card-2);border:1px solid var(--color-border-strong);border-radius:var(--rounded);margin-top:10px;padding:8px 12px;font-size:12.45px;line-height:1.5}.banner{border-radius:var(--rounded);align-items:flex-start;gap:8px;padding:10px 14px;font-size:12.45px;line-height:1.5;display:flex}.banner--error{background:var(--color-red-soft);border:1px solid var(--color-red-line);color:var(--color-red)}.inline-banner{margin:0 24px}.error-state{text-align:center;background:var(--color-card);border:1.5px dashed var(--color-red-line);border-radius:var(--rounded-card);color:var(--color-red);flex-direction:column;align-items:center;gap:12px;padding:72px 32px;display:flex}.error-message{color:var(--color-dim);max-width:40ch;font-size:12.9px;line-height:1.6}.detail-loading{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);overflow:hidden}.skel-head{background:var(--color-card-2);border-bottom:1px solid var(--color-border);height:64px}.skel-body{flex-direction:column;gap:16px;padding:24px;display:flex}@media (prefers-reduced-motion:reduce){.skel{background:var(--color-inset);animation:none}}.skel--title{width:45%;height:22px}.skel--meta{height:40px}.skel--timeline{height:80px}.skel--steps{height:160px}.btn-secondary{background:var(--color-card-2);height:34px;color:var(--color-text);border:1px solid var(--color-border-strong);font-family:var(--font-sans);border-radius:var(--rounded);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);align-items:center;padding:0 15px;font-size:12.45px;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--color-faint)}.btn-danger-ghost{background:var(--color-red-soft);height:32px;color:var(--color-red);border:1px solid var(--color-red-line);font-family:var(--font-sans);border-radius:var(--rounded);cursor:pointer;transition:background-color var(--duration-fast);flex-shrink:0;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:600;display:inline-flex}.btn-danger-ghost:hover:not(:disabled){background:oklch(62% .18 22/.25)}.btn-danger-ghost:focus-visible{outline:2px solid var(--color-red);outline-offset:2px}.btn-danger-ghost:disabled{opacity:.5;cursor:not-allowed}.detail-head-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.btn-retry{background:var(--color-primary-soft,oklch(60% .16 255/.14));height:32px;color:var(--color-primary);font-family:var(--font-sans);border-radius:var(--rounded);cursor:pointer;transition:background-color var(--duration-fast);border:1px solid oklch(60% .16 255/.45);flex-shrink:0;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:600;display:inline-flex}.btn-retry:hover:not(:disabled){background:oklch(60% .16 255/.24)}.btn-retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-retry:disabled{opacity:.5;cursor:not-allowed}.retried-from{width:fit-content;color:var(--color-primary);background:var(--color-primary-soft,oklch(60% .16 255/.12));border-radius:var(--rounded-full);transition:background-color var(--duration-fast);border:1px solid oklch(60% .16 255/.35);align-items:center;gap:6px;margin:6px 0 0;padding:4px 10px;font-size:11.1px;font-weight:600;display:inline-flex}.retried-from:hover{background:oklch(60% .16 255/.22)}.retried-from:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.spinner--red{border-color:oklch(69% .17 22/.3);border-top-color:var(--color-red)}.spinner--amber{border-color:oklch(83% .13 82/.3);border-top-color:var(--color-amber)}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:currentColor;animation:none}}.deploy-entry{flex-direction:column;display:flex}.btn-deploy{background:var(--color-primary);color:#fff;height:36px;font-family:var(--font-sans);border-radius:var(--rounded);cursor:pointer;transition:filter var(--duration-fast), opacity var(--duration-fast);border:none;align-self:flex-start;align-items:center;gap:7px;padding:0 16px;font-size:12.6px;font-weight:600;display:inline-flex}.btn-deploy:hover:not(:disabled){filter:brightness(1.08)}.btn-deploy:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-deploy:disabled{opacity:.5;cursor:not-allowed}.deploy-panel{background:var(--color-inset);border:1px solid var(--color-primary-soft);border-radius:var(--rounded);flex-direction:column;gap:14px;padding:16px 18px;display:flex}.deploy-panel-head{justify-content:space-between;align-items:center;display:flex}.deploy-panel-title{color:var(--color-text);font-size:12.9px;font-weight:600}.deploy-close{color:var(--color-faint);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--duration-fast);background:0 0;border:none;padding:2px 6px;font-size:13.5px}.deploy-close:hover{color:var(--color-text)}.deploy-field{flex-direction:column;gap:7px;display:flex}.deploy-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);font-size:10.8px;font-weight:600}.deploy-select{background:var(--color-card);height:36px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--rounded-md);font-family:var(--font-sans);padding:0 10px;font-size:12.3px}.deploy-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.deploy-empty{color:var(--color-faint);font-size:12px;line-height:1.5}.deploy-servers{flex-direction:column;gap:6px;display:flex}.deploy-server-opt{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-md);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);align-items:center;gap:10px;padding:9px 12px;display:flex}.deploy-server-opt:hover{border-color:var(--color-faint)}.deploy-server-opt--on{border-color:var(--color-primary);background:var(--color-primary-soft)}.deploy-server-name{color:var(--color-text);font-size:12.6px;font-weight:500}.deploy-server-host{color:var(--color-faint);margin-left:auto;font-size:11.1px}.deploy-actions{align-items:center;gap:12px;display:flex}.deploy-hint{color:var(--color-dim);font-size:11.4px}.hc-input{margin-top:2px}.hc-params{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.hc-param{flex-direction:column;flex:90px;gap:4px;min-width:90px;display:flex}.hc-param-key{letter-spacing:.03em;color:var(--color-faint);font-size:10.2px;font-weight:600}.hc-num{background:var(--color-card);height:32px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--rounded-md);font-family:var(--font-mono);width:100%;padding:0 8px;font-size:12.3px}.hc-num:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.adv-toggle{cursor:pointer;color:var(--color-dim);background:0 0;border:none;align-items:center;gap:6px;padding:2px 0;font-size:11.7px;font-weight:600;display:inline-flex}.adv-toggle:hover{color:var(--color-text)}.adv-chevron{transition:transform var(--duration-fast)}.adv-chevron--open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.adv-chevron{transition:none}}.adv-body{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded-md);flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.adv-row{flex-direction:column;gap:5px;display:flex}.adv-key{letter-spacing:.02em;color:var(--color-faint);font-size:10.8px;font-weight:600}.adv-row .hc-num{width:120px}.adv-hint{color:var(--color-faint);font-size:11.1px;line-height:1.5}.strat-seg{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}.strat-opt{text-align:left;background:var(--color-bg-subtle,var(--color-card));border:1px solid var(--color-border-strong);border-radius:var(--rounded-md);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);flex-direction:column;gap:2px;padding:9px 10px;display:flex}.strat-opt:hover{border-color:var(--color-primary)}.strat-opt--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.strat-opt:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.strat-opt-name{color:var(--color-text);font-size:12.3px;font-weight:650}.strat-opt--active .strat-opt-name{color:var(--color-primary)}.strat-opt-desc{color:var(--color-faint);font-size:10.2px;line-height:1.35}.strat-canary,.strat-traffic{margin-top:10px}.strat-traffic .hc-select{max-width:100%}.strat-canary-hint{margin-left:8px}.batch-pause{border:1px solid var(--color-amber,#b8860b);background:var(--color-amber-soft,#fbf3df);border-radius:var(--rounded-lg,12px);flex-direction:column;gap:10px;margin-top:12px;padding:13px 15px;display:flex}.batch-pause-head{color:var(--color-text);align-items:center;gap:8px;font-size:12.75px;display:flex}.batch-pause-head svg{color:var(--color-amber,#b8860b);flex:none}.batch-pause-head strong{color:var(--color-amber,#b8860b)}.batch-pause-err{color:var(--color-danger,#dc2626);margin:0;font-size:11.7px}.batch-pause-actions{gap:9px;display:flex}.batch-btn{border-radius:var(--rounded-md);height:32px;font:inherit;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-card);color:var(--color-text);transition:background-color var(--duration-fast), transform var(--duration-fast);padding:0 14px;font-size:12px;font-weight:600}.batch-btn:disabled{opacity:.5;cursor:not-allowed}.batch-btn--go{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.batch-btn--go:hover:not(:disabled){background:var(--color-primary-press,var(--color-primary));transform:translateY(-1px)}.batch-btn--abort:hover:not(:disabled){border-color:var(--color-danger,#dc2626);color:var(--color-danger,#dc2626)}.rollback-entry{justify-content:flex-end;margin-top:10px;display:flex}.btn-rollback{font:inherit;color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:var(--rounded-md);cursor:pointer;transition:background-color var(--duration-fast), transform var(--duration-fast);align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;display:inline-flex}.btn-rollback:hover:not(:disabled){background:var(--color-amber);color:var(--color-card);transform:translateY(-1px)}.btn-rollback:disabled{opacity:.5;cursor:not-allowed}.rb-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rb-modal{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-lg,12px);width:min(460px,92vw);max-height:80vh;overflow:auto;box-shadow:0 8px 32px #0003}.rb-modal-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.rb-modal-head h3{color:var(--color-text);margin:0;font-size:13.8px;font-weight:650}.rb-close{cursor:pointer;color:var(--color-faint);border-radius:var(--rounded-sm);background:0 0;border:none;padding:4px}.rb-close:hover{color:var(--color-text);background:var(--color-inset)}.rb-modal-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.rb-env{align-items:center;gap:8px;margin:0;font-size:12.3px;display:flex}.rb-env-label{color:var(--color-faint);font-weight:600}.rb-env-val{color:var(--color-text);font-weight:600}.rb-versions{align-items:center;gap:12px;display:flex}.rb-version{border-radius:var(--rounded-md);flex-direction:column;flex:1;gap:4px;min-width:0;padding:10px 14px;display:flex}.rb-version--current{background:var(--color-red-soft);border:1px solid var(--color-red-line)}.rb-version--target{background:var(--color-green-soft);border:1px solid var(--color-green-line)}.rb-version-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--color-faint);font-size:10.2px;font-weight:700}.rb-version-run{color:var(--color-text);font-size:12px;font-weight:600}.rb-version-commit,.rb-version-branch,.rb-version-artifact{color:var(--color-dim);font-size:11.4px}.rb-version-badge{border-radius:var(--rounded-sm);background:var(--color-primary-soft);color:var(--color-primary);align-self:flex-start;padding:1px 6px;font-size:10.2px;font-weight:600}.rb-arrow{color:var(--color-faint);flex-shrink:0}.rb-cannot p{color:var(--color-amber);text-align:center;margin:0;padding:12px 0;font-size:12.3px}.rb-error{color:var(--color-red);background:var(--color-red-soft);border-radius:var(--rounded-sm);margin:0;padding:6px 10px;font-size:12px}.rb-modal-foot{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.rb-btn{font:inherit;border-radius:var(--rounded-md);cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-card);color:var(--color-text);transition:background-color var(--duration-fast);align-items:center;gap:6px;padding:7px 16px;font-size:12.3px;font-weight:600;display:inline-flex}.rb-btn:disabled{opacity:.5;cursor:not-allowed}.rb-btn--cancel:hover:not(:disabled){background:var(--color-inset)}.rb-btn--confirm{background:var(--color-amber);border-color:var(--color-amber);color:var(--color-card)}.rb-btn--confirm:hover:not(:disabled){filter:brightness(1.08)}.rb-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite rb-spin}@keyframes rb-spin{to{transform:rotate(360deg)}}.spec-src--repo{color:var(--color-cyan)}.spec-src--fallback{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.spec-src-warn{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:600}.rd-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:14px;overflow:hidden}.rd-card-head{border-bottom:1px solid var(--color-border);background:var(--color-card-2);align-items:center;gap:8px;padding:10px 14px;display:flex}.rd-card-icon{background:var(--color-inset);width:22px;height:22px;color:var(--color-dim);border-radius:6px;flex:none;place-items:center;display:grid}.rd-card-title{color:var(--color-text);margin:0;font-size:.84rem;font-weight:650}.rd-card-title--sm{font-size:.78rem}.rd-card-subtitle{color:var(--color-faint);font-size:.72rem;font-weight:400}.rd-card-count{color:var(--color-faint);background:var(--color-inset);border-radius:999px;margin-left:auto;padding:1px 9px;font-size:.7rem;font-weight:700}.rd-card-hint{color:var(--color-faint);align-items:center;gap:6px;margin:0;padding:9px 14px;font-size:.76rem;display:flex}.rd-card-hint svg{color:var(--color-amber);flex:none}.rd-card-empty{color:var(--color-faint);text-align:center;margin:0;padding:14px;font-size:.78rem}.rd-card-empty--sm{padding:10px 14px;font-size:.74rem}.rd-card-empty--pad{color:var(--color-faint);flex-direction:column;align-items:center;gap:5px;padding:22px 14px;display:flex}.rd-card-empty--pad p{margin:0;font-size:.78rem}.rd-card-empty--pad small{color:var(--color-faint);font-size:.7rem}.rd-card-list{flex-direction:column;display:flex}.rd-art-row{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 14px;font-size:.78rem;display:flex}.rd-art-row:last-child{border-bottom:none}.rd-art-type{background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;border-radius:6px;flex:none;padding:1px 7px;font-size:.64rem;font-weight:700}.rd-art-name{color:var(--color-text);font-weight:600}.rd-art-ref{color:var(--color-faint);text-overflow:ellipsis;white-space:nowrap;max-width:46%;margin-left:auto;font-size:.68rem;overflow:hidden}.rd-subcard{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 14px 14px;overflow:hidden}.dag-root{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);box-shadow:var(--shadow-sm,0 1px 2px #0000000a);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.dag-head{align-items:center;gap:8px;display:flex}.dag-title{color:var(--color-text);margin:0;font-size:.9rem;font-weight:700}.dag-empty-note{color:var(--color-faint);margin:0;font-size:.78rem}.dag-root .dag-canvas{min-height:0}.term-body{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;background:#05060a;min-height:72px;max-height:56vh;padding:8px 0 12px;overflow:auto}.term-body::-webkit-scrollbar{width:10px;height:10px}.term-body::-webkit-scrollbar-thumb{background:var(--color-border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.term-empty{color:var(--color-faint);text-align:center;padding:18px 16px;font-size:.78rem}.run-detail-root{padding-bottom:36px}.success-summary{margin-top:14px}.summary-val{color:oklch(42% .11 152);font-weight:600}.summary-key{color:oklch(48% .07 152)}.detail-card,.dag-root{box-shadow:0 1px 2px #0000000a,0 8px 24px -18px #00000029}.running-body{margin-top:14px}.step-list{background:var(--color-card);box-shadow:0 1px 2px #0000000a,0 8px 24px -18px #00000029}.term{box-shadow:0 1px 2px #0000000a,0 8px 24px -18px #00000029}.step-row{border-radius:var(--radius-sm,6px);gap:8px;padding:6px 9px}.step-row .step-name{font-size:.78rem}.subsection-title{font-size:.8rem}.step-hint{color:var(--color-faint);margin-left:6px;font-size:.66rem;font-weight:400}.step-row{gap:7px;padding:4px 8px;line-height:1.35}.step-row .step-icon{place-items:center;width:12px;height:12px;display:inline-grid}.step-row .step-icon svg{width:11px;height:11px}.step-row .step-info{align-items:baseline;gap:8px;min-width:0;display:flex}.step-row .step-dur{font-size:.66rem}.step-row--selected{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:none}.dag-root{flex-direction:column;gap:12px;display:flex}.dag-loading{gap:16px;padding:4px 0;display:flex;overflow:hidden}.dag-skel{background:linear-gradient(90deg, var(--color-inset) 0%, oklch(100% 0 0/.05) 50%, var(--color-inset) 100%);border-radius:var(--rounded);background-size:200% 100%;animation:1.4s ease-in-out infinite dag-shimmer}@keyframes dag-shimmer{0%{background-position:200%}to{background-position:-200%}}@media (prefers-reduced-motion:reduce){.dag-skel{background:var(--color-inset);animation:none}}.dag-skel--stage{flex-shrink:0;width:180px;height:80px}.dag-warn{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:var(--rounded-md);align-items:center;gap:7px;padding:6px 10px;font-size:11.4px;display:flex}.dag-canvas{min-height:120px;position:relative;overflow:auto visible}.dag-edge-overlay{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.dag-edge{fill:none;stroke-width:1.8px}.dag-edge.edge--ok{stroke:var(--color-green);opacity:.7}.dag-edge.edge--running{stroke:var(--color-amber);opacity:.8}.dag-edge.edge--bad{stroke:var(--color-red);opacity:.8}.dag-edge.edge--pending{stroke:var(--color-border-strong);opacity:1}.dag-edge-flow{fill:none;stroke-width:1.8px;stroke-dasharray:5 12;opacity:.5;animation:1.5s linear infinite dag-flow}.dag-edge-flow.edge--ok{stroke:var(--color-green);opacity:.5}.dag-edge-flow.edge--running{stroke:var(--color-amber);opacity:.7}.dag-edge-flow.edge--bad{stroke:var(--color-red);opacity:.5}.dag-edge-flow.edge--pending{display:none}@keyframes dag-flow{to{stroke-dashoffset:-16px}}@media (prefers-reduced-motion:reduce){.dag-edge-flow{animation:none;display:none}}.dag-flow{z-index:1;flex-direction:row;align-items:flex-start;gap:56px;min-width:max-content;padding:8px 4px 16px;display:flex;position:relative}.dag-stage-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-lg);width:200px;box-shadow:var(--shadow);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);flex-shrink:0;overflow:hidden}.card--success{border-color:var(--color-green-line)}.card--running{border-color:var(--color-amber-line);box-shadow:0 0 0 1px var(--color-amber-soft), var(--shadow);animation:2s ease-in-out infinite alternate card-running-glow}.card--failed{border-color:var(--color-red-line);box-shadow:0 0 0 1px var(--color-red-soft), var(--shadow)}.card--skipped{opacity:.6}.card--pending{border-color:var(--color-border);opacity:.75}.card--blocked{border-color:var(--color-red-line);opacity:.85;border-style:dashed}@keyframes card-running-glow{0%{box-shadow:0 0 0 1px var(--color-amber-soft), var(--shadow)}to{box-shadow:0 0 0 3px var(--color-amber-soft), 0 0 12px oklch(83% .13 82/.2), var(--shadow)}}@media (prefers-reduced-motion:reduce){.card--running{animation:none}}.stage-head{border-bottom:1px solid var(--color-border);background:var(--color-inset);align-items:center;gap:6px;padding:10px 12px 8px;display:flex}.stage-dot{border-radius:var(--rounded-full);flex-shrink:0;width:7px;height:7px}.dot--pulse{animation:1.1s ease-in-out infinite dot-pulse}@media (prefers-reduced-motion:reduce){.dot--pulse{animation:none}}.stage-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.3px;font-weight:600;overflow:hidden}.stage-gate{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:var(--rounded-sm);white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;padding:1px 5px;font-size:9.75px;font-weight:600;display:inline-flex}.stage-dur{color:var(--color-faint);flex-shrink:0;font-size:10.2px}.stage-toggle{width:20px;height:20px;color:var(--color-faint);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.stage-toggle:hover{color:var(--color-text);background:var(--color-border)}.stage-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.toggle-chevron{transition:transform var(--duration-fast)}.toggle-chevron--open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.toggle-chevron{transition:none}}.stage-summary{color:var(--color-faint);align-items:center;gap:4px;padding:7px 12px 6px;font-size:11.1px;display:flex}.card--success .stage-summary{color:var(--color-green);opacity:.8}.card--running .stage-summary{color:var(--color-amber);opacity:.9}.card--failed .stage-summary{color:var(--color-dim)}.stage-fail-count,.stage-blocked-note{color:var(--color-red);font-weight:600}.stage-status-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1}.stage-status-badge.badge--success{color:var(--color-green);background:var(--color-green-soft)}.stage-status-badge.badge--running{color:var(--color-amber);background:var(--color-amber-soft)}.stage-status-badge.badge--failed,.stage-status-badge.badge--blocked{color:var(--color-red);background:var(--color-red-soft)}.stage-status-badge.badge--skipped{color:var(--color-dim);background:var(--color-card-2)}.stage-steps{animation:steps-reveal .18s var(--ease-out-expo) both;flex-direction:column;gap:1px;padding:0 8px 8px;list-style:none;display:flex}@keyframes steps-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.stage-steps{animation:none}}.step-row{border-radius:var(--rounded-md);transition:background-color var(--duration-fast);align-items:center;gap:7px;padding:5px 6px;font-size:11.55px;display:flex}.step-row--failed{background:var(--color-red-soft)}.step-row--success:hover{background:var(--color-inset)}.step-spinner{border:1.5px solid oklch(83% .13 82/.35);border-top-color:var(--color-amber);border-radius:var(--rounded-full);width:9px;height:9px;animation:.65s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.step-spinner{border-top-color:currentColor;animation:none}}.step-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-dim);flex:1;overflow:hidden}.step-row--running .step-name,.step-row--failed .step-name{color:var(--color-text)}.step-row--gate{border:1px dashed var(--color-border-strong);border-radius:var(--rounded-md);background:var(--color-inset);margin-top:4px}.step-icon--gate{color:var(--color-amber)}.step-name--gate{color:var(--color-text-secondary);font-weight:600}.step-gate-status{flex-shrink:0;font-size:10.2px;font-weight:600}.step-row--gate-waiting .step-icon--gate,.step-row--gate-waiting .step-gate-status{color:var(--color-amber)}.step-row--gate-waiting .step-icon--gate{animation:1.1s ease-in-out infinite dot-pulse}.step-row--gate-approved .step-icon--gate,.step-row--gate-approved .step-gate-status{color:var(--color-green)}.step-row--gate-rejected .step-icon--gate,.step-row--gate-rejected .step-gate-status{color:var(--color-red)}.step-row--gate-skipped .step-icon--gate,.step-row--gate-skipped .step-gate-status,.step-row--gate-pending .step-icon--gate,.step-row--gate-pending .step-gate-status{color:var(--color-faint)}@media (prefers-reduced-motion:reduce){.step-row--gate-waiting .step-icon--gate{animation:none}}.stage-empty{color:var(--color-faint);text-align:center;padding:10px 12px 12px;font-size:11.1px}.stage-empty--blocked{color:var(--color-red);opacity:.85}.step-list{align-self:start;position:sticky;top:16px}.subsection-title{color:var(--color-dim);letter-spacing:.01em;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;font-size:.78rem;font-weight:600;display:flex}.step-hint{color:var(--color-faint);font-size:.66rem;font-weight:400}.steps{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.steps li{list-style:none}.stage-head{letter-spacing:.02em;color:var(--color-dim);align-items:center;gap:7px;padding:10px 11px 4px;font-size:.7rem;font-weight:600;display:flex}.stage-head-name{text-transform:none}.stage-head-count{color:var(--color-faint);margin-left:auto;font-size:.64rem;font-weight:400}.stage-dot{background:var(--color-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.stage-head--success .stage-dot{background:var(--color-green)}.stage-head--failed .stage-dot{background:var(--color-red)}.stage-head--running .stage-dot{background:var(--color-amber)}.stage-head--skipped .stage-dot{background:var(--color-faint)}.step-row--nested{margin-left:12px}.step-row{border-radius:var(--rounded-md);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 11px;display:flex}.step-row:hover{background:var(--color-inset)}.step-row--selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.step-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.step-row--running{background:var(--color-amber-soft)}.all-dot{background:var(--color-dim);border-radius:2px;width:8px;height:8px;display:inline-block}.step-icon{flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.step-row--success .step-icon{color:var(--color-green)}.step-row--failed .step-icon{color:var(--color-red)}.step-row--running .step-icon{color:var(--color-amber)}.step-row--skipped .step-icon,.step-row--pending .step-icon{color:var(--color-faint)}.step-info{flex:1;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.step-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;overflow:hidden}.step-row--pending .step-name,.step-row--skipped .step-name{color:var(--color-faint)}.step-dur{color:var(--color-faint);flex-shrink:0;font-size:.74rem}.step-bn{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);text-transform:uppercase;letter-spacing:.02em;border-radius:100px;flex-shrink:0;padding:0 5px;font-size:.6rem;font-weight:700;line-height:1.4}.mono{font-family:var(--font-mono)}.matrix-grid-wrap{padding:0 11px 8px}.matrix-grid--1d{flex-wrap:wrap;gap:4px;display:flex}.matrix-cell{border:1px solid var(--color-border);border-radius:var(--rounded-md);background:var(--color-card);cursor:pointer;font:inherit;color:var(--color-text);transition:border-color var(--duration-fast), background-color var(--duration-fast);align-items:center;gap:4px;padding:4px 8px;font-size:.74rem;display:inline-flex}.matrix-cell:hover{border-color:var(--color-primary)}.matrix-cell--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.matrix-cell--failed{border-color:var(--color-red)}.matrix-cell--running{border-color:var(--color-amber)}.matrix-cell__label{font-family:var(--font-mono);white-space:nowrap}.matrix-cell__dot{background:var(--color-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px}.matrix-cell__dot--success{background:var(--color-green)}.matrix-cell__dot--failed{background:var(--color-red)}.matrix-cell__dot--running{background:var(--color-amber)}.matrix-cell__dot--skipped{background:var(--color-faint)}.matrix-grid--2d{border-collapse:separate;border-spacing:3px;font-size:.72rem}.matrix-grid--2d th,.matrix-grid--2d td{text-align:center;padding:2px}.matrix-corner{color:var(--color-faint);white-space:nowrap;font-size:.62rem;font-weight:500}.matrix-row-head{font-family:var(--font-mono);color:var(--color-dim);white-space:nowrap;font-weight:500}.matrix-grid--2d thead th{font-family:var(--font-mono);color:var(--color-dim);font-weight:500}.matrix-grid--2d .matrix-cell{border:1px solid var(--color-border);padding:3px}.term{background:var(--color-term);border:1px solid var(--color-border-strong);border-radius:var(--rounded-lg);box-shadow:var(--shadow-inner);flex-direction:column;display:flex;position:relative;overflow:hidden}.term-bar{border-bottom:1px solid var(--color-border);background:oklch(11% .004 270);flex-shrink:0;align-items:center;gap:10px;padding:8px 14px;display:flex}.term-truncated{border-bottom:1px solid var(--color-border);background:oklch(23% .045 75);flex-shrink:0;align-items:baseline;gap:8px;padding:7px 14px;font-size:.78rem;line-height:1.4;display:flex}.term-truncated-badge{color:oklch(84% .13 75);white-space:nowrap;font-weight:600}.term-truncated-text{color:oklch(80% .02 75)}.term-dots{gap:6px;display:inline-flex}.term-dot{border-radius:var(--rounded-full);width:10px;height:10px;display:inline-block}.term-dot--r{background:oklch(63% .2 25)}.term-dot--y{background:oklch(80% .15 80)}.term-dot--g{background:oklch(72% .16 150)}.term-label{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-faint);font-size:.74rem}.term-live{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-amber);align-items:center;gap:5px;margin-left:4px;font-size:.66rem;font-weight:700;display:inline-flex}.term-live-dot{border-radius:var(--rounded-full);background:var(--color-amber);width:6px;height:6px;animation:1.1s ease-in-out infinite term-pulse}@keyframes term-pulse{0%,to{opacity:1}50%{opacity:.35}}.term-count{color:var(--color-line-num);margin-left:auto;font-size:.68rem}.term-stepnav{align-items:center;gap:2px;margin-left:8px;display:inline-flex}.term-stepnav-btn{border:1px solid var(--color-border);border-radius:var(--rounded-sm);width:24px;height:24px;color:var(--color-line-num);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.term-stepnav-btn:hover{color:var(--color-text);border-color:var(--color-border-strong)}.term-stepnav-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.term-stepnav-label{color:var(--color-dim);text-overflow:ellipsis;white-space:nowrap;max-width:14ch;padding:0 6px;font-size:.72rem;overflow:hidden}.term-search{border:1px solid var(--color-border);border-radius:var(--rounded-sm);color:var(--color-line-num);background:oklch(16% .006 270);align-items:center;gap:6px;margin-left:10px;padding:3px 8px;display:inline-flex}.term-search:focus-within{border-color:var(--color-primary)}.term-search-input{color:oklch(92% .004 270);background:0 0;border:none;outline:none;width:15ch;font-size:.72rem}.term-search-input::placeholder{color:oklch(52% .01 270)}.term-search-count{white-space:nowrap;color:var(--color-amber);font-size:.66rem}.term-search-count--zero{color:var(--color-red)}.term-search-toggle{border-radius:var(--rounded-full);border:1px solid var(--color-border);color:var(--color-line-num);cursor:pointer;white-space:nowrap;background:0 0;padding:1px 6px;font-size:.64rem}.term-search-toggle--on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg);font-weight:600}.term-dl{border-radius:var(--rounded-sm);color:var(--color-line-num);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;margin-left:6px;padding:5px;display:inline-flex}.term-dl:hover{color:var(--color-text);border-color:var(--color-border);background:oklch(16% .006 270)}.term-bold{font-weight:700}.term-italic{font-style:italic}.term-under{text-decoration:underline}.term-line--hit{background:oklch(80% .14 80/.12)}.term-line--hit-current{background:oklch(80% .14 80/.28);outline:1px solid oklch(80% .14 80/.5)}.term-line--flash{background:oklch(74% .15 145/.22);outline:1px solid oklch(74% .15 145/.55)}.term-anchors{border-bottom:1px solid var(--color-border);background:oklch(13% .005 270);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;display:flex}.term-anchors-label{color:var(--color-faint);white-space:nowrap;font-size:.66rem}.term-anchor{color:oklch(80% .01 270);border:1px solid var(--color-border);border-radius:var(--rounded-full);cursor:pointer;background:0 0;align-items:center;gap:5px;max-width:22ch;padding:2px 8px;font-size:.7rem;display:inline-flex}.term-anchor:hover{border-color:var(--color-primary);color:var(--color-text)}.term-anchor--active{border-color:var(--color-primary);background:oklch(60% .16 255/.18)}.term-anchor--failed{color:oklch(82% .1 25);background:oklch(60% .19 25/.14);border-color:oklch(60% .19 25/.75)}.term-anchor-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.term-anchor-count{color:var(--color-line-num);font-size:.62rem}.term-anchor-archived{color:var(--color-line-num);white-space:nowrap;margin-left:auto;font-size:.62rem}.term-deep-btn{border-radius:var(--rounded-full);border:1px solid var(--color-border);color:var(--color-line-num);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:1px 8px;font-size:.64rem;display:inline-flex}.term-deep-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.term-deep-btn--busy{opacity:.7;cursor:wait}.term-deep-spinner{border:1.5px solid oklch(70% .02 270/.35);border-top-color:var(--color-amber);border-radius:var(--rounded-full);width:9px;height:9px;animation:.8s linear infinite term-deep-spin}@keyframes term-deep-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.term-deep-spinner{animation:none}}.term-deep{border-bottom:1px solid var(--color-border);background:oklch(12% .005 270);flex-shrink:0}.term-deep-err{color:var(--color-red);padding:8px 14px;font-size:.72rem;display:block}.term-deep-head{align-items:baseline;gap:10px;padding:7px 14px 4px;display:flex}.term-deep-summary{color:oklch(84% .13 75);font-size:.72rem;font-weight:600}.term-deep-coverage{color:var(--color-line-num);font-size:.64rem}.term-deep-close{color:var(--color-faint);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:1px 6px;font-size:.7rem}.term-deep-close:hover{color:var(--color-text)}.term-deep-list{max-height:34vh;margin:0;padding:0 14px 8px;list-style:none;overflow-y:auto}.term-deep-row{align-items:baseline;gap:8px;padding:2px 0;font-size:.72rem;line-height:1.5;display:flex}.term-deep-jump{text-align:right;min-width:3.5ch;color:var(--color-line-num);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.66rem}.term-deep-jump:hover{color:var(--color-primary);text-decoration:underline}.term-deep-step{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--color-faint);flex-shrink:0;font-size:.62rem;overflow:hidden}.term-deep-snippet{color:oklch(85% .005 270);white-space:pre-wrap;word-break:break-all}.term-deep-mark{color:inherit;background:oklch(80% .14 80/.35);border-radius:2px;padding:0 1px}.term-scroll{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;min-height:72px;max-height:56vh;padding:8px 0 12px;overflow:auto}.term-scroll:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.term-scroll::-webkit-scrollbar{width:10px;height:10px}.term-scroll::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--rounded-full);background-clip:padding-box;border:2px solid #0000}.term-state{color:var(--color-faint);padding:22px 16px;font-size:.78rem}.term-state--err{color:var(--color-red)}.term-lines{counter-reset:none;min-width:max-content;margin:0;padding:0;list-style:none}.term-line{white-space:pre;align-items:flex-start;gap:14px;padding:0 16px;line-height:1.55;animation:.14s ease-out both line-in;display:flex}@keyframes line-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.term-line,.term-live-dot{animation:none}}.term-line:hover{background:oklch(100% 0 0/.035)}.term-ln{text-align:right;width:3.5ch;color:var(--color-line-num);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.72rem}.term-text{color:oklch(88% .006 270);white-space:pre;word-break:normal;flex:1;font-size:.78rem}.term-line--err .term-text{color:var(--color-red)}.term-line--err .term-ln{color:var(--color-red);opacity:.6}.term-masked{border-radius:var(--rounded-sm);background:var(--color-amber-soft);color:var(--color-amber);letter-spacing:.02em;padding:0 4px;font-weight:700;display:inline-block}.term-follow{font-family:var(--font-sans);color:var(--color-text);background:var(--color-card-2);border:1px solid var(--color-border-strong);border-radius:var(--rounded-full);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast);align-items:center;gap:5px;padding:5px 11px;font-size:.74rem;font-weight:600;display:inline-flex;position:absolute;bottom:14px;right:16px}.term-follow:hover{border-color:var(--color-primary);transform:translateY(-1px)}.term-follow:active{transform:translateY(0)}.term-follow:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.term-follow{transition:border-color var(--duration-fast)}.term-follow:hover{transform:none}}.pipeline-root{height:calc(100vh - var(--main-pad-top) - 20px);margin-top:-38px;margin-bottom:calc(20px - var(--main-pad-bottom));flex-direction:column;gap:0;min-height:0;display:flex}.pipeline-top{border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:14px;padding:14px 28px 12px;display:flex}.pipeline-top-left{flex:1;min-width:0}.breadcrumb{color:var(--color-faint);align-items:center;gap:6px;margin-bottom:3px;font-size:11.4px;display:flex}.crumb-link{color:var(--color-dim);transition:color var(--duration-fast);text-decoration:none}.crumb-link:hover{color:var(--color-primary)}.crumb-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.crumb-sep{color:var(--color-faint)}.crumb-cur{color:var(--color-text);font-weight:500}.pipeline-title{letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:8px;font-size:15.9px;font-weight:700;display:flex}.pipeline-tag{color:var(--color-cyan);background:var(--color-cyan-soft);border:1px solid var(--color-cyan-line);letter-spacing:0;text-transform:lowercase;border-radius:100px;padding:2px 9px;font-size:10.2px;font-weight:500}.badge-tools{align-items:center;gap:10px;margin-top:4px;display:flex}.badge-copy-btn{color:var(--color-dim);background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded-full);cursor:pointer;transition:color var(--duration-fast) ease, border-color var(--duration-fast) ease;align-items:center;gap:5px;padding:3px 10px;font-size:10.8px;display:inline-flex}.badge-copy-btn:hover{color:var(--color-text);border-color:var(--color-border-strong)}.badge-status-link{color:var(--color-dim);transition:color var(--duration-fast) ease;align-items:center;gap:4px;font-size:10.8px;text-decoration:none;display:inline-flex}.badge-status-link:hover{color:var(--color-text)}.pipeline-top-actions{flex:none;align-items:center;gap:8px;display:flex}.top-btn{border:1px solid var(--color-border-strong);background:var(--color-card-2);height:34px;color:var(--color-text);border-radius:var(--rounded);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast), transform var(--duration-fast);white-space:nowrap;font-size:12.45px;font-weight:500;font-family:var(--font-sans);align-items:center;gap:7px;padding:0 14px;display:inline-flex}.top-btn:hover:not(:disabled){border-color:var(--color-faint)}.top-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.top-btn:disabled{opacity:.45;cursor:not-allowed}.top-btn--ai{color:var(--color-cyan);border-color:var(--color-cyan-line)}.top-btn--save{background:var(--color-primary);color:#fff;box-shadow:0 5px 16px var(--color-primary-soft);border-color:#0000;font-weight:600}.top-btn--save:hover:not(:disabled){background:var(--color-primary-press);transform:translateY(-1px)}.top-btn--save:disabled{box-shadow:none;transform:none}.top-btn--validate{color:var(--color-green);border-color:var(--color-green-line);background:var(--color-green-soft)}.top-btn--validate:hover:not(:disabled){border-color:var(--color-green)}.top-btn--validate-active{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.top-btn-badge{border:1px solid #0000;border-radius:100px;padding:2px 7px;font-size:10.2px;font-weight:700;line-height:1}.top-btn-badge--ok{background:var(--color-green-soft);color:var(--color-green);border-color:var(--color-green-line)}.top-btn-badge--err{background:var(--color-red-soft);color:var(--color-red);border-color:var(--color-red-line)}.more-menu{align-items:center;display:inline-flex;position:relative}.more-menu-caret{transition:transform var(--duration-fast)}.more-menu-caret--open{transform:rotate(180deg)}.more-menu-dropdown{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--rounded-md);z-index:100;flex-direction:column;gap:1px;min-width:200px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 28px #0000002e}.more-menu-item{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border-radius:var(--rounded);transition:background-color var(--duration-fast), color var(--duration-fast);background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;font-size:12.45px;font-weight:500;display:flex}.more-menu-item:hover{background:var(--color-surface-2,var(--color-surface))}.more-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.more-menu-item svg{color:var(--color-faint);flex:none}.more-menu-sep{background:var(--color-border);height:1px;margin:4px 6px}.more-menu-backdrop{z-index:99;position:fixed;inset:0}.sub-panel-bar{border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:12px;padding:8px 28px;display:flex}.back-to-canvas-btn{border:1px solid var(--color-border-strong);background:var(--color-card-2);color:var(--color-text);font:inherit;border-radius:var(--rounded);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);align-items:center;gap:6px;padding:4px 12px;font-size:12.3px;font-weight:500;display:inline-flex}.back-to-canvas-btn:hover{border-color:var(--color-faint)}.back-to-canvas-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sub-panel-title{color:var(--color-text);font-size:13.2px;font-weight:600}.tab-body{flex:1;min-height:0;display:flex;overflow:hidden}.tab-panels{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.tab-strip{border-bottom:1px solid var(--color-border);flex:none;gap:4px;display:flex}.tab-btn{color:var(--color-faint);cursor:pointer;font-size:12.6px;font-family:var(--font-sans);transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 14px}.tab-btn:hover{color:var(--color-dim)}.tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tab-btn--active{color:var(--color-text);border-bottom-color:var(--color-primary);font-weight:500}.gitops-bar{border-bottom:1px solid var(--color-border);flex:none}.gitops-toggle{width:100%;color:var(--color-dim);font:inherit;cursor:pointer;transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:none;align-items:center;gap:8px;padding:6px 20px;font-size:12px;font-weight:500;display:flex}.gitops-toggle:hover{color:var(--color-text);background:var(--color-surface-2,var(--color-surface))}.gitops-toggle>svg:first-child{color:var(--color-primary);flex:none}.gitops-toggle-label{white-space:nowrap}.gitops-summary{gap:5px;margin-left:4px;display:flex}.gitops-chip{color:var(--color-faint);border:1px solid var(--color-border-strong);transition:color var(--duration-fast), border-color var(--duration-fast), background-color var(--duration-fast);border-radius:100px;padding:1px 8px;font-size:10.2px;font-weight:600}.gitops-chip--on{color:var(--color-green);border-color:var(--color-green-line);background:var(--color-green-soft)}.gitops-chevron{color:var(--color-faint);transition:transform var(--duration-fast);flex:none;margin-left:auto}.gitops-chevron--open{transform:rotate(90deg)}.gitops-panel{flex-direction:column;display:flex}.pac-bar{border-bottom:1px solid var(--color-border);background:var(--color-surface-2,var(--color-surface));flex:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 28px;display:flex}.pac-bar--on{background:color-mix(in oklab, var(--color-primary) 8%, transparent)}.pac-bar-text{flex-direction:column;gap:2px;min-width:0;display:flex}.pac-bar-title{color:var(--color-text);align-items:center;gap:7px;font-size:12.9px;font-weight:500;display:inline-flex}.pac-bar-title svg{color:var(--color-primary);flex:none}.pac-bar-file{font-family:var(--font-mono,monospace);background:var(--color-bg-soft,#7f7f7f1f);color:var(--color-dim);border-radius:4px;padding:1px 6px;font-size:11.4px}.pac-bar-desc{color:var(--color-faint);font-size:11.7px}.pac-bar-err{color:var(--color-danger,#e5484d);font-size:11.7px}.pac-bar-actions{flex:none;align-items:center;gap:12px;display:flex}.pac-preview-btn{height:30px;font-size:12px;font-weight:500;font-family:var(--font-sans);color:var(--color-text);background:var(--color-card-2);border:1px solid var(--color-border-strong);border-radius:var(--rounded);cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.pac-preview-btn:hover{border-color:var(--color-faint)}.pac-preview-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pac-preview-btn svg{color:var(--color-faint);flex:none}.pac-switch{cursor:pointer;background:var(--color-border);width:40px;height:22px;transition:background var(--duration-fast);border:none;border-radius:999px;flex:none;position:relative}.pac-switch--on{background:var(--color-primary)}.pac-switch:disabled{opacity:.55;cursor:default}.pac-switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pac-switch-knob{width:16px;height:16px;transition:transform var(--duration-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.pac-switch--on .pac-switch-knob{transform:translate(18px)}.tab-panel{height:100%;min-height:0;overflow:hidden}.tab-panel--canvas{flex-direction:column;display:flex}.risk-toggle-btn{color:var(--color-faint);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;flex:none;align-items:center;gap:5px;margin-top:2px;padding:4px 10px;font-size:11.1px;font-weight:500;display:flex}.risk-toggle-btn:hover{color:var(--color-text)}.risk-toggle-btn[aria-expanded=true] svg{transform:rotate(90deg)}.tab-panel:not(.tab-panel--canvas){padding:var(--main-pad-top) var(--main-pad) var(--main-pad-bottom);overflow-y:auto}.triggers-stack{flex-direction:column;gap:22px;display:flex}.pipeline-banner{border-bottom:1px solid #0000;flex:none;align-items:center;gap:9px;padding:10px 28px;font-size:12.45px;line-height:1.5;display:flex}.pipeline-banner--error{background:var(--color-red-soft);border-color:var(--color-red-line);color:var(--color-red)}.pipeline-banner--success{background:var(--color-green-soft);border-color:var(--color-green-line);color:var(--color-green)}.pipeline-banner--info{background:var(--color-cyan-soft);border-color:var(--color-cyan-line);color:var(--color-cyan)}.banner-dismiss{cursor:pointer;width:22px;height:22px;color:inherit;opacity:.65;transition:opacity var(--duration-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.banner-dismiss:hover{opacity:1}.banner-retry{color:var(--color-red);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-size:12.45px;font-weight:600;text-decoration:underline}.canvas-skeleton{background-color:var(--color-canvas);flex:1;padding:34px 30px;overflow:auto}.skel-flow{gap:74px;min-width:max-content;display:flex}.skel-stage{flex-direction:column;gap:10px;width:248px;display:flex}.skel{background:linear-gradient(90deg, var(--color-inset) 0%, oklch(100% 0 0/.06) 50%, var(--color-inset) 100%);border-radius:var(--rounded-md);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}@media (prefers-reduced-motion:reduce){.skel{background:var(--color-inset);animation:none}}.skel--stage-head{width:80%;height:18px}.skel--card{border-radius:12px;width:100%;height:62px}.placeholder-card{text-align:center;background:var(--color-card);border:1.5px dashed var(--color-border-strong);border-radius:var(--rounded-card);flex-direction:column;align-items:center;gap:12px;max-width:500px;margin:0 auto;padding:72px 32px;display:flex}.placeholder-icon{border-radius:var(--rounded-xl);background:var(--color-inset);border:1.5px dashed var(--color-border-strong);width:56px;height:56px;color:var(--color-dim);place-items:center;margin-bottom:4px;display:grid}.placeholder-title{color:var(--color-text);font-size:15px;font-weight:600}.placeholder-desc{color:var(--color-faint);max-width:44ch;font-size:12.3px;line-height:1.6}.placeholder-badge{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:100px;align-items:center;margin-top:4px;padding:3px 11px;font-size:10.95px;font-weight:600;display:inline-flex}.spinner{border-radius:var(--rounded-full);border:2px solid #ffffff59;border-top-color:#fff;flex-shrink:0;width:13px;height:13px;animation:.7s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:currentColor;animation:none}}.top-btn--run{box-shadow:0 5px 16px var(--color-green-soft)}.top-btn--run:hover:not(:disabled){background:var(--color-primary)}.top-btn--edit{background:var(--color-inset);border-color:var(--color-border);font-weight:600}.top-btn--run-detail{color:var(--color-dim);border:1px solid var(--color-border);border-radius:var(--rounded-md);transition:color var(--duration-fast), border-color var(--duration-fast);align-items:center;gap:6px;padding:6px 14px;font-size:11.7px;text-decoration:none;display:inline-flex}.top-btn--run-detail:hover{color:var(--color-primary);border-color:var(--color-primary)}.pipeline-top-actions--run{gap:10px}.run-status-pill{border-radius:100px;align-items:center;gap:7px;padding:4px 12px;font-size:12.3px;font-weight:600;display:inline-flex}.run-status-pill--queued,.run-status-pill--canceled{color:var(--color-dim);background:var(--color-card-2);border:1px solid var(--color-border-strong)}.run-status-pill--running,.run-status-pill--waiting_approval{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line)}.run-status-pill--success{color:var(--color-green);background:var(--color-green-soft)}.run-status-pill--failed,.run-status-pill--partial_failed{color:var(--color-red);background:var(--color-red-soft);border:1px solid var(--color-red-line)}.run-status-pill--rolled_back{color:var(--color-amber);background:var(--color-amber-soft);border:1px solid var(--color-amber-line)}.run-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.run-status-dot--pulse{animation:1.2s ease-in-out infinite run-dot-pulse}@keyframes run-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.run-status-dot--pulse{animation:none}}.run-status-dur{color:var(--color-faint);margin-left:2px;font-size:11.1px;font-weight:500}.run-meta-info{color:var(--color-dim);align-items:center;gap:10px;font-size:11.4px;display:inline-flex}.run-meta-id{color:var(--color-primary);border-radius:var(--rounded);background:var(--color-primary-soft);padding:1px 6px;font-size:10.8px;font-weight:600}.run-meta-trigger{font-weight:500}.run-meta-branch{color:var(--color-faint);border-radius:var(--rounded);background:var(--color-inset);padding:1px 6px;font-size:11.1px}.run-meta-time{color:var(--color-faint);font-size:11.1px}.run-history{position:relative}.run-history-dropdown{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--rounded-lg);min-width:320px;max-width:380px;max-height:360px;box-shadow:var(--shadow);z-index:100;padding:6px 0;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.run-history-head{color:var(--color-faint);text-transform:uppercase;letter-spacing:.03em;padding:6px 14px;font-size:10.8px;font-weight:600}.run-history-loading,.run-history-empty{color:var(--color-faint);padding:12px 14px;font-size:11.7px;font-style:italic}.run-history-item{text-align:left;cursor:pointer;width:100%;transition:background-color var(--duration-fast);background:0 0;border:none;align-items:center;gap:8px;padding:7px 14px;display:flex}.run-history-item:hover{background:var(--color-inset)}.run-history-item--current{background:var(--color-primary-soft)}.run-history-item-status{background:var(--color-dim);border-radius:50%;flex-shrink:0;width:8px;height:8px}.run-history-item-status--success{background:var(--color-green)}.run-history-item-status--failed,.run-history-item-status--partial_failed{background:var(--color-red)}.run-history-item-status--running,.run-history-item-status--queued,.run-history-item-status--waiting_approval{background:var(--color-amber)}.run-history-item-status--canceled{background:var(--color-dim)}.run-history-item-status--rolled_back{background:var(--color-amber)}.run-history-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.run-history-item-trigger{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.7px;font-weight:500;overflow:hidden}.run-history-item-time{color:var(--color-faint);font-size:10.8px}.run-history-item-dur{color:var(--color-faint);flex-shrink:0;font-size:10.8px}.audit-drawer{border-left:1px solid var(--color-border);background:var(--color-surface);width:380px;animation:drawer-in .3s var(--ease-out-expo) both;flex-direction:column;flex:none;display:flex;overflow:hidden}@keyframes drawer-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.audit-drawer-head{border-bottom:1px solid var(--color-border);color:var(--color-text);flex:none;align-items:center;gap:8px;padding:13px 18px;font-size:12.9px;font-weight:600;display:flex}.audit-drawer-head svg{color:var(--color-primary)}.audit-drawer-close{cursor:pointer;width:24px;height:24px;color:var(--color-faint);border-radius:var(--rounded);transition:color var(--duration-fast), background-color var(--duration-fast);background:0 0;border:none;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.audit-drawer-close:hover{color:var(--color-text);background:var(--color-inset)}.audit-drawer-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.audit-drawer-body{flex:1;min-height:0;padding:0;overflow-y:auto}@media (prefers-reduced-motion:reduce){.audit-drawer{animation:none}}.canvas-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-body:fullscreen{background:var(--color-canvas);padding:10px}.pipeline-canvas{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;min-width:0;padding:12px 16px 24px;overflow:auto}.pipeline-canvas::-webkit-scrollbar{width:8px;height:8px}.pipeline-canvas::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.pipeline-canvas::-webkit-scrollbar-track{background:0 0}.pipeline-canvas--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.pipeline-canvas--panning *{cursor:grabbing!important}.pipeline-flow{align-items:flex-start;gap:60px;min-width:fit-content;display:flex;position:relative}.stage-group{flex-direction:column;flex:none;gap:12px;display:flex}.stage-col{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:none;width:248px;padding:10px 10px 12px;position:relative;box-shadow:0 1px 2px #0000000a}.dag-overlay{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.dag-edge{fill:none;stroke:var(--color-border);stroke-width:1.5px}.dag-edge-flow{fill:none;stroke:var(--color-primary);stroke-width:1.5px;stroke-dasharray:6 10;opacity:.55;animation:1.2s linear infinite dag-flow}@media (prefers-reduced-motion:reduce){.dag-edge-flow{animation:none}}.canvas-toolbar{z-index:30;background:color-mix(in oklab, var(--color-canvas) 88%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);gap:6px;width:fit-content;margin:0 0 8px 4px;padding:3px;display:flex;position:sticky;top:0}.hist-btn{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-dim);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast);place-items:center;display:inline-grid}.hist-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.hist-btn:disabled{opacity:.4;cursor:default}.hist-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.canvas-hint{z-index:30;color:oklch(35% .1 80);background:var(--color-amber-soft);border:1px solid var(--color-amber-line);border-radius:var(--radius-md);width:fit-content;margin:0 0 4px 4px;padding:5px 12px;font-size:.76rem;font-weight:600;position:sticky;top:48px}.stage-col--highlight{outline:2px solid var(--color-red);outline-offset:3px}.stage-col--dragging{opacity:.45}.stage-col--drop-before:before{content:"";background:var(--color-primary);border-radius:999px;width:3px;position:absolute;top:0;bottom:0;left:-7px}.stage-header{align-items:center;gap:4px;margin-bottom:8px;display:flex}.stage-header--run-clickable{cursor:pointer}.stage-collapse-btn{width:18px;height:18px;color:var(--color-faint);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.stage-collapse-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.stage-collapse-btn svg{transition:transform var(--duration-fast)}.stage-collapse-btn--collapsed svg{transform:rotate(-90deg)}.stage-collapsed-summary{background:var(--color-inset);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);width:100%;color:var(--color-faint);font:inherit;cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);justify-content:center;align-items:center;padding:9px 10px;font-size:.72rem;display:flex}.stage-collapsed-summary:hover{color:var(--color-primary);border-color:var(--color-primary)}.stage-index{background:var(--color-inset);border:1px solid var(--color-border);min-width:20px;height:20px;color:var(--color-dim);border-radius:6px;flex:none;place-items:center;padding:0 4px;font-size:.68rem;font-weight:700;display:inline-grid}.stage-index--trigger{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.stage-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;font-size:.84rem;font-weight:700;overflow:hidden}.stage-name-text--drag{cursor:grab}.stage-name-text--drag:active{cursor:grabbing}.stage-run-badge{border-radius:999px;flex:none;align-items:center;gap:4px;margin-left:4px;padding:2px 7px;font-size:.66rem;font-weight:600;line-height:1;display:inline-flex}.stage-run-badge--success{background:var(--color-green-soft);color:var(--color-green)}.stage-run-badge--failed{background:var(--color-red-soft);color:var(--color-red)}.stage-run-badge--running{background:var(--color-primary-soft);color:var(--color-primary)}.stage-run-badge--skipped{background:var(--color-inset);color:var(--color-faint);border:1px dashed var(--color-border-strong)}.stage-run-badge--pending{color:var(--color-dim);border:1px solid var(--color-border);background:0 0}.stage-run-badge--waiting_approval{background:var(--color-amber-soft);color:var(--color-amber)}.stage-run-spin{border:1.5px solid;border-top-color:#0000;border-radius:50%;width:8px;height:8px;animation:.8s linear infinite stage-run-rot}@keyframes stage-run-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.stage-run-spin{animation:none}}.stage-run-dur{color:var(--color-faint);flex:none;margin-left:2px;font-size:.68rem;font-weight:600}.stage-deps-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);height:22px;color:var(--color-dim);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color var(--duration-fast), color var(--duration-fast), background-color var(--duration-fast);background:0 0;flex:none;align-items:center;gap:3px;padding:0 5px;font-size:.7rem;font-weight:500;display:inline-flex}.stage-deps-btn svg{flex:none}.stage-deps-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.stage-deps-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.stage-deps-count{background:var(--color-primary);color:#fff;border-radius:7px;place-items:center;min-width:14px;height:14px;padding:0 3px;font-size:.6rem;font-weight:700;display:inline-grid}.stage-deps-count--dot{border-radius:50%;width:7px;min-width:7px;height:7px;padding:0}.stage-del{width:22px;height:22px;color:var(--color-faint);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;display:inline-grid}.stage-del:hover{color:var(--color-primary);border-color:var(--color-primary)}.stage-needs-chips{flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 8px;display:flex}.stage-needs-arrow{color:var(--color-faint);font-size:.8rem}.stage-need-chip{background:var(--color-cyan-soft);color:var(--color-cyan);border-radius:8px;padding:1px 7px;font-size:.66rem;font-weight:600}.stage-rule-chips{flex-wrap:wrap;gap:4px;margin:-4px 0 8px;display:flex}.stage-rule-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;max-width:100%;padding:1px 7px 1px 6px;font-size:.66rem;font-weight:600;display:inline-flex;overflow:hidden}.stage-rule-chip svg{flex:none}.stage-rule-chip--when{background:var(--color-primary-soft);color:var(--color-primary)}.stage-rule-chip--gate{background:var(--color-amber-soft);color:var(--color-amber)}.stage-rule-chip--matrix{background:var(--color-violet-soft,#7c3aed21);color:var(--color-violet,#6d28d9)}.stage-rule-chip--svc{background:var(--color-cyan-soft);color:var(--color-cyan)}.stage-rule-chip--post{background:var(--color-amber-soft);color:var(--color-amber)}.deps-popover{z-index:40;background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:210px;padding:11px 12px;position:absolute;top:40px;right:6px;box-shadow:0 12px 32px #00000038}.deps-popover--job{z-index:41}.deps-popover-title{text-transform:uppercase;letter-spacing:.02em;color:var(--color-faint);margin-bottom:8px;font-size:.7rem;font-weight:600}.deps-empty{color:var(--color-faint);margin:0;font-size:.74rem;font-style:italic}.deps-option{color:var(--color-text);cursor:pointer;align-items:center;gap:7px;padding:3px 0;font-size:.78rem;display:flex}.deps-option input{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer}.deps-option--toggle{color:var(--color-dim)}.deps-divider{background:var(--color-border);height:1px;margin:8px 0}.deps-hint{color:var(--color-faint);margin:7px 0 0;font-size:.68rem;line-height:1.4}.deps-done{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;width:100%;height:26px;font:inherit;cursor:pointer;border:none;margin-top:9px;font-size:.74rem;font-weight:600}.deps-done:hover{filter:brightness(1.06)}.job-card{background:var(--color-card-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), outline-color var(--duration-fast);margin-bottom:6px;padding:8px 9px;position:relative}.job-card:hover{border-color:var(--color-border-strong)}.job-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.job-card--dragging{opacity:.45}.job-card--dragover{border-color:var(--color-primary);box-shadow:0 -2px 0 0 var(--color-primary)}.job-card--linkover{outline:2px dashed var(--color-primary);outline-offset:1px}.job-card--highlight{outline:2px solid var(--color-red);outline-offset:2px;animation:1.6s ease-in-out 2 job-card-pulse}@keyframes job-card-pulse{50%{outline-offset:5px}}@media (prefers-reduced-motion:reduce){.job-card--highlight{animation:none}}.job-card--run-success{border-color:var(--color-green)}.job-card--run-failed{border-color:var(--color-red)}.job-card--run-running{border-color:var(--color-primary)}.job-card--run-skipped{border-style:dashed;border-color:var(--color-border-strong);opacity:.72}.job-card--run-pending{border-style:dashed;border-color:var(--color-border)}.job-card-top{align-items:center;gap:7px;display:flex}.job-type-icon{color:var(--color-on-accent);border-radius:7px;flex:none;place-items:center;font-weight:700;display:inline-grid}.job-type-icon--cyan{background:var(--color-cyan)}.job-type-icon--primary{background:var(--color-primary)}.job-type-icon--green{background:var(--color-green)}.job-type-icon--amber{background:var(--color-amber)}.job-type-icon--red{background:var(--color-red)}.job-type-icon--neutral{background:var(--color-faint)}.job-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;font-size:.8rem;font-weight:600;overflow:hidden}.job-card-type{letter-spacing:.02em;text-transform:uppercase;color:var(--color-faint);margin-top:4px;font-size:.68rem;font-weight:600}.job-summary{color:var(--color-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.72rem;overflow:hidden}.job-card-del{width:18px;height:18px;color:var(--color-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;place-items:center;display:inline-grid}.job-card-del:hover{color:var(--color-red);background:var(--color-card)}.job-card-deps:hover,.job-card-copy:hover{color:var(--color-primary)}.job-up-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px;display:flex}.job-up-arrow{color:var(--color-faint);font-size:.72rem}.job-up-chip{background:var(--color-primary-soft);color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;max-width:100%;padding:1px 6px;font-size:.64rem;font-weight:600;overflow:hidden}.job-run-status{border-radius:50%;flex:none;place-items:center;width:14px;height:14px;margin-left:2px;display:inline-grid}.job-run-icon{width:9px;height:9px}.job-run-status--success{background:var(--color-green);color:var(--color-on-accent)}.job-run-status--failed{background:var(--color-red);color:var(--color-on-accent)}.job-run-status--running{background:var(--color-primary)}.job-run-status--skipped{border:1.5px solid var(--color-border-strong);color:var(--color-faint);background:0 0}.job-run-status--pending{border:1.5px solid var(--color-border);background:0 0}.job-run-status--waiting_approval{background:var(--color-amber);color:var(--color-on-accent)}.job-run-spin{border:1.5px solid var(--color-on-accent);border-top-color:#0000;border-radius:50%;width:7px;height:7px;animation:.8s linear infinite job-run-rot}@keyframes job-run-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.job-run-spin{animation:none}}.job-run-dur{color:var(--color-faint);flex:none;margin-left:2px;font-size:.64rem;font-weight:600}.flat-serial-link{color:var(--color-faint);justify-content:center;align-items:center;gap:5px;margin:-3px 0;display:flex}.flat-serial-text{letter-spacing:.03em;text-transform:uppercase;opacity:.8;font-size:.62rem;font-weight:600}.add-job-row{gap:8px;margin-top:4px;display:flex}.add-job-btn{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);width:100%;color:var(--color-faint);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast), background-color var(--duration-fast);background:0 0;padding:6px 8px;font-size:.74rem;font-weight:500}.add-job-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.add-job-row .add-job-btn{flex:1;width:auto}.add-job-btn--serial{border-color:var(--color-primary-soft);color:var(--color-primary);justify-content:center;align-items:center;gap:6px;display:inline-flex}.add-job-btn--serial:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.add-job-ic{flex:none}.add-parallel-stage-btn{border:1px dashed var(--color-green-line);border-radius:var(--radius-md);width:100%;color:var(--color-green);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), background-color var(--duration-fast);background:0 0;justify-content:center;align-items:center;gap:5px;margin-top:6px;padding:5px 8px;font-size:.72rem;font-weight:500;display:flex}.add-parallel-stage-btn:hover{border-color:var(--color-green);background:var(--color-green-soft)}.add-stage-btn{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);min-width:120px;color:var(--color-faint);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast);background:0 0;flex:none;align-self:flex-start;margin-top:26px;padding:9px 14px;font-size:.78rem;font-weight:600}.add-stage-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.yaml-block{flex-direction:column;gap:8px;max-width:860px;margin-top:14px;display:flex}.yaml-edit{width:100%;min-height:260px;font-family:var(--font-mono);color:var(--color-text);background:var(--color-inset);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);resize:vertical;box-sizing:border-box;padding:12px 14px;font-size:.78rem;line-height:1.65}.yaml-edit:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.yaml-banner{border-radius:var(--radius-md);align-items:center;gap:7px;padding:8px 12px;font-size:.78rem;display:flex}.yaml-banner--error{background:var(--color-red-soft);border:1px solid var(--color-red-line);color:var(--color-red)}.yaml-banner--ok{background:var(--color-green-soft);border:1px solid var(--color-green-line);color:var(--color-green)}.yaml-err-line{margin-right:6px}.yaml-actions{justify-content:flex-end;gap:8px;display:flex}.yaml-btn{background:var(--color-card-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);height:30px;color:var(--color-text);font:inherit;cursor:pointer;transition:border-color var(--duration-fast);align-items:center;gap:6px;padding:0 13px;font-size:.78rem;font-weight:600;display:inline-flex}.yaml-btn:hover:not(:disabled){border-color:var(--color-primary)}.yaml-btn:disabled{opacity:.5;cursor:default}.yaml-btn--primary{background:var(--color-primary);color:#fff;border-color:#0000}.yaml-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.yaml-spin{border:1.6px solid;border-top-color:#0000;border-radius:50%;width:11px;height:11px;animation:.8s linear infinite stage-run-rot}.drawer-resize-handle{cursor:col-resize;width:4px;transition:background var(--duration-fast);z-index:5;background:0 0;flex:none}.drawer-resize-handle:hover{background:var(--color-primary)}.job-drawer{width:var(--job-drawer-width,360px);background:var(--color-card);border-left:1px solid var(--color-border);flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.drawer-head{border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:9px;padding:12px 14px;display:flex}.drawer-icon{background:var(--color-inset);width:28px;height:28px;color:var(--color-dim);border-radius:8px;flex:none;place-items:center;display:grid}.drawer-title{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;font-weight:700;overflow:hidden}.drawer-subtitle{color:var(--color-faint);margin-top:1px;font-size:.68rem;font-weight:500;display:block}.drawer-close{width:26px;height:26px;color:var(--color-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;display:grid}.drawer-close:hover{color:var(--color-text);background:var(--color-inset)}.drawer-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:14px;display:flex;overflow-y:auto}.drawer-section{flex-direction:column;gap:7px;display:flex}.drawer-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-faint);font-size:.7rem;font-weight:700}.drawer-field{flex-direction:column;gap:4px;display:flex}.drawer-field-label{color:var(--color-dim);font-size:.74rem;font-weight:500}.drawer-field-label code{font-family:var(--font-mono);background:var(--color-inset);color:var(--color-dim);border-radius:3px;padding:0 3px;font-size:.92em}.drawer-field-events{flex-wrap:wrap;gap:12px;display:flex}.drawer-input{width:100%;height:34px;font:inherit;color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:0 10px;font-size:.82rem}.drawer-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.drawer-input:disabled{opacity:.6;cursor:not-allowed}.drawer-input.is-mono,.is-mono{font-family:var(--font-mono);font-size:.78rem}.drawer-textarea{resize:vertical;height:auto;min-height:68px;padding:8px 10px;line-height:1.5}.drawer-code{min-height:110px}.drawer-hint{color:var(--color-faint);margin:2px 0 0;font-size:.7rem;line-height:1.5}.drawer-hint code{font-family:var(--font-mono);background:var(--color-inset);color:var(--color-dim);border-radius:3px;padding:0 3px;font-size:.92em}.drawer-warn{color:var(--color-red);margin:4px 0 0;font-size:.72rem;line-height:1.45}.drawer-ok{color:var(--color-green);margin:0 0 6px;font-size:.76rem;font-weight:600}.drawer-toggle{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.78rem;display:flex}.drawer-toggle input{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer}.drawer-link-btn{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.76rem;font-weight:600}.drawer-link-btn:hover{text-decoration:underline}.drawer-adv-toggle{color:var(--color-dim);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:5px;padding:0;font-size:.74rem;font-weight:600;display:inline-flex}.drawer-adv-toggle:hover{color:var(--color-primary)}.drawer-kv-row{align-items:center;gap:6px;display:flex}.drawer-kv-key{flex:0 0 38%;min-width:0;height:30px;font-weight:600}.drawer-kv-val{flex:1;min-width:0;height:30px}.drawer-kv-del{width:22px;height:22px;color:var(--color-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;place-items:center;display:grid}.drawer-kv-del:hover{color:var(--color-red);background:var(--color-card)}.settings-add-link{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.76rem;font-weight:600}.settings-add-link:hover{text-decoration:underline}.drawer-servers{flex-direction:column;gap:4px;display:flex}.drawer-save-panel{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-inset);flex-direction:column;gap:8px;padding:10px;display:flex}.drawer-save-actions{justify-content:flex-end;gap:8px;display:flex}.drawer-run-banner{border-bottom:1px solid var(--color-border);background:var(--color-inset);flex:none;align-items:center;gap:8px;padding:9px 14px;display:flex}.drawer-run-status{border-radius:999px;padding:2px 9px;font-size:.7rem;font-weight:700}.drawer-run-status--success{background:var(--color-green-soft);color:var(--color-green)}.drawer-run-status--failed{background:var(--color-red-soft);color:var(--color-red)}.drawer-run-status--running{background:var(--color-primary-soft);color:var(--color-primary)}.drawer-run-status--skipped{background:var(--color-card-2);color:var(--color-faint)}.drawer-run-status--pending{background:var(--color-card-2);color:var(--color-dim)}.drawer-run-status--waiting_approval{background:var(--color-amber-soft);color:var(--color-amber)}.drawer-run-dur{color:var(--color-faint);font-size:.7rem}.drawer-run-logs-btn{color:var(--color-primary);align-items:center;gap:4px;margin-left:auto;font-size:.74rem;font-weight:600;text-decoration:none;display:inline-flex}.drawer-run-logs-btn:hover{text-decoration:underline}.svc-editor,.post-editor{flex-direction:column;gap:8px;display:flex}.svc-row{border:1px solid var(--color-border);border-left:3px solid var(--color-cyan);border-radius:var(--radius-md);background:var(--color-inset);flex-direction:column;gap:5px;padding:8px;display:flex}.svc-line{align-items:center;gap:6px;display:flex}.svc-name{flex:0 0 40%;min-width:0;height:30px}.svc-image{flex:1;min-width:0;height:30px}.svc-env{min-height:44px}.svc-del,.post-del{width:22px;height:22px;color:var(--color-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none}.svc-del:hover,.post-del:hover{color:var(--color-red);background:var(--color-card)}.post-row{border:1px solid var(--color-border);border-left:3px solid var(--color-amber);border-radius:var(--radius-md);background:var(--color-inset);flex-direction:column;gap:5px;padding:8px;display:flex}.post-line{align-items:center;gap:6px;display:flex}.post-cond{cursor:pointer;flex:0 0 92px;min-width:0;height:30px}.post-image{flex:1;min-width:0;height:30px}.post-cmds{min-height:44px}.jtp-overlay{z-index:8200;background:var(--color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:24px;animation:.16s ease-out ui-scrim-in;display:grid;position:fixed;inset:0}.jtp-dialog{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:min(840px,100%);max-height:min(82vh,760px);box-shadow:var(--shadow-modal);flex-direction:column;animation:.18s ease-out ui-modal-in;display:flex;overflow:hidden}.jtp-head{border-bottom:1px solid var(--color-border);padding:18px 22px 14px;position:relative}.jtp-title{color:var(--color-text);margin:0;font-size:1.04rem;font-weight:650}.jtp-sub{color:var(--color-faint);margin:3px 0 0;font-size:.8rem}.jtp-close{width:30px;height:30px;color:var(--color-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.jtp-close:hover{color:var(--color-text);background:var(--color-inset)}.jtp-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:14px 22px 20px;display:flex;overflow-y:auto}.jtp-group{flex-direction:column;gap:8px;display:flex}.jtp-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-faint);margin:0;font-size:.72rem;font-weight:700}.jtp-group-hint{color:var(--color-faint);margin:-4px 0 0;font-size:.72rem}.jtp-custom-hint{color:var(--color-faint);margin:0;font-size:.78rem}.jtp-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.type-card{background:var(--color-card-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;transition:border-color var(--duration-fast), background var(--duration-fast), box-shadow var(--duration-fast);align-items:flex-start;gap:10px;padding:10px 11px;display:flex}.type-card:hover{border-color:var(--color-primary);box-shadow:0 4px 14px -8px var(--color-primary-soft)}.type-card--current{border-color:var(--color-primary);background:var(--color-primary-soft)}.type-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.type-card-name{color:var(--color-text);align-items:center;gap:6px;font-size:.82rem;font-weight:650;display:flex}.type-card-badge{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;flex:none;padding:1px 6px;font-size:.62rem;font-weight:700}.type-card-badge--builtin{background:var(--color-cyan-soft);color:var(--color-cyan)}.type-card-badge--custom{background:var(--color-amber-soft);color:var(--color-amber)}.type-card-desc{color:var(--color-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.45;display:-webkit-box;overflow:hidden}.type-card-token{font-family:var(--font-mono);color:var(--color-faint);background:var(--color-inset);border-radius:4px;width:fit-content;padding:0 4px;font-size:.66rem}.tab-body{flex:1;min-height:0;display:flex}.tab-panels{flex-direction:column;flex:1;min-width:0;display:flex}.tab-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.tab-panel--canvas{overflow:hidden}.tab-panel--hidden{display:none}.vd-panel{background:var(--color-card);border-left:1px solid var(--color-border);flex-direction:column;flex:none;width:360px;min-height:0;display:flex}.vd-head{border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:9px;padding:12px 14px;display:flex}.vd-title{color:var(--color-text);flex:1;font-size:.88rem;font-weight:700}.vd-badge{border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:700}.vd-badge--ok{background:var(--color-green-soft);color:var(--color-green)}.vd-badge--err{background:var(--color-red-soft);color:var(--color-red)}.vd-body{flex-direction:column;flex:1;gap:7px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.vd-skel{flex-direction:column;gap:8px;display:flex}.vd-empty{color:var(--color-faint);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:34px 16px;font-size:.8rem;display:flex}.vd-issue{background:var(--color-card-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;font:inherit;transition:border-color var(--duration-fast);align-items:flex-start;gap:9px;padding:8px 10px;display:flex}.vd-issue:hover{border-color:var(--color-primary)}.vd-issue-sev{border-radius:999px;flex:none;margin-top:1px;padding:1px 7px;font-size:.64rem;font-weight:700}.vd-issue--error .vd-issue-sev{background:var(--color-red-soft);color:var(--color-red)}.vd-issue--warning .vd-issue-sev{background:var(--color-amber-soft);color:var(--color-amber)}.vd-issue--info .vd-issue-sev{background:var(--color-cyan-soft);color:var(--color-cyan)}.vd-issue-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vd-issue-msg{color:var(--color-text);font-size:.78rem;line-height:1.45}.vd-issue-loc{color:var(--color-faint);font-size:.68rem}.vd-issue-arrow{color:var(--color-faint);flex:none;margin-top:3px}.vd-foot-hint{color:var(--color-faint);margin:6px 0 0;font-size:.72rem}.vars-tab{flex-direction:column;gap:22px;max-width:780px;padding:18px 22px 30px;display:flex}.vars-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.vars-section-head{flex-direction:column;gap:2px;display:flex}.vars-title{color:var(--color-text);margin:0;font-size:.88rem;font-weight:700}.vars-sub{color:var(--color-faint);margin:0;font-size:.74rem;line-height:1.5}.vars-rows{flex-direction:column;gap:7px;display:flex}.vars-row{align-items:center;gap:7px;display:flex}.vars-key{flex:0 0 30%;min-width:0;height:32px;font-weight:600}.vars-val{flex:1;min-width:0;height:32px}.vars-kind{background:var(--color-inset);color:var(--color-faint);border-radius:999px;flex:none;padding:1px 7px;font-size:.64rem;font-weight:700}.vars-kind--secret{background:var(--color-amber-soft);color:var(--color-amber)}.vars-mask{font-family:var(--font-mono);color:var(--color-faint);background:var(--color-inset);border-radius:5px;flex:none;padding:2px 7px;font-size:.7rem}.vars-del{width:24px;height:24px;color:var(--color-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;display:grid}.vars-del:hover{color:var(--color-red);background:var(--color-inset)}.vars-add-row{align-items:center;gap:14px;display:flex}.vars-groups{flex-wrap:wrap;gap:7px;display:flex}.vars-group-chip{background:var(--color-primary-soft);color:var(--color-primary);border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.vars-chip-del{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:.66rem;display:grid}.vars-chip-del:hover{background:var(--color-primary);color:#fff}.env-card{gap:12px}.env-head{align-items:center;gap:8px;display:flex}.env-name{flex:0 0 220px;height:34px;font-weight:700}.env-registry{flex-direction:column;gap:5px;display:flex}.env-registry-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.trig-url-row{align-items:center;gap:8px;display:flex}.trig-map-row{flex-wrap:wrap;align-items:flex-start}.trig-map-row .drawer-input{height:32px}.trig-map-servers{flex-direction:column;flex:1;gap:3px;min-width:180px;display:flex}.trig-cron-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ui-modal--lg{width:min(860px,100%)}.tpl-modal-body{grid-template-columns:minmax(240px,300px) 1fr;gap:14px;min-height:320px;display:grid}.tpl-modal-list{flex-direction:column;gap:8px;max-height:420px;display:flex;overflow-y:auto}.tpl-modal-detail{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-inset);flex-direction:column;gap:7px;max-height:420px;padding:12px;display:flex;overflow-y:auto}.tpl-stage-row{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:9px;padding:7px 10px;display:flex}.tpl-stage-idx{background:var(--color-inset);min-width:20px;height:20px;color:var(--color-dim);border-radius:6px;flex:none;place-items:center;font-size:.68rem;font-weight:700;display:inline-grid}.tpl-stage-name{color:var(--color-text);flex:none;font-size:.8rem;font-weight:650}.tpl-stage-jobs{color:var(--color-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.pac-stage-list{flex-direction:column;gap:7px;margin-top:10px;display:flex}.add-job-btn--parallel{border-color:var(--color-green-line);color:var(--color-green);justify-content:center;align-items:center;gap:6px;display:inline-flex}.add-job-btn--parallel:hover{border-color:var(--color-green);background:var(--color-green-soft)}.yaml-toggle-btn{color:var(--color-faint);font:inherit;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;align-items:center;gap:5px;margin-top:14px;padding:3px 2px;font-size:.76rem;font-weight:600;display:inline-flex}.yaml-toggle-btn:hover{color:var(--color-primary)}.yaml-toggle-btn svg{transition:transform var(--duration-fast)}.yaml-toggle-btn--open svg{transform:rotate(90deg)}.vars-empty{color:var(--color-faint);text-align:center;margin:0;padding:14px 0;font-size:.8rem}.vars-section-head--row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:10px}.vars-title{align-items:center;gap:7px;display:inline-flex}.vars-title svg{color:var(--color-primary)}.vars-switch-row{cursor:pointer;align-items:center;gap:11px;display:flex}.vars-switch-row--always{opacity:.75;cursor:default}.vars-switch-text{flex-direction:column;flex:1;gap:1px;display:flex}.vars-switch-text strong{color:var(--color-text);font-size:.82rem;font-weight:600}.vars-switch-text small{color:var(--color-faint);font-size:.72rem}.trig-event-token{font-family:var(--font-mono);color:var(--color-faint);flex:none;font-size:.66rem}.trig-field-row{align-items:center;gap:12px;display:flex}.trig-field-label{width:64px;color:var(--color-dim);flex:none;font-size:.78rem;font-weight:500}.trig-field-body{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.trig-field-body .drawer-input{flex:1;min-width:0}.trig-inline-btn{flex:none}.trig-map-head{color:var(--color-faint);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:28% 20% 1fr 24px;gap:7px;padding:0 2px;font-size:.68rem;font-weight:600;display:grid}.trig-policy-row{gap:8px;display:flex}.trig-policy{background:var(--color-card-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-dim);font:inherit;cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast);align-items:center;gap:6px;padding:6px 13px;font-size:.78rem;font-weight:600;display:inline-flex}.trig-policy:hover{border-color:var(--color-border-strong)}.trig-policy--on{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.env-empty{flex-direction:column;align-items:center;gap:10px;padding:18px 0 8px;display:flex}.env-cred-note{color:var(--color-faint);align-items:center;gap:6px;font-size:.72rem;display:flex}.env-cred-note svg{color:var(--color-cyan);flex:none}.library{max-width:1120px;margin:0 auto;padding:clamp(22.5px,15px + 2vw,45px) clamp(15px,7.5px + 2vw,37.5px)}.page-header{justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:22.5px;display:flex}.lib-dist{flex-shrink:0;gap:7.5px;display:flex}.page-title{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:clamp(22.5px,18px + 1.4vw,31.5px);font-weight:680}.page-sub{color:var(--color-dim);margin:5.25px 0 0;font-size:13.8px}.seg{background:var(--color-inset);border:1px solid var(--color-border);border-radius:12px;gap:3.75px;margin-bottom:26.25px;padding:3.75px;display:inline-flex}.seg-item{color:var(--color-dim);cursor:pointer;transition:color var(--duration-fast,.15s), background var(--duration-fast,.15s);background:0 0;border:none;border-radius:9px;align-items:center;gap:7.5px;padding:7.5px 15px;font-size:13.5px;font-weight:560;display:inline-flex}.seg-item:hover{color:var(--color-text)}.seg-item--active{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow)}.seg-count{min-width:21px;height:21px;color:var(--color-faint);background:var(--color-border);border-radius:999px;place-items:center;padding:0 6px;font-size:10.8px;font-weight:640;display:inline-grid}.seg-item--active .seg-count{color:var(--color-primary);background:var(--color-primary-soft)}.panel{min-height:240px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px;margin:0;padding:0;list-style:none;display:grid}.tpl-card,.vg-card,.cn-card{background:var(--color-card);border:1px solid var(--color-border);box-shadow:var(--shadow);transition:transform var(--duration-fast,.15s), border-color var(--duration-fast,.15s);border-radius:16px;flex-direction:column;gap:10.5px;padding:17.25px 18.75px;display:flex}.tpl-card:hover,.vg-card:hover,.cn-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.tpl-card-head,.vg-card-head,.cn-card-head{justify-content:space-between;align-items:center;gap:7.5px;display:flex}.tpl-name,.vg-name,.cn-name{letter-spacing:-.01em;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15.75px;font-weight:640;overflow:hidden}.tpl-builtin-pill,.vg-builtin-pill,.cn-builtin-pill{color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:999px;flex-shrink:0;padding:1.8px 7.5px;font-size:10.8px;font-weight:620}.tpl-readonly,.asset-readonly{color:var(--color-dim);font-size:11.7px}.dup-hint{border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-inset);color:var(--color-dim);border-radius:8px;margin:0 0 15px;padding:8.25px 11.25px;font-size:12px;line-height:1.5}.tpl-stage-pill,.vg-count-pill,.cn-type-pill{color:var(--color-primary);background:var(--color-primary-soft);border-radius:999px;flex-shrink:0;padding:2.7px 8.25px;font-size:10.8px;font-weight:600}.tpl-desc,.vg-desc,.cn-desc{color:var(--color-dim);min-height:1.2em;margin:0;font-size:12.9px;line-height:1.45}.cn-cfg-list{border-top:1px solid var(--color-border);flex-direction:column;gap:5.25px;margin:0;padding:9px 0 0;list-style:none;display:flex}.cn-cfg{align-items:center;gap:9px;min-width:0;font-size:12.3px;display:flex}.cn-cfg-key{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-text);background:var(--color-inset);border-radius:6px;flex-shrink:0;padding:1.5px 6px}.cn-cfg-val{color:var(--color-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cn-cfg--more{color:var(--color-faint);font-style:italic}.cn-card-foot{justify-content:space-between;align-items:center;gap:7.5px;margin-top:auto;padding-top:6px;display:flex}.cn-time{color:var(--color-faint);font-size:11.4px}.cn-card-actions{align-items:center;gap:7.5px;display:flex}.cn-type-readonly{align-items:center;gap:9px;display:flex}.cn-type-hint{color:var(--color-faint);font-size:11.7px}.cn-rows-empty{color:var(--color-faint);margin:0;font-size:12.3px;font-style:italic}.vg-var-list{border-top:1px solid var(--color-border);flex-direction:column;gap:5.25px;margin:0;padding:9px 0 0;list-style:none;display:flex}.vg-var{align-items:center;gap:9px;font-size:12.3px;display:flex}.vg-var-key{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-text);background:var(--color-inset);border-radius:6px;padding:1.5px 6px}.vg-var-value{color:var(--color-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vg-var-secret{color:var(--color-amber);font-family:var(--font-mono,ui-monospace, monospace);font-size:11.7px}.vg-var--more{color:var(--color-faint);font-style:italic}.tpl-card-foot,.vg-card-foot{justify-content:space-between;align-items:center;gap:7.5px;margin-top:auto;padding-top:6px;display:flex}.tpl-time{color:var(--color-faint);font-size:11.4px}.btn-primary{background:var(--color-primary);color:oklch(100% 0 0);cursor:pointer;transition:background var(--duration-fast,.15s), transform var(--duration-fast,.15s);border:none;border-radius:10px;padding:8.25px 16.5px;font-size:13.5px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-press);transform:translateY(-1px)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--color-card-2);color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;transition:border-color var(--duration-fast,.15s), background var(--duration-fast,.15s);border-radius:10px;padding:8.25px 16.5px;font-size:13.5px;font-weight:560}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:6px 12.75px;font-size:12.6px}.link-danger{color:var(--color-red);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 4.5px;font-size:12.3px;font-weight:560}.link-danger:hover{background:var(--color-red-soft)}.link-danger:focus-visible{outline:2px solid var(--color-red);outline-offset:1px}.tpl-actions{align-items:center;gap:14px;display:inline-flex}.link-plain{color:var(--color-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 4.5px;font-size:12.3px;font-weight:560}.link-plain:hover{color:var(--color-primary);background:var(--color-primary-soft)}.link-plain:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.link-add{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:12.3px;font-weight:580}.link-add:hover{text-decoration:underline}.banner{border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;padding:11.25px 15px;font-size:13.2px;display:flex}.banner--error{color:var(--color-red);background:var(--color-red-soft);border:1px solid var(--color-red-line)}.banner-retry{color:var(--color-red);cursor:pointer;background:0 0;border:none;font-weight:600}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:7.5px;padding:52.5px 15px;display:flex}.empty-icon{color:var(--color-faint);opacity:.6;font-size:30px}.empty-label{color:var(--color-text);margin:4.5px 0 0;font-size:16.5px;font-weight:600}.empty-hint{max-width:450px;color:var(--color-dim);margin:0;font-size:13.2px;line-height:1.55}.empty-state .btn-primary{margin-top:12px}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px;display:grid}.skeleton-card{background:linear-gradient(100deg, var(--color-card) 30%, var(--color-card-2) 50%, var(--color-card) 70%);background-size:200% 100%;border-radius:16px;height:150px;animation:1.4s ease-in-out infinite shimmer}.modal-scrim{z-index:50;background:oklch(0% 0 0/.55);place-items:center;padding:15px;display:grid;position:fixed;inset:0}.modal{background:var(--color-card);border:1px solid var(--color-border-strong);width:min(620px,100%);max-height:88vh;box-shadow:var(--shadow-modal);border-radius:18px;padding:22.5px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.modal-title{color:var(--color-text);margin:0;font-size:18px;font-weight:640}.modal-close{color:var(--color-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;width:30px;height:30px;font-size:15px}.modal-close:hover{background:var(--color-inset);color:var(--color-text)}.modal-foot{justify-content:flex-end;gap:9px;margin-top:18.75px;display:flex}.field{margin-bottom:15px}.field-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.field-label{color:var(--color-dim);margin-bottom:6px;font-size:12.6px;font-weight:560;display:block}.input{background:var(--color-inset);border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:border-color var(--duration-fast,.15s);border-radius:9px;padding:8.25px 11.25px;font-size:13.5px}.input:focus{border-color:var(--color-primary);outline:none}.var-rows{flex-direction:column;gap:7.5px;display:flex}.var-row{align-items:center;gap:7.5px;display:flex}.input--key{font-family:var(--font-mono,ui-monospace, monospace);flex:0 0 32%}.input--val,.input--cred{flex:auto}.var-secret-toggle{border:1px solid var(--color-border);background:var(--color-inset);cursor:pointer;border-radius:9px;flex-shrink:0;width:33px;height:33px;font-size:14.25px}.var-secret-toggle--on{border-color:var(--color-amber-line);background:var(--color-amber-soft)}.var-remove{border:1px solid var(--color-border);width:33px;height:33px;color:var(--color-faint);cursor:pointer;background:0 0;border-radius:9px;flex-shrink:0}.var-remove:hover{color:var(--color-red);border-color:var(--color-red-line)}.rs-loading{gap:11.25px;display:grid}.rs-chip-list{flex-wrap:wrap;gap:5.25px;margin:0 0 11.25px;padding:0;list-style:none;display:flex}.rs-chip{border:1px solid var(--color-border);background:var(--color-inset);color:var(--color-dim);border-radius:999px;padding:1.8px 7.5px;font-size:10.8px}.rs-chip--empty{border-style:dashed}.rs-chip--idle{border-color:var(--color-red-line);background:var(--color-red-soft);color:var(--color-red)}.rs-hint--warn{color:var(--color-red)}.rs-rule-stats{color:var(--color-dim);overflow-wrap:anywhere;min-width:0;font-size:10.8px}.rs-rule-stats--idle{color:var(--color-red);font-weight:620}.rs-hint{color:var(--color-dim);margin:3.75px 0 0;font-size:11.7px}.rs-group-label{margin:13.5px 0 0;font-size:11.7px;font-weight:620}.rs-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7.5px 11.25px;margin-top:7.5px;display:grid}.rs-cell{color:var(--color-dim);flex-direction:column;gap:3px;font-size:11.7px;display:flex}.rs-rule-card{border:1px solid var(--color-border);border-radius:8px;margin-top:9px;padding:9px 10.5px}.rs-rule-head{justify-content:space-between;align-items:center;gap:7.5px;margin-bottom:5.25px;display:flex}.rs-rule-index{font-size:11.1px;font-weight:620}.rs-cell--wide{margin-top:7.5px}.rs-cell--check{flex-direction:row;align-items:center;gap:6.75px;padding-top:17.25px}.rs-textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pw{--pw-bg:#f5f6f8;--pw-card:#fff;--pw-card-2:#fafbfc;--pw-inset:#f8f9fa;--pw-border:#171a211a;--pw-border-strong:#171a2129;--pw-text:#24272e;--pw-dim:#585e68;--pw-faint:#7d848f;--pw-primary:#2c6cd6;--pw-primary-press:#2258b8;--pw-primary-soft:#2c6cd61f;--pw-green:#149c66;--pw-green-soft:#16a36e1f;--pw-amber:#b0750e;--pw-amber-soft:#b0750e1f;--pw-red:#d23c3c;--pw-red-soft:#d23c3c1a;--pw-sky:#1e7ec2;--pw-sky-soft:#1e7ec21f;--pw-shadow:0 1px 2px #1018280d, 0 8px 24px #1018280f;--pw-radius:9px;color:var(--pw-text);background:var(--pw-bg);background-image:radial-gradient(900px 440px at 94% -16%,#2c6cd61a,#0000 60%);border-radius:14px;min-height:calc(100vh - 130px);padding:26px 28px 34px;font-family:Inter,ui-sans-serif,system-ui,PingFang SC,sans-serif;font-size:13.5px}.pw,.pw *,.pw :before,.pw :after{box-sizing:border-box}.pw a{color:inherit;text-decoration:none}.pw a.pw-link{color:var(--pw-primary)}.pw a.pw-link:hover{text-decoration:underline}.pw .mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.pw-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.pw-head h1{letter-spacing:-.01em;color:var(--pw-text);margin:0;font-size:22px;font-weight:650}.pw-head .pw-sub{color:var(--pw-faint);margin:6px 0 0;font-size:13px}.pw-head-actions{flex-shrink:0;gap:9px;display:flex}.pw-btn{border-radius:var(--pw-radius);border:1px solid var(--pw-border-strong);height:36px;color:var(--pw-dim);white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:13.3px;font-weight:500;transition:all .15s;display:inline-flex}.pw-btn:hover{color:var(--pw-text);border-color:#171a2147}.pw-btn-primary{background:var(--pw-primary);border-color:var(--pw-primary);color:#fff;box-shadow:0 5px 16px var(--pw-primary-soft)}.pw-btn-primary:hover{background:var(--pw-primary-press);border-color:var(--pw-primary-press);color:#fff}.pw-chips{flex-wrap:wrap;gap:7px;margin:14px 0 10px;display:flex}.pw-chip{border:1px solid var(--pw-border);height:28px;color:var(--pw-faint);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px;font-size:12.5px;transition:all .15s}.pw-chip:hover{color:var(--pw-dim);border-color:var(--pw-border-strong)}.pw-chip.on{background:var(--pw-primary);border-color:var(--pw-primary);color:#fff;font-weight:550}.pw-card{background:var(--pw-card);border:1px solid var(--pw-border);border-radius:var(--pw-radius);box-shadow:var(--pw-shadow)}.pw-card-title{border-bottom:1px solid var(--pw-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pw-card-title h2{color:var(--pw-text);margin:0;font-size:14px;font-weight:600}.pw-link{color:var(--pw-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.pw-link:hover{text-decoration:underline}.pw-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.pw-metric{background:var(--pw-card);border:1px solid var(--pw-border);border-radius:var(--pw-radius);cursor:pointer;text-align:left;padding:13px 15px;transition:all .15s}.pw-metric:hover{border-color:var(--pw-primary);transform:translateY(-1px)}.pw-metric .label{color:var(--pw-faint);font-size:12px}.pw-metric .value{color:var(--pw-text);margin-top:3px;font-size:22px;font-weight:650;line-height:1.25}.pw-metric .note{color:var(--pw-faint);margin-top:2px;font-size:11px}.pw-dora-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.pw-dora{background:var(--pw-card);border:1px solid var(--pw-border);border-radius:var(--pw-radius);padding:15px 16px}.pw-dora h3{color:var(--pw-text);margin:0;font-size:13.5px;font-weight:600}.pw-dora .en{color:var(--pw-faint);margin:2px 0 10px;font-size:11.5px}.pw-dora .value{color:var(--pw-text);font-size:21px;font-weight:650;line-height:1.2}.pw-dora .desc{color:var(--pw-faint);margin-top:6px;font-size:11.5px}.pw-level{border-radius:999px;margin-bottom:8px;padding:2px 9px;font-size:11px;font-weight:550;display:inline-block}.pw-level-elite{background:var(--pw-green-soft);color:var(--pw-green)}.pw-level-high{background:var(--pw-sky-soft);color:var(--pw-sky)}.pw-level-mid{background:var(--pw-amber-soft);color:var(--pw-amber)}.pw-level-low{background:var(--pw-red-soft);color:var(--pw-red)}.pw-level-none{background:var(--pw-card-2);color:var(--pw-faint)}.pw-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:550;display:inline-flex}.pw-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.pw-badge-green{background:var(--pw-green-soft);color:var(--pw-green)}.pw-badge-red{background:var(--pw-red-soft);color:var(--pw-red)}.pw-badge-amber{background:var(--pw-amber-soft);color:var(--pw-amber)}.pw-badge-sky{background:var(--pw-sky-soft);color:var(--pw-sky)}.pw-badge-gray{background:var(--pw-card-2);color:var(--pw-faint)}.pw-table{border-collapse:collapse;width:100%;font-size:13px}.pw-table th{text-align:left;color:var(--pw-faint);border-bottom:1px solid var(--pw-border);background:var(--pw-inset);padding:9px 14px;font-size:11.5px;font-weight:500}.pw-table td{border-bottom:1px solid var(--pw-border);color:var(--pw-dim);padding:10px 14px}.pw-table tbody tr{cursor:pointer;transition:background .12s}.pw-table tbody tr:hover{background:#2c6cd60d}.pw-table .rowgroup-day{color:var(--pw-faint);background:var(--pw-inset);padding:6px 14px;font-size:11.5px}.pw-rowlist{flex-direction:column;display:flex}.pw-row{border-bottom:1px solid var(--pw-border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:11px 16px;transition:background .12s;display:flex}.pw-row:last-child{border-bottom:none}.pw-row:hover{background:#2c6cd60d}.pw-row .name{color:var(--pw-text);font-weight:550}.pw-row .meta{color:var(--pw-faint);font-size:12px}.pw-proj{flex-direction:column;gap:10px;padding:16px;display:flex}.pw-proj-head{align-items:center;gap:10px;display:flex}.pw-proj-avatar{border-radius:var(--pw-radius);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:650;display:flex}.pw-proj-head h3{color:var(--pw-text);margin:0;font-size:15px;font-weight:600}.pw-proj-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;font-size:12.5px;display:grid}.pw-proj-facts .k{color:var(--pw-faint)}.pw-proj-facts .v{color:var(--pw-dim);margin-top:1px}.pw-proj-actions{border-top:1px solid var(--pw-border);flex-wrap:wrap;gap:7px;padding-top:11px;display:flex}.pw-proj-actions .pw-btn{height:29px;padding:0 11px;font-size:12px}.pw-tabs{border-bottom:1px solid var(--pw-border);gap:4px;margin-bottom:16px;display:flex}.pw-tab{color:var(--pw-faint);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 14px;font-size:13px;display:flex}.pw-tab:hover{color:var(--pw-dim)}.pw-tab.on{color:var(--pw-text);border-bottom-color:var(--pw-primary);font-weight:550}.pw-tab .n{background:var(--pw-card-2);color:var(--pw-faint);border-radius:999px;padding:0 7px;font-size:11px}.pw-empty{text-align:center;color:var(--pw-faint);padding:52px 20px}.pw-empty .icon{opacity:.5;margin-bottom:10px;font-size:26px}.pw-empty .t{color:var(--pw-dim);margin-bottom:5px;font-size:13.5px}.pw-empty .d{max-width:420px;margin:0 auto;font-size:12.5px;line-height:1.6}.pw-count{color:var(--pw-faint);margin:8px 0 12px;font-size:12.5px}.pw-note{color:var(--pw-faint);margin-top:14px;font-size:12px;line-height:1.7}.pw-note strong{color:var(--pw-dim)}.pw-select{background:var(--pw-inset);border:1px solid var(--pw-border-strong);border-radius:var(--pw-radius);height:38px;color:var(--pw-text);outline:none;padding:0 10px;font-size:12.5px}.pw-select:focus{border-color:var(--pw-primary)}.pw-select option{background:var(--pw-card)}.pw-modal-mask{z-index:100;background:#181c2673;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pw-modal{background:var(--pw-card);border:1px solid var(--pw-border-strong);border-radius:14px;flex-direction:column;width:60vw;min-width:560px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 60px #32374638}.pw-modal.wide{width:60vw;min-width:640px}.pw-modal-head{border-bottom:1px solid var(--pw-border);align-items:flex-start;gap:12px;padding:20px;display:flex}.pw-modal-head .t{letter-spacing:-.01em;font-size:15px;font-weight:600;display:block}.pw-modal-close{width:30px;height:30px;color:var(--pw-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;place-items:center;margin-left:auto;font-size:15px;transition:all .15s;display:grid}.pw-modal-close:hover{background:var(--pw-inset);color:var(--pw-text)}.pw-modal-body{scrollbar-width:thin;flex-direction:column;gap:16px;padding:20px;display:flex;overflow:hidden auto}.pw-modal-foot{border-top:1px solid var(--pw-border);justify-content:flex-end;align-items:center;gap:8px;padding:16px 20px;display:flex}.pw-field{flex-direction:column;gap:6px;display:flex}.pw-field label{color:var(--pw-dim);font-size:12.5px;font-weight:500;display:block}.pw-input{background:var(--pw-inset);border:1px solid var(--pw-border);border-radius:var(--pw-radius);width:100%;height:38px;color:var(--pw-text);outline:none;padding:0 12px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.pw-input:focus{border-color:var(--pw-primary);box-shadow:0 0 0 3px var(--pw-primary-soft)}.pw-input::placeholder{color:var(--pw-faint);opacity:.7}textarea.pw-input{resize:vertical;flex:1;height:auto;min-height:260px;padding:11px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.65}.pw-error{background:var(--pw-red-soft);color:var(--pw-red);border-radius:var(--pw-radius);padding:8px 12px;font-size:12.5px}.pw-log{border:1px solid var(--pw-border);border-radius:var(--pw-radius);color:#c9cdd4;background:#101216;padding:13px 15px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.7;overflow:auto}.pw-log .err{color:var(--pw-red)}.pw-log .warn{color:var(--pw-amber)}.pw-log .sep{color:var(--pw-primary);font-weight:600}.pw-drawer-mask{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a47;justify-content:flex-end;display:flex;position:fixed;inset:0}.pw-drawer{background:var(--pw-bg);border-left:1px solid var(--pw-border-strong);flex-direction:column;width:min(880px,94vw);height:100%;display:flex;box-shadow:-18px 0 50px #1018281f}.pw-step{border-radius:7px;align-items:center;gap:9px;padding:7px 10px;display:flex}.pw-step:hover{background:var(--pw-card)}.pw-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pw .app-select-current{height:36px;padding:0 12px}.pw-input.pw-input--error{border-color:var(--pw-red)}.pw-input.pw-input--error:focus{border-color:var(--pw-red);box-shadow:0 0 0 3px var(--pw-red-soft)}.pw-field .pw-field-error{color:var(--pw-red);font-size:11.5px}.pw-proj-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.pw-proj-card{background:var(--pw-card);border:1px solid var(--pw-border);cursor:pointer;border-radius:15px;flex-direction:column;gap:14px;min-width:0;padding:18px 20px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.pw-proj-card:hover{border-color:var(--pw-border-strong);box-shadow:var(--pw-shadow);transform:translateY(-1px)}.pw-proj-top{align-items:center;gap:12px;min-width:0;display:flex}.pw-proj-mark{color:#fff;border-radius:7px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:14px;font-weight:650;display:grid}.pw-proj-name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--pw-text);flex:auto;font-size:15px;font-weight:600;line-height:1.35;overflow:hidden}.pw-proj-info{flex-direction:column;gap:8px;min-width:0;display:flex}.pw-proj-repo{min-width:0;color:var(--pw-dim);align-items:center;gap:6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.4;text-decoration:none;display:flex}.pw-proj-repo:hover{color:var(--pw-primary)}.pw-proj-repo .u{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pw-proj-branch{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--pw-dim);background:var(--pw-inset);border:1px solid var(--pw-border);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:2px 9px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;display:inline-flex;overflow:hidden}.pw-proj-divider{border-top:1px solid var(--pw-border);margin:2px 0}.pw-proj-meta{align-items:baseline;gap:10px;min-width:0;font-size:12.5px;display:flex}.pw-proj-meta .k{width:62px;color:var(--pw-faint);flex-shrink:0}.pw-proj-meta .v{color:var(--pw-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pw-proj-meta .v.empty{color:var(--pw-faint)}.pw-proj-foot{border-top:1px solid var(--pw-border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;display:flex}.pw-proj-time{color:var(--pw-faint);white-space:nowrap;font-size:11.5px}.pw-proj-acts{flex-shrink:0;align-items:center;gap:4px;display:flex}.pw-icon-btn{width:30px;height:30px;color:var(--pw-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;transition:color .15s,background .15s;display:grid}.pw-icon-btn:hover{color:var(--pw-text);background:var(--pw-inset)}.pw-icon-btn.run{color:var(--pw-green)}.pw-icon-btn.run:hover{background:var(--pw-green-soft)}.pw-icon-btn.danger{color:var(--pw-red)}.pw-icon-btn.danger:hover{background:var(--pw-red-soft)}.pw-hint{color:var(--pw-dim,#64748b);margin:6px 0 0;font-size:12px}.env-view{gap:var(--space-5);flex-direction:column;display:flex}.view-title{font-size:var(--text-display);letter-spacing:-.02em;margin:0;font-weight:700}.view-sub{margin:var(--space-1) 0 0;color:var(--color-dim);font-size:var(--text-body)}.env-controls{gap:var(--space-4);align-items:flex-end;display:flex}.env-controls__field{flex-direction:column;gap:4px;display:flex}.env-controls__label{font-size:var(--text-label);color:var(--color-dim);font-weight:600}.select{appearance:none;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-md);color:var(--color-text);font-size:var(--text-body);min-width:220px;padding:8px 32px 8px 12px}.env-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.env-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.env-card__head{padding:var(--space-4);background:linear-gradient(180deg, var(--color-card-2), var(--color-card));border-bottom:1px solid var(--color-border);gap:var(--space-3);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;display:grid}.env-card__name-row{align-items:center;gap:var(--space-3);grid-column:1/2;display:flex}.env-card__name{font-size:var(--text-kpi);letter-spacing:-.01em;margin:0;font-weight:700}.env-card__live{font-size:var(--text-micro);color:var(--color-green);letter-spacing:.02em;font-weight:700}.env-card__stale{font-size:var(--text-micro);color:var(--color-faint)}.env-card__active{flex-direction:column;grid-area:2/1/3/2;gap:4px;display:flex}.env-card__active-meta{align-items:center;gap:var(--space-3);display:flex}.env-card__commit{font-family:var(--font-mono,monospace);font-size:var(--text-body);color:var(--color-text);font-weight:600}.env-card__branch{font-size:var(--text-label);color:var(--color-dim)}.env-card__active-sub{font-size:var(--text-label);color:var(--color-dim);flex-wrap:wrap;gap:6px;display:flex}.env-card__dot{color:var(--color-faint)}.env-card__head>:global(button){grid-area:1/2/3/3}.env-timeline{padding:var(--space-4);gap:var(--space-4);flex-direction:column;margin:0;list-style:none;display:flex;position:relative}.env-timeline:before{content:"";left:calc(var(--space-4) + 5px);top:var(--space-4);bottom:var(--space-4);background:var(--color-border);width:2px;position:absolute}.env-timeline__item{gap:var(--space-3);padding-left:var(--space-4);display:flex;position:relative}.env-timeline__node{background:var(--color-card);border:2px solid var(--color-border-strong);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:0}.env-timeline__item--active .env-timeline__node{background:var(--color-green);border-color:var(--color-green);box-shadow:0 0 0 4px color-mix(in oklch, var(--color-green) 22%, transparent)}.env-timeline__item--failed .env-timeline__node{border-color:var(--color-red)}.env-timeline__item--partial .env-timeline__node{border-color:var(--color-primary)}.env-timeline__body{flex-direction:column;gap:3px;min-width:0;display:flex}.env-timeline__line1{align-items:center;gap:var(--space-3);display:flex}.env-timeline__commit{font-family:var(--font-mono,monospace);font-size:var(--text-label);font-weight:600}.env-timeline__tag{font-size:var(--text-micro);color:var(--color-green);font-weight:700}.env-timeline__line2{font-size:var(--text-micro);color:var(--color-dim);flex-wrap:wrap;gap:6px;display:flex}.env-timeline__servers{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.env-timeline__artifacts{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.env-timeline__artifact{font-size:var(--text-micro);background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded-sm);color:var(--color-dim);padding:1px 6px}.skeleton-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--rounded-card);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.dora-view{gap:var(--space-6);flex-direction:column;display:flex}.view-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.view-header__text{gap:var(--space-1);flex-direction:column;display:flex}.view-title{font-size:var(--text-display);color:var(--color-text);letter-spacing:-.01em;margin:0;font-weight:700}.view-sub{font-size:var(--text-label);color:var(--color-dim);margin:0}.view-sub__count{color:var(--color-faint);font-variant-numeric:tabular-nums}.dora-controls{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.dora-controls__field{gap:var(--space-1);flex-direction:column;display:flex}.dora-controls__label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.07em;color:var(--color-faint)}.select{appearance:none;font-size:var(--text-body);color:var(--color-text);background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--rounded-md);cursor:pointer;min-width:180px;transition:border-color var(--duration-fast) var(--ease-out-expo);padding:7px 30px 7px 11px}.select:hover{border-color:var(--color-primary)}.select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dora-segmented{background:var(--color-inset);border:1px solid var(--color-border);border-radius:var(--rounded);gap:2px;padding:3px;display:inline-flex}.dora-segmented__btn{font-size:var(--text-label);color:var(--color-dim);border-radius:var(--rounded-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;padding:5px 13px}.dora-segmented__btn:hover{color:var(--color-text)}.dora-segmented__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dora-segmented__btn--active{color:var(--color-text);background:var(--color-card);box-shadow:var(--shadow);font-weight:600}.dora-summary{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg, var(--color-card-2), var(--color-card));border:1px solid var(--color-border);border-radius:var(--rounded-card);display:flex}.dora-summary__stat{flex-direction:column;gap:2px;display:flex}.dora-summary__num{font-size:var(--text-kpi);color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.dora-summary__num--ok{color:var(--color-green)}.dora-summary__num--bad{color:var(--color-red)}.dora-summary__lbl{font-size:var(--text-micro);color:var(--color-dim)}.dora-summary__divider{background:var(--color-border);align-self:stretch;width:1px}.dora-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=1180px){.dora-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=640px){.dora-grid{grid-template-columns:1fr}}.skeleton-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--rounded-card);background:var(--color-card);flex-direction:column;display:flex}.dora-note{font-size:var(--text-micro);color:var(--color-faint);margin:0;line-height:1.5}.dora-note strong{color:var(--color-dim);font-weight:600}.upgrade-current{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;align-items:center;gap:20px;margin-bottom:20px;padding:24px;display:flex;box-shadow:0 1px 3px #0f172a0a}.upgrade-version-badge{color:#4f46e5;background:#eef2ff;border-radius:8px;padding:8px 20px;font-family:monospace;font-size:28px;font-weight:700}.upgrade-version-meta{color:#64748b;flex-direction:column;gap:4px;font-size:13px;display:flex}.upgrade-section{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;margin-bottom:16px;padding:18px;box-shadow:0 1px 3px #0f172a0a}.upgrade-section-title{color:#0f172a;margin-bottom:12px;font-size:14px;font-weight:500}.upgrade-chips{flex-wrap:wrap;gap:8px;display:flex}.upgrade-chip{background:#f8fafc;border:.5px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:2px;min-width:140px;padding:10px 16px;display:flex}.upgrade-chip-version{color:#0f172a;font-family:monospace;font-size:14px;font-weight:600}.upgrade-chip-count{color:#64748b;font-size:11px}.upgrade-steps{flex-direction:column;gap:8px;display:flex}.upgrade-step{align-items:flex-start;gap:12px;display:flex}.upgrade-step-num{color:#fff;background:#4f46e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:500;display:flex}.upgrade-step-body{flex:1}.upgrade-step-action{color:#0f172a;margin-bottom:4px;font-size:13px}.upgrade-step-command{background:#f8fafc;border:.5px solid #e2e8f0;border-radius:8px;padding:8px 12px}.upgrade-step-command code{color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.clusters-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cluster-toast{z-index:999;color:#fff;background:#0f172a;border-radius:8px;padding:10px 24px;font-size:13px;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.cluster-form{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;margin-bottom:16px;padding:18px 20px;box-shadow:0 1px 3px #0f172a0a}.cluster-form-row{margin-bottom:10px}.cluster-input{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-size:13px}.cluster-input:focus{border-color:#4f46e5}.cluster-textarea{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-family:monospace;font-size:12px}.cluster-textarea:focus{border-color:#4f46e5}.cluster-form-actions{justify-content:flex-end;gap:8px;display:flex}.cluster-empty{text-align:center;color:#64748b;padding:60px 0}.cluster-empty-icon{margin-bottom:12px;font-size:48px}.cluster-empty-text{color:#0f172a;margin-bottom:6px;font-size:15px}.cluster-empty-hint{font-size:13px}.cluster-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:12px;display:grid}.cluster-card{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;padding:18px 20px;transition:box-shadow .15s,border-color .15s;box-shadow:0 1px 3px #0f172a0a}.cluster-card:hover{border-color:#c7d2fe;box-shadow:0 8px 24px #0f172a14}.cluster-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cluster-card-name{color:#0f172a;font-size:15px;font-weight:600}.cluster-status-tag{border-radius:10px;padding:2px 10px;font-size:11px;font-weight:500}.cluster-card-info{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.cluster-info-item{color:#475569;justify-content:space-between;font-size:12px;display:flex}.cluster-info-item span:last-child{color:#64748b;font-family:monospace}.cluster-error{color:#e11d48;word-break:break-all;background:#fff1f2;border-radius:4px;margin-bottom:10px;padding:6px 10px;font-size:11px}.cluster-card-actions{gap:6px;display:flex}.cluster-btn{cursor:pointer;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:7px 0;font-size:12px;font-weight:500;transition:all .12s}.cluster-btn-connect{color:#4f46e5;border-color:#a0c9ff}.cluster-btn-connect:hover{background:#eef2ff}.cluster-btn-disconnect{color:#d97706;border-color:#fde68a}.cluster-btn-disconnect:hover{background:#fffbeb}.cluster-btn-delete{color:#e11d48;border-color:#fecdd3}.cluster-btn-delete:hover{background:#fff1f2}.report-page{flex-direction:column;height:calc(100vh - 100px);display:flex}.report-start{text-align:center;color:#475569;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.report-icon{margin-bottom:12px;font-size:56px}.report-start h3{color:#0f172a;margin-bottom:6px;font-size:18px}.report-start p{max-width:480px;margin-bottom:20px;font-size:13px}.report-checklist{text-align:left;background:#fff;border:.5px solid #e2e8f0;border-radius:10px;min-width:400px;margin-bottom:24px;padding:18px 24px}.report-checklist-title{color:#0f172a;margin-bottom:10px;font-size:13px;font-weight:500}.report-checklist-grid{grid-template-columns:1fr 1fr 1fr;gap:6px 16px;display:grid}.report-checklist-grid span{color:#475569;padding:4px 0;font-size:13px}.report-btn-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:12px 36px;font-size:15px;font-weight:500}.report-btn-primary:hover{background:#0e4dd6}.report-btn-primary:disabled{opacity:.5;cursor:not-allowed}.report-viewer{flex-direction:column;flex:1;display:flex}.report-toolbar{justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 0;display:flex}.report-toolbar-left{align-items:center;gap:10px;display:flex}.report-score-badge{color:#fff;border-radius:6px;padding:4px 14px;font-size:14px;font-weight:600}.report-level{color:#0f172a;font-size:15px;font-weight:500}.report-toolbar-right{gap:8px;display:flex}.report-btn-secondary{cursor:pointer;color:#475569;background:#fff;border:.5px solid #cbd5e1;border-radius:6px;padding:6px 16px;font-size:12px}.report-btn-secondary:hover{color:#4f46e5;border-color:#4f46e5}.report-iframe{background:#fff;border:none;border-radius:8px;flex:1;width:100%}.deploy-page{position:relative}.deploy-toast{color:#fff;z-index:1001;background:#059669;border-radius:6px;padding:10px 20px;font-size:13px;position:fixed;top:60px;right:20px;box-shadow:0 2px 8px #00000026}.deploy-actions{flex-wrap:wrap;gap:4px;display:flex}.deploy-detail-panel{width:640px;max-height:80vh;overflow-y:auto}.deploy-actions .btn-diagnose{padding:2px 8px;font-size:11px}.ai-agent-page{background:#f4f6fa;flex-direction:column;height:calc(100vh - 100px);display:flex}.ai-agent-page .chat-header{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex;box-shadow:0 4px 14px #6366f140}.ai-agent-page .chat-header-title{flex:1;font-size:16px;font-weight:600}.agent-badge{letter-spacing:.5px;background:#fff3;border-radius:10px;padding:2px 8px;font-size:11px}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.message{gap:10px;max-width:100%;display:flex}.message-user{flex-direction:row-reverse}.message-agent{flex-direction:row}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.message-user .message-avatar{color:#fff;background:#4f46e5}.message-agent .message-avatar{color:#fff;background:#7c3aed}.message-content{flex-direction:column;gap:8px;max-width:85%;display:flex}.message-bubble{border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.6}.user-bubble{color:#fff;background:#4f46e5;border-top-right-radius:2px}.agent-bubble{background:#fff;border:1px solid #e2e8f0b3;border-top-left-radius:2px;box-shadow:0 1px 3px #0f172a0a}.message-bubble-md p{margin:4px 0}.message-bubble-md code{color:#e06c75;background:#f1f5f9;border-radius:3px;padding:1px 4px;font-size:13px}.message-bubble-md pre{color:#cdd6f4;background:#1e1e2e;border-radius:8px;padding:12px;font-size:12px;line-height:1.5;overflow-x:auto}.thinking{align-items:center;min-height:36px;display:flex}.typing-dots{gap:4px;padding:4px 0;display:flex}.typing-dots span{background:#cbd5e1;border-radius:50%;width:6px;height:6px;animation:1.4s infinite typing}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.2}30%{opacity:1}}.steps-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:4px;padding:12px}.steps-panel.streaming{border-color:#7c3aed;box-shadow:0 0 0 2px #722ed11a}.steps-title{color:#475569;border-bottom:1px solid #f1f5f9;margin-bottom:10px;padding-bottom:8px;font-size:13px;font-weight:600}.steps-title.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:none;margin-bottom:0;padding-bottom:0}.steps-title.clickable:hover{color:#4f46e5}.steps-title.clickable+.step-card{margin-top:10px}.step-card{background:#f7f8fa;border:1px solid #0000;border-radius:8px;margin-bottom:8px;padding:10px;transition:border-color .2s}.step-card:last-child{margin-bottom:0}.step-card.active{background:#f5f3ff;border-color:#7c3aed}.step-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.step-num{color:#7c3aed;background:#722ed11a;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.step-tool-badge{color:#d46b08;background:#fff7e6;border:1px solid #ffd591;border-radius:10px;padding:2px 8px;font-size:11px}.step-duration{color:#64748b;margin-left:auto;font-size:11px}.step-thought{color:#6b7785;margin-bottom:4px;font-size:12px;font-style:italic;line-height:1.5}.step-tool-detail{color:#475569;margin:4px 0;font-size:12px}.tool-label{color:#0f172a;font-weight:600}.tool-args{background:#f1f5f9;border-radius:4px;max-height:120px;margin:4px 0 0;padding:6px 8px;font-size:11px;overflow-x:auto}.step-result{color:#00b42a;margin-top:4px;font-size:12px;line-height:1.5}.step-error{color:#e11d48}.chat-input-bar{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;flex-shrink:0;gap:10px;margin-top:12px;padding:12px 16px;display:flex;box-shadow:0 1px 3px #0f172a0a}.chat-input{border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:8px 14px;font-size:14px;transition:border-color .2s}.chat-input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #722ed11a}.btn-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;padding:8px 20px;font-size:14px;transition:opacity .2s}.btn-send:hover:not(:disabled){opacity:.9}.btn-send:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:480px;max-width:90vw;overflow:hidden;box-shadow:0 8px 32px #0003}.confirm-header{background:#fff7e6;border-bottom:1px solid #ffe7ba;align-items:center;gap:10px;padding:16px 20px;font-size:16px;font-weight:600;display:flex}.confirm-level{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.confirm-level-low{color:#d46b08;background:#fff7e6}.confirm-level-medium{color:#e65a00;background:#ffede6}.confirm-level-high{color:#cb272d;background:#ffece8}.confirm-level-critical{color:#a10000;background:#fce8e8}.confirm-body{padding:20px}.confirm-action{color:#0f172a;margin-bottom:16px;font-size:15px;font-weight:600}.confirm-affected{background:#f7f8fa;border-radius:8px;padding:12px}.affected-title{color:#64748b;margin-bottom:8px;font-size:13px}.affected-item{color:#475569;padding:2px 0;font-size:13px}.confirm-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 20px;font-size:14px}.btn-cancel:hover{background:#f7f8fa}.btn-confirm{color:#fff;cursor:pointer;background:#e11d48;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600}.btn-confirm:hover{background:#cb272d}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-40{bottom:-10rem}.-left-32{left:-8rem}.-right-24{right:-6rem}.-top-32{top:-8rem}.left-0{left:0}.right-0{right:0}.top-1\/2{top:50%}.top-full{top:100%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1\.5{margin-bottom:.375rem}.mb-8{margin-bottom:2rem}.ml-1\.5{margin-left:.375rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[252px\]{height:252px}.h-\[28rem\]{height:28rem}.h-\[420px\]{height:420px}.h-\[82vh\]{height:82vh}.h-\[85vh\]{height:85vh}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-40{width:10rem}.w-44{width:11rem}.w-56{width:14rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[228px\]{width:228px}.w-\[28rem\]{width:28rem}.w-\[3px\]{width:3px}.w-\[46\%\]{width:46%}.w-\[max\(1000px\,78vw\)\]{width:max(1000px,78vw)}.w-\[max\(960px\,76vw\)\]{width:max(960px,76vw)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.max-w-0{max-width:0}.max-w-5xl{max-width:64rem}.max-w-\[380px\]{max-width:380px}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-white\/10{border-color:#ffffff1a}.bg-\[\#f4f6fa\]{--tw-bg-opacity:1;background-color:rgb(244 246 250/var(--tw-bg-opacity,1))}.bg-\[\#f7f8fb\]{--tw-bg-opacity:1;background-color:rgb(247 248 251/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-indigo-600\/30{background-color:#4f46e54d}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-100\/80{background-color:#f1f5f9cc}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-50\/60{background-color:#f8fafc99}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/40{background-color:#0f172a66}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.bg-violet-600\/25{background-color:#7c3aed40}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/5{background-color:#ffffff0d}.bg-white\/80{background-color:#fffc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-indigo-400{--tw-gradient-from:#818cf8 var(--tw-gradient-from-position);--tw-gradient-to:#818cf800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:#4f46e500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-violet-400{--tw-gradient-to:#a78bfa var(--tw-gradient-to-position)}.to-violet-600{--tw-gradient-to:#7c3aed var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[34px\]{font-size:34px}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity,1))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(15\,23\,42\,0\.04\)\]{--tw-shadow:0 1px 3px #0f172a0a;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-indigo-500\/20{--tw-shadow-color:#6366f133;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/25{--tw-shadow-color:#6366f140;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/30{--tw-shadow-color:#6366f14d;--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-900\/5{--tw-shadow-color:#0f172a0d;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity,1))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity,1))}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity,1))}.ring-sky-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 242 254/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity,1))}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-to-position: ;--tw-gradient-via-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:where(.neo *),:where(),:where(){box-sizing:border-box;border:0 solid #e2e8f0}:where(.neo h1),:where(.neo h2),:where(.neo h3),:where(.neo h4),:where(.neo p){margin:0}:where(.neo button){cursor:pointer;font:inherit;color:inherit;background:0 0;padding:0}:where(.neo input){font:inherit}:where(.neo ul),:where(.neo ol){margin:0;padding:0;list-style:none}:where(.neo img),:where(.neo svg){display:block}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.first\:mt-1:first-child{margin-top:.25rem}.last\:border-0:last-child{border-width:0}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50\/30:hover{background-color:#eef2ff4d}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:bg-slate-50\/60:hover{background-color:#f8fafc99}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:opacity-90:hover{opacity:.9}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}@media (width>=1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}}@media (width>=1280px){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.table-wrapper{background:#fff;border:1px solid #e2e8f0b3;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.pod-table{border-collapse:collapse;width:100%;font-size:13px}.pod-table thead tr{text-align:left;color:#64748b;background:#f8fafc99;border-bottom:1px solid #f1f5f9;font-size:11.5px}.pod-table th{white-space:nowrap;padding:10px 20px;font-weight:500}.pod-table tbody tr{border-bottom:1px solid #f8fafc;transition:background .12s}.pod-table tbody tr:last-child{border-bottom:0}.pod-table tbody tr:hover{background:#eef2ff4d}.pod-table td{color:#475569;vertical-align:middle;padding:10px 20px}.pod-table .cell-name{color:#334155;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ns-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-block}.pod-table .btn-diagnose{color:#6366f1;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .12s}.pod-table .btn-diagnose:hover{background:#eef2ff}.pod-table .status-tag,.pod-table .reslist-type-tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.pod-table .cell-time{color:#94a3b8}.pod-table .table-empty{text-align:center;color:#94a3b8;font-size:13px;padding:40px 20px!important}
