.run-identifiers { display:inline-flex; align-items:stretch; max-width:100%; border:1px solid #dce5d4; border-radius:10px; background:#f0f5e9; margin-bottom:9px; overflow:hidden; }
.run-identifiers .run-field { display:flex; align-items:center; justify-content:center; text-align:center; gap:7px; padding:7px 10px; }
.app .run-identifiers .run-label, .app .run-identifiers strong { display:inline-flex; align-items:center; justify-content:center; align-self:stretch; min-height:28px; margin:0; text-align:center; line-height:1; }
.run-identifiers .run-field + .run-field { border-left:1px solid #d4dfcc; }
.app .run-identifiers .run-label { color:#536448; font-size:10px; font-weight:600; letter-spacing:.4px; }
.app .run-identifiers strong { color:#152820; font-size:18px; font-weight:800; line-height:1; }
.app .run-identifiers .run-block strong { font-size:16px; }
.app .leg-main .run-trip { margin-top:5px; }
.app.large-text .run-identifiers .run-label { font-size:12px; }
.app.large-text .run-identifiers strong { font-size:21px; }
.app.large-text .run-identifiers .run-block strong { font-size:19px; }
@media(max-width:380px) { .run-identifiers .run-field { padding:7px 8px; gap:5px; } }

/* Equal flex-box centres can still look uneven with different font sizes. */
.app .run-identifiers .run-label { transform:translateY(1px); }
.app .leg.pause .activity > svg { color:#e52330; flex-shrink:0; transform-origin:center; animation:pause-cup-breathe 2.8s ease-in-out infinite; }
@keyframes pause-cup-breathe {
  0%,100% { transform:translateY(0) scale(1); }
  50% { transform:translateY(-1px) scale(1.08); }
}
@media (prefers-reduced-motion:reduce) { .app .leg.pause .activity > svg { animation:none; } }
@media print { .app .leg.pause .activity > svg { animation:none; } }

.app .sheet-heading h2,
.app .sheet-heading h2 span,
.app .metrics strong { font-weight:700; }
