.simulator-main{max-width:1680px}.simulator-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:24px 0}.simulator-heading h1{margin:6px 0 8px}.simulator-heading p{max-width:720px;margin:0;color:#9fb3ca}.simulator-only-label{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #24558a;border-radius:999px;background:#09213a;color:#8fc5ff;font-size:.78rem;letter-spacing:.04em;white-space:nowrap}.simulator-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #1d3853;border-radius:14px;background:#091827}.simulator-toolbar label{display:grid;gap:7px;min-width:min(440px,100%);color:#99aec5;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.simulator-toolbar select,.sim-device-control select{min-height:42px;border:1px solid #284866;border-radius:8px;background:#071321;color:#ecf4fc;padding:0 38px 0 12px;font:inherit}.simulator-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.sim-summary-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #1b344d;border-radius:12px;background:#081522}.sim-summary-card strong{display:block;color:#f5f8fc;font-size:1.35rem}.sim-summary-card span:not(.sim-state-dot){color:#9eb1c6;font-size:.82rem}.sim-state-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#718096;box-shadow:0 0 0 3px color-mix(in srgb,#718096 18%,transparent)}.sim-state-dot.state-operational,.state-operational>.sim-state-dot{background:#35d07f;box-shadow:0 0 0 3px color-mix(in srgb,#35d07f 18%,transparent)}.sim-state-dot.state-isolated,.state-isolated>.sim-state-dot{background:#f3b44b;box-shadow:0 0 0 3px color-mix(in srgb,#f3b44b 18%,transparent)}.sim-state-dot.state-faulted,.state-faulted>.sim-state-dot{background:#ff655f;box-shadow:0 0 0 3px color-mix(in srgb,#ff655f 18%,transparent)}.simulator-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px;align-items:start}.simulator-canvas-card,.simulator-controls{border:1px solid #1d3853;border-radius:14px;background:#071422;overflow:hidden}.simulator-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #193148}.simulator-card-heading h2{margin:3px 0 0;font-size:1rem}.simulator-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px 14px;color:#9db0c4;font-size:.72rem}.simulator-legend span{display:inline-flex;align-items:center;gap:6px}.simulator-canvas{min-height:520px;max-height:72vh;overflow:auto;padding:14px;background:#04101c;background-image:linear-gradient(rgba(30,89,137,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(30,89,137,.12) 1px,transparent 1px);background-size:28px 28px}.simulator-schematic{display:block;width:100%;min-width:700px;height:auto;background:#071728;border:1px solid #274661;border-radius:8px}.simulator-sheet{fill:#071728;stroke:#294966;stroke-width:2}.sim-path{fill:none;stroke:#718096;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sim-path.state-operational{stroke:#35d07f}.sim-path.state-isolated{stroke:#f3b44b}.sim-path.state-faulted{stroke:#ff655f}.sim-path.is-pulsing{stroke-dasharray:8 12;animation:simulator-flow 1.1s linear infinite}.sim-device{color:#718096}.sim-device.state-operational{color:#35d07f}.sim-device.state-isolated{color:#f3b44b}.sim-device.state-faulted{color:#ff655f}.sim-device-body{fill:#081a2b;stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke}.sim-device-symbol{fill:none;stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke}.sim-device-glyph,.sim-device-label,.sim-device-detail,.sim-annotation{fill:#eef5fc;text-anchor:middle;font-family:"IBM Plex Mono",monospace}.sim-device-glyph{font-size:17px;font-weight:700}.sim-device-label{font-size:13px;font-weight:600}.sim-device-detail{fill:#96aabe;font-size:10px}.sim-annotation{text-anchor:start;font-size:14px}.simulator-integration-note{margin:0;padding:11px 18px;border-top:1px solid #193148;color:#7f96ad;font-size:.76rem}.simulator-controls{position:sticky;top:88px}.simulator-controls>p{margin:14px 18px;color:#91a7bd;font-size:.82rem;line-height:1.5}.simulator-control-list{display:grid;gap:1px;max-height:66vh;overflow:auto;border-top:1px solid #193148;background:#193148}.sim-device-control{display:grid;gap:10px;padding:14px 16px;background:#081522}.sim-device-control>span{display:grid;gap:5px}.sim-device-control strong{color:#edf5fc;font-size:.85rem}.sim-device-control small{display:flex;align-items:center;gap:7px;color:#8fa5bb;line-height:1.35}.sim-device-control select{width:100%;font-size:.82rem}.sim-empty-control{padding:16px;background:#081522}.simulator-loading{padding:36px;color:#91a7bd;text-align:center}.stat-grid.simulator-enabled{grid-template-columns:repeat(4,minmax(0,1fr))}@keyframes simulator-flow{to{stroke-dashoffset:-20}}
.sim-device.selectable{cursor:pointer;outline:none}.sim-device.selectable:focus-visible .sim-device-body,.sim-device.selected .sim-device-body{filter:drop-shadow(0 0 8px currentColor);stroke-width:5}.sim-device.selected .sim-device-label{text-decoration:underline}.sim-device-control{padding:12px 14px;border-left:3px solid transparent}.sim-device-control.selected{border-left-color:#3c8dff;background:#0b2034}.sim-device-select{display:grid;gap:6px;width:100%;padding:2px;border:0;border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer}.sim-device-select:focus-visible{outline:2px solid #56a4ff;outline-offset:3px}.sim-device-select>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-device-control em{color:#6f8da9;font-size:.67rem;font-style:normal;text-transform:uppercase;letter-spacing:.06em}.sim-device-control>label{display:grid;gap:5px;color:#839ab1;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.sim-device-control select{text-transform:none;letter-spacing:normal}
@media(max-width:1100px){.simulator-workspace{grid-template-columns:1fr}.simulator-controls{position:static}.simulator-control-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.stat-grid.simulator-enabled{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.simulator-heading{align-items:flex-start;flex-direction:column}.simulator-only-label{white-space:normal}.simulator-toolbar{align-items:stretch;flex-direction:column}.simulator-toolbar label{min-width:0}.simulator-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.simulator-card-heading{align-items:flex-start;flex-direction:column}.simulator-legend{justify-content:flex-start}.simulator-canvas{min-height:400px}.simulator-control-list{grid-template-columns:1fr}.stat-grid.simulator-enabled{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sim-path.is-pulsing{animation:none}}
.simulator-legend-panel{margin:16px 0 0;border:1px solid #1d3853;border-radius:12px;background:#071422}.simulator-legend-panel summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;color:#edf5fc;font-weight:700;cursor:pointer;list-style:none}.simulator-legend-panel summary::-webkit-details-marker{display:none}.simulator-legend-panel summary::after{content:'+';color:#67acff;font-size:1.15rem}.simulator-legend-panel[open] summary::after{content:'−'}.simulator-legend-panel summary:focus-visible{outline:2px solid #56a4ff;outline-offset:3px}.simulator-legend-panel summary span{color:#7f96ad;font-size:.75rem;font-weight:500}.simulator-legend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-top:1px solid #193148;background:#193148}.simulator-legend-grid section{padding:14px 16px;background:#081522}.simulator-legend-grid h2{display:flex;align-items:center;gap:9px;margin:0 0 9px;color:#edf5fc;font-size:.85rem}.simulator-legend-grid ul{margin:0;padding-left:17px;color:#91a7bd;font-size:.76rem;line-height:1.55}.simulator-selection-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:13px 15px;border:1px solid #1d3853;border-radius:12px;background:#081522}.simulator-selection-status p{margin:0;color:#afc2d5;font-size:.82rem;line-height:1.45}.simulator-selection-status button{flex:0 0 auto}.sim-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 8px;border:1px solid currentColor;border-radius:999px;color:#a7b7c8;background:#081522;font-size:.64rem;font-weight:700;white-space:nowrap}.sim-status-badge.state-operational{color:#35d07f}.sim-status-badge.state-isolated{color:#f3b44b}.sim-status-badge.state-faulted{color:#ff655f}.sim-status-badge.state-unknown{color:#9aa8b8}.sim-path,.sim-device{transition:opacity .16s ease,filter .16s ease}.sim-path.is-highlighted{filter:drop-shadow(0 0 5px currentColor);stroke-width:6}.sim-path.is-dimmed{opacity:.1}.sim-device.is-highlighted{filter:drop-shadow(0 0 4px currentColor)}.sim-device.is-dimmed{opacity:.14}
@media(max-width:1100px){.simulator-legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.simulator-selection-status{align-items:stretch;flex-direction:column}.simulator-selection-status button{width:100%}.simulator-legend-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sim-path,.sim-device{transition:none}}
.simulator-affected-status{margin:0 0 16px;border:1px solid #1d3853;border-radius:12px;background:#071422}.simulator-affected-status summary{padding:12px 15px;color:#dce9f6;font-size:.78rem;font-weight:700;cursor:pointer}.simulator-affected-status>div{padding:0 15px 13px}.sim-status-normal{margin:0;color:#8ebfa4;font-size:.78rem}.sim-affected-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.sim-affected-list li{display:flex;align-items:flex-start;gap:9px;color:#afc2d5;font-size:.76rem;line-height:1.45}.sim-affected-list .sim-state-dot{flex:0 0 auto;margin-top:4px}.simulator-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #193148;background:#071321}.simulator-tabs button{min-height:43px;border:0;border-bottom:2px solid transparent;background:transparent;color:#839ab1;font-size:.72rem;font-weight:700}.simulator-tabs button:hover{color:#dce9f6;background:#0b1d30}.simulator-tabs button[aria-selected="true"]{border-bottom-color:#3c8dff;background:#0b2034;color:#edf5fc}.simulator-tabs button:focus-visible{position:relative;z-index:1;outline:2px solid #56a4ff;outline-offset:-3px}.simulator-tab-panel>p{margin:14px 18px;color:#91a7bd;font-size:.82rem;line-height:1.5}.sim-fault-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sim-fault-actions .portal-btn{padding-inline:8px}.sim-scenarios{display:grid;gap:13px;padding:16px}.sim-scenarios>label{display:grid;gap:6px;color:#839ab1;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.sim-scenarios select,.sim-scenarios input{width:100%;min-height:42px;border:1px solid #284866;border-radius:8px;background:#071321;color:#ecf4fc;padding:0 12px;font:inherit;text-transform:none;letter-spacing:normal}.sim-scenarios input:focus,.sim-scenarios select:focus{border-color:#4c93ef;outline:2px solid rgba(76,147,239,.22)}.sim-scenario-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sim-scenario-actions .portal-btn:first-child{grid-column:1/-1}.simulator-panel-message{min-height:18px;margin:0;color:#8fc5ff;font-size:.74rem}.simulator-panel-note{margin:0;color:#7890a8;font-size:.7rem;line-height:1.45}
@media(max-width:700px){.simulator-tabs button{min-height:48px}.sim-fault-actions{grid-template-columns:1fr}.sim-scenario-actions{grid-template-columns:1fr}.sim-scenario-actions .portal-btn:first-child{grid-column:auto}}
.simulator-only-label{max-width:520px;border-radius:12px;line-height:1.4;letter-spacing:.02em;white-space:normal}.simulator-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.simulator-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.simulator-tabs button{padding-inline:5px;font-size:.7rem}.simulator-status-panel>div{padding:0 16px 16px}.simulator-status-panel .sim-affected-list{max-height:58vh;overflow:auto}
@media(max-width:700px){.simulator-toolbar-actions{display:grid;grid-template-columns:1fr}.simulator-toolbar-actions .portal-btn{justify-content:center;width:100%}.simulator-tabs button{font-size:.67rem}}
.simulator-toolbar select,.sim-device-control select,.sim-scenarios select,.sim-scenarios input{min-height:44px}.simulator-toolbar select:focus-visible,.sim-device-control select:focus-visible,.sim-scenarios select:focus-visible,.sim-scenarios input:focus-visible{border-color:#56a4ff;outline:2px solid rgba(86,164,255,.28);outline-offset:1px}.simulator-tabs button{min-height:44px}.simulator-control-list{scrollbar-gutter:stable;overscroll-behavior:contain}
.simulator-toolbar-actions .portal-btn,.simulator-selection-status .portal-btn,.sim-fault-actions .portal-btn,.sim-scenario-actions .portal-btn{min-height:44px}
@media(max-width:1100px){.simulator-control-list{max-height:min(65dvh,720px)}}
@media(max-width:700px){.simulator-tabs button{min-height:48px}}
