:root{--bg:#16191f;--panel:#1f242c;--panel-2:#262c36;--line:#333b47;--text:#e8ecf1;--muted:#98a2b3;--accent:#5cc8b0;--accent-2:#f2b84b;--danger:#e36c6c;--good:#6fcf97;--info:#7fb3d5;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}#app{grid-template-rows:48px 1fr 110px;height:100vh;display:grid}#topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:0 14px;display:flex;position:relative}#topbar .brand{letter-spacing:.5px;color:var(--accent);font-weight:700}#topbar .stat{flex-direction:column;line-height:1.1;display:flex}#topbar .stat small{color:var(--muted);font-size:11px}#topbar .stat b{font-size:15px}#topbar .spacer{flex:1}#topbar .speed{white-space:nowrap}#topbar .toast-slot{z-index:20;pointer-events:none;position:absolute;top:calc(100% + 6px);left:14px}#topbar .pill.toast{white-space:normal;max-width:320px;padding:5px 10px;font-size:12.5px;line-height:1.3;box-shadow:0 2px 8px #00000073}#topbar .speed button{min-width:36px}#topbar .autopause.on{background:var(--accent);color:#0f1216;border-color:var(--accent);font-weight:700}#topbar .autopause.off{color:var(--muted);text-decoration:line-through}@media (max-width:1100px){#topbar{gap:8px;padding:0 8px}#topbar .brand{display:none}#topbar .stat small{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}#topbar .speed button{min-width:28px;padding:6px 5px}#topbar>button{padding:6px 7px}}#main{grid-template-columns:1fr clamp(330px,36vw,460px);min-height:0;display:grid}#floor{background:#0f1216;min-width:0;position:relative}#floor-canvas{position:absolute;inset:0}#side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}#tabs{border-bottom:1px solid var(--line);display:flex}#tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:10px;font-weight:600}#tabs button.active{color:var(--text);border-bottom:2px solid var(--accent)}#panel{flex:1;padding:10px 12px;overflow-y:auto}#log{border-top:1px solid var(--line);background:#12151a;padding:6px 14px;font-size:12.5px;overflow-y:auto}#log .entry{gap:8px;line-height:1.5;display:flex}#log .entry .t{color:var(--muted);min-width:70px}#log .good{color:var(--good)}#log .bad{color:var(--danger)}#log .money{color:var(--accent-2)}#log .build{color:var(--info)}button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#0f1216;border-color:var(--accent);font-weight:700}button.warn{border-color:var(--accent-2);color:var(--accent-2)}button.danger{border-color:var(--danger);color:var(--danger)}button.active{outline:2px solid var(--accent)}h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:10px 0 6px;font-size:13px}h2{margin:4px 0 8px;font-size:17px}.muted{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:8px 10px}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--accent)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.card.attention{border-left:3px solid var(--accent-2)}.pill{color:var(--text);background:#333b47;border-radius:10px;padding:1px 7px;font-size:11px;display:inline-block}.pill.decision{background:var(--accent-2);color:#111}.pill.hospitalized{background:var(--info);color:#111}.pill.treating,.pill.testing,.pill.consult{background:#4b5668}.pill.pending_results{background:#6b5e8e}.pill.toast{background:var(--accent-2);color:#111;font-weight:600}.patience-warn{color:var(--accent-2);font-size:12px;font-weight:600}.bar{background:#333b47;border-radius:3px;height:6px;overflow:hidden}.bar>i{background:var(--good);height:100%;display:block}.bar.low>i{background:var(--accent-2)}.bar.crit>i{background:var(--danger)}.bar.prob>i{background:var(--info)}.evidence{flex-wrap:wrap;gap:4px;margin:4px 0;display:flex}.evidence .tok{background:#2f3744;border-radius:4px;padding:2px 6px;font-size:12px}.evidence .tok.owner{border-left:2px solid var(--accent-2)}.evidence .tok.exam{border-left:2px solid var(--accent)}.evidence .tok.test{border-left:2px solid var(--info)}.diff{grid-template-columns:1fr 52px;align-items:center;gap:6px;margin:3px 0;display:grid}.diff .name{font-weight:600}.diff .pct{text-align:right;font-variant-numeric:tabular-nums}.actions{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.action{border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:6px;margin-bottom:5px;padding:6px 8px;display:grid}.action .meta{color:var(--muted);font-size:11.5px}.action.unavailable{opacity:.6}.caselog{color:var(--muted);max-height:140px;margin-top:6px;font-size:12px;overflow-y:auto}.budget{font-size:12.5px}.tier{color:var(--muted);font-size:12px}table{border-collapse:collapse;width:100%;font-size:12.5px}td,th{text-align:right;border-bottom:1px solid var(--line);padding:3px 4px}td:first-child,th:first-child{text-align:left}input[type=range]{width:100%}#modal{z-index:10;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal[hidden]{display:none}#modal .box{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:460px;max-height:80vh;padding:18px 22px;overflow-y:auto}.guide{font-size:13px;line-height:1.5}.guide li{margin-bottom:4px}.kv{grid-template-columns:1fr auto;gap:2px 10px;font-size:13px;display:grid}.skill{min-width:54px;color:var(--muted);font-size:11.5px;display:inline-block}#modal .box.doors{width:min(900px,100vw - 32px);max-height:90vh}.door-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-top:10px;display:grid}.door h3{margin:4px 0 6px}.door p{margin:4px 0;font-size:13px}.door .actions{flex-direction:column;align-items:stretch}.door.unavailable{opacity:.55}.card.theirs{opacity:.72}#tabs button[hidden]{display:none}.portrait-wrap{border-radius:50%;flex:none;line-height:0;display:inline-flex;box-shadow:0 1px 3px #00000059}.portrait-wrap svg{border-radius:50%;display:block}
