.operations-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);align-items:stretch}
.map-panel{display:flex;flex-direction:column;min-width:0}
.map-panel #map{flex:1;min-height:500px}
.team-panel{min-width:0}
body .team-panel .panel-heading{align-items:flex-start;padding:16px 18px}
body .team-panel .panel-heading h3{font-size:20px;line-height:1.3;margin:4px 0 0}
body .team-presence-hint{max-width:42rem;margin:6px 0 0;color:#65756e;font-size:12px;line-height:1.4;font-weight:400}
body #workerList{display:grid;gap:14px;max-height:430px;overflow:auto;padding:12px;align-content:start;scrollbar-gutter:stable;overscroll-behavior:contain;min-width:0}
#workerList .team-role-heading{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;align-items:baseline;margin-bottom:6px}
#workerList .team-role-heading h4{margin:0;font-size:14px;line-height:1.4;font-weight:600;color:var(--ink)}
#workerList .team-role-heading>span{font-size:11px;color:#64756d;font-weight:500}
#workerList .team-role-people{display:grid;gap:8px}
#workerList .team-person{min-width:0;border:1px solid #d9dfda;border-left:3px solid #b2bab4;border-radius:10px;padding:10px 12px;background:#f0f1ee;color:#59635e}
.team-person.is-scheduled{border-color:#abd6c3;border-left-color:#247854;background:linear-gradient(120deg,#eff9f2,#fffdf8);color:var(--ink)}
.team-person.needs-contact{border-left-color:#c18121}
#workerList .team-person.is-scheduled{border-color:#abd6c3;border-left-color:#247854;background:linear-gradient(120deg,#eff9f2,#fffdf8);color:var(--ink)}
#workerList .team-person.needs-contact{border-left-color:#c18121}
#workerList .team-person-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
#workerList .team-person-name{display:flex;align-items:center;gap:7px;min-width:0}
#workerList .team-person-name strong{font-size:14px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
#workerList .team-avatar{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:7px;background:#e0e3de;color:#59635e;font-size:10px;font-weight:700}
.is-scheduled .team-avatar{background:#d8eddf;color:#154c34}
#workerList .is-scheduled .team-avatar{background:#d8eddf;color:#154c34}
#workerList .team-person-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;margin-top:8px;align-items:start}
#workerList .team-person-facts>div{min-width:0}
#workerList .team-duty{display:block;margin:0;color:#6a756e;font-size:12px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
#workerList .is-scheduled .team-duty{color:#246341}
#workerList .team-connection{display:inline-flex;align-items:center;gap:5px;max-width:145px;min-height:26px;box-sizing:border-box;padding:5px 7px;border-radius:6px;background:#e1e4df;color:#526158;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:0;overflow-wrap:anywhere}
#workerList .is-scheduled .connection-online{background:#176442;color:#fff}
#workerList .is-scheduled .connection-offline{background:#ffedc9;color:#835010}
#workerList .is-scheduled .connection-unknown,#workerList .connection-stale{background:#e9e7de;color:#686257}
.team-connection i{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:currentColor}
.is-scheduled .connection-online{background:#176442;color:#fff}
.is-scheduled .connection-offline{background:#ffedc9;color:#835010}
.is-scheduled .connection-unknown,.connection-stale{background:#e9e7de;color:#686257}
#workerList .team-last-contact{display:grid;gap:2px;min-width:0;margin:0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#workerList .team-last-contact>span{font-size:11px;color:#69776d;font-weight:400}
#workerList .team-last-contact>strong{font-size:12px;font-weight:500}
#workerList .team-last-contact>small{font-size:11px;color:#69776d;font-weight:400}
#workerList .team-schedule-time,#workerList .team-gps{margin:3px 0 0;font-size:12px;line-height:1.4;font-weight:400;overflow-wrap:anywhere}
#workerList .team-gps{margin-top:7px;padding-top:6px;border-top:1px solid rgba(16,43,45,.08);color:#69776d}
#workerList .team-gps.gps-warning{color:#946518}
.team-role-empty{margin:0;padding:16px;background:#f4f4ef;border-radius:10px;font-size:12px;color:#78827a}
.team-connection-warning{grid-column:1/-1;margin:0;padding:12px;background:#fff0d4;border-radius:10px;color:#805414;font-size:12px;line-height:1.5}
@media(max-width:1250px){.operations-grid{grid-template-columns:1fr}.map-panel #map{min-height:380px}body #workerList{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px}}
@media(max-width:680px){body #workerList{grid-template-columns:1fr;padding:10px;max-height:430px}.map-panel #map{min-height:300px}body .team-panel .panel-heading{padding:14px}#workerList .team-person{padding:10px}#workerList .team-person-facts{gap:6px 10px}}
