:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif;color:#172033;background:#f6f8fb;font-synthesis:none;--blue-900: #073b78;--blue-950: #062f62;--blue-600: #0f62fe;--blue-100: #eaf2ff;--surface: #ffffff;--canvas: #f8faff;--line: #dfe5ee;--line-soft: #e8edf4;--muted: #667085;--faint: #98a2b3;--success: #12a150;--warning: #ed8b00;--danger: #e5484d}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;height:100%}body{margin:0;overflow:hidden;background:#f6f8fb;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:14px/1.4 inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(15,98,254,.28);outline-offset:1px}.app-shell{display:grid;grid-template:56px minmax(0,1fr) / 190px minmax(0,1fr);grid-template-areas:"top top" "side content";height:100vh;background:#f6f8fb}.topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 16px;color:#fff;background:var(--blue-900);border-bottom:1px solid rgba(255,255,255,.12);z-index:20}.brand{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#fff;cursor:pointer;padding:0}.brand strong{font-size:20px;letter-spacing:.01em}.brand-mark{width:32px;height:32px;display:grid;place-items:center;color:var(--blue-600);background:#fff;border-radius:6px;font-size:18px}.topbar-actions{display:flex;align-items:center;height:100%;gap:18px;font-size:13px}.topbar-actions>span{color:#d7e5f7}.topbar-actions button{display:inline-flex;align-items:center;gap:7px;height:34px;border:0;background:transparent;color:#eef5ff;cursor:pointer}.topbar-actions .icon-button{width:32px;justify-content:center;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}.user-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef4ff;color:var(--blue-600)}.sidebar{grid-area:side;position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border-right:1px solid var(--line);overflow:hidden}.sidebar-toggle{height:48px;width:48px;border:0;background:transparent;color:#536177;cursor:pointer;font-size:17px}.sidebar nav{display:flex;flex-direction:column;gap:3px;padding:0 8px}.sidebar nav button{height:42px;padding:0 12px;display:flex;align-items:center;gap:12px;border:0;border-radius:6px;background:transparent;color:#334155;cursor:pointer;white-space:nowrap;text-align:left}.sidebar nav button svg{width:17px;height:17px;color:#43536d}.sidebar nav button.active{background:var(--blue-600);color:#fff}.sidebar nav button.active svg{color:#fff}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:18px 16px;border-top:1px solid var(--line-soft)}.sidebar-user div{display:flex;flex-direction:column;gap:2px}.sidebar-user strong{font-size:13px}.sidebar-user small{color:var(--muted);font-size:11px}.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar-collapsed .sidebar nav button{justify-content:center;padding:0}.sidebar-collapsed .sidebar nav .nav-label,.sidebar-collapsed .sidebar-user div{display:none}.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}.app-content{grid-area:content;min-width:0;min-height:0;overflow:auto;background:#f6f8fb}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line)}.page-heading h1{margin:0;font-size:18px;line-height:1.35;font-weight:680;color:#14213a}.page-heading p{margin:7px 0 0;font-size:12px;color:var(--muted)}.heading-line{display:flex;align-items:center;gap:10px}.heading-line h1 span{margin:0 6px;color:var(--faint)}.heading-actions{display:flex;gap:10px}.button{height:34px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#28364d;font-size:13px;font-weight:560;cursor:pointer;white-space:nowrap}.button:hover{border-color:#9eb5d7;background:#f9fbff}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{border-color:var(--blue-600);background:var(--blue-600);color:#fff}.button-primary:hover{background:#0b57e3;border-color:#0b57e3}.button-danger{border-color:var(--danger);background:var(--danger);color:#fff}.status-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:4px;font-size:11px;font-weight:650}.status-draft{color:#1458bc;background:#e8f1ff}.status-active,.status-published{color:#0b7b3e;background:#e6f6ec}.status-disabled{color:#697386;background:#edf0f4}.pipeline-page{height:100%;min-height:760px;display:flex;flex-direction:column;background:#fff}.pipeline-workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(740px,1fr) 340px}.pipeline-main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(400px,1fr) 286px;border-right:1px solid var(--line)}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 14px;border-bottom:1px solid var(--line);background:#fff}.canvas-toolbar>div{display:flex;align-items:center;gap:8px}.zoom-tools{color:var(--muted);font-size:12px}.zoom-tools button{width:28px;height:28px;border:1px solid var(--line);border-radius:5px;background:#fff;cursor:pointer}.zoom-tools strong{min-width:38px;text-align:center;color:#48566c;font-size:12px}.pipeline-canvas{position:relative;display:flex;flex-direction:column;justify-content:center;gap:44px;padding:24px 28px 54px;overflow:auto;background:var(--canvas)}.stage-row{min-width:704px;display:flex;align-items:center;justify-content:center}.stage-sequence{display:flex;align-items:center}.stage-node{width:96px;height:144px;padding:10px 9px 9px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:1px solid #d8e0eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #14213a0a;cursor:pointer}.stage-node:hover{border-color:#9fbae4}.stage-node.selected{border:2px solid var(--blue-600);box-shadow:0 0 0 2px #0f62fe14}.stage-node-title{width:100%;display:flex;align-items:center;gap:6px}.stage-node-title span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f0f3f7;color:#526075;font-size:10px}.stage-node.selected .stage-node-title span{background:var(--blue-100);color:var(--blue-600)}.stage-node-title strong{font-size:12px;white-space:nowrap;font-weight:650}.stage-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:22px}.tone-0{color:#1768e5;background:#e9f1ff}.tone-1{color:#7758e8;background:#f0edff}.tone-2{color:#12a150;background:#e8f7ee}.tone-3{color:#ee7b38;background:#fff0e7}.tone-4{color:#0f62fe;background:#eaf2ff}.tone-5{color:#d58c00;background:#fff5da}.stage-state{display:flex;align-items:center;gap:5px;color:#34704d;font-size:11px}.stage-state svg{color:var(--success);font-size:11px}.stage-arrow{width:24px;margin:0 8px;color:#50627d;font-size:17px}.canvas-minimap{position:absolute;bottom:12px;left:18px;width:174px;height:46px;padding:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;border:1px solid var(--line);background:#fffffff0}.canvas-minimap span{height:5px;background:#9aa9bd}.canvas-minimap span.active{background:var(--blue-600)}.pipeline-bottom{min-height:0;border-top:1px solid var(--line);background:#fff}.bottom-tabs{height:45px;display:flex;align-items:flex-end;gap:18px;padding:0 16px;border-bottom:1px solid var(--line)}.bottom-tabs button{height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.bottom-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:650}.bottom-tabs b{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:3px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px}.bottom-grid{height:calc(100% - 45px);display:grid;grid-template-columns:1.08fr .92fr}.result-table{min-width:0;border-right:1px solid var(--line);overflow:auto}.version-panel{min-width:0;overflow:auto}.version-heading{height:43px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft)}.version-heading h3{margin:0;font-size:13px}.version-heading button{border:0;background:transparent;color:var(--blue-600);font-size:11px;cursor:pointer}.data-table{width:100%;border-collapse:collapse;color:#334155}.data-table th{padding:10px 12px;background:#f8fafc;border-bottom:1px solid var(--line);color:#526075;font-size:11px;font-weight:650;text-align:left;white-space:nowrap}.data-table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);font-size:12px;vertical-align:middle}.data-table.compact th{padding:8px 10px}.data-table.compact td{padding:9px 10px;font-size:11px}.severity-error,.severity-warning{display:inline-flex;padding:2px 6px;border-radius:4px;font-weight:650}.severity-error{color:var(--danger);background:#fff0f0}.severity-warning{color:#b96700;background:#fff4df}.mono-cell,.mono-input,code{font-family:Cascadia Mono,Consolas,monospace}.stage-inspector{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.inspector-title{min-height:58px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.inspector-title>div{display:flex;align-items:center;gap:10px}.inspector-title span{color:var(--muted);font-size:12px}.inspector-title strong{font-size:14px}.inspector-scroll{min-height:0;overflow:auto;padding-bottom:24px}.stage-inspector fieldset{margin:0;padding:12px 16px 16px;border:0;border-bottom:1px solid var(--line)}.stage-inspector legend{width:100%;padding:0 0 10px;font-size:12px;font-weight:700;color:#25344b}.stage-inspector label,.form-grid label,.json-editor-label{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px;margin:0 0 9px;color:#5e6a7d;font-size:11px}.stage-inspector input,.stage-inspector select,.stage-inspector textarea,.form-grid input,.form-grid select{width:100%;min-width:0;border:1px solid #d5dde8;border-radius:5px;background:#fff;color:#2a3850;padding:6px 8px;font-size:12px}.stage-inspector input,.stage-inspector select{height:31px}.stage-inspector textarea{resize:vertical}.stage-inspector select[multiple]{min-height:58px;height:58px}.stage-inspector label small{grid-column:2;color:var(--faint);font-size:10px}.stage-inspector input[readonly]{background:#f5f7fa;color:#596579}.meta-line{display:flex;justify-content:space-between;margin:8px 0;font-size:11px}.meta-line span{color:var(--muted)}.meta-line b{font-weight:500;color:#667085}.parameter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.parameter-grid label{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0}.security-note{margin:6px 0 0 98px;color:var(--muted);font-size:10px;line-height:1.6}.profile-warning{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:9px;border:1px solid #f2d39a;border-radius:5px;background:#fff9ed;color:#845b17;font-size:10px}.toggle-wrap{display:inline-flex!important;grid-template-columns:none!important;align-items:center!important;gap:7px!important;margin:0!important;color:#445066!important;cursor:pointer}.toggle-wrap input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:34px;height:19px;padding:2px;display:block;border-radius:10px;background:#c8d0db;transition:.18s ease}.toggle-thumb{width:15px;height:15px;display:block;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:.18s ease}.toggle-wrap input:checked+.toggle-track{background:var(--blue-600)}.toggle-wrap input:checked+.toggle-track .toggle-thumb{transform:translate(15px)}.overview-page,.registry-page{min-height:100%;background:#f6f8fb}.simple-heading{min-height:94px}.summary-strip{margin:18px 24px 0;display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border:1px solid var(--line);border-radius:7px}.summary-item{min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line-soft)}.summary-item:last-child{border-right:0}.summary-item strong{color:#18345f;font-size:23px}.summary-item span{margin-top:5px;color:var(--muted);font-size:11px}.overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;padding:16px 24px 24px}.surface-section{min-height:310px;background:#fff;border:1px solid var(--line);border-radius:7px}.section-title{height:54px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft)}.section-title h2{margin:0;font-size:14px}.section-title span{color:var(--muted);font-size:11px}.health-row{display:flex;align-items:center;gap:14px;padding:18px 16px}.health-icon{font-size:28px}.health-icon.ok{color:var(--success)}.health-icon.bad{color:var(--danger)}.health-row strong{font-size:14px}.health-row p{margin:5px 0 0;color:var(--muted);font-size:11px}.issue-list>div,.audit-compact>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 16px;border-top:1px solid var(--line-soft);font-size:11px}.issue-list span{color:#9b6500;font-family:Consolas,monospace}.issue-list p{margin:0;color:#4e5b70}.audit-compact span{color:#35435a}.audit-compact small{color:var(--faint);white-space:nowrap}.scope-notice{margin:16px 24px 0;padding:10px 13px;border:1px solid #bed5f6;border-radius:6px;background:#eef6ff;color:#345275;font-size:12px}.scope-notice.security{border-color:#efd6a6;background:#fff9ed;color:#765316}.registry-toolbar{margin:16px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.search-field{width:min(420px,44vw);height:36px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--faint)}.search-field input{flex:1;min-width:0;border:0;outline:0;color:#26354c}.status-tabs{display:flex;height:36px;border-bottom:1px solid var(--line)}.status-tabs button{min-width:64px;padding:0 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.status-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:650}.registry-table-wrap{margin:12px 24px 24px;min-height:420px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff}.registry-table td strong{font-size:12px}.registry-table td:nth-child(2){display:flex;flex-direction:column;gap:3px}.registry-table td small{color:var(--faint)}.row-actions{display:flex;align-items:center;gap:10px}.row-actions button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--blue-600);font-size:11px;cursor:pointer;white-space:nowrap}.row-actions .danger-link{color:var(--danger)}.drawer-backdrop{position:fixed;top:56px;right:0;bottom:0;left:0;z-index:30;background:#111d3147}.editor-drawer{position:absolute;top:0;right:0;width:min(520px,100vw);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-10px 0 30px #17203324}.editor-drawer>header{height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.editor-drawer header span{color:var(--muted);font-size:11px}.editor-drawer h2{margin:4px 0 0;font-size:16px}.editor-drawer header button{width:32px;height:32px;border:0;background:transparent;cursor:pointer}.drawer-body{flex:1;overflow:auto;padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0}.form-grid input,.form-grid select{height:35px}.json-editor-label{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:18px;font-size:12px;font-weight:650}.json-editor-label textarea{width:100%;min-height:360px;padding:12px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:#27364c;font:12px/1.55 Cascadia Mono,Consolas,monospace;-moz-tab-size:2;tab-size:2}.editor-hint{color:var(--muted);font-size:11px;line-height:1.7}.editor-drawer>footer{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#111d3159}.confirm-dialog{width:min(420px,calc(100vw - 32px));padding:22px;display:grid;grid-template-columns:38px 1fr;gap:12px;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0a1b3938}.dialog-icon{color:var(--warning);font-size:24px}.confirm-dialog h3{margin:0;font-size:16px}.confirm-dialog p{margin:8px 0 18px;color:var(--muted);font-size:12px;line-height:1.65}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;z-index:60;top:70px;right:20px;max-width:420px;min-height:42px;padding:10px 10px 10px 14px;display:flex;align-items:center;gap:14px;border:1px solid #b8dfc7;border-radius:7px;background:#effaf3;color:#22623d;box-shadow:0 10px 28px #1720331f;font-size:12px}.toast-error{border-color:#efb5b7;background:#fff3f3;color:#9d2e34}.toast-info{border-color:#b9d2f8;background:#f1f7ff;color:#24538f}.toast button{border:0;background:transparent;color:inherit;cursor:pointer}.loading-state,.empty-state{min-height:150px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px}.spinner{width:18px;height:18px;border:2px solid #c8d6eb;border-top-color:var(--blue-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1279px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar nav button{justify-content:center;padding:0}.sidebar nav .nav-label,.sidebar-user div{display:none}.sidebar-user{justify-content:center;padding-inline:0}.pipeline-workspace{grid-template-columns:minmax(700px,1fr) 316px}.pipeline-main{grid-template-rows:64px minmax(390px,1fr) 270px}.stage-node{width:90px}.stage-arrow{margin:0 4px}.topbar-actions>span,.topbar-actions>button:first-of-type{display:none}}@media(max-width:899px){body{overflow:auto}.app-shell{min-width:780px;height:auto;min-height:100vh;grid-template:56px minmax(0,1fr) / 64px minmax(0,1fr)}.app-content{overflow:visible}.pipeline-page{min-height:calc(100vh - 56px)}.pipeline-workspace{grid-template-columns:minmax(716px,1fr)}.stage-inspector{position:fixed;z-index:25;top:56px;right:0;bottom:0;width:340px;box-shadow:-8px 0 24px #17203324}.pipeline-main{min-width:716px}.summary-strip{grid-template-columns:repeat(4,1fr)}.summary-item{border-bottom:1px solid var(--line-soft)}.overview-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell.simple-shell{grid-template:70px minmax(0,1fr) / 230px minmax(0,1fr);grid-template-areas:"top top" "side content";background:#fff}.simple-topbar{padding:0 24px 0 20px;background:#073b78}.simple-topbar .brand strong{font-size:21px}.workspace-actions{display:flex;align-items:center;gap:28px;color:#e6effa;font-size:14px}.workspace-actions b{color:#fff;font-weight:650}.workspace-actions>button:not(.top-primary){height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:transparent;color:#fff;cursor:pointer}.workspace-actions>button:not(.top-primary):hover{background:#ffffff1a}.top-primary{height:40px;padding:0 22px;border:0;border-radius:6px;background:var(--blue-600);color:#fff;font-weight:650;cursor:pointer}.top-primary:hover{background:#0b57e3}.simple-sidebar{padding-top:30px}.simple-sidebar nav{gap:8px;padding:0}.simple-sidebar nav button{position:relative;height:54px;padding:0 28px;border-radius:0;gap:16px;font-size:15px}.simple-sidebar nav button.active{background:#edf4ff;color:var(--blue-600)}.simple-sidebar nav button.active:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--blue-600)}.simple-sidebar nav button.active svg{color:var(--blue-600)}.simple-sidebar nav button svg{font-size:20px}.sidebar-account{margin-top:auto;min-height:76px;padding:14px 14px 14px 20px;display:grid;grid-template-columns:30px 1fr 34px;align-items:center;gap:10px;border-top:1px solid var(--line-soft)}.sidebar-account div{min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-account strong{overflow:hidden;text-overflow:ellipsis;font-size:13px}.sidebar-account small{color:var(--muted);font-size:11px}.sidebar-account>button{width:34px;height:34px;border:0;border-radius:5px;background:transparent;color:#65738a;cursor:pointer}.sidebar-account>button:hover{background:#f1f4f8;color:var(--blue-600)}.simple-shell .app-content{background:#fff}.creation-home{min-height:100%;padding:44px 62px 54px;background:#fff}.creation-heading{padding-bottom:25px;border-bottom:1px solid #ccd7e6}.creation-heading h1{margin:0;color:#152039;font-size:27px;font-weight:720}.creation-heading p{margin:9px 0 0;color:var(--muted);font-size:15px}.creation-tasks{width:100%}.creation-task{min-height:132px;display:grid;grid-template-columns:52px 80px minmax(260px,1fr) 170px 148px;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.task-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#edf4ff;color:var(--blue-600);font-size:19px;font-weight:680}.task-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:12px;font-size:33px}.task-icon-1{background:#f0ecff;color:#7858e8}.task-icon-2{background:#eaf2ff;color:var(--blue-600)}.task-icon-3{background:#e8f7ee;color:var(--success)}.task-copy h2{margin:0;font-size:21px;font-weight:700;color:#111b30}.task-copy p{margin:8px 0 0;color:#657187;font-size:14px}.task-status{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}.task-status i{width:10px;height:10px;border-radius:50%;background:var(--warning)}.task-status.ready{color:var(--success)}.task-status.ready i{background:var(--success)}.task-status.pending{color:#b36b00}.creation-task>button{height:42px;border:1px solid var(--blue-600);border-radius:6px;background:var(--blue-600);color:#fff;font-weight:650;cursor:pointer}.creation-task>button:hover{background:#0b57e3}.recent-section{margin-top:42px}.recent-heading{height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ccd7e6}.recent-heading>div{display:flex;align-items:center;gap:10px}.recent-heading svg{color:var(--blue-600);font-size:18px}.recent-heading h2{margin:0;font-size:18px}.recent-heading>span{color:var(--faint);font-size:12px}.recent-table{width:100%;border-collapse:collapse}.recent-table th{padding:13px 16px;border-bottom:1px solid var(--line);color:#607086;font-size:12px;font-weight:600;text-align:left}.recent-table td{padding:14px 16px;border-bottom:1px solid var(--line-soft);color:#38475e;font-size:13px}.hub-page{min-height:100%;background:#fff}.hub-heading{padding:34px 36px 22px}.hub-heading h1{margin:0;font-size:25px}.hub-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}.hub-tabs{height:48px;padding:0 36px;display:flex;align-items:flex-end;gap:30px;border-bottom:1px solid var(--line)}.hub-tabs button{height:48px;border:0;border-bottom:3px solid transparent;background:transparent;color:#5c697d;cursor:pointer;font-size:14px}.hub-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:650}.registry-embedded{min-height:auto}.embedded-actions{min-height:68px;padding:14px 36px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.embedded-actions p{margin:0;color:var(--muted);font-size:13px}.registry-embedded .scope-notice,.registry-embedded .registry-toolbar,.registry-embedded .registry-table-wrap{margin-inline:36px}.audit-tabs{height:44px;margin:10px 36px 0;display:flex;gap:22px;border-bottom:1px solid var(--line)}.audit-tabs button{height:44px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.audit-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:680}.audit-toolbar{margin:14px 36px 0;display:grid;grid-template-columns:minmax(280px,1fr) 140px 76px;gap:10px}.audit-toolbar>select{min-width:0;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#334155}.audit-toolbar .button{justify-content:center}.registry-embedded .audit-table-wrap{margin-top:14px}.audit-table{min-width:1120px}.run-table{min-width:980px}.audit-table td{vertical-align:top}.audit-table td>strong,.audit-table td>span,.audit-table td>small{display:block}.audit-table td>small{max-width:300px;margin-top:4px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.audit-outcome,.run-status{display:inline-flex!important;min-height:23px;padding:0 8px;align-items:center;border-radius:12px;font-size:11px;font-weight:650;white-space:nowrap}.audit-outcome.success,.run-status.accepted{background:#eaf8f0;color:#147642}.audit-outcome.failure,.run-status.failed,.run-status.rejected{background:#fff0f1;color:#a12e37}.run-status.running{background:#edf4ff;color:#1458bd}.audit-error{color:#a12e37!important}.detail-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:0;border-radius:4px;background:transparent;color:var(--blue-600);cursor:pointer;font-size:11px;white-space:nowrap}.detail-toggle:hover{background:#edf4ff}.audit-detail-row td{padding:0!important;background:#f8fafc}.audit-detail-meta{padding:13px 16px;display:flex;flex-wrap:wrap;gap:10px 26px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:11px}.audit-detail-meta b{margin-left:5px;color:#344157;font-family:Cascadia Mono,Consolas,monospace;font-weight:500;overflow-wrap:anywhere}.audit-json-grid{padding:14px 16px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.audit-json-grid section{min-width:0}.audit-json-grid h4{margin:0 0 7px;color:#43516a;font-size:11px}.audit-json-grid pre{max-height:300px;margin:0;padding:10px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff;color:#35435a;font:10px/1.55 Cascadia Mono,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f8fc}.login-panel{width:min(430px,100%);padding:38px 40px 32px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 48px #1f36581a}.login-panel.register-panel{width:min(680px,100%)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}.login-brand>span{width:46px;height:46px;display:grid;place-items:center;border-radius:8px;background:var(--blue-600);color:#fff;font-size:24px}.login-brand h1{margin:0;font-size:23px}.login-brand p{margin:5px 0 0;color:var(--muted);font-size:13px}.login-panel form>label{display:block;margin-top:18px;color:#3e4b60;font-size:13px;font-weight:600}.login-input{height:44px;margin-top:8px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid #cfd8e6;border-radius:6px;color:#7a879b}.login-input:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 3px #0f62fe17}.login-input input{flex:1;min-width:0;border:0;outline:0;color:#1f2c42}.login-submit{width:100%;height:44px;margin-top:24px;border:0;border-radius:6px;background:var(--blue-600);color:#fff;font-weight:680;cursor:pointer}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-error,.login-warning,.login-success{margin:12px 0 -8px;padding:9px 11px;border-radius:5px;font-size:12px}.login-error{background:#fff1f1;color:#a22f35}.login-warning{background:#fff7e8;color:#8b5b00}.login-success{background:#ebf8f0;color:#147642}.login-footnote{margin:22px 0 0;color:var(--faint);font-size:11px;text-align:center}.admin-only-note{display:flex;align-items:center;gap:9px;margin:18px 0 4px;padding:11px 12px;border:1px solid #bfd0ee;background:#f2f6fd;color:#24466f;font-size:12px;line-height:1.55}.auth-mode-tabs{height:40px;display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}.auth-mode-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.auth-mode-tabs button.active{border-bottom-color:var(--blue-600);color:var(--blue-600);font-weight:680}.auth-mode-tabs button:only-child{grid-column:1 / -1}.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.registration-grid .wide-field{grid-column:1 / -1}.registration-note{margin:12px 0 -6px;color:var(--muted);font-size:11px;text-align:center}.app-loading{min-height:100vh;display:grid;place-items:center;background:#f5f8fc}.user-management{min-height:0}.user-action-buttons{display:flex;gap:8px}.user-summary{margin:14px 36px 0;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));border:1px solid var(--line);border-radius:7px;background:#f9fbfe}.user-summary>div{min-height:70px;padding:13px 18px;display:flex;flex-direction:column;justify-content:center;gap:3px;border-right:1px solid var(--line)}.user-summary>div:last-child{border-right:0}.user-summary strong{color:#172033;font-size:22px}.user-summary span{color:var(--muted);font-size:12px}.user-toolbar{margin:14px 36px 0;display:grid;grid-template-columns:minmax(260px,1fr) 150px 130px;gap:10px}.user-toolbar>select{min-width:0;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#334155}.user-table-wrap{margin-inline:36px}.user-table{min-width:860px}.user-identity{display:flex;align-items:center;gap:10px}.user-identity>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#edf4ff;color:var(--blue-600)}.user-identity>div{min-width:0;display:flex;flex-direction:column;gap:3px}.user-identity strong{font-size:13px}.user-identity small{max-width:270px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.role-pill{display:inline-flex;min-height:24px;padding:0 8px;align-items:center;border-radius:4px;font-size:11px;white-space:nowrap}.role-admin{background:#e8f1ff;color:#1255b9}.role-prompt_engineer{background:#f0ebff;color:#6844bd}.role-reviewer{background:#fff3df;color:#976000}.role-viewer{background:#eef1f5;color:#566275}.account-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.account-status i{width:7px;height:7px;border-radius:50%}.account-status.enabled{color:#17804a}.account-status.enabled i{background:#19a45a}.account-status.disabled{color:#7d8796}.account-status.disabled i{background:#9ba4b1}.user-table td:nth-child(5){white-space:nowrap}.user-table td:nth-child(5)>span,.user-table td:nth-child(5)>small{display:block}.user-table td:nth-child(5)>small{margin-top:3px;color:var(--muted)}.readonly-label,.readonly-badge{display:inline-flex;min-height:28px;padding:0 10px;align-items:center;border-radius:5px;background:#eef1f5;color:#5d6878;font-size:12px}.user-drawer{width:min(700px,100vw)}.user-drawer .drawer-body{padding-bottom:28px}.account-enabled{margin-top:18px;display:flex;align-items:center;gap:8px;color:#334155;font-size:13px;font-weight:650}.account-enabled input{width:16px;height:16px;accent-color:var(--blue-600)}.account-data-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}.account-data-grid>div{min-height:72px;padding:12px;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.account-data-grid>div:nth-child(3n){border-right:0}.account-data-grid>div:nth-last-child(-n+3){border-bottom:0}.account-data-grid span{color:var(--muted);font-size:11px}.account-data-grid strong{font-size:12px}.password-section{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:7px;background:#f9fbfd}.password-section h3{margin:0 0 4px;display:flex;align-items:center;gap:7px;font-size:14px}.password-section>p{margin:0 0 12px;color:var(--muted);font-size:11px}.password-section .button{margin-top:12px}.user-activity{margin-top:22px}.user-activity h3{margin:0 0 10px;font-size:14px}.user-activity>p{color:var(--muted);font-size:12px}.user-activity ul{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:7px}.user-activity li{min-height:56px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line-soft)}.user-activity li:last-child{border-bottom:0}.user-activity li div{min-width:0;display:flex;flex-direction:column;gap:3px}.user-activity li strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-activity li span,.user-activity time{color:var(--muted);font-size:10px}.user-activity time{white-space:nowrap}.user-drawer>footer{justify-content:space-between}.user-drawer>footer>div{display:flex;gap:8px}.secret-ready,.secret-missing{display:block;margin-top:5px;font-size:10px}.secret-ready{color:var(--success)}.secret-missing{color:#a86700}.llm-config-panel{margin-top:18px;padding:15px;border:1px solid #cbdcf3;border-radius:7px;background:#f7faff}.llm-config-panel h3{margin:0 0 13px;font-size:14px}.llm-config-panel .wide-field{grid-column:1 / -1}.llm-config-panel>p{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.generator-page{min-height:100%;padding:34px 38px 50px;background:#f7f9fc}.generator-page .page-heading{padding:0 0 22px}.generator-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(440px,1.1fr);gap:22px}.generator-form,.generator-result{min-width:0;padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff}.generator-guard{display:flex;gap:12px;margin-bottom:18px;padding:13px;border:1px solid #bcd8f7;border-radius:6px;background:#eef6ff;color:#254a77}.generator-guard>svg{margin-top:2px;font-size:19px}.generator-guard strong{font-size:13px}.generator-guard p{margin:4px 0 0;font-size:11px;line-height:1.6}.model-readiness{margin:15px 0;display:flex;align-items:center;gap:8px;font-size:12px}.model-readiness i{width:8px;height:8px;border-radius:50%}.model-readiness.ready{color:var(--success)}.model-readiness.ready i{background:var(--success)}.model-readiness.missing{color:#9a6100}.model-readiness.missing i{background:var(--warning)}.project-json-label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;color:#37465d;font-size:12px;font-weight:650}.project-json-label span{display:flex;align-items:center;gap:7px}.project-json-label textarea{min-height:390px;padding:12px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:#27364c;font:12px/1.5 Cascadia Mono,Consolas,monospace}.generator-error{margin:-3px 0 12px;padding:9px 11px;border-radius:5px;background:#fff1f1;color:#a22f35;font-size:12px}.generator-result h2{margin:0 0 18px;font-size:18px}.candidate-status{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px;border-radius:6px}.candidate-status.accepted{background:#ebf8f0;color:#147642}.candidate-status.rejected{background:#fff1f1;color:#9e3036}.candidate-status span{font-size:10px}.generator-result article{margin-top:13px;padding:15px;border:1px solid var(--line);border-radius:7px}.generator-result article h3{margin:0 0 8px;font-size:13px}.generator-result article p,.generator-result article li{color:#3e4d64;font-size:12px;line-height:1.75;white-space:pre-wrap}.generator-result article p{margin:0}.generator-result article .sound-intent{margin-top:9px;padding-top:9px;border-top:1px solid var(--line-soft);color:#5d6980}.generator-result article ul{margin:0;padding-left:20px}@media(max-width:1100px){.app-shell.simple-shell{grid-template-columns:180px minmax(0,1fr)}.creation-home{padding-inline:34px}.creation-task{grid-template-columns:46px 68px minmax(220px,1fr) 130px 118px;gap:12px}.task-icon{width:58px;height:58px}.generator-layout{grid-template-columns:1fr}}@media(max-width:820px){.app-shell.simple-shell{min-width:0;min-height:0;height:100vh;grid-template:62px minmax(0,1fr) / 64px minmax(0,1fr);grid-template-areas:"top top" "side content"}.simple-topbar{padding-inline:12px}.simple-topbar .brand{gap:8px}.simple-topbar .brand-mark{width:32px;height:32px}.simple-topbar .brand strong{font-size:15px}.top-primary{height:36px;padding-inline:12px;font-size:12px}.simple-sidebar nav button{justify-content:center;padding:0}.simple-sidebar nav .nav-label,.sidebar-account div{display:none}.sidebar-account{grid-template-columns:1fr;justify-items:center;padding-inline:0}.sidebar-account .user-avatar{display:none}.sidebar-account>button{display:grid;place-items:center}.workspace-actions>span{display:none}.workspace-actions{gap:8px}.workspace-actions>button:not(.top-primary){display:none}.simple-shell .app-content{min-width:0;overflow-x:hidden}.creation-home{padding:28px 18px 40px}.creation-heading h1{font-size:23px}.creation-heading p{font-size:13px;line-height:1.6}.creation-task{min-height:0;padding:20px 0;grid-template-columns:34px 50px minmax(0,1fr);grid-template-areas:"number icon copy" ". status status" ". action action";gap:12px;align-items:center}.task-number{grid-area:number;width:32px;height:32px;font-size:15px}.task-icon{grid-area:icon;width:48px;height:48px;font-size:24px}.task-copy{grid-area:copy;min-width:0}.task-copy h2{font-size:17px}.task-copy p{margin-top:5px;font-size:12px;line-height:1.55}.task-status{grid-area:status;font-size:12px}.creation-task>button{grid-area:action;width:100%}.recent-section{max-width:100%;overflow-x:auto}.recent-heading,.recent-table{min-width:600px}.hub-heading{padding:26px 20px 18px}.hub-tabs{padding-inline:20px;gap:18px;overflow-x:auto}.hub-tabs button{flex:0 0 auto}.embedded-actions{padding-inline:20px}.registry-embedded .scope-notice,.registry-embedded .registry-toolbar,.registry-embedded .registry-table-wrap,.audit-tabs,.audit-toolbar{margin-inline:20px}.audit-toolbar{grid-template-columns:minmax(0,1fr) 120px}.audit-toolbar .search-field{grid-column:1 / -1}.audit-json-grid{grid-template-columns:1fr}.audit-table-wrap{border:0;background:transparent;overflow:visible}.audit-table{min-width:0;display:block}.audit-table thead{display:none}.audit-table tbody{display:grid;gap:10px}.audit-table tbody>tr:not(.audit-detail-row){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px 10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.audit-table tbody>tr:not(.audit-detail-row)>td{min-width:0;padding:0;border:0}.audit-table tbody>tr:not(.audit-detail-row)>td:first-child{grid-column:1;color:var(--muted)}.audit-table tbody>tr:not(.audit-detail-row)>td:nth-child(2){grid-column:2}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(8),.run-table tbody>tr:not(.audit-detail-row)>td:nth-child(7){grid-column:3;grid-row:1}.audit-table tbody>tr:not(.audit-detail-row)>td:nth-child(n+3):not(:last-child){grid-column:1 / -1}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(3):before{content:"用户 · ";color:var(--faint)}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(4):before{content:"操作 · ";color:var(--faint)}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(5):before{content:"对象 · ";color:var(--faint)}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(6):before{content:"请求 · ";color:var(--faint)}.audit-table:not(.run-table) tbody>tr:not(.audit-detail-row)>td:nth-child(7):before{content:"摘要 · ";color:var(--faint)}.run-table tbody>tr:not(.audit-detail-row)>td:nth-child(3):before{content:"用户 · ";color:var(--faint)}.run-table tbody>tr:not(.audit-detail-row)>td:nth-child(4):before{content:"任务 · ";color:var(--faint)}.run-table tbody>tr:not(.audit-detail-row)>td:nth-child(5):before{content:"模型 · ";color:var(--faint)}.run-table tbody>tr:not(.audit-detail-row)>td:nth-child(6):before{content:"错误 · ";color:var(--faint)}.audit-table td>small{max-width:none;white-space:normal;overflow-wrap:anywhere}.audit-detail-row{display:block;margin-top:-10px}.audit-detail-row td{display:block;border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px}.audit-detail-meta{display:grid;gap:7px}.register-panel{padding-inline:22px}.registration-grid{grid-template-columns:1fr}.registration-grid .wide-field{grid-column:auto}.user-summary,.user-toolbar,.user-table-wrap{margin-inline:20px}.user-toolbar{grid-template-columns:1fr 1fr}.user-toolbar .search-field{grid-column:1 / -1}.account-data-grid{grid-template-columns:1fr 1fr}.account-data-grid>div,.account-data-grid>div:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.account-data-grid>div:nth-child(2n){border-right:0}.account-data-grid>div:nth-last-child(-n+2){border-bottom:0}.generator-page{padding:24px 18px 40px}.generator-form,.generator-result{padding:16px}.project-json-label textarea{min-height:300px}}
