/* Gateway controls share the platform shell and design tokens. */
.gateway-panel button,.gateway-panel input,.gateway-panel select,.gateway-panel textarea{font:inherit}
.gateway-panel button{border:1px solid #d0d8e2;background:white;color:#243850;border-radius:7px;padding:8px 13px;cursor:pointer}
.gateway-panel button:hover{background:#eaf0f8}
.gateway-panel button:disabled{opacity:.55;cursor:wait}
.gateway-panel a{color:#3a62b4}
.gateway-panel input,.gateway-panel select,.gateway-panel textarea{border:1px solid #cbd3df;border-radius:6px;padding:9px;background:#fff;width:100%}
.gateway-panel textarea{min-height:110px;font-family:Consolas,monospace}
.gateway-panel label{display:block;margin:14px 0}
.gateway-panel label input,.gateway-panel label select,.gateway-panel label textarea{margin-top:6px}
.gateway-panel header{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.gateway-panel header div{flex:1}
.gateway-panel h2{margin:0 0 8px}
.gateway-panel header p{color:#63738a;margin:0;font-size:14px}
.gateway-panel #summary{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}
.gateway-panel .metric{background:white;border:1px solid #e0e6ed;border-radius:9px;padding:17px;min-width:140px}
.gateway-panel .metric strong{display:block;font-size:27px;margin-top:7px}
.gateway-panel table{width:100%;border-collapse:collapse;background:white;font-size:13px}
.gateway-panel th,.gateway-panel td{padding:12px;text-align:left;border-bottom:1px solid #e4e9f0;vertical-align:top}
.gateway-panel th{color:#69798d;font-weight:500}
.gateway-panel td small{display:block;color:#75849a;margin-top:6px;max-width:260px;overflow-wrap:anywhere}
.gateway-panel .actions{display:flex;gap:5px;flex-wrap:wrap}
.gateway-panel .actions button{font-size:12px;padding:5px 8px}
.gateway-panel .table-wrap{overflow:auto;border:1px solid #e0e6ed;border-radius:8px}
.gateway-panel .badge{display:inline-block;background:#e9eff8;padding:4px 8px;border-radius:4px}
.gateway-panel .empty{padding:40px;text-align:center;background:white;color:#65748a}
.gateway-panel dialog{border:1px solid #d6dfe9;border-radius:12px;max-width:700px;width:90%;padding:25px;max-height:90vh}
.gateway-panel dialog::backdrop{background:#12213788}
.gateway-panel dialog header h2{flex:1;font-size:19px}
.gateway-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f5f8;padding:15px;font-size:12px}
.gateway-panel #gateway-notice,.gateway-panel #edit-error,.gateway-panel #login-error{color:#a13838;min-height:20px}
.gateway-panel .settings{max-width:650px;background:white;padding:24px;border-radius:8px}
.gateway-panel .muted{color:#73839a}
@media(max-width:850px){.gateway-panel .metric{min-width:110px}
.gateway-panel th,.gateway-panel td{padding:9px}}
@media(max-width:600px){}
.gateway-panel .secret-wrap{display:flex;align-items:center;gap:8px;margin-top:6px}
.gateway-panel .secret-wrap input{margin-top:0;flex:1;min-width:0}
.gateway-panel .secret-wrap button{flex-shrink:0}
.gateway-panel .auth-fields[hidden]{display:none}
.gateway-panel th,.gateway-panel .badge{white-space:nowrap}
.gateway-panel .task-id{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace}
.gateway-panel .task-time{display:block;min-width:140px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gateway-panel .task-type{display:inline-block;border-radius:5px;background:#edf2fb;color:#335482;padding:4px 7px;margin:0 4px 4px 0;white-space:nowrap}
.gateway-panel .task-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45;overflow:hidden;max-height:2.9em;width:210px}
.gateway-panel .task-error{color:#a13838}
.gateway-panel .badge-failed{background:#fde8e8;color:#a13838}
.gateway-panel .badge-succeeded{background:#e5f4ec;color:#267149}
.gateway-panel .badge-running{background:#e5effe;color:#315a9d}
.gateway-panel .workflow-json{min-height:280px;font-size:12px;line-height:1.5}
.gateway-panel .task-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 22px}
.gateway-panel .task-metadata dt{color:#69798d;font-size:12px;margin-bottom:6px}
.gateway-panel .task-metadata dd{margin:0;overflow-wrap:anywhere}
.gateway-panel .task-models{padding-left:20px;overflow-wrap:anywhere;font-size:13px}
.gateway-panel .task-failure{background:#fff5f5;border:1px solid #f0cccc;border-radius:8px;padding:15px;margin:20px 0}
.gateway-panel .task-failure h3{color:#a13838;margin-top:0}
.gateway-panel .task-failure p{overflow-wrap:anywhere}
.gateway-panel #details h3{font-size:15px}
.gateway-panel #details details{margin:15px 0}
.gateway-panel #details summary{cursor:pointer;color:#456285}
.gateway-panel #details pre{max-height:300px;overflow:auto}
.gateway-panel #detail-actions{margin-top:22px;justify-content:flex-end}
@media(max-width:600px){.gateway-panel .task-metadata{grid-template-columns:1fr}}
.gateway-panel .task-models small{display:block;color:#75849a;margin:5px 0 12px;font-size:12px}
.gateway-panel .task-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;color:#63738a;font-size:13px}
.gateway-panel .task-pagination .actions{flex-wrap:nowrap}
.gateway-panel .result-media[hidden]{display:none}
.gateway-panel .task-time{min-width:85px;line-height:1.55}
.gateway-panel .task-time span{display:block}
.gateway-panel .task-type-list{margin-top:8px;max-width:210px}
.gateway-panel .task-type-list .task-type{font-size:12px;white-space:normal}
.gateway-panel .task-server{display:block;min-width:65px;max-width:120px;overflow-wrap:anywhere}
.gateway-panel #details{max-width:1000px}
.gateway-panel #details[open]{
  display:flex;flex-direction:column;box-sizing:border-box;
  max-height:90vh;max-height:90dvh;overflow:hidden;padding:0;
}
.gateway-panel #details>header{
  flex:none;margin:0;padding:16px 22px;border-bottom:1px solid var(--vb-border);
}
.gateway-panel #details>header h2{margin:0}
.gateway-panel #close-details{flex:none}
.gateway-panel #detail-content{
  min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 22px;
}
.gateway-panel #details>#detail-actions{
  flex:none;margin:0;padding:12px 22px;border-top:1px solid var(--vb-border);
}
.gateway-panel #detail-actions:empty{display:none}
.gateway-panel .task-result-button{display:flex;flex-direction:column;gap:7px;text-align:left;border:0;background:transparent;padding:0;color:#3a62b4;font-size:12px;min-width:160px}
.gateway-panel .task-result-button:hover{background:transparent;text-decoration:underline}
.gateway-panel .result-thumbnails{display:flex;gap:5px}
.gateway-panel .result-thumb{display:flex;width:52px;height:48px;border-radius:5px;overflow:hidden;background:#edf2f8;align-items:center;justify-content:center}
.gateway-panel .result-thumb img{width:100%;height:100%;object-fit:cover}
.gateway-panel .result-symbol{color:#60758f;font-size:12px}
.gateway-panel .task-results{border-top:1px solid #e4e9f0;border-bottom:1px solid #e4e9f0;padding:16px 0;margin-bottom:22px}
.gateway-panel .result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gateway-panel .result-heading h3{margin:0}
.gateway-panel .result-heading button{font-size:12px}
.gateway-panel .task-results h4{font-size:13px;color:#63738a;margin:18px 0 10px}
.gateway-panel .result-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gateway-panel .result-card{border:1px solid #dce4ee;border-radius:8px;overflow:hidden;min-width:0;background:white}
.gateway-panel .result-preview{background:#eef2f7;min-height:120px;display:flex;align-items:center;justify-content:center;padding:8px}
.gateway-panel .result-preview a{display:flex;width:100%;justify-content:center}
.gateway-panel .result-media{display:block;max-width:100%;width:100%;max-height:340px;object-fit:contain}
.gateway-panel .result-preview audio{width:100%}
.gateway-panel .result-caption{display:flex;flex-direction:column;gap:7px;padding:12px;font-size:13px}
.gateway-panel .result-caption small{color:#69798d}
.gateway-panel .result-filename{overflow-wrap:anywhere;color:#63738a;font-size:12px}
.gateway-panel .result-text pre{margin:0;max-height:260px!important}
.gateway-panel .result-text small{display:block;padding:12px}
.gateway-panel .media-error{font-size:12px;padding:12px;overflow-wrap:anywhere}
.gateway-panel .file-task-link{border:0;background:transparent;padding:0;color:#3a62b4;text-align:left;font:12px Consolas,monospace;max-width:190px;overflow-wrap:anywhere}
.gateway-panel .file-task-link:hover{text-decoration:underline}
@media(max-width:600px){.gateway-panel .result-gallery{grid-template-columns:1fr}
.gateway-panel .result-media{max-height:280px}}
.gateway-panel #editor:has(.workflow-editor){max-width:950px}
.gateway-panel .workflow-editor-tabs{display:flex;gap:8px;margin:16px 0}
.gateway-panel .workflow-editor-tabs button[aria-pressed="true"]{background:#e5effe;border-color:#7196d0;color:#244f8b}
.gateway-panel .workflow-editor [hidden]{display:none}
.gateway-panel .prompt-card{border:1px solid #dce4ee;border-radius:8px;padding:18px;margin:16px 0;background:#fafcff}
.gateway-panel .prompt-card h3{font-size:15px;margin:0 0 6px}
.gateway-panel .prompt-field-location{font-size:12px;overflow-wrap:anywhere}
.gateway-panel .prompt-card label{margin:12px 0 6px}
.gateway-panel .prompt-text{min-height:220px;font-family:inherit;font-size:15px;line-height:1.65;resize:vertical}
.gateway-panel .prompt-file-tools{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:10px}
.gateway-panel .prompt-file-tools label{margin:0;flex:1;min-width:180px;font-size:12px;color:#63738a}
.gateway-panel .prompt-file-tools input{font-size:12px;padding:6px}
.gateway-panel .prompt-file-tools button{font-size:12px}
.gateway-panel .prompt-picker{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.gateway-panel .prompt-picker label{flex:1;min-width:220px;margin-bottom:0}
.gateway-panel .prompt-picker button{margin-top:8px}
.gateway-panel #workflow-editor-status{color:#a13838;font-size:13px;overflow-wrap:anywhere}
.gateway-panel .workflow-editor-help{font-size:13px;line-height:1.6}
.gateway-panel #editor:has(.workflow-editor){padding:0;overflow:hidden}
.gateway-panel #editor:has(.workflow-editor) #edit-form{display:flex;flex-direction:column;max-height:90vh}
.gateway-panel #editor:has(.workflow-editor) #edit-form>header{margin:0;padding:18px 24px;border-bottom:1px solid #e4e9f0;flex-shrink:0}
.gateway-panel #editor:has(.workflow-editor) #edit-fields{padding:0 24px;overflow:auto;min-height:0}
.gateway-panel #editor:has(.workflow-editor) #edit-error{margin:8px 24px;flex-shrink:0}
.gateway-panel #editor:has(.workflow-editor) #edit-form>button[type="submit"]{align-self:flex-end;margin:0 24px 18px;flex-shrink:0}
.gateway-panel .result-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;margin-top:8px;background:white;position:sticky;top:0;z-index:2;font-size:13px;color:#63738a}
.gateway-panel .result-pagination .actions{flex-wrap:nowrap}
.gateway-panel .result-preview:has(img[data-preview]),.gateway-panel .result-preview:has(video){aspect-ratio:3/2;min-height:0}
.gateway-panel .result-preview{position:relative;overflow:hidden;flex-direction:column}
.gateway-panel .result-preview a{position:relative;height:100%;align-items:center}
.gateway-panel .result-preview img[data-preview]{visibility:hidden;max-height:100%;height:100%}
.gateway-panel .result-thumb{position:relative}
.gateway-panel .result-thumb img{position:absolute;inset:0;visibility:hidden}
.gateway-panel .preview-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#69798d}
.gateway-panel .preview-loading .preview-placeholder::after{content:'…'}
.gateway-panel .preview-ready img{visibility:visible!important}
.gateway-panel .preview-ready .preview-placeholder,.gateway-panel .preview-failed .preview-placeholder{display:none}
.gateway-panel .result-preview [data-load-media]{position:absolute}
.gateway-panel .result-preview [data-load-media][hidden]{display:none}
.gateway-panel .result-thumb.preview-failed::after{content:'图片';font-size:12px;color:#69798d}
@media(max-width:600px){.gateway-panel .result-pagination{align-items:flex-start}
.gateway-panel .result-pagination>span{max-width:45%}}
.gateway-panel .result-pagination .actions{flex-wrap:wrap;justify-content:flex-end;max-width:65%}
.gateway-panel .result-pagination>span{flex:1;min-width:0}
@media(max-width:600px){.gateway-panel .result-pagination .actions{max-width:55%}}
.gateway-panel .video-frame-editor{border:1px solid #dce4ee;border-radius:8px;padding:14px 16px;margin:16px 0;background:#f6f8fc}
.gateway-panel .video-frame-editor h3{margin:0 0 8px}
.gateway-panel .video-frame-editor p{font-size:13px;line-height:1.6}
.gateway-panel .video-frame-card{border-top:1px solid #e1e7f0;padding-top:12px;margin-top:12px}
.gateway-panel .video-frame-card input{max-width:200px}
.gateway-panel .video-frame-sync{color:#526780;overflow-wrap:anywhere}
.gateway-panel [data-frame-status]{color:#a13838;overflow-wrap:anywhere}
.gateway-panel #cancel-task-dialog{max-width:480px}
.gateway-panel #cancel-task-dialog h2{margin-top:0}
.gateway-panel #cancel-task-dialog .actions{justify-content:flex-end}
.gateway-panel #cancel-task-dialog .confirm-cancel{background:#b43b3b;color:white;border-color:#b43b3b}
.gateway-panel #cancel-task-dialog .confirm-cancel:hover{background:#982f2f}
.gateway-panel #service-routes input[type="checkbox"]{width:18px;height:18px;margin:0}
.gateway-panel #service-routes input[type="number"]{width:95px}
.gateway-panel #service-routes h3{font-size:16px;margin:20px 0 8px}
.gateway-panel #service-routes p{font-size:13px;line-height:1.6}
.gateway-panel #service-routes small{font-size:12px}
.gateway-panel #service-routes [hidden],.gateway-panel #service-primary-backup[hidden]{display:none}
.gateway-panel .service-config{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px}
.gateway-panel .service-config label{min-width:0;margin:10px 0}
.gateway-panel .service-config input,.gateway-panel .service-config select{min-width:0}
@media(max-width:600px){.gateway-panel .service-config{grid-template-columns:minmax(0,1fr)}}
.gateway-panel .file-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding:18px;border:1px solid #e0e6ed;border-radius:9px;background:white;margin-bottom:16px}
.gateway-panel .file-filters label{margin:0;font-size:12px;color:#63738a}
.gateway-panel .file-filters .file-search{grid-column:span 3}
.gateway-panel .file-filters>.actions{align-items:flex-end}
.gateway-panel .file-bulk{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:#e9eff8;padding:12px 14px;border-radius:8px}
.gateway-panel .file-bulk .actions{align-items:center}
.gateway-panel .file-bulk button{font-size:13px}
.gateway-panel .file-bulk span{font-size:13px;color:#526780}
.gateway-panel .file-help{font-size:12px;line-height:1.6}
.gateway-panel .file-group{margin:20px 0 28px}
.gateway-panel .file-group>header{margin:0 0 12px;align-items:flex-start}
.gateway-panel .file-group h3{font-size:17px;margin:0 0 7px}
.gateway-panel .file-group h3 small{color:#73839a;font-size:12px;font-weight:400;margin-left:10px}
.gateway-panel .file-group header p{font-size:12px;line-height:1.5;margin:4px 0}
.gateway-panel .file-task-id{color:#73839a;font:11px Consolas,monospace;overflow-wrap:anywhere}
.gateway-panel .file-prompt{max-width:750px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gateway-panel .file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gateway-panel .file-card{min-width:0;border:1px solid #dce4ee;border-radius:9px;background:white;overflow:hidden}
.gateway-panel .file-card-preview{height:130px;aspect-ratio:auto!important;min-height:0}
.gateway-panel .file-card-preview a{align-items:center}
.gateway-panel .file-card-preview img{object-fit:contain}
.gateway-panel .file-media-symbol{font-size:20px;color:#60758f;text-decoration:none}
.gateway-panel .file-card-body{padding:14px;display:flex;flex-direction:column;gap:9px;font-size:12px}
.gateway-panel .file-pick{display:flex;align-items:flex-start;gap:9px;margin:0}
.gateway-panel .file-pick input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0}
.gateway-panel .file-pick strong{font-size:13px;overflow-wrap:anywhere;line-height:1.5}
.gateway-panel .file-properties{display:flex;gap:7px;flex-wrap:wrap;justify-content:space-between;color:#63738a}
.gateway-panel .file-subfolder{color:#73839a;overflow-wrap:anywhere}
.gateway-panel .file-protected{color:#63738a}
.gateway-panel .file-cleanable{color:#267149}
.gateway-panel .file-references{border-top:1px solid #edf0f5;padding-top:9px;line-height:1.55}
.gateway-panel .file-task-open{color:#3a62b4;font-size:12px;text-align:left}
.gateway-panel .file-references .file-task-open{display:block;border:0;padding:4px 0;background:transparent;overflow-wrap:anywhere}
.gateway-panel .file-references small{display:block}
.gateway-panel .file-identifiers{color:#73839a;font-size:11px;overflow-wrap:anywhere}
.gateway-panel .file-identifiers small{display:block;margin-top:6px}
.gateway-panel .file-danger{border-color:#e1adad;color:#a13838}
.gateway-panel .file-danger:hover{background:#fff0f0}
.gateway-panel .file-danger:disabled{color:#73839a;border-color:#cbd3df}
.gateway-panel #file-notice{color:#a13838;font-size:13px;overflow-wrap:anywhere}
.gateway-panel #file-batch-dialog{max-width:720px}
.gateway-panel #file-batch-dialog footer{justify-content:flex-end}
.gateway-panel .file-batch-list{max-height:280px;overflow:auto;padding:0 20px;font-size:13px}
.gateway-panel .file-batch-list li{padding:7px 0;overflow-wrap:anywhere}
.gateway-panel .file-batch-list small{display:block;color:#73839a;margin-top:4px}
.gateway-panel .file-manager button:disabled{cursor:not-allowed}
@media(max-width:1150px){.gateway-panel .file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gateway-panel .file-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.gateway-panel .file-filters .file-search{grid-column:span 3}}
@media(max-width:650px){.gateway-panel .file-grid{grid-template-columns:minmax(0,1fr)}
.gateway-panel .file-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.gateway-panel .file-filters .file-search{grid-column:span 2}
.gateway-panel .file-group>header{flex-wrap:wrap}
.gateway-panel .file-prompt{max-width:100%}
.gateway-panel .file-card-preview{height:170px}
.gateway-panel .file-bulk{align-items:flex-start}
.gateway-panel .file-bulk .actions{width:100%}}
.gateway-panel #file-notice:empty{display:none}
.gateway-panel .task-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding:18px;border:1px solid #e0e6ed;border-radius:9px;background:white;margin-bottom:18px}
.gateway-panel .task-filters label{margin:0;font-size:12px;color:#63738a;min-width:0}
.gateway-panel .task-filters input,.gateway-panel .task-filters select{min-width:0}
.gateway-panel .task-filters .task-search{grid-column:span 2}
.gateway-panel .task-filters>.actions{align-items:flex-end;justify-content:flex-end;flex-wrap:nowrap}
.gateway-panel .task-filters>.actions button{font-size:13px;padding:9px 12px;white-space:nowrap}
.gateway-panel .task-date-range{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gateway-panel .task-date-range[hidden]{display:none}
.gateway-panel .task-filter-help,.gateway-panel .task-filter-error,.gateway-panel .task-filter-loading{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}
.gateway-panel .task-filter-help{color:#73839a}
.gateway-panel .task-filter-error{color:#a13838}
.gateway-panel .task-filter-loading{color:#315a9d}
.gateway-panel .task-filter-loading:empty{display:none}
.gateway-panel .task-advanced-filters{grid-column:1/-1}
.gateway-panel .task-advanced-filters>summary{cursor:pointer;color:var(--vb-accent);font-size:13px;width:fit-content}
.gateway-panel .task-advanced-fields{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;
  margin-top:10px;padding-top:12px;border-top:1px solid var(--vb-border);
}
.gateway-panel .task-filter-link{padding:0;border:0;background:transparent;color:#3a62b4;font-size:12px;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.gateway-panel .task-filter-link:hover{background:transparent;text-decoration:underline}
.gateway-panel .task-service-links{display:flex;flex-direction:column;gap:5px;max-width:210px;margin:5px 0}
.gateway-panel .task-unassociated{color:#73839a;margin-top:5px}
.gateway-panel .task-pagination>span{line-height:1.5}
@media(max-width:1100px){.gateway-panel .task-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.gateway-panel .task-filters .task-search{grid-column:1/-1}
.gateway-panel .task-filters>.actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:500px){.gateway-panel .task-filters{padding:14px;gap:12px}
.gateway-panel .task-filters .task-date-range{gap:12px}
.gateway-panel .task-pagination{align-items:flex-start}}
.gateway-panel .startup-option{display:flex;align-items:center;gap:.6rem}
.gateway-panel .startup-option input{width:auto}
.gateway-panel #windows-service>.actions{margin-top:14px;gap:10px}
.gateway-panel #windows-service>.actions button{padding:9px 14px;font-size:14px;border:1px solid #cdd7e3;border-radius:6px;background:white;color:#234d7d;cursor:pointer}
.gateway-panel #windows-service>.actions button:disabled{opacity:.6;cursor:default}
.gateway-panel .draw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.gateway-panel .draw-selected{outline:2px solid #69a9ed}
.gateway-panel .draw-media{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.gateway-panel .draw-media img,.gateway-panel .draw-media video{max-height:300px;max-width:100%;object-fit:contain}
.gateway-panel .seed-editor{margin:16px 0;padding:12px 0;border-bottom:1px solid #dce4ee}
.gateway-panel .seed-editor p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.gateway-panel .config-preview{width:min(760px,90vw)}
.gateway-panel .config-changes{max-height:280px;overflow:auto;overflow-wrap:anywhere}
.gateway-panel .config-preview footer{justify-content:flex-end;margin-top:20px}
.task-alert-settings{margin:0 0 16px;position:relative;font-size:13px}
.task-alert-settings>summary{cursor:pointer;color:#315a9d;width:fit-content;padding:8px 0}
.task-alert-options{padding:16px;border:1px solid #dce4ee;border-radius:8px;background:white;max-width:700px}
.task-alert-options label{display:inline-flex;align-items:center;gap:7px;margin:0 20px 10px 0}
.task-alert-options input[type=checkbox]{width:17px;height:17px;margin:0}
.task-alert-options p{line-height:1.65;font-size:12px;overflow-wrap:anywhere}
.task-alert-toasts{position:fixed;right:22px;bottom:20px;width:min(390px,calc(100vw - 44px));z-index:100;display:grid;gap:10px;pointer-events:none}
.task-alert-toast{background:white;border:1px solid #a9cabb;border-left:4px solid #28845a;border-radius:9px;box-shadow:0 5px 24px #15345326;padding:16px;pointer-events:auto}
.task-alert-failed{border-left-color:#b43b3b}
.task-alert-toast strong{font-size:14px}
.task-alert-toast p{font-size:12px;line-height:1.65;overflow-wrap:anywhere;color:#526780;margin:8px 0 12px}
.task-alert-toast button{font-size:12px;padding:6px 10px}
.task-alert-toasts:empty{display:none}
.task-alert-toasts[popover]{margin:0;inset:auto 22px 20px auto;padding:0;border:0;background:transparent;overflow:visible}
.task-alert-toasts[popover]:not(:popover-open){display:none}
.gateway-panel{min-width:0;color:var(--vb-text);font-size:14px;line-height:1.6}
.gateway-panel[hidden],.gateway-panel [hidden]{display:none!important}
.gateway-panel button{border:1px solid var(--vb-border);border-radius:9px;color:var(--vb-text);background:var(--vb-surface);padding:9px 13px;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s}
.gateway-panel button:hover{background:var(--vb-accent-soft);border-color:#bdc6f8}
.gateway-panel button:disabled{cursor:not-allowed;opacity:.5}
.gateway-panel .gateway-header{display:flex;gap:12px;align-items:center;margin:20px 0 24px}
.gateway-panel .gateway-header>div{flex:1;min-width:0}
.gateway-panel h2{font-size:23px;letter-spacing:-.5px;margin:0 0 6px;font-weight:650;line-height:1.3}
.gateway-panel h3{font-size:16px;font-weight:600;line-height:1.45}
.gateway-panel .gateway-header p{font-size:13px;color:var(--vb-muted);margin:0;max-width:840px}
.gateway-panel #add,.gateway-panel #edit-form>button[type=submit],.gateway-panel .settings>button{background:var(--vb-accent);border-color:var(--vb-accent);color:white}
.gateway-panel input,.gateway-panel select,.gateway-panel textarea{border:1px solid var(--vb-border);border-radius:9px;background:var(--vb-surface);color:var(--vb-text);padding:10px 12px;min-width:0}
.gateway-panel input:focus,.gateway-panel select:focus,.gateway-panel textarea:focus{outline:2px solid #c6ceff;outline-offset:1px;border-color:var(--vb-accent)}
.gateway-panel .table-wrap,.gateway-panel .settings,.gateway-panel .metric,.gateway-panel .task-filters,.gateway-panel .file-filters{border:1px solid var(--vb-border);border-radius:var(--vb-radius);box-shadow:var(--vb-shadow);background:var(--vb-surface)}
.gateway-panel th{background:#fafbff;color:var(--vb-muted);font-size:12px;padding:14px 16px}
.gateway-panel td{padding:16px;border-color:var(--vb-border);vertical-align:middle}
.gateway-panel tbody tr:hover{background:#fafbff}
.gateway-panel .actions{gap:7px}
.gateway-panel .task-time,.gateway-panel .task-time span{white-space:normal;min-width:110px;max-width:150px}
.gateway-panel .actions button{font-size:12px;padding:7px 10px}
.gateway-panel #summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gateway-panel .metric{min-width:0;color:var(--vb-muted);font-size:12px;padding:18px 20px}
.gateway-panel .metric strong{color:var(--vb-text);font-size:26px;font-weight:650}
.gateway-panel .settings{max-width:none;padding:24px;margin:0 0 20px}
.gateway-panel label{font-size:13px;color:var(--vb-text)}
.gateway-panel dialog{color:var(--vb-text);background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:16px;box-shadow:0 25px 90px #14214133;line-height:1.6}
.gateway-panel dialog::backdrop{background:#18244666;backdrop-filter:blur(3px)}
.gateway-panel dialog h2{font-size:20px}
.gateway-panel .task-filters,.gateway-panel .file-filters{padding:20px}
.gateway-panel #gateway-notice:empty{display:none}
.gateway-panel #gateway-notice{border-radius:10px;background:#fff3f3;padding:12px 16px;color:#a13838;overflow-wrap:anywhere}
.gateway-panel .file-grid{gap:20px}
.gateway-panel .file-card,.gateway-panel .result-card,.gateway-panel .prompt-card{border-radius:12px;border-color:var(--vb-border)}
.section-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px;padding:6px;border-radius:12px;background:#eceff8;border:1px solid var(--vb-border)}
.section-tabs .button{padding:9px 14px;border:0;background:transparent;box-shadow:none;color:var(--vb-muted);font-size:13px}
.section-tabs .button.active{background:var(--vb-surface);color:var(--vb-accent);box-shadow:0 2px 6px #2934580d}
.notification-panel{padding:24px}
.notification-panel .task-alert-options{border:0;padding:18px 0 0;max-width:none}
.notification-panel .task-alert-settings{margin:0}
.notification-panel .task-alert-settings>summary{font-size:17px;font-weight:600;color:var(--vb-text)}
@media(min-width:1101px){
  .gateway-panel:has(#task-filter-region:not([hidden])) .gateway-header{margin:12px 0 14px}
  .gateway-panel:has(#task-filter-region:not([hidden])) #summary{gap:10px;margin-bottom:12px}
  .gateway-panel:has(#task-filter-region:not([hidden])) .metric{
    display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;
  }
  .gateway-panel:has(#task-filter-region:not([hidden])) .metric strong{margin:0;font-size:21px}
  .gateway-panel #task-filter-region .task-filters{
    grid-template-columns:minmax(160px,1fr) minmax(112px,.48fr) minmax(138px,.56fr) auto;
    gap:8px 12px;padding:12px 14px;margin-bottom:12px;
  }
  .gateway-panel #task-filter-region .task-search{grid-column:auto}
  .gateway-panel #task-filter-region .task-filters>.actions{align-self:end;margin:0}
  .gateway-panel .task-filters label :is(input,select){margin-top:4px;padding:7px 9px}
  .gateway-panel .task-pagination{margin-bottom:10px}
}
@media(max-width:900px){.gateway-panel #summary{grid-template-columns:repeat(2,minmax(0,1fr))}.gateway-panel .gateway-header{align-items:flex-start;flex-wrap:wrap}.gateway-panel td{padding:12px}}
@media(max-width:600px){.gateway-panel .gateway-header>div{flex-basis:100%}.gateway-panel .gateway-header h2{font-size:20px}.gateway-panel .settings{padding:18px}.gateway-panel #summary{gap:10px}.gateway-panel .metric{padding:14px}.section-tabs{flex-wrap:nowrap;overflow:auto}.section-tabs .button{white-space:nowrap}.gateway-panel .service-config{grid-template-columns:1fr}}

/* Keep action labels readable when a table scrolls on narrow screens. */
.gateway-panel .actions button{white-space:nowrap;flex-shrink:0}
.gateway-panel td>.actions{min-width:140px}
