/* opsline.css — the opsline screen. */
/* ── ops timeline ───────────────────────────────────────────────────────── */
.olsum{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:2px 0 10px;
 font-size:12px;color:var(--dim)}
.olsum b{color:var(--txt);font-family:var(--mono)}
.otnote{padding:8px 2px 2px;font-size:11px;line-height:1.5;color:var(--faint)}
.olsum .olnat{font-style:normal;color:var(--acc);font-size:11px;font-weight:700}
.olsum .bad{color:var(--bad)} .olsum .ok{color:var(--air)}
.olsum .olz{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--faint)}
.olscroll{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:12px;
 background:var(--surface);position:relative;-webkit-overflow-scrolling:touch}
.olinner{position:relative;height:24px}
.olruler{position:relative;height:24px;border-bottom:1px solid var(--line)}
.oltick{position:absolute;top:0;height:24px;border-left:1px solid var(--line);padding-left:4px;
 font-family:var(--mono);font-size:10px;color:var(--faint);white-space:nowrap;line-height:24px}
.oltick.day{border-left-color:var(--dim)} .oltick.day span{color:var(--txt);font-weight:700}
.olnow{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--acc);z-index:6;
 pointer-events:none}
.olnow span{position:absolute;top:2px;left:3px;font-size:10px;font-weight:700;color:var(--acc);
 text-transform:uppercase;letter-spacing:.5px}
.olrows{position:relative;width:max-content;min-width:100%}
.olrow{display:flex;align-items:stretch;border-top:1px solid var(--line);min-height:38px}
.oltail{position:sticky;left:0;z-index:5;flex:0 0 92px;background:var(--surface);
 border-right:1px solid var(--line);padding:6px 8px;display:flex;flex-direction:column;
 justify-content:center;gap:1px}
.oltail b{font-family:var(--mono);font-size:12px;letter-spacing:-.2px}
.oltail small{font-size:10px;color:var(--faint)}
.oltail .olwarn{font-style:normal;color:var(--bad);font-weight:700}
.oltrack{position:relative;flex:1 0 auto;min-height:38px}
.olbar{position:absolute;top:5px;bottom:5px;border-radius:4px;border:1px solid transparent;
 padding:0 5px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;
 gap:0;cursor:pointer;text-align:left;font-family:var(--sans);min-width:3px}
.olbar .olnum{font-family:var(--mono);font-size:10px;font-weight:700;line-height:1.1;
 white-space:nowrap}
.olbar .olrt{font-size:10px;opacity:.75;line-height:1.1;white-space:nowrap}
.olbar.pdep{background:color-mix(in srgb,var(--acc) 16%,transparent);
 border-color:color-mix(in srgb,var(--acc) 38%,transparent);color:var(--txt)}
.olbar.enrt{background:color-mix(in srgb,var(--air) 26%,transparent);
 border-color:var(--air);color:var(--txt)}
.olbar.arvd{background:color-mix(in srgb,var(--dim) 14%,transparent);
 border-color:var(--line);color:var(--dim)}
.olbar.cnld{background:repeating-linear-gradient(45deg,transparent,transparent 3px,
 color-mix(in srgb,var(--dim) 18%,transparent) 3px,color-mix(in srgb,var(--dim) 18%,transparent) 6px);
 border-color:var(--line);color:var(--faint);text-decoration:line-through}
.olbar.flt-tight{border-color:var(--trn);box-shadow:inset 2px 0 0 var(--trn)}
.olbar.flt-overlap,.olbar.flt-broken{border-color:var(--bad);box-shadow:inset 2px 0 0 var(--bad)}
.olbar.short::after{content:'';position:absolute;top:3px;right:3px;width:5px;height:5px;
 border-radius:50%;background:var(--bad)}
.olbar:hover{filter:brightness(1.25)}
.olfaults{display:flex;flex-direction:column;gap:6px}
.olfault{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;width:100%;text-align:left;
 padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);
 cursor:pointer;border-left-width:3px}
.olfault.tight{border-left-color:var(--trn)}
.olfault.overlap,.olfault.broken{border-left-color:var(--bad)}
.olfault:hover{border-color:var(--dim)}
.olfreg{font-family:var(--mono);font-size:11px;font-weight:700}
.olfnum{font-family:var(--mono);font-size:11px;color:var(--dim)}
.olftxt{font-size:12px;flex:1 1 200px}
.olfwhen{font-family:var(--mono);font-size:10px;color:var(--faint);margin-left:auto}
@media(max-width:640px){.oltail{flex:0 0 68px;padding:5px 6px}.olsum .olz{display:none}}
