/* Professional operations scale, shared by existing and prospective flows.
   Task-table toolbar, responsive rows and form groups adapt licensed Flowbite
   Pro patterns to the HMS semantic palette; no Tailwind reset is introduced. */
:root{--ops-s1:4px;--ops-s2:8px;--ops-s3:12px;--ops-s4:16px;--ops-s5:20px;--ops-s6:24px;--ops-s8:32px;--ops-s10:40px;--ops-radius:10px;--ops-control-radius:6px;--ops-type-label:12px;--ops-type-body:14px;--ops-type-section:16px;--ops-type-title:26px;--ops-shadow:0 1px 2px #18344708,0 8px 24px #18344705;--ops-brand-soft:#e7f2f8;--ops-brand-ink:#166587;--ops-alert-line:#d89654;--ops-nav-width:208px}
html.theme-dark{--ops-shadow:0 1px 2px #020a100f,0 8px 24px #020a100a;--ops-brand-soft:#365c70;--ops-brand-ink:#b6eaff;--ops-alert-line:#e1aa6e;--hms-canvas:#21323e;--hms-surface:#2c414f;--hms-surface-raised:#354e5c;--hms-surface-soft:#354e5c;--hms-surface-hover:#3c5869;--hms-text:#f1f7fb;--hms-text-muted:#c8d6df;--hms-border:#4b6370;--hms-border-soft:#405966;--paper:#21323e;--surface:#2c414f;--line:#4b6370}
body{background:var(--hms-canvas);color:var(--hms-text);font-size:var(--ops-type-body);line-height:1.5}
body .editorial{max-width:none;padding:0}
body .meta{height:32px;padding:0 24px;background:var(--hms-canvas)}
body .meta :is(.eyebrow,a){font-size:12px}
body .app{width:100%;min-height:calc(100dvh - 32px);border:0;border-radius:0;background:var(--hms-canvas)}
body .app .topbar{height:68px;min-height:68px;padding:0 24px;gap:14px;background:var(--hms-surface);border-bottom:1px solid var(--hms-border);position:relative;z-index:60}
body .app .wordmark{font-size:17px;gap:10px;color:var(--hms-text)}
body .app .wordmark small{font-size:12px;letter-spacing:.04em;margin-top:1px}
body .app .brand-mark{width:32px;height:32px;background:var(--ops-brand-soft);color:var(--ops-brand-ink)}
body .app .badge{font-size:12px;white-space:nowrap;background:var(--hms-surface-soft);color:var(--hms-text-muted);padding:4px 8px}
body .app .ops-capability{font-size:12px;color:var(--hms-text-muted);padding-left:18px;border-left:1px solid var(--hms-border);white-space:nowrap}
body .app .topbar :is(#notify,#reset,#hms-theme-toggle){font-size:12px;min-height:36px;padding:8px 11px}
body .app .topbar #reset{border-color:transparent;background:transparent;color:var(--hms-text-muted)}
body .app .journey-context{position:static;min-height:0;padding:0;gap:0;border:0;background:transparent;flex:none;justify-content:flex-end}
body .app .journey-context>div{display:none}
body .app .journey-context label{font-size:12px;color:var(--hms-text-muted);gap:8px;white-space:nowrap;display:flex;align-items:center}
body .app .journey-context select{font-size:12px;min-height:36px;max-width:178px;padding:7px 9px;background:var(--hms-surface);color:var(--hms-text);border:1px solid var(--hms-border);border-radius:var(--ops-control-radius)}
body .app .appbody{display:grid;grid-template-columns:var(--ops-nav-width) minmax(0,1fr);min-height:calc(100dvh - 100px)}
body .app #nav{padding:22px 12px;background:var(--hms-surface);border-right:1px solid var(--hms-border);border-bottom:0;display:flex;flex-direction:column;gap:3px;overflow:visible}
body .app #nav>button{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;min-height:44px;font-size:13px;font-weight:500;color:var(--hms-text-muted);border:0;background:transparent;border-radius:var(--ops-control-radius)}
body .app #nav>button .ws-icon{width:18px;height:18px;flex:none}
body .app #nav>button:is(:hover,.active){background:var(--ops-brand-soft);color:var(--ops-brand-ink)}
body .app #nav #rolelabel{margin:26px 10px 0;padding-top:18px;border-top:1px solid var(--hms-border);font-size:12px;line-height:1.7;color:var(--hms-text-muted)}
body .app #nav .ops-setup-link{margin-top:20px}
body .app .ops-nav-note{padding:14px 12px;color:var(--hms-text-muted);font-size:12px;line-height:1.6}
body .app .ops-menu-button{display:none}
body .app .workspace{min-width:0;max-width:none;padding:28px 32px 40px}
body .app button{font-size:14px;line-height:1.4;min-height:40px;padding:9px 13px;font-weight:500;border-radius:var(--ops-control-radius);background:var(--hms-surface);color:var(--hms-text);border-color:var(--hms-border)}
body .app button:hover{background:var(--hms-surface-hover)}
body .app button.primary{background:#087ba8;color:#fff;border-color:#087ba8}
body .app button.primary:hover{background:#08688d;border-color:#08688d}
body .app button:disabled{opacity:.55;cursor:not-allowed}
body .app :is(.note,.subtitle,.eyebrow){color:var(--hms-text-muted);font-size:12px;line-height:1.6}
body .app .subtitle{font-size:14px;margin-top:7px}
body .app h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;color:var(--hms-text)}
body .app h3{font-size:16px;line-height:1.4;letter-spacing:0;color:var(--hms-text)}
body .app .tag{font-size:12px;padding:4px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;line-height:1.4;width:fit-content;white-space:nowrap;background:var(--hms-surface-soft);color:var(--hms-text-muted)}
body .app .tag--alert{background:var(--hms-alert-surface);color:var(--hms-alert-text)}
body .app .tag--connected{background:var(--hms-good-surface);color:var(--hms-good-text)}
body .app .tag--offline{background:var(--hms-surface-soft);color:var(--hms-text-muted)}
body .app .ws-project-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
body .app .ws-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;margin:0 0 9px;color:var(--hms-text-muted)}
body .app .ws-back{min-height:20px;padding:0;background:transparent;border:0;font-size:12px;color:var(--hms-text-muted)}
body .app .ws-project-head h2{font-size:26px;letter-spacing:-.6px;margin:0}
body .app .ws-project-head #ws-fullscreen{font-size:12px;min-height:36px;padding:8px 10px;max-width:none;background:transparent;white-space:nowrap;margin:0}
body .app .ws-tabs{display:flex;gap:26px;margin:0 0 22px;border-bottom:1px solid var(--hms-border);overflow-x:auto;scrollbar-width:none}
body .app .ws-tabs button{font-size:13px;min-height:44px;padding:0 0 14px;white-space:nowrap;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--hms-text-muted)}
body .app .ws-tabs button[aria-current=page]{color:var(--hms-text);border-color:var(--blue)}
.ops-health{display:flex;align-items:center;gap:26px;padding:0 0 22px;color:var(--hms-text-muted);font-size:12px}
.ops-health>span{display:flex;gap:6px;align-items:center;white-space:nowrap}
.ops-health strong{font-size:14px;font-weight:600;color:var(--hms-text)}
.ops-health .ops-health-time{margin-left:auto;font-size:12px}
.ops-dot{width:6px;height:6px;border-radius:50%;background:var(--hms-text-muted);display:inline-block;flex:none}
.ops-dot--alert{background:var(--ops-alert-line)}.ops-dot--good{background:var(--hms-good-text)}
.ops-cockpit{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}
.ops-cockpit-main{min-width:0}
.ops-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;margin-bottom:18px}
.ops-section-head h3{margin:0}
.ops-section-head h3>span{font:600 12px/1.2 'HMS Inter',sans-serif;display:inline-block;border-radius:4px;background:var(--hms-surface-soft);color:var(--hms-text-muted);padding:4px 6px;vertical-align:middle;margin-left:6px}
.ops-section-head p{font-size:12px;color:var(--hms-text-muted);margin:0;line-height:1.6}
.ops-attention{margin-bottom:28px}
.ops-queue{display:grid;gap:12px}
.ops-issue{display:grid;grid-template-columns:32px minmax(170px,1fr) minmax(110px,.65fr) auto;align-items:center;gap:16px;background:var(--hms-surface);border:1px solid var(--hms-border);border-left:3px solid var(--ops-alert-line);border-radius:var(--ops-radius);padding:19px 18px;box-shadow:var(--ops-shadow)}
.ops-issue--offline{border-left-color:var(--hms-border)}
.ops-issue-symbol{display:grid;place-items:center;width:32px;height:32px;background:var(--hms-alert-surface);color:var(--hms-alert-text);border-radius:8px}
.ops-issue--offline .ops-issue-symbol{background:var(--hms-surface-soft);color:var(--hms-text-muted)}
.ops-issue-symbol .ws-icon{width:18px;height:18px}
.ops-kicker{display:block;font-size:12px;color:var(--hms-alert-text);line-height:1.5;margin-bottom:4px}
.ops-issue--offline .ops-kicker{color:var(--hms-text-muted)}
body .app .ops-issue-copy>button{padding:0;min-height:24px;border:0;background:transparent;text-align:left;font-size:14px;font-weight:600}
.ops-issue-copy p{font-size:12px;color:var(--hms-text-muted);margin:4px 0 0;line-height:1.5}
.ops-unassigned{display:block;font-size:12px;color:var(--hms-text);line-height:1.5}
.ops-unassigned small{display:block;font-size:12px;color:var(--hms-text-muted);margin-top:3px}
.ops-person{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}
.ops-avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ops-brand-soft);color:var(--ops-brand-ink);font-size:12px;font-weight:600;flex:none}
.ops-person strong{font-size:12px;font-weight:500;display:block}
.ops-person small{display:block;font-size:12px;color:var(--hms-text-muted);margin-top:2px}
body .app .ops-issue-action{font-size:12px;min-height:38px;white-space:nowrap;padding:8px 10px}
.ops-clear{padding:18px 20px;background:var(--hms-good-surface);color:var(--hms-good-text);font-size:13px;border-radius:var(--ops-radius)}
body .app .ws-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 12px;font-size:12px;color:var(--hms-text-muted)}
body .app .ws-toolbar>span{margin-right:auto;width:auto;display:flex;align-items:center;gap:8px}
body .app .ws-toolbar strong{font-size:16px;color:var(--hms-text)}
body .app .ws-machine-count{font-size:12px;margin:0;color:var(--hms-text-muted)}
body .app .ws-toolbar label{font-size:12px;min-height:32px;display:flex;align-items:center;gap:6px;white-space:nowrap}
body .app .ws-toolbar input{width:15px;height:15px;accent-color:#087ba8}
body .app .ops-fleet-list{display:grid;background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:var(--ops-radius);overflow:hidden}
body .app .ops-fleet-row{display:grid;grid-template-columns:28px minmax(120px,1fr) minmax(100px,.7fr) 84px auto;gap:14px;align-items:center;padding:18px 16px;margin:0;border:0;border-bottom:1px solid var(--hms-border-soft);border-radius:0;background:var(--hms-surface)}
body .app .ops-fleet-row:last-child{border-bottom:0}
body .app .ops-fleet-row .ws-favorite{display:grid;place-items:center;width:28px;min-height:32px;padding:0;background:transparent;border:0;color:var(--hms-text-muted)}
body .app .ops-fleet-row .ws-favorite[aria-pressed=true]{color:var(--blue)}
body .app .ops-fleet-row .ws-favorite .ws-icon{width:16px;height:16px}
body .app .ops-fleet-name{display:block;min-height:40px;text-align:left;padding:0;background:transparent;border:0;border-radius:0;min-width:0}
.ops-fleet-name strong{display:block;font-size:13px;font-weight:500}
.ops-fleet-name small{display:block;font-size:12px;color:var(--hms-text-muted);margin-top:4px}
body .app .ops-fleet-row .ops-fleet-reading{display:block;min-height:0;min-width:0;padding:0;border:0;background:transparent;margin:0;text-align:left}
body .app .ops-fleet-row .ops-fleet-reading strong{font-size:16px;font-weight:500;letter-spacing:0;line-height:1.3;display:block;margin:0;color:var(--hms-text)}
body .app .ops-fleet-row .ops-fleet-reading strong small{font-size:12px;font-weight:400;color:var(--hms-text-muted)}
.ops-fleet-reading>span{display:block;font-size:12px;color:var(--hms-text-muted);margin-top:5px}
body .app .ops-fleet-open{display:flex;align-items:center;gap:2px;background:transparent;border:0;padding:4px;font-size:12px;color:var(--hms-text-muted)}
.ops-fleet-open .ws-icon{width:14px;height:14px}
.ops-monitoring-context{padding:22px;background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow)}
.ops-context-head{display:flex;align-items:center;gap:9px}
.ops-context-head h3{font-size:14px}
.ops-context-icon{display:grid;place-items:center;color:var(--blue)}
.ops-context-icon .ws-icon{width:18px;height:18px}
.ops-rule-number{font-size:38px;font-weight:500;letter-spacing:-1.2px;margin:18px 0 2px;line-height:1.2;color:var(--hms-text)}
.ops-rule-number small{font-size:16px;letter-spacing:0;color:var(--hms-text-muted)}
.ops-context-muted{font-size:12px;color:var(--hms-text-muted);line-height:1.6}
.ops-context-list{display:grid;gap:14px;margin:22px 0;font-size:12px}
.ops-context-list>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:baseline}
.ops-context-list dt{color:var(--hms-text-muted);font-size:12px}
.ops-context-list dd{margin:0;overflow-wrap:anywhere;font-size:12px;color:var(--hms-text)}
body .app .ops-monitoring-context>button{font-size:12px;width:100%}
.ops-context-note{font-size:12px;color:var(--hms-text-muted);line-height:1.6;margin-top:12px}
.ops-team-summary{border-top:1px solid var(--hms-border);margin-top:22px;padding-top:20px}
.ops-team-summary h3{font-size:13px}
.ops-team-summary p{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--hms-text-muted);margin-top:12px}
.ops-team-summary strong{font-size:12px;font-weight:500;color:var(--hms-good-text)}
body .app .ops-team-summary button{min-height:30px;padding:0;margin-top:15px;border:0;background:transparent;text-align:left;font-size:12px;color:var(--blue)}
body .app .ops-detail #back,body .app .ops-detail .ws-return{font-size:12px;min-height:26px;padding:0;background:transparent;border:0;color:var(--hms-text-muted);margin:0 0 18px}
.ops-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.ops-detail-heading .eyebrow{font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:7px}
.ops-detail-heading h2{font-size:26px}
body .app .ops-alert-summary{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:22px;background:var(--hms-alert-surface);border:1px solid color-mix(in srgb,var(--ops-alert-line) 38%,var(--hms-border));border-left:3px solid var(--ops-alert-line);padding:18px 20px;margin:0;border-radius:var(--ops-radius)}
body .app .ops-alert-summary strong{font-size:14px;font-weight:600;color:var(--hms-alert-text);line-height:1.5}
body .app .ops-alert-summary p{font-size:12px;color:var(--hms-alert-text);line-height:1.6;margin-top:5px}
.ops-alert-owner{display:flex;align-items:center;gap:16px;flex:none}
body .app .ops-alert-summary #ack{margin:0;min-height:40px;font-size:13px;white-space:nowrap;width:auto}
.ops-role-note{font-size:12px;color:var(--hms-alert-text)}
.ops-progress{display:flex;list-style:none;gap:24px;margin:20px 0 24px;padding:0;font-size:12px;color:var(--hms-text-muted)}
.ops-progress li{display:flex;align-items:center;gap:8px}
.ops-progress li>span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--hms-surface);border:1px solid var(--hms-border);font-size:12px;flex:none}
.ops-progress .is-done{color:var(--hms-good-text)}
.ops-progress .is-done>span{background:var(--hms-good-surface);border-color:var(--hms-good-surface)}
.ops-investigation{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:24px;align-items:start}
.ops-investigation-main,.ops-investigation-aside{display:grid;gap:20px;min-width:0}
body .app .panel{padding:22px;border:1px solid var(--hms-border);border-radius:var(--ops-radius);background:var(--hms-surface);color:var(--hms-text);box-shadow:var(--ops-shadow)}
body .app .panel h3{font-size:16px;margin:0}
body .app .ops-readings.metrics{display:grid;grid-template-columns:minmax(0,1fr) 150px;border:0;background:transparent;margin:18px 0 22px;border-radius:0;overflow:visible;gap:24px;align-items:center}
.ops-focus-reading{display:flex;align-items:center;gap:20px;min-width:0}
.ops-focus-reading>div{flex:1;min-width:115px}
.ops-focus-reading span{display:block;font-size:12px;color:var(--hms-text-muted)}
.ops-focus-reading strong{display:block;font-size:44px;line-height:1.2;font-weight:500;letter-spacing:-1.6px;margin:10px 0 5px;color:var(--hms-alert-text);font-variant-numeric:tabular-nums}
.ops-focus-reading strong small{font-size:18px;font-weight:400;letter-spacing:0;color:var(--hms-text-muted)}
.ops-focus-reading p{font-size:12px;color:var(--hms-alert-text);line-height:1.5;margin:0}
.ops-focus-reading .instrument{max-width:190px;min-width:100px;margin:0;width:50%}
.ops-secondary-readings{border-left:1px solid var(--hms-border);padding-left:22px;display:grid;gap:20px}
.ops-secondary-readings span{font-size:12px;color:var(--hms-text-muted);display:block}
.ops-secondary-readings strong{display:block;font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.4px;margin-top:5px;font-variant-numeric:tabular-nums}
.ops-secondary-readings strong small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--hms-text-muted)}
.ops-secondary-readings p{font-size:12px;color:var(--hms-text-muted);margin-top:4px}
.ops-trend-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:17px;border-top:1px solid var(--hms-border-soft)}
body .app .ops-trend-head h3{font-size:13px}
.ops-trend-head>span{font-size:12px;color:var(--hms-text-muted)}
.ops-measurement .history-instrument{margin-top:10px}
.ops-diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body .app .ops-diagnostic-grid>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px 13px;gap:7px;min-height:163px;background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:8px}
body .app .ops-diagnostic-grid>button:hover{background:var(--hms-surface-soft)}
.ops-diagnostic-icon{color:var(--blue);height:23px}
.ops-diagnostic-icon .ws-icon{width:20px;height:20px}
.ops-diagnostic-grid strong{font-size:14px;font-weight:600}
.ops-diagnostic-grid button>span:not(.ops-diagnostic-icon){font-size:12px;color:var(--hms-text-muted);line-height:1.45}
.ops-diagnostic-grid small{font-size:12px;color:var(--hms-text-muted);line-height:1.5;margin-top:auto}
.ops-diagnostic-grid small.is-confirmed{color:var(--hms-good-text)}
.ops-handover .ops-section-head{display:block}
.ops-handover .ops-section-head p{margin-top:8px}
.ops-checked-list{display:grid;gap:9px;margin:18px 0}
.ops-checked-list p{display:flex;align-items:flex-start;gap:8px;color:var(--hms-text-muted);font-size:12px;line-height:1.6}
.ops-checked-list .is-confirmed{color:var(--hms-good-text)}
.ops-checked-list p>span{flex:none}
body .app .ops-handover>button{width:100%;font-size:13px;margin-top:8px}
.ops-handover-note{font-size:12px;color:var(--hms-text);padding:14px;background:var(--hms-surface-soft);border-radius:7px;line-height:1.7;margin-bottom:14px}
body .app .ops-rule-card button{width:100%;font-size:12px}
.ops-device-context .ops-context-list{margin-bottom:0}
.ops-offline{padding:18px 20px;background:var(--hms-surface-soft);border-radius:var(--ops-radius);margin-bottom:22px}
.ops-offline strong{font-size:14px}.ops-offline p{font-size:12px;color:var(--hms-text-muted);margin-top:5px}
body .app .ops-machine-log .events li{font-size:12px;line-height:1.65;padding-bottom:18px;color:var(--hms-text-muted)}
body .app .ops-machine-log .events time{font-size:12px;color:var(--hms-text-muted)}
body .app .ws-logs{padding:24px;background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:var(--ops-radius)}
body .app .ws-logs-intro h3{font-size:18px;margin:7px 0}
body .app .ws-logs-intro p:not(.eyebrow){font-size:13px;line-height:1.6;max-width:70ch}
body .app .ws-log-filters{margin:22px 0 16px;gap:18px;align-items:start}
body .app .ws-log-filters label{font-size:12px;position:relative;gap:8px;color:var(--hms-text-muted)}
body .app .ws-log-filters :is(input,select){font-size:14px;min-height:42px;padding:10px 12px}
body .app .ws-log-count{font-size:12px;margin-bottom:14px}
body .app .ws-log-item{grid-template-columns:86px minmax(0,1fr) auto;padding:20px;gap:20px;background:var(--hms-surface);border-color:var(--hms-border-soft)}
body .app .ws-log-item--alert{background:var(--hms-alert-surface)}
body .app .ws-log-time time{font-size:12px}
body .app .ws-log-time span{font-size:12px}
body .app .ws-log-content strong{font-size:13px;font-weight:500;line-height:1.6}
body .app .ws-log-content small{font-size:12px;line-height:1.5}
body .app .ws-log-item>button{font-size:12px;min-height:36px}
body .app .ws-log-disclaimer{font-size:12px;line-height:1.6}
body .app .ops-quick-filter{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;padding:7px 0;min-height:30px;border:0;background:transparent;color:var(--blue)}
.ops-dropdown{z-index:90;min-width:210px;background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:8px;box-shadow:0 12px 40px #0a22322b;padding:6px}
.ops-dropdown ul{list-style:none;margin:0;padding:0}
body .app .ops-dropdown button{border:0;background:transparent;padding:10px 12px;text-align:left;width:100%;font-size:13px;min-height:38px}
body .app .hidden{display:none}.app .block{display:block}.app .flex{display:flex}.app .invisible{visibility:hidden}.app .visible{visibility:visible}.app .opacity-0{opacity:0}.app .opacity-100{opacity:1}
body dialog{width:min(590px,calc(100% - 32px));border:1px solid var(--hms-border);border-radius:12px;background:var(--hms-surface);color:var(--hms-text);box-shadow:0 24px 100px #15364b26}
body .dialoghead{padding:20px 24px;border-color:var(--hms-border);gap:16px}
body .dialoghead h3{font-size:17px;line-height:1.4}
body .dialoghead button{width:32px;min-height:32px;background:var(--hms-surface-soft);color:var(--hms-text-muted);border-radius:6px}
body .dialogbody{padding:24px;font-size:14px}
body .dialogbody :is(p,.note){font-size:13px;line-height:1.65;color:var(--hms-text-muted)}
.ops-modal-intro{margin:0 0 20px!important}
body .dialogbody .diag-note-label{font-size:12px;color:var(--hms-text);gap:8px;margin-bottom:18px}
body .dialogbody :is(input[type=number],select,textarea){font-size:14px;line-height:1.5;padding:11px 12px;min-height:42px;border:1px solid var(--hms-border);border-radius:6px;background:var(--hms-surface);color:var(--hms-text);width:100%}
body .dialogbody :is(button.primary,#record-diag){font-size:14px;min-height:42px;padding:10px 14px;border-radius:6px}
body .dialogbody button.primary{background:#087ba8;color:#fff;border-color:#087ba8}
body .dialogbody .diag-surface{padding:20px;background:var(--hms-surface-soft);border-color:var(--hms-border)}
body .dialogbody .diag-surface h3{font-size:18px}
body .dialogbody .diag-surface p{font-size:13px}
body .dialogbody .diag-values small,body .dialogbody .diag-values span{font-size:12px}
body .dialogbody .diag-values strong{font-size:25px}
body .dialogbody .diag-values>div:first-child strong{font-size:34px}
body .dialogbody .diag-choices legend{font-size:14px}
body .dialogbody .diag-choices label{font-size:13px;line-height:1.6;padding:10px 0;gap:10px}
body .dialogbody .diag-disclaimer{font-size:12px;padding:10px 12px;margin:0 0 16px}
.ops-rule-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
body .rule-reading{font-size:12px;gap:12px;padding:14px 16px;margin:0 0 22px;border-color:var(--hms-border)}
body .rule-reading strong{font-size:25px}
body .rule-preview{font-size:13px;padding:17px;margin:0 0 20px;background:var(--hms-surface-soft);border-left-color:var(--blue)}
body .rule-preview p{font-size:13px;line-height:1.65}
body .rule-preview small{font-size:12px;line-height:1.6;color:var(--hms-text-muted)}
.ops-readonly{display:grid;gap:6px;padding:15px;background:var(--hms-surface-soft);border-radius:8px;font-size:12px}
.ops-readonly strong{font-size:13px;color:var(--hms-text)}
.ops-readonly span{font-size:12px}
body .dialogbody .ops-simulation-note{font-size:12px;margin:18px 0 0}
body .dialogbody .message{padding:24px;background:var(--hms-surface-soft)}
body .dialogbody .message small{font-size:12px;color:var(--hms-text-muted)}
body .dialogbody .message h3{font-size:22px;line-height:1.3;margin:16px 0 10px}
body .dialogbody .message p{font-size:14px}
body .dialogbody .message .primary{font-size:13px}
body .dialogbody .channels button{font-size:13px;min-height:36px}
body .source{padding:12px 24px;max-width:100%;font-size:12px;margin:0;background:var(--hms-canvas)}
body .source summary{font-size:12px}
body .app .flow-panel{padding:28px;background:var(--hms-surface)}
body .app .flow-panel>p{font-size:14px;line-height:1.7;max-width:65ch;margin:12px 0 24px;color:var(--hms-text-muted)}
body .app .flow-panel h2{font-size:25px;line-height:1.3}
body .app .flow-aside h3{font-size:18px}
body .app .flow-aside p{font-size:12px;line-height:1.7;color:var(--hms-text-muted)}
body .app :is(.form-grid label,.flow-field,.team-row label){font-size:12px;color:var(--hms-text-muted)}
body .app :is(.form-grid input,.form-grid select,.flow-field input,.flow-field select,.team-row input,.team-row select){font-size:14px;min-height:42px;line-height:1.5;padding:10px 12px;color:var(--hms-text);background:var(--hms-surface);border:1px solid var(--hms-border);border-radius:6px}
body .app .flow-actions button{font-size:14px}
body .app .flow-steps li{font-size:12px;line-height:1.5}
body .app :is(.team-row p,.team-row .team-status,.task-card p,.readiness small){font-size:12px;line-height:1.7;color:var(--hms-text-muted)}
body .app :is(.task-card strong,.readiness strong){font-size:13px;line-height:1.5;color:var(--hms-text)}
body .app .team-row button{font-size:12px}
body .app .config-summary :is(dt,dd){font-size:12px;color:var(--hms-text-muted)}
body .app :is(.ws-table th,.ws-table td,.ws-files th,.ws-files td){font-size:13px;line-height:1.6;padding:16px 12px;color:var(--hms-text)}
body .app :is(.ws-table thead th,.ws-files thead th){font-size:12px;color:var(--hms-text-muted)}
body .app :is(.ws-table .small,.ws-files .small){font-size:12px;min-height:36px}
body .app :is(.ws-files label,.ws-files select,.ws-file-count,.ws-account-card>p,.ws-account-row strong,.ws-account-row small,.ws-account-card small){font-size:12px;color:var(--hms-text-muted)}
body .app .ws-files select{font-size:14px;padding:10px 12px}
body .app .ws-project-card h3{font-size:23px;margin:20px 0 8px}
body .app .ws-project-card :is(p,div){font-size:13px}
body .app .ws-project-card>.tag{font-size:12px}
body .app .entry-intro h2{font-size:28px}
body .app .entry-intro p{font-size:14px;line-height:1.65;color:var(--hms-text-muted);margin:10px 0 22px}
body .app .entry-hero-copy h3{font-size:26px;line-height:1.3}
body .app .entry-hero-copy p{font-size:14px;line-height:1.65;color:var(--hms-text-muted)}
body .app .entry-hero-copy button{font-size:14px;margin-top:22px}
body .app :is(.entry-number,.entry-hero-copy>small){font-size:12px;color:var(--hms-text-muted)}
body .app .entry-secondary p{font-size:13px;line-height:1.6;color:var(--hms-text-muted)}
body .app .entry-secondary button{font-size:13px}
body .app .entry-preview-top strong{font-size:14px}
body .app .entry-preview-top small{font-size:12px}
body .app .entry-preview-alert strong{font-size:14px}
body .app .entry-preview-alert small{font-size:12px}
body .app .entry-preview-row strong{font-size:12px}
body .app .entry-preview-row small,body .app .entry-preview-foot{font-size:12px}
body .app .entry-pipeline li{font-size:12px}
.ops-usage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
.ops-usage dt{font-size:12px;color:var(--hms-text-muted)}
.ops-usage dd{font-size:28px;margin:9px 0 0;color:var(--hms-text)}
@media(max-width:1270px){body .app .ops-capability{display:none}.ops-cockpit{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.ops-issue{grid-template-columns:28px minmax(140px,1fr) auto;gap:12px}.ops-issue-owner{grid-column:2}.ops-issue-action{grid-column:3;grid-row:1/3}.ops-investigation{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.ops-focus-reading .instrument{max-width:140px}.ops-focus-reading{gap:10px}.ops-readings.metrics{gap:16px}.ops-secondary-readings{padding-left:16px}body .app .ops-fleet-row{grid-template-columns:24px minmax(130px,1fr) 96px 66px;gap:10px}.ops-fleet-open{grid-column:2;justify-self:start}body .app .workspace{padding:26px}}
@media(max-width:1050px){.ops-cockpit{grid-template-columns:1fr}.ops-monitoring-context{display:none}.ops-investigation{grid-template-columns:minmax(0,1fr) 260px}.ops-focus-reading .instrument{max-width:120px}.ops-focus-reading strong{font-size:38px}body .app .ops-readings.metrics{grid-template-columns:1fr}.ops-secondary-readings{border-left:0;border-top:1px solid var(--hms-border);padding:16px 0 0;grid-template-columns:1fr 1fr}body .app .topbar .badge{display:none}body .app .journey-context label{font-size:0}body .app .topbar{gap:10px}body .app .appbody{grid-template-columns:180px minmax(0,1fr)}.ops-health{gap:18px}}
@media(max-width:760px){
 body .meta{display:none}body .app{min-height:100dvh}body .app .topbar{height:64px;min-height:64px;padding:0 14px;gap:8px}body .app .wordmark{font-size:15px;gap:8px}body .app .wordmark small{font-size:9px}body .app .brand-mark{display:none}body .app .ops-menu-button{display:grid;place-items:center;width:36px;min-height:38px;padding:0;border:0;background:transparent;color:var(--hms-text)}body .app .topbar #notify{display:none}body .app .topbar :is(#hms-theme-toggle,#reset){width:36px;min-height:36px;padding:0;font-size:0}body .app .topbar #hms-theme-toggle::after{content:'◐';font-size:20px}body .app .topbar #reset::after{content:'↻';font-size:21px}body .app .appbody{display:block;min-height:calc(100dvh - 64px)}body .app #nav{position:fixed;top:64px;left:0;bottom:0;width:275px;padding:18px 12px;z-index:55;transform:translateX(-100%);visibility:hidden;overflow-y:auto;box-shadow:12px 0 40px #122b3926;transition:transform .18s ease,visibility .18s}body.ops-nav-open .app #nav{transform:translateX(0);visibility:visible}body .app #nav .journey-context{display:block;margin:22px 10px 0;padding-top:18px;border-top:1px solid var(--hms-border)}body .app #nav .journey-context label{display:grid;font-size:12px;gap:8px;width:100%}body .app #nav .journey-context select{font-size:14px;width:100%;max-width:none}body .app .workspace{padding:22px 18px 32px}body .app .ws-project-head{margin-bottom:17px;gap:8px}body .app .ws-project-head h2{font-size:25px}body .app .ws-breadcrumb{font-size:12px;margin-bottom:7px}body .app .ws-project-head #ws-fullscreen{display:none}body .app .ws-tabs{gap:23px;margin-bottom:18px}body .app .ws-tabs button{font-size:12px;min-height:38px;padding-bottom:12px}.ops-health{gap:14px;flex-wrap:wrap;padding-bottom:20px;font-size:12px}.ops-health strong{font-size:12px}.ops-health .ops-health-time{display:none}.ops-section-head{margin-bottom:14px;gap:5px}.ops-section-head h3{font-size:15px}.ops-section-head p{font-size:12px}.ops-issue{grid-template-columns:28px minmax(0,1fr);padding:17px 14px;gap:10px 12px}.ops-issue-symbol{width:28px;height:28px;align-self:start;margin-top:3px}.ops-issue-copy>button{font-size:14px}.ops-issue-copy p{font-size:12px}.ops-issue-owner{grid-column:2}.ops-issue-action{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px;width:auto}.ops-issue--offline .ops-issue-owner{display:none}body .app .ops-issue-action{font-size:13px;min-height:40px;padding:9px 13px}.ops-unassigned{display:flex;align-items:center;gap:7px;font-size:12px}.ops-unassigned small{font-size:12px;margin:0}.ops-attention{margin-bottom:26px}body .app .ws-toolbar{flex-wrap:wrap;gap:8px 16px}body .app .ws-toolbar>span{width:100%;margin-bottom:3px}body .app .ws-toolbar strong{font-size:15px}body .app .ws-toolbar label{min-height:32px;font-size:12px}body .app .ops-fleet-row{grid-template-columns:26px minmax(0,1fr) 66px;gap:8px 10px;padding:17px 13px}body .app .ops-fleet-row .tag{grid-column:2;grid-row:2;font-size:12px}body .app .ops-fleet-row .ops-fleet-reading{grid-column:3;grid-row:1/3}body .app .ops-fleet-open{grid-column:2;grid-row:3;min-height:30px;padding:0;font-size:12px}body .app .ops-fleet-name{min-height:36px}.ops-fleet-name strong{font-size:13px}.ops-fleet-name small{font-size:12px}body .app .ops-detail #back,body .app .ops-detail .ws-return{margin-bottom:16px;min-height:25px}.ops-detail-heading{display:block;margin-bottom:17px}.ops-detail-heading .tag{margin-top:12px}.ops-detail-heading .eyebrow{font-size:12px}.ops-detail-heading h2{font-size:25px}body .app .ops-alert-summary{display:block;padding:16px}.ops-alert-owner{margin-top:16px;justify-content:space-between;gap:12px}body .app .ops-alert-summary strong{font-size:14px}body .app .ops-alert-summary #ack{font-size:13px;min-height:42px}.ops-progress{gap:8px;margin:20px 0;font-size:12px;align-items:flex-start}.ops-progress li{flex:1;align-items:flex-start;gap:6px;line-height:1.55}.ops-progress li>span{width:20px;height:20px;font-size:12px}.ops-investigation{grid-template-columns:1fr;gap:18px}.ops-investigation-main,.ops-investigation-aside{gap:18px}body .app .panel{padding:19px 17px}.ops-investigation-aside{display:contents}.ops-handover{grid-row:auto}body .app .ops-readings.metrics{grid-template-columns:1fr;margin:17px 0 20px;gap:18px}.ops-focus-reading{gap:12px}.ops-focus-reading>div{min-width:118px}.ops-focus-reading .instrument{max-width:150px;min-width:100px;width:48%}.ops-focus-reading strong{font-size:42px}.ops-secondary-readings{grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--hms-border);padding:17px 0 0;gap:14px}.ops-secondary-readings strong{font-size:24px}.ops-secondary-readings p{font-size:12px}.ops-diagnostic-grid{grid-template-columns:1fr;gap:10px}body .app .ops-diagnostic-grid>button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px;min-height:0;padding:15px}.ops-diagnostic-icon{grid-row:1/4}.ops-diagnostic-grid button>strong{grid-column:2;font-size:14px}.ops-diagnostic-grid button>span:not(.ops-diagnostic-icon){grid-column:2;font-size:12px}.ops-diagnostic-grid small{grid-column:2;font-size:12px;margin-top:4px}body .app .ops-machine-log .events li{font-size:12px}body .app .ws-logs{padding:19px 16px}body .app .ws-logs-intro{display:block}body .app .ws-logs-intro h3{font-size:19px}body .app .ws-logs-intro p:not(.eyebrow){font-size:13px}body .app .ws-log-filters{grid-template-columns:1fr;gap:14px;margin:20px 0 15px}body .app .ws-log-item{grid-template-columns:58px minmax(0,1fr);gap:8px 13px;padding:17px 13px}body .app .ws-log-item>button{grid-column:2;justify-self:start;font-size:12px;min-height:36px}body .app .ws-log-content strong{font-size:12px;line-height:1.6}body .app .ws-log-content small{font-size:12px}body .app .ws-log-time span{font-size:12px}body .app .ws-log-time time{font-size:12px}body .app .flow-panel{padding:23px 18px}body .app .flow-panel h2{font-size:24px}body .app .flow-panel>p{font-size:14px;line-height:1.65}body .app .flow-steps{gap:10px;margin-bottom:24px}body .app .flow-steps li{font-size:12px}body .app .flow-actions button{font-size:13px;min-height:44px}body .app .team-row{gap:14px;padding:21px 0}body .app .entry-intro h2{font-size:25px;line-height:1.25}body .app .entry-hero{padding:20px}body .app .entry-hero-copy h3{font-size:24px}body .app .entry-hero-copy p{font-size:14px}body .app .entry-hero-copy button{min-height:44px}body .app .entry-hero-copy>small{font-size:12px}body .app .entry-preview{padding:15px}body .app .entry-secondary{padding:20px}body .app .entry-secondary p{font-size:13px}.ops-usage{grid-template-columns:1fr;gap:20px}body .source{padding:12px 18px}body .source summary{font-size:12px}body .dialoghead{padding:18px}body .dialogbody{padding:20px}body .dialoghead h3{font-size:16px}.ops-rule-fields{grid-template-columns:1fr;gap:0}body .rule-reading{flex-wrap:wrap;gap:7px 12px}body .rule-reading strong{margin-left:auto}body .rule-reading span:last-child{width:100%}body .dialogbody .diag-values strong{font-size:24px}body .dialogbody .diag-values>div:first-child strong{font-size:32px}body .dialogbody .message{padding:20px}body .dialogbody .message h3{font-size:21px}body .dialogbody .diag-choices label{font-size:13px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){body .app #nav{transition:none}}

/* A single readable control scale, including compact table actions. */
body .app button:not(#hms-theme-toggle):not(#reset):not(.ops-menu-button),body .dialogbody button{font-size:14px}
body .app .journey-context select{font-size:14px}
body .dialogbody .diag-surface dl div{font-size:12px}
@media(max-width:760px){body .app #nav .journey-context select{font-size:14px}}
/* The native desktop workspace is a bounded application, with one scrolling
   content region. Its shell remains 16:9 at a 1440 x 810 desktop viewport. */
@media(min-width:901px){
  body .app{height:100dvh;min-height:0;display:flex;flex-direction:column;}
  body .app .topbar{flex:0 0 68px;}
  body .app .appbody{flex:1 1 auto;min-height:0;overflow:hidden;}
  body .app .workspace{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
  body .app #nav{min-height:0;height:100%;overflow-y:auto;}
}

/* The responsive application uses the same bounded workspace on phones
   as on desktop. Long content remains available inside the workspace. */
@media(max-width:760px){
  body .app{height:100dvh;min-height:0;display:flex;flex-direction:column;}
  body .app .topbar{flex:0 0 64px;}
  body .app .appbody{flex:1 1 auto;min-height:0;overflow:hidden;}
  body .app .workspace{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
}

/* Native HMI mobile verification keeps the readings, operating ranges and
   recording command together. These are the same controls at every size. */
@media(max-width:760px){
  body .dialogbody .diag-hmi{padding:16px;margin:12px 0;}
  body .dialogbody .diag-hmi .diag-values{grid-template-columns:1fr;gap:8px;margin-top:12px;}
  body .dialogbody .diag-hmi .diag-values>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:6px 12px;}
  body .dialogbody .diag-hmi .diag-values>div:first-child{grid-column:auto;}
  body .dialogbody .diag-hmi .diag-values small{grid-column:1;font-size:12px;}
  body .dialogbody .diag-hmi .diag-values strong{grid-column:2;grid-row:1;margin:0;font-size:24px;white-space:nowrap;}
  body .dialogbody .diag-hmi .diag-values>div:first-child strong{font-size:30px;}
  body .dialogbody .diag-hmi .diag-values span{grid-column:1/-1;font-size:12px;}
  body .dialogbody .diag-hmi p{margin:8px 0 0;font-size:13px;line-height:1.5;}
  body .dialogbody:has(.diag-hmi) .diag-choices{margin:12px 0;}
}
