/* 2.98.0: Availability (public/uptime.js) */
.up-off { border-inline-start: 4px solid var(--warn, #d97706); }
.up-parts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 14px; margin: 8px 0; }
.up-part { display: flex; align-items: center; gap: 8px; min-width: 0; }
.up-part span[dir] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.up-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: #9ca3af; }
.up-dot.up { background: #16a34a; }
.up-dot.degraded { background: #d97706; }
.up-dot.down { background: #dc2626; }
.up-strip { display: flex; gap: 2px; height: 34px; align-items: stretch; margin: 8px 0 4px; direction: ltr; }
.up-strip i { flex: 1; border-radius: 2px; background: #e5e7eb; min-width: 2px; }
.up-strip i.up-green { background: #16a34a; }
.up-strip i.up-amber { background: #d97706; }
.up-strip i.up-red { background: #dc2626; }
.up-strip-foot { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; direction: ltr; }
.up-total { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0; }
.up-total > div { display: flex; flex-direction: column; gap: 2px; padding: 8px 14px; border: 1px solid var(--border, #e5e7eb); border-radius: 8px; min-width: 120px; }
.up-total b { font-size: 1.5em; }
.tag.up-yes { background: #dcfce7; color: #166534; }
.up-hours input[type=time] { width: auto; }
.up-token { word-break: break-all; user-select: all; }
