:root{color:#17201c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select{font-family:inherit}.app-shell{color:#17201c;background:#f4f5f0;grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.app-header{background:#fff;border-bottom:1px solid #c9d4ce;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:24px;padding:18px 22px 14px;display:grid}.app-header h1{margin:0;font-size:22px;line-height:1.15}.app-header p{color:#58645f;margin:5px 0 0;font-size:13px}.header-metrics{grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px;display:grid}.workspace-tabs{background:#fff;border-bottom:1px solid #c9d4ce;gap:2px;padding:0 18px;display:flex}.workspace-tabs button{color:#33413b;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;height:42px;padding:0 18px;font-weight:700}.workspace-tabs button.is-active{color:#b84d3a;border-bottom-color:#b84d3a}.workbench{grid-template-columns:270px minmax(0,1fr) 310px;min-height:0;display:grid}.workbench.without-left-panel.has-right-panel{grid-template-columns:minmax(0,1fr) 310px}.workbench.has-left-panel.without-right-panel{grid-template-columns:270px minmax(0,1fr)}.workbench.without-left-panel.without-right-panel{grid-template-columns:minmax(0,1fr)}.left-panel,.right-panel{background:#fbfcf8;border-right:1px solid #c9d4ce;overflow:auto}.right-panel{border-left:1px solid #c9d4ce;border-right:0}.main-panel{min-width:0;min-height:0;padding:14px;overflow:hidden}.panel-section{border-bottom:1px solid #dfe6e1;padding:14px}.panel-section h2,.analysis-block h2{text-transform:uppercase;color:#55645e;margin:0 0 12px;font-size:13px}.metric{background:#fff;border:1px solid #d9e2dc;border-radius:6px;min-height:54px;padding:9px 10px}.metric span{color:#66736e;font-size:11px;line-height:1.2;display:block}.metric strong{font-variant-numeric:tabular-nums;color:#17201c;margin-top:5px;font-size:18px;line-height:1.1;display:block}.floor-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.floor-grid button,.button-row button,.primary-action,.secondary-action,.sim-controls button{color:#17201c;cursor:pointer;background:#fff;border:1px solid #bcc8c2;border-radius:6px;min-height:34px;font-weight:700}.floor-grid button.is-active,.primary-action{color:#16685f;background:#e4f3ee;border-color:#2a9d8f}label{color:#4f5d58;gap:6px;margin-bottom:12px;font-size:12px;font-weight:700;display:grid}input,select{color:#17201c;width:100%;height:34px;font:inherit;background:#fff;border:1px solid #c5d0ca;border-radius:6px;padding:0 9px}input[type=range]{accent-color:#2a9d8f;padding:0}output{color:#17201c;font-variant-numeric:tabular-nums;justify-self:end}.primary-action{width:100%}.secondary-action{color:#33413b;background:#f7faf7;width:100%;margin-top:8px}.secondary-action:disabled{color:#8b9691;cursor:not-allowed;opacity:.72}.dimension-grid,.status-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.status-metrics{margin-top:4px}.status-metrics .metric{min-height:48px}.status-metrics .metric strong{font-size:14px}.hospital-canvas{touch-action:none;background:#eef4ec;border:1px solid #c9d4ce;border-radius:8px;width:100%;height:calc(100vh - 156px);min-height:620px;display:block}.simulation-stage{grid-template-rows:auto 1fr;gap:10px;height:calc(100vh - 156px);min-height:620px;display:grid}.simulation-canvas{height:100%;min-height:560px}.phaser-stage{touch-action:none;background:#17201c;border:1px solid #c9d4ce;border-radius:8px;width:100%;height:100%;min-height:560px;overflow:hidden}.phaser-stage canvas{image-rendering:auto;width:100%;height:100%;display:block}.simulation-loading{color:#f8fafc;background:#17201c;border:1px solid #c9d4ce;border-radius:8px;place-items:center;height:calc(100vh - 156px);min-height:620px;font-weight:800;display:grid}.sim-controls{background:#fff;border:1px solid #c9d4ce;border-radius:8px;grid-template-columns:86px minmax(120px,1fr) minmax(112px,auto) minmax(78px,auto) minmax(168px,auto) minmax(150px,190px) minmax(150px,220px);align-items:center;gap:10px;padding:10px;display:grid}.sim-controls span{font-variant-numeric:tabular-nums;font-weight:800}.sim-controls select{min-width:0}.sim-view-toggle,.sim-speed-presets,.speed-preset-grid{gap:4px;display:grid}.sim-view-toggle{grid-template-columns:repeat(2,minmax(32px,1fr))}.sim-speed-presets,.speed-preset-grid{grid-template-columns:repeat(4,minmax(34px,1fr))}.sim-view-toggle button,.sim-speed-presets button,.speed-preset-grid button{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-width:0;min-height:32px;padding:0 7px;font-size:12px;font-weight:900}.sim-view-toggle button.is-active,.sim-speed-presets button.is-active,.speed-preset-grid button.is-active{color:#174942;background:#e4f3ee;border-color:#2a9d8f}.speed-control-group{gap:7px;display:grid}.speed-control-group>span{color:#66736e;font-size:12px;font-weight:900}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span,.tag-list button{color:#33413b;background:#edf2ee;border:0;border-radius:5px;max-width:100%;padding:5px 7px;font-size:11px;font-weight:700}.tag-list button{cursor:pointer}.tag-list button.door-chip{border:1px solid #0000}.tag-list button.door-chip.connected{color:#16685f;background:#e4f3ee;border-color:#8ecabc}.tag-list button.door-chip.blocked{color:#991b1b;background:#fee2e2;border-color:#ef9a9a}.floor-connection-editor{color:#4f5d58;gap:8px;font-size:12px;font-weight:700;display:grid}.floor-selector-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.floor-selector-grid button,.floor-quick-actions button{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-height:30px;font-size:11px;font-weight:800}.floor-selector-grid button.is-active{color:#16685f;background:#e4f3ee;border-color:#2a9d8f}.floor-selector-grid button.is-anchor{box-shadow:inset 0 0 0 2px #2a9d8f33}.floor-quick-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.button-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px;display:grid}.button-row button:disabled{color:#8b9691;cursor:not-allowed}.muted{color:#66736e;font-size:13px}.table-panel,.analysis-grid{background:#fff;border:1px solid #c9d4ce;border-radius:8px;height:calc(100vh - 156px);overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e4ebe6;padding:11px 12px;font-size:13px}th{color:#55645e;text-transform:uppercase;background:#f7faf7;font-size:11px;position:sticky;top:0}.modal-backdrop{z-index:20;background:#0d17146b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.script-modal{background:#fff;border:1px solid #c9d4ce;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto auto;width:min(1120px,100vw - 32px);height:min(880px,100dvh - 32px);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 60px #121f1a47}.script-modal-header{border-bottom:1px solid #e4ebe6;grid-row:1;justify-content:space-between;align-items:start;gap:16px;padding:12px 16px;display:flex}.script-modal-header h2{margin:0;font-size:18px}.script-modal-header p{color:#66736e;margin:4px 0 0;font-size:12px;font-weight:800}.script-modal-actions,.script-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.script-modal-actions button,.script-toolbar button,.file-action{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-height:36px;padding:0 14px;font-size:13px;font-weight:800}.script-toolbar{border-bottom:1px solid #e4ebe6;grid-row:2;padding:10px 16px}.script-toolbar span{color:#66736e;font-size:12px;font-weight:800}.file-action{place-items:center;margin:0;display:inline-grid}.file-action input{display:none}.info-action{min-width:54px}.script-modal textarea{resize:none;color:#eef8f3;background:#10201c;border:0;outline:none;grid-row:3;width:100%;min-width:0;height:100%;min-height:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;overflow:auto}.script-info-backdrop{z-index:2;background:#10201c7a;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.script-info-modal{background:#fff;border:1px solid #c9d4ce;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(960px,100vw - 48px);max-height:min(760px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 20px 70px #121f1a57}.script-info-header{background:#f7faf7;border-bottom:1px solid #e4ebe6;justify-content:space-between;align-items:start;gap:16px;padding:16px 18px;display:flex}.script-info-header span{color:#66736e;text-transform:uppercase;font-size:11px;font-weight:900}.script-info-header h2{margin:3px 0 5px;font-size:20px}.script-info-header p{color:#55645e;max-width:680px;margin:0;font-size:13px;line-height:1.45}.script-info-header button{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-height:36px;padding:0 14px;font-size:13px;font-weight:800}.script-info-body{background:#fbfcf8;gap:12px;min-height:0;padding:14px 18px 18px;display:grid;overflow:auto}.script-info-card{background:#fff;border:1px solid #dce5df;border-radius:6px;gap:9px;min-width:0;padding:12px;display:grid}.script-info-card h3,.script-info-card h4{margin:0}.script-info-card h3{font-size:13px}.script-info-card h4{color:#66736e;text-transform:uppercase;font-size:11px}.script-info-card p,.script-info-card li{color:#55645e;margin:0;font-size:12px;line-height:1.45}.script-info-card ol,.script-info-card ul{gap:6px;margin:0;padding-left:20px;display:grid}.script-code-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.script-code-pair>div{min-width:0}.script-info-card pre{color:#eef8f3;background:#10201c;border-radius:6px;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.script-plan-preview,.script-connection-preview,.script-vertical-preview{background:#f8fbf8;border:1px solid #cbd8d1;border-radius:6px;min-height:210px;overflow:hidden}.script-plan-preview{aspect-ratio:10/7;background:linear-gradient(#66736e17 1px,#0000 1px) 0 0/10% 14.285%,linear-gradient(90deg,#66736e17 1px,#0000 1px) 0 0/10% 14.285%,#f8fbf8;position:relative}.script-preview-axis{color:#66736e;background:#ffffffe0;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:900;position:absolute;top:8px;left:8px}.script-preview-room{color:#2a170b;background:#f4a261;border:2px solid #c66b2d;border-radius:6px;align-content:center;gap:2px;width:21%;min-width:92px;height:22.85%;min-height:82px;padding:8px;display:grid;position:absolute;top:38.5%;left:47%;box-shadow:0 8px 20px #2a170b29}.script-preview-room strong,.script-connection-room strong,.script-connection-corridor strong,.script-vertical-floor strong{font-size:12px;line-height:1.15}.script-preview-room span,.script-connection-room span,.script-connection-corridor span{font-size:11px;line-height:1.2}.script-preview-room small,.script-connection-preview small,.script-vertical-floor small,.script-vertical-preview p{margin:0;font-size:10px;line-height:1.25}.script-preview-marker{color:#eef8f3;background:#10201c;border-radius:5px;padding:3px 5px;font-size:10px;font-weight:900;position:absolute}.script-preview-marker.x{bottom:8px;left:47%}.script-preview-marker.y{top:38.5%;left:8px}.script-connection-preview{background:linear-gradient(#66736e14 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#66736e14 1px,#0000 1px) 0 0/28px 28px,#f8fbf8;grid-template-columns:minmax(105px,.8fr) minmax(36px,.25fr) minmax(140px,1fr);align-items:center;gap:0;padding:18px;display:grid}.script-connection-room,.script-connection-corridor{border-radius:6px;gap:3px;min-height:76px;padding:10px;display:grid;box-shadow:0 8px 18px #1e2d281f}.script-connection-room{color:#2a170b;background:#f4a261;border:2px solid #c66b2d}.script-connection-corridor{color:#263025;background:#d8dec9;border:2px solid #8f9f73;min-height:54px}.script-connection-line{border-top:2px dashed #2b9a8e;height:2px}.script-connection-preview small{color:#55645e;grid-column:1/-1;margin-top:10px}.script-vertical-preview{background:#f8fbf8;gap:8px;padding:12px;display:grid}.script-vertical-floor{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;display:grid}.script-vertical-floor>span{color:#66736e;text-align:right;font-size:11px;font-weight:900}.script-vertical-floor>div{color:#23313a;background:#d6dde2;border:2px solid #8b98a0;border-radius:6px;gap:2px;min-height:38px;padding:8px 10px;display:grid;box-shadow:inset 24px 0 #ffffff57}.script-vertical-floor+.script-vertical-floor>div{position:relative}.script-vertical-floor+.script-vertical-floor>div:before{content:"";background:#8b98a0;width:2px;height:12px;position:absolute;top:-12px;left:21px}.script-vertical-preview p{color:#55645e}.script-diagnostics{background:#fbfcf8;border-top:1px solid #e4ebe6;grid-row:4;min-height:38px;max-height:96px;padding:8px 16px;overflow:auto}.script-diagnostics p{margin:0;font-size:12px;font-weight:800}.script-diagnostics .error{color:#9a2f2f}.script-diagnostics .warning{color:#8a640f}.script-modal-footer{background:#fff;border-top:1px solid #e4ebe6;grid-row:5;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.script-modal-footer button{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-height:38px;padding:0 14px;font-size:13px;font-weight:800}.script-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.script-footer-actions .primary-action{color:#1f615b;background:#d9f3ef;border-color:#2b9a8e;width:auto}.analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.saturation-panel,.top-panel{background:#fbfcf8;border:1px solid #c9d4ce;border-radius:8px;height:100%;min-height:560px;overflow:auto}.saturation-hero,.top-hero{background:#fff;border-bottom:1px solid #dfe6e1;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:start;gap:18px;padding:18px;display:grid}.saturation-hero span,.saturation-block h3,.top-hero span,.top-block h3{color:#66736e;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:900}.saturation-hero h2,.top-hero h2{color:#17201c;margin:4px 0 6px;font-size:24px;line-height:1.15}.saturation-hero p,.top-hero p{color:#55645e;max-width:680px;margin:0;line-height:1.45}.saturation-kpis,.top-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.saturation-grid,.top-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:0;display:grid}.saturation-block,.top-block{border-bottom:1px solid #dfe6e1;border-right:1px solid #dfe6e1;min-width:0;padding:16px}.saturation-block.wide,.top-block.wide{grid-row:span 2}.saturation-block h3,.top-block h3{margin:0 0 10px}.leaderboard-list,.proposal-list,.score-breakdown{gap:8px;display:grid}.leaderboard-row{background:#fff;border:1px solid #d9e2dc;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.leaderboard-row>strong{color:#16685f;background:#e4f3ee;border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.leaderboard-row h4,.proposal-card h4{color:#17201c;margin:0;font-size:13px;line-height:1.2}.leaderboard-row span,.proposal-card p,.proposal-card small{color:#66736e;font-size:11px;line-height:1.35}.leaderboard-row b{font-variant-numeric:tabular-nums;font-size:18px}.proposal-card{background:#fff;border:1px solid #d9e2dc;border-radius:8px;gap:10px;padding:12px;display:grid}.proposal-card header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.proposal-card header>span{color:#55645e;background:#edf2ee;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.proposal-card header strong{color:#17201c;font-variant-numeric:tabular-nums;font-size:22px}.proposal-card p{margin:2px 0 0}.score-track{background:#edf2ee;border-radius:999px;height:10px;overflow:hidden}.score-track span{border-radius:inherit;background:#2a9d8f;height:100%;display:block}.proposal-metrics,.score-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}.score-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-metrics{gap:8px;display:grid}.proposal-metrics .metric,.score-breakdown .metric{min-height:46px}.proposal-metrics .metric strong,.score-breakdown .metric strong{font-size:14px}.analysis-block{border-right:1px solid #dfe6e1;padding:16px}.analysis-block:last-child{border-right:0}.analysis-block .metric{margin-bottom:8px}.analysis-block p{color:#7c2d12;background:#fff7ed;border-radius:6px;margin:0 0 10px;padding:9px 10px;font-size:13px}.analysis-block p.ok{color:#166534;background:#ecfdf5}.rule-list{gap:8px;display:grid}.rule-list.compact{margin-top:10px}.simulation-hub{gap:10px;display:grid}.simulation-hub-header{gap:2px;display:grid}.simulation-hub-header h2{margin-bottom:0}.simulation-hub-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.simulation-hub-summary .metric{min-height:46px}.simulation-hub-summary .metric strong{font-size:15px}.simulation-panel-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.simulation-panel-tabs button{color:#33413b;cursor:pointer;text-align:left;background:#fff;border:1px solid #c5d0ca;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;min-height:46px;padding:7px 8px;display:grid}.simulation-panel-tabs button span{text-overflow:clip;white-space:normal;min-width:0;font-size:11px;font-weight:900;line-height:1.15;overflow:visible}.simulation-panel-tabs button strong{font-variant-numeric:tabular-nums;font-size:15px}.simulation-panel-tabs button.is-active{color:#174942;background:#e4f3ee;border-color:#2a9d8f}.simulation-hub-list{max-height:clamp(320px,58vh,560px);padding-right:2px;overflow:auto}.case-list{gap:8px;display:grid}.agent-layer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.simulation-hub .agent-layer-grid{margin-bottom:0}.agent-layer-grid button{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;min-height:34px;font-size:12px;font-weight:900}.agent-layer-grid button.is-active{color:#174942;background:#e4f3ee;border-color:#2a9d8f}.case-yaml-actions{flex-wrap:wrap;gap:6px;display:flex}.case-yaml-actions .icon-action{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;place-items:center;width:36px;min-height:36px;padding:0;display:grid}.case-yaml-actions .icon-action:hover{color:#174942;background:#e4f3ee;border-color:#2a9d8f}.case-yaml-actions .icon-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.case-yaml-file{color:#66736e;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:800}.case-yaml-diagnostics{gap:4px;margin-bottom:8px;display:grid}.case-yaml-diagnostics p{border-radius:6px;margin:0;padding:7px 8px;font-size:12px;font-weight:800;line-height:1.3}.case-yaml-diagnostics .error{color:#991b1b;background:#fee2e2}.case-yaml-diagnostics .warning{color:#80600f;background:#fff3c4}.case-item{color:#17201c;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e2dc;border-left-width:4px;border-radius:6px;gap:4px;width:100%;padding:8px 9px;display:grid}.case-item-with-action{align-items:stretch;gap:0;min-height:48px;padding:0;display:flex;overflow:visible}.case-select-action{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;align-content:center;gap:2px;padding:7px 7px 7px 9px;display:grid}.case-edit-action{color:#33413b;cursor:pointer;background:#fff;border:1px solid #c5d0ca;border-radius:6px;flex:0 0 30px;align-self:center;place-items:center;width:28px;height:28px;margin-right:6px;display:grid}.case-edit-action:hover{color:#174942;background:#e4f3ee;border-color:#2a9d8f}.case-edit-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.case-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.2;overflow:hidden}.case-item span,.case-item small{color:#66736e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.3;overflow:hidden}.case-item small{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-item.is-active{background:#e4f3ee;box-shadow:inset 0 0 0 1px #2a9d8f3d}.staff-item{cursor:default}.bottleneck-panel{gap:10px;display:grid}.bottleneck-summary{grid-template-columns:1fr;gap:8px;display:grid}.chart-list{gap:8px;display:grid}.chart-list h3{color:#66736e;letter-spacing:0;text-transform:uppercase;margin:2px 0 0;font-size:11px}.chart-row{background:#fff;border:1px solid #d9e2dc;border-radius:6px;gap:6px;padding:8px 9px;display:grid}.chart-row.compact{gap:5px}.chart-row-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart-row-head strong{color:#17201c;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.2;overflow:hidden}.chart-row-head span,.chart-row small{color:#66736e;font-size:11px;font-weight:700}.bar-track{background:#edf2ee;border-radius:999px;height:8px;overflow:hidden}.bar-track.large{height:12px}.bar-fill{border-radius:inherit;background:#2a9d8f;height:100%;display:block}.bar-fill.warn{background:#d9a441}.bar-fill.danger{background:#d65f50}.rule-category{gap:6px;padding-bottom:10px;display:grid}.rule-category h3{color:#66736e;text-transform:uppercase;margin:4px 0 0;font-size:11px}.rule-item{background:#fff;border:1px solid #d9e2dc;border-left-width:4px;border-radius:6px;gap:3px;padding:8px 9px;display:grid}.rule-item strong{font-size:12px;line-height:1.2}.rule-item span{color:#66736e;font-size:11px}.rule-item.ok{border-left-color:#2a9d8f}.rule-item.warn{background:#fffaf0;border-left-color:#e9c46a}.rule-item.fail{background:#fff5f2;border-left-color:#d62828}@media (width<=1180px){.workbench{grid-template-columns:220px minmax(0,1fr)}.workbench.without-left-panel,.workbench.without-left-panel.has-right-panel,.workbench.without-left-panel.without-right-panel{grid-template-columns:minmax(0,1fr)}.workbench.has-left-panel.without-right-panel{grid-template-columns:220px minmax(0,1fr)}.right-panel{border-top:1px solid #c9d4ce;border-left:0;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sim-controls{grid-template-columns:86px minmax(120px,1fr) 70px}.sim-controls select{grid-column:1/-1}}@media (width<=820px){.app-header,.workbench,.right-panel{grid-template-columns:1fr}.header-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-tabs{overflow-x:auto}.hospital-canvas,.simulation-stage,.table-panel,.saturation-panel,.top-panel,.analysis-grid{height:620px}.saturation-hero,.saturation-grid,.top-hero,.top-grid{grid-template-columns:1fr}.saturation-block.wide,.top-block.wide{grid-row:auto}.sim-controls{grid-template-columns:1fr 1fr}.sim-controls input[type=range],.sim-speed-presets,.sim-controls select{grid-column:1/-1}.modal-backdrop{place-items:stretch stretch;padding:6px}.script-modal{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.script-modal-header,.script-toolbar,.script-diagnostics,.script-modal-footer{padding-left:10px;padding-right:10px}.script-modal textarea{padding:12px 10px;font-size:12px}.script-info-backdrop{padding:10px}.script-info-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.script-info-header{flex-direction:column;align-items:stretch;padding:12px}.script-info-header button{align-self:flex-start}.script-info-body{padding:12px}.script-code-pair{grid-template-columns:1fr}.script-modal-footer{flex-direction:column-reverse;align-items:stretch}.script-footer-actions{justify-content:stretch}.script-footer-actions button,.script-modal-footer>button{flex:auto}.analysis-grid{grid-template-columns:1fr}}
