:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#203752;background:#f4f7fc;font-synthesis:none;line-height:1.5;--blue:#3266d7;--blue-dark:#2254bf;--muted:#697c93;--border:#e2e9f2;--danger:#b14651;--green:#2c7b63}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #a5c3fd;outline-offset:3px}h1,h2,h3,p{margin:0}.muted{font-size:13px;color:var(--muted)}.small-note{font-size:12px;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.05em;color:#617b9b;font-weight:600}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.field-help{font-size:12px;color:var(--muted);font-weight:400}.stack{display:flex;flex-direction:column;gap:17px}.portal-login input,.portal-admin input,.portal-admin select{width:100%;min-width:0;border:1px solid #d6e0ed;border-radius:9px;background:#fff;color:#203752;padding:10px 12px;outline:none}.portal-login input:focus,.portal-admin input:focus,.portal-admin select:focus{border-color:#6e9aea;box-shadow:0 0 0 3px #edf3ff}.primary-button,.secondary-button{border:1px solid transparent;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s}.primary-button{background:var(--blue);color:#fff}.primary-button:hover:not(:disabled){background:var(--blue-dark)}.secondary-button{background:#fff;border-color:#dce5f0;color:#496582}.secondary-button:hover:not(:disabled){background:#f3f7fe}.compact{padding:7px 12px;font-size:12px}.full-width{width:100%}.text-link,.text-button{font-size:12px;color:#3e6fbe;text-decoration:none}.text-link:hover{text-decoration:underline}.text-button{border:0;background:transparent;padding:5px 7px;border-radius:6px;white-space:nowrap}.text-button:hover:not(:disabled){background:#edf3fd}.danger-text{color:#ab5260}.form-message{font-size:12px;color:#617b9b;overflow-wrap:anywhere;line-height:1.6}.form-message.error{color:var(--danger)}.form-message.success{color:var(--green)}.form-message:empty{display:none}.secret-input{position:relative;display:flex;width:100%;align-items:center}.secret-input input{padding-right:64px}.reveal-button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#637d9c;padding:5px 8px;font-size:12px;border-radius:6px}.reveal-button:hover{background:#edf3fd}.brand-photo{display:block;width:40px;height:40px;object-fit:cover;object-position:center;border:1px solid #e0e7f0;border-radius:12px;flex:none;background:#eef3fb}.portal-login{min-height:100dvh;display:grid;place-items:center;padding:30px 18px;background:radial-gradient(ellipse at 50% 0,#e8f0ff,transparent 70%),#f4f7fc}.login-card{width:min(100%,420px);background:#fff;border:1px solid #e0e8f3;border-radius:21px;padding:30px;box-shadow:0 15px 55px #2c538714}.login-photo{width:56px;height:56px;border-radius:16px}.login-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.login-card h1{font-size:24px;line-height:1.4;margin-top:10px;letter-spacing:-.02em}.login-card>.muted{margin-top:9px}.login-card form{margin-top:27px;gap:14px}.login-card .primary-button{padding:11px 16px;display:flex;align-items:center;justify-content:center;gap:9px}.environment-pill,.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;border-radius:6px;padding:3px 8px;background:#eef4ff;color:#4a72b3;white-space:nowrap}.environment-pill{border:1px solid #e4ecfa}.status-pill{background:#eef7f3;color:#3c7c65}.status-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.disabled{background:#f0f2f5;color:#7e8997}.login-footnote{font-size:11px;line-height:1.7;color:#8090a3;margin-top:22px}.portal-header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1280px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.header-brand strong{display:block;font-size:16px;font-weight:650;line-height:1.35}.header-subtitle{display:block;color:#8290a3;font-size:11px;margin-top:4px}.header-actions{display:flex;align-items:center;gap:20px}.administrator-name{font-size:12px;color:#73869e;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell{max-width:1280px;margin:0 auto;padding:21px 28px 35px}.portal-view-tabs{display:flex;gap:24px;border-bottom:1px solid #dde6f2;margin-bottom:20px}.portal-view-tabs button{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:#76879a;padding:7px 1px 13px;font-size:14px}.portal-view-tabs button[aria-pressed=true]{border-bottom-color:var(--blue);color:#2f5faa;font-weight:650}.admin-shell>#page-message{margin-bottom:12px}.panel{background:#fff;border:1px solid var(--border);border-radius:15px;padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel h1,.monitor-heading h1{font-size:20px;line-height:1.4;letter-spacing:-.02em}.panel-heading>.muted,.panel-heading>div>.muted,.monitor-heading>div>.muted{margin-top:5px}.user-toolbar{display:flex;align-items:center;gap:10px;margin:22px 0 10px}.search-field{width:240px}.filter-field{width:110px}.portal-admin .user-toolbar input,.portal-admin .user-toolbar select{padding:8px 10px;font-size:12px;background:#fcfdff}.user-toolbar .small-note{margin-left:auto}.user-table{width:100%;border-collapse:collapse;table-layout:fixed}.user-table th{font-size:11px;font-weight:500;color:#8a98aa;text-align:left;padding:11px 8px;border-bottom:1px solid #eaf0f7}.user-table th:first-child{width:34px}.user-table th:nth-child(2){width:32%}.user-table th:nth-child(3){width:23%}.user-table th:nth-child(4){width:15%}.user-table th:last-child{width:30%;text-align:right}.user-table td{padding:13px 8px;border-bottom:1px solid #eef2f7;vertical-align:middle;font-size:12px}.user-table tr:last-child td{border-bottom:0}.user-identity-cell{display:flex;align-items:center;gap:11px}.user-avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:#edf3fe;color:#6a88b5;font-size:13px;font-weight:600}.user-identity{min-width:0}.user-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;padding:0;color:#294662;font-size:13px;font-weight:600;text-align:left}.user-name:hover{color:var(--blue)}.user-role{display:block;font-size:10px;color:#8a99ab;margin-top:3px}.user-account{color:#6a809a;overflow-wrap:anywhere}.user-row-actions{text-align:right;white-space:nowrap}.user-row-actions button+button{margin-left:10px}.empty-state{text-align:center;color:#8493a6!important;padding:30px 10px!important}.user-table-wrap{overflow:hidden}#user-list-message{margin-top:12px}.monitor-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:5px 0 11px}.monitor-controls{display:flex;align-items:center;gap:10px}.environment-switch{display:flex;gap:2px;background:#e9eff8;border:1px solid #e2e9f2;border-radius:8px;padding:2px}.environment-switch button{border:0;border-radius:6px;padding:5px 14px;background:transparent;color:#71849d;font-size:12px}.environment-switch button[aria-pressed=true]{background:#fff;color:#3a68b2;box-shadow:0 1px 3px #2446670c}.monitor-update{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-bottom:17px}.monitor-update .form-message{font-size:11px}.monitor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.task-section{padding:0 18px 3px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 1px;border-bottom:1px solid #edf1f6}.section-heading h2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.section-dot{width:6px;height:6px;border-radius:50%}.running-dot{background:#658ee2}.error-dot{background:#cb7b7e}.count-badge{font-size:11px;min-width:23px;text-align:center;border-radius:6px;padding:2px 6px;background:#f0f5ff;color:#607fac}.error-count{background:#fcf0f0;color:#b4767b}.task-list{display:flex;flex-direction:column}.task-card{min-width:0;padding:17px 1px 19px;border-bottom:1px solid #edf1f6}.task-card:last-child{border-bottom:0}.task-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.task-title h3{min-width:0;font-size:13px;font-weight:600;color:#344e69;line-height:1.55;overflow-wrap:anywhere}.module-label{font-size:10px;color:#8392a5;white-space:nowrap;flex:none}.task-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:10px;color:#94a1b2}.task-user{color:#748ba6;overflow-wrap:anywhere}.task-meta time{white-space:nowrap}.task-stage{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7d91ab;margin-top:15px}.task-progress{display:block;width:100%;height:4px;border:0;border-radius:9px;overflow:hidden;margin-top:8px;background:#edf2fb;accent-color:#7e9fdf}.task-progress::-webkit-progress-bar{background:#edf2fb}.task-progress::-webkit-progress-value{background:#7e9fdf;border-radius:9px}.task-progress::-moz-progress-bar{background:#7e9fdf;border-radius:9px}.task-error{margin-top:12px;border-radius:7px;padding:10px 11px;background:#fff7f6;color:#ad6267;font-size:11px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.error-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.error-actions>.text-button{padding-left:0;margin-right:auto;font-size:11px}.error-actions>.compact{font-size:10px;padding:5px 9px}.task-feedback{flex-basis:100%;font-size:11px;color:#8a7d87;overflow-wrap:anywhere}.task-feedback:empty{display:none}.task-empty{padding:31px 10px 35px;text-align:center;color:#98a7ba;font-size:12px}.empty-symbol{display:block;margin-bottom:7px;font-size:18px;font-weight:400;color:#b3c3d6}.monitor-pagination{display:flex;justify-content:center;margin-top:17px}.portal-dialog{width:min(92vw,420px);max-height:88dvh;overflow:auto;border:1px solid #e0e7f1;border-radius:17px;padding:25px;background:#fff;color:#203752;box-shadow:0 25px 85px #203b6025}.portal-dialog::backdrop{background:#20375148;backdrop-filter:blur(3px)}.portal-dialog h2{font-size:18px;font-weight:650}.icon-button{display:grid;place-items:center;width:27px;height:27px;padding:0;line-height:1;border:0;background:#f3f6fa;color:#8798ac;border-radius:7px;font-size:20px}.credential-note{font-size:11px;line-height:1.8;color:#8c7d63;background:#fcfaf4;border:1px solid #f3eddf;border-radius:8px;padding:10px 12px}.noscript-note{padding:20px;text-align:center;font-size:13px;color:#73849b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.portal-toolbar-actions{display:flex;align-items:center;gap:10px;flex:none;min-width:0}.portal-toolbar-actions button,.portal-toolbar-actions a{font:inherit;font-size:11px;white-space:nowrap}.portal-toolbar-actions a{text-decoration:none;color:#4f79be}.portal-account-status{font-size:11px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account-status:empty{display:none}.portal-account-status.error{color:#ae3d4c}.portal-session-screen{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:#f2f6ff;padding:24px;font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#193252}.portal-session-screen>div{max-width:470px;padding:35px;border:1px solid #dce5f4;border-radius:20px;background:#fff}.portal-session-screen h2{font-size:22px;margin:0 0 12px}.portal-session-screen p{color:#61758f;margin:0 0 22px}.portal-session-screen button{font:inherit;border:0;border-radius:10px;background:#3266db;color:#fff;padding:10px 18px;cursor:pointer}
@media(max-width:900px){.header-inner{padding:16px 22px}.admin-shell{padding:20px 22px 30px}.monitor-columns{gap:13px}.task-section{padding:0 14px 2px}.task-meta{align-items:flex-start;flex-wrap:wrap;gap:4px}.task-title{align-items:flex-start}.header-actions{gap:13px}.administrator-name{max-width:100px}}
@media(max-width:650px){.header-inner{padding:14px 16px;gap:12px}.brand-photo{width:35px;height:35px;border-radius:10px}.header-brand{gap:9px}.header-brand strong{font-size:14px}.header-subtitle{font-size:10px}.administrator-name{display:none}.header-actions{gap:9px}.header-actions .text-link{font-size:10px}.header-actions .compact{padding:5px 8px;font-size:11px}.admin-shell{padding:15px 13px 26px}.portal-view-tabs{margin-bottom:15px;gap:24px}.portal-view-tabs button{font-size:13px;padding-bottom:11px}.panel{padding:17px 14px;border-radius:12px}.panel h1,.monitor-heading h1{font-size:18px}.panel-heading{gap:10px}.panel-heading .muted{font-size:11px;line-height:1.7}.panel-heading>.compact{padding:6px 9px;font-size:11px}.user-toolbar{margin-top:17px;gap:7px;flex-wrap:wrap}.search-field{flex:1;min-width:120px;width:auto}.filter-field{width:100px}.user-toolbar .small-note{margin-left:0;margin-right:auto;font-size:10px}.user-table thead{display:none}.user-table,.user-table tbody{display:block}.user-table tr{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:0 8px;padding:12px 0;border-bottom:1px solid #eef2f7}.user-table tr:last-child{border-bottom:0}.user-table td{border:0;padding:0}.user-select-cell{grid-column:1;grid-row:1/4;align-self:center}.user-identity-cell{grid-column:2;grid-row:1/3;align-self:center;gap:9px}.user-name{font-size:12px}.user-avatar{width:29px;height:29px;font-size:11px}.user-account{grid-column:2;grid-row:3;padding-left:38px!important;margin-top:2px;font-size:10px!important;color:#97a5b6}.user-status{grid-column:3;grid-row:1;text-align:right}.status-pill{font-size:9px;padding:2px 6px}.user-row-actions{grid-column:3;grid-row:2/4;align-self:end;margin-top:9px}.user-row-actions button{font-size:10px;padding:3px 4px}.user-row-actions button+button{margin-left:6px}.user-table td.empty-state{grid-column:1/-1;font-size:12px!important}.monitor-heading{align-items:flex-start;gap:10px}.monitor-heading .muted{font-size:11px;max-width:185px;line-height:1.7}.monitor-controls{gap:6px;flex-wrap:wrap;justify-content:flex-end}.environment-switch button{padding:4px 9px;font-size:11px}.monitor-controls>.compact{font-size:11px;padding:5px 8px}.monitor-update{align-items:flex-start;flex-direction:column;gap:5px;margin:10px 0 13px}.monitor-update .small-note{font-size:10px}.monitor-columns{grid-template-columns:1fr;gap:14px}.task-section{padding:0 14px 2px}.section-heading{padding:14px 0}.section-heading h2{font-size:13px}.task-meta{flex-wrap:nowrap}.task-card{padding:14px 0 16px}.task-title h3{font-size:12px}.task-empty{padding:23px 8px 26px}.login-card{padding:27px 24px;border-radius:18px}.login-photo{width:51px;height:51px;border-radius:14px}.login-card h1{font-size:22px}.login-brand{margin-top:21px}.portal-dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* The application uses the full viewport; account controls share its existing toolbar. */
body.portal-workspace{height:100dvh;min-width:0;overflow:hidden;display:flex;flex-direction:column}
body.portal-workspace>#root{flex:1;min-height:0;height:auto;overflow:auto;width:100%}
body.portal-workspace #root>.project-editor-shell{height:100%;min-height:0;min-width:1100px}
body.portal-workspace .project-editor-shell>.app-shell{width:100%;min-height:0}
body.portal-workspace .project-toolbar{height:40px;gap:10px;padding:0 22px}
body.portal-workspace .project-toolbar strong{font-size:13px}
body.portal-workspace .project-save-state{font-size:11px}
body.portal-workspace .workspace-header{padding-inline:22px}
@media(max-width:650px){.portal-toolbar-actions{gap:7px}.portal-account-status{max-width:190px}}
/* Keep quiet metadata readable on the light surfaces. */
.header-subtitle,.administrator-name,.login-footnote,.user-role,.user-account,.user-table th,.module-label,.task-meta,.task-user,.task-stage,.task-empty,.empty-state{color:#65778f}.task-meta,.module-label,.user-role{font-size:11px}.task-feedback{color:#75667a}.task-error{color:#a44f59}.task-title h3{font-size:13px}.empty-symbol{color:#849bb8}
:root{--muted:#65778f}.form-message,.eyebrow{color:#61738c}
.login-card{padding:28px}.login-identity{display:flex;align-items:center;gap:12px}.login-identity .login-photo{width:44px;height:44px;border-radius:13px}.login-card .login-brand{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:4px;margin:0}.login-brand .environment-pill{font-size:10px;padding:1px 7px}.login-card h1{font-size:22px;margin-top:22px}.login-card form{margin-top:22px;gap:12px}.login-footnote{margin-top:18px}.brand-photo{object-position:center 30%}
@media(max-width:650px){.login-card{padding:25px 23px}.login-card h1{font-size:21px;margin-top:20px}.login-card form{margin-top:21px}}

.user-selection-toolbar{display:flex;align-items:center;gap:12px;margin:5px 0 8px;font-size:12px}.selection-label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.user-selection-toolbar .small-note{margin-left:auto}.portal-admin input[type=checkbox]{width:15px;height:15px;padding:0;flex:none;margin:0;accent-color:var(--blue)}.user-select-cell{color:#8a99ab;text-align:center}.user-select-heading{padding-inline:5px!important}

/* C18 diagnostics are confined to the management monitor. */
.portal-admin #monitor-view .monitor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}
.portal-admin #monitor-view .monitor-heading{margin:0 0 7px;gap:12px}.portal-admin #monitor-view .monitor-heading h1{font-size:18px;line-height:1.4}.portal-admin #monitor-view .monitor-heading .muted{font-size:12px;margin-top:3px}
.portal-admin #monitor-view .monitor-update{align-items:flex-start;gap:8px;margin-bottom:11px}
.portal-admin #monitor-view .task-section{min-width:0;padding:0 22px 3px;border-radius:14px}
.portal-admin #monitor-view .error-section{border-color:#e7cfd2}
.portal-admin #monitor-view .section-heading{padding:12px 0;gap:12px}
.portal-admin #monitor-view .section-heading h2{font-size:15px;color:#263e5c}
.portal-admin #monitor-view .section-description{font-size:11px;color:#65778f;margin-top:3px;line-height:1.5}
.portal-admin #monitor-view .error-count{background:#fae9eb;color:#8c3544;font-weight:650;font-size:12px}
.portal-admin #monitor-view .error-card{padding:14px 0 15px}
.portal-admin #monitor-view .task-title{align-items:flex-start;gap:15px}
.portal-admin #monitor-view .task-title h3{font-size:14px;line-height:1.5;color:#263e5c}
.portal-admin #monitor-view .module-label{font-size:11px;line-height:1.5;padding:3px 8px;border-radius:6px;background:#f0f4fa;color:#536a86}
.portal-admin #monitor-view .task-meta{align-items:flex-start;gap:8px;margin-top:5px;font-size:11px;color:#5e718a}
.portal-admin #monitor-view .task-owner{display:flex;flex-wrap:wrap;gap:5px 16px;min-width:0}
.portal-admin #monitor-view .task-user,.portal-admin #monitor-view .task-project,.portal-admin #monitor-view .task-phase{font-size:12px;color:#526982;overflow-wrap:anywhere}
.portal-admin #monitor-view .task-meta time{font-size:11px;color:#65778f;white-space:nowrap;line-height:1.8}
.portal-admin #monitor-view .task-times{display:flex;flex-direction:column;align-items:flex-end;flex:none}
.portal-admin #monitor-view .task-error{display:block;margin-top:10px;padding:10px 12px;font-size:13px;line-height:20px;color:#74343c;background:#fff5f4;border:1px solid #f2dfe1;border-radius:8px;max-height:none;overflow:visible;white-space:normal;overflow-wrap:anywhere}
.portal-admin #monitor-view .task-error-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;margin:0;padding:0;border:0;font:inherit;line-height:20px;max-height:60px;overflow:hidden;white-space:normal;overflow-wrap:anywhere}
.portal-admin #monitor-view .diagnostic-note{font-size:11px;line-height:1.6;color:#655c4a;margin-top:7px;overflow-wrap:anywhere}
.portal-admin #monitor-view .error-diagnostic{margin-top:8px;border:1px solid #dfe7f2;border-radius:8px;background:#fbfcff;min-width:0}
.portal-admin #monitor-view .error-diagnostic summary{padding:8px 12px;font-size:12px;font-weight:600;color:#1d4f99;cursor:pointer;border-radius:8px;user-select:none;overflow-wrap:anywhere}
.portal-admin #monitor-view .error-diagnostic summary:hover{background:#eef4ff}
.portal-admin #monitor-view .error-diagnostic summary:focus-visible{outline:3px solid #8db2f3;outline-offset:2px}
.portal-admin #monitor-view .error-diagnostic[open] summary{border-bottom:1px solid #e4ebf5;border-radius:8px 8px 0 0}
.portal-admin #monitor-view .diagnostic-fields{display:grid;grid-template-columns:110px minmax(0,1fr);gap:9px 16px;margin:0;padding:13px;min-width:0;max-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.portal-admin #monitor-view .diagnostic-fields:focus-visible{outline:3px solid #8db2f3;outline-offset:-3px}
.portal-admin #monitor-view .diagnostic-fields dt{font-size:12px;font-weight:600;color:#536a84;overflow-wrap:anywhere}
.portal-admin #monitor-view .diagnostic-fields dd{max-width:100%;min-width:0;margin:0;font-size:12px;line-height:1.8;color:#2f4561;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.portal-admin #monitor-view .error-actions{margin-top:8px;gap:12px;min-height:30px}
.portal-admin #monitor-view .error-actions>.text-button{font-size:12px;color:#1d4f99;padding:5px 0}
.portal-admin #monitor-view .error-actions>.compact{font-size:12px;padding:7px 12px;color:#3d5b7c}
.portal-admin #monitor-view .task-feedback{font-size:12px;color:#65596a}
.portal-admin #monitor-view .task-empty{display:flex;align-items:center;justify-content:center;gap:9px;padding:23px 10px;color:#5f738e;font-size:12px;grid-column:1/-1}
.portal-admin #monitor-view .empty-symbol{display:inline;margin:0;font-size:17px;color:#6b839f}
.portal-admin #monitor-view .running-section .task-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.portal-admin #monitor-view .running-section .task-card{padding:13px 0 14px;min-width:0}
.portal-admin #monitor-view .running-section .task-title h3{font-size:13px}
.portal-admin #monitor-view .running-section .task-meta{flex-wrap:wrap}
.portal-admin #monitor-view .running-section .task-stage{margin-top:12px;color:#536c8d;overflow-wrap:anywhere}
@media(max-width:650px){.portal-admin #monitor-view .monitor-layout{gap:14px}.portal-admin #monitor-view .monitor-heading{flex-direction:column;gap:12px}.portal-admin #monitor-view .monitor-heading .muted{max-width:none}.portal-admin #monitor-view .monitor-controls{width:100%;justify-content:space-between}.portal-admin #monitor-view .task-section{padding:0 14px 2px}.portal-admin #monitor-view .section-heading{padding:11px 0}.portal-admin #monitor-view .section-heading h2{font-size:14px}.portal-admin #monitor-view .section-description{font-size:11px}.portal-admin #monitor-view .error-card{padding:12px 0 13px}.portal-admin #monitor-view .task-title h3{font-size:14px}.portal-admin #monitor-view .task-meta{flex-direction:column;gap:5px}.portal-admin #monitor-view .task-times{align-items:flex-start}.portal-admin #monitor-view .task-owner{gap:4px 12px}.portal-admin #monitor-view .task-error{font-size:12px;line-height:18px}.portal-admin #monitor-view .task-error-text{line-height:18px;max-height:54px}.portal-admin #monitor-view .diagnostic-fields{grid-template-columns:80px minmax(0,1fr);gap:8px 10px;padding:12px;max-height:320px}.portal-admin #monitor-view .running-section .task-list{grid-template-columns:minmax(0,1fr)}.portal-admin #monitor-view .running-section .task-meta{gap:4px}.portal-admin #monitor-view .error-actions{gap:10px}}

/* C19 keeps ongoing work on the left and continuing failures on the right. */
.portal-admin #monitor-view .error-actions>[data-monitor-action=resolve]{min-width:100px}
.portal-admin #monitor-view .error-actions>.acknowledged{opacity:1;color:#28644f;background:#eff8f3;border-color:#cfe3d8;cursor:default}
@media(max-width:900px){.portal-admin #monitor-view .monitor-layout{grid-template-columns:minmax(0,1fr)}}

/* Stable three-up running cards; the scan count covers every automatically loaded page. */
.portal-admin #monitor-view .running-section .task-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px 0}
.portal-admin #monitor-view .running-section .task-card{display:grid;grid-template-rows:62px 62px 24px 4px;gap:8px;min-width:0;padding:12px;border:1px solid #e1e8f2;border-radius:9px;background:#fbfcff}
.portal-admin #monitor-view .running-section .task-title{display:grid;grid-template-rows:18px 40px;gap:4px;align-items:start;min-width:0}
.portal-admin #monitor-view .running-section .task-title h3{grid-row:2;grid-column:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;height:40px;max-height:40px;margin:0;padding:0;font-size:13px;line-height:20px;overflow:hidden;overflow-wrap:anywhere}
.portal-admin #monitor-view .running-section .module-label{grid-row:1;grid-column:1;justify-self:start;max-width:100%;padding:1px 6px;font-size:10px;line-height:16px;overflow:hidden;text-overflow:ellipsis}
.portal-admin #monitor-view .running-section .task-meta{display:grid;grid-template-rows:38px 18px;gap:6px;height:62px;margin:0;min-width:0}
.portal-admin #monitor-view .running-section .task-owner{display:grid;grid-template-rows:17px 17px;gap:3px;min-width:0}
.portal-admin #monitor-view .running-section .task-owner>span{display:block;max-width:100%;font-size:11px;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-admin #monitor-view .running-section .task-times{height:18px;min-width:0;align-items:flex-start;overflow:hidden}
.portal-admin #monitor-view .running-section .task-meta time{max-width:100%;font-size:10px;line-height:18px;overflow:hidden;text-overflow:ellipsis}
.portal-admin #monitor-view .running-section .task-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;height:24px;min-width:0}
.portal-admin #monitor-view .running-section .task-stage>span{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-admin #monitor-view .running-section .task-stage>span:last-child{max-width:75px}
.portal-admin #monitor-view .running-section .task-progress{height:4px;margin:0;align-self:end}
.portal-admin #monitor-view .error-section .task-meta{flex-direction:column}
.portal-admin #monitor-view .error-section .task-times{align-items:flex-start}
@media(max-width:1200px){.portal-admin #monitor-view .running-section .task-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portal-admin #monitor-view .running-section .task-list{grid-template-columns:minmax(0,1fr)}}

.portal-admin #monitor-view .verification-note{display:inline-block;margin-top:8px;padding:3px 8px;border:1px solid #ead8a5;border-radius:6px;background:#fff7df;color:#715714;font-size:11px;line-height:1.6}
