.buses-page { margin: 0; background: #f5f3ed; color: #1d2823; }
.buses-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); min-height: 100vh; }
.buses-sidebar { padding: 18px; border-right: 1px solid #d9d5ca; background: #eeebe2; }
.buses-main { min-width: 0; padding: 18px; }
.buses-card { border: 1px solid #d9d5ca; border-radius: 12px; background: #fffdf8; box-shadow: 0 4px 16px rgba(23, 37, 31, .06); }
.buses-card h1, .buses-card h2, .buses-card h3 { margin-top: 0; }
.buses-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.buses-heading-row h2, .buses-heading-row h3 { margin-bottom: 0; }
.bus-status { min-height: 22px; margin: 0 0 12px; color: #315b4b; font-weight: 600; }
.bus-status.error { color: #a12626; }
.bus-project-list { display: grid; gap: 8px; margin-top: 14px; }
.bus-project-button { width: 100%; padding: 11px; border: 1px solid #d6d2c7; background: white; color: #1d2823; text-align: left; }
.bus-project-button.active { border-color: #0d6547; box-shadow: inset 4px 0 #0d6547; }
.bus-project-button strong, .bus-project-button span { display: block; }
.bus-project-button span { margin-top: 3px; color: #68736e; font-size: 12px; }
.bus-search-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 5px; }
.bus-form { display: grid; gap: 13px; max-width: 900px; }
.bus-form label { margin: 0; }
.bus-form input, .bus-form select, .bus-form textarea { width: 100%; margin-top: 5px; }
.bus-field-help { display:block; max-width:760px; margin-top:5px; color:#68736e; font-weight:500; line-height:1.35; }
.bus-privacy { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; max-width: 760px; font-weight: 500; }
.bus-privacy input { width: auto; margin: 4px 0 0; }
.bus-actions { display: flex; gap: 9px; flex-wrap: wrap; }
button.secondary { border: 1px solid #0d6547; background: white; color: #0d6547; }
.bus-empty { min-height: 180px; display: grid; place-items: center; color: #68736e; text-align: center; }
.bus-project-heading { align-items: flex-start; }
.bus-eyebrow { margin: 0 0 3px; color: #0d6547; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bus-link-button { display: inline-block; padding: 9px 13px; border-radius: 7px; background: #0d6547; color: white; text-decoration: none; font-weight: 700; }
.bus-stats { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: 10px; margin: 18px 0; }
.bus-stat { padding: 12px; border-radius: 9px; background: #f0eee7; }
.bus-stat strong, .bus-stat span { display: block; }
.bus-stat strong { font-size: 21px; }
.bus-stat span { color: #68736e; font-size: 12px; }
.bus-edit-grid { max-width: none; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr); }
.bus-registration-editor, .bus-edit-actions { grid-column: 1 / -1; }
.bus-vehicle-heading { margin: 24px 0 9px; }
.bus-table-wrap { overflow-x: auto; }
.bus-table { width: 100%; border-collapse: collapse; background: white; }
.bus-table th, .bus-table td { padding: 9px 10px; border-bottom: 1px solid #e5e1d7; text-align: left; vertical-align: top; }
.bus-table th { background: #efede6; font-size: 12px; text-transform: uppercase; }
.bus-badge { display: inline-block; padding: 3px 7px; border-radius: 999px; background: #e7ebe8; font-size: 12px; }
.bus-badge.live, .bus-badge.succeeded { background: #d9f1e6; color: #07593c; }
.bus-badge.failed, .bus-badge.error { background: #f7dede; color: #8b2424; }
.bus-badge.running, .bus-badge.queued { background: #f7eccd; color: #714f00; }
.bus-jobs { margin-top: 22px; }
.bus-job { display: grid; grid-template-columns: 90px 110px minmax(0, 1fr) auto; gap: 10px; padding: 8px 0; border-top: 1px solid #e5e1d7; align-items: center; }
@media (max-width: 850px) {
  .buses-layout { grid-template-columns: 1fr; }
  .buses-sidebar { border-right: 0; }
  .bus-stats { grid-template-columns: repeat(2, 1fr); }
  .bus-edit-grid { grid-template-columns: 1fr; }
  .bus-job { grid-template-columns: 80px 90px 1fr; }
  .bus-job time { grid-column: 3; }
}
