#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--ink:#17211b;--muted:#65736b;--line:rgba(23,33,27,.12);--panel:rgba(255,252,245,.86);--green:#22543d;--moss:#7d9a61;--danger:#b84a3a;font-family:Microsoft YaHei,PingFang SC,serif;color:var(--ink);font-size:14px}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:9999;width:100%;height:3px;background:#409eff;box-shadow:0 0 10px #409effb8}#nprogress .peg{box-shadow:0 0 10px #409eff,0 0 5px #409eff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 15% 10%,#f7d88f 0,transparent 28%),radial-gradient(circle at 80% 0,#9fbf97 0,transparent 24%),linear-gradient(135deg,#efe7d6,#d7e0cf 55%,#e8dcc5)}button,input,textarea,select{font:inherit}button{border:0;border-radius:12px;padding:9px 14px;background:var(--green);color:#fff;cursor:pointer;box-shadow:0 10px 26px #22543d38}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#ffffffbd;color:var(--ink);outline:none}textarea{resize:vertical;font-family:Consolas,Courier New,monospace}label{display:grid;gap:6px;color:var(--muted);font-size:12px}pre{white-space:pre-wrap;overflow:auto;border-radius:14px;padding:14px;background:#1e2a22;color:#dff2dc}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(400px,100%);padding:32px;border-radius:26px;background:#fffcf5d1;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 80px #30362a3d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{width:60px;height:60px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,var(--green),var(--moss));color:#fff;font-weight:900}.login-card h1{margin:18px 0 6px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 20px;font-size:13px}.login-card form{display:grid;gap:14px}.error-box{margin-top:16px;color:var(--danger);background:#b84a3a1a;padding:12px;border-radius:12px}.app-wrapper{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar-container{position:sticky;top:0;height:100vh;padding:20px;background:#1a271eeb;color:#f8f3e8}.sidebar-logo{display:flex;align-items:center;gap:12px;height:56px;margin-bottom:10px;padding:0 2px}.sidebar-logo span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#f0b85a;color:#1f2d23;font-weight:900;font-size:13px}.sidebar-logo strong{font-size:17px;letter-spacing:.5px}.sidebar-menu{display:grid;gap:4px;margin-top:8px}.menu-title{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;color:#ffffffb8;font-size:13px;border-radius:8px}.menu-item{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;font-size:13px;color:#ffffffc7;text-decoration:none;border-radius:8px;line-height:40px}.menu-item.router-link-active{background:#1f2f25;color:#fff;box-shadow:inset 3px 0 #f0b85a}.menu-item.child{padding-left:34px}.main-container{min-width:0}.navbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 8px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.navbar h1{margin:3px 0 0;font-size:25px}.nav-actions{display:flex;gap:12px;align-items:center}.user-pill{padding:8px 12px;font-size:13px;border-radius:999px;background:#ffffff9e;border:1px solid var(--line)}.ghost{background:#22543d14;color:var(--green);box-shadow:none}.app-main{padding:14px 24px 24px}.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hero-card,.metric-card,.panel,.guide-card,.data-table{background:var(--panel);border:1px solid rgba(255,255,255,.72);border-radius:20px;box-shadow:0 20px 50px #3d44361f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-card{grid-column:span 3;padding:26px;background:linear-gradient(135deg,#22543df0,#365f75e0);color:#fff}.hero-card h2{max-width:760px;font-size:28px;margin:10px 0}.hero-card p{color:#ffffffc7;font-size:13px}.metric-card{padding:18px;display:grid;gap:8px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:28px}.page-stack{display:grid;gap:14px}.panel{padding:18px}.two-col{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.hint,.result-box{margin-top:12px;padding:9px 12px;font-size:13px;border-radius:14px;background:#7d9a6124;color:var(--green)}.error-text{color:var(--danger)}.json-editor{display:grid;gap:7px;margin:12px 0}.editor-actions,.table-toolbar,.log-actions{display:flex;gap:12px;align-items:center;justify-content:space-between}.log-actions{justify-content:flex-start;margin-top:16px}.log-actions input{max-width:280px}.table-toolbar{margin-bottom:12px}.table-toolbar span{margin-left:8px;color:var(--muted);font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th{color:var(--muted);font-weight:700}.empty{padding:20px;font-size:13px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:18px}.guide-card{padding:18px}.guide-card p{color:var(--muted);font-size:13px}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .18s ease}.fade-transform-enter,.fade-transform-leave-to{opacity:0;transform:translateY(8px)}@media(max-width:980px){.app-wrapper{grid-template-columns:1fr}.sidebar-container{position:relative;height:auto}.two-col,.page-grid{grid-template-columns:1fr}.hero-card{grid-column:span 1}}@media(max-width:620px){.app-main,.navbar{padding-left:18px;padding-right:18px}.navbar{align-items:flex-start;gap:12px;flex-direction:column}.form-grid{grid-template-columns:1fr}.login-card{padding:28px}}.menu-icon{width:18px;display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-size:14px;opacity:.9}.menu-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-group{display:grid;gap:2px}.menu-title{cursor:pointer;-webkit-user-select:none;user-select:none}.menu-title:hover,.menu-item:hover{background:#ffffff14;color:#fff}.menu-arrow{width:7px;height:7px;border-right:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.65);transform:rotate(45deg);transition:transform .18s ease;margin-left:auto;margin-top:-3px}.menu-group.collapsed .menu-arrow{transform:rotate(-45deg);margin-top:0}.submenu-list{display:grid;gap:2px;overflow:hidden}.submenu-enter-active,.submenu-leave-active{transition:all .18s ease}.submenu-enter,.submenu-leave-to{opacity:0;transform:translateY(-4px);max-height:0}.submenu-enter-to,.submenu-leave{opacity:1;max-height:260px}.file-picker{margin:12px 0}.file-picker input{padding:8px;background:#ffffffbd}.inline-input{min-width:220px;padding:7px 8px;font-size:12px}.doc-actions{display:flex;gap:8px;align-items:center}.doc-actions a{color:var(--green);font-weight:700;text-decoration:none}.doc-actions button{padding:6px 9px;border-radius:9px;font-size:12px}.field-tip{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:-2px}.source-code-field .required-label{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.title-note{font-style:normal;font-size:11px;font-weight:400;color:#7f8ea3}.source-desc{margin-top:16px}.source-desc textarea{min-height:112px;font-size:14px;line-height:1.6;padding:12px}.form-actions{margin-top:18px;display:flex;align-items:center;gap:12px}.form-actions button{min-width:104px}.field-tip{margin-top:2px;padding-left:2px}.label-with-help{display:inline-flex;align-items:center;gap:6px}.help-dot{position:relative;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#22543d1f;color:var(--green);font-style:normal;font-size:11px;font-weight:800;cursor:help}.help-dot em{position:absolute;left:50%;bottom:24px;z-index:20;display:none;width:280px;transform:translate(-50%);padding:9px 11px;border-radius:10px;background:#1f2f25;color:#fff;font-style:normal;font-weight:400;font-size:12px;line-height:1.6;box-shadow:0 12px 32px #1f2f253d}.help-dot em:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border-width:6px 6px 0;border-style:solid;border-color:#1f2f25 transparent transparent}.help-dot:hover em{display:block}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.file-list span{max-width:220px;padding:6px 9px;border-radius:999px;background:#22543d1a;color:var(--green);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-file-cell{min-width:420px}.doc-file-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line)}.doc-file-item:last-child{border-bottom:0}.doc-file-name{min-width:170px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-file-item small{color:var(--muted);min-width:72px}.doc-file-item button{padding:5px 8px;border-radius:8px;font-size:12px}.document-query-panel{display:grid;gap:18px}.document-query-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.document-query-head h2{margin:0 0 8px}.document-query-head p{margin:0;color:var(--muted);font-size:13px}.document-query-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) auto;gap:14px;align-items:end}.query-actions{display:flex;gap:10px}.modal-mask{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#17211b61;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(760px,96vw);max-height:88vh;overflow:auto;border-radius:22px;background:var(--panel);border:1px solid rgba(255,255,255,.78);box-shadow:0 30px 90px #17211b47;padding:22px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-head h3{margin:0 0 6px;font-size:20px}.modal-head p{margin:0;color:var(--muted);font-size:13px}.modal-close{width:34px;height:34px;padding:0;border-radius:50%;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.floating-hint{position:fixed;right:26px;bottom:26px;z-index:1100;box-shadow:0 14px 34px #22543d2e}.doc-note{display:block;max-width:280px;white-space:normal;color:var(--muted);line-height:1.5}@media(max-width:760px){.document-query-head{flex-direction:column}.document-query-form{grid-template-columns:1fr}.query-actions{justify-content:flex-start}}.document-main-panel{display:grid;gap:18px}.document-list-section{padding-top:12px;border-top:1px solid var(--line)}.compact-query{grid-template-columns:260px 320px auto;align-items:end;justify-content:start}.compact-query input{height:36px}.compact-query .query-actions button{height:36px;padding:0 14px}.document-main-panel .table-toolbar{margin-top:0}@media(max-width:900px){.compact-query{grid-template-columns:1fr}.document-query-head{flex-direction:column}.query-actions{justify-content:flex-start}}.compact-query .query-actions{align-items:end}.compact-query .query-actions button{white-space:nowrap}.row-actions{display:flex;gap:8px;align-items:center}.row-actions button{padding:6px 10px;border-radius:9px;font-size:12px}.ghost.danger{color:#b84a3a;background:#b84a3a17}.edit-file-box{margin-top:14px;padding:12px;border:1px dashed var(--line);border-radius:14px;background:#22543d0a}.edit-file-box strong{display:block;margin-bottom:8px}.edit-file-list{display:flex;flex-wrap:wrap;gap:8px}.edit-file-list span{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 8px;border-radius:999px;background:#ffffffb8;font-size:12px}.edit-file-list button{padding:4px 8px;border-radius:8px;font-size:12px}.document-page tbody td{padding-top:14px;padding-bottom:18px}.document-page .row-actions{padding-bottom:8px}.document-source-code{display:block;margin-top:4px;color:var(--muted);font-family:Consolas,monospace;font-size:11px}.document-page table{border-collapse:separate;border-spacing:0}.document-page tbody td{padding-top:14px!important;padding-bottom:28px!important;vertical-align:top}.document-page .action-cell{padding-bottom:32px!important}.document-page .row-actions{display:flex;gap:8px;align-items:center;padding-bottom:0!important}.radar-hero,.source-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border-radius:22px;background:linear-gradient(120deg,#172b23,#264b3b 62%,#a56f25 140%);color:#fff;box-shadow:0 22px 54px #172b2338}.radar-hero h2,.source-hero h2{margin:6px 0 8px;font-size:27px}.radar-hero p,.source-hero p{margin:0;color:#ffffffb3}.radar-hero .eyebrow,.source-hero .eyebrow{color:#e8bd70}.radar-live{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;font-size:12px;white-space:nowrap}.radar-live i{width:8px;height:8px;border-radius:50%;background:#9ed18b;box-shadow:0 0 0 5px #9ed18b1f}.mode-badge{display:grid;gap:2px;padding:9px 15px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#ffffff14}.mode-badge span{font-size:10px;color:#ffffff9e}.mode-badge strong{letter-spacing:.13em;color:#f0c378}.radar-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.radar-metrics article{display:grid;gap:7px;padding:16px 18px;border-left:3px solid #c18b38;border-radius:16px;background:var(--panel);box-shadow:0 12px 30px #3d443617}.radar-metrics span{color:var(--muted);font-size:12px}.radar-metrics strong{font-size:22px}.radar-metrics .status-value{font-size:17px;text-transform:uppercase}.radar-query{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto auto;align-items:end;gap:12px}.radar-master-detail{display:grid;grid-template-columns:minmax(520px,.92fr) minmax(620px,1.08fr);gap:14px;align-items:start}.radar-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.radar-section-head span,.source-list-head span,.section-title span{font-size:10px;letter-spacing:.14em;color:#a56f25}.radar-section-head h3,.source-list-head h3,.section-title h3{margin:4px 0 0;font-size:18px}.radar-section-head small{max-width:330px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-table tr{transition:background .15s ease}.frame-table tbody tr{cursor:pointer}.radar-table tbody tr:hover,.radar-table tbody tr.selected{background:#c18b381c}.radar-table tbody tr.selected{box-shadow:inset 3px 0 #b77c28}.mono{font-family:Consolas,Courier New,monospace}.target-count{display:inline-grid;min-width:27px;height:24px;place-items:center;border-radius:8px;background:#22543d1a;color:var(--green)}.quality-tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#65736b1f}.quality-tag.passed{background:#48824d21;color:#286333}.quality-tag.failed{background:#b84a3a1f;color:var(--danger)}.source-layout{display:grid;grid-template-columns:minmax(560px,1.12fr) minmax(420px,.88fr);gap:14px;align-items:start}.source-wizard{padding:0;overflow:hidden}.step-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#22543d0d;border-bottom:1px solid var(--line)}.step-strip button{display:flex;align-items:center;gap:8px;padding:14px 11px;border-radius:0;background:transparent;color:var(--muted);box-shadow:none}.step-strip button b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#22543d1a;font-size:11px}.step-strip button.active{color:var(--green);background:#ffffffb3}.step-strip button.active b,.step-strip button.done b{background:var(--green);color:#fff}.wizard-body{min-height:410px;padding:22px}.section-title{margin-bottom:16px}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-grid button{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;padding:15px;border:1px solid var(--line);background:#ffffff8c;color:var(--ink);box-shadow:none}.access-grid button>b{grid-row:span 2;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#22543d17;font-size:18px}.access-grid button small{color:var(--muted)}.access-grid button.selected{border-color:#b77c28;box-shadow:inset 0 0 0 1px #b77c28;background:#f0b85a14}.config-preview{margin-top:14px}.config-preview>span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px}.config-preview pre{max-height:160px;font-size:11px}.confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.confirm-grid>div{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff8c}.confirm-grid span,.confirm-grid small{color:var(--muted)}.notice-box{margin-top:16px;padding:13px;border-left:3px solid #b77c28;background:#f0b85a1a;font-size:12px;line-height:1.7}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--line)}.source-wizard>.hint{margin:0 22px 18px}.source-list-panel{padding:18px}.source-list-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.source-cards{display:grid;gap:11px;max-height:690px;overflow:auto}.source-cards article{padding:14px;border:1px solid var(--line);border-radius:15px;background:#ffffff85}.source-card-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.source-kind{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#20372b;color:#f2c475;font-size:11px}.source-card-head>div:nth-child(2){display:grid;gap:3px}.source-card-head small{color:var(--muted)}.runtime-dot{width:9px;height:9px;border-radius:50%;background:#a5ada8}.runtime-dot.running{background:#64a56b;box-shadow:0 0 0 5px #64a56b1c}.runtime-dot.failed{background:var(--danger)}.source-card-meta{display:flex;gap:7px;margin:12px 0}.source-card-meta span{padding:4px 7px;border-radius:6px;background:#22543d12;font-size:10px;color:var(--muted)}.runtime-line{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:9px 0;border-top:1px dashed var(--line);font-size:11px}.runtime-line span,.runtime-line small{color:var(--muted)}.runtime-line b{color:#7a817d}.runtime-line b.running{color:#37743e}.runtime-line b.failed{color:var(--danger)}.source-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.source-actions button{padding:6px 9px;border-radius:8px;font-size:11px}@media(max-width:1250px){.radar-master-detail,.source-layout{grid-template-columns:1fr}.radar-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.radar-hero,.source-hero{align-items:flex-start;flex-direction:column}.radar-query,.radar-metrics,.confirm-grid{grid-template-columns:1fr}.step-strip{grid-template-columns:repeat(2,1fr)}.access-grid{grid-template-columns:1fr}}:root{--ink:#d7dde5;--muted:#8996a5;--line:#303c49;--panel:#1c252f;--green:#409eff;--moss:#5c6b7a;--danger:#f56c6c;color-scheme:dark;font-family:Microsoft YaHei,PingFang SC,sans-serif}body{background:#131a22;color:var(--ink)}button{border-radius:4px;background:#409eff;box-shadow:none}button:hover{background:#66b1ff}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{border-color:#3a4653;border-radius:4px;background:#151d26;color:#d7dde5}input:focus,textarea:focus,select:focus{border-color:#409eff}.ghost{background:#25313d;color:#b8c4d0;border:1px solid #394755}.ghost:hover{background:#303e4c;color:#fff}.ghost.danger{color:#f56c6c;background:#32272b;border-color:#63383e}.app-wrapper{background:#131a22}.sidebar-container{background:#263445;color:#bfcbd9}.sidebar-logo span{border-radius:4px;background:#409eff;color:#fff}.menu-item,.menu-title{border-radius:2px}.menu-item.router-link-active{background:#1f2d3d;color:#409eff;box-shadow:inset 3px 0 #409eff}.menu-title:hover,.menu-item:hover{background:#1f2d3d}.navbar{padding:16px 24px;background:#1c252f;border-bottom:1px solid #2c3743}.navbar h1{font-size:20px}.user-pill{border-color:#34414e;background:#26313d}.app-main{padding-top:20px}.hero-card,.metric-card,.panel,.guide-card,.data-table,.login-card{border:1px solid #2d3946;border-radius:4px;background:#1c252f;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-card{background:#1f2d3d;color:#d7dde5}.hero-card p,.metric-card span,.metric-card small,.guide-card p{color:#8996a5}.metric-card strong{color:#e5eaf0}.page-heading{padding:0 0 14px;border-bottom:1px solid #303c49}.page-heading h2{margin:0 0 7px;font-size:22px;font-weight:500;color:#e5eaf0}.page-heading p{margin:0;color:#8996a5;font-size:13px}.radar-hero,.source-hero,.radar-live,.mode-badge{display:none}.radar-metrics article{border:1px solid #2d3946;border-left:3px solid #409eff;border-radius:4px;background:#1c252f;box-shadow:none}.radar-metrics span{color:#8996a5}.radar-metrics strong{color:#dfe6ee}.radar-table tbody tr:hover,.radar-table tbody tr.selected{background:#243444}.radar-table tbody tr.selected{box-shadow:inset 3px 0 #409eff}.target-count{border-radius:3px;background:#253d55;color:#79bbff}.quality-tag{border-radius:3px;background:#2a3541}.quality-tag.passed{background:#243b31;color:#85ce61}.quality-tag.failed{background:#402b30;color:#f78989}.source-wizard{border-radius:4px}.step-strip{background:#17202a;border-color:#303c49}.step-strip button{border-radius:0;color:#8996a5}.step-strip button b{background:#2b3743}.step-strip button.active{background:#222e3a;color:#409eff}.step-strip button.active b,.step-strip button.done b{background:#409eff}.access-grid button{border-color:#303c49;border-radius:4px;background:#18212a;color:#d7dde5}.access-grid button>b{border-radius:4px;background:#25313d}.access-grid button.selected{border-color:#409eff;background:#1e3042;box-shadow:inset 0 0 0 1px #409eff}.config-preview pre,pre{background:#111820;color:#c8d2dc}.confirm-grid>div,.source-cards article{border-color:#303c49;border-radius:4px;background:#18212a}.notice-box{border-left-color:#409eff;background:#1c3044}.source-kind{border-radius:4px;background:#25394c;color:#79bbff}.source-card-meta span{border-radius:3px;background:#26323e;color:#9ba8b5}.runtime-dot.running{background:#67c23a}.runtime-line b.running{color:#85ce61}.hint,.result-box{border-radius:4px;background:#20364b;color:#79bbff}.empty{border-color:#3a4653;border-radius:4px}.error-box{border-radius:4px;background:#402b30;color:#f78989}th,td{border-color:#303c49}th{background:#18212a;color:#9ba8b5}.table-toolbar span{color:#8996a5}.modal-card{border-color:#303c49;border-radius:4px;background:#1c252f}.edit-file-box{border-color:#3a4653;background:#18212a}.source-main-panel{display:grid;gap:18px}.source-query-form{display:grid;grid-template-columns:240px 260px 200px auto;gap:14px;align-items:end}.source-list-section{padding-top:16px;border-top:1px solid var(--line)}.source-list-section table{min-width:1180px}.source-list-section td:last-child{min-width:260px}.table-status{display:inline-block;padding:3px 7px;border-radius:3px;background:#2a3541;color:#aeb9c4}.table-status.enabled{background:#243b31;color:#85ce61}.table-status.disabled{background:#3b3030;color:#c0a0a0}.table-status.draft{background:#303642;color:#b5bdc8}.runtime-status{display:inline-flex;align-items:center;gap:7px;color:#9ba8b5}.runtime-status i{width:7px;height:7px;border-radius:50%;background:#7b8793}.runtime-status.running{color:#85ce61}.runtime-status.running i{background:#67c23a}.runtime-status.failed{color:#f78989}.runtime-status.failed i{background:#f56c6c}.source-modal{width:min(920px,96vw);padding:0;overflow:hidden}.source-modal .modal-head{margin:0;padding:18px 22px;border-bottom:1px solid var(--line)}.source-modal-steps{border-top:0}.modal-wizard-body{min-height:360px;padding:22px}.source-modal-actions{padding:14px 22px;border-top:1px solid var(--line);margin-top:0}.source-modal>.hint{margin:0 22px 12px}@media(max-width:1050px){.source-query-form{grid-template-columns:repeat(2,minmax(0,1fr))}.source-query-form .query-actions{grid-column:span 2}}@media(max-width:620px){.source-query-form{grid-template-columns:1fr}.source-query-form .query-actions{grid-column:span 1}.source-modal{width:96vw}.modal-wizard-body{padding:16px}}.required-label:before{content:"*";margin-right:4px;color:#f56c6c}.source-modal.show-validation-errors input:invalid,.source-modal.show-validation-errors select:invalid{border-color:#f56c6c}.floating-hint{inset:24px auto auto 50%;max-width:min(520px,calc(100vw - 32px));transform:translate(-50%);text-align:center;box-shadow:0 12px 32px #00000047}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter,.toast-leave-to{opacity:0;transform:translate(-50%,-10px)}.source-modal{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.source-modal .modal-head,.source-modal-steps,.source-modal-actions,.source-modal>.hint{flex:0 0 auto}.source-modal>.modal-wizard-body{flex:1 1 auto;min-height:0;overflow-y:auto}.source-modal-actions{position:relative;z-index:1;background:#1c252f}@media(max-width:620px){.modal-mask{padding:12px}.source-modal{max-height:calc(100vh - 24px)}.source-modal-actions{padding:12px 16px}}.monitor-source-code{display:block;margin-top:4px;color:var(--muted);font-family:Consolas,monospace;font-size:11px}.monitor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.monitor-head h2{margin:0 0 7px;font-size:22px;font-weight:500}.monitor-head p{margin:0;color:var(--muted);font-size:13px}.monitor-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.monitor-cards article{display:grid;gap:8px;padding:18px;border:1px solid #2d3946;border-left:3px solid #409eff;background:var(--panel)}.monitor-cards span,.monitor-cards small{color:var(--muted)}.monitor-cards strong{font-size:20px}.monitor-grid{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(560px,1.2fr);gap:14px;align-items:start}.monitor-panel{min-width:0}.monitor-panel table{min-width:560px}.monitor-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.monitor-section-title h3{margin:0;font-size:17px;font-weight:500}.monitor-section-title span{color:var(--muted);font-size:12px}.monitor-up{color:#85ce61!important}.monitor-down,.monitor-warn{color:#f78989!important}.runtime-status.monitor-up i{background:#67c23a}.runtime-status.monitor-down i{background:#f56c6c}@media(max-width:1150px){.monitor-cards{grid-template-columns:repeat(2,1fr)}.monitor-grid{grid-template-columns:1fr}}@media(max-width:620px){.monitor-head{flex-direction:column}.monitor-cards{grid-template-columns:1fr}}.project-main-panel{display:grid;gap:18px}.project-query-form{grid-template-columns:260px 320px auto;align-items:end;justify-content:start}.project-query-form .query-actions{align-items:end}.project-query-form .query-actions button{height:36px;padding:0 14px;white-space:nowrap}.project-list-section table{min-width:1080px}.project-list-section td:last-child{min-width:180px}.project-modal{width:min(900px,96vw)}.binding-list{display:grid;gap:10px;max-height:520px;overflow:auto}.binding-row{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px 100px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);background:#18212a}.binding-check,.default-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.binding-check input,.default-check input{width:auto}.binding-check span{color:var(--ink);font-size:13px}@media(max-width:780px){.project-query-form,.binding-row{grid-template-columns:1fr}.project-modal{width:96vw}}.dict-main-panel{display:grid;gap:18px}.dict-query-form{grid-template-columns:260px 320px auto;align-items:end;justify-content:start}.dict-query-form .query-actions{align-items:end}.dict-query-form .query-actions button{height:36px;padding:0 14px;white-space:nowrap}.dict-type-section table{min-width:920px}.dict-type-section tbody tr{cursor:pointer}.dict-type-section tbody tr.selected{background:#243444;box-shadow:inset 3px 0 #409eff}.dict-type-section td:last-child{min-width:130px}.dict-data-modal{width:min(1080px,96vw)}.dict-data-modal table{min-width:900px}.dict-data-modal td:last-child{min-width:130px}@media(max-width:780px){.dict-query-form{grid-template-columns:1fr}.dict-data-modal{width:96vw}}.vendor-main-panel{display:grid;gap:18px}.vendor-query-form{display:grid;grid-template-columns:240px 280px 180px auto;gap:14px;align-items:end}.vendor-query-form .query-actions{align-items:end}.vendor-modal{width:min(900px,96vw)}.vendor-domain-field{display:grid;gap:9px;margin:8px 0 16px;color:var(--muted);font-size:12px}.vendor-domain-options{display:flex;flex-wrap:wrap;gap:10px}.vendor-domain-options label{display:flex;grid-template-columns:none;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);background:#18212a}.vendor-domain-options input{width:auto}.vendor-domain{display:inline-block;margin:2px 5px 2px 0;padding:3px 7px;border-radius:3px;background:#25394c;color:#79bbff;font-size:11px}@media(max-width:900px){.vendor-query-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.vendor-query-form{grid-template-columns:1fr}.vendor-modal{width:96vw}}
