/* Book This Ride additions on top of the hub's dispatch-board styles (hub.css). */
.btr-inline { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.hub-tab { text-decoration: none; display: inline-block; }

/* Phone: six labels do not fit one scrolling row (Settings was clipped to "Set…").
   A bottom bar gives each tab an equal share of a 412px screen. */
@media (max-width: 720px) {
  .hub-tabs {
    position: fixed; left: 0; right: 0; bottom: 0; top: auto;
    display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0; overflow: visible;
    padding: 0 2px env(safe-area-inset-bottom);
    border-bottom: 0; border-top: 1px solid var(--rule);
    z-index: 30;
  }
  .hub-tab {
    display: flex; align-items: center; justify-content: center;
    min-width: 0; padding: 8px 1px 7px;
    font-size: 10px; line-height: 1.15; letter-spacing: 0;
    text-align: center; white-space: normal;
    border-bottom: 0; border-top: 2px solid transparent;
  }
  .hub-tab.active { border-bottom-color: transparent; border-top-color: var(--blue); }
  .hub-main { padding-bottom: calc(env(safe-area-inset-bottom) + 58px); }
}
.btr-flash { margin: 12px 18px 0; padding: 10px 12px; border-radius: 6px; background: var(--blue-soft); color: var(--blue); font-size: 13px; }
.btr-flash-err { background: var(--danger-soft); color: var(--danger); }
.btr-wrap { padding: 8px 18px 40px; }
.btr-auth { max-width: 420px; margin: 0 auto; padding: 28px 18px 60px; }
.btr-auth h1 { color: var(--white); font-size: 22px; margin: 0 0 6px; }
.btr-auth h1.hub-brand img { width: 36px; height: 36px; }
.btr-auth p { color: var(--muted); font-size: 14px; }
.btr-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 12px 0 6px; }
.btr-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.btr-muted { color: var(--muted); font-size: 12px; }
.btr-cal-cell { text-decoration: none; }
.hub-cal-job a { color: inherit; text-decoration: none; }
.btr-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.btr-code { font-family: ui-monospace, Menlo, monospace; font-size: 12px; word-break: break-all; color: var(--chrome); }

/* Light theme: white page, black type, blue actions; header stays black to carry the logo. */
body { --ink:#FFFFFF; --chrome:#111111; --white:#000000; --muted:#5F6368; --muted-soft:rgba(0,0,0,.06);
  --rule:#E3E3E3; --panel:#F5F7FB; --raised:#FFFFFF; --ink-soft:#BBBBBB; --blue-soft:rgba(30,91,255,.08);
  background:#fff; color:#111; }
.hub-header, .hub-tabs { --ink:#000; --white:#FFFFFF; --chrome:#EDEDED; --muted:#A0A0A0; --rule:#222;
  background:#000; color:#EDEDED; }
.hub-header { border-bottom:0; }
input:not([type=checkbox]):not([type=radio]), select, textarea { background:#fff !important; border:1px solid #CFCFCF !important; color:#000 !important; }
input:focus, select:focus, textarea:focus { border-color:var(--blue) !important; outline:none; box-shadow:0 0 0 3px rgba(30,91,255,.15); }
.hub-button, .hub-button-publish, .hub-assign-text, .hub-cal-cell.is-selected, .hub-cal-btn { color:#fff !important; }
.hub-cal-btn { background:var(--blue); border-color:var(--blue); }
.hub-button-secondary { color:var(--blue) !important; background:#fff; }
.btr-flash { background:var(--blue-soft); border:1px solid rgba(30,91,255,.3); color:#000; }
.btr-flash .hub-link-btn { color:var(--blue); font-weight:800; }
input[type=checkbox] { accent-color:var(--blue); }
.hub-main > .hub-panel { padding-left: 18px; padding-right: 18px; }
.hub-main > .hub-panel .hub-section-title { padding-left: 0; padding-right: 0; }
.hub-main > .btr-flash, .hub-main > #pwa-install { margin-left: 18px; margin-right: 18px; }
/* Header brand: big pin, two-tone wordmark. */
.hub-brand { gap: 10px; }
.hub-brand .btr-logo { width: 48px; height: 48px; overflow: hidden; border-radius: 12px; flex: none; display: block; }
.hub-brand .btr-logo img { width: 48px; height: 48px; transform: none; display: block; }
.btr-wm { font-size: 24px; font-weight: 800; letter-spacing: -.035em; line-height: 1; white-space: nowrap; }
.btr-wm-a { color: #fff; }
.btr-wm-b { color: var(--blue); margin-left: .22em; }
.hub-header { padding-bottom: 12px; }
.btr-auth .hub-brand .btr-wm-a { color: #000; }
.hdr .btr-wm-a { color: inherit; }
