:root { --blue:#2468f2; --line:#e4e8ee; --text:#1d2129; --muted:#8993a2; font-family:"Microsoft YaHei","PingFang SC",sans-serif; color:var(--text); font-size:14px; }
* { box-sizing:border-box; } body { margin:0; overflow:hidden; background:#fff; } button,input,select { font:inherit; } button { cursor:pointer; }
.workspace { display:grid; grid-template-columns:29% 45% 26%; width:100vw; height:100vh; min-width:900px; }
.category-pane,.preview-pane,.detail-pane { min-width:0; height:100vh; background:#fff; } .category-pane { position:relative; border-right:1px solid var(--line); }.preview-pane { border-right:1px solid var(--line); }.detail-pane { overflow:hidden; }
.category-top { height:34px; display:flex; align-items:center; gap:8px; padding:0 8px; color:#4d596a; border-bottom:1px solid var(--line); }.back-button { border:0; padding:0; color:#536174; background:transparent; font-size:22px; line-height:1; }.category-toolbar { height:49px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; }.category-toolbar strong { font-size:13px; font-weight:500; }.category-toolbar i { color:#f05252; font-style:normal; }.category-toolbar button { padding:0 3px; border:0; color:#28384e; background:transparent; font-size:13px; }.category-toolbar button:hover { color:var(--blue); }.category-list { padding:0 8px; }.category-card { padding:10px 10px 7px; margin-bottom:7px; border:1px solid transparent; border-radius:7px; }.category-card.active { border-color:var(--blue); box-shadow:0 4px 11px rgba(36,104,242,.12); }.category-head { display:flex; gap:8px; align-items:center; }.category-thumb { width:52px; height:43px; display:grid; place-items:center; flex:none; overflow:hidden; color:#7e8795; background:#f0f2f5; border-radius:3px; font-size:10px; }.category-copy { min-width:0; flex:1; }.category-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.category-state { display:flex; align-items:center; gap:8px; margin-top:6px; }.category-state button { border:1px solid #b8c2d0; padding:2px 7px; color:#677386; background:#fff; border-radius:3px; font-size:11px; }.category-state button:hover { color:var(--blue); border-color:var(--blue); }.switch { width:25px; height:15px; position:relative; display:inline-block; }.switch input { opacity:0; width:0; height:0; }.slider { position:absolute; inset:0; background:#c7d0dc; border-radius:9px; }.slider:before { position:absolute; width:11px; height:11px; top:2px; left:2px; content:""; background:#fff; border-radius:50%; transition:.18s; }.switch input:checked + .slider { background:var(--blue); }.switch input:checked + .slider:before { transform:translateX(10px); }.sample-row { display:flex; align-items:center; gap:8px; padding:7px 9px; margin-top:8px; color:#27384f; background:#dceaff; border-radius:4px; font-size:12px; }.sample-row span:first-child { color:#6c7b90; }.save-button { position:absolute; right:10px; bottom:8px; padding:7px 18px; color:#fff; border:0; background:var(--blue); border-radius:3px; }.save-button:hover { background:#1555ca; }
.preview-toolbar { height:34px; display:flex; align-items:center; justify-content:space-between; padding:0 12px; color:#8793a4; border-bottom:1px solid var(--line); }.file-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.preview-controls { display:flex; align-items:center; gap:9px; }.preview-controls button { padding:0; color:#98a3b1; border:0; background:transparent; font-size:16px; }.preview-controls span,.preview-controls b { padding:3px 10px; color:#8090a6; background:#f1f4f8; border-radius:3px; font-size:12px; font-weight:400; }.preview-controls em { width:1px; height:15px; background:var(--line); }.preview-controls small { color:#8c97a7; }.document-scroll { height:calc(100vh - 34px); overflow:auto; background:#f7f8fa; }.paper { width:64%; min-width:290px; margin:16px auto 50px; }.fake-doc { position:relative; min-height:550px; padding:66px 34px 32px; overflow:hidden; color:#687080; background:linear-gradient(120deg,#f6f4ed,#efefeb 55%,#f9f8f1); box-shadow:0 0 3px #d5d8dc; font-family:serif; font-size:12px; line-height:2.5; }.doc-heading { color:#20242a; text-align:center; font-size:20px; line-height:1.55; letter-spacing:7px; }.doc-heading strong { font-size:32px; }.doc-heading small { font-size:16px; }.fake-doc p { margin:13px 0; text-align:center; }.seal { position:absolute; right:16%; bottom:70px; width:75px; height:75px; display:grid; place-items:center; color:#b63857; border:5px solid #bd435f; border-radius:50%; transform:rotate(-15deg); font-size:13px; line-height:1.05; }.doc-lines { position:absolute; left:75px; bottom:36px; color:#444; font-size:12px; line-height:2.4; }.fake-doc.second { min-height:400px; margin-top:10px; padding:32px; text-align:center; font-size:16px; }.doc-table { margin-top:25px; padding:35px 20px; border:1px solid #8f918e; line-height:4; }
.detail-title { height:39px; padding:10px 14px; border-bottom:1px solid var(--line); font-weight:600; }.detail-scroll { height:calc(100vh - 39px); overflow:auto; padding:17px 14px 50px; }.detail-label { display:block; margin:0 0 7px; color:#4f5c6c; font-size:13px; }.required::first-letter { color:#f05252; }.name-row,.prompt-row { display:flex; gap:6px; margin-bottom:17px; }.name-row input,.prompt-row input,.detail-scroll select { width:100%; height:30px; padding:0 9px; border:1px solid #e0e5ec; color:#374253; outline:0; }.name-row button,.prompt-row button { flex:none; color:#8d98a8; border:0; background:transparent; }.config-label { display:flex; justify-content:space-between; }.config-label span { color:#8793a3; font-size:12px; }.detail-scroll select { background:#fff; }.detail-tabs { display:flex; align-items:center; gap:22px; height:45px; margin:20px -14px 0; padding:0 14px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.detail-tabs button { height:30px; padding:0 9px; color:#8c97a6; border:0; background:#fff; }.detail-tabs button.active { color:#38465a; background:#f0f2f5; }.detail-tabs span { margin-left:auto; color:#8c98a8; }.field-group { padding:13px 0 16px; border-bottom:1px solid var(--line); }.group-heading { display:flex; justify-content:space-between; }.group-heading a { color:#a1aab6; font-size:12px; }.field-actions { display:flex; gap:14px; margin:13px 0; }.field-actions button,.add-more { padding:0; color:var(--blue); border:0; background:transparent; font-size:12px; }.field-card { display:flex; min-height:73px; margin:9px 0; border:1px solid #dfe4eb; border-radius:5px; }.field-card .drag { width:19px; display:grid; place-items:center; color:#b2bbc7; background:#eff2f6; }.field-card-body { flex:1; padding:10px; color:#5b6675; }.field-card-body small { float:right; color:#b3bcc8; }.field-links { margin-top:12px; color:#a6b0be; font-size:12px; }.compact { min-height:52px; }.compact .field-card-body { padding:8px; }.compact .field-links { margin-top:6px; }.toast { position:fixed; top:14px; left:50%; z-index:3; padding:8px 15px; color:#fff; background:#293548; border-radius:4px; opacity:0; transform:translate(-50%,-8px); transition:.2s; }.toast.show { opacity:1; transform:translate(-50%,0); }
.modal-backdrop { position:fixed; z-index:5; inset:0; display:grid; place-items:center; padding:20px; background:rgba(3,10,26,.38); }.hidden { display:none !important; }.modal-card { width:min(900px,calc(100vw - 32px)); overflow:hidden; background:#fff; border-radius:8px; box-shadow:0 10px 35px rgba(3,10,26,.2); }.modal-header { height:55px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-bottom:1px solid var(--line); }.modal-header h2 { margin:0; font-size:16px; }.close-button { border:0; color:#8993a2; background:transparent; font-size:22px; }.modal-body { min-height:540px; position:relative; padding:20px; }.system-title { margin-bottom:16px; font-weight:600; font-size:16px; }.system-scroll { height:392px; overflow:auto; padding:10px 12px; }.system-add-card { width:388px; height:64px; display:grid; place-items:center; color:#cbe8fc; border:1px solid #e4e9ef; background:#fff; border-radius:8px; box-shadow:0 4px 14px rgba(3,10,26,.08); }.system-add-card span { font-size:62px; font-weight:200; line-height:.7; }.system-add-card:hover { border-color:#b9d7fb; box-shadow:0 6px 18px rgba(3,10,26,.12); }.upload-zone { position:absolute; right:20px; bottom:16px; left:20px; height:64px; display:flex; align-items:center; justify-content:center; gap:7px; color:#4d91c6; border:1px dashed #7fa8c5; background:#e4f0ff; border-radius:6px; font-size:13px; }.upload-zone strong { color:#4d91c6; font-weight:400; }.upload-zone > span { color:#4d91c6; font-size:18px; }.upload-zone input { display:none; }.selected-file { position:absolute; right:28px; bottom:86px; color:#48627f; font-size:12px; }.modal-footer { display:flex; justify-content:flex-end; gap:10px; padding:12px 20px; border-top:1px solid var(--line); }.modal-cancel,.modal-save { min-width:58px; padding:7px 15px; border-radius:3px; }.modal-cancel { color:#4f5c6c; border:1px solid #d9dfe8; background:#fff; }.modal-save { color:#fff; border:1px solid #a9c5f5; background:#b4c9f1; }
@media(max-width:1050px) { .workspace { grid-template-columns:28% 42% 30%; }.preview-controls { gap:4px; }.preview-controls em { display:none; }.paper { width:80%; } }
.model-modal-card{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:hidden;background:#fff;border-radius:8px;box-shadow:0 12px 42px rgba(3,10,26,.22)}.model-steps{height:76px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid var(--line)}.model-steps button{display:flex;align-items:center;gap:7px;padding:0;color:#9aa4b2;border:0;background:transparent}.model-steps button b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #cdd4de;border-radius:50%;font-size:12px;font-weight:400}.model-steps button.current,.model-steps button.completed{color:var(--blue)}.model-steps button.current b,.model-steps button.completed b{color:#fff;border-color:var(--blue);background:var(--blue)}.model-steps button.completed b{font-size:0}.model-steps button.completed b::after{content:"✓";font-size:13px}.model-steps i{width:72px;height:1px;background:#dce1e8}.model-modal-body{min-height:410px;max-height:calc(100vh - 220px);overflow:auto;padding:26px 32px}.model-step{min-height:355px}.step-heading{margin-bottom:26px;font-size:16px;font-weight:600}.step-heading span{display:block;margin-top:7px;color:#98a2b3;font-size:12px;font-weight:400}.model-field{display:block;margin-bottom:20px;color:#4f5c6c;font-size:13px}.model-field em{color:#f05252;font-style:normal}.model-field input,.model-field select,.model-field textarea{display:block;width:100%;margin-top:8px;padding:9px 11px;border:1px solid #d9dfe8;border-radius:4px;outline:0;color:var(--text);background:#fff}.model-field textarea{resize:vertical;line-height:1.5}.model-field.invalid input,.model-field.invalid select,.model-field.invalid textarea{border-color:#e5484d}.field-error{display:block;min-height:17px;margin-top:4px;color:#e5484d;font-size:12px}.form-grid,.node-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.node-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.node-heading button{padding:0;color:var(--blue);border:0;background:transparent;font-size:12px}.node-row{padding:13px 14px 2px;margin-bottom:12px;border:1px solid #e4e8ee;border-radius:5px;background:#fafbfd}.node-row-title{display:flex;justify-content:space-between;margin-bottom:13px;color:#5d6979;font-size:12px;font-weight:600}.remove-node{padding:0;color:#e5484d;border:0;background:transparent;font-size:12px}.test-summary{display:flex;gap:10px;padding:12px;margin-bottom:22px;color:#53657b;background:#f3f7fd;border:1px solid #dbe7f8;border-radius:5px;font-size:12px}.test-summary span{flex:1}.test-call-button{padding:9px 20px;color:#fff;border:1px solid var(--blue);background:var(--blue);border-radius:4px}.test-result{padding:12px;margin-top:18px;color:#1b8065;background:#eefaf5;border:1px solid #c8eddf;border-radius:4px;font-size:12px}.model-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 32px;border-top:1px solid var(--line)}
.wizard-disabled{color:#aab8ce!important;border-color:#dfe6f0!important;background:#eef2f8!important;cursor:not-allowed!important}
.url-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:13px}.url-heading button{padding:4px 12px;color:var(--blue);border:1px solid #b7d0ff;background:#f5f9ff;border-radius:4px;font-size:12px}.url-row{position:relative;display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 14px 0;margin-bottom:12px;border:1px solid #e4e8ee;border-radius:5px;background:#fafbfd}.url-row .model-field{margin-bottom:5px}.remove-url{position:absolute;right:10px;bottom:10px;width:23px;height:23px;color:#e5484d;border:1px solid #f0c8cb;border-radius:50%;background:#fff}.load-policy-field{margin-top:18px}.node-grid{grid-template-columns:1.4fr .8fr .7fr .7fr}
.doc-config-title{padding-top:4px;margin-bottom:18px;font-size:16px;font-weight:600}.openapi-row{display:flex;align-items:center;gap:12px;margin:0 0 28px;font-size:14px}.upload-api-button{display:inline-flex;align-items:center;padding:10px 24px;color:#fff;background:#2468f2;border-radius:5px;cursor:pointer;font-size:15px}.upload-api-button input{display:none}.openapi-file-name{color:#8993a2;font-size:12px}.url-heading strong{font-weight:500}
.modal-save:not(:disabled){color:#fff!important;border-color:#2468f2!important;background:#2468f2!important;box-shadow:0 1px 2px rgba(36,104,242,.18)}

/* Small-model wizard: service configuration */
.model-modal-card{width:min(980px,calc(100vw - 40px))}.model-modal-body{min-height:460px;max-height:calc(100vh - 210px);padding:24px 36px}.model-step[data-panel="2"]{padding-bottom:8px}.model-step[data-panel="2"]>.step-heading{padding-bottom:20px;margin-bottom:0;border-bottom:1px solid #dfe4eb}
.config-section{padding:26px 0 28px;border-bottom:1px solid #dfe4eb}.config-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:13px;margin-bottom:18px;border-bottom:1px solid #edf0f4}.config-section-heading h3{margin:0;color:#202a3a;font-size:15px;font-weight:600}.config-section-heading p{margin:6px 0 0;color:#909aab;font-size:12px}.subsection-heading{display:flex;align-items:center;gap:12px;margin:23px 0 12px}.subsection-heading strong{font-size:13px;font-weight:600}.subsection-heading span{color:#9aa4b2;font-size:12px}
.openapi-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0}.config-label{display:flex;align-items:baseline;gap:12px}.config-label strong{font-size:13px;font-weight:500}.config-label small{color:#9aa4b2}.openapi-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:34px}.upload-api-button{display:inline-flex;align-items:center;padding:7px 15px;color:var(--blue);border:1px solid #a9c8ff;background:#f7faff;border-radius:4px;cursor:pointer;font-size:13px}.upload-api-button:hover{border-color:var(--blue);background:#eef5ff}.upload-api-button input{display:none}.openapi-file-name{max-width:280px;overflow:hidden;color:#42526a;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.text-danger-button{padding:0;color:#d94b50;border:0;background:transparent;font-size:12px}
.inline-add-button{display:block;margin:2px 0 0 auto;padding:4px 0;color:var(--blue);border:0;background:transparent;font-size:13px}.inline-add-button:hover{text-decoration:underline}.url-row{position:static;display:grid;grid-template-columns:160px minmax(280px,1fr) 48px;align-items:start;gap:14px;padding:0;margin:0 0 12px;border:0;background:transparent}.url-row .model-field{margin:0}.url-row .model-field input,.url-row .model-field select{margin-top:7px}.remove-url{position:static;width:auto;height:auto;align-self:center;margin-top:22px;padding:4px 0;color:#d94b50;border:0;background:transparent;border-radius:0;font-size:12px}.remove-url:disabled,.remove-node:disabled{color:#bcc4cf;cursor:not-allowed;text-decoration:none}
.node-row{padding:14px 16px 4px;margin-bottom:12px;border:1px solid #e5e9ef;border-radius:5px;background:#fbfcfe}.node-row-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;margin-bottom:13px;border-bottom:1px solid #eef1f5;color:#526073;font-size:12px}.node-row-title strong{font-weight:600}.remove-node{padding:0;color:#d94b50;border:0;background:transparent;font-size:12px}.node-main-grid{display:grid;grid-template-columns:120px minmax(210px,2fr) 110px 90px 90px;gap:12px}.node-extra-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1fr);gap:16px;max-width:480px;padding-top:2px}.node-main-grid .model-field,.node-extra-grid .model-field{margin-bottom:4px}
.two-column-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 24px}.two-column-form>.model-field,.field-pair .model-field{margin-bottom:10px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.number-with-unit{display:flex;align-items:center;margin-top:8px;border:1px solid #d9dfe8;border-radius:4px;background:#fff}.number-with-unit:focus-within{border-color:#7ea9f8;box-shadow:0 0 0 2px rgba(36,104,242,.08)}.model-field.invalid .number-with-unit{border-color:#e5484d}.model-field .number-with-unit input{min-width:0;margin:0;border:0;box-shadow:none}.number-with-unit span{padding:0 10px;color:#8c97a7;border-left:1px solid #e6eaf0;font-size:12px}.field-help{display:block;margin-top:5px;color:#99a3b2;font-size:11px;font-weight:400;line-height:1.45}
.toggle-control{display:flex;align-items:center;gap:8px;color:#556274;cursor:pointer;font-size:12px}.toggle-control input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;width:34px;height:18px;background:#c8d0db;border-radius:10px;transition:.18s}.toggle-track::after{position:absolute;top:2px;left:2px;width:14px;height:14px;content:"";background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.18s}.toggle-control input:checked+.toggle-track{background:var(--blue)}.toggle-control input:checked+.toggle-track::after{transform:translateX(16px)}.toggle-control input:focus-visible+.toggle-track{outline:2px solid #9bbcff;outline-offset:2px}.toggle-control b{min-width:24px;font-weight:400}.health-check-fields{padding-top:1px}.status-code-field{padding-top:1px}.status-code-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.status-code-label button{padding:0;color:var(--blue);border:0;background:transparent;font-size:12px}.status-code-list{display:flex;flex-wrap:wrap;gap:7px;min-height:34px;align-items:flex-start}.status-code-tag{display:inline-flex;align-items:center;height:30px;overflow:hidden;border:1px solid #d9e2ef;background:#f7f9fc;border-radius:4px}.model-field .status-code-tag input{width:48px;height:28px;margin:0;padding:0 6px;color:#42516a;border:0;background:transparent;text-align:center;font-size:12px}.status-code-tag button{width:24px;height:28px;padding:0;color:#8c98a8;border:0;border-left:1px solid #e1e7ef;background:transparent}.status-code-tag button:hover{color:#d94b50;background:#fff}
.advanced-section{padding-top:4px}.advanced-toggle{width:100%;display:flex;align-items:center;gap:9px;padding:18px 0;color:#27364b;border:0;background:transparent;text-align:left}.advanced-toggle>span{width:13px;color:var(--blue);font-size:10px}.advanced-toggle strong{font-size:14px}.advanced-toggle small{margin-left:4px;color:#9aa4b2;font-size:12px}.advanced-content{padding:18px 20px 4px;border-top:1px solid #e5e9ef;background:#fafbfd}.advanced-content h4{padding-bottom:10px;margin:8px 0 16px;border-bottom:1px solid #e6eaf0;color:#5b6879;font-size:13px}.advanced-timeouts{margin-bottom:5px}
.model-modal-footer{justify-content:flex-end}.model-modal-footer #cancelModelButton{margin-right:auto}
@media(max-width:850px){.model-modal-body{padding:22px 24px}.node-main-grid{grid-template-columns:1fr 1.5fr 1fr}.node-main-grid .model-field:nth-child(4),.node-main-grid .model-field:nth-child(5){grid-column:auto}.two-column-form{grid-template-columns:1fr}.field-pair{grid-template-columns:1fr 1fr}.url-row{grid-template-columns:135px minmax(220px,1fr) 42px}}
.modal-save.wizard-incomplete:not(:disabled){color:#9aa7b9!important;border-color:#dfe6f0!important;background:#eef2f8!important;box-shadow:none!important;cursor:pointer}

/* Small-model wizard: test call */
.model-step[data-panel="3"]{padding-bottom:10px}.model-step[data-panel="3"]>.step-heading{padding-bottom:20px;margin-bottom:0;border-bottom:1px solid #dfe4eb}.test-config-section{padding:22px 0;border-bottom:1px solid #e5e9ef}.test-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.test-section-heading h3{margin:0;color:#253247;font-size:14px}.test-section-heading small{color:#98a2b2;font-size:11px}.service-address{padding:12px 14px;color:#264976;border:1px solid #d7e4f7;background:#f5f9ff;border-radius:5px;font-family:Consolas,"SFMono-Regular",monospace;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.service-status{padding:4px 9px;border-radius:12px;font-size:12px}.service-status.idle{color:#69778b;background:#f1f3f6}.service-status.testing{color:#a45b00;background:#fff3df}.service-status.success{color:#147257;background:#eaf8f2}.service-status.failure{color:#b4232b;background:#fff0f1}.test-node-field{max-width:420px;margin:18px 0 0}.test-file-row{display:flex;align-items:center;gap:12px;min-height:34px}.test-file-button{display:inline-flex;align-items:center;padding:7px 15px;color:var(--blue);border:1px solid #a9c8ff;background:#f7faff;border-radius:4px;cursor:pointer;font-size:13px}.test-file-button:hover{border-color:var(--blue);background:#eef5ff}.test-file-button input{display:none}.test-file-name{max-width:360px;overflow:hidden;color:#42526a;text-overflow:ellipsis;white-space:nowrap}.json-params-field{margin:0}.json-params-field textarea{margin-top:0;color:#29384f;background:#fbfcfe;font-family:Consolas,"SFMono-Regular",monospace;line-height:1.65}.test-action-row{display:flex;justify-content:center;padding-top:24px}.test-call-button{min-width:116px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 23px;color:#fff;border:1px solid var(--blue);background:var(--blue);border-radius:4px;font-weight:500}.test-call-button:hover:not(:disabled){background:#1558d6}.test-call-button:disabled{cursor:wait;opacity:.78}.button-loader{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:test-spin .75s linear infinite}.test-calling-message{margin-top:10px;color:#a45b00;text-align:center;font-size:12px}.model-step[data-panel="3"] .test-result{margin:18px 0 0;text-align:center}@keyframes test-spin{to{transform:rotate(360deg)}}
.saved-model-status{display:inline-flex;align-items:center;margin-top:8px;padding:4px 9px;border-radius:12px;font-size:12px}.saved-model-status.normal{color:#147257;background:#eaf8f2}.saved-model-status.abnormal{color:#b4232b;background:#fff0f1}

/* Keep wizard actions visible at every viewport height. */
.model-modal-card{display:flex;flex-direction:column;height:min(820px,calc(100vh - 40px));max-height:calc(100vh - 40px)}.model-modal-card>.modal-header,.model-modal-card>.model-steps,.model-modal-card>.model-modal-footer{flex:0 0 auto}.model-modal-card>.model-modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}.model-modal-footer{position:relative;z-index:2;min-height:61px;flex-wrap:wrap;background:#fff;box-shadow:0 -4px 12px rgba(34,48,72,.04)}
@supports(height:100dvh){.model-modal-card{height:min(820px,calc(100dvh - 40px));max-height:calc(100dvh - 40px)}}
@media(max-height:560px){.modal-backdrop{padding:10px}.model-modal-card{height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.model-steps{height:58px}.model-modal-body{padding-top:18px;padding-bottom:18px}.model-modal-footer{min-height:54px;padding-top:9px;padding-bottom:9px}}
@media(max-width:520px){.modal-backdrop{padding:8px}.model-modal-card{width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:calc(100vh - 16px)}.model-modal-footer{padding-right:16px;padding-left:16px}.model-modal-footer .modal-cancel,.model-modal-footer .modal-save{min-width:64px}.model-steps{gap:6px}.model-steps i{width:24px}}

/* Small-model category synchronization */
.category-name{display:flex;align-items:center;gap:7px}.small-model-tag{flex:none;padding:2px 6px;color:#617a9e;background:#edf3fb;border-radius:3px;font-size:10px;font-weight:400}.enabled-label{color:#758195;font-size:11px}.small-model-meta{display:flex;align-items:center;gap:7px;margin-top:7px;color:#738096;font-size:11px}.small-model-meta i{width:2px;height:2px;background:#a8b1bf;border-radius:50%}.service-state{display:inline-flex;align-items:center;gap:4px}.service-state b{width:6px;height:6px;border-radius:50%}.service-state.normal{color:#278064}.service-state.normal b{background:#28a477}.service-state.abnormal{color:#c44b52}.service-state.abnormal b{background:#e14f57}.model-detail-actions{display:flex;align-items:center;justify-content:space-between;min-height:31px}.model-config-button{padding:4px 9px;color:var(--blue);border:1px solid #b7d0ff;background:#f5f9ff;border-radius:4px;font-size:12px}
.system-scroll{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;overflow-y:hidden;padding:10px 12px 20px}.system-add-card{position:sticky;left:0;z-index:1;width:210px;height:112px;display:flex;flex:0 0 210px;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff}.system-add-card span{font-size:42px}.system-add-card small{color:#6596be;font-size:12px}.pending-model-cards{display:contents}.pending-model-card{width:230px;height:112px;display:flex;flex:0 0 230px;flex-direction:column;padding:13px 14px;border:1px solid #dfe5ed;background:#fff;border-radius:7px;box-shadow:0 3px 10px rgba(30,49,77,.06)}.pending-model-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pending-model-card-head strong{overflow:hidden;color:#344158;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pending-model-card-head>span{flex:none;padding:2px 6px;color:#617a9e;background:#edf3fb;border-radius:3px;font-size:10px}.pending-model-card-meta{display:flex;align-items:center;gap:6px;margin-top:10px;color:#718096;font-size:11px}.pending-model-card-meta i{width:2px;height:2px;background:#a8b1bf;border-radius:50%}.pending-model-card-meta span:last-child{display:flex;align-items:center;gap:4px}.pending-model-card-meta b{width:6px;height:6px;border-radius:50%}.pending-model-card-meta .normal{color:#278064}.pending-model-card-meta .normal b{background:#28a477}.pending-model-card-meta .abnormal{color:#c44b52}.pending-model-card-meta .abnormal b{background:#e14f57}.pending-model-card-actions{display:flex;gap:12px;margin-top:auto}.pending-model-card-actions button{padding:0;color:var(--blue);border:0;background:transparent;font-size:11px}.pending-model-card-actions .remove-pending-model{color:#d45158}
.document-scroll.small-model-empty{background:#fff}.small-model-preview{height:100%;min-height:420px;display:grid;place-items:center;padding:32px}.model-example-card{width:min(340px,80%);min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#53647c;border:1px dashed #cbd7e8;background:#fafcff;border-radius:8px}.model-example-card>span{margin-bottom:18px;color:#8492a6;font-size:12px}.model-example-card strong{max-width:100%;overflow:hidden;color:#34445b;text-overflow:ellipsis;white-space:nowrap}.model-example-card small{margin-top:9px;color:#8b98aa}.detail-scroll.small-model-view .model-label{margin-top:20px}.small-model-schema{margin-top:20px;border-top:1px solid #e5e9ef}.small-model-schema section{padding:15px 0;border-bottom:1px solid #edf0f4}.small-model-schema h4{margin:0 0 10px;color:#536075;font-size:12px}.small-model-schema section>div{display:flex;flex-wrap:wrap;gap:7px}.small-model-schema section>div span{padding:5px 8px;color:#4e627e;border:1px solid #dce5f0;background:#f7f9fc;border-radius:4px;font-size:11px}.small-model-schema section>div small{color:#98a2b1;font-size:11px}.pending-model-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px rgba(36,104,242,.08)}.select-pending-model{width:16px;height:16px;flex:none;margin:0;accent-color:var(--blue)}.pending-model-card-head .select-pending-model+strong{flex:1}

/* Polished small-model resource card */
.system-add-card{height:146px;border-color:#dce4ef;background:linear-gradient(145deg,#fff,#f8fbff)}.pending-model-card{width:270px;height:146px;flex-basis:270px;padding:15px 16px;border-color:#dce3ed;border-radius:9px;box-shadow:0 5px 16px rgba(37,56,88,.07);transition:border-color .18s,box-shadow .18s,transform .18s}.pending-model-card:hover{border-color:#adc7f5;box-shadow:0 8px 22px rgba(37,71,125,.11);transform:translateY(-1px)}.pending-model-card.selected{border-color:#4d7cff;background:linear-gradient(145deg,#fff 52%,#f4f8ff);box-shadow:0 0 0 2px rgba(64,112,246,.1),0 8px 22px rgba(37,71,125,.1)}.pending-model-card-head{display:flex;align-items:center;gap:10px}.select-pending-model{width:17px;height:17px}.pending-model-identity{min-width:0;display:flex;align-items:center;gap:9px;flex:1}.pending-model-icon{width:30px;height:30px;display:grid;place-items:center;flex:none;color:#3970d8;background:#eaf2ff;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.4px}.pending-model-identity>div{min-width:0}.pending-model-identity strong{display:block;overflow:hidden;color:#26364d;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pending-model-identity small{display:block;margin-top:3px;color:#98a4b5;font-size:10px}.pending-model-card-head>.pending-model-tag{padding:3px 7px;color:#647b9e;background:#edf3fb;border-radius:4px;font-size:10px}.pending-model-card-meta{padding-left:27px;margin-top:11px}.pending-model-card-actions{align-items:center;padding:9px 0 0 27px;margin-top:auto;border-top:1px solid #edf1f6}.pending-model-card-actions button{padding:4px 8px;border-radius:4px}.pending-model-card-actions .edit-pending-model{color:#2f68d1;background:#edf4ff}.pending-model-card-actions .edit-pending-model:hover{background:#e1ecff}.pending-model-card-actions .remove-pending-model{color:#c94b54;background:transparent}.pending-model-card-actions .remove-pending-model:hover{background:#fff1f2}
.detail-scroll .detail-label,.detail-scroll .required,.detail-scroll .required::first-letter{color:#303b4d}
