﻿.vo-infrastructure { color:var(--adm-text,#263238); overflow-wrap:anywhere; }
.vo-infrastructure .vo-form { display:grid; gap:12px; max-width:620px; margin:14px 0; }
.vo-infrastructure .vo-form label { display:grid; gap:6px; }
.vo-infrastructure .vo-form .vo-infrastructure-toggle { display:flex; align-items:center; gap:8px; }
.vo-infrastructure .vo-form input[type=checkbox] { width:18px; height:18px; min-height:18px; margin:0; flex:0 0 18px; }
.vo-infrastructure .vo-form button { justify-self:start; width:36px; }
.vo-infrastructure [role=alert]:not(:empty) { border-left:3px solid var(--adm-danger,#dd4b39); padding:10px; }
.vo-infrastructure p { color:var(--adm-text,#263238); }
.vo-infrastructure fieldset { min-width:0; border:1px solid var(--adm-border,#cbd2d7); padding:12px; display:grid; gap:10px; }
.vo-infrastructure legend { padding:0 5px; font-weight:600; }
.vo-infrastructure-measure { border-top:1px solid var(--adm-border,#cbd2d7); padding:10px 0; }
.vo-infrastructure-measure p { margin:5px 0; }
.vo-infrastructure-actions { display:flex; gap:8px; margin-top:14px; }

.vo-global-diagnosis { margin-top:10px; overflow-wrap:anywhere; }
.vo-global-diagnosis article + article { border-top:1px solid var(--adm-border,#cbd2d7); padding-top:10px; margin-top:10px; }
.vo-global-diagnosis ul { padding-inline-start:22px; }

.vo-diagnostic-next { margin:12px 0; padding:12px; border:1px solid var(--adm-border,#cbd2d7); border-left:3px solid var(--adm-warning,#f39c12); background:var(--adm-surface,#fff); }
.vo-diagnostic-next h3 { margin:0 0 8px; }
.vo-diagnostic-next ol { padding-inline-start:22px; }
.vo-diagnostic-next li { margin:8px 0; }
.vo-diagnostic-next button { min-width:34px; min-height:34px; }
.vo-diagnostic-next button:focus-visible { outline:2px solid var(--adm-accent,#3c8dbc); outline-offset:2px; }

.vo-infrastructure [hidden] { display:none !important; }
.vo-errors > h2 { margin-bottom:6px; }
.vo-errors > p { margin:6px 0; }
.vo-errors summary { cursor:pointer; padding:9px 0; min-height:34px; box-sizing:border-box; }
.vo-errors summary:focus-visible,.vo-errors select:focus-visible { outline:2px solid var(--adm-accent,#3c8dbc); outline-offset:2px; }
.vo-error-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.vo-error-overview > div { display:flex; align-items:center; gap:8px; border:1px solid var(--adm-border,#cbd2d7); background:var(--adm-surface,#fff); padding:12px; }
.vo-error-overview strong { font-size:20px; }
.vo-error-overview i,.vo-error-title i { color:var(--adm-accent,#3c8dbc); }
.vo-error-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:10px 0; }
.vo-error-filter select { min-height:34px; max-width:100%; color:inherit; background:var(--adm-surface,#fff); border:1px solid var(--adm-border,#cbd2d7); padding:4px 8px; }
.vo-error-incident { border-top:1px solid var(--adm-border,#cbd2d7); }
.vo-error-incident > summary { display:list-item; padding:12px 8px; }
.vo-error-incident > summary > span { display:inline-block; vertical-align:middle; margin-inline-end:12px; }
.vo-error-title { width:45%; }
.vo-error-title > span { display:block; font-size:12px; margin-top:4px; overflow-wrap:anywhere; }
.vo-error-title i { margin-inline-end:7px; }
.vo-error-next { font-weight:600; margin-top:4px; }
.vo-error-body { padding:0 12px 12px; border-left:2px solid var(--adm-accent,#3c8dbc); }
.vo-errors-help { margin-bottom:8px; }
@media(max-width:700px) {
 .vo-error-overview { grid-template-columns:1fr; gap:6px; }
 .vo-error-overview > div { padding:8px 10px; }
 .vo-error-title { width:auto; }
 .vo-error-incident > summary > span { display:block; margin:4px 0; }
}

/* Keep the emergency monitoring stop visible, including from an incident review. */
@layer sysimple-actions {
.vo-errors [data-monitor-toggle]{display:inline-flex!important;align-items:center!important;gap:8px!important;width:auto!important;min-height:34px!important;padding:7px 10px!important}
.vo-errors [data-monitor-toggle]>span{display:inline!important;white-space:normal!important}
}
.vo-monitor-email{display:flex;align-items:flex-start;gap:8px}.vo-monitor-email input[type=checkbox]{width:auto;flex:none;margin-top:3px}
/* Infrastructure: dense work surface using the shared dashboard palette. */
.vo-infra-compact .vo-form { max-width:1100px; gap:10px; margin:8px 0; }
.vo-infra-compact .vo-infra-rules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.vo-infra-compact .vo-infra-rules fieldset { margin:0; padding:8px 10px 10px; gap:8px 12px; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--adm-surface,#fff); }
.vo-infra-compact .vo-infra-rules legend { font-size:13px; }
.vo-infra-compact .vo-infra-rules .vo-infrastructure-toggle { grid-column:1/-1; }
.vo-infra-compact .vo-form label { gap:4px; font-size:12px; min-width:0; }
.vo-infra-compact .vo-form input:not([type=checkbox]),.vo-infra-compact .vo-form select { box-sizing:border-box; width:100%; min-width:0; min-height:34px; padding:5px 8px; border:1px solid var(--adm-border,#cbd2d7); border-radius:2px; background:var(--adm-surface,#fff); color:var(--adm-text,#263238); font:inherit; }
.vo-infra-compact .vo-infra-audience { border-top:1px solid var(--adm-border,#cbd2d7); padding-top:10px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 12px; }
.vo-infra-compact .vo-infra-audience h3,.vo-infra-compact .vo-infra-audience p,.vo-infra-compact .vo-infra-audience details { grid-column:1/-1; margin:0; }
.vo-infra-compact .vo-infra-audience h3 { font-size:13px; }
.vo-infra-compact .vo-infra-audience p { font-size:12px; color:var(--adm-text-soft,#52606a); }
.vo-infra-compact [data-role-create] { max-width:540px; }
.vo-infra-compact [data-role-create] label { margin:8px 0; }
.vo-infra-compact [data-role-create] button { margin-top:8px; }
.vo-infra-compact summary { cursor:pointer; min-height:34px; padding:7px 0; box-sizing:border-box; }
.vo-infra-compact :is(input,select,button,summary):focus-visible { outline:2px solid var(--adm-accent,#3c8dbc); outline-offset:2px; }
.vo-infra-compact .vo-infrastructure-measure { padding:7px 0; }
.vo-infra-compact .vo-infrastructure-measure p { margin:3px 0; }
@media(min-width:1300px) { .vo-infra-compact .vo-infra-rules { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) { .vo-infra-compact .vo-infra-rules,.vo-infra-compact .vo-infra-audience { grid-template-columns:minmax(0,1fr); } }
@media(max-width:360px) { .vo-infra-compact .vo-infra-rules fieldset { grid-template-columns:minmax(0,1fr); } }
.vo-infra-compact > h2 { margin:0 0 8px; font-size:18px; }
.vo-infra-compact > p { margin:6px 0; }
.vo-infra-compact .vo-infra-help { margin-bottom:8px; }
.vo-infra-compact .vo-infra-help p { margin:6px 0; font-size:12px; }
.vo-infra-compact .vo-form [type=submit] { background:var(--adm-success,#00a65a); border-color:var(--adm-success,#00a65a); color:#fff; min-height:34px; }
.vo-infra-compact .vo-infra-rules fieldset label { align-content:start; }
/* Snapshot dashboard: raw values remain visible beside every graphic. */
.vo-infra-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.vo-infra-overview>div{border:1px solid var(--adm-border,#cbd2d7);border-top:3px solid var(--adm-primary,#3c8dbc);background:var(--adm-surface,#fff);padding:12px 14px;display:grid;gap:6px}
.vo-infra-overview span{font-size:12px;color:var(--adm-text-soft,#52606a)}
.vo-infra-overview strong{font-size:20px;line-height:1.3}
.vo-infra-host{margin:14px 0 18px;padding:14px;border:1px solid var(--adm-border,#cbd2d7);background:var(--adm-surface-2,#f9fafb)}
.vo-infra-host-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--adm-border,#cbd2d7);padding-bottom:12px}
.vo-infra-host-heading h3,.vo-infra-host-heading p{margin:0}
.vo-infra-host-heading h3{font-size:15px}.vo-infra-host-heading h3 i{color:var(--adm-primary,#3c8dbc);margin-right:6px}
.vo-infra-host-heading p{font-size:12px;color:var(--adm-text-soft,#52606a)}
.vo-infra-host h4{margin:16px 0 10px;font-size:13px}
.vo-infra-disks,.vo-infra-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.vo-infra-compact .vo-infra-tile{--infra-color:var(--adm-primary,#3c8dbc);min-width:0;border:1px solid var(--adm-border,#cbd2d7);padding:12px;background:var(--adm-surface,#fff)}
.vo-infra-tile.is-danger{--infra-color:var(--adm-danger,#dd4b39)}.vo-infra-tile.is-warning{--infra-color:var(--adm-warning,#f39c12)}.vo-infra-tile.is-unknown,.vo-infra-tile.is-muted{--infra-color:var(--adm-text-soft,#6b7785)}
.vo-infra-tile>header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.vo-infra-tile>header i{color:var(--infra-color)}
.vo-infra-reading{position:relative;display:flex;align-items:center;min-height:62px;margin:8px 0}.vo-infra-reading>strong{font-size:27px;font-weight:600;font-variant-numeric:tabular-nums}.vo-infra-reading small{font-size:14px;font-weight:400}
.vo-infra-reading.has-gauge{justify-content:center;min-height:128px}.vo-infra-reading.has-gauge>strong{position:absolute;font-size:22px}.vo-infra-gauge{width:128px;height:128px;fill:none;stroke-width:7}.vo-infra-track{stroke:var(--adm-border,#cbd2d7)}.vo-infra-fill{stroke:var(--infra-color);stroke-linecap:round}
.vo-infra-bar{position:relative;height:10px;background:var(--adm-border,#cbd2d7);margin:4px 0 12px}.vo-infra-bar>span{display:block;height:100%;background:var(--infra-color)}.vo-infra-bar>i{position:absolute;top:-4px;bottom:-4px;border-left:2px solid var(--adm-text,#263238)}
.vo-infra-compact .vo-infra-tile p{font-size:12px;line-height:1.5;margin:6px 0}.vo-infra-tile .vo-infra-detail{min-height:36px;color:var(--adm-text-soft,#52606a)}.vo-infra-tile .vo-infra-state{font-weight:600;color:var(--infra-color)}.vo-infra-state i{margin-right:4px}.vo-infra-tile .vo-infra-rule{border-top:1px solid var(--adm-border,#cbd2d7);padding-top:8px;color:var(--adm-text-soft,#52606a)}.vo-infra-unavailable{font-size:18px}
@media(max-width:650px){.vo-infra-overview{grid-template-columns:1fr}.vo-infra-overview>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.vo-infra-overview strong{font-size:17px}.vo-infra-host{padding:10px}}
