:root{--bg:#f6f5f4;--canvas:#fff;--surface-soft:#faf9f7;--sidebar:#eeece9;--border:#3a342f1f;--border-soft:#3a342f14;--text:#2d2a27;--subtext:#746d67;--primary:#0075de;color:var(--text);background:var(--bg);font-synthesis:none;letter-spacing:0;font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;letter-spacing:0}html,body,#root{background:var(--bg);min-width:320px;min-height:100%;margin:0}body{background:var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}.app-shell{background:var(--bg);min-height:100vh}.app-sidebar{z-index:10;border-right:1px solid var(--border);background:var(--sidebar);width:264px;height:100vh;position:fixed;top:0;left:0}.app-brand{border-bottom:1px solid var(--border);box-sizing:border-box;white-space:nowrap;align-items:center;gap:12px;height:96px;padding:0 22px;display:flex;overflow:hidden}.app-brand-logo{object-fit:contain;flex:0 0 48px;width:48px;height:64px;display:block}.app-brand-copy{gap:3px;min-width:0;display:grid}.app-brand-copy strong{color:var(--text);font-size:18px;line-height:1.35}.app-brand-copy span{color:var(--subtext);font-size:11px;line-height:1.5}.app-nav{padding:16px 12px}.app-nav-group{margin-bottom:12px}.app-nav-group-label{height:28px;color:var(--subtext);align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:flex}.app-nav-items{gap:3px;margin-top:5px;display:grid}.app-nav-item{color:#5f5851;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;height:42px;padding:0 12px;transition:background .18s,color .18s;display:flex}.app-nav-item svg{color:#7e766f;flex:none}.app-nav-item:hover{color:var(--text);background:#fff9}.app-nav-item.is-active{color:#26221f;background:#e8e5e2;border:1px solid #26221f;font-weight:600}.app-nav-item.is-active svg{color:#26221f}.app-nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-main{background:var(--bg);min-width:0;margin-left:264px}.app-topbar{border-bottom:1px solid var(--border-soft);box-sizing:border-box;background:#ffffffe0;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex}.app-topbar .ant-breadcrumb{color:var(--subtext);flex:1;font-size:13px}.app-topbar .ant-breadcrumb li:last-child{color:var(--text);font-weight:600}.app-menu-trigger{margin-right:6px;display:none}.app-user{min-height:42px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:4px 6px;display:flex}.app-user:hover{background:var(--surface-soft)}.app-user:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-user .ant-avatar{color:#005cab;background:#dcecff;font-weight:700}.app-user-copy{gap:2px;min-width:0;display:grid}.app-user-copy strong{color:var(--text);font-size:12px;line-height:1.25}.app-user-copy small{color:var(--subtext);font-size:11px;line-height:1.25}.app-user-chevron{color:var(--subtext)}.app-content{background:var(--bg);min-width:0;padding:28px 32px 48px}.page-frame{width:min(100%,1560px);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.page-heading h1{color:var(--text);margin:0;font-size:26px;font-weight:700;line-height:1.3}.page-heading-description{max-width:760px;color:var(--subtext);margin:7px 0 0;font-size:13px;line-height:1.7}.page-heading-actions{flex:none;padding-top:3px}.gateway-panel{background:var(--canvas);border:1px solid var(--border-soft);border-radius:16px;padding:22px;box-shadow:0 3px 12px #2e27210a}.page-section{margin-bottom:18px}.page-section:last-child{margin-bottom:0}.section-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-header h2{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.45}.auth-state,.standalone-state{background:var(--bg);place-content:center;gap:18px;min-height:100vh;padding:24px;display:grid}.auth-state .ant-btn{justify-self:center}.table-scroll{width:100%;overflow-x:auto}.member-name{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.connection-loading{place-content:center;min-height:280px;display:grid}.connection-summary{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.connection-form{max-width:960px}.connection-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.connection-controls{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.connection-controls .ant-form-item{margin-bottom:16px}.connection-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.discovery-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;max-width:760px;display:grid}.target-form{grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px;max-width:960px;display:grid}.target-form .ant-form-item{margin-bottom:0}.target-form .ant-btn{min-width:132px}.field-tags{flex-wrap:wrap;gap:4px;display:flex}.field-tags .ant-tag{margin-inline-end:0}.discovery-form .ant-form-item{margin-bottom:0}.discovery-form .ant-btn{min-width:112px}.discovery-actions{justify-content:flex-end;margin-top:18px;display:flex}.preview-count{color:var(--subtext);font-variant-numeric:tabular-nums}.page-section .ant-table-cell{vertical-align:middle}.task-basic-form{gap:8px;max-width:560px;display:grid}.task-basic-form label,.task-cron-control label,.task-control-label{color:var(--text);font-weight:600}.task-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;max-width:960px;display:grid}.task-control-group{align-items:center;gap:16px;min-height:40px;display:flex}.task-cron-control{grid-column:1/-1;gap:8px;display:grid}.task-cron-row{grid-template-columns:minmax(260px,1fr) auto;gap:10px;display:grid}.task-cron-preview{max-width:960px;margin-top:18px}.task-save-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.task-wizard{gap:18px;display:grid}.task-wizard-inline{align-items:center;gap:8px;max-width:760px;display:flex}.task-wizard-inline .ant-input{flex:auto}.task-wizard-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.task-list-toolbar{grid-template-columns:minmax(220px,1fr) 160px;gap:10px;max-width:640px;margin-bottom:18px;display:grid}.task-console-tabs{min-height:46px;color:var(--subtext);border-bottom:1px solid var(--border-soft);background:#f7f8fb;align-items:center;gap:24px;margin:-22px -22px 18px;padding:0 18px;display:flex}.task-console-tabs>svg{color:#42546d}.task-console-tabs a{height:46px;color:var(--subtext);border-bottom:2px solid #0000;align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.task-console-tabs a:hover,.task-console-tabs a.is-active{color:#26221f}.task-console-tabs a.is-active{border-bottom-color:#26221f;font-weight:600}.task-console-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.task-console-actions,.task-console-filters{align-items:center;gap:8px;display:flex}.task-console-actions .ant-btn{padding-inline:12px;font-size:13px}.task-console-filters .ant-input-search{width:360px}.task-console-filters .ant-select{width:132px}.task-table-wrap .ant-table{min-width:1020px;box-shadow:none;border:1px solid #e8e8e8;border-radius:12px}.task-table-wrap .ant-table-container,.task-table-wrap .ant-table-content{border-radius:12px}.task-table-wrap .ant-table-thead>tr>th{color:var(--subtext);background:#faf9f7;border-bottom-color:#e8e8e8;padding:12px 16px;font-size:12px;font-weight:600}.task-table-wrap .ant-table-tbody>tr>td{color:var(--text);border-bottom-color:#f0f0f0;padding:13px 16px;font-size:13px}.task-table-wrap .ant-table-tbody>tr:nth-child(2n)>td{background:#fff}.task-table-wrap .ant-table-tbody>tr:hover>td{background:#fafafa!important}.task-table-wrap .ant-table-selection-column{width:42px}.task-name-cell{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.task-template-separator{color:#a7afbc;padding:0 4px}.task-relation-cell{align-items:center;gap:6px;max-width:100%;display:inline-flex}.task-relation-cell>span,.task-relation-cell a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-relation-cell a{color:var(--primary);cursor:pointer;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.task-relation-cell a:hover{color:#005cab;background:#f5f5f5;border-radius:4px}.task-target-link{overflow-wrap:anywhere;max-width:100%;display:inline-block}.task-run-status{min-width:54px;color:var(--subtext);text-align:center;background:#fff;border:1px solid #d9d9d9;border-radius:999px;margin-inline-end:0;padding:1px 7px}.task-run-status.is-success{color:#237a4b;background:#f6ffed;border-color:#b7eb8f}.task-run-status.is-failed{color:#b42318;background:#fff1f0;border-color:#ffccc7}.task-run-status.is-running{color:#155eef;background:#f0f5ff;border-color:#adc6ff}.task-run-once-icon{border:1px solid;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:600;line-height:1;display:inline-grid;transform:translateY(-2px)}.task-row-actions .ant-btn{color:#5e6b7f;border-radius:4px;min-height:28px;padding:3px 5px}.task-row-actions .ant-btn:hover{color:var(--primary);background:#eaf2ff}.task-row-actions .ant-btn-dangerous:hover{color:#b42318;background:#fff1f0}.run-list-toolbar{flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.run-list-filter-row{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.run-list-filter-row .ant-input-search{flex:auto;min-width:180px}.run-time-range{flex:none;align-items:center;gap:8px;display:flex}.run-time-range>span{color:var(--subtext);white-space:nowrap;font-size:13px}.run-time-range>.ant-picker{width:122px}.run-time-range>.ant-picker-time{width:94px}.run-time-range .run-time-range-separator{margin-left:2px}.run-list-filter-row .ant-select{width:132px}.run-list-actions{align-items:center;gap:8px;display:flex}.run-center .ant-table-cell{font-variant-numeric:tabular-nums}.table-scroll .ant-table{border:1px solid var(--border-soft);border-radius:12px;min-width:760px}.table-scroll .ant-table-container{border-radius:12px}.table-scroll .ant-table-thead>tr>th{color:var(--subtext);background:var(--surface-soft);font-size:12px;font-weight:600}.table-scroll .ant-table-tbody>tr:hover>td{background:#f8fbff!important}.ant-tag{border-radius:999px;margin-inline-end:4px;font-size:12px}.ant-btn{box-shadow:none}.ant-btn:not(.ant-btn-link){border-radius:10px;min-height:36px}.ant-btn-default{color:#26221f;background:#fff;border-color:#d9d9d9}.ant-btn-default:not(:disabled):hover{color:#26221f;background:#fafafa;border-color:#8c8c8c}.ant-btn-default.ant-btn-dangerous{color:#b42318;border-color:#ffccc7}.ant-btn-default.ant-btn-dangerous:not(:disabled):hover{color:#b42318;background:#fff1f0;border-color:#ff7875}.ant-btn.ant-btn-primary:not(:disabled){background:#26221f;border-color:#26221f}.ant-btn.ant-btn-primary:not(:disabled):hover{background:#3d3733;border-color:#3d3733}.ant-input,.ant-input-number,.ant-select-selector{border-radius:10px!important}.ant-modal-content{border-radius:16px;box-shadow:0 16px 40px #2e272129}.app-nav-drawer .ant-drawer-header{border-bottom-color:var(--border-soft);padding:0}.app-nav-drawer .ant-drawer-title .app-brand{border-bottom:0;height:88px}.app-nav-drawer .ant-drawer-body{background:var(--sidebar);padding:12px}.app-nav-drawer .app-nav{padding:0}@media (width<=900px){.app-sidebar{display:none}.app-main{margin-left:0}.app-menu-trigger{display:inline-flex}.app-content{padding:24px}.page-heading{flex-direction:column}.page-heading-actions{padding-top:0}}@media (width<=560px){.app-topbar,.app-content{padding-left:18px;padding-right:18px}.app-content{padding-top:20px}.app-user-copy{display:none}.page-heading{gap:12px}.page-heading h1{font-size:23px}.page-heading-actions{width:100%}.gateway-panel{border-radius:14px;padding:16px}.section-header{flex-direction:column;align-items:flex-start;gap:10px}.connection-fields{grid-template-columns:1fr}.connection-actions{justify-content:flex-start}.discovery-form{grid-template-columns:1fr;align-items:stretch}.discovery-form .ant-btn{width:100%}.target-form{grid-template-columns:1fr;align-items:stretch}.target-form .ant-btn,.discovery-actions .ant-btn{width:100%}.task-schedule-grid{grid-template-columns:1fr}.task-cron-control{grid-column:auto}.task-cron-row{grid-template-columns:1fr}.task-save-actions{justify-content:stretch}.task-save-actions .ant-btn{flex:100%}.task-wizard-inline{flex-direction:column;align-items:stretch}.task-wizard-actions{justify-content:stretch}.task-wizard-actions .ant-btn{flex:100%}.task-list-toolbar{grid-template-columns:1fr}.task-console-toolbar{flex-direction:column;align-items:stretch}.task-console-actions,.task-console-filters{flex-wrap:wrap}.task-console-filters .ant-input-search{flex:200px;width:auto}.task-console-filters .ant-select{flex:0 0 132px}.run-list-toolbar{flex-wrap:wrap;align-items:stretch}.run-list-filter-row,.run-time-range{flex-wrap:wrap}.run-list-actions{justify-content:flex-start}.run-list-filter-row .ant-input-search{flex:100%;width:100%}.run-time-range>.ant-picker,.run-time-range>.ant-picker-time{width:calc(50% - 60px)}.run-list-filter-row .ant-select{width:100%;min-width:0}.ant-table-placeholder .ant-empty{width:calc(100vw - 70px);position:sticky;left:0}}
