:root{--ink: #1d1a2c;--navy: #20324a;--cream: #fdfbf3;--panel: #f6f8fb;--white: #ffffff;--ok: #2b8a5e;--pending: #55657c;--error: #d93a40;--accent: #ff6b70;--yellow: #ffd75e;--steel: #6d88b0;--hud: rgba(32, 50, 74, .94)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--navy);color:var(--ink);font-family:Pixelify Sans,system-ui,sans-serif;font-size:14px}.app{display:grid;grid-template-rows:1fr auto;height:100%}.app__footer{display:flex;gap:12px;align-items:center;padding:2px 12px;background:var(--navy);border-top:2px solid var(--ink);color:var(--white)}.app__badge{padding:1px 8px;background:var(--white);color:var(--ink);border:2px solid var(--ink);font-family:VT323,monospace;font-size:18px}.screen{position:relative;display:flex;flex-direction:column;min-height:0;height:100%}.bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;min-height:56px;padding:6px 16px;background:var(--navy);color:var(--panel);border-bottom:4px solid var(--ink)}.bar--light{background:var(--cream);color:#1d2433;border-bottom-color:#1d2433}.bar__title{margin:0;font-size:24px;font-weight:700;letter-spacing:2px}.bar__sub{font-size:14px;color:#b8c4d6}.bar--light .bar__sub{color:#4b5266}.bar__grow{flex-grow:1}.sim-clock{font-family:VT323,monospace;font-size:24px;color:var(--accent);white-space:nowrap}.bar--light .sim-clock{color:#1d2433}.btn{font-family:inherit;font-size:14px;font-weight:600;min-height:40px;padding:6px 12px;background:var(--hud);color:var(--white);border:3px solid var(--steel);cursor:pointer}.bar--light .btn{background:var(--white);color:#1d2433;border-color:#1d2433}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:focus-visible,.hospital-tag:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--on{background:var(--accent);color:var(--navy);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.btn--accent{background:var(--yellow);color:#1d2433;border-color:#1d2433;box-shadow:3px 3px #1d2433}.btn--small{min-height:28px;padding:2px 8px}.btn--back{min-height:36px}.btn--select select{margin-left:6px;font:inherit}.group{display:flex;gap:4px}.banner{display:flex;gap:12px;align-items:center;justify-content:center;padding:8px 16px;font-weight:700;border-bottom:3px solid var(--ink)}.banner--offline{background:var(--error);color:var(--white)}.banner--problem{background:var(--yellow);color:var(--ink)}.screen--network{background:var(--cream);color:#1d2433}.network{display:flex;flex:1;min-height:0;overflow:auto}.network__map{position:relative;flex:none;background:#8cc06f}.pixel-canvas{image-rendering:pixelated;display:block}.hospital-tag{position:absolute;width:150px;display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;padding:4px 6px;background:var(--cream);border:3px solid #1d2433;font-family:inherit;cursor:pointer;color:#1d2433}.hospital-tag__name{font-size:14px;font-weight:700}.hospital-tag__pct{font-family:VT323,monospace;font-size:20px}.pill{font-size:11px;font-weight:700;padding:1px 5px}.route-label{position:absolute;padding:4px 8px;background:#2453b0;color:var(--white);font-size:13px;border:3px solid #1d2433;white-space:nowrap;pointer-events:none}.side{flex:none;width:360px;padding:16px;display:flex;flex-direction:column;gap:14px;background:var(--cream);border-left:4px solid #1d2433;overflow:auto}.side__note{font-size:12px;color:#4b5266;letter-spacing:1px}.card{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--white);border:3px solid #1d2433;box-shadow:4px 4px #1d2433}.card h2{margin:0;font-size:16px}.hosp{display:flex;flex-direction:column;gap:4px}.hosp__head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.segs{display:flex;gap:2px}.segs span{flex-grow:1;height:10px}.muted{margin:0;font-size:12px;color:#55657c}.stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#8fd3ff}.stage__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:grab;outline:none;touch-action:none}.stage__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--navy)}.hud{position:absolute;display:flex;flex-direction:column;gap:8px;pointer-events:none}.hud>*{pointer-events:auto}.hud--tl{left:16px;top:16px}.hud--tr{right:16px;top:16px;max-height:calc(100% - 100px);overflow:auto}.hud--bl{left:16px;bottom:16px;max-width:62%}.hud--br{right:16px;bottom:16px}.kpis{display:flex;gap:16px;padding:8px 14px;background:var(--hud);color:var(--white);border:3px solid var(--ink);font-family:VT323,monospace;font-size:20px}.chip{align-self:flex-start;padding:4px 10px;background:var(--hud);color:var(--white);border:2px solid var(--ink);font-size:12px}.feed{width:340px;display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:var(--hud);color:var(--white);border:2px solid var(--ink)}.feed__title{font-size:12px;font-weight:700;letter-spacing:1px}.feed__row{display:flex;gap:8px;align-items:center;font-family:VT323,monospace;font-size:17px}.feed__dot{width:8px;height:8px;flex-shrink:0;border:1px solid var(--ink)}.inspector{width:300px;display:flex;flex-direction:column;gap:10px;padding:14px;background:#fffffff5;color:var(--navy);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.inspector .btn{background:var(--hud)}.inspector__kicker{font-size:12px;letter-spacing:1px;color:#55657c}.inspector__head{display:flex;justify-content:space-between;align-items:baseline}.inspector__id{font-size:20px;font-weight:700}.inspector__sub{font-size:12px;font-weight:700}.risk{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.risk__score{font-family:VT323,monospace;font-size:34px;line-height:1}.vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.vital{display:flex;flex-direction:column;padding:4px 6px;border:2px solid var(--ink)}.vital__k{font-size:12px;color:#55657c}.vital__v{font-family:VT323,monospace;font-size:19px}.vital__v[data-flag=true]{color:#b3262b;font-weight:700}.factor{display:flex;align-items:center;gap:6px;font-size:12px}.factor__k{width:100px}.factor__bar{height:10px;border:1px solid var(--ink)}.factor__v{font-family:VT323,monospace;font-size:16px}.facts{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:12px}.facts dt{color:#55657c}.facts dd{margin:0;word-break:break-all}.spark{margin:0;font-size:11px;color:#55657c}.spark--empty{padding:6px;border:2px dashed #b8c4d6}.error{margin:0;color:#b3262b;font-size:12px}.presets{display:flex;flex-wrap:wrap;gap:6px}.legend{padding:8px 12px;background:var(--hud);color:var(--white);border:2px solid var(--ink);font-size:12px;line-height:1.5}.legend__xray{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}.legend__xray span{display:flex;align-items:center;gap:4px}.legend__xray i{width:10px;height:10px;border:1px solid var(--ink)}.scenario{position:relative}.scenario__menu{position:absolute;right:0;top:46px;z-index:20;display:flex;flex-direction:column;gap:6px;min-width:200px;padding:10px;background:var(--white);color:#1d2433;border:3px solid #1d2433;box-shadow:4px 4px #1d2433}.scenario__menu .btn{background:var(--white);color:#1d2433;border-color:#1d2433}.scenario__active{position:absolute;right:0;top:46px;z-index:10;margin:0;padding:6px 10px;list-style:none;background:var(--white);color:#1d2433;border:3px solid #1d2433;font-size:12px}.scenario__active li{display:flex;gap:8px;align-items:center;justify-content:space-between}.scenario__menu+.scenario__active{top:250px}.plan{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:8px;padding:70px 340px 16px 16px;background:#20324a}.plan__tabs{display:flex;gap:6px}.plan__svg{flex:1;min-height:0;width:100%;background:#8fd3ff;border:3px solid var(--ink)}.backend-status{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0 8px;color:var(--white);font-family:VT323,monospace;font-size:18px}.backend-status__dot{width:12px;height:12px;border:2px solid var(--ink);background:var(--pending)}.backend-status--ok .backend-status__dot{background:var(--ok)}.backend-status--error .backend-status__dot{background:var(--error)}@media (max-width: 900px){.network{flex-direction:column}.side{width:auto}.hud--tr{position:static}}.forecast{width:340px;display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--hud);color:var(--white);border:2px solid var(--ink)}.forecast .muted{color:#b8c4d6}.forecast .error{color:#ff9b9f}.bars{display:flex;gap:6px;align-items:flex-end;height:54px}.bars__col{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px}.bars__col i{display:block;width:100%;background:#6d88b0;border:1px solid var(--ink)}.bars__col b{font-family:VT323,monospace;font-size:14px;font-weight:400}.full{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin:0;padding:0;list-style:none;font-family:VT323,monospace;font-size:17px}.full li{display:flex;justify-content:space-between;gap:6px}.agent{width:340px;display:flex;flex-direction:column;gap:4px;padding:8px 10px;margin-bottom:8px;background:var(--hud);color:var(--white);border:2px solid var(--ink)}.agent__title{background:none;border:0;color:inherit;text-align:left;cursor:pointer;padding:0}.agent .muted{color:#b8c4d6}.rec__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rec{border:2px solid var(--ink);padding:6px 8px;background:#ffffff0f}.rec--pending{border-color:#ffd166}.rec__head{display:flex;justify-content:space-between}.rec__what{font-size:13px}.rec__why{margin:4px 0;font-size:12px;color:#dbe4f0}.rec__metrics{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:4px}.chip--small{font-size:10px;padding:1px 6px}.rec__label{font-size:11px;color:#ffd166;margin-bottom:4px}.rec__buttons{display:flex;gap:6px}.drawer{position:fixed;top:56px;right:0;bottom:0;width:min(560px,100%);z-index:20;overflow:auto;padding:12px 16px;background:var(--panel);color:var(--ink);border-left:3px solid var(--ink);display:flex;flex-direction:column;gap:10px}.drawer__head{display:flex;align-items:center;gap:8px}.drawer__head h2{flex:1;margin:0;font-size:18px}.heat{border-collapse:collapse;font-size:12px;margin-top:6px}.heat th,.heat td{border:1px solid #c7d0dc;padding:2px 8px;text-align:right}.heat th[scope=row]{text-align:left}.heat__resp{font-weight:700}.heat__ok{background:#cdeccd}.heat__watch{background:#ffe9a8}.heat__alert{background:#ff9b9f;font-weight:700}.audit__filters{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;margin-bottom:6px}.audit__list{list-style:none;margin:0;padding:0;font-size:12px;display:flex;flex-direction:column;gap:3px}.fed__run{display:flex;align-items:center;gap:10px;margin:8px 0}.fed__gates{margin:6px 0;padding-left:18px;font-size:12px}.fed__switch{margin-top:10px;display:flex;flex-direction:column;gap:4px;font-size:13px}.ask{width:340px;display:flex;flex-direction:column;gap:4px;padding:8px 10px;margin-bottom:8px;background:var(--hud);color:var(--white);border:2px solid var(--ink)}.ask .muted{color:#b8c4d6}.ask__form{display:flex;flex-wrap:wrap;gap:6px}.ask__form input{flex:1;min-width:140px;padding:3px 6px;border:2px solid var(--ink);font:inherit}.ask__live{padding:4px 6px;background:#ffffff1a;font-style:italic}.ask__answer{border:2px solid #ffd166;padding:6px 8px}.ask__answer p{margin:4px 0;font-size:14px}.ask__entities{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}.ask__entities li{display:flex;justify-content:space-between;align-items:center}.ask__buttons{display:flex;justify-content:space-between;align-items:center;font-size:12px}
