/* Shared, scoped workspace rhythm for all management pages. */
:root{--ws-text:#273342;--ws-muted:#87909f;--ws-line:#e8edf4;--ws-soft:#f7f9fc;--ws-paper:#fff;--ws-blue:#2080f0;--ws-radius:10px}
.ws-page,.ws-entity{color:var(--ws-text);min-width:0;line-height:1.6}
.ws-page{background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:12px;padding:24px}
.ws-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
.ws-entity>.ws-heading{margin-top:24px}
.ws-heading h2{font-size:19px;font-weight:650;line-height:1.4;margin:0}
.ws-heading h2 small{font-size:15px;font-weight:400}
.ws-heading p{font-size:12px;color:var(--ws-muted);margin:7px 0 0}
.ws-actions,.ws-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ws-row-actions{flex-wrap:nowrap;gap:13px}
.ws-muted,.ws-label{color:var(--ws-muted);font-size:12px}
.ws-accent{color:var(--ws-blue);font-size:16px}
.ws-switch{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--ws-muted)}
.ws-filter{background:var(--ws-soft);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:16px 18px;display:grid;grid-template-columns:minmax(230px,1.7fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:12px}
.ws-filter-compact{grid-template-columns:minmax(240px,1fr) minmax(160px,.5fr) auto}
#adobe-workspace .ws-filter-compact{grid-template-columns:minmax(240px,1fr) auto}
.ws-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ws-field>span{color:var(--ws-muted);font-size:12px}
.ws-batch{padding:18px 0;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.ws-empty{padding:50px 16px;text-align:center;color:var(--ws-muted);font-size:13px}
.ws-empty b{font-size:15px;color:var(--ws-text);font-weight:500}.ws-empty p{margin:9px 0 0}
.ws-alert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--ws-line);background:var(--ws-soft);padding:12px 16px;border-radius:8px;font-size:12px;overflow-wrap:anywhere;margin-bottom:18px}
.ws-alert.error{background:#fff5f5;border-color:#f6d9de;color:#c44052}
.ws-pill{font-size:11px;line-height:1.6;display:inline-flex;align-items:center;border-radius:20px;padding:2px 9px;white-space:nowrap;background:#f0f2f5;color:#8891a0}
.ws-pill.green{color:#19935c;background:#ecf8f1}.ws-pill.blue{color:#287fda;background:#edf5ff}.ws-pill.red{color:#c6475d;background:#fff0f2}.ws-pill.amber{color:#ac7b22;background:#fff7e8}
.ws-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.ws-stats>button{background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:14px 18px;text-align:left;cursor:pointer;font-family:inherit;color:var(--ws-text)}
.ws-stats>button:hover,.ws-stats>button.is-active{border-color:#b7d6fd;background:#f8fbff}.ws-stats b{font-size:23px;display:block;font-weight:600;line-height:1.3}.ws-stats span{display:block;color:var(--ws-muted);font-size:12px;margin-top:4px}
.ws-stats>button:nth-child(2) b{color:#2080f0}.ws-stats>button:nth-child(3) b{color:#cc921d}.ws-stats>button:nth-child(4) b{color:#19935c}
.ws-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0 14px}.ws-section-heading h3{font-size:15px;margin:0;font-weight:600}
.ws-entity .n-data-table-th{font-size:12px;color:#7d8797;font-weight:500}.ws-entity .n-data-table-td{padding-top:16px;padding-bottom:16px}
.ws-credential-list{display:flex;flex-direction:column;gap:4px;align-items:flex-start;font-size:12px;color:var(--ws-muted)}.ws-credential-list .available{color:#239564}
/* Tasks use summary cards. Details have account outcomes and a readable timeline. */
.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.task-card{border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:18px 20px;background:var(--ws-paper);transition:border-color .15s;min-width:0}.task-card:hover{border-color:#bcd5f4}
.task-card-top{display:flex;align-items:center;gap:9px;margin-bottom:13px}.task-card-time{margin-left:auto;font-size:11px;color:var(--ws-muted)}
#jobs-workspace input[type=checkbox]{width:15px;height:15px;accent-color:#2080f0;cursor:pointer}
.task-title-button{font:600 17px/1.4 inherit;font-family:inherit;font-weight:600;font-size:17px;text-align:left;color:var(--ws-text);background:none;border:0;padding:0;cursor:pointer}.task-title-button:hover{color:var(--ws-blue)}
.task-description{font-size:12px;color:var(--ws-muted);margin:6px 0 13px}
.task-account-preview{border-radius:6px;background:var(--ws-soft);padding:9px 11px;font-size:12px;display:flex;gap:8px;min-width:0;min-height:37px;box-sizing:border-box}
.task-account-preview>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.task-account-preview small{flex-shrink:0;color:var(--ws-muted)}
.task-card-result{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:14px 0 8px}
.task-progress{height:4px;background:#edf1f6;border-radius:4px;overflow:hidden}.task-progress i{display:block;height:100%;background:#aeb8c6;border-radius:4px}.task-progress .green{background:#3da878}.task-progress .blue{background:#4596f0}.task-progress .red{background:#da7989}.task-progress .amber{background:#d4a34d}
.task-card-footer{border-top:1px solid var(--ws-line);margin-top:15px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.task-error-preview{font-size:12px;color:#c6475d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:12px 0 0}
.task-list-footer{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:24px}
.task-detail-heading h2{margin-top:12px}.task-detail-heading>.ws-actions{justify-content:flex-end}
.task-outcome{display:flex;justify-content:space-between;align-items:center;background:var(--ws-soft);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:20px 24px;margin-bottom:20px;gap:20px}
.task-outcome h3{font-size:18px;letter-spacing:.2px;font-weight:500;margin:10px 0 6px}.task-outcome p{margin:0}.task-outcome-progress{width:160px;flex-shrink:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.task-outcome-progress strong{font-size:28px;font-weight:600}.task-outcome-progress .task-progress{width:100%}
.task-provenance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}.task-provenance>div{display:flex;align-items:flex-start;flex-direction:column;gap:7px;border-right:1px solid var(--ws-line);padding-right:15px}.task-provenance>div:last-child{border:0}.task-provenance strong{font-size:13px;font-weight:500}.task-provenance small{font-size:11px;overflow-wrap:anywhere}
.task-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ws-line);border-radius:8px;padding:17px;gap:18px}
.task-milestones>div{display:grid;grid-template-columns:26px 1fr;gap:3px 9px;color:var(--ws-muted)}.task-milestones b{width:23px;height:23px;border-radius:50%;background:#eff2f6;text-align:center;grid-row:span 2;font-size:12px;font-weight:500}.task-milestones span{font-size:12px}.task-milestones small{font-size:11px}.task-milestones .complete b{background:#ecf8f1;color:#239564}.task-milestones .current b{background:#e9f3ff;color:#2080f0}
.task-tabs{display:flex;gap:28px;border-bottom:1px solid var(--ws-line);margin-top:24px}.task-tabs button{padding:12px 0;border:0;background:none;font:14px/1.6 inherit;font-family:inherit;color:var(--ws-muted);border-bottom:2px solid transparent;cursor:pointer}.task-tabs .active{color:#2080f0;border-bottom-color:#2080f0}
.task-account-list{border:1px solid var(--ws-line);border-radius:8px;overflow:hidden}.task-account-row{display:grid;grid-template-columns:minmax(220px,1.1fr) auto minmax(180px,1fr) auto;align-items:center;gap:18px;padding:15px 18px;border-bottom:1px solid var(--ws-line)}.task-account-row:last-child{border:0}.task-account-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.task-account-row strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.task-account-row p{font-size:12px;margin:0;overflow-wrap:anywhere;color:#728095}
.task-log-filter{display:grid;grid-template-columns:1fr 160px;gap:12px;margin-bottom:20px}
.task-timeline{list-style:none;margin:0;padding:0;max-height:600px;overflow:auto}.task-timeline li{display:grid;grid-template-columns:70px 1fr;gap:16px;padding-bottom:0;font-size:12px}.task-timeline time{font-size:11px;color:var(--ws-muted);font-variant-numeric:tabular-nums;padding-top:5px}.task-timeline li>div{position:relative;border-left:1px solid var(--ws-line);padding:0 0 20px 21px;min-width:0}.task-timeline li>div:before{content:'';position:absolute;width:7px;height:7px;left:-4px;top:6px;background:#b3c4d8;border-radius:50%}.task-timeline li.error>div:before{background:#d06a7c}.task-timeline li.success>div:before{background:#3da878}.task-timeline li.warning>div:before{background:#d4a34d}.task-timeline p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;line-height:1.8;color:var(--ws-text)}
/* Existing dashboard, settings and embedded pages share the same spacing and controls. */
body[data-workspace] .n-layout-content.content .n-card{border-radius:12px}
body[data-workspace] .n-layout-content.content .n-card-header{font-size:16px}
body[data-workspace] .n-layout-content.content .n-data-table{--n-th-color:#f8fafc;--n-border-color:var(--ws-line)}
body[data-workspace] .n-layout-content.content .n-button{border-radius:6px}
body[data-workspace] .n-layout-content.content .n-base-selection,body[data-workspace] .n-layout-content.content .n-input{border-radius:6px}
body[data-workspace=settings] .n-layout-content.content :is(#okad-local-pool-settings,#okad-external-apikey,#okad-captcha-settings,#okad-clash-settings){border-radius:12px!important;border-color:var(--ws-line)!important;box-shadow:none!important}
.ws-settings-heading{margin-bottom:22px}.ws-settings-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.ws-settings-nav button{border:1px solid var(--ws-line);border-radius:6px;padding:7px 13px;background:var(--ws-paper);color:#627083;font:12px/1.6 inherit;font-family:inherit;cursor:pointer}.ws-settings-nav button:hover{color:#2080f0;border-color:#b7d6fd}
#extm-embed{background:#f1f4f8!important}.extm-page{max-width:none!important}
#extm-embed .extm-hd{display:flex;align-items:center;gap:12px;margin:0 0 20px}.extm-hd h2{font-size:19px!important}.extm-hd .ws-actions{margin-left:auto}
#extm-embed .extm-card{border-radius:12px;border-color:var(--ws-line);box-shadow:none}.extm-import-card>summary{cursor:pointer;list-style:none;padding:14px 18px;font-size:14px}.extm-import-card>summary:after{content:'展开 ▾';float:right;color:var(--ws-muted);font-size:12px}.extm-import-card[open]>summary:after{content:'收起 ▴'}
#extm-embed .extm-tools{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(130px,.6fr) minmax(130px,.6fr) auto;background:var(--ws-soft);border:1px solid var(--ws-line);margin:18px;border-radius:10px;padding:16px;gap:12px}
#extm-embed .extm-tools .extm-in{width:100%!important;height:34px}.extm-batch-row{display:flex;align-items:center;gap:12px;padding:0 18px 18px;flex-wrap:wrap}.extm-batch-row .extm-batch-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.extm-batch-row .ws-spacer{flex:1}
#extm-embed .extm-btn{border-radius:6px;height:34px}.extm-batch-row .selc{font-size:12px;color:var(--ws-muted)}.extm-batch-row .selc b{color:#2080f0;font-size:16px}
#extm-embed .extm-t th{font-size:12px;color:#7d8797;background:#f8fafc}#extm-embed .extm-t>tbody>tr[data-member]>td{padding-top:15px;padding-bottom:15px}
#extm-embed .extm-import-card .tip{font-size:12px;color:var(--ws-muted);display:block;margin:0 0 10px}
#sub2-panel .s2-body{background:#f1f4f8;padding:24px}#sub2-panel .s2-card{border-radius:12px;border-color:var(--ws-line);box-shadow:none}#sub2-panel .s2-btn,#sub2-panel .s2-in{border-radius:6px}#sub2-panel .s2-top h2{font-size:19px}
#sub2-panel .s2-overview{display:flex;gap:12px;padding:20px 20px 0}.s2-overview .s2-stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));width:100%;gap:12px}.s2-overview .s2-stbox{padding:14px 18px;border:1px solid var(--ws-line);border-radius:9px}.s2-overview .s2-stbox b{font-size:23px}.s2-overview .s2-stbox .l{margin-top:4px;font-size:12px}
#sub2-panel .s2-tools{padding:18px 20px;border-bottom:0}#sub2-panel .s2-filters{margin:18px 20px 0;padding:16px;background:var(--ws-soft);border:1px solid var(--ws-line);border-radius:9px}#sub2-panel .s2-t td{padding-top:15px;padding-bottom:15px}#sub2-panel .s2-t th{font-size:12px;color:#7d8797;background:#f8fafc}
#sub2-panel .s2-cfg .hd{padding:16px 20px}#sub2-panel .s2-cfg .bd{padding:6px 20px 20px}
@media(max-width:1250px){.ws-filter{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.task-account-row{grid-template-columns:minmax(180px,1fr) auto}.task-account-row p{grid-column:1}.task-provenance{grid-template-columns:repeat(2,minmax(0,1fr))}.task-grid{grid-template-columns:1fr}.ws-filter-compact{grid-template-columns:1fr 160px auto}}
@media(max-width:850px){.ws-page{padding:18px}.ws-heading{align-items:flex-start;flex-direction:column;gap:14px}.ws-heading>.ws-actions{justify-content:flex-start}.ws-filter,.ws-filter-compact,#adobe-workspace .ws-filter-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.task-outcome{padding:16px;align-items:flex-start}.task-outcome-progress{width:110px}.task-outcome h3{font-size:15px}.task-milestones{grid-template-columns:1fr}.task-card{padding:15px}.task-card-result{flex-wrap:wrap}.task-log-filter{grid-template-columns:1fr}.task-provenance{gap:14px}.task-account-row{grid-template-columns:1fr auto;gap:10px;padding:13px}.task-account-row p{grid-column:1/-1}.task-account-row>.n-button{grid-column:2}.task-timeline li{grid-template-columns:55px 1fr;gap:8px}#extm-embed .extm-tools{grid-template-columns:repeat(2,minmax(0,1fr))}#extm-embed .extm-hd{flex-wrap:wrap}.extm-hd .ws-actions{margin-left:0}.s2-overview .s2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.s2-overview .s2-stbox{padding:10px}.ws-section-heading{flex-wrap:wrap}}
.ws-settings-page{max-width:1100px!important;width:100%;box-sizing:border-box}.ws-settings-page>*,.ws-settings-page #okad-local-pool-settings,.ws-settings-page #okad-external-apikey,.ws-settings-page #okad-captcha-settings{max-width:none!important}.ws-settings-page .n-card{border:1px solid var(--ws-line)}
#extm-f-kw{order:-1}#sub2-panel .s2-card:has(.s2-overview){display:flex;flex-direction:column}#sub2-panel .s2-overview{order:0}#sub2-panel .s2-filters{order:1}#sub2-panel .s2-tools{order:2}#sub2-panel .s2-tw{order:3}#sub2-panel .s2-pg{order:4}#sub2-panel .s2-warn{order:3}
body[data-workspace=dashboard] .dash{background:var(--ws-paper);padding:24px;border:1px solid var(--ws-line);border-radius:12px}body[data-workspace=dashboard] .dash .topbar{margin-bottom:22px}body[data-workspace=dashboard] .dash .h1{font-size:19px}body[data-workspace=dashboard] .dash .card,body[data-workspace=dashboard] .dash .mc{background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:10px;box-shadow:none}body[data-workspace=dashboard] .dash .mc{padding:15px 18px}body[data-workspace=dashboard] .dash .card{padding:20px}body[data-workspace=dashboard] .dash .health-banner{background:var(--ws-soft);box-shadow:none;border-left:1px solid var(--ws-line)}body[data-workspace=dashboard] .dash .knobs{gap:12px}body[data-workspace=dashboard] .dash .knob{background:var(--ws-soft);padding:10px 12px;border-radius:7px}
@media(max-width:850px){body[data-workspace=dashboard] .dash{padding:16px}body[data-workspace=dashboard] .dash .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-workspace=dashboard] .dash .row2{grid-template-columns:1fr}}
.ws-maintenance-menu{position:relative}.ws-maintenance-menu summary{list-style:none;border:1px solid var(--ws-line);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--ws-text)}.ws-maintenance-menu>div{position:absolute;top:calc(100% + 6px);right:0;z-index:20;background:var(--ws-paper);padding:6px;border:1px solid var(--ws-line);border-radius:8px;box-shadow:0 6px 20px #1b2b451a;min-width:170px;display:flex;flex-direction:column;gap:4px}.ws-maintenance-menu>div button{background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important;color:var(--ws-text)!important;width:100%;border-radius:5px!important;white-space:nowrap}.ws-maintenance-menu>div button:hover{background:var(--ws-soft)!important}.ws-maintenance-menu>div button:last-child{color:#c6475d!important}
html.dark{--ws-text:var(--text);--ws-muted:#96a2b2;--ws-line:var(--border);--ws-soft:var(--bg-soft);--ws-paper:var(--bg-card)}
html.dark .ws-stats>button:hover,html.dark .ws-stats>button.is-active{background:var(--accent-soft);border-color:#41628c}html.dark .task-progress{background:var(--track)}html.dark .ws-alert.error{background:#37242b;border-color:#663647;color:#ec91a0}
html.dark #pool-workspace{--pool-muted:#96a2b2;--pool-line:var(--border);--pool-soft:var(--bg-soft)}
html.dark :is(#extm-embed,#sub2-panel .s2-body){background:var(--bg-body)!important}html.dark :is(#extm-embed .extm-card,#sub2-panel .s2-card,#sub2-panel .s2-top){background:var(--bg-card);color:var(--text);border-color:var(--border)}
html.dark #extm-embed :is(.extm-hd h2,.extm-t td),html.dark #sub2-panel .s2-t td{color:var(--text)}html.dark #extm-embed .extm-t>tbody>tr[data-member]{--extm-row-bg:var(--bg-card)}html.dark :is(#extm-embed .extm-t th,#sub2-panel .s2-t th){background:var(--bg-soft)}html.dark :is(#extm-embed .extm-in,#extm-embed .extm-ta,#sub2-panel .s2-in,#sub2-panel .s2-chip){background:var(--bg-card);color:var(--text);border-color:var(--border)}
#sub2-panel .s2-pill{white-space:nowrap}#sub2-panel .s2-t td{white-space:nowrap}.task-milestones .green b{background:#ecf8f1;color:#239564}.task-milestones .red b{background:#fff0f2;color:#c6475d}.task-milestones .amber b{background:#fff7e8;color:#ac7b22}#extm-embed .extm-btn.o{color:#2080f0;border-color:#c2dbfb}#extm-embed .extm-btn.o:hover{background:#edf5ff}#extm-embed #extm-do-import{background:#2080f0;border-color:#2080f0}
