
  @import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap');

  :root {
    --rust: #b8562e;
    --rust-dark: #8f4222;
    --asphalt: #2a2823;
    --asphalt-soft: #3d3a33;
    --sand: #f3ede0;
    --sand-dim: #e6dcc7;
    --olive: #64714f;
    --olive-dark: #4d5940;
    --line: #cbbfa2;
    --danger: #a13a2f;
  }

  * { box-sizing: border-box; }

  #app-root {
    font-family: 'IBM Plex Sans', sans-serif;
    background: var(--sand);
    color: var(--asphalt);
    min-height: 100%;
    padding: 0;
  }

  .header {
    background: var(--asphalt);
    color: var(--sand);
    padding: 22px 24px 18px;
    position: relative;
    overflow: hidden;
  }

  .header .roadline {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background-image: repeating-linear-gradient(90deg, var(--rust) 0 28px, transparent 28px 46px);
  }

  .header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 14px;
  }

  .header h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0;
    font-weight: 700;
  }

  .header .subtitle {
    font-size: 12.5px;
    color: var(--sand-dim);
    margin-top: 4px;
    opacity: 0.85;
  }

  .header-trip-select {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 420px;
  }
  .header-trip-select label {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--sand-dim);
    opacity: 0.75;
  }
  .header-trip-select select {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid #55503f;
    background: var(--asphalt-soft);
    color: var(--sand);
    min-width: 240px;
  }
  .new-trip-link {
    align-self: flex-start;
    background: transparent;
    border: none;
    color: var(--rust);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 2px 0 0;
    text-decoration: underline;
  }
  .new-trip-link:hover { color: var(--sand); }

  .gauges {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
  }

  .gauge {
    background: var(--asphalt-soft);
    border: 1px solid #55503f;
    border-radius: 8px;
    padding: 8px 14px;
    min-width: 108px;
    text-align: right;
  }

  .gauge .g-label {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--sand-dim);
    opacity: 0.75;
  }

  .gauge .g-value {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 19px;
    font-weight: 600;
    color: var(--rust);
    letter-spacing: 0.5px;
  }

  .mode-bar {
    background: var(--sand-dim);
    border-bottom: 1px solid var(--line);
    padding: 8px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .badge {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 600;
  }

  .badge.view { background: #ddd3ba; color: var(--asphalt-soft); }
  .badge.edit { background: var(--olive); color: var(--sand); }

  .mode-btn {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 8px;
    border: 1px solid var(--asphalt);
    background: var(--sand);
    color: var(--asphalt);
    cursor: pointer;
  }
  .mode-btn:hover { background: var(--asphalt); color: var(--sand); }
  .mode-btn.exit { border-color: var(--danger); color: var(--danger); }
  .mode-btn.exit:hover { background: var(--danger); color: var(--sand); }

  .tabs {
    display: flex;
    gap: 4px;
    padding: 16px 24px 0;
    background: var(--sand);
    border-bottom: 1px solid var(--line);
  }

  .tab {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.2px;
    padding: 10px 18px;
    cursor: pointer;
    border: none;
    background: transparent;
    color: var(--asphalt-soft);
    border-radius: 8px 8px 0 0;
    margin-bottom: -1px;
  }
  .tab:hover { background: var(--sand-dim); }
  .tab.active { background: white; color: var(--rust-dark); box-shadow: inset 0 2px 0 var(--rust); }
  .tab.active:hover { background: white; }

  .panel {
    padding: 20px 24px 40px;
  }

  .table-card {
    background: white;
    border-radius: 12px;
    border: 1px solid var(--line);
    box-shadow: 0 1px 3px rgba(42,40,35,0.08);
    overflow: hidden;
  }

  table { width: 100%; border-collapse: collapse; font-size: 13px; background: white; }
  thead th {
    background: var(--asphalt);
    color: var(--sand);
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 10px 10px;
    text-align: left;
    white-space: nowrap;
  }
  tbody td {
    border: none;
    border-bottom: 1px solid var(--sand-dim);
    padding: 6px 8px;
    vertical-align: top;
  }
  tbody tr:last-child td { border-bottom: none; }
  tbody tr:nth-child(even) td { background: #faf7f0; }
  tbody tr:hover td { background: #f5efe1; }

  td input, td select, td textarea {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 7px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12.5px;
    padding: 6px 8px;
    color: var(--asphalt);
    transition: background .12s ease, border-color .12s ease;
  }
  td input:not(:disabled), td select:not(:disabled), td textarea:not(:disabled) {
    background: var(--sand);
    border-color: var(--line);
  }
  td textarea {
    min-height: 56px;
    resize: vertical;
    line-height: 1.35;
  }
  td input:disabled, td select:disabled, td textarea:disabled { color: var(--asphalt); opacity: 1; cursor: default; }
  td input:focus, td select:focus, td textarea:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }
  td.readonly { background: var(--sand-dim) !important; font-family: 'IBM Plex Mono', monospace; text-align: right; font-weight: 600; vertical-align: middle; }
  td.num input { text-align: right; }
  td.notes { min-width: 180px; }

  .field-with-map {
    display: flex;
    align-items: center;
    gap: 2px;
  }
  .field-with-map input { flex: 1 1 auto; min-width: 0; }
  .map-link-btn {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 7px;
    background: transparent;
    color: var(--olive-dark);
    cursor: pointer;
  }
  .map-link-btn:hover { background: var(--sand-dim); color: var(--rust-dark); }

  .info-tab { display: flex; flex-direction: column; gap: 4px; max-width: 720px; }
  .tab-hint {
    font-size: 12.5px;
    color: var(--asphalt-soft);
    font-style: italic;
    margin: 0 0 14px;
    line-height: 1.4;
    max-width: 760px;
  }
  .field-hint {
    font-size: 11.5px;
    color: var(--asphalt-soft);
    margin: 1px 0 4px;
    line-height: 1.4;
  }

  .info-label {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--asphalt-soft);
    margin-top: 14px;
  }
  .info-textarea, .info-select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--sand);
    padding: 10px 12px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13.5px;
    color: var(--asphalt);
    margin-top: 4px;
  }
  .info-textarea { resize: vertical; line-height: 1.5; }
  .info-textarea:disabled, .info-select:disabled { background: transparent; border-color: var(--sand-dim); color: var(--asphalt); }
  .info-textarea:focus, .info-select:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }
  .info-section-title {
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rust-dark);
    margin-top: 22px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 6px;
  }
  .info-map-image {
    max-width: 100%;
    border-radius: 10px;
    border: 1px solid var(--line);
    margin-top: 10px;
    display: block;
  }
  .file-upload-btn {
    display: inline-block;
    margin-top: 10px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 8px;
    border: 1.5px dashed var(--olive);
    color: var(--olive-dark);
    cursor: pointer;
    width: fit-content;
  }
  .file-upload-btn:hover { background: var(--olive); color: var(--sand); border-style: solid; }

  .gear-list { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
  .gear-item-row { display: flex; align-items: center; gap: 8px; }
  .gear-item-input {
    flex: 1 1 auto;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--sand);
    padding: 8px 10px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: var(--asphalt);
  }
  .gear-item-input:disabled { background: transparent; border-color: var(--sand-dim); }
  .gear-item-input:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }
  .gear-item-row .row-del { width: 30px; height: 30px; flex: 0 0 auto; }

  .date-range-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 6px;
  }
  .date-field-group { flex: 1 1 200px; min-width: 180px; }
  .date-field-group input[type="date"] { max-width: 220px; }

  .doc-list, .link-list { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
  .doc-item-row, .link-item-row { display: flex; align-items: center; gap: 8px; }
  .doc-item-row .row-del, .link-item-row .row-del { width: 30px; height: 30px; flex: 0 0 auto; }
  .doc-item-link, .link-item-anchor {
    flex: 1 1 auto;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: var(--rust-dark);
    text-decoration: none;
    padding: 8px 10px;
    background: var(--sand);
    border: 1px solid var(--line);
    border-radius: 7px;
    overflow-wrap: anywhere;
  }
  .doc-item-link:hover, .link-item-anchor:hover { background: var(--sand-dim); text-decoration: underline; }
  .link-item-input {
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--sand);
    padding: 8px 10px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: var(--asphalt);
  }
  .link-item-input:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }
  .link-label-input { flex: 1 1 40%; min-width: 0; }
  .link-url-input { flex: 1 1 60%; min-width: 0; }
  .link-item { display: flex; flex-direction: column; gap: 5px; }
  .link-notes-input { width: 100%; }
  .link-item-notes-view {
    font-size: 12px;
    color: var(--asphalt-soft);
    padding: 0 10px;
    line-height: 1.4;
  }

  .info-map-image { cursor: zoom-in; }

  .lightbox-overlay {
    position: fixed; inset: 0;
    background: rgba(20,18,15,0.88);
    display: flex; align-items: center; justify-content: center;
    z-index: 100; padding: 28px;
    cursor: zoom-out;
  }
  .lightbox-image {
    max-width: 100%;
    max-height: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5);
    cursor: default;
  }
  .lightbox-close {
    position: fixed;
    top: 18px; right: 22px;
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: white;
    border: none;
    font-size: 17px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
  }
  .lightbox-close:hover { background: rgba(255,255,255,0.28); }

  .reorder-cell, .reorder-cell-inline {
    display: flex;
    align-items: center;
    gap: 1px;
    white-space: nowrap;
  }
  .drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--asphalt-soft);
    cursor: grab;
    border-radius: 6px;
  }
  .drag-handle:hover { background: var(--sand-dim); color: var(--asphalt); }
  .drag-handle:active { cursor: grabbing; }
  .reorder-btn {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--asphalt-soft);
    border-radius: 5px;
    cursor: pointer;
    font-size: 9px;
    line-height: 1;
    padding: 0;
  }
  .reorder-btn:hover:not(:disabled) { background: var(--sand-dim); color: var(--rust-dark); }
  .reorder-btn:disabled { opacity: 0.25; cursor: default; }

  tbody tr.dragging { opacity: 0.5; }
  tbody tr.drag-over td { background: #f0e6d2 !important; }
  .gear-item-row.dragging { opacity: 0.5; }
  .gear-item-row.drag-over { outline: 2px dashed var(--rust); outline-offset: -2px; border-radius: 6px; }

  .row-del {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--danger);
    cursor: pointer;
  }
  .row-del:hover { background: var(--danger); color: var(--sand); }

  .add-row-btn {
    margin-top: 12px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    padding: 9px 16px;
    background: transparent;
    color: var(--olive-dark);
    border: 1.5px dashed var(--olive);
    border-radius: 8px;
    cursor: pointer;
  }
  .add-row-btn:hover { background: var(--olive); color: var(--sand); border-style: solid; }

  .totals-strip {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12.5px;
  }
  .totals-strip span {
    background: var(--sand-dim);
    color: var(--asphalt-soft);
    padding: 8px 14px;
    border-radius: 8px;
    border: 1px solid var(--line);
    font-weight: 500;
  }
  .totals-strip b {
    color: var(--rust-dark);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 13px;
    margin-left: 5px;
  }

  .empty-note {
    font-size: 12.5px;
    color: var(--asphalt-soft);
    font-style: italic;
    padding: 14px 16px;
  }

  .formula-note {
    font-size: 12px;
    color: var(--asphalt-soft);
    margin-top: 10px;
    line-height: 1.4;
    max-width: 820px;
  }

  .member-vehicle-card, .member-code-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 14px;
    max-width: 820px;
  }
  .member-vehicle-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 10px;
  }
  .member-vehicle-fields input,
  .member-vehicle-fields select {
    flex: 1 1 150px;
    min-width: 130px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--sand);
    padding: 8px 10px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: var(--asphalt);
  }
  .member-vehicle-fields input:focus,
  .member-vehicle-fields select:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }
  .field-label-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 150px;
    min-width: 130px;
  }
  .field-label-wrap input,
  .field-label-wrap select {
    flex: none;
    min-width: 0;
    width: 100%;
  }
  .field-label {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--asphalt-soft);
    opacity: 0.75;
  }

  .member-code-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
  .member-code-row input {
    flex: 1 1 220px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--sand);
    padding: 8px 10px;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: var(--asphalt);
  }
  .member-code-row input:focus { outline: none; border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,86,46,0.15); background: #fff; }

  .table-scroll { overflow-x: auto; }

  @media (max-width: 720px) {
    .table-scroll { overflow-x: visible; }
    table, thead, tbody, tr, td { display: block; width: 100%; }
    thead { display: none; }
    tbody tr {
      border: 1px solid var(--line);
      border-radius: 10px;
      margin: 10px;
      padding: 4px 12px;
      background: white;
    }
    tbody tr:nth-child(even) td { background: transparent; }
    tbody tr:hover td { background: transparent; }
    tbody td {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border-bottom: 1px solid var(--sand-dim);
      padding: 9px 0;
    }
    tbody tr td:last-child { border-bottom: none; }
    tbody td::before {
      content: attr(data-label);
      font-family: 'Oswald', sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--asphalt-soft);
      opacity: 0.65;
      flex: 0 0 auto;
    }
    tbody td:not([data-label])::before { content: none; }
    tbody td.notes { flex-direction: column; align-items: flex-start; }
    tbody td input, tbody td select { text-align: right; }
    tbody td.notes input, tbody td.notes textarea { text-align: left; width: 100%; }
    tbody td.del-cell { justify-content: center; padding: 10px 0; }
    tbody td.del-cell::before { content: none; }
    tbody td.reorder-cell { justify-content: center; padding: 8px 0; }
    tbody td.reorder-cell::before { content: none; }
    .row-del { width: 36px; height: 36px; padding: 0; border: 1px solid var(--danger); }
    .link-item-row { flex-wrap: wrap; }
    .link-label-input, .link-url-input { flex: 1 1 100%; }
    .date-range-row { gap: 16px; }
  }

  .pin-overlay {
    position: fixed; inset: 0; background: rgba(42,40,35,0.55);
    display: flex; align-items: center; justify-content: center; z-index: 50;
  }
  .pin-box {
    background: var(--sand); border-radius: 12px; padding: 24px 26px;
    width: 300px; box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border-top: 4px solid var(--rust);
  }
  .pin-box h3 { font-family: 'Oswald', sans-serif; margin: 0 0 6px; text-transform: uppercase; font-size: 15px; }
  .pin-box p { font-size: 12px; color: var(--asphalt-soft); margin: 0 0 12px; line-height: 1.4; }
  .pin-box input, .pin-box select {
    width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px;
    font-family: 'IBM Plex Sans', sans-serif; font-size: 14px; margin-bottom: 10px;
    background: white; color: var(--asphalt);
  }
  .pin-box .pin-actions { display: flex; gap: 8px; justify-content: flex-end; }
  .pin-error { color: var(--danger); font-size: 12px; margin: -6px 0 8px; }

  .save-indicator {
    font-size: 11px; color: var(--olive-dark); font-family: 'IBM Plex Mono', monospace;
    min-height: 14px;
  }

/* ===== STEP 2: Application shell + trip dashboard ===== */
:root{--app-ink:#172017;--app-green:#263b2a;--app-green2:#38533d;--app-cream:#f4f1e8;--app-card:#fffdf7;--app-line:#d8d4c7;--app-muted:#6d746b;--app-warn:#a85d19;--app-danger:#9b342e}
body{background:var(--app-cream)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:var(--app-cream)}
.app-sidebar{background:var(--app-ink);color:#f8f4e8;padding:22px 16px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;box-sizing:border-box}
.app-brand{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.app-brand small{display:block;font:500 10px 'IBM Plex Mono',monospace;color:#aab8a9;letter-spacing:1.5px;margin-top:5px}
.app-nav{display:grid;gap:6px}.app-nav button{border:0;background:transparent;color:#cbd4ca;text-align:left;padding:11px 12px;border-radius:9px;font:600 13px 'IBM Plex Sans',sans-serif;cursor:pointer}.app-nav button:hover,.app-nav button.active{background:#334737;color:white}.app-nav button.active{box-shadow:inset 3px 0 #d9b86c}
.app-sidebar-bottom{margin-top:auto;font:11px 'IBM Plex Mono',monospace;color:#8f9b8f;padding:10px 8px;line-height:1.6}
.app-main{min-width:0}.app-topbar{height:68px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-line);background:rgba(255,253,247,.92);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.app-top-title{font:700 15px 'IBM Plex Sans',sans-serif;color:var(--app-ink)}.app-top-actions{display:flex;gap:8px;align-items:center}.app-content{padding:28px;max-width:1420px;margin:0 auto}
.trip-hero{background:linear-gradient(135deg,#223327,#344d39);color:white;border-radius:18px;padding:28px;box-shadow:0 14px 35px rgba(26,37,28,.13);position:relative;overflow:hidden}.trip-hero:after{content:'4×4';position:absolute;right:28px;bottom:-34px;font:700 120px 'Oswald',sans-serif;color:rgba(255,255,255,.045)}
.trip-kicker{font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:1.6px;color:#c9d6c7}.trip-hero h1{font:700 34px 'Oswald',sans-serif;margin:7px 0 5px;text-transform:uppercase;letter-spacing:.4px}.trip-dates{color:#dbe3d9;font-size:14px}.hero-actions{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.hero-actions button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);color:#fff;padding:9px 12px;border-radius:8px;cursor:pointer;font-weight:600}.hero-actions button.primary{background:#e7c777;color:#1d291f;border-color:#e7c777}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card{background:var(--app-card);border:1px solid var(--app-line);border-radius:14px;padding:17px}.stat-label{font:600 10px 'IBM Plex Mono',monospace;color:var(--app-muted);text-transform:uppercase;letter-spacing:1px}.stat-value{font:700 25px 'Oswald',sans-serif;color:var(--app-ink);margin-top:5px}.stat-sub{font-size:11px;color:var(--app-muted);margin-top:2px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.dash-card{background:var(--app-card);border:1px solid var(--app-line);border-radius:14px;padding:20px}.dash-card h3{font:700 17px 'Oswald',sans-serif;text-transform:uppercase;margin:0 0 15px;color:var(--app-ink);letter-spacing:.3px}.dashboard-route-map{height:390px;border-radius:11px;overflow:hidden;border:1px solid var(--app-line);background:#e7e4da;position:relative}.dashboard-route-map .leaflet-container{height:100%;width:100%}.map-fallback{height:390px;border-radius:11px;overflow:hidden;border:1px solid var(--app-line);background:#e7e4da;display:flex;align-items:center;justify-content:center;position:relative}.map-fallback img{width:100%;height:100%;object-fit:cover}.map-empty{text-align:center;padding:30px;color:var(--app-muted);max-width:430px}.map-empty b{display:block;color:var(--app-ink);font:700 17px Oswald,sans-serif;text-transform:uppercase;margin-bottom:8px}.map-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:11px;font-size:11px;color:var(--app-muted)}
.route-preview{display:grid;gap:0}.route-node{display:grid;grid-template-columns:24px 1fr;gap:10px;min-height:52px}.route-dot{width:10px;height:10px;background:var(--app-green2);border:3px solid #dfe7dc;border-radius:50%;margin:3px auto 0;position:relative}.route-node:not(:last-child) .route-dot:after{content:'';position:absolute;width:2px;height:42px;background:#c7cfc4;left:4px;top:11px}.route-place{font-weight:700;font-size:14px}.route-meta{font-size:11px;color:var(--app-muted);margin-top:3px}.fuel-alert{border-left:4px solid var(--app-warn);background:#fff7e9;padding:14px;border-radius:8px;margin-bottom:14px}.fuel-alert strong{display:block;color:#73400f;margin-bottom:4px}.vehicle-mini{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #ece8dc}.vehicle-mini:last-child{border-bottom:0}.vehicle-mini b{font-size:13px}.vehicle-mini span{font:600 11px 'IBM Plex Mono',monospace;color:var(--app-muted)}
.trip-section-nav{display:flex;gap:6px;overflow:auto;padding:14px 0 18px}.trip-section-nav button{white-space:nowrap;border:1px solid var(--app-line);background:var(--app-card);border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:600;color:#4b544b}.trip-section-nav button.active{background:var(--app-green);color:#fff;border-color:var(--app-green)}
.legacy-panel .tabs{margin-top:0}.legacy-panel .panel{padding-top:0}
/* ===== STEP 3: My Trips ===== */
.mytrips-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:8px 0 20px}.mytrips-head h1{font:700 31px 'Oswald',sans-serif;text-transform:uppercase;margin:0;color:var(--app-ink)}.mytrips-head p{margin:5px 0 0;color:var(--app-muted);font-size:13px}.mytrips-actions{display:flex;gap:8px}.trip-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.trip-card{background:var(--app-card);border:1px solid var(--app-line);border-radius:15px;overflow:hidden;display:flex;flex-direction:column;min-height:265px;transition:.18s transform,.18s box-shadow}.trip-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(23,32,23,.09)}.trip-card.active-trip{border-color:#81937f;box-shadow:inset 0 3px #38533d}.trip-card-top{height:86px;background:linear-gradient(135deg,#263b2a,#48634c);padding:16px;color:white;position:relative;overflow:hidden}.trip-card-top:after{content:'4×4';position:absolute;right:10px;bottom:-22px;font:700 70px 'Oswald',sans-serif;color:rgba(255,255,255,.06)}.trip-card-status{display:inline-flex;align-items:center;gap:6px;font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.8px;background:rgba(255,255,255,.12);padding:5px 8px;border-radius:99px}.trip-card-body{padding:17px;display:flex;flex-direction:column;gap:11px;flex:1}.trip-card-title{font:700 21px 'Oswald',sans-serif;text-transform:uppercase;color:var(--app-ink);line-height:1.1}.trip-card-date{font-size:12px;color:var(--app-muted)}.trip-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px}.trip-card-metric{background:#f5f2e9;border-radius:8px;padding:8px}.trip-card-metric b{display:block;font:700 15px 'Oswald',sans-serif;color:var(--app-ink)}.trip-card-metric span{font-size:9px;color:var(--app-muted);text-transform:uppercase;letter-spacing:.5px}.trip-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:5px}.trip-card-updated{font-size:10px;color:var(--app-muted)}.trip-empty{grid-column:1/-1;background:var(--app-card);border:1px dashed var(--app-line);border-radius:15px;padding:48px;text-align:center;color:var(--app-muted)}.trip-empty b{display:block;font:700 22px 'Oswald',sans-serif;color:var(--app-ink);text-transform:uppercase;margin-bottom:6px}.mytrips-filter{display:flex;gap:6px;margin-bottom:16px}.mytrips-filter span{font-size:11px;padding:6px 9px;border-radius:99px;background:#e6e3d9;color:#596158}.mytrips-filter span.active{background:var(--app-green);color:white}
@media(max-width:1100px){.trip-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-sidebar{height:auto;position:relative;padding:12px 14px}.app-brand{padding-bottom:10px}.app-nav{grid-template-columns:repeat(4,1fr);overflow:auto}.app-nav button{text-align:center;padding:9px 7px;font-size:11px}.app-sidebar-bottom{display:none}.app-topbar{top:0;padding:0 15px}.app-content{padding:15px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.trip-hero{padding:21px}.trip-hero h1{font-size:28px}}
@media(max-width:520px){.trip-card-grid{grid-template-columns:1fr}.mytrips-head{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.app-nav{grid-template-columns:repeat(4,minmax(90px,1fr))}.app-top-actions .mode-btn:nth-child(n+2){display:none}}


/* ===== STEP 5: New Trip Wizard ===== */
.wizard-shell{min-height:100vh;background:#f3f5f2;padding:34px 22px 60px;color:var(--asphalt)}
.wizard-wrap{max-width:980px;margin:0 auto}.wizard-back{border:0;background:transparent;font-weight:800;color:var(--asphalt-soft);cursor:pointer;padding:8px 0 20px}
.wizard-hero{background:linear-gradient(135deg,#17211c,#314638);border-radius:22px;padding:30px 34px;color:#fff;box-shadow:0 14px 35px rgba(24,34,29,.14)}
.wizard-hero small{display:block;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.65;margin-bottom:8px}.wizard-hero h1{font-size:34px;margin:0 0 8px}.wizard-hero p{margin:0;opacity:.78;max-width:680px}
.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.wizard-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;font-size:12px;font-weight:800;color:#8a918d}.wizard-step b{display:block;font-size:11px;margin-bottom:3px}.wizard-step.active{border-color:#334b3c;color:#243a2d;box-shadow:0 4px 15px rgba(30,50,38,.08)}.wizard-step.done{background:#eaf1ec;color:#31523d}
.wizard-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 30px;box-shadow:0 8px 28px rgba(25,35,30,.06)}.wizard-card h2{margin:0 0 6px;font-size:23px}.wizard-card>p{margin:0 0 24px;color:var(--asphalt-soft)}
.wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wizard-field.full{grid-column:1/-1}.wizard-field label{display:block;font-size:12px;font-weight:900;margin:0 0 7px;text-transform:uppercase;letter-spacing:.04em}.wizard-field input,.wizard-field select,.wizard-field textarea{width:100%;box-sizing:border-box;border:1px solid #ccd2ce;border-radius:10px;padding:12px 13px;background:#fff;font:inherit}.wizard-field textarea{min-height:105px;resize:vertical}.wizard-help{font-size:11.5px;color:#7d8580;margin-top:6px}
.wizard-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #d9dedb;border-radius:12px;padding:15px;margin-top:12px}.wizard-choice input{margin-top:3px}.wizard-choice b{display:block;margin-bottom:3px}.wizard-choice span{font-size:12px;color:var(--asphalt-soft)}
.wizard-review{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-box{background:#f6f8f6;border-radius:12px;padding:15px}.review-box small{display:block;color:#7b837e;font-weight:800;text-transform:uppercase;font-size:10px;margin-bottom:5px}.review-box b{font-size:14px}
.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.wizard-actions .right{display:flex;gap:10px}.wizard-secondary{border:1px solid #cfd5d1;background:#fff;border-radius:9px;padding:11px 17px;font-weight:800;cursor:pointer}.wizard-primary{border:0;background:#273c30;color:#fff;border-radius:9px;padding:11px 19px;font-weight:900;cursor:pointer}.wizard-primary:disabled{opacity:.4;cursor:not-allowed}.wizard-error{background:#fff1f0;color:#9c302b;border:1px solid #f0cbc8;padding:11px 13px;border-radius:9px;margin-top:15px;font-size:12px;font-weight:700}
@media(max-width:700px){.wizard-shell{padding:18px 12px 40px}.wizard-hero{padding:24px 20px}.wizard-hero h1{font-size:27px}.wizard-progress{grid-template-columns:1fr 1fr}.wizard-card{padding:21px 18px}.wizard-grid,.wizard-review{grid-template-columns:1fr}.wizard-field.full{grid-column:auto}}


/* Step 6 — Route Planner */
.route-planner-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.route-planner-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.route-planner-head p{margin:0;color:var(--asphalt-soft);font-size:13px;max-width:720px}
.route-view-switch{display:flex;gap:7px;background:#eef1f3;border:1px solid var(--line);padding:4px;border-radius:10px;flex-shrink:0}
.route-view-switch button{border:0;background:transparent;padding:8px 12px;border-radius:7px;font-weight:700;font-size:12px;color:var(--asphalt-soft);cursor:pointer}
.route-view-switch button.active{background:white;color:var(--asphalt);box-shadow:0 1px 4px rgba(0,0,0,.09)}
.route-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.route-stat{background:white;border:1px solid var(--line);border-radius:12px;padding:15px 16px}
.route-stat small{display:block;color:var(--asphalt-soft);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:5px}
.route-stat b{font-size:21px;color:var(--asphalt)}
.route-stat span{font-size:11px;color:var(--asphalt-soft);margin-left:4px}
.route-day{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}
.route-day-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;background:#f7f8f8;border-bottom:1px solid var(--line)}
.route-day-title{display:flex;align-items:center;gap:11px}
.route-day-badge{width:36px;height:36px;border-radius:9px;background:var(--asphalt);color:white;display:grid;place-items:center;font-weight:900;font-size:13px}
.route-day-head h3{margin:0;font-size:15px;color:var(--asphalt)}
.route-day-head p{margin:2px 0 0;font-size:11px;color:var(--asphalt-soft)}
.route-day-total{font-size:12px;color:var(--asphalt-soft);font-weight:700}
.route-leg-card{display:grid;grid-template-columns:52px minmax(0,1fr) 190px;gap:14px;padding:16px 17px;border-bottom:1px solid #edf0f1;position:relative}
.route-leg-card:last-child{border-bottom:0}
.route-leg-num{width:38px;height:38px;border-radius:50%;border:2px solid #d6dcdf;display:grid;place-items:center;font-size:12px;font-weight:900;color:var(--asphalt-soft);position:relative}
.route-leg-main h4{margin:0 0 5px;font-size:16px;color:var(--asphalt)}
.route-leg-road{font-size:12px;color:var(--asphalt-soft);margin-bottom:9px}
.route-leg-notes{font-size:12px;color:#59656b;background:#f7f8f8;border-radius:7px;padding:8px 10px;margin-top:9px;white-space:pre-wrap}
.route-leg-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.route-leg-metric{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fbfcfc}
.route-leg-metric small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--asphalt-soft);font-weight:800}
.route-leg-metric b{font-size:13px;color:var(--asphalt)}
.terrain-pill{display:inline-flex;align-items:center;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800;background:#edf1f2;color:#4f5b61}
.terrain-pill.track{background:#fff0dc;color:#8a5311}
.route-empty{background:white;border:1px dashed #cbd2d5;border-radius:14px;padding:34px;text-align:center;color:var(--asphalt-soft)}
.route-planner-actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}
.route-planner-actions button{cursor:pointer}
.route-edit-note{font-size:11px;color:var(--asphalt-soft);margin-top:5px}
@media(max-width:900px){
  .route-summary-grid{grid-template-columns:repeat(2,1fr)}
  .route-leg-card{grid-template-columns:42px minmax(0,1fr)}
  .route-leg-metrics{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .route-planner-head{align-items:stretch;flex-direction:column}
  .route-view-switch{align-self:flex-start}
  .route-summary-grid{grid-template-columns:1fr 1fr}
  .route-leg-card{grid-template-columns:34px minmax(0,1fr);padding:14px 12px}
  .route-leg-num{width:30px;height:30px}
  .route-day-head{padding:12px}
}


/* Step 7 — Interactive Map */
.trip-map-screen{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}
.trip-map-main{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:620px}
.trip-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8f9f9;flex-wrap:wrap}
.trip-map-toolbar h2{margin:0;font-size:20px;color:var(--asphalt)}
.trip-map-toolbar p{margin:3px 0 0;font-size:11px;color:var(--asphalt-soft)}
.map-layer-toggles{display:flex;gap:7px;flex-wrap:wrap}
.map-layer-btn{border:1px solid var(--line);background:white;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:800;color:var(--asphalt-soft);cursor:pointer}
.map-layer-btn.active{background:var(--asphalt);border-color:var(--asphalt);color:white}
.full-trip-map{height:550px;background:#e9edef;position:relative}
.full-trip-map iframe{width:100%;height:100%;border:0}
.map-fallback{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:var(--asphalt-soft)}
.map-side{display:flex;flex-direction:column;gap:14px}
.map-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:15px}
.map-panel h3{margin:0 0 12px;font-size:14px;color:var(--asphalt)}
.map-point{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f1}
.map-point:last-child{border-bottom:0}
.map-point-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef1f2;font-size:12px;flex:0 0 auto}
.map-point strong{display:block;font-size:12px;color:var(--asphalt)}
.map-point span{display:block;font-size:10px;color:var(--asphalt-soft);margin-top:2px}
.map-key{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.map-key-item{font-size:10px;color:var(--asphalt-soft);display:flex;align-items:center;gap:6px}
.map-key-dot{width:9px;height:9px;border-radius:50%;background:#67757c}
.map-key-dot.fuel{background:#b66b16}.map-key-dot.start{background:#497b50}.map-key-dot.finish{background:#8a4343}.map-key-dot.camp{background:#536d91}
.map-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.map-stat-mini{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fafbfb}
.map-stat-mini small{display:block;font-size:9px;text-transform:uppercase;color:var(--asphalt-soft);font-weight:800}
.map-stat-mini b{font-size:13px;color:var(--asphalt)}
@media(max-width:980px){.trip-map-screen{grid-template-columns:1fr}.map-side{display:grid;grid-template-columns:1fr 1fr}.full-trip-map{height:480px}}
@media(max-width:620px){.map-side{display:block}.map-panel{margin-bottom:12px}.full-trip-map{height:420px}}


/* Step 8 — Fuel Stops */
.fuel-screen-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.fuel-screen-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.fuel-screen-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:700px}
.fuel-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.fuel-summary-card{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.fuel-summary-card small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.fuel-summary-card b{font-size:20px;color:var(--asphalt)}
.fuel-stop-card{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:13px;overflow:hidden}
.fuel-stop-top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.fuel-stop-num{width:38px;height:38px;border-radius:10px;background:#9a5b14;color:white;display:grid;place-items:center;font-weight:900}
.fuel-stop-title h3{margin:0;font-size:15px;color:var(--asphalt)}
.fuel-stop-title p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.fuel-status{border-radius:20px;padding:5px 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#e7f1e9;color:#47704c}
.fuel-status.unknown{background:#f1f0e8;color:#786d3e}
.fuel-stop-body{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr;gap:10px;padding:14px 16px}
.fuel-data-box{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fcfcfc;min-width:0}
.fuel-data-box small{display:block;font-size:9px;text-transform:uppercase;color:var(--asphalt-soft);font-weight:800;margin-bottom:4px}
.fuel-data-box b{font-size:13px;color:var(--asphalt)}
.fuel-price{font-size:18px!important}
.fuel-price span{font-size:10px;color:var(--asphalt-soft);font-weight:600}
.fuel-stop-notes{padding:0 16px 14px;font-size:11px;color:#5d686d}
.fuel-gap-warning{margin:0 16px 14px;padding:10px 12px;border-radius:9px;background:#fff3e4;color:#7e501c;font-size:11px;font-weight:700}
.fuel-edit-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:8px}
.fuel-edit-grid input,.fuel-edit-grid select{width:100%;box-sizing:border-box}
.fuel-card-actions{display:flex;gap:8px;padding:0 16px 14px}
.fuel-empty{background:white;border:1px dashed #cbd2d5;border-radius:14px;padding:34px;text-align:center;color:var(--asphalt-soft)}
@media(max-width:900px){.fuel-summary-grid{grid-template-columns:1fr 1fr}.fuel-stop-body{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.fuel-screen-head{flex-direction:column;align-items:stretch}.fuel-stop-top{grid-template-columns:42px 1fr}.fuel-status{grid-column:2;justify-self:start}.fuel-stop-body{grid-template-columns:1fr 1fr}.fuel-edit-grid{grid-template-columns:1fr 1fr}}


/* Step 9 — Vehicle Garage */
.vehicle-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.vehicle-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.vehicle-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:720px}
.vehicle-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.vehicle-summary-card{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.vehicle-summary-card small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.vehicle-summary-card b{font-size:20px;color:var(--asphalt)}
.vehicle-card{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}
.vehicle-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.vehicle-icon{width:40px;height:40px;border-radius:10px;background:var(--asphalt);color:white;display:grid;place-items:center;font-size:20px}
.vehicle-card-head h3{margin:0;font-size:16px;color:var(--asphalt)}
.vehicle-card-head p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.vehicle-fuel-badge{border-radius:20px;padding:6px 10px;font-size:9px;font-weight:900;text-transform:uppercase;background:#e9edef;color:#536067}
.vehicle-card-body{padding:15px 16px}
.vehicle-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.vehicle-spec{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fcfcfc}
.vehicle-spec small{display:block;font-size:9px;text-transform:uppercase;color:var(--asphalt-soft);font-weight:800;margin-bottom:4px}
.vehicle-spec b{font-size:13px;color:var(--asphalt)}
.vehicle-range-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.vehicle-range{padding:11px 12px;border-radius:9px;background:#eef3ef}
.vehicle-range.offroad{background:#fff2e2}
.vehicle-range small{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--asphalt-soft)}
.vehicle-range b{font-size:16px;color:var(--asphalt)}
.vehicle-cost-row{margin-top:10px;padding:10px 12px;border-radius:9px;background:#f4f6f6;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--asphalt-soft)}
.vehicle-cost-row strong{color:var(--asphalt)}
.vehicle-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.vehicle-empty{background:white;border:1px dashed #cbd2d5;border-radius:14px;padding:34px;text-align:center;color:var(--asphalt-soft)}
.vehicle-form{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fafbfb}
.vehicle-form label{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--asphalt-soft)}
.vehicle-form input,.vehicle-form select{width:100%;box-sizing:border-box;margin-top:4px}
.vehicle-form .wide{grid-column:span 2}
@media(max-width:900px){.vehicle-summary{grid-template-columns:1fr 1fr}.vehicle-spec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.vehicle-head{flex-direction:column;align-items:stretch}.vehicle-card-head{grid-template-columns:44px 1fr}.vehicle-fuel-badge{grid-column:2;justify-self:start}.vehicle-form{grid-template-columns:1fr 1fr}.vehicle-form .wide{grid-column:span 2}}


/* Step 10 — Advanced Fuel & Range Planner */
.range-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.range-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.range-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:760px}
.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.range-summary{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.range-summary small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.range-summary b{font-size:19px;color:var(--asphalt)}
.range-vehicle{background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:15px;overflow:hidden}
.range-vehicle-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.range-vehicle-head h3{margin:0;font-size:16px;color:var(--asphalt)}
.range-vehicle-head p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.range-status{border-radius:20px;padding:6px 10px;font-size:9px;font-weight:900;text-transform:uppercase;background:#e7f1e9;color:#47704c}
.range-status.warn{background:#fff0dc;color:#8a5311}
.range-table-wrap{overflow-x:auto}
.range-table{width:100%;border-collapse:collapse;min-width:760px}
.range-table th{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--asphalt-soft);background:#fafbfb;padding:9px 10px;text-align:left;border-bottom:1px solid var(--line)}
.range-table td{font-size:11px;color:var(--asphalt);padding:10px;border-bottom:1px solid #edf0f1}
.range-table tr:last-child td{border-bottom:0}
.range-table .num{text-align:right}
.range-ok{font-weight:900;color:#47704c}.range-bad{font-weight:900;color:#9a4d32}
.range-note{padding:11px 15px;background:#fff8ee;border-top:1px solid #f1dfc7;font-size:10px;color:#765124}
.range-assumption{background:#f4f6f6;border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:16px;font-size:10px;color:var(--asphalt-soft)}
.range-empty{background:white;border:1px dashed #cbd2d5;border-radius:14px;padding:34px;text-align:center;color:var(--asphalt-soft)}
@media(max-width:800px){.range-grid{grid-template-columns:1fr}.range-head{flex-direction:column;align-items:stretch}}


/* Step 11 — Members & Club */
.club-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.club-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.club-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:760px}
.club-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.club-stat{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.club-stat small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.club-stat b{font-size:20px;color:var(--asphalt)}
.club-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px}
.club-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.club-panel-head{padding:14px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.club-panel-head h3{margin:0;font-size:15px;color:var(--asphalt)}
.club-panel-head p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.member-row{display:grid;grid-template-columns:42px minmax(0,1fr) 120px 120px;gap:10px;align-items:center;padding:12px 15px;border-bottom:1px solid #edf0f1}
.member-row:last-child{border-bottom:0}
.member-avatar{width:34px;height:34px;border-radius:50%;background:var(--asphalt);color:white;display:grid;place-items:center;font-size:11px;font-weight:900}
.member-row strong{display:block;font-size:12px;color:var(--asphalt)}
.member-row span{display:block;font-size:10px;color:var(--asphalt-soft);margin-top:2px}
.member-role{font-size:9px!important;font-weight:900;text-transform:uppercase;background:#eef1f2;border-radius:20px;padding:5px 8px;text-align:center;color:#56636a!important}
.member-status{font-size:9px!important;font-weight:900;text-transform:uppercase;color:#47704c!important;text-align:right}
.club-access{padding:15px}
.club-access-box{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}
.club-access-box small{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--asphalt-soft);margin-bottom:5px}
.club-access-box b{font-size:13px;color:var(--asphalt)}
.club-access-box p{font-size:10px;color:var(--asphalt-soft);margin:5px 0 0}
.club-role-list{padding:4px 15px 15px}
.club-role-item{padding:9px 0;border-bottom:1px solid #edf0f1}
.club-role-item:last-child{border-bottom:0}
.club-role-item strong{font-size:11px;color:var(--asphalt)}
.club-role-item p{font-size:9px;color:var(--asphalt-soft);margin:2px 0 0}
.club-note{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f4f6f6;font-size:10px;color:var(--asphalt-soft)}
@media(max-width:900px){.club-layout{grid-template-columns:1fr}.club-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.club-head{flex-direction:column;align-items:stretch}.member-row{grid-template-columns:38px 1fr}.member-role,.member-status{grid-column:2;text-align:left!important;justify-self:start}}


/* Step 12 — Gear & Trip Readiness */
.ready-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.ready-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.ready-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:760px}
.ready-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.ready-stat{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.ready-stat small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.ready-stat b{font-size:20px;color:var(--asphalt)}
.ready-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px}
.ready-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ready-panel-head{padding:14px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.ready-panel-head h3{margin:0;font-size:15px;color:var(--asphalt)}
.ready-panel-head p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.ready-person{padding:14px 16px;border-bottom:1px solid #edf0f1}
.ready-person:last-child{border-bottom:0}
.ready-person-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.ready-person-top strong{font-size:13px;color:var(--asphalt)}
.ready-person-top span{font-size:10px;color:var(--asphalt-soft)}
.ready-badge{padding:5px 9px;border-radius:20px;font-size:9px!important;font-weight:900;background:#fff0dc;color:#8a5311!important}
.ready-badge.ok{background:#e7f1e9;color:#47704c!important}
.ready-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ready-check{border:1px solid var(--line);border-radius:8px;padding:8px;text-align:center;font-size:9px;color:var(--asphalt-soft)}
.ready-check.ok{background:#edf5ef;color:#47704c;border-color:#d8e8db}
.gear-list{padding:5px 15px 15px}
.gear-item{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #edf0f1}
.gear-item:last-child{border-bottom:0}
.gear-tick{width:20px;height:20px;border-radius:5px;background:#edf1f2;display:grid;place-items:center;font-size:10px;flex:0 0 auto}
.gear-item strong{font-size:11px;color:var(--asphalt)}
.gear-item p{font-size:9px;color:var(--asphalt-soft);margin:2px 0 0}
.ready-note{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f4f6f6;font-size:10px;color:var(--asphalt-soft)}
@media(max-width:900px){.ready-layout{grid-template-columns:1fr}.ready-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ready-head{flex-direction:column;align-items:stretch}.ready-checks{grid-template-columns:1fr 1fr}}


/* Step 13 — Documents & Resources */
.docs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.docs-head h2{margin:0 0 5px;font-size:24px;color:var(--asphalt)}
.docs-head p{margin:0;color:var(--asphalt-soft);font-size:12px;max-width:760px}
.docs-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.docs-stat{background:white;border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.docs-stat small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--asphalt-soft);font-weight:800;margin-bottom:5px}
.docs-stat b{font-size:20px;color:var(--asphalt)}
.docs-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px}
.docs-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.docs-panel-head{padding:14px 16px;background:#f8f9f9;border-bottom:1px solid var(--line)}
.docs-panel-head h3{margin:0;font-size:15px;color:var(--asphalt)}
.docs-panel-head p{margin:3px 0 0;font-size:10px;color:var(--asphalt-soft)}
.doc-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 15px;border-bottom:1px solid #edf0f1}
.doc-row:last-child{border-bottom:0}
.doc-icon{width:34px;height:34px;border-radius:8px;background:#eef1f2;display:grid;place-items:center;font-size:16px}
.doc-row strong{display:block;font-size:12px;color:var(--asphalt)}
.doc-row span{display:block;font-size:9px;color:var(--asphalt-soft);margin-top:2px}
.doc-action{font-size:9px;font-weight:900;text-transform:uppercase;color:var(--asphalt);text-decoration:none;border:1px solid var(--line);padding:6px 8px;border-radius:7px;background:white}
.docs-category{padding:5px 15px 15px}
.docs-cat-item{padding:9px 0;border-bottom:1px solid #edf0f1}
.docs-cat-item:last-child{border-bottom:0}
.docs-cat-item strong{font-size:11px;color:var(--asphalt)}
.docs-cat-item p{font-size:9px;color:var(--asphalt-soft);margin:2px 0 0}
.docs-empty{padding:28px 16px;text-align:center;color:var(--asphalt-soft);font-size:11px}
.docs-note{margin-top:14px;padding:11px 13px;border-radius:10px;background:#f4f6f6;font-size:10px;color:var(--asphalt-soft)}
@media(max-width:900px){.docs-layout{grid-template-columns:1fr}.docs-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.docs-head{flex-direction:column;align-items:stretch}.doc-row{grid-template-columns:38px 1fr}.doc-action{grid-column:2;justify-self:start}}


/* Backend Step 2 — Account login & club context */
.account-card{width:420px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 18px 50px rgba(24,35,30,.12)}
.account-brand{font-size:23px;font-weight:900;color:var(--asphalt);margin-bottom:4px}
.account-sub{font-size:11px;color:var(--asphalt-soft);margin-bottom:20px}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f1f3f3;padding:4px;border-radius:10px;margin-bottom:18px}
.account-tabs button{border:0;background:transparent;border-radius:7px;padding:9px;font-size:10px;font-weight:900;color:var(--asphalt-soft);cursor:pointer}
.account-tabs button.active{background:#fff;color:var(--asphalt);box-shadow:0 1px 5px rgba(0,0,0,.08)}
.account-field{margin-bottom:12px}
.account-field label{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--asphalt-soft);margin-bottom:5px}
.account-field input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px 11px;font:inherit}
.account-primary{width:100%;border:0;border-radius:9px;padding:11px 13px;background:var(--asphalt);color:#fff;font-weight:900;cursor:pointer}
.account-error{margin:10px 0;padding:9px 10px;border-radius:8px;background:#fff0ef;color:#9a3e34;font-size:10px}
.account-link{border:0;background:none;color:var(--asphalt);font-weight:800;font-size:10px;cursor:pointer;text-decoration:underline}
.account-divider{height:1px;background:var(--line);margin:18px 0}
.club-switch{display:flex;gap:8px;align-items:center}
.club-switch select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;font-size:10px;max-width:220px}
.account-user{font-size:10px;color:var(--asphalt-soft);text-align:right}
.account-user b{display:block;color:var(--asphalt);font-size:11px}


/* Backend Step 2b — Create Club onboarding */
.club-create-card{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:15px;background:#f8f9f9}
.club-create-card h3{margin:0 0 4px;font-size:14px;color:var(--asphalt)}
.club-create-card p{margin:0 0 13px;font-size:10px;color:var(--asphalt-soft)}
.club-create-actions{display:flex;gap:8px;margin-top:12px}
.club-create-actions button{flex:1}


.club-trip-panel{margin-top:16px}
.club-trip-card{border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:9px;background:#fff}
.club-trip-card strong{font-size:12px;color:var(--asphalt)}
.club-trip-meta{font-size:9px;color:var(--asphalt-soft);margin-top:5px}
.club-trip-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.club-trip-row button{white-space:nowrap}
.migration-note{padding:10px 11px;border-radius:9px;background:#f2f5f3;font-size:10px;color:var(--asphalt-soft);margin-top:10px}


.member-admin{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}
.member-admin-grid{display:grid;grid-template-columns:1fr 150px auto;gap:8px;align-items:end}
.member-list-card{border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:8px}
.member-list-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.member-name{font-size:11px;font-weight:900;color:var(--asphalt)}
.member-detail{font-size:9px;color:var(--asphalt-soft);margin-top:3px}
.member-role{border:1px solid var(--line);border-radius:7px;padding:6px;background:#fff;font-size:9px}
.invite-result{margin-top:9px;padding:10px;border-radius:9px;background:#f2f5f3;font-size:9px;word-break:break-all}
.garage-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:650px){.member-admin-grid,.garage-grid{grid-template-columns:1fr}}


    .coord-modal-backdrop{position:fixed;inset:0;background:rgba(20,28,23,.58);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
    .coord-modal{width:min(520px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:20px}
    .coord-modal h3{margin:0 0 6px}.coord-modal p{margin:0 0 16px;color:#657067;font-size:13px}
    .coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.coord-field label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:#425047}
    .coord-field input{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cbd3cd;border-radius:8px;font:inherit}
    .coord-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
    @media(max-width:560px){.coord-grid{grid-template-columns:1fr}}

  .trip-waypoint-pin{
    width:30px;height:30px;border-radius:50% 50% 50% 0;
    background:#b8562e;border:3px solid #fff;
    box-shadow:0 2px 8px rgba(0,0,0,.35);
    transform:rotate(-45deg);
  }
  .trip-waypoint-pin > span{
    display:grid;width:100%;height:100%;place-items:center;
    transform:rotate(45deg);color:#fff;font:700 11px 'IBM Plex Sans',sans-serif;
  }

/* Step 63 — ClubTrekker workspace layout refresh.
   Layout-only layer: existing IDs, data flow, API calls and map lifecycle remain unchanged. */
:root{
  --ct-shell: #f4f6f8;
  --ct-panel: #ffffff;
  --ct-border: #dfe4e8;
  --ct-text: #17212b;
  --ct-muted: #66717d;
  --ct-radius: 14px;
  --ct-shadow: 0 8px 24px rgba(17,24,39,.07);
}
body{background:var(--ct-shell);color:var(--ct-text)}
.sidebar{
  width:250px!important;
  padding:18px 14px!important;
  border-right:1px solid rgba(255,255,255,.08);
}
.sidebar .brand,.brand{
  margin-bottom:18px!important;
  letter-spacing:-.02em;
}
.nav-item,.nav-btn{
  border-radius:10px!important;
  margin:3px 0!important;
  min-height:42px;
  display:flex;
  align-items:center;
}
.main,.main-content{
  padding:24px 28px 40px!important;
  max-width:1600px;
}
.card,.panel,.section,.table-wrap{
  border-radius:var(--ct-radius)!important;
  border:1px solid var(--ct-border)!important;
  box-shadow:var(--ct-shadow)!important;
  background:var(--ct-panel);
}
.hero,.trip-hero,.dashboard-hero{
  border-radius:18px!important;
  overflow:hidden;
}
h1,h2,h3{letter-spacing:-.02em}
button,.btn,.mode-btn{
  border-radius:9px!important;
  min-height:38px;
}
input,select,textarea{
  border-radius:8px!important;
  min-height:38px;
}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}
th{
  position:sticky;
  top:0;
  z-index:2;
  font-size:12px!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
td{vertical-align:top!important}
th,td{padding:11px 10px!important}
tbody tr:hover{background:rgba(0,0,0,.025)}
#map,.map,.map-shell,.navigation-map{
  border-radius:14px!important;
  overflow:hidden!important;
}
.route-summary,.summary-grid,.stats-grid{
  gap:12px!important;
}
@media(max-width:980px){
  .sidebar{width:220px!important}
  .main,.main-content{padding:18px!important}
}
@media(max-width:760px){
  .sidebar{width:100%!important;position:relative!important}
  .main,.main-content{padding:14px!important}
  .table-wrap{overflow-x:auto!important}
  th,td{min-width:110px}
}

/* Step 64 — left navigation + breadcrumb topbar */
.app-nav-group{padding:16px 12px 5px;color:#819080;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:1.35px}
.app-topbar{min-height:68px;height:auto!important}
.app-breadcrumbs{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px}
.app-breadcrumbs button{border:0;background:transparent;padding:5px 0;color:#657066;cursor:pointer;font:600 13px 'IBM Plex Sans',sans-serif}
.app-breadcrumbs button:hover{color:var(--app-green);text-decoration:underline}
.app-breadcrumbs span{color:#a5ada5}
.app-breadcrumbs strong{color:var(--app-ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-top-account{display:flex;align-items:center;margin-left:18px}
.trip-section-nav{display:none!important}
@media(max-width:900px){
  .app-nav-group{display:none}
  .app-nav{grid-template-columns:repeat(5,minmax(105px,1fr))!important}
  .app-breadcrumbs{overflow:hidden}
}

/* Step 65 — account-level dashboard and navigation */
.account-page{max-width:1280px;margin:0 auto}
.account-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 24px}
.account-page-head h1{font:700 34px 'Oswald',sans-serif;text-transform:uppercase;margin:0;color:var(--app-ink)}
.account-page-head p{margin:5px 0 0;color:var(--app-muted)}
.account-kicker{font:700 10px 'IBM Plex Mono',monospace;letter-spacing:1.5px;color:#728076;margin-bottom:6px}
.account-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.account-stat,.account-work-card{background:#fff;border:1px solid var(--app-line);border-radius:15px;box-shadow:0 7px 22px rgba(24,34,29,.05)}
.account-stat{padding:18px}.account-stat small{display:block;color:var(--app-muted);font:700 10px 'IBM Plex Mono',monospace;text-transform:uppercase;margin-bottom:8px}.account-stat b{font-size:18px}
.account-dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.account-work-card{padding:18px}.account-work-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.account-work-head h2{margin:0;font-size:18px}.account-work-head button{border:0;background:transparent;color:var(--app-green);font-weight:700;cursor:pointer}
.account-row{width:100%;border:0;border-top:1px solid #ecefe9;background:transparent;padding:13px 3px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;color:var(--app-ink)}.account-row.static{cursor:default}.account-row span{display:grid;gap:3px}.account-row small{color:var(--app-muted)}.account-empty{color:var(--app-muted);font-size:13px}
.account-club-select{margin-bottom:16px}.account-club-select label{display:block;font-weight:700;font-size:12px;margin-bottom:7px}.account-club-select select{width:100%;padding:9px}
.account-profile{max-width:620px}.account-profile>small{font:700 10px 'IBM Plex Mono',monospace;color:var(--app-muted)}.account-profile h2{margin:7px 0}.account-profile-actions{display:flex;gap:8px;margin-top:20px}
@media(max-width:850px){.account-stat-grid,.account-dashboard-grid{grid-template-columns:1fr}.account-page-head{align-items:flex-start;flex-direction:column}}

/* Step 66 — dashboard cards, garage summary, My Account */
.dashboard-trip-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.dashboard-trip-card{border:1px solid var(--app-line);background:#f9faf7;border-radius:13px;padding:15px;text-align:left;cursor:pointer;transition:.16s transform,.16s box-shadow}
.dashboard-trip-card:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(24,34,29,.08)}
.dashboard-trip-card-top{display:flex;justify-content:space-between;color:#728076;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:1px}
.dashboard-trip-card h3{margin:13px 0 6px;font-size:16px;color:var(--app-ink)}
.dashboard-trip-card p{margin:0;color:var(--app-muted);font-size:12px;line-height:1.45}
.vehicle-rego{font-family:'IBM Plex Mono',monospace!important;text-transform:uppercase}
.account-password{border-top:1px solid var(--app-line);margin-top:20px;padding-top:18px}
.account-password h3{margin:0 0 5px}.account-password p{margin:0 0 15px;color:var(--app-muted);font-size:13px}
.account-success{padding:10px 12px;background:#eaf3eb;border:1px solid #c6ddc9;border-radius:8px;color:#285333;font-size:12px;margin:10px 0}
@media(max-width:700px){.dashboard-trip-cards{grid-template-columns:1fr}}

/* Step 67 — account/trip navigation refinement */
.trips-page-grid,.garage-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.trips-page-card,.garage-page-card{background:#fff;border:1px solid var(--app-line);border-radius:15px;overflow:hidden;box-shadow:0 7px 22px rgba(24,34,29,.05)}
.trips-page-card-banner{height:74px;background:linear-gradient(135deg,#263b2a,#48634c);padding:15px;color:#dce6dc;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:1.2px}
.trips-page-card-body{padding:17px}.trips-page-card h2{margin:0 0 7px;font-size:19px}.trips-page-card p{min-height:36px;margin:0 0 17px;color:var(--app-muted);font-size:12px}
.garage-page-card{display:flex;min-height:180px}.garage-card-icon{width:88px;display:flex;align-items:center;justify-content:center;background:#2b3e30;color:#d8c07b;font:700 25px 'Oswald',sans-serif}.garage-card-body{padding:17px;flex:1}.garage-card-body small{font:700 10px 'IBM Plex Mono',monospace;color:#718078}.garage-card-body h2{margin:5px 0;font-size:19px}.garage-card-body p{margin:0 0 7px;color:var(--app-muted)}.garage-card-meta{font-size:11px;color:var(--app-muted);margin-bottom:14px}.garage-editor{margin-top:20px}
.top-signout{border:1px solid #d5d9d3;background:#fff;border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:700;color:#6b3431;margin-left:10px}
.top-signout:hover{background:#f7eeee}
@media(max-width:1050px){.trips-page-grid,.garage-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.trips-page-grid,.garage-page-grid{grid-template-columns:1fr}.app-top-account .account-user{display:none}}

/* Step 68A — multi-club account + trip-specific roles */
.account-club-switch{border-top:1px solid var(--app-line);margin-top:20px;padding-top:18px}
.account-club-switch h3{margin:0 0 5px}.account-club-switch p{margin:0 0 10px;color:var(--app-muted);font-size:13px}.account-club-switch select{width:100%;padding:10px;border:1px solid var(--app-line);border-radius:9px;background:#fff}
.member-invite-simple{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.trip-participant-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:700px){.member-invite-simple{grid-template-columns:1fr}.trip-participant-actions{justify-content:flex-start}}

/* Step 69 — restore trip edit control */
.top-trip-edit{border:1px solid #bcc8bc;background:#eef3ed;border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:700;color:#304b35;margin-left:10px}
.top-trip-edit:hover{background:#e3ebe2}

/* Step 70 — detailed card-based Trip Dashboard */
.trip-detail-dashboard{padding-bottom:20px}.trip-hero.detailed{margin-bottom:16px}.trip-hero-summary{max-width:850px;margin:10px 0 0;line-height:1.55;font-size:13px}.trip-hero-summary.muted{opacity:.65}
.trip-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.trip-detail-card{background:#fff;border:1px solid var(--app-line);border-radius:15px;padding:17px;box-shadow:0 6px 20px rgba(24,34,29,.045);min-width:0}
.trip-detail-card.trip-map-card{padding-bottom:12px}.trip-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.trip-card-head small{display:block;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#77847b;margin-bottom:4px}.trip-card-head h2{font-size:17px;margin:0;color:var(--app-ink)}
.trip-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trip-fact{padding:12px;border-radius:10px;background:#f6f8f5}.trip-fact small{display:block;text-transform:uppercase;font-size:9px;color:var(--app-muted);font-weight:800;margin-bottom:5px}.trip-fact b{font-size:13px}.card-action{margin-top:13px}
.dashboard-chip-list{display:flex;gap:7px;flex-wrap:wrap}.dashboard-chip-list span{background:#f0f3ee;border:1px solid #dfe5dc;border-radius:20px;padding:6px 9px;font-size:10px}
.dashboard-person-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0ed}.dashboard-person-row:last-child{border-bottom:0}.dashboard-person-row b,.dashboard-person-row span{display:block}.dashboard-person-row b{font-size:12px}.dashboard-person-row span{font-size:10px;color:var(--app-muted)}
.dashboard-empty,.trip-card-footline{font-size:11px;color:var(--app-muted);line-height:1.45}.trip-card-footline{margin-top:10px}.fuel-big-number{font-size:34px;font-weight:800;letter-spacing:-1px}.fuel-price-line{margin-top:14px;padding-top:12px;border-top:1px solid #edf0ed;font-size:11px;color:var(--app-muted)}
.file-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.file-stat-grid div{background:#f6f8f5;border-radius:10px;padding:12px;text-align:center}.file-stat-grid b{display:block;font-size:18px}.file-stat-grid span{display:block;font-size:9px;color:var(--app-muted);margin-top:3px}
@media(max-width:900px){.trip-detail-grid{grid-template-columns:1fr}}@media(max-width:560px){.trip-fact-grid,.file-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* Step 71 — expedition banner on every trip page + direct document uploads */
.trip-page-hero{margin-bottom:18px;padding-top:22px;padding-bottom:22px}.trip-page-hero h1{font-size:27px;margin-bottom:4px}.trip-page-hero .trip-hero-summary{max-width:900px;margin-top:8px}
.docs-upload-actions{padding:14px;display:grid;gap:9px}.docs-upload-btn{display:block;text-align:center;cursor:pointer;margin:0}

/* Step 72 — compact banner on trip subpages; dashboard retains full explanation */
.trip-page-hero.compact{padding-top:18px;padding-bottom:18px}.trip-page-hero.compact h1{margin-bottom:3px}.trip-page-hero.compact .trip-dates{margin-bottom:0}

/* Step 73 — persistent editable readiness */
.ready-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.ready-add-form{display:none;background:#fff;border:1px solid var(--app-line);border-radius:14px;padding:15px;margin:0 0 15px;grid-template-columns:1fr 1.5fr 2fr auto auto;gap:8px;align-items:center}.ready-add-form.open{display:grid}.ready-add-form h3{grid-column:1/-1;margin:0 0 4px}.ready-add-form input[type=text],.ready-add-form>input{padding:9px;border:1px solid var(--app-line);border-radius:8px}.ready-required{font-size:11px;white-space:nowrap}
.readiness-category{margin-bottom:14px}.readiness-item-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(260px,2fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #edf0ed}.readiness-item-row:first-of-type{border-top:0}.readiness-item-info strong{display:block;font-size:12px}.readiness-item-info p{margin:4px 0;font-size:10px;color:var(--app-muted)}.readiness-required-tag{display:inline-block;font-size:8px;font-weight:800;text-transform:uppercase;background:#e9f1e7;border-radius:10px;padding:3px 6px}.readiness-required-tag.optional{background:#f0f1f0;color:var(--app-muted)}
.readiness-people{display:flex;gap:6px;flex-wrap:wrap}.readiness-person-check{display:flex;align-items:center;gap:5px;border:1px solid #dfe4df;border-radius:18px;padding:6px 8px;font-size:9px;background:#fafbfa}.readiness-person-check.checked{background:#edf5eb;border-color:#b9ceb5}.readiness-person-check input{margin:0}.readiness-edit-actions{display:flex;gap:5px;align-items:center}
@media(max-width:900px){.readiness-item-row{grid-template-columns:1fr}.ready-add-form{grid-template-columns:1fr 1fr}.ready-add-form h3{grid-column:1/-1}}@media(max-width:560px){.ready-add-form{grid-template-columns:1fr}.ready-head{display:block}.ready-head .primary{margin-top:10px}}

/* Step 73A — Readiness usability/layout repair */
.readiness-v2{width:100%;max-width:100%;min-width:0;overflow:hidden}
.ready-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.ready-head h2{margin:0 0 5px}.ready-head p{margin:0;max-width:760px;color:var(--app-muted);font-size:11px;line-height:1.5}
.ready-head-actions{display:flex;gap:8px;flex:0 0 auto}
.ready-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px;margin-bottom:16px}
.ready-stat{min-width:0}
.ready-add-form{display:none;background:#fff;border:1px solid var(--app-line);border-radius:14px;padding:15px;margin:0 0 15px;grid-template-columns:1fr 1.4fr 2fr auto auto;gap:8px;align-items:center}
.ready-add-form.open{display:grid}.ready-add-form h3{grid-column:1/-1;margin:0 0 4px}
.ready-add-form input[type=text],.ready-add-form>input{min-width:0;width:100%;box-sizing:border-box;padding:9px;border:1px solid var(--app-line);border-radius:8px}
.readiness-category{overflow:visible!important;margin-bottom:14px;padding:0}
.readiness-category .ready-panel-head{padding:14px 16px}
.readiness-item-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:14px 16px!important;border-top:1px solid #edf0ed;max-width:100%;box-sizing:border-box}
.readiness-item-info{min-width:0}.readiness-item-info strong{display:block;font-size:13px;line-height:1.35}.readiness-item-info p{margin:4px 0 6px;font-size:10px;line-height:1.45;color:var(--app-muted);overflow-wrap:anywhere}
.readiness-people{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;width:100%;min-width:0}
.readiness-person-check{display:flex;align-items:center;gap:7px;min-width:0;box-sizing:border-box;border:1px solid #dfe4df;border-radius:9px;padding:8px 10px;font-size:10px;background:#fafbfa;cursor:pointer}
.readiness-person-check.checked{background:#edf5eb;border-color:#b9ceb5}.readiness-person-check input{margin:0;flex:0 0 auto}.readiness-person-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.readiness-edit-actions{display:flex!important;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap;padding-top:2px}
@media(max-width:900px){.ready-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ready-add-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ready-head{display:block}.ready-head-actions{margin-top:10px}.ready-summary{grid-template-columns:1fr 1fr!important}.ready-add-form{grid-template-columns:1fr}.readiness-people{grid-template-columns:1fr}}

/* Step 73B — Readiness check cards + edit-only interaction */
.readiness-category{background:transparent!important;border:0!important;box-shadow:none!important}
.readiness-category .ready-panel-head{background:transparent!important;border:0!important;padding:4px 0 10px!important}
.readiness-category .ready-panel-head h3{font-size:16px}
.readiness-item-row{
  background:#fff!important;
  border:1px solid var(--app-line)!important;
  border-radius:14px!important;
  padding:16px!important;
  margin:0 0 12px!important;
  box-shadow:0 2px 8px rgba(20,32,24,.04);
}
.readiness-item-row:first-of-type{border-top:1px solid var(--app-line)!important}
.readiness-item-info{padding-bottom:4px}
.readiness-item-info strong{font-size:14px}
.readiness-people{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important}
.readiness-person-check{
  min-height:44px;
  border-radius:11px!important;
  padding:9px 11px!important;
  background:#f8faf8!important;
}
.readiness-person-check.checked{background:#edf5eb!important;border-color:#adc5a8!important}
.readiness-person-check.view-only{cursor:default;opacity:.88}
.readiness-person-check.view-only input{cursor:not-allowed}
.readiness-v2:not(.editing) .readiness-person-check{pointer-events:none}
.readiness-edit-actions{border-top:1px solid #edf0ed;padding-top:10px!important;margin-top:2px}

/* Step 73C — desktop readiness card grid */
.readiness-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.readiness-card-grid .readiness-item-row{
  margin:0!important;
  height:100%;
  align-content:start;
}
.readiness-card-grid .readiness-people{
  grid-template-columns:1fr!important;
}
@media(max-width:1180px){
  .readiness-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .readiness-card-grid{grid-template-columns:1fr}
  .readiness-card-grid .readiness-item-row{height:auto}
}

/* Step 73D — Trip Leader/Admin participant readiness overview */
.ready-participant-overview{margin:0 0 18px}
.ready-overview-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}
.ready-overview-head h3{margin:0;font-size:16px}.ready-overview-head p{margin:3px 0 0;font-size:10px;color:var(--app-muted)}
.ready-participant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.participant-ready-card{background:#fff;border:1px solid var(--app-line);border-radius:14px;padding:13px;min-width:0}
.participant-ready-card.is-ready{border-color:#b8cdb3;background:#fbfdfb}
.participant-ready-top{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}
.participant-ready-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9eee8;font-size:13px;font-weight:900}
.participant-ready-name{min-width:0}.participant-ready-name strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-ready-name span{display:block;margin-top:2px;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted)}
.participant-ready-badge{font-size:7px;font-weight:900;letter-spacing:.05em;padding:4px 6px;border-radius:10px;background:#f1eee4;color:#806c35}.participant-ready-badge.complete{background:#e4f0e1;color:#3f6538}
.participant-ready-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:11px}.participant-ready-progress b{font-size:9px}
.participant-ready-bar{height:6px;background:#e9ece9;border-radius:8px;overflow:hidden}.participant-ready-bar span{display:block;height:100%;background:currentColor;border-radius:8px}
.participant-ready-vehicle{font-size:8px;color:var(--app-muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.participant-ready-missing{border-top:1px solid #edf0ed;margin-top:10px;padding-top:8px}.participant-ready-missing small{display:block;font-size:8px;font-weight:800;text-transform:uppercase;color:var(--app-muted);margin-bottom:5px}
.participant-ready-tags{display:flex;gap:4px;flex-wrap:wrap}.participant-ready-tags span{font-size:8px;padding:4px 6px;border-radius:8px;background:#f5f0e7}.participant-ready-missing em{display:block;font-size:8px;color:var(--app-muted);font-style:normal;margin-top:5px}
.participant-ready-all{border-top:1px solid #e3ebe1;margin-top:10px;padding-top:8px;font-size:9px;font-weight:800;color:#466c40}
@media(max-width:1100px){.ready-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ready-participant-grid{grid-template-columns:1fr}}

/* Step 74 — Trip Leader/Admin participant editor */
.participant-editor{background:#f8faf8;border:1px solid #cfd9cc;border-radius:14px;padding:15px;margin:14px 0}
.participant-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.participant-editor-head h3{margin:0}.participant-editor-head p{margin:3px 0 0;font-size:10px;color:var(--app-muted)}
.participant-editor-fields{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:12px}.participant-editor-fields select{width:100%}
.participant-editor-note{font-size:9px;color:var(--app-muted);margin:8px 0 13px}
.participant-editor-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.participant-editor-readiness h4{grid-column:1/-1;margin:0 0 2px}
.participant-editor-check{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--app-line);border-radius:10px;padding:9px;cursor:pointer}.participant-editor-check.checked{background:#edf5eb;border-color:#b9ceb5}.participant-editor-check input{margin-top:2px}.participant-editor-check strong{display:block;font-size:10px}.participant-editor-check small{display:block;font-size:8px;color:var(--app-muted);margin-top:2px}
.participant-editor-actions{display:flex;justify-content:flex-end;margin-top:12px}.participant-edit-btn{margin-bottom:5px;width:100%}
.participant-overview-edit{width:100%;margin-top:9px;font-size:8px!important}
@media(max-width:700px){.participant-editor-fields,.participant-editor-readiness{grid-template-columns:1fr}}

/* Step 74A — authoritative participant management permission */
.participant-manage-banner{margin:10px 0;padding:9px 11px;border-radius:9px;background:#edf5eb;border:1px solid #b9ceb5;font-size:10px;font-weight:700}

/* Step 74B — visible participant management actions */
.participant-list-card{overflow:visible!important}
.participant-list-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important}
.participant-list-main{min-width:0}
.participant-card-actions{display:flex!important;min-width:145px!important;justify-content:flex-end!important;align-items:center!important}
.participant-card-actions .participant-edit-btn{display:inline-flex!important;width:auto!important;min-width:132px!important;margin:0!important;justify-content:center!important;visibility:visible!important;opacity:1!important}
.participant-view-label{font-size:9px;color:var(--app-muted)}
@media(max-width:700px){.participant-list-row{grid-template-columns:1fr!important}.participant-card-actions{justify-content:flex-start!important;min-width:0!important}}

/* Step 74D — clean account-based Trip Participants */
.participant-add-heading{margin-top:16px;padding-top:13px;border-top:1px solid var(--app-line);display:flex;flex-direction:column;gap:2px}
.participant-add-heading strong{font-size:11px}.participant-add-heading span,.participant-no-candidates{font-size:9px;color:var(--app-muted)}
.participant-no-candidates{margin-top:13px;padding-top:10px;border-top:1px solid var(--app-line)}
.participant-add-row{align-items:end}

/* Step 74E — explicit Club Member creation */
.member-admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.add-member-card{margin:0 0 14px}
.add-member-card .member-invite-simple{align-items:end}
@media(max-width:650px){.member-admin-head{align-items:flex-start;flex-direction:column}.member-admin-head .primary{width:100%}}

/* Step 75 — direct member creation */
.add-member-mode-tabs{display:flex;gap:5px;margin-bottom:15px;padding:4px;background:#eef1ed;border-radius:10px;width:max-content}
.add-member-mode-tabs button{border:0;background:transparent;border-radius:8px;padding:7px 12px;font-size:9px;font-weight:800;cursor:pointer}.add-member-mode-tabs button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.direct-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.direct-member-grid.vehicle{grid-template-columns:repeat(4,minmax(0,1fr))}
.direct-member-section{margin-top:16px;padding-top:13px;border-top:1px solid var(--app-line)}.direct-member-section h4{margin:0}.direct-member-section p{font-size:9px;color:var(--app-muted);margin:3px 0 10px}
.direct-create-btn{margin-top:14px}.important-result{font-weight:800}
@media(max-width:900px){.direct-member-grid,.direct-member-grid.vehicle{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.direct-member-grid,.direct-member-grid.vehicle{grid-template-columns:1fr}.add-member-mode-tabs{width:100%}.add-member-mode-tabs button{flex:1}}

/* Step 78 — canonical trip vehicles + member vehicle administration */
.club-member-editor{margin:14px 0;padding:16px;border:1px solid var(--app-line);border-radius:14px;background:#fff}
.member-editor-email{font-size:10px;color:var(--app-muted);margin:8px 0 12px}
.member-add-vehicle{margin-top:12px}.member-vehicle-editor{margin-top:12px;padding:14px;border:1px solid var(--app-line);border-radius:12px;background:#f8faf7}

/* Step 84 — compact expandable Route & Fuel itinerary */
.route84-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 10px;flex-wrap:wrap}
.route84-toolbar-note{font-size:11px;color:var(--asphalt-soft)}
.route84-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}
.route84-list{display:flex;flex-direction:column;gap:9px}
.route84-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 3px 12px rgba(24,34,29,.035)}
.route84-summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer}
.route84-summary:hover{background:#fafbf9}
.route84-num{width:34px;height:34px;border-radius:9px;background:#eef1ee;display:grid;place-items:center;font:800 11px 'IBM Plex Mono',monospace;color:var(--asphalt)}
.route84-main strong{display:block;font-size:14px;color:var(--asphalt);margin-bottom:5px}
.route84-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--asphalt-soft)}
.route84-chip{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #dfe5df;border-radius:16px;background:#f5f7f4;font-size:9px;font-weight:800;color:#59665c}
.route84-chip.fuel{background:#fff3e4;border-color:#ead1aa;color:#865314}
.route84-chip.warn{background:#fff0ed;border-color:#e7c6bf;color:#8a4439}
.route84-chevron{font-size:16px;color:var(--asphalt-soft);min-width:20px;text-align:center}
.route84-detail{border-top:1px solid #edf0ed;padding:15px;background:#fcfdfb}
.route84-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.route84-field{min-width:0}
.route84-field.full{grid-column:1/-1}
.route84-field label{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--asphalt-soft);margin-bottom:5px}
.route84-field input,.route84-field select,.route84-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--asphalt);font:inherit}
.route84-field textarea{min-height:76px;resize:vertical}
.route84-value{min-height:38px;display:flex;align-items:center;padding:9px 10px;border:1px solid #e5e9e4;border-radius:8px;background:#f7f9f6;font-size:12px;color:var(--asphalt)}
.route84-fuelbox{grid-column:1/-1;border:1px solid #eadcc5;border-radius:10px;padding:11px;background:#fffaf2}
.route84-fuelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.route84-fuelinfo{font-size:11px;color:var(--asphalt-soft);margin-top:7px}
.route84-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:650px){.route84-summary{grid-template-columns:38px minmax(0,1fr) auto;padding:12px 10px;gap:8px}.route84-grid{grid-template-columns:1fr}.route84-field.full,.route84-fuelbox{grid-column:1}.route84-main strong{font-size:13px}}


/* Step 85 — Vehicles + trip fuel/range combined */
.vehicle85-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;flex-wrap:wrap}
.vehicle85-actions{display:flex;gap:7px;flex-wrap:wrap}
.vehicle85-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:10px;box-shadow:0 3px 12px rgba(24,34,29,.035)}
.vehicle85-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 15px;cursor:pointer}
.vehicle85-head:hover{background:#fafbf9}
.vehicle85-icon{width:36px;height:36px;border-radius:10px;background:#eef1ee;display:grid;place-items:center}
.vehicle85-title strong{display:block;font-size:14px;color:var(--asphalt)}
.vehicle85-title span{display:block;margin-top:4px;font-size:10px;color:var(--asphalt-soft)}
.vehicle85-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.vehicle85-status{border-radius:18px;padding:5px 8px;font-size:9px;font-weight:900;background:#e8f2e9;color:#3f6945}
.vehicle85-status.warn{background:#fff0e7;color:#8a4c24}
.vehicle85-detail{border-top:1px solid #edf0ed;padding:15px;background:#fcfdfb}
.vehicle85-section-title{font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--asphalt-soft);margin:2px 0 10px}
.vehicle85-fuel-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.vehicle85-fuel-summary>div{background:#f5f7f4;border:1px solid #e4e8e2;border-radius:9px;padding:10px}
.vehicle85-fuel-summary small{display:block;font-size:8px;text-transform:uppercase;color:var(--asphalt-soft);font-weight:800;margin-bottom:4px}
.vehicle85-fuel-summary b{font-size:13px}
.vehicle85-table{overflow-x:auto;margin-top:9px}
@media(max-width:720px){.vehicle85-head{grid-template-columns:38px minmax(0,1fr)}.vehicle85-right{grid-column:2;justify-content:flex-start}.vehicle85-fuel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Step 95 — simple participant workspace */
.p95-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}.p95-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.p95-row:hover{background:#faf9f5}.p95-name{font-size:14px;font-weight:800}.p95-meta{font-size:11px;opacity:.7;margin-top:3px}.p95-right{display:flex;align-items:center;gap:8px}.p95-status{font-size:10px;font-weight:700;padding:4px 7px;border:1px solid var(--line);border-radius:999px}.p95-status.warn{font-weight:800}.p95-workspace{margin-top:12px}.p95-back{margin-bottom:12px}.p95-person-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}.p95-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0}.p95-tabs button{border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer}.p95-tabs button.active{background:var(--asphalt);color:#fff}.p95-panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.p95-line{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.p95-line:last-child{border-bottom:0}.p95-line small{display:block;font-size:10px;opacity:.65}.p95-line b{font-size:12px}.p95-consumption{width:100%;border-collapse:collapse;font-size:11px;margin-top:10px}.p95-consumption th,.p95-consumption td{padding:7px;border-bottom:1px solid var(--line);text-align:left}.p95-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* Step 95A — full-width participant/member/vehicle editor layout correction */
.participant-editor{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.participant-editor-head{width:100%!important;box-sizing:border-box!important}
.participant-editor-fields{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(360px,2fr)!important;
  gap:10px!important;
  width:100%!important;
}
.participant-editor-readiness,
.direct-member-section,
.member-vehicle-editor{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  grid-column:1 / -1!important;
}
.participant-editor-readiness .direct-member-grid,
.member-vehicle-editor .direct-member-grid,
.direct-member-grid.vehicle{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(140px,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
.member-vehicle-editor{margin-top:12px!important;padding:12px!important}
.member-vehicle-editor .account-field{min-width:0!important}
.member-vehicle-editor textarea.info-textarea,
.member-vehicle-editor textarea{
  width:100%!important;
  min-height:64px!important;
  height:64px!important;
  box-sizing:border-box!important;
}
.member-list-card{width:100%!important;box-sizing:border-box!important}
.member-editor-email{margin:8px 0!important}
.member-add-vehicle{width:auto!important;min-width:150px!important}
.participant-editor .club-create-actions,
.member-vehicle-editor .club-create-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:100%!important;
}
.participant-editor .club-create-actions button,
.member-vehicle-editor .club-create-actions button,
.participant-editor button.account-primary,
.participant-editor button.mode-btn{
  width:auto!important;
  min-width:110px!important;
}
.participant-editor-readiness>button.mode-btn{float:right!important;margin-top:8px!important}
.participant-editor-readiness:after{content:"";display:block;clear:both}
@media(max-width:900px){
  .participant-editor-fields{grid-template-columns:1fr!important}
  .participant-editor-readiness .direct-member-grid,
  .member-vehicle-editor .direct-member-grid,
  .direct-member-grid.vehicle{grid-template-columns:repeat(2,minmax(130px,1fr))!important}
}
@media(max-width:560px){
  .participant-editor-readiness .direct-member-grid,
  .member-vehicle-editor .direct-member-grid,
  .direct-member-grid.vehicle{grid-template-columns:1fr!important}
}


/* Step 95B — permanent member details alignment fix */
.participant-editor-readiness{
  display:block!important;
}
.participant-editor-readiness > h4,
.participant-editor-readiness > p,
.participant-editor-readiness > .member-editor-email,
.participant-editor-readiness > .direct-member-grid,
.participant-editor-readiness > button{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  float:none!important;
}
.participant-editor-readiness > .direct-member-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:10px 0 6px!important;
}
.participant-editor-readiness > .direct-member-grid .account-field{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
.participant-editor-readiness > .direct-member-grid .account-field input{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.participant-editor-readiness > .member-editor-email{
  margin:7px 0 0!important;
  font-size:11px!important;
}
.participant-editor-readiness > button.mode-btn{
  display:block!important;
  width:auto!important;
  min-width:160px!important;
  margin:10px 0 0 auto!important;
}
@media(max-width:900px){
  .participant-editor-readiness > .direct-member-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .participant-editor-readiness > .direct-member-grid{
    grid-template-columns:1fr!important;
  }
}


/* Step 96 — modern visual participant workspace */
.p96-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:16px}
.p96-person{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:.15s ease;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.p96-person:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.p96-person-top{display:flex;justify-content:space-between;gap:12px}.p96-identity{display:flex;gap:11px;align-items:center}
.p96-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2e302b;color:#fff;font-weight:800;font-size:13px;flex:0 0 auto}
.p96-name{font-weight:800;font-size:15px}.p96-sub{font-size:11px;opacity:.65;margin-top:2px}.p96-vehicle{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px}
.p96-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;background:#f4f2eb;white-space:nowrap}
.p96-badge.warn{background:#fff4df}.p96-open{margin-top:12px;text-align:right;font-size:11px;font-weight:800}
.p96-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.p96-hero-id{display:flex;align-items:center;gap:13px}.p96-hero .p96-avatar{width:54px;height:54px;font-size:16px}
.p96-tabs{display:flex;gap:6px;margin:14px 0;flex-wrap:wrap}.p96-tabs button{border:0;background:transparent;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer}.p96-tabs button.active{background:#2e302b;color:#fff}
.p96-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p96-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.p96-card h3{font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px}.p96-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.p96-data{font-size:13px;line-height:1.7}.p96-muted{font-size:11px;opacity:.65}.p96-action{border:0;background:transparent;text-decoration:underline;font-size:10px;font-weight:800;cursor:pointer}
.p96-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.p96-check{padding:9px 10px;border-radius:9px;background:#f7f6f1;font-size:11px}.p96-check.pending{background:#fff4df}
.p96-metric{font-size:26px;font-weight:800;line-height:1}.p96-metric-label{font-size:10px;opacity:.65;margin-top:4px}
.p96-progress{height:9px;border-radius:999px;background:#ece9df;overflow:hidden;margin:10px 0}.p96-progress>span{display:block;height:100%;background:#2e302b;border-radius:999px}
.p96-consumption{display:flex;flex-direction:column;gap:9px;margin-top:12px}.p96-cons-row{display:grid;grid-template-columns:80px 1fr 85px;gap:9px;align-items:center;font-size:11px}.p96-cons-bar{height:7px;background:#ece9df;border-radius:999px;overflow:hidden}.p96-cons-bar span{display:block;height:100%;background:#2e302b;border-radius:999px}
.p96-fuel-hero{text-align:center;padding:12px}.p96-fuel-hero .p96-metric{font-size:34px}.p96-back{margin-bottom:12px}
@media(max-width:760px){.p96-grid{grid-template-columns:1fr}.p96-list{grid-template-columns:1fr}}


/* Step 97 — visual waypoint-to-waypoint fuel journey */
.p97-fuel-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.p97-leg{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}
.p97-leg.fuel-stop{border-width:2px}.p97-leg.warning{background:#fffaf0}
.p97-leg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.p97-route{font-size:13px;font-weight:800}.p97-leg-meta{font-size:10px;opacity:.65;margin-top:3px}
.p97-leg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.p97-leg-stat{background:#f7f6f1;border-radius:9px;padding:9px}.p97-leg-stat small{display:block;font-size:9px;opacity:.62;margin-bottom:3px}.p97-leg-stat b{font-size:12px}
.p97-fuelbar{height:8px;border-radius:999px;background:#ece9df;overflow:hidden;margin-top:11px}.p97-fuelbar span{display:block;height:100%;background:#2e302b;border-radius:999px}
.p97-stop{margin-top:11px;padding:10px;border-radius:9px;background:#f4f2eb;font-size:11px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:8px}
.p97-stop small{display:block;font-size:9px;opacity:.62}.p97-warning{margin-top:9px;padding:8px 10px;border-radius:8px;background:#fff0cf;font-size:10px;font-weight:800}
@media(max-width:760px){.p97-leg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p97-stop{grid-template-columns:1fr 1fr}}


/* Step 98 — ClubTrekker modern design system, all pages */
:root{
  --ct-surface:#fff;--ct-soft:#f6f5f0;--ct-soft2:#efede5;--ct-ink:#292b27;
  --ct-muted:#6e716a;--ct-radius:14px;--ct-shadow:0 1px 2px rgba(0,0,0,.03);
}
.content .panel,.dashboard-card,.trip-card,.garage-card,.member-list-card,.document-card,.route84-leg,.vehicle85-card,
.info-card,.account-card,.readiness-card,.fuel-card{
  border-radius:var(--ct-radius)!important;border:1px solid var(--line)!important;
  box-shadow:var(--ct-shadow)!important;background:var(--ct-surface)!important;
}
.content .panel{padding:16px!important}
.content h2{font-size:20px!important;letter-spacing:-.02em}.content h3{font-size:14px!important}
.content p,.field-hint{color:var(--ct-muted)}
button.primary,.account-primary{border-radius:9px!important;padding:9px 13px!important;min-height:36px!important}
button.mode-btn{border-radius:8px!important;padding:7px 10px!important;min-height:32px!important}
input,select,textarea{border-radius:8px!important}
.vehicle-summary,.dashboard-stats,.stats-grid,.summary-grid{gap:10px!important}
.vehicle-summary-card,.stat-card,.summary-card{border-radius:12px!important;padding:12px!important;box-shadow:none!important}

/* Dashboard: status-first, lighter cards */
.dashboard-grid{gap:12px!important}.dashboard-card{padding:15px!important}
.dashboard-card h3{margin-bottom:8px!important}
.dashboard-banner{border-radius:16px!important;overflow:hidden!important}
.dashboard-overview-grid,.dashboard-detail-grid{gap:10px!important}
.dashboard-readiness,.dashboard-gear{border-radius:11px!important}

/* Trips: modern selectable tiles */
.trip-list,.trips-grid{gap:12px!important}
.trip-card{padding:15px!important;transition:.15s ease!important}
.trip-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.07)!important}
.trip-card .trip-actions{gap:6px!important}

/* Route & Fuel: itinerary / journey styling */
.route84-leg{overflow:hidden!important;margin-bottom:8px!important}
.route84-head{padding:11px 13px!important;min-height:0!important}
.route84-body{padding:12px 13px!important}
.route84-summary,.route-summary{border-radius:12px!important}
.route84-chip{border-radius:999px!important;padding:4px 7px!important}
.route-table{border-collapse:separate!important;border-spacing:0!important}
.route-table th{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.04em!important;background:var(--ct-soft)!important}
.route-table td{font-size:11px!important}

/* Map: make controls feel like a map workspace */
.map-shell,.map-panel,.navigation-map-wrap{border-radius:14px!important;overflow:hidden!important}
.map-toolbar,.map-actions{gap:6px!important}
.map-toolbar button,.map-actions button{border-radius:8px!important}
details.panel>summary{padding:2px 0!important}

/* Garage: vehicle profiles rather than admin boxes */
.garage-card{padding:15px!important}
.garage-card-head{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important}
.garage-grid,.vehicle-grid{gap:10px!important}
.garage-card .account-field{margin-bottom:8px!important}

/* Club & Members: directory styling */
.member-list-card{padding:12px 14px!important;margin-bottom:7px!important}
.member-list-row{align-items:center!important}
.member-name{font-size:13px!important}.member-detail{font-size:10px!important;color:var(--ct-muted)!important}
.member-role{border-radius:999px!important}

/* Trip Preparation: progress/checklist feel */
.readiness-people{gap:7px!important}
.readiness-person-check,.participant-editor-check{border-radius:10px!important;padding:9px 10px!important;background:var(--ct-soft)!important}
.readiness-person-check.checked,.participant-editor-check.checked{background:#f0f4ec!important}
.readiness-section,.readiness-group{border-radius:13px!important}

/* Documents: library tiles */
.document-card{padding:13px!important}
.documents-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:10px!important}
.document-actions{gap:6px!important}

/* My Account / forms */
.account-card{padding:16px!important}
.account-grid,.direct-member-grid{gap:10px!important}
.account-field label{font-size:10px!important;letter-spacing:.02em!important}
.account-field input,.account-field select,.account-field textarea{min-height:36px!important;padding:7px 9px!important}

/* Shared empty/info states */
.migration-note,.dashboard-empty,.vehicle-empty{border-radius:11px!important;padding:12px!important;background:var(--ct-soft)!important}
.invite-result,.account-error{border-radius:10px!important}

/* Reduce visual noise from nested boxes */
.content .panel .panel{box-shadow:none!important;background:var(--ct-soft)!important}
.content hr{border:0!important;border-top:1px solid var(--line)!important}
@media(max-width:760px){
  .content .panel{padding:12px!important}.dashboard-grid{grid-template-columns:1fr!important}
  .documents-grid{grid-template-columns:1fr!important}
}


/* Step 98B — remove participant action */
.p98b-danger{margin-top:12px;padding:13px 15px;border:1px solid #ead7d2;border-radius:12px;background:#fffafa;display:flex;justify-content:space-between;align-items:center;gap:14px}
.p98b-danger strong{display:block;font-size:11px}.p98b-danger span{display:block;font-size:10px;opacity:.65;margin-top:2px}
.p98b-remove{border:1px solid #c95f52!important;background:#fff!important;color:#a33d32!important;border-radius:8px!important;padding:7px 10px!important;font-size:10px!important;font-weight:800!important;cursor:pointer}
.p98b-remove:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.p98b-danger{align-items:flex-start;flex-direction:column}}


/* Step 101 — administrator theme picker */
.theme-admin-card{margin-top:12px!important}.theme-admin-head h3{margin:0 0 4px}.theme-admin-head p{margin:0 0 13px;font-size:12px}
.theme-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.theme-choice{border:1px solid var(--app-line);background:var(--app-card);border-radius:11px;padding:10px;text-align:left;cursor:pointer;color:var(--app-ink)}
.theme-choice.active{box-shadow:inset 0 0 0 2px var(--app-green)}.theme-swatch{display:block;width:100%;height:30px;border-radius:7px;margin-bottom:8px}
.theme-choice>span:nth-child(2){display:block;font-size:11px;font-weight:800}.theme-choice small{display:block;margin-top:3px;font-size:8px;opacity:.55}
@media(max-width:900px){.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.theme-picker{grid-template-columns:1fr}}


/* ===== STEP 103: MOBILE-FIRST APPLICATION SHELL ===== */
html,body{max-width:100%;overflow-x:hidden}
#app-root,.app-shell,.app-main,.app-content{min-width:0;max-width:100%}
.mobile-drawer-head,.mobile-menu-button,.mobile-top-title,.mobile-nav-backdrop{display:none}

@media(max-width:900px){
  body{margin:0;overflow-x:hidden;-webkit-text-size-adjust:100%}
  .app-shell{display:block;min-height:100dvh;width:100%}
  .app-main{width:100%;min-width:0}
  .app-sidebar{
    display:flex;position:fixed!important;z-index:1002;left:0;top:0;bottom:0;
    width:min(86vw,340px);height:100dvh!important;padding:16px 14px 20px!important;
    transform:translateX(-105%);transition:transform .22s ease;overflow-y:auto;
    box-shadow:18px 0 45px rgba(0,0,0,.22)
  }
  .mobile-nav-open .app-sidebar{transform:translateX(0)}
  .mobile-nav-backdrop{position:fixed;display:block;z-index:1001;inset:0;border:0;background:rgba(0,0,0,.48);opacity:0;pointer-events:none;transition:opacity .22s}
  .mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  .mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding:3px 4px 14px}
  .mobile-drawer-title{font:700 20px 'Oswald',sans-serif;text-transform:uppercase;color:#fff}.mobile-drawer-title small{display:block;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:1.3px;opacity:.62;margin-top:2px}
  .mobile-nav-close{width:44px;height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;cursor:pointer}
  .app-sidebar>.app-brand{display:none}
  .app-nav{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;overflow:visible!important}
  .app-nav button{min-height:48px!important;text-align:left!important;padding:12px 14px!important;font-size:14px!important;border-radius:10px!important}
  .app-nav-group{margin-top:10px}
  .app-sidebar-bottom{display:block!important;margin-top:auto}
  .app-topbar{height:64px!important;padding:0 12px!important;gap:10px;position:sticky!important;top:0!important;z-index:50}
  .mobile-menu-button{display:grid;width:46px;height:46px;flex:0 0 46px;place-content:center;gap:5px;border:1px solid var(--app-line);border-radius:11px;background:var(--app-card);cursor:pointer}
  .mobile-menu-button span{display:block;width:21px;height:2px;border-radius:2px;background:var(--app-ink)}
  .mobile-top-title{display:block;min-width:0;line-height:1.05}.mobile-top-title b{display:block;font:700 15px 'Oswald',sans-serif;text-transform:uppercase}.mobile-top-title small{display:block;margin-top:4px;font-size:10px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}
  .app-breadcrumbs{display:none!important}
  .app-top-account{margin-left:auto;min-width:0}.app-top-account .account-user{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-content{width:100%!important;max-width:100%!important;padding:14px!important;margin:0!important;overflow:hidden}
  .trip-hero{border-radius:14px!important;padding:20px 16px!important}.trip-hero h1{font-size:27px!important;line-height:1.08}.trip-hero:after{display:none}
  .hero-actions,.page-actions,.form-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  button,input,select,textarea{max-width:100%}
  input,select,textarea{font-size:16px!important;min-height:46px}
  button{touch-action:manipulation}.primary,.secondary,.mode-btn{min-height:44px}
  .dashboard-grid,.trip-card-grid,.stat-grid,.wizard-grid,.theme-picker{grid-template-columns:1fr!important}
  .panel,.dashboard-card,.trip-card,.garage-card,.member-list-card,.document-card,.route84-leg,.vehicle85-card,.info-card,.account-card,.readiness-card,.fuel-card{max-width:100%;min-width:0}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  img,svg,canvas{max-width:100%}
  .leaflet-container{max-width:100%;touch-action:pan-x pan-y}
  .map-shell,.map-wrap,#map,.navigation-map{max-width:100%!important}
  .modal,.dialog,.editor-card,.participant-editor,.club-create-card,.account-work-card{max-width:100%!important;width:100%!important}
  .route84-leg,.vehicle85-card,.participant-card{overflow-wrap:anywhere}
}
@media(max-width:520px){
  .app-content{padding:10px!important}
  .app-topbar{padding:0 9px!important}
  .mobile-top-title small{max-width:38vw}
  .app-top-account .account-user{display:none}
  .trip-hero{padding:18px 14px!important}
  .trip-hero h1{font-size:24px!important}
  .account-page-head h1{font-size:25px}
  .member-admin-head,.mytrips-head{gap:10px}
  .theme-picker{grid-template-columns:1fr!important}
}
@media(orientation:landscape) and (max-height:520px){
  .app-sidebar{width:min(72vw,330px)}
  .app-topbar{height:58px!important}
}


/* Step 108 — controlled read-only offline trip snapshots */
body.ct-trip-offline .app-topbar{background:#d97706;color:#fff;border-bottom-color:#b45309}
body.ct-trip-offline .app-topbar .app-top-title,
body.ct-trip-offline .app-topbar .account-user,
body.ct-trip-offline .app-topbar .app-top-title small{color:#fff}
body.ct-trip-offline .app-topbar button{border-color:rgba(255,255,255,.55)}
/* Step 108T: offline trip is strictly read-only. Hide mutation controls everywhere. */
body.ct-trip-offline .app-content button:not(.offline-safe-nav),
body.ct-trip-offline .app-content input,
body.ct-trip-offline .app-content textarea,
body.ct-trip-offline .app-content select{display:none!important}
/* Keep the normal responsive sidebar/drawer rules intact while offline. */
body.ct-trip-offline .app-sidebar{visibility:visible!important}
body.ct-trip-offline .app-sidebar button{visibility:visible!important;pointer-events:auto}
body.ct-trip-offline .mobile-menu-button{display:grid!important;visibility:visible!important;pointer-events:auto!important}
@media(min-width:901px){body.ct-trip-offline .mobile-menu-button{display:none!important}}
@media(max-width:900px){
  body.ct-trip-offline .app-sidebar{display:flex!important}
  body.ct-trip-offline .app-nav{display:grid!important}
  body.ct-trip-offline .mobile-nav-open .app-sidebar{transform:translateX(0)!important}
}

.offline-status-btn{background:#fff3cd!important;color:#7c2d12!important;border:1px solid #fbbf24!important;font-weight:800}
.offline-trip-message{margin:12px 0;padding:12px 14px;border:1px solid #f59e0b;border-radius:12px;background:#fff7ed;color:#7c2d12;font-weight:650}
body.ct-trip-offline .offline-dashboard-blocked{opacity:.55!important}

.docs-delete-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:64px!important;min-height:34px!important;height:34px!important;padding:6px 12px!important;line-height:1!important;white-space:nowrap!important;font-size:12px!important;box-sizing:border-box!important}

.ct-gps-dot{width:18px;height:18px;border-radius:50%;background:#1689ff;border:3px solid #fff;box-shadow:0 0 0 3px rgba(22,137,255,.28),0 2px 7px rgba(0,0,0,.45)}
.ct-gps-status{font-size:12px;font-weight:700;margin-top:8px;color:var(--app-muted)}
.offline-trip-bar{margin:12px 0;padding:12px 14px;border:1px solid #c9c3b4;border-radius:12px;background:#fffaf0;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.offline-trip-bar strong{display:block}.offline-trip-note{font-size:12px;opacity:.75}
.offline-trip-actions{display:flex;gap:8px;flex-wrap:wrap}
.offline-trip-actions button{min-height:42px}
.offline-saved-list{display:grid;gap:10px;margin-top:12px}
.offline-saved-item{border:1px solid #d8d4c7;border-radius:12px;padding:12px;background:#fff}


.banner-date-editor{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 6px}.banner-date-editor label{display:flex;flex-direction:column;gap:4px;min-width:180px}.banner-date-editor label span{font-size:12px;font-weight:700;opacity:.8;text-transform:uppercase;letter-spacing:.04em}.banner-date-editor .info-select{margin:0}

.dashboard-trip-date{font-size:14px;font-weight:750;margin:6px 0 8px;line-height:1.35}.dashboard-trip-card .dashboard-trip-date{opacity:.92}
.trips-page-date{font-size:14px;font-weight:750;margin:2px 0 8px;line-height:1.35}

    /* Step 128A — participant trip-details editor containment */
    .participant-editor{box-sizing:border-box;max-width:100%;overflow:hidden}
    .participant-editor .participant-editor-fields{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      gap:14px 12px;
      width:100%;
      max-width:100%;
      box-sizing:border-box;
    }
    .participant-editor .participant-editor-fields > *{min-width:0;max-width:100%;box-sizing:border-box}
    .participant-editor .account-field{min-width:0;max-width:100%}
    .participant-editor .account-field input:not([type="checkbox"]),
    .participant-editor .account-field select,
    .participant-editor .account-field textarea{
      display:block;
      width:100%;
      max-width:100%;
      min-width:0;
      box-sizing:border-box;
    }
    .participant-editor .account-field textarea{resize:vertical}
    @media(max-width:720px){
      .participant-editor .participant-editor-fields{grid-template-columns:minmax(0,1fr)}
      .participant-editor .account-field[style*="grid-column"]{grid-column:1!important}
    }

    /* Step 128B — Trip Participant Details must use the full participant workspace */
    .p96-grid > .participant-editor{
      grid-column:1 / -1 !important;
      width:100% !important;
      max-width:none !important;
      min-width:0 !important;
      overflow:visible !important;
    }
    .p96-grid > .participant-editor .participant-editor-fields{
      width:100% !important;
      max-width:none !important;
      grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .p96-grid > .participant-editor .account-field{
      width:100% !important;
      min-width:0 !important;
    }
    .p96-grid > .participant-editor input:not([type="checkbox"]),
    .p96-grid > .participant-editor select,
    .p96-grid > .participant-editor textarea{
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      box-sizing:border-box !important;
    }
    @media(max-width:720px){
      .p96-grid > .participant-editor .participant-editor-fields{
        grid-template-columns:minmax(0,1fr) !important;
      }
    }

/* Step 130 — in-app notification centre */
.ct-notify-wrap{position:relative}
.ct-notify-bell{position:relative;border:1px solid var(--app-line);background:#fffdf7;border-radius:9px;min-width:38px;height:38px;cursor:pointer;font-size:17px}
.ct-notify-count{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#a43d32;color:white;font:700 10px/18px 'IBM Plex Mono',monospace;text-align:center}
.ct-notify-panel{position:absolute;right:0;top:46px;width:min(390px,calc(100vw - 28px));max-height:480px;overflow:auto;background:#fffdf7;border:1px solid var(--app-line);border-radius:12px;box-shadow:0 16px 38px rgba(20,30,24,.18);z-index:80;padding:8px}
.ct-notify-head{display:flex;align-items:center;justify-content:space-between;padding:8px 9px 10px;border-bottom:1px solid var(--app-line)}
.ct-notify-head button{border:0;background:transparent;cursor:pointer;font-size:11px;text-decoration:underline}
.ct-notify-item{display:block;width:100%;border:0;border-bottom:1px solid var(--app-line);background:transparent;text-align:left;padding:11px 10px;cursor:pointer}
.ct-notify-item.unread{background:rgba(217,184,108,.14)}
.ct-notify-item strong,.ct-notify-item span,.ct-notify-item small{display:block}
.ct-notify-item span{font-size:12px;line-height:1.45;margin:4px 0;color:var(--app-muted)}
.ct-notify-item small{font:10px 'IBM Plex Mono',monospace;color:var(--app-muted)}
.ct-notify-empty{padding:18px 10px;color:var(--app-muted);font-size:12px}

/* Step 130C — visible participant vehicle actions */
.participant-vehicle-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.participant-delete-vehicle{border-color:#a94a3d!important;color:#8d3027!important;background:#fff8f6!important;font-weight:700!important}
.participant-delete-vehicle:hover{background:#fbe8e4!important}
@media(max-width:720px){.participant-vehicle-actions{width:100%;margin-top:8px}.participant-vehicle-actions .mode-btn{flex:1}}

/* Step 130D — participant profile trip vehicle quick change */
.participant-trip-vehicle-change{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.10);display:grid;gap:8px}
.participant-trip-vehicle-change select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.participant-trip-vehicle-change .mode-btn{justify-self:start}

/* Step 131 */
.ct-trip-membership-card{position:relative}.ct-trip-flag{display:inline-flex;margin:4px 0 10px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;background:rgba(0,0,0,.06)}.ct-trip-card-actions,.ct-request-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ct-self-invite{margin-top:8px}.ct-request-actions{margin-top:10px}

/* Step 132 — dashboard trip lifecycle */
.ct-dashboard-trips{margin-bottom:18px}
.ct-dashboard-trips .dashboard-trip-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-trip-section-note{margin:4px 0 0;font-size:12px;color:var(--app-muted)}
.ct-past-trips-toggle{display:inline-flex;margin-top:18px;padding:0;border:0;background:none;color:var(--app-green);font-weight:800;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ct-past-trips-area{margin-top:14px;padding-top:16px;border-top:1px solid var(--app-line)}
.ct-past-trips-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.ct-past-trips-head h3{margin:0;font:700 20px 'Oswald',sans-serif;text-transform:uppercase}
.ct-past-trips-head span{font-size:11px;color:var(--app-muted)}
.ct-past-trips-area .dashboard-trip-card{opacity:.88}
.ct-dashboard-garage{margin-top:0}
@media(max-width:1100px){.ct-dashboard-trips .dashboard-trip-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ct-dashboard-trips .dashboard-trip-cards{grid-template-columns:1fr}.ct-past-trips-head{align-items:flex-start;flex-direction:column}}

/* Step 133 — invitation-only club membership */
.ct-no-club{max-width:760px;margin-top:18px}
.ct-no-club h2{margin-top:0}

/* Step 133A — signed-in club invitations */
.ct-account-club-invites{margin-bottom:18px;border-left:4px solid var(--app-green)}
.ct-account-club-invite{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--app-line)}
.ct-account-club-invite:first-of-type{border-top:0}
.ct-account-club-invite-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.ct-account-club-invite-copy strong{font-size:16px}
.ct-account-club-invite-copy small{color:var(--app-muted)}
.ct-account-club-invite-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}
@media(max-width:700px){.ct-account-club-invite{align-items:flex-start;flex-direction:column}.ct-account-club-invite-actions{width:100%}.ct-account-club-invite-actions button{flex:1}}

/* Step 134 Global Admin */
.ga-page{display:grid;gap:18px}.ga-head h1{font:700 31px Oswald,sans-serif;text-transform:uppercase;margin:4px 0}.ga-head p{margin:0;color:var(--app-muted)}.ga-nav{display:flex;gap:6px;flex-wrap:wrap}.ga-nav button{padding:9px 13px;border:1px solid var(--app-line);border-radius:8px;background:white;font-weight:700}.ga-nav button.active{background:var(--app-green);color:white}.ga-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.ga-stat{background:white;border:1px solid var(--app-line);border-radius:11px;padding:14px}.ga-stat small{display:block;color:var(--app-muted);text-transform:uppercase;font-size:9px}.ga-stat b{font:700 26px Oswald,sans-serif}.ga-tools{display:flex;gap:8px;flex-wrap:wrap}.ga-tools input,.ga-tools select,.ga-tools button,.ga-field input,.ga-field textarea,.ga-add-membership select,.ga-add-membership button{padding:9px;border:1px solid var(--app-line);border-radius:8px;background:white}.ga-tools input{flex:1;min-width:220px}.ga-list{background:white;border:1px solid var(--app-line);border-radius:12px;overflow:hidden}.ga-row{width:100%;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) minmax(150px,.8fr) 85px 20px;gap:12px;align-items:center;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid var(--app-line);background:white}.ga-row span:first-child{display:flex;flex-direction:column}.ga-row small{color:var(--app-muted)}.ga-ok{color:#37673e;font-weight:700}.ga-off{color:var(--app-danger);font-weight:700}.ga-pager{display:flex;justify-content:space-between;align-items:center}.ga-detail{background:white;border:1px solid var(--app-line);border-radius:13px;padding:18px;display:grid;gap:14px}.ga-detail h2{font:700 25px Oswald,sans-serif;text-transform:uppercase;margin:0}.ga-detail h3{font:700 17px Oswald,sans-serif;text-transform:uppercase}.ga-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.ga-field{display:grid;gap:4px}.ga-field span{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--app-muted)}.ga-field textarea{min-height:85px}.ga-checks{display:flex;gap:20px}.ga-password{display:flex;align-items:end;gap:8px;max-width:650px}.ga-password .ga-field{flex:1}.ga-memberships,.ga-mini-list{display:grid;gap:7px}.ga-membership{display:flex;justify-content:space-between;border:1px solid var(--app-line);padding:9px;border-radius:8px}.ga-membership span{display:flex;flex-direction:column}.ga-add-membership{display:flex;gap:7px;flex-wrap:wrap}.ga-mini-list button,.ga-mini-list div{text-align:left;padding:8px;border:1px solid var(--app-line);background:white;border-radius:7px}.ga-danger{border:1px solid #d8a5a0;background:#fff5f4;border-radius:9px;padding:13px}.ga-danger b,.ga-danger button{color:var(--app-danger)}.ga-maint{display:grid;gap:9px;max-width:760px}@media(max-width:1000px){.ga-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.ga-stats,.ga-fields{grid-template-columns:1fr}.ga-row{grid-template-columns:1fr 20px}.ga-password{flex-direction:column;align-items:stretch}}
.ga-created{display:flex;flex-direction:column;font-size:12px}.ga-created small{font-size:9px;text-transform:uppercase;color:var(--app-muted)}.ga-duplicate-help{display:flex;flex-direction:column;flex:1}.ga-duplicate-help small{color:var(--app-muted);margin-top:2px}.ga-dup-reason{font-size:11px;font-weight:700;text-transform:uppercase;color:#8b5e22}.ga-duplicate-row{grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) minmax(150px,.8fr) 110px 20px}
.ga-orphan-note{background:#fff9e8;border:1px solid #dfca8a;border-radius:10px;padding:13px}.ga-orphan-note p{margin:4px 0 0;font-size:12px;color:var(--app-muted)}.ga-orphan-row{grid-template-columns:minmax(220px,1.3fr) minmax(170px,1fr) minmax(150px,.8fr) 120px 80px}.ga-orphan-status{font-size:11px;font-weight:700;color:#8b5e22}.ga-delete-trip{border:1px solid var(--app-danger);color:var(--app-danger);background:white;border-radius:7px;padding:7px 9px;font-weight:700}@media(max-width:700px){.ga-orphan-row{grid-template-columns:1fr}.ga-orphan-row>*{grid-column:1!important}}
.ga-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--app-line);border-radius:8px;padding:7px}.ga-manage-row .ga-open-record{border:0;background:transparent;text-align:left;padding:5px}.ga-remove-record{border:1px solid var(--app-danger);color:var(--app-danger);background:white;border-radius:7px;padding:7px 9px;font-weight:700;white-space:nowrap}.ga-trip-summary{display:flex;flex-direction:column;padding:5px}.ga-trip-summary small{color:var(--app-muted);margin-top:2px}@media(max-width:700px){.ga-manage-row{grid-template-columns:1fr}.ga-remove-record{width:100%}}
.ga-row-actions{display:flex;gap:7px;align-items:center}.ga-edit-club{border:1px solid var(--app-line);background:white;border-radius:7px;padding:7px 9px;font-weight:700;white-space:nowrap}@media(max-width:700px){.ga-row-actions{display:grid;grid-template-columns:1fr 1fr}.ga-edit-club{width:100%}}
.club-profile-sections{display:grid;gap:12px;margin:14px 0}.club-profile-section{border:1px solid var(--app-line);border-radius:10px;padding:12px;background:var(--app-card)}.club-profile-section h4{margin:0 0 10px}.club-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-profile-grid textarea,.club-profile-admin textarea{min-height:76px;resize:vertical}.club-profile-actions{display:flex;gap:8px;margin-top:12px}@media(max-width:700px){.club-profile-grid{grid-template-columns:1fr}}
.location-select-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0}.location-select-pair select{width:100%}.ga-geo{display:grid;gap:16px}.ga-geo-intro h2{margin-bottom:4px}.au-map-card{border:1px solid var(--app-line);border-radius:12px;background:var(--app-card);padding:12px;overflow:auto}.au-stats-map{display:block;width:100%;max-width:760px;min-width:520px;margin:auto}.au-state-shape{fill:var(--ct-soft2);stroke:var(--app-green);stroke-width:2}.au-act-dot{fill:var(--app-green)}.au-state-label{font-weight:800;font-size:15px;text-anchor:middle;fill:var(--app-ink)}.au-state-count{font-size:11px;text-anchor:middle;fill:var(--app-muted)}.geo-table{border:1px solid var(--app-line);border-radius:10px;overflow:hidden}.geo-row{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:8px;padding:9px 12px;border-top:1px solid var(--app-line)}.geo-row:first-child{border-top:0}.geo-head{font-weight:800;background:var(--ct-soft)}.geo-unknown{padding:12px;border:1px solid var(--app-line);border-radius:10px;background:var(--ct-soft)}@media(max-width:700px){.location-select-pair{grid-template-columns:1fr}.geo-row{grid-template-columns:1.5fr 1.5fr .7fr .7fr;font-size:12px}}
.location-select-fields{display:grid;gap:10px}.location-town select,.location-town input{width:100%}.location-town input{margin-top:8px}.ga-real-map-card{border:1px solid var(--app-line);border-radius:14px;overflow:hidden;background:var(--app-card)}.ga-australia-map{height:620px;width:100%;background:#eef2f1}.ga-count-marker{background:transparent!important;border:0!important}.ga-count-marker>div{background:rgba(255,255,255,.94);border:2px solid var(--app-green);border-radius:10px;padding:6px 8px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.18);font-size:11px;line-height:1.2;white-space:nowrap}.ga-count-marker strong{display:block;font-size:12px;margin-bottom:3px}.ga-count-marker span{display:block}.ga-state-detail{border:1px solid var(--app-line);border-radius:12px;padding:14px;background:var(--app-card)}.ga-state-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.ga-state-detail-head h3{margin:2px 0 0}.ga-state-totals{display:flex;gap:8px;flex-wrap:wrap}.ga-state-totals span{padding:7px 10px;border-radius:999px;background:var(--ct-soft)}.geo-town-row{grid-template-columns:2fr 1fr 1fr}.geo-int-row{grid-template-columns:1.5fr 1.5fr 1.5fr .7fr .7fr}@media(max-width:700px){.ga-australia-map{height:500px}.ga-state-detail-head{display:block}.ga-state-totals{margin-top:8px}.geo-int-row{grid-template-columns:1.2fr 1.2fr 1.2fr .6fr .6fr;font-size:11px}}.ga-state-count-marker,.ga-town-marker{background:transparent!important;border:0!important}.ga-state-count-marker>div{background:rgba(25,55,47,.94);color:#fff;border-radius:9px;padding:5px 7px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.22);font-size:10px;line-height:1.15;white-space:nowrap}.ga-state-count-marker strong{display:block;font-size:12px}.ga-town-marker>div{background:rgba(255,255,255,.96);border:2px solid var(--app-green);border-radius:9px;padding:5px 7px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.18);font-size:10px;line-height:1.15;white-space:nowrap}.ga-town-marker strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis}.ga-town-marker span{display:block}.ct-trip-club-name{font-size:12px;font-weight:700;margin:4px 0 5px;color:var(--app-muted)}.ct-past-count{display:block;font-size:12px;margin-top:4px;color:var(--app-muted)}.ct-clubs-stat b{font-size:15px;line-height:1.35}.ct-membership-list{margin-top:12px;padding-top:10px;border-top:1px solid var(--app-line)}.ct-membership-list small{font-weight:700;letter-spacing:.04em}.ct-membership-list p{margin:4px 0 0}

/* ===== ClubTrekker Step 153A2 — Adventure UI Framework Placement Fix ===== */
:root{
  --ct-shell:#07192a;
  --ct-shell-2:#0a2135;
  --ct-panel:#0d2940;
  --ct-panel-2:#10324c;
  --ct-panel-3:#123b56;
  --ct-panel-border:rgba(255,255,255,.11);
  --ct-shell-text:#edf7fa;
  --ct-shell-muted:#9eb5c1;
  --ct-accent:var(--app-green2,#2f8f8f);
  --ct-accent-strong:var(--app-green,#216f70);
  --ct-accent-soft:color-mix(in srgb,var(--ct-accent) 28%,transparent);
}
body{background:#061523!important}
.app-shell{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 75% 0%,color-mix(in srgb,var(--ct-accent) 10%,transparent),transparent 34%),
    linear-gradient(145deg,var(--ct-shell),#061523 72%)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .app-sidebar{
  width:224px!important;
  background:linear-gradient(180deg,#07192a 0%,#061523 100%)!important;
  border-right:1px solid var(--ct-panel-border)!important;
  box-shadow:14px 0 40px rgba(0,0,0,.14)!important;
  padding:24px 16px 18px!important;
}
.app-shell .app-brand{
  color:#fff!important;font-size:20px!important;font-weight:900!important;
  letter-spacing:-.35px!important;padding:4px 10px 24px!important;
}
.app-shell .app-brand:before{
  content:"⌁";display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;
  border:1px solid color-mix(in srgb,var(--ct-accent) 72%,white);
  border-radius:50%;color:color-mix(in srgb,var(--ct-accent) 72%,white);
  font-size:20px;vertical-align:middle;
}
.app-shell .app-brand small{
  color:var(--ct-shell-muted)!important;font-size:9px!important;letter-spacing:1.7px!important;
  margin:4px 0 0 48px!important;
}
.app-shell .app-nav{gap:7px!important}
.app-shell .app-nav button{
  min-height:43px!important;border:1px solid transparent!important;border-radius:8px!important;
  background:transparent!important;color:#b9cbd4!important;font-size:13px!important;font-weight:700!important;
  text-align:left!important;padding:0 13px!important;transition:.16s ease!important;
}
.app-shell .app-nav button:hover{
  background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:rgba(255,255,255,.07)!important;
}
.app-shell .app-nav button.active{
  color:#fff!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ct-accent) 82%,#163448),color-mix(in srgb,var(--ct-accent) 52%,#12344b))!important;
  border-color:color-mix(in srgb,var(--ct-accent) 55%,transparent)!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--ct-accent) 16%,transparent)!important;
}
.app-shell .app-sidebar-bottom{
  color:var(--ct-shell-muted)!important;border-top:1px solid var(--ct-panel-border)!important;
  padding:16px 10px 4px!important;font-size:12px!important;
}
.app-shell .app-main{margin-left:224px!important;background:transparent!important}
.app-shell .app-topbar{
  min-height:72px!important;background:rgba(6,21,35,.82)!important;
  border-bottom:1px solid var(--ct-panel-border)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:0 30px!important;
}
.app-shell .app-breadcrumbs,.app-shell .app-breadcrumbs button,.app-shell .app-breadcrumbs strong{
  color:var(--ct-shell-muted)!important;
}
.app-shell .app-breadcrumbs strong{color:#fff!important}
.app-shell .account-user{color:var(--ct-shell-muted)!important}
.app-shell .account-user b{color:#fff!important}
.app-shell .top-signout{
  background:transparent!important;color:#b9cbd4!important;border:1px solid var(--ct-panel-border)!important;border-radius:8px!important;
}
.app-shell .ct-notify-bell{
  background:var(--ct-panel)!important;color:#fff!important;border:1px solid var(--ct-panel-border)!important;border-radius:9px!important;
}
.app-shell .app-content{padding:30px!important;max-width:1540px!important;margin:0 auto!important}
.app-shell .account-page{max-width:none!important}
.app-shell .account-page-head{
  margin-bottom:22px!important;padding:0 2px!important;align-items:flex-end!important;
}
.app-shell .account-kicker{
  color:color-mix(in srgb,var(--ct-accent) 75%,white)!important;font-size:10px!important;letter-spacing:1.8px!important;
}
.app-shell .account-page-head h1{color:#fff!important;font-size:28px!important;letter-spacing:-.5px!important;margin:4px 0!important}
.app-shell .account-page-head p,.app-shell .account-muted{color:var(--ct-shell-muted)!important}
.app-shell .account-work-card,
.app-shell .account-stat,
.app-shell .dashboard-trip-card,
.app-shell .garage-page-card,
.app-shell .account-profile,
.app-shell .club-admin-card{
  background:linear-gradient(145deg,var(--ct-panel),color-mix(in srgb,var(--ct-panel-2) 88%,#07192a))!important;
  border:1px solid var(--ct-panel-border)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.12)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .account-work-card{border-radius:12px!important}
.app-shell .account-stat{
  border-radius:10px!important;padding:15px 17px!important;min-height:88px!important;
  position:relative!important;overflow:hidden!important;
}
.app-shell .account-stat:after{
  content:"";position:absolute;right:-28px;bottom:-38px;width:95px;height:95px;border-radius:50%;
  background:color-mix(in srgb,var(--ct-accent) 10%,transparent);
}
.app-shell .account-stat small,.app-shell .trip-fact small,.app-shell .stat-label{color:var(--ct-shell-muted)!important}
.app-shell .account-stat b{color:#fff!important;font-size:22px!important}
.app-shell .ct-past-count{color:var(--ct-shell-muted)!important}
.app-shell .account-work-head{
  border-bottom:1px solid var(--ct-panel-border)!important;padding-bottom:14px!important;margin-bottom:16px!important;
}
.app-shell .account-work-head h2,.app-shell .account-work-card h2,.app-shell .account-work-card h3{color:#fff!important}
.app-shell .dashboard-trip-cards{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(265px,1fr))!important;gap:12px!important;
}
.app-shell .dashboard-trip-card{
  border-radius:10px!important;padding:16px!important;min-height:150px!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.app-shell .dashboard-trip-card:hover{
  transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--ct-accent) 52%,transparent)!important;
  background:linear-gradient(145deg,var(--ct-panel-2),var(--ct-panel))!important;
}
.app-shell .dashboard-trip-card h3{color:#fff!important}
.app-shell .dashboard-trip-card p,.app-shell .dashboard-trip-date,.app-shell .ct-trip-club-name{color:var(--ct-shell-muted)!important}
.app-shell .dashboard-trip-card-top span{
  color:color-mix(in srgb,var(--ct-accent) 72%,white)!important;font-size:10px!important;letter-spacing:.8px!important;
}
.app-shell button.primary,.app-shell .account-primary,.app-shell .mode-btn:not(.exit){
  border-radius:8px!important;
}
.app-shell button.primary,.app-shell .account-primary{
  background:linear-gradient(135deg,var(--ct-accent-strong),var(--ct-accent))!important;
  color:#fff!important;border:1px solid color-mix(in srgb,var(--ct-accent) 70%,white)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--ct-accent) 14%,transparent)!important;
}
.app-shell .mode-btn:not(.exit),.app-shell .account-work-head button{
  background:rgba(255,255,255,.045)!important;color:#dce9ee!important;border:1px solid var(--ct-panel-border)!important;
}
.app-shell input,.app-shell select,.app-shell textarea{
  background:#081f32!important;color:#eef7fa!important;border:1px solid rgba(255,255,255,.14)!important;
  border-radius:8px!important;
}
.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus{
  border-color:color-mix(in srgb,var(--ct-accent) 72%,white)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent) 14%,transparent)!important;
}
.app-shell select option{background:#0b263b;color:#fff}
.app-shell .account-field label{color:#c7d8df!important}
.app-shell .past-trips{border-top:1px solid var(--ct-panel-border)!important}
.app-shell .past-trips summary{color:#c7d8df!important}
.app-shell .account-dashboard-grid{gap:18px!important}
.app-shell .garage-card,.app-shell .garage-page-card{color:var(--ct-shell-text)!important}
.app-shell .garage-card-icon{
  background:color-mix(in srgb,var(--ct-accent) 22%,#0a263b)!important;color:#fff!important;
  border:1px solid color-mix(in srgb,var(--ct-accent) 36%,transparent)!important;
}
.app-shell .trip-fact,.app-shell .stat-card,.app-shell .p96-card{
  background:rgba(5,22,36,.52)!important;border:1px solid var(--ct-panel-border)!important;color:#fff!important;
}
.app-shell .trip-detail-card{
  background:linear-gradient(145deg,var(--ct-panel),var(--ct-panel-2))!important;
  border:1px solid var(--ct-panel-border)!important;color:#fff!important;box-shadow:0 16px 36px rgba(0,0,0,.12)!important;
}
.app-shell .trip-card-head{border-bottom-color:var(--ct-panel-border)!important}
.app-shell .trip-card-head small,.app-shell .p96-sub,.app-shell .muted{color:var(--ct-shell-muted)!important}
.app-shell .ct-local-sponsors{
  border-top-color:rgba(255,255,255,.14)!important;
}
.app-shell .ct-sponsor-card{
  background:#fff!important;color:#17212b!important;border-color:rgba(255,255,255,.16)!important;
}
.app-shell .ct-sponsor-card h3,.app-shell .ct-sponsor-card strong{color:#17212b!important}
.app-shell .ct-sponsor-card a{color:#176b78!important}
.app-shell .ct-dashboard-club-select{min-width:160px!important}
@media(max-width:900px){
  .app-shell .app-sidebar{width:min(84vw,280px)!important}
  .app-shell .app-main{margin-left:0!important}
  .app-shell .app-content{padding:18px!important}
  .app-shell .app-topbar{padding:0 16px!important}
  .app-shell .account-page-head{align-items:flex-start!important}
}
@media(max-width:600px){
  .app-shell .account-stat-grid{grid-template-columns:1fr!important}
  .app-shell .dashboard-trip-cards{grid-template-columns:1fr!important}
  .app-shell .app-content{padding:14px!important}
}



/* ===== Step 153B — Dashboard Redesign ===== */
.ct153b-dashboard{display:block!important}
.ct153b-head{margin-bottom:18px!important}
.ct153b-head-actions{display:flex;gap:9px;align-items:center}
.ct153b-hero{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);min-height:220px;
  margin:0 0 18px;border:1px solid var(--ct-panel-border);border-radius:14px;overflow:hidden;
  background:
    linear-gradient(105deg,rgba(6,24,39,.96) 0%,rgba(10,39,58,.92) 54%,rgba(13,54,70,.82) 100%);
  box-shadow:0 20px 48px rgba(0,0,0,.16)
}
.ct153b-hero-copy{padding:30px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ct153b-eyebrow{font:800 9px 'IBM Plex Mono',monospace;letter-spacing:1.5px;color:color-mix(in srgb,var(--ct-accent) 70%,white);margin-bottom:7px}
.ct153b-hero h2{font-size:30px;line-height:1.1;letter-spacing:-.6px;color:#fff;margin:0 0 8px}
.ct153b-hero p{color:var(--ct-shell-muted);font-size:13px;margin:0}
.ct153b-hero-meta{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 0}
.ct153b-hero-meta span{padding:5px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#d7e5ea;font-size:10px;font-weight:800}
.ct153b-open-trip{margin-top:20px!important}
.ct153b-hero-visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 28px;background:
  radial-gradient(circle at 75% 28%,color-mix(in srgb,var(--ct-accent) 22%,transparent),transparent 34%),
  linear-gradient(135deg,rgba(255,255,255,.025),rgba(0,0,0,.12))}
.ct153b-hero-visual:before,.ct153b-hero-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.055);border-radius:50%}
.ct153b-hero-visual:before{width:210px;height:210px;right:-45px;top:-70px}.ct153b-hero-visual:after{width:115px;height:115px;right:18px;top:-20px}
.ct153b-route-line{display:flex;align-items:center;position:absolute;left:30px;right:30px;top:78px}
.ct153b-route-line i{height:2px;flex:1;background:linear-gradient(90deg,var(--ct-accent),rgba(255,255,255,.2));position:relative}
.ct153b-route-line i:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ct-accent);left:55%;top:-3px;box-shadow:0 0 18px var(--ct-accent)}
.ct153b-route-line span{width:13px;height:13px;border:3px solid color-mix(in srgb,var(--ct-accent) 75%,white);background:#092337;border-radius:50%;z-index:1}
.ct153b-hero-visual strong{color:#fff;font-size:13px}.ct153b-hero-visual small{color:var(--ct-shell-muted);margin-top:4px}
.ct153b-stats{grid-template-columns:1.25fr repeat(3,1fr)!important;gap:10px!important;margin-bottom:18px!important}
.ct153b-stat{display:flex!important;align-items:center!important;gap:13px!important;min-height:86px!important}
.ct153b-stat-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--ct-accent) 14%,#0a263b);border:1px solid color-mix(in srgb,var(--ct-accent) 26%,transparent);color:color-mix(in srgb,var(--ct-accent) 72%,white);font-size:17px;font-weight:900;flex:0 0 auto}
.ct153b-stat>div:last-child{display:flex;flex-direction:column;min-width:0}.ct153b-stat select{margin-top:5px;max-width:220px}
.ct153b-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:18px;align-items:start}
.ct153b-trips{min-width:0}.ct153b-trips .dashboard-trip-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ct153b-trips .dashboard-trip-card{position:relative;overflow:hidden}
.ct153b-trips .dashboard-trip-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ct-accent);opacity:.7}
.ct153b-rail{display:grid;gap:18px}
.ct153b-garage-row{display:grid;grid-template-columns:50px 1fr;gap:11px;align-items:center;padding:12px 0;border-top:1px solid var(--ct-panel-border)}
.ct153b-garage-row:first-of-type{border-top:0}.ct153b-garage-row strong{display:block;color:#fff;font-size:13px}.ct153b-garage-row small{display:block;color:var(--ct-shell-muted);font-size:10px;margin-top:3px}
.ct153b-vehicle-badge{height:38px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--ct-accent) 15%,#092236);border:1px solid color-mix(in srgb,var(--ct-accent) 28%,transparent);color:#fff;font:800 11px 'IBM Plex Mono',monospace}
.ct153b-attention-row{width:100%;display:grid;grid-template-columns:30px 1fr 18px;align-items:center;gap:9px;padding:11px 0;border:0;border-top:1px solid var(--ct-panel-border);background:transparent;color:#fff;text-align:left}
button.ct153b-attention-row{cursor:pointer}.ct153b-attention-row b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ct-accent) 18%,transparent);color:color-mix(in srgb,var(--ct-accent) 70%,white);font-size:11px}.ct153b-attention-row span{font-size:12px}.ct153b-attention-row i{font-style:normal;color:var(--ct-shell-muted)}
.ct153b-all-clear{display:flex;flex-direction:column;padding:9px 0}.ct153b-all-clear strong{color:#fff}.ct153b-all-clear small{color:var(--ct-shell-muted);margin-top:4px}
.ct153b-dashboard>.ct-account-club-invites{margin-top:18px}
@media(max-width:1120px){.ct153b-main-grid{grid-template-columns:1fr}.ct153b-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.ct153b-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.ct153b-hero{grid-template-columns:1fr}.ct153b-hero-visual{min-height:150px}.ct153b-trips .dashboard-trip-cards{grid-template-columns:1fr!important}}
@media(max-width:650px){.ct153b-head-actions{width:100%;flex-wrap:wrap}.ct153b-head-actions button{flex:1}.ct153b-hero-copy{padding:24px 20px}.ct153b-hero h2{font-size:25px}.ct153b-stats{grid-template-columns:1fr!important}.ct153b-rail{grid-template-columns:1fr}.ct153b-main-grid{gap:14px}}



/* ===== Step 153B2 — Dashboard Left Gap Fix =====
   The 153A shell retained the old centered/max-width content treatment.
   On wide screens that centered the dashboard inside the main column,
   creating the large empty strip visible between the sidebar and content. */
.app-shell .app-main .app-content{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.app-shell .account-page.ct153b-dashboard{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
@media(max-width:900px){
  .app-shell .app-main .app-content{
    padding-left:15px!important;
    padding-right:15px!important;
  }
}



/* ===== Step 153B3 — Duplicate Sidebar Offset Fix =====
   app-shell is already a two-column grid. Step 153A also gave app-main
   margin-left:224px, so the sidebar width was effectively applied twice. */
.app-shell .app-main{
  margin-left:0!important;
  width:auto!important;
  min-width:0!important;
}



/* ===== Step 153C — Trip Dashboard Redesign ===== */
.app-shell .trip-detail-dashboard{display:block;padding-bottom:28px}
.app-shell .trip-detail-dashboard .trip-hero.detailed{
  min-height:190px;margin:0 0 14px;padding:28px 30px;border-radius:14px;
  background:
    radial-gradient(circle at 86% 22%,color-mix(in srgb,var(--ct-accent) 20%,transparent),transparent 26%),
    linear-gradient(115deg,#071c2d 0%,#0a2a3e 58%,#0c3548 100%);
  border:1px solid var(--ct-panel-border);box-shadow:0 18px 45px rgba(0,0,0,.16)
}
.app-shell .trip-detail-dashboard .trip-hero.detailed:after{
  content:"EXPEDITION";right:24px;bottom:-22px;font-size:76px;letter-spacing:5px;color:rgba(255,255,255,.025)
}
.app-shell .trip-detail-dashboard .trip-hero.detailed h1{font-size:34px;margin:6px 0 5px;color:#fff}
.app-shell .trip-detail-dashboard .trip-dates{color:#a9c4d1}
.app-shell .trip-detail-dashboard .stat-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px
}
.app-shell .trip-detail-dashboard .stat-card{
  background:var(--ct-panel);border-color:var(--ct-panel-border);border-radius:11px;padding:14px 15px;box-shadow:none
}
.app-shell .trip-detail-dashboard .stat-label{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .stat-value{color:#fff;font-size:22px}
.app-shell .trip-detail-dashboard .stat-sub{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .trip-detail-grid{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr);gap:14px;margin-top:0;align-items:start
}
.app-shell .trip-detail-dashboard .trip-detail-card{
  background:var(--ct-panel);border-color:var(--ct-panel-border);border-radius:12px;padding:17px;box-shadow:none;color:var(--ct-shell-text)
}
.app-shell .trip-detail-dashboard .trip-detail-card .trip-card-head{padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid var(--ct-panel-border)}
.app-shell .trip-detail-dashboard .trip-card-head small{color:color-mix(in srgb,var(--ct-accent) 68%,white)}
.app-shell .trip-detail-dashboard .trip-card-head h2,.app-shell .trip-detail-dashboard .trip-card-head h3{color:#fff}
.app-shell .trip-detail-dashboard .trip-hero-summary{color:#b7cad3}
.app-shell .trip-detail-dashboard .trip-hero-summary.muted{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .trip-fact{background:var(--ct-panel-2);border:1px solid var(--ct-panel-border)}
.app-shell .trip-detail-dashboard .trip-fact small{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .trip-fact b{color:#fff}
.app-shell .trip-detail-dashboard .dashboard-chip-list span{
  background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#c7d8df
}
.app-shell .trip-detail-dashboard .trip-map-card{grid-column:1;grid-row:2 / span 2}
.app-shell .trip-detail-dashboard .trip-map-card .dashboard-route-map,
.app-shell .trip-detail-dashboard .trip-map-card .map-fallback{height:430px;border-color:var(--ct-panel-border)}
.app-shell .trip-detail-dashboard .trip-overview-card{grid-column:1}
.app-shell .trip-detail-dashboard .trip-detail-grid>section:not(.trip-overview-card):not(.trip-map-card){
  grid-column:2
}
.app-shell .trip-detail-dashboard .fuel-alert{background:#32291d;border-left-color:var(--ct-accent);color:#e8d8bd}
.app-shell .trip-detail-dashboard .fuel-alert strong{color:#fff}
.app-shell .trip-detail-dashboard .vehicle-mini{border-color:var(--ct-panel-border)}
.app-shell .trip-detail-dashboard .vehicle-mini b{color:#fff}.app-shell .trip-detail-dashboard .vehicle-mini span{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .map-caption,.app-shell .trip-detail-dashboard .account-muted{color:var(--ct-shell-muted)}
.app-shell .trip-detail-dashboard .info-textarea,.app-shell .trip-detail-dashboard .info-select{
  background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#fff
}
.app-shell .trip-detail-dashboard .ct-vehicle-type-option{color:#d3e0e5}
@media(max-width:1150px){
  .app-shell .trip-detail-dashboard .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .app-shell .trip-detail-dashboard .trip-detail-grid{grid-template-columns:1fr}
  .app-shell .trip-detail-dashboard .trip-overview-card,
  .app-shell .trip-detail-dashboard .trip-map-card,
  .app-shell .trip-detail-dashboard .trip-detail-grid>section:not(.trip-overview-card):not(.trip-map-card){grid-column:1;grid-row:auto}
  .app-shell .trip-detail-dashboard .trip-map-card .dashboard-route-map,
  .app-shell .trip-detail-dashboard .trip-map-card .map-fallback{height:360px}
}
@media(max-width:620px){
  .app-shell .trip-detail-dashboard .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell .trip-detail-dashboard .trip-hero.detailed{padding:22px 18px;min-height:160px}
  .app-shell .trip-detail-dashboard .trip-hero.detailed h1{font-size:28px}
}



/* ===== Step 153D — Route & Map Redesign + Contrast Pass ===== */

/* Contrast safety: legacy/light surfaces must always use dark readable text. */
.app-shell .table-card,
.app-shell .table-card table,
.app-shell .table-card tbody td,
.app-shell .route-day,
.app-shell .route-leg-card,
.app-shell .route-stat,
.app-shell .route-leg-metric,
.app-shell .route-empty,
.app-shell .fuel-stop-card,
.app-shell .fuel-summary-card,
.app-shell .vehicle-card,
.app-shell .vehicle-summary-card,
.app-shell .vehicle-spec,
.app-shell .vehicle-form,
.app-shell .trip-map-main,
.app-shell .map-panel,
.app-shell .map-stat-mini,
.app-shell .wizard-card,
.app-shell .review-box{
  color:var(--asphalt)!important;
}
.app-shell .table-card input,.app-shell .table-card select,.app-shell .table-card textarea,
.app-shell .route-day input,.app-shell .route-day select,.app-shell .route-day textarea,
.app-shell .fuel-stop-card input,.app-shell .fuel-stop-card select,.app-shell .fuel-stop-card textarea,
.app-shell .vehicle-card input,.app-shell .vehicle-card select,.app-shell .vehicle-card textarea,
.app-shell .vehicle-form input,.app-shell .vehicle-form select,.app-shell .vehicle-form textarea{
  color:var(--asphalt)!important;
  background:#fff!important;
}
.app-shell .table-card a,.app-shell .route-day a,.app-shell .fuel-stop-card a,.app-shell .vehicle-card a{color:#245b78}
.app-shell .table-card .mode-btn,.app-shell .route-day .mode-btn,.app-shell .fuel-stop-card .mode-btn,.app-shell .vehicle-card .mode-btn{
  color:var(--asphalt)!important;background:#fff!important
}

/* Route planner: dark header/stat framing with readable light route cards. */
.app-shell .route-planner-head{
  padding:18px 20px;margin-bottom:12px;border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel)
}
.app-shell .route-planner-head h2{color:#fff}.app-shell .route-planner-head p{color:var(--ct-shell-muted)}
.app-shell .route-view-switch{background:var(--ct-panel-2);border-color:var(--ct-panel-border)}
.app-shell .route-view-switch button{color:#aac0ca}.app-shell .route-view-switch button.active{background:var(--ct-accent);color:#fff;box-shadow:none}
.app-shell .route-summary-grid{gap:10px}
.app-shell .route-stat{border-radius:11px;border-color:#d8e0e4;box-shadow:none}
.app-shell .route-stat small{color:#65727a}.app-shell .route-stat b{color:#132734}
.app-shell .route-day{border-radius:12px;border-color:#d8e0e4;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.app-shell .route-day-head{background:#edf2f4;border-color:#d8e0e4}
.app-shell .route-day-badge{background:#0b2b3f;color:#fff}
.app-shell .route-day-head h3,.app-shell .route-leg-main h4,.app-shell .route-leg-metric b{color:#132734}
.app-shell .route-day-head p,.app-shell .route-day-total,.app-shell .route-leg-road,.app-shell .route-edit-note{color:#65727a}

/* Full map screen: map dominates; details become an operational right rail. */
.app-shell .trip-map-screen{grid-template-columns:minmax(0,1.7fr) minmax(300px,.65fr);gap:14px;align-items:start}
.app-shell .trip-map-main{border-radius:12px;border-color:var(--ct-panel-border);background:var(--ct-panel);overflow:hidden}
.app-shell .trip-map-toolbar{background:var(--ct-panel);border-color:var(--ct-panel-border);padding:15px 17px}
.app-shell .trip-map-toolbar h2{color:#fff}.app-shell .trip-map-toolbar p{color:var(--ct-shell-muted)}
.app-shell .map-layer-btn{background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#bdd0d8}
.app-shell .map-layer-btn.active{background:var(--ct-accent);border-color:var(--ct-accent);color:#fff}
.app-shell .full-trip-map{height:620px;background:#dfe6e9}
.app-shell .map-side{gap:12px}
.app-shell .map-panel{border-radius:12px;border-color:#d8e0e4;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.07)}
.app-shell .map-panel h3{color:#132734;border-bottom:1px solid #e3e9ec;padding-bottom:10px}
.app-shell .map-point{border-color:#e3e9ec}.app-shell .map-point strong{color:#132734}.app-shell .map-point span{color:#65727a}
.app-shell .map-stat-mini{background:#f5f8f9;border-color:#dbe3e7}.app-shell .map-stat-mini b{color:#132734}.app-shell .map-stat-mini small{color:#65727a}
.app-shell .map-key-item{color:#65727a}

/* Explicitly protect light sponsor cards from inherited dark-shell text. */
.app-shell .ct-sponsor-card,.app-shell .ct-sponsor-card *{color:#1d2a31}
.app-shell .ct-sponsor-card a{color:#245b78}

@media(max-width:980px){
  .app-shell .trip-map-screen{grid-template-columns:1fr}
  .app-shell .map-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell .full-trip-map{height:500px}
}
@media(max-width:620px){
  .app-shell .map-side{display:block}
  .app-shell .full-trip-map{height:420px}
}



/* ===== Step 153E — Participants & Preparation Redesign ===== */

/* Shared screen headers */
.app-shell .vehicle-head,.app-shell .ready-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:20px;margin-bottom:14px;border:1px solid var(--ct-panel-border);
  border-radius:12px;background:var(--ct-panel)
}
.app-shell .vehicle-head h2,.app-shell .ready-head h2{margin:0 0 5px;color:#fff;font-size:23px}
.app-shell .vehicle-head p,.app-shell .ready-head p{margin:0;color:var(--ct-shell-muted);font-size:12px}
.app-shell .ct-participant-head-actions,.app-shell .ready-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* Participants & Vehicles workspace */
.app-shell .participant-list-card,.app-shell .member-list-card{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:11px;box-shadow:none;color:var(--ct-shell-text)
}
.app-shell .participant-list-row{padding:14px 15px;gap:14px}
.app-shell .participant-list-main .member-name,.app-shell .participant-list-card .member-name{color:#fff}
.app-shell .participant-list-main .member-detail,.app-shell .participant-view-label{color:var(--ct-shell-muted)}
.app-shell .participant-card-actions .participant-edit-btn{background:var(--ct-accent);border-color:var(--ct-accent);color:#fff}
.app-shell .participant-add-heading{border-color:var(--ct-panel-border)}
.app-shell .participant-add-heading strong{color:#fff}.app-shell .participant-add-heading span,.app-shell .participant-no-candidates{color:var(--ct-shell-muted)}
.app-shell .participant-editor{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;color:var(--ct-shell-text)
}
.app-shell .participant-editor-head{border-color:var(--ct-panel-border)}
.app-shell .participant-editor-head h3{color:#fff}.app-shell .participant-editor-head p,.app-shell .participant-editor-note{color:var(--ct-shell-muted)}
.app-shell .participant-editor .account-field label{color:#d6e3e8}
.app-shell .participant-editor input,.app-shell .participant-editor select,.app-shell .participant-editor textarea,
.app-shell .member-role{
  background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#fff
}
.app-shell .participant-editor option,.app-shell .member-role option{background:#fff;color:#172a34}

/* Preparation summary */
.app-shell .ready-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.app-shell .ready-stat{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:11px;padding:14px 15px
}
.app-shell .ready-stat small{color:var(--ct-shell-muted)}.app-shell .ready-stat b{color:#fff;font-size:21px}
.app-shell .ready-overview-head h3{color:#fff}.app-shell .ready-overview-head p{color:var(--ct-shell-muted)}

/* Participant readiness cards deliberately remain light: force dark foreground. */
.app-shell .participant-ready-card{
  background:#fff!important;border-color:#d9e2e5!important;color:#172a34!important;
  border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.07)
}
.app-shell .participant-ready-card.is-ready{background:#f7fbf7!important;border-color:#b8d1bb!important}
.app-shell .participant-ready-name strong,.app-shell .participant-ready-progress b{color:#172a34!important}
.app-shell .participant-ready-name span,.app-shell .participant-ready-vehicle{color:#66757d!important}
.app-shell .participant-ready-avatar{background:#e9eff1;color:#172a34}
.app-shell .participant-ready-missing{border-color:#e2e8ea}
.app-shell .participant-ready-missing small{color:#66757d}
.app-shell .participant-ready-tags span{background:#f0f3f4;color:#4c5d66;border-color:#dce3e6}
.app-shell .participant-ready-all{color:#35643b}
.app-shell .participant-ready-card .mode-btn{background:#fff!important;color:#172a34!important;border-color:#cfdadd!important}

/* Checklist cards: dark operational surface */
.app-shell .readiness-card-grid{gap:10px}
.app-shell .readiness-item-row{
  background:var(--ct-panel)!important;border:1px solid var(--ct-panel-border)!important;border-radius:11px;color:var(--ct-shell-text)!important
}
.app-shell .readiness-item-row h3,.app-shell .readiness-item-row strong{color:#fff}
.app-shell .readiness-item-row p,.app-shell .readiness-item-row small{color:var(--ct-shell-muted)}
.app-shell .readiness-people{border-color:var(--ct-panel-border)}
.app-shell .readiness-person{border-color:var(--ct-panel-border);color:#d5e1e6}
.app-shell .readiness-item-row input,.app-shell .readiness-item-row select,.app-shell .readiness-item-row textarea,
.app-shell .ready-add-form input,.app-shell .ready-add-form select,.app-shell .ready-add-form textarea{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .ready-add-form{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;color:var(--ct-shell-text)
}
.app-shell .ready-add-form h3{color:#fff}
.app-shell .readiness-item-row option,.app-shell .ready-add-form option{background:#fff;color:#172a34}

/* Extra contrast guards for light notices and empty states */
.app-shell .dashboard-empty,.app-shell .migration-note,.app-shell .account-error,.app-shell .account-success{
  color:#172a34!important
}
.app-shell .migration-note *,.app-shell .account-error *,.app-shell .account-success *{color:inherit}

@media(max-width:900px){
  .app-shell .ready-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell .ready-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .app-shell .vehicle-head,.app-shell .ready-head{flex-direction:column}
  .app-shell .ct-participant-head-actions,.app-shell .ready-head-actions{justify-content:flex-start;width:100%}
  .app-shell .ready-summary,.app-shell .ready-participant-grid{grid-template-columns:1fr}
}



/* ===== Step 153F — Remaining Pages Complete UI Pass ===== */

/* ---------- Common page framing ---------- */
.app-shell .account-page>.account-page-head,
.app-shell .docs-head,.app-shell .fuel-screen-head{
  padding:20px;margin:0 0 14px;border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel)
}
.app-shell .account-page>.account-page-head h1,.app-shell .docs-head h2,.app-shell .fuel-screen-head h2{color:#fff;margin-top:0}
.app-shell .account-page>.account-page-head p,.app-shell .docs-head p,.app-shell .fuel-screen-head p{color:var(--ct-shell-muted)}

/* ---------- My Garage ---------- */
.app-shell .garage-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.app-shell .garage-page-card{
  min-height:185px;background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;
  box-shadow:none;color:var(--ct-shell-text)
}
.app-shell .garage-card-icon{
  width:104px;background:linear-gradient(155deg,#0a2a3e,#103b4e);
  color:color-mix(in srgb,var(--ct-accent) 72%,white);border-right:1px solid var(--ct-panel-border)
}
.app-shell .garage-card-body small{color:color-mix(in srgb,var(--ct-accent) 68%,white)}
.app-shell .garage-card-body h2{color:#fff}.app-shell .garage-card-body p,.app-shell .garage-card-meta{color:var(--ct-shell-muted)}
.app-shell .garage-editor .club-create-card{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);color:var(--ct-shell-text)
}
.app-shell .garage-editor h3{color:#fff}
.app-shell .garage-editor label{color:#d4e0e5}
.app-shell .garage-editor input,.app-shell .garage-editor select,.app-shell .garage-editor textarea{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .garage-editor option{background:#fff;color:#172a34}

/* ---------- Club & Members ---------- */
.app-shell .account-club-select,.app-shell .club-profile-admin,.app-shell .theme-admin-card,
.app-shell .account-profile{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);color:var(--ct-shell-text);box-shadow:none
}
.app-shell .account-club-select label,.app-shell .club-profile-admin h2,.app-shell .club-profile-admin h3,
.app-shell .theme-admin-card h3,.app-shell .account-profile h2,.app-shell .account-profile h3{color:#fff}
.app-shell .account-club-select select,.app-shell .club-profile-admin input,.app-shell .club-profile-admin select,
.app-shell .club-profile-admin textarea,.app-shell .account-profile input,.app-shell .account-profile select{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .account-club-select option,.app-shell .club-profile-admin option,.app-shell .account-profile option{background:#fff;color:#172a34}
.app-shell .club-profile-section{border-color:var(--ct-panel-border)}
.app-shell .club-profile-section p,.app-shell .theme-admin-head p,.app-shell .account-profile p,
.app-shell .account-club-switch p,.app-shell .ct-membership-list{color:var(--ct-shell-muted)}
.app-shell .theme-choice{background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#d7e4e9}
.app-shell .theme-choice.active{border-color:var(--ct-accent);box-shadow:0 0 0 1px var(--ct-accent)}
.app-shell .member-list-card:not(.participant-list-card){background:var(--ct-panel);border-color:var(--ct-panel-border);color:var(--ct-shell-text)}
.app-shell .member-list-card:not(.participant-list-card) .member-name{color:#fff}
.app-shell .member-list-card:not(.participant-list-card) .member-detail{color:var(--ct-shell-muted)}

/* ---------- My Account ---------- */
.app-shell .account-profile{max-width:none}
.app-shell .account-password,.app-shell .account-club-switch{border-color:var(--ct-panel-border)}
.app-shell .account-profile>small,.app-shell .account-club-switch small{color:color-mix(in srgb,var(--ct-accent) 65%,white)}
.app-shell .account-profile-actions{padding-top:4px}

/* ---------- Fuel ---------- */
.app-shell .fuel-summary-grid{gap:10px}
.app-shell .fuel-summary-card{
  background:var(--ct-panel)!important;border:1px solid var(--ct-panel-border)!important;color:var(--ct-shell-text)!important;
  border-radius:11px;box-shadow:none
}
.app-shell .fuel-summary-card small{color:var(--ct-shell-muted)!important}.app-shell .fuel-summary-card b{color:#fff!important}
.app-shell .fuel-stop-card{
  background:#fff!important;color:#172a34!important;border-color:#d8e1e5!important;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.07)
}
.app-shell .fuel-stop-card h3,.app-shell .fuel-stop-title,.app-shell .fuel-price strong,.app-shell .fuel-data-box b{color:#172a34!important}
.app-shell .fuel-stop-card p,.app-shell .fuel-stop-notes,.app-shell .fuel-data-box small{color:#66757d!important}
.app-shell .fuel-stop-num{background:#0b2b3f;color:#fff}
.app-shell .fuel-gap-warning{background:#fff4df;color:#684c16;border-color:#efd8a6}
.app-shell .fuel-empty{background:#fff!important;color:#172a34!important;border-color:#d8e1e5!important}

/* ---------- Documents & Resources ---------- */
.app-shell .docs-summary{gap:10px}
.app-shell .docs-stat{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:11px;color:var(--ct-shell-text)
}
.app-shell .docs-stat small{color:var(--ct-shell-muted)}.app-shell .docs-stat b{color:#fff}
.app-shell .docs-layout{gap:14px}
.app-shell .docs-panel{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;color:var(--ct-shell-text);box-shadow:none
}
.app-shell .docs-panel-head{border-color:var(--ct-panel-border)}
.app-shell .docs-panel h3,.app-shell .docs-panel strong{color:#fff}
.app-shell .docs-panel p,.app-shell .docs-note{color:var(--ct-shell-muted)}
.app-shell .docs-category{border-color:var(--ct-panel-border)}
.app-shell .docs-cat-item{
  background:var(--ct-panel-2);border-color:var(--ct-panel-border);color:#d7e4e9
}
.app-shell .docs-cat-item strong{color:#fff}.app-shell .docs-cat-item small{color:var(--ct-shell-muted)}
.app-shell .docs-panel input,.app-shell .docs-panel select,.app-shell .docs-panel textarea{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .docs-panel option{background:#fff;color:#172a34}
.app-shell .docs-empty{background:var(--ct-panel-2);color:var(--ct-shell-muted);border-color:var(--ct-panel-border)}

/* ---------- Sponsors ---------- */
.app-shell .ct-local-sponsors{margin-top:34px!important;padding-top:24px!important;border-top:1px solid var(--ct-panel-border)!important}
.app-shell .ct-local-sponsors>.account-work-head h2{color:#fff}
.app-shell .ct-sponsor-grid{gap:14px!important}
.app-shell .ct-sponsor-card{
  border-radius:12px!important;border:1px solid #d7e0e4!important;box-shadow:0 8px 24px rgba(0,0,0,.09)!important;
  overflow:hidden;background:#fff!important
}
.app-shell .ct-sponsor-card,.app-shell .ct-sponsor-card *{color:#172a34!important}
.app-shell .ct-sponsor-card-category{color:#66757d!important}
.app-shell .ct-sponsor-card a{color:#176b78!important}
.app-shell .ct-sponsor-card-region{color:#66757d!important;background:#f3f6f7!important}

/* ---------- Global Admin ---------- */
.app-shell .ga-page{color:var(--ct-shell-text)}
.app-shell .ga-head{
  padding:22px;margin-bottom:14px;border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel)
}
.app-shell .ga-head h1{color:#fff}.app-shell .ga-head p{color:var(--ct-shell-muted)}
.app-shell .ga-nav{
  display:flex;gap:6px;flex-wrap:wrap;padding:7px;margin-bottom:14px;border:1px solid var(--ct-panel-border);
  border-radius:11px;background:var(--ct-panel)
}
.app-shell .ga-nav button{background:transparent;border:0;color:#a9bec8;border-radius:8px;padding:9px 11px}
.app-shell .ga-nav button.active{background:var(--ct-accent);color:#fff}
.app-shell .ga-stats{gap:10px}
.app-shell .ga-stat{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:11px;color:var(--ct-shell-text)
}
.app-shell .ga-stat small{color:var(--ct-shell-muted)}.app-shell .ga-stat b{color:#fff}
.app-shell .ga-tools,.app-shell .ga-detail,.app-shell .ga-maint,.app-shell .ga-ad-card,.app-shell .ga-ad-form,
.app-shell .ga-registration-card,.app-shell .ga-real-map-card{
  background:var(--ct-panel);border-color:var(--ct-panel-border);color:var(--ct-shell-text);box-shadow:none
}
.app-shell .ga-tools input,.app-shell .ga-tools select,.app-shell .ga-detail input,.app-shell .ga-detail select,
.app-shell .ga-detail textarea,.app-shell .ga-ad-form input,.app-shell .ga-ad-form select,.app-shell .ga-ad-form textarea,
.app-shell .ga-field input,.app-shell .ga-field select,.app-shell .ga-field textarea{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .ga-tools option,.app-shell .ga-detail option,.app-shell .ga-ad-form option,.app-shell .ga-field option{background:#fff;color:#172a34}
.app-shell .ga-row,.app-shell .ga-manage-row,.app-shell .ga-membership{
  background:var(--ct-panel);border-color:var(--ct-panel-border);color:var(--ct-shell-text)
}
.app-shell .ga-row strong,.app-shell .ga-manage-row strong,.app-shell .ga-detail h2,.app-shell .ga-detail h3,
.app-shell .ga-advertising h2,.app-shell .ga-geo h2{color:#fff}
.app-shell .ga-row small,.app-shell .ga-created,.app-shell .ga-detail p,.app-shell .ga-orphan-note,
.app-shell .ga-ad-scope-note,.app-shell .ga-geo-intro{color:var(--ct-shell-muted)}
.app-shell .ga-list{border-color:var(--ct-panel-border)}
.app-shell .ga-danger{background:#3a2022!important;border-color:#714247!important;color:#ffd8d8!important}
.app-shell .ga-danger *{color:inherit!important}

/* ---------- Final contrast audit for generic light legacy surfaces ---------- */
.app-shell .club-create-card,.app-shell .invite-result{
  color:#172a34
}
.app-shell .club-create-card:not(.garage-editor .club-create-card){
  background:#fff
}
.app-shell .club-create-card:not(.garage-editor .club-create-card) h3,
.app-shell .club-create-card:not(.garage-editor .club-create-card) label{color:#172a34}
.app-shell .invite-result *{color:inherit}
.app-shell button.primary{color:#fff}
.app-shell button:disabled{opacity:.55}

/* ---------- Responsive ---------- */
@media(max-width:1050px){
  .app-shell .garage-page-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .app-shell .docs-summary,.app-shell .fuel-summary-grid,.app-shell .ga-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell .ga-nav{overflow-x:auto;flex-wrap:nowrap}
}
@media(max-width:560px){
  .app-shell .docs-summary,.app-shell .fuel-summary-grid,.app-shell .ga-stats{grid-template-columns:1fr}
  .app-shell .garage-page-card{display:block}.app-shell .garage-card-icon{width:100%;height:64px;border-right:0;border-bottom:1px solid var(--ct-panel-border)}
}



/* ===== Step 153G — Dark Card Consistency & Contrast Repair ===== */

/* Club member cards: remove remaining light-card inheritance. */
.app-shell .account-page .member-list-card,
.app-shell .account-page .member-list-row{
  background:var(--ct-panel)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important
}
.app-shell .account-page .member-list-card .member-name,
.app-shell .account-page .member-list-card strong{color:#fff!important}
.app-shell .account-page .member-list-card .member-detail,
.app-shell .account-page .member-list-card small{color:var(--ct-shell-muted)!important}
.app-shell .account-page .member-list-card .mode-btn{
  background:var(--ct-panel-2)!important;color:#dce8ec!important;border-color:var(--ct-panel-border)!important
}

/* Documents / map resource rows: dark cards, readable text. */
.app-shell .docs-panel .doc-row,
.app-shell .docs-panel .docs-cat-item,
.app-shell .docs-panel .map-card,
.app-shell .docs-panel .document-card{
  background:var(--ct-panel-2)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important
}
.app-shell .docs-panel .doc-row strong,
.app-shell .docs-panel .docs-cat-item strong,
.app-shell .docs-panel .map-card strong,
.app-shell .docs-panel .document-card strong{color:#fff!important}
.app-shell .docs-panel .doc-row span,
.app-shell .docs-panel .doc-row p,
.app-shell .docs-panel .docs-cat-item p,
.app-shell .docs-panel .map-card p,
.app-shell .docs-panel .document-card p{color:var(--ct-shell-muted)!important}
.app-shell .docs-panel .doc-icon{background:#0a2b3f!important;color:color-mix(in srgb,var(--ct-accent) 70%,white)!important}

/* Route & Fuel collapsed-route explanatory line. */
.app-shell .route84-toolbar{
  background:var(--ct-panel)!important;border-color:var(--ct-panel-border)!important
}
.app-shell .route84-toolbar-note{
  color:#c8d9e0!important;opacity:1!important;font-weight:600
}
.app-shell .route84-toolbar-actions .mode-btn{
  background:var(--ct-panel-2)!important;color:#dce8ec!important;border-color:var(--ct-panel-border)!important
}

/* Participants: make participant cards part of the dark operational UI. */
.app-shell .participant-list-card,
.app-shell .member-list-card.participant-list-card{
  background:var(--ct-panel)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important;
  box-shadow:none!important
}
.app-shell .participant-list-card .member-list-row{background:transparent!important}
.app-shell .participant-list-card .member-name{color:#fff!important}
.app-shell .participant-list-card .member-detail,
.app-shell .participant-list-card .participant-view-label{color:var(--ct-shell-muted)!important}
.app-shell .participant-list-card select{
  background:var(--ct-panel-2)!important;color:#fff!important;border-color:var(--ct-panel-border)!important
}
.app-shell .participant-list-card select option{background:#fff!important;color:#172a34!important}

/* Readiness participant overview: replace the intentionally-light Step 153E treatment. */
.app-shell .participant-ready-card,
.app-shell .participant-ready-card.is-ready{
  background:var(--ct-panel)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important;
  box-shadow:none!important
}
.app-shell .participant-ready-card.is-ready{border-color:color-mix(in srgb,var(--ct-accent) 42%,var(--ct-panel-border))!important}
.app-shell .participant-ready-avatar{
  background:var(--ct-panel-2)!important;color:color-mix(in srgb,var(--ct-accent) 70%,white)!important
}
.app-shell .participant-ready-name strong,
.app-shell .participant-ready-progress b{color:#fff!important}
.app-shell .participant-ready-name span,
.app-shell .participant-ready-vehicle,
.app-shell .participant-ready-missing small{color:var(--ct-shell-muted)!important}
.app-shell .participant-ready-badge{background:#3b321f!important;color:#f1d58a!important}
.app-shell .participant-ready-badge.complete{background:#173c31!important;color:#8bd8b5!important}
.app-shell .participant-ready-bar{background:var(--ct-panel-3)!important}
.app-shell .participant-ready-bar span{background:var(--ct-accent)!important;color:var(--ct-accent)!important}
.app-shell .participant-ready-missing{border-color:var(--ct-panel-border)!important}
.app-shell .participant-ready-tags span{
  background:var(--ct-panel-2)!important;color:#c7d8df!important;border-color:var(--ct-panel-border)!important
}
.app-shell .participant-ready-all{color:#8bd8b5!important}
.app-shell .participant-ready-card .mode-btn{
  background:var(--ct-panel-2)!important;color:#dce8ec!important;border-color:var(--ct-panel-border)!important
}

/* Preparation category/panel containers and checklist cards all dark. */
.app-shell .ready-panel,
.app-shell .ready-panel-head,
.app-shell .readiness-card-grid{
  color:var(--ct-shell-text)!important
}
.app-shell .ready-panel{
  background:transparent!important;border-color:var(--ct-panel-border)!important
}
.app-shell .ready-panel-head{
  background:var(--ct-panel)!important;border:1px solid var(--ct-panel-border)!important;border-radius:11px;
  padding:14px 16px;margin-bottom:10px
}
.app-shell .ready-panel-head h3{color:#fff!important}
.app-shell .ready-panel-head p{color:var(--ct-shell-muted)!important}
.app-shell .readiness-item-row,
.app-shell .readiness-item-info,
.app-shell .readiness-people{
  background:var(--ct-panel)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important
}
.app-shell .readiness-item-info strong{color:#fff!important}
.app-shell .readiness-item-info p{color:var(--ct-shell-muted)!important}
.app-shell .readiness-required-tag{background:#3b321f!important;color:#f1d58a!important}
.app-shell .readiness-required-tag.optional{background:var(--ct-panel-2)!important;color:#b9cbd3!important}
.app-shell .readiness-person{background:var(--ct-panel-2)!important;color:#dce8ec!important;border-color:var(--ct-panel-border)!important}

/* Generic contrast protection within the dark screens above. */
.app-shell .docs-panel button.mode-btn,
.app-shell .ready-panel button.mode-btn{
  background:var(--ct-panel-2)!important;color:#dce8ec!important;border-color:var(--ct-panel-border)!important
}



/* ===== Step 153G1 — Screenshot-targeted card repair ===== */

/* Trip Dashboard: Maps & Documents uses dashboard document-stat classes, not docs-stat. */
.app-shell .trip-detail-dashboard .trip-detail-card .doc-stat,
.app-shell .trip-detail-dashboard .trip-detail-card .document-stat,
.app-shell .trip-detail-dashboard .trip-detail-card .trip-doc-stat,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"]{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] b,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] strong{color:#fff!important}
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] small,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] span{color:var(--ct-shell-muted)!important}

/* Participant overview cards in the screenshot are p96-list-card, not participant-list-card. */
.app-shell .p96-list-card,
.app-shell .p96-card,
.app-shell .p96-hero{
  background:var(--ct-panel)!important;
  border-color:var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
  box-shadow:none!important;
}
.app-shell .p96-list-card .p96-name,
.app-shell .p96-list-card strong,
.app-shell .p96-card h3,
.app-shell .p96-card strong,
.app-shell .p96-hero strong{color:#fff!important}
.app-shell .p96-list-card .p96-sub,
.app-shell .p96-list-card .p96-open,
.app-shell .p96-card .p96-muted,
.app-shell .p96-hero .p96-sub{color:var(--ct-shell-muted)!important}
.app-shell .p96-list-card .p96-vehicle{border-color:var(--ct-panel-border)!important;color:#dce8ec!important}
.app-shell .p96-list-card .p96-avatar,
.app-shell .p96-hero .p96-avatar{background:var(--ct-panel-2)!important;color:#fff!important}
.app-shell .p96-list-card .p96-badge,
.app-shell .p96-card .p96-badge{background:var(--ct-panel-2)!important;color:#dce8ec!important}
.app-shell .p96-list-card .p96-badge.warn,
.app-shell .p96-card .p96-badge.warn{background:#3b321f!important;color:#f1d58a!important}

/* Readiness screenshot: actual inner cards are readiness-person-check. */
.app-shell .readiness-person-check,
.app-shell .readiness-person-check.checked{
  background:var(--ct-panel-2)!important;
  border-color:var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .readiness-person-check.checked{
  background:color-mix(in srgb,var(--ct-accent) 12%,var(--ct-panel-2))!important;
  border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-panel-border))!important;
}
.app-shell .readiness-person-check span{color:#dce8ec!important}
.app-shell .readiness-person-check input{accent-color:var(--ct-accent)}

/* Catch the Trip Dashboard map/document metric class directly by its parent structure. */
.app-shell .trip-detail-card .docs-summary .docs-stat{
  background:var(--ct-panel-2)!important;color:var(--ct-shell-text)!important;border-color:var(--ct-panel-border)!important
}
.app-shell .trip-detail-card .docs-summary .docs-stat b{color:#fff!important}
.app-shell .trip-detail-card .docs-summary .docs-stat small{color:var(--ct-shell-muted)!important}



/* Step 153G1A — exact Maps & Documents metric class */
.app-shell .trip-detail-dashboard .file-stat-grid > div{
  background:var(--ct-panel-2)!important;
  border-color:var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .trip-detail-dashboard .file-stat-grid > div b,
.app-shell .trip-detail-dashboard .file-stat-grid > div strong{color:#fff!important}
.app-shell .trip-detail-dashboard .file-stat-grid > div small,
.app-shell .trip-detail-dashboard .file-stat-grid > div span{color:var(--ct-shell-muted)!important}



/* ===== Step 153G2 — Exact Participants & Vehicles Card Fix =====
   Visible participant tiles use .p96-person (not .p96-list-card). */
.app-shell .p96-list .p96-person{
  background:var(--ct-panel)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
  box-shadow:none!important;
}
.app-shell .p96-list .p96-person:hover{
  background:var(--ct-panel-2)!important;
  border-color:color-mix(in srgb,var(--ct-accent) 40%,var(--ct-panel-border))!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
}
.app-shell .p96-person .p96-name,
.app-shell .p96-person .p96-vehicle strong{color:#fff!important}
.app-shell .p96-person .p96-sub,
.app-shell .p96-person .p96-open{color:#b9ccd4!important;opacity:1!important}
.app-shell .p96-person .p96-vehicle{
  color:#d9e5e9!important;
  border-top-color:var(--ct-panel-border)!important
}
.app-shell .p96-person .p96-avatar{
  background:var(--ct-panel-2)!important;
  color:#fff!important;
  border:1px solid var(--ct-panel-border)!important
}
.app-shell .p96-person .p96-badge{
  background:var(--ct-panel-2)!important;
  color:#dce8ec!important;
  border:1px solid var(--ct-panel-border)!important
}
.app-shell .p96-person .p96-badge.warn{
  background:#3b321f!important;color:#f1d58a!important;border-color:#66572d!important
}
.app-shell .p96-person .ct-vehicle-suitability.good{color:#8bd8b5!important}
.app-shell .p96-person .ct-vehicle-suitability.bad{color:#ff9f9f!important}
.app-shell .p96-person .ct-vehicle-suitability.neutral{color:#b9ccd4!important}



/* ===== Step 153G3 — Participant Profile Tabs, Status & Removal Fix ===== */

/* Profile navigation tabs */
.app-shell .p96-tabs button{
  color:#b9ccd4!important;
  background:transparent!important;
}
.app-shell .p96-tabs button:hover{
  color:#fff!important;
  background:var(--ct-panel-2)!important;
}
.app-shell .p96-tabs button.active{
  color:#fff!important;
  background:color-mix(in srgb,var(--ct-accent) 28%,var(--ct-panel-2))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent) 38%,transparent)!important;
}

/* Trip Status inner readiness/status bars */
.app-shell .p96-card .p96-status-grid .p96-check,
.app-shell .p96-status-grid .p96-check{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .p96-card .p96-status-grid .p96-check.pending,
.app-shell .p96-status-grid .p96-check.pending{
  background:#3b321f!important;
  border-color:#66572d!important;
  color:#f1d58a!important;
}

/* Remove-from-trip panel: dark danger treatment instead of white/pink. */
.app-shell .p98b-danger{
  background:#2d1f24!important;
  border-color:#70424b!important;
  color:#f5dfe3!important;
}
.app-shell .p98b-danger strong{color:#ffd9df!important}
.app-shell .p98b-danger span{color:#d9b8be!important;opacity:1!important}
.app-shell .p98b-remove{
  background:#44262c!important;
  border-color:#9a5662!important;
  color:#ffd9df!important;
}
.app-shell .p98b-remove:hover:not(:disabled){
  background:#593039!important;
  border-color:#bd6977!important;
  color:#fff!important;
}



/* ===== Step 154 — UI Stabilisation & Consistency Layer =====
   Final authority for the 153-series redesign. Keep this block last in the
   main document stylesheet so older component CSS cannot reintroduce contrast
   or spacing regressions. */

.app-shell{
  --ct-radius-panel:12px;
  --ct-radius-control:8px;
  --ct-gap:14px;
  --ct-control-h:38px;
}

/* Consistent headings / supporting copy */
.app-shell .account-page h1,
.app-shell .account-page h2,
.app-shell .account-page h3,
.app-shell .trip-detail-dashboard h1,
.app-shell .trip-detail-dashboard h2,
.app-shell .trip-detail-dashboard h3{letter-spacing:-.01em}
.app-shell .account-muted,
.app-shell .p96-muted,
.app-shell .trip-hero-summary.muted{color:var(--ct-shell-muted)!important}

/* One control language across the redesigned application */
.app-shell button,
.app-shell input,
.app-shell select,
.app-shell textarea{font:inherit}
.app-shell button{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.app-shell button:not(:disabled){cursor:pointer}
.app-shell button:disabled{cursor:not-allowed;opacity:.5!important}
.app-shell button.primary{
  min-height:var(--ct-control-h);border-radius:var(--ct-radius-control)!important;
  background:var(--ct-accent)!important;border-color:var(--ct-accent)!important;color:#fff!important
}
.app-shell button.primary:hover:not(:disabled){filter:brightness(1.08)}
.app-shell .mode-btn{
  min-height:var(--ct-control-h);border-radius:var(--ct-radius-control)!important
}
.app-shell input:not([type="checkbox"]):not([type="radio"]),
.app-shell select,.app-shell textarea{border-radius:var(--ct-radius-control)!important}
.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus,
.app-shell button:focus-visible{
  outline:2px solid color-mix(in srgb,var(--ct-accent) 58%,white)!important;
  outline-offset:2px
}

/* Final dark-surface authority */
.app-shell .trip-detail-card,
.app-shell .p96-person,
.app-shell .p96-card,
.app-shell .p96-hero,
.app-shell .participant-ready-card,
.app-shell .readiness-item-row,
.app-shell .ready-panel-head,
.app-shell .docs-panel,
.app-shell .docs-stat,
.app-shell .fuel-summary-card,
.app-shell .garage-page-card,
.app-shell .member-list-card,
.app-shell .account-profile,
.app-shell .account-club-select,
.app-shell .club-profile-admin,
.app-shell .theme-admin-card,
.app-shell .ga-stat,
.app-shell .ga-tools,
.app-shell .ga-detail{
  border-radius:var(--ct-radius-panel)!important;
}

/* Participant profile: final consistent state */
.app-shell .p96-tabs{gap:7px}
.app-shell .p96-tabs button{
  min-height:36px;padding:8px 12px!important;border-radius:8px!important;
  color:#b9ccd4!important;background:transparent!important
}
.app-shell .p96-tabs button:hover{color:#fff!important;background:var(--ct-panel-2)!important}
.app-shell .p96-tabs button.active{
  color:#fff!important;
  background:color-mix(in srgb,var(--ct-accent) 28%,var(--ct-panel-2))!important
}
.app-shell .p96-status-grid .p96-check{
  min-height:34px;display:flex;align-items:center;
  background:var(--ct-panel-2)!important;color:#dce8ec!important;
  border:1px solid var(--ct-panel-border)!important
}
.app-shell .p96-status-grid .p96-check.pending{
  background:#3b321f!important;color:#f1d58a!important;border-color:#66572d!important
}

/* Readiness: final card/check treatment */
.app-shell .readiness-person-check,
.app-shell .readiness-person-check.checked{
  min-height:42px;background:var(--ct-panel-2)!important;
  color:#dce8ec!important;border-color:var(--ct-panel-border)!important
}
.app-shell .readiness-person-check.checked{
  background:color-mix(in srgb,var(--ct-accent) 12%,var(--ct-panel-2))!important;
  border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-panel-border))!important
}
.app-shell .readiness-person-check span{color:inherit!important}

/* Documents / Maps final contrast */
.app-shell .file-stat-grid>div,
.app-shell .docs-panel .doc-row,
.app-shell .docs-panel .docs-cat-item{
  background:var(--ct-panel-2)!important;color:var(--ct-shell-text)!important;
  border-color:var(--ct-panel-border)!important
}
.app-shell .file-stat-grid>div b,
.app-shell .file-stat-grid>div strong,
.app-shell .docs-panel .doc-row strong{color:#fff!important}
.app-shell .file-stat-grid>div small,
.app-shell .file-stat-grid>div span,
.app-shell .docs-panel .doc-row span{color:var(--ct-shell-muted)!important}

/* Club/member final contrast */
.app-shell .member-list-card,
.app-shell .member-list-row{
  background:var(--ct-panel)!important;color:var(--ct-shell-text)!important;
  border-color:var(--ct-panel-border)!important
}
.app-shell .member-list-card strong,
.app-shell .member-list-card .member-name{color:#fff!important}
.app-shell .member-list-card small,
.app-shell .member-list-card .member-detail{color:var(--ct-shell-muted)!important}

/* Route helper text stays legible */
.app-shell .route84-toolbar-note{color:#c8d9e0!important;opacity:1!important}

/* Danger treatment stays dark and unmistakable */
.app-shell .p98b-danger{
  background:#2d1f24!important;border-color:#70424b!important;color:#f5dfe3!important
}
.app-shell .p98b-danger strong{color:#ffd9df!important}
.app-shell .p98b-danger span{color:#d9b8be!important;opacity:1!important}

/* Preserve approved light sponsor cards as the deliberate exception */
.app-shell .ct-sponsor-card,
.app-shell .ct-sponsor-card *{color:#172a34!important}
.app-shell .ct-sponsor-card{background:#fff!important}
.app-shell .ct-sponsor-card a{color:#176b78!important}

/* Responsive consistency */
@media(max-width:620px){
  .app-shell button.primary,.app-shell .mode-btn{min-height:40px}
  .app-shell .p96-tabs{gap:4px}
  .app-shell .p96-tabs button{padding:8px 9px!important}
}



/* ===== Step 155 — Support Page ===== */
.app-shell .app-sidebar-bottom{
  display:flex!important;flex-direction:column;gap:9px!important;align-items:stretch!important
}
.app-shell .sidebar-support-link{
  width:100%;display:flex;align-items:center;justify-content:flex-start;min-height:38px;
  padding:9px 11px;border:1px solid var(--ct-panel-border);border-radius:8px;
  background:transparent;color:#b9ccd4;font-weight:800;text-align:left
}
.app-shell .sidebar-support-link:hover,
.app-shell .sidebar-support-link.active{
  background:var(--ct-panel-2);color:#fff;border-color:color-mix(in srgb,var(--ct-accent) 42%,var(--ct-panel-border))
}
.app-shell .sidebar-club-name{
  padding:0 4px;color:var(--ct-shell-muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere
}
.app-shell .support-page{max-width:1050px!important;margin:0 auto!important}
.app-shell .support-card{
  background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;
  padding:20px;color:var(--ct-shell-text)
}
.app-shell .support-card-head{padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid var(--ct-panel-border)}
.app-shell .support-card-head h2{margin:0 0 5px;color:#fff}
.app-shell .support-card-head p{margin:0;color:var(--ct-shell-muted);font-size:12px}
.app-shell .support-account-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px
}
.app-shell .support-account-field{
  background:var(--ct-panel-2);border:1px solid var(--ct-panel-border);border-radius:9px;padding:12px 13px
}
.app-shell .support-account-field small{
  display:block;margin-bottom:4px;color:var(--ct-shell-muted);font-size:9px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase
}
.app-shell .support-account-field strong{display:block;color:#fff;font-size:13px;overflow-wrap:anywhere}
.app-shell .support-issue-field label{display:block;margin-bottom:7px;color:#fff;font-size:12px;font-weight:800}
.app-shell .support-issue-field textarea{
  width:100%;min-height:190px;resize:vertical;box-sizing:border-box;
  background:var(--ct-panel-2)!important;border:1px solid var(--ct-panel-border)!important;color:#fff!important;
  padding:12px 13px;line-height:1.5
}
.app-shell .support-issue-field textarea::placeholder{color:#8199a4}
.app-shell .support-issue-field>small{display:block;margin-top:6px;color:var(--ct-shell-muted)}
.app-shell .support-actions{display:flex;justify-content:flex-end;margin-top:16px}
.app-shell .support-error,.app-shell .support-success{
  margin-top:14px;padding:10px 12px;border-radius:8px;font-size:11px;font-weight:700
}
.app-shell .support-error{background:#3a2022;border:1px solid #714247;color:#ffd8d8}
.app-shell .support-success{background:#173c31;border:1px solid #356e59;color:#a8e5c9}
@media(max-width:650px){
  .app-shell .support-account-grid{grid-template-columns:1fr}
  .app-shell .support-actions .primary{width:100%}
}



/* ===== Step 156 — Help Centre & Help Content Administration ===== */
.app-shell .help-page{max-width:1100px!important;margin:0 auto!important}
.app-shell .help-category{
  margin-bottom:14px;background:var(--ct-panel);border:1px solid var(--ct-panel-border);
  border-radius:12px;padding:17px;color:var(--ct-shell-text)
}
.app-shell .help-category-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--ct-panel-border)}
.app-shell .help-category-head h2{margin:0 0 4px;color:#fff;font-size:18px}
.app-shell .help-category-head p{margin:0;color:var(--ct-shell-muted);font-size:11px}
.app-shell .help-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--ct-panel-2);color:#dce8ec;font-size:10px;font-weight:800}
.app-shell .help-article-list{display:grid;gap:7px;margin-top:12px}
.app-shell .help-article{background:var(--ct-panel-2);border:1px solid var(--ct-panel-border);border-radius:9px;overflow:hidden}
.app-shell .help-article-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;background:transparent;border:0;color:#e6eff2;text-align:left;font-weight:800}
.app-shell .help-article-toggle:hover{background:color-mix(in srgb,var(--ct-accent) 8%,transparent)}
.app-shell .help-article-toggle strong{color:color-mix(in srgb,var(--ct-accent) 70%,white);font-size:18px}
.app-shell .help-article-body{padding:0 14px 14px;border-top:1px solid var(--ct-panel-border);color:#c3d3da;line-height:1.65}
.app-shell .help-article-body p{margin:12px 0 0;color:#c3d3da}
.app-shell .help-empty{padding:22px;border:1px dashed var(--ct-panel-border);border-radius:10px;background:var(--ct-panel);color:var(--ct-shell-muted);display:grid;gap:4px}
.app-shell .help-empty strong{color:#fff}

/* Global Admin help content */
.app-shell .ga-help{display:grid;gap:14px}
.app-shell .ga-help-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.app-shell .ga-help-head h2,.app-shell .ga-help-panel h3{margin:0 0 4px;color:#fff}
.app-shell .ga-help-head p,.app-shell .ga-help-note{margin:0;color:var(--ct-shell-muted)}
.app-shell .ga-help-panel{background:var(--ct-panel);border:1px solid var(--ct-panel-border);border-radius:12px;padding:16px;color:var(--ct-shell-text)}
.app-shell .ga-help-category-add{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin:12px 0}
.app-shell .ga-help-category-add input,
.app-shell .ga-help-editor input,
.app-shell .ga-help-editor select,
.app-shell .ga-help-editor textarea{
  background:var(--ct-panel-2)!important;border:1px solid var(--ct-panel-border)!important;color:#fff!important;padding:10px
}
.app-shell .ga-help-editor option{background:#fff;color:#172a34}
.app-shell .ga-help-category-list{display:grid;gap:7px}
.app-shell .ga-help-category-row,.app-shell .ga-help-article-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:9px;align-items:center;
  padding:10px 11px;background:var(--ct-panel-2);border:1px solid var(--ct-panel-border);border-radius:9px
}
.app-shell .ga-help-article-row{grid-template-columns:minmax(0,1fr) auto auto}
.app-shell .ga-help-category-row>div,.app-shell .ga-help-article-row>div{display:grid;gap:2px}
.app-shell .ga-help-category-row strong,.app-shell .ga-help-article-row strong{color:#fff}
.app-shell .ga-help-category-row small,.app-shell .ga-help-article-row small,.app-shell .ga-help-category-row>span{color:var(--ct-shell-muted)}
.app-shell .ga-help-editor-grid{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:12px}
.app-shell .ga-help-editor-grid label{display:grid;gap:5px;color:#d6e3e8;font-size:11px;font-weight:700}
.app-shell .ga-help-body-field{grid-column:1/-1}
.app-shell .ga-help-publish{display:flex!important;grid-column:1/-1;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start}
.app-shell .ga-help-publish input{width:auto!important}
.app-shell .ga-help-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
@media(max-width:760px){
  .app-shell .ga-help-head{align-items:stretch;flex-direction:column}
  .app-shell .ga-help-category-add,.app-shell .ga-help-editor-grid{grid-template-columns:1fr}
  .app-shell .ga-help-body-field,.app-shell .ga-help-publish{grid-column:1}
  .app-shell .ga-help-category-row,.app-shell .ga-help-article-row{grid-template-columns:1fr}
}



/* ===== Step 157 — Functional Trip Workflow ===== */
.app-shell .trip-workflow-bar{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;
  margin-bottom:14px;padding:10px 12px;background:var(--ct-panel);
  border:1px solid var(--ct-panel-border);border-radius:11px
}
.app-shell .trip-workflow-label{display:grid;gap:2px;min-width:92px}
.app-shell .trip-workflow-label strong{color:#fff;font-size:9px;letter-spacing:.08em}
.app-shell .trip-workflow-label span{color:var(--ct-shell-muted);font-size:9px}
.app-shell .trip-workflow-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.app-shell .trip-workflow-step{
  min-width:0;display:flex;align-items:center;gap:6px;padding:7px 8px;
  background:var(--ct-panel-2);border:1px solid var(--ct-panel-border);border-radius:8px;
  color:#a9bdc6;text-align:left
}
.app-shell .trip-workflow-step:hover{color:#fff;border-color:color-mix(in srgb,var(--ct-accent) 38%,var(--ct-panel-border))}
.app-shell .trip-workflow-step.active{
  color:#fff;background:color-mix(in srgb,var(--ct-accent) 19%,var(--ct-panel-2));
  border-color:color-mix(in srgb,var(--ct-accent) 55%,var(--ct-panel-border))
}
.app-shell .trip-workflow-step.visited{color:#d2e1e6}
.app-shell .trip-workflow-number{
  flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:999px;
  background:var(--ct-panel-3);color:#bcd0d8;font-size:9px;font-weight:900
}
.app-shell .trip-workflow-step.active .trip-workflow-number{
  background:var(--ct-accent);color:#fff
}
.app-shell .trip-workflow-step.visited .trip-workflow-number{
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ct-accent) 45%,transparent)
}
.app-shell .trip-workflow-step-text{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800
}
.app-shell .trip-next-actions{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-top:16px;padding-top:14px;border-top:1px solid var(--ct-panel-border)
}
.app-shell .trip-next-actions .primary,.app-shell .trip-next-actions .mode-btn{min-width:150px}
.app-shell .trip-sidebar-bottom{gap:7px!important}
@media(max-width:1000px){
  .app-shell .trip-workflow-bar{grid-template-columns:1fr}
  .app-shell .trip-workflow-label{display:flex;justify-content:space-between;align-items:center}
}
@media(max-width:760px){
  .app-shell .trip-workflow-steps{display:flex;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
  .app-shell .trip-workflow-step{flex:0 0 auto;min-width:118px}
  .app-shell .trip-next-actions{align-items:stretch;flex-direction:column-reverse}
  .app-shell .trip-next-actions>span{display:none}
  .app-shell .trip-next-actions .primary,.app-shell .trip-next-actions .mode-btn{width:100%}
}



/* ===== Step 158 — Global Support Email Setting ===== */
.app-shell .ga-settings{display:grid;gap:14px}
.app-shell .ga-settings-panel{max-width:760px}
.app-shell .ga-settings-field{display:grid;gap:6px;margin-top:14px}
.app-shell .ga-settings-field>span{color:#d6e3e8;font-size:11px;font-weight:800}
.app-shell .ga-settings-field input{
  width:100%;box-sizing:border-box;background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;color:#fff!important;padding:10px 11px
}



/* ===== Step 159 — Nested Global Admin Navigation ===== */
.app-shell .sidebar-admin-group{display:grid;gap:4px}
.app-shell .sidebar-admin-toggle{
  width:100%;display:flex!important;align-items:center!important;justify-content:space-between!important
}
.app-shell .sidebar-admin-chevron{
  margin-left:auto;font-size:15px;line-height:1;color:var(--ct-shell-muted)
}
.app-shell .sidebar-admin-subnav{
  display:grid;gap:2px;margin:1px 0 5px 17px;padding:5px 0 5px 9px;
  border-left:1px solid color-mix(in srgb,var(--ct-accent) 32%,var(--ct-panel-border))
}
.app-shell .app-nav .sidebar-admin-subnav button{
  min-height:30px!important;padding:6px 9px!important;border-radius:6px!important;
  background:transparent!important;border:0!important;color:#91a8b2!important;
  font-size:10px!important;font-weight:700!important;text-align:left!important
}
.app-shell .app-nav .sidebar-admin-subnav button:hover{
  background:var(--ct-panel-2)!important;color:#fff!important
}
.app-shell .app-nav .sidebar-admin-subnav button.active{
  background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel-2))!important;
  color:#fff!important;
  box-shadow:inset 2px 0 0 var(--ct-accent)
}
/* Global Admin page content now uses the left nested navigation instead of a second tab row. */
.app-shell .ga-page>.ga-head{margin-bottom:14px}



/* ===== Step 159B — ClubTrekker 4WD Brand Mark =====
   Vehicle silhouette adapted from Font Awesome Free "car-side".
   Font Awesome Free icons: CC BY 4.0 — https://fontawesome.com/license/free
*/
.ct-4wd-icon{
  display:inline-block;flex:0 0 auto;width:34px;height:28px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127z'/%3E%3C/svg%3E") center/contain no-repeat
}
.app-shell .app-brand{
  display:flex!important;align-items:center!important;gap:10px!important
}
.app-shell .app-brand:before{display:none!important;content:none!important}
.app-shell .app-brand>.ct-4wd-icon{
  width:38px;height:31px;color:color-mix(in srgb,var(--ct-accent) 78%,white)
}
.app-shell .ct-brand-text{display:block;line-height:1.05}
.app-shell .ct-brand-text small{
  margin:5px 0 0 0!important;display:block!important
}
.account-card .account-brand{
  display:flex;align-items:center;gap:10px
}
.account-card .account-brand>.ct-4wd-icon{
  width:42px;height:34px;color:var(--app-green,#315f45)
}



/* ===== Step 160 — Communications Centre ===== */
.app-shell .sidebar-comm-count{
  margin-left:auto;min-width:19px;height:19px;padding:0 5px;display:inline-grid;place-items:center;
  border-radius:10px;background:var(--ct-accent);color:#081519;font-size:9px;font-weight:900
}
.app-shell .comm160-page{display:grid;gap:18px}
.app-shell .comm160-page .account-work-head{align-items:flex-start}
.app-shell .comm160-readall{
  border:1px solid var(--ct-panel-border)!important;background:var(--ct-panel-2)!important;
  color:#fff!important;border-radius:8px!important;padding:9px 12px!important;font-weight:800!important
}
.app-shell .comm160-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.app-shell .comm160-stat{
  min-height:82px;padding:15px 16px;border:1px solid var(--ct-panel-border);
  border-radius:10px;background:var(--ct-panel);display:grid;align-content:center;gap:5px
}
.app-shell .comm160-stat small{color:var(--ct-shell-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.app-shell .comm160-stat b{color:#fff;font-size:24px}
.app-shell .comm160-filters{display:flex;flex-wrap:wrap;gap:7px}
.app-shell .comm160-filters button{
  border:1px solid var(--ct-panel-border)!important;background:var(--ct-panel-2)!important;
  color:var(--ct-shell-muted)!important;border-radius:999px!important;padding:7px 11px!important;font-size:10px!important;font-weight:800!important
}
.app-shell .comm160-filters button.active{
  border-color:color-mix(in srgb,var(--ct-accent) 55%,var(--ct-panel-border))!important;
  background:color-mix(in srgb,var(--ct-accent) 16%,var(--ct-panel-2))!important;color:#fff!important
}
.app-shell .comm160-list{display:grid;gap:8px}
.app-shell .comm160-message{
  width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:13px;align-items:start;
  text-align:left!important;padding:15px 16px!important;border:1px solid var(--ct-panel-border)!important;
  border-radius:10px!important;background:var(--ct-panel)!important;color:#fff!important
}
.app-shell .comm160-message:hover{background:var(--ct-panel-2)!important}
.app-shell .comm160-message.unread{
  border-color:color-mix(in srgb,var(--ct-accent) 40%,var(--ct-panel-border))!important;
  background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-panel))!important
}
.app-shell .comm160-dot{width:7px;height:7px;border-radius:50%;margin-top:7px;background:#536b75}
.app-shell .comm160-message.unread .comm160-dot{background:var(--ct-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ct-accent) 14%,transparent)}
.app-shell .comm160-body{min-width:0;display:grid;gap:5px}
.app-shell .comm160-meta{display:flex;justify-content:space-between;gap:12px}
.app-shell .comm160-meta b{color:var(--ct-accent);font-size:9px;text-transform:uppercase;letter-spacing:.8px}
.app-shell .comm160-meta small,.app-shell .comm160-context{color:var(--ct-shell-muted);font-size:9px}
.app-shell .comm160-body>strong{font-size:13px;color:#fff}
.app-shell .comm160-copy{color:#c5d1d6;font-size:11px;line-height:1.5}
.app-shell .comm160-open{align-self:center;color:var(--ct-accent);font-size:10px;font-weight:900;white-space:nowrap}
.app-shell .comm160-empty{
  min-height:150px;border:1px dashed var(--ct-panel-border);border-radius:10px;background:var(--ct-panel);
  display:grid;place-items:center;align-content:center;gap:5px;text-align:center
}
.app-shell .comm160-empty b{color:#fff}.app-shell .comm160-empty span{color:var(--ct-shell-muted);font-size:11px}
@media(max-width:760px){
  .app-shell .comm160-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-shell .comm160-message{grid-template-columns:9px minmax(0,1fr)}
  .app-shell .comm160-open{display:none}
  .app-shell .comm160-meta{display:grid;gap:3px}
}



/* ===== Step 161 — Trip Command Centre ===== */
.app-shell .cmd161-page{display:grid;gap:18px}
.app-shell .cmd161-hero{
  display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;
  border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel)
}
.app-shell .cmd161-hero.ready{border-color:color-mix(in srgb,var(--ct-accent) 55%,var(--ct-panel-border))}
.app-shell .cmd161-hero.attention{border-color:#80614a}
.app-shell .cmd161-hero h1{margin:5px 0 7px;color:#fff;font-size:28px}
.app-shell .cmd161-hero p{margin:0;color:var(--ct-shell-muted);max-width:720px;line-height:1.5}
.app-shell .cmd161-status-mark{
  width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%;
  border:1px solid currentColor;font-size:28px;font-weight:900;color:var(--ct-accent)
}
.app-shell .cmd161-hero.attention .cmd161-status-mark{color:#d4a06d}
.app-shell .cmd161-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.app-shell .cmd161-card{
  min-height:165px;padding:16px!important;text-align:left!important;display:grid!important;align-content:start!important;gap:7px!important;
  border:1px solid var(--ct-panel-border)!important;border-radius:10px!important;background:var(--ct-panel)!important;color:#fff!important
}
.app-shell .cmd161-card:hover{background:var(--ct-panel-2)!important}
.app-shell .cmd161-card.warn{border-color:#6e5747!important}
.app-shell .cmd161-card.ok{border-color:color-mix(in srgb,var(--ct-accent) 28%,var(--ct-panel-border))!important}
.app-shell .cmd161-card-head{display:flex;align-items:center;gap:7px}
.app-shell .cmd161-card-head small{font-size:9px;font-weight:900;letter-spacing:.75px;text-transform:uppercase;color:var(--ct-shell-muted)}
.app-shell .cmd161-card-state{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#263a42;color:var(--ct-accent);font-size:10px;font-weight:900}
.app-shell .cmd161-card.warn .cmd161-card-state{background:#49382e;color:#e1ad77}
.app-shell .cmd161-card>strong{font-size:19px;color:#fff;margin-top:4px}
.app-shell .cmd161-sub{font-size:10px;color:#c4d0d5;line-height:1.4}
.app-shell .cmd161-detail{font-size:10px;color:#d9a675;line-height:1.4}
.app-shell .cmd161-link{margin-top:auto;padding-top:8px;color:var(--ct-accent);font-size:10px;font-weight:900}
.app-shell .cmd161-exceptions{
  padding:20px;border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel);display:grid;gap:8px
}
.app-shell .cmd161-section-head{margin-bottom:5px}
.app-shell .cmd161-section-head small{color:var(--ct-accent);font-size:9px;font-weight:900;letter-spacing:.8px}
.app-shell .cmd161-section-head h2{margin:3px 0;color:#fff;font-size:18px}
.app-shell .cmd161-exception,.app-shell .cmd161-clear{
  min-height:42px;padding:10px 12px;border:1px solid var(--ct-panel-border);border-radius:8px;background:var(--ct-panel-2);
  display:flex;align-items:center;gap:10px;color:#d4dde1;font-size:11px
}
.app-shell .cmd161-exclamation{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:#49382e;color:#e1ad77;font-weight:900}
.app-shell .cmd161-clear{display:grid;gap:3px;border-color:color-mix(in srgb,var(--ct-accent) 30%,var(--ct-panel-border))}
.app-shell .cmd161-clear b{color:#fff}.app-shell .cmd161-clear span{color:var(--ct-shell-muted)}
.app-shell .cmd161-denied{padding:24px;border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel)}
@media(max-width:1100px){.app-shell .cmd161-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .app-shell .cmd161-grid{grid-template-columns:1fr}
  .app-shell .cmd161-hero{align-items:flex-start;padding:20px}
  .app-shell .cmd161-status-mark{width:46px;height:46px;flex-basis:46px;font-size:22px}
}



/* ===== Step 161A — Trip Command Centre Reports + Communications Subset ===== */
.app-shell .cmd161-subnav{
  display:flex;align-items:center;gap:7px;padding:5px;border:1px solid var(--ct-panel-border);
  border-radius:10px;background:var(--ct-panel);width:max-content;max-width:100%
}
.app-shell .cmd161-subnav button{
  display:flex;align-items:center;gap:7px;border:1px solid transparent!important;border-radius:7px!important;
  background:transparent!important;color:var(--ct-shell-muted)!important;padding:8px 11px!important;
  font-size:10px!important;font-weight:900!important
}
.app-shell .cmd161-subnav button.active{
  background:var(--ct-panel-2)!important;border-color:var(--ct-panel-border)!important;color:#fff!important
}
.app-shell .cmd161-subnav-count{
  min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:10px;
  background:var(--ct-accent);color:#081519;font-size:9px;font-weight:900
}
.app-shell .cmd161-reports{
  display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;
  border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel)
}
.app-shell .cmd161-reports-copy small{color:var(--ct-accent);font-size:9px;font-weight:900;letter-spacing:.8px}
.app-shell .cmd161-reports-copy h2{margin:4px 0;color:#fff;font-size:17px}
.app-shell .cmd161-reports-copy p{margin:0;color:var(--ct-shell-muted);font-size:10px}
.app-shell .cmd161-report-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){
  .app-shell .cmd161-subnav{width:100%}
  .app-shell .cmd161-subnav button{flex:1;justify-content:center}
  .app-shell .cmd161-reports{display:grid}
  .app-shell .cmd161-report-actions{justify-content:flex-start}
}



/* ===== Step 161B — Participants Preparation/Fuel Card Contrast Repair ===== */
.app-shell .p96-workspace .p96-card,
.app-shell .p96-grid > .p96-card,
.app-shell .p97-fuel-list .p96-card{
  background:var(--ct-panel)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .p96-workspace .p96-card h3,
.app-shell .p96-grid > .p96-card h3,
.app-shell .p96-grid > .p96-card strong,
.app-shell .p97-fuel-list .p96-card{
  color:#fff!important;
}
.app-shell .p96-grid > .p96-card .p96-metric{
  color:#fff!important;
}
.app-shell .p96-grid > .p96-card .p96-metric-label,
.app-shell .p96-grid > .p96-card .p96-muted{
  color:var(--ct-shell-muted)!important;
}
.app-shell .p96-grid > .p96-card .p96-badge{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .p96-grid > .p96-card .p96-badge.warn{
  background:#3b321f!important;
  border-color:#66572d!important;
  color:#f1d58a!important;
}



/* ===== Step 161C — Exact Fuel Leg + Participant Preparation Contrast Fix ===== */
/* Fuel Plan route-leg cards shown inside a participant profile */
.app-shell .p97-fuel-list .p97-leg,
.app-shell .p97-fuel-list .p97-leg.warning{
  background:var(--ct-panel)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .p97-fuel-list .p97-leg.fuel-stop{
  border-color:color-mix(in srgb,var(--ct-accent) 42%,var(--ct-panel-border))!important;
}
.app-shell .p97-fuel-list .p97-route,
.app-shell .p97-fuel-list .p97-leg-stat b,
.app-shell .p97-fuel-list .p97-stop strong{
  color:#fff!important;
}
.app-shell .p97-fuel-list .p97-leg-meta,
.app-shell .p97-fuel-list .p97-leg-stat small,
.app-shell .p97-fuel-list .p97-stop small{
  color:var(--ct-shell-muted)!important;
  opacity:1!important;
}
.app-shell .p97-fuel-list .p97-leg-stat,
.app-shell .p97-fuel-list .p97-stop{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .p97-fuel-list .p97-fuelbar{
  background:var(--ct-panel-3)!important;
}
.app-shell .p97-fuel-list .p97-warning{
  background:#3b321f!important;
  border-color:#66572d!important;
  color:#f1d58a!important;
}

/* Preparation checklist cards shown inside a participant profile */
.app-shell .p96-workspace .participant-editor-check,
.app-shell .p96-grid .participant-editor-check{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .p96-workspace .participant-editor-check.checked,
.app-shell .p96-grid .participant-editor-check.checked{
  background:#17372f!important;
  border-color:#315d50!important;
  color:#e4f3ec!important;
}
.app-shell .p96-workspace .participant-editor-check strong,
.app-shell .p96-grid .participant-editor-check strong{
  color:#fff!important;
}
.app-shell .p96-workspace .participant-editor-check small,
.app-shell .p96-grid .participant-editor-check small{
  color:var(--ct-shell-muted)!important;
}



/* ===== Step 161D — Exact Participant Profile Checklist Rows =====
   These rows are .p96-check directly inside the Preparation .p96-card,
   not participant-editor-check/readiness-person-check. */
.app-shell .p96-grid > .p96-card > .p96-check,
.app-shell .p96-grid > .p96-card > .p96-check.pending{
  background:var(--ct-panel-2)!important;
  border:1px solid var(--ct-panel-border)!important;
  color:#dce8ec!important;
}
.app-shell .p96-grid > .p96-card > .p96-check:not(.pending){
  background:#17372f!important;
  border-color:#315d50!important;
  color:#e4f3ec!important;
}
.app-shell .p96-grid > .p96-card > .p96-check.pending{
  background:#3b321f!important;
  border-color:#66572d!important;
  color:#f1d58a!important;
}
.app-shell .p96-grid > .p96-card > .p96-check input[type="checkbox"]{
  accent-color:var(--ct-accent);
}



/* ===== Step 161E — Dark Status Badges + Fuel Usage Traffic Lights ===== */
/* The white pill-shaped items visible in the screenshots are p96-badge
   status badges, not normal action buttons. Force all participant profile
   badges onto dark status surfaces. */
.app-shell .p96-hero .p96-badge,
.app-shell .p96-card .p96-badge,
.app-shell .p97-leg .p96-badge{
  background:#183846!important;
  border:1px solid #315464!important;
  color:#dcecf2!important;
  box-shadow:none!important;
}
.app-shell .p96-hero .p96-badge.warn,
.app-shell .p96-card .p96-badge.warn,
.app-shell .p97-leg .p96-badge.warn{
  background:#49382e!important;
  border-color:#72543c!important;
  color:#f1c28f!important;
}

/* Fuel graph = fuel required for that leg as percentage of tank capacity.
   <75% green, 75–100% orange, >100% red. */
.app-shell .p97-fuel-list .p97-fuelbar{
  height:8px!important;
  background:var(--ct-panel-3)!important;
  border:1px solid var(--ct-panel-border)!important;
  overflow:hidden!important;
}
.app-shell .p97-fuel-list .p97-fuelbar span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
}
.app-shell .p97-fuel-list .p97-fuelbar.green span{background:#3fa66f!important}
.app-shell .p97-fuel-list .p97-fuelbar.orange span{background:#d28a38!important}
.app-shell .p97-fuel-list .p97-fuelbar.red span{background:#cf4f4f!important}



/* ===== Step 162 — Selective Route Duplication + Waypoint Reordering ===== */
.app-shell .dup162-panel,.app-shell .route162-order{
  padding:18px;border:1px solid var(--ct-panel-border);border-radius:11px;background:var(--ct-panel);display:grid;gap:12px
}
.app-shell .dup162-head,.app-shell .route162-order-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.app-shell .dup162-head small,.app-shell .route162-order-head small{color:var(--ct-accent);font-size:9px;font-weight:900;letter-spacing:.8px}
.app-shell .dup162-head h2,.app-shell .route162-order-head h3{margin:4px 0;color:#fff}
.app-shell .dup162-head p,.app-shell .route162-order-head p{margin:0;color:var(--ct-shell-muted);font-size:10px}
.app-shell .dup162-name{display:grid;gap:5px}.app-shell .dup162-name label{font-size:10px;font-weight:800;color:#dce8ec}
.app-shell .dup162-name input{background:var(--ct-panel-2)!important;border:1px solid var(--ct-panel-border)!important;color:#fff!important}
.app-shell .dup162-tools,.app-shell .dup162-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.app-shell .dup162-waypoints{display:grid;gap:7px}
.app-shell .dup162-waypoint{
  display:grid;grid-template-columns:auto 28px 1fr;align-items:center;gap:9px;padding:10px 12px;
  border:1px solid var(--ct-panel-border);border-radius:9px;background:var(--ct-panel-2);color:#dce8ec
}
.app-shell .dup162-waypoint.selected{border-color:color-mix(in srgb,var(--ct-accent) 45%,var(--ct-panel-border));background:#17372f}
.app-shell .dup162-waypoint strong{display:block;color:#fff;font-size:11px}.app-shell .dup162-waypoint small{display:block;color:var(--ct-shell-muted);font-size:9px;margin-top:2px}
.app-shell .dup162-num{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--ct-panel-3);font-size:9px;font-weight:900}
.app-shell .dup162-error{padding:9px 11px;border:1px solid #72543c;border-radius:8px;background:#49382e;color:#f1c28f;font-size:10px}
.app-shell .route162-order{margin:14px 0}
.app-shell .route162-order-row{
  display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;
  border:1px solid var(--ct-panel-border);border-radius:8px;background:var(--ct-panel-2);color:#fff
}
.app-shell .route162-order-num{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--ct-panel-3);color:var(--ct-accent);font-size:9px;font-weight:900}
.app-shell .route162-order-actions{display:flex;gap:5px}.app-shell .route162-order-actions button{min-width:34px!important;padding:6px 8px!important}
.app-shell .route162-order-actions button:disabled{opacity:.3!important;cursor:not-allowed!important}
@media(max-width:650px){.app-shell .dup162-head{display:grid}.app-shell .route162-order-row{grid-template-columns:28px minmax(0,1fr) auto}}



/* ===== Step 163 — Trip Completion & History ===== */
.app-shell .trip163-section-title{margin:22px 0 12px;color:#e8f0f2;font:700 17px 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.3px}
.app-shell .trip163-section-title.history{margin-top:30px;color:var(--ct-shell-muted)}
.app-shell .trip-card.completed-trip{opacity:.92;border-color:#39515a}
.app-shell .trip-card.completed-trip .trip-card-top{background:linear-gradient(135deg,#24333a,#38515a)}
.app-shell .trip163-lifecycle.completed{border-color:#36594d!important;background:#17372f!important}
.app-shell .trip-hero.trip163-completed{border-color:#36594d!important}
.app-shell .trip-hero.trip163-completed .trip-kicker{color:#73c39b!important}



/* ===== Step 164 — Reports & PDF Packs ===== */
.app-shell .cmd164-report-actions{max-width:520px}
.app-shell .cmd164-report-actions .primary{min-width:180px}
@media(max-width:720px){.app-shell .cmd164-report-actions{width:100%}.app-shell .cmd164-report-actions button{width:100%}}



/* ===== Step 165 — Participant Trip Summary ===== */
.app-shell .p164d-report-card{margin-top:18px;padding:18px 20px;border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.app-shell .p164d-report-card h2{margin:4px 0 5px;color:#fff}.app-shell .p164d-report-card p{margin:0;color:var(--ct-shell-muted);max-width:700px}
.app-shell .p164d-config{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:14px;border-top:1px solid var(--ct-panel-border)}
.app-shell .p164d-config label{display:grid;gap:5px;color:var(--ct-shell-muted);font-size:10px}.app-shell .p164d-config input,.app-shell .p164d-config select{width:100%}
.app-shell .ga-settings-field textarea{width:100%;min-height:130px;resize:vertical}
@media(max-width:760px){.app-shell .p164d-config{grid-template-columns:1fr}.app-shell .p164d-report-card>.primary{width:100%}}



/* ===== Step 166B — Club Member Editor dark-surface repair =====
   Exact screen: Club & Members -> select a member to edit.
*/
.app-shell .club-member-editor{
  background:var(--ct-panel)!important;
  border-color:var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
  box-shadow:none!important;
}
.app-shell .club-member-editor .direct-member-section,
.app-shell .club-member-editor .participant-editor-readiness{
  background:transparent!important;
  border-color:var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .club-member-editor h3,
.app-shell .club-member-editor h4,
.app-shell .club-member-editor .info-label,
.app-shell .club-member-editor .account-field label,
.app-shell .club-member-editor .account-field span{
  color:var(--ct-shell-text)!important;
}
.app-shell .club-member-editor p,
.app-shell .club-member-editor small,
.app-shell .club-member-editor .member-editor-email{
  color:var(--ct-shell-muted)!important;
}
.app-shell .club-member-editor input,
.app-shell .club-member-editor select,
.app-shell .club-member-editor textarea,
.app-shell .club-member-editor .info-select,
.app-shell .club-member-editor .info-textarea{
  background:#0d293b!important;
  border-color:#315064!important;
  color:#f2f7f9!important;
  box-shadow:none!important;
}
.app-shell .club-member-editor input::placeholder,
.app-shell .club-member-editor textarea::placeholder{color:#8da5b2!important}
.app-shell .club-member-editor input:disabled,
.app-shell .club-member-editor select:disabled,
.app-shell .club-member-editor textarea:disabled{
  background:#102a3a!important;
  color:#a9bbc5!important;
  opacity:1!important;
}
.app-shell .club-member-editor .member-vehicle-editor,
.app-shell .club-member-editor .member-list-card{
  background:var(--ct-panel-2)!important;
  border-color:var(--ct-panel-border)!important;
  color:var(--ct-shell-text)!important;
}
.app-shell .club-member-editor .member-vehicle-editor input,
.app-shell .club-member-editor .member-vehicle-editor select,
.app-shell .club-member-editor .member-vehicle-editor textarea{
  background:#0d293b!important;
  border-color:#315064!important;
  color:#f2f7f9!important;
}
.app-shell .club-member-editor hr{border-color:var(--ct-panel-border)!important}



/* ===== Step 166H — Trip Dashboard card order ===== */
.app-shell .dashboard-files-below-convoy{margin-top:18px}
.app-shell .dashboard-files-below-convoy + .p164d-report-card{margin-top:18px}



/* ===== Step 166I — Dashboard two-column top + full-width map ===== */
.app-shell .trip-detail-grid{
  grid-template-columns:minmax(0,2fr) minmax(330px,1fr)!important;
  align-items:start!important;
}
.app-shell .trip-detail-grid > .trip-overview-card{
  grid-column:1!important;
  grid-row:1!important;
}
.app-shell .dashboard-side-stack{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-width:0!important;
}
.app-shell .dashboard-side-stack > .trip-detail-card,
.app-shell .dashboard-side-stack > .p164d-report-card{
  width:100%!important;
  margin:0!important;
  min-width:0!important;
}
.app-shell .dashboard-side-files .file-stat-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.app-shell .trip-map-card{
  width:100%!important;
  margin-top:18px!important;
}
.app-shell .trip-map-card .dashboard-route-map{
  width:100%!important;
}
@media(max-width:980px){
  .app-shell .trip-detail-grid{grid-template-columns:1fr!important}
  .app-shell .trip-detail-grid > .trip-overview-card,
  .app-shell .dashboard-side-stack{grid-column:1!important;grid-row:auto!important}
}



/* ===== Step 166J — UHF overview + visible trip leadership ===== */
.app-shell .dashboard-person-role-side{
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
  flex-direction:column!important;gap:5px!important;text-align:right!important
}
.app-shell .ct-leader-badge{
  display:inline-flex!important;align-items:center!important;width:max-content!important;
  border-radius:999px!important;padding:4px 8px!important;font-size:9px!important;
  line-height:1!important;font-weight:800!important;letter-spacing:.02em!important
}
.app-shell .ct-leader-badge.trip-leader{
  background:#174a3b!important;border:1px solid #2d8062!important;color:#bff1d8!important
}
.app-shell .ct-leader-badge.backup-leader{
  background:#49351d!important;border:1px solid #8b6530!important;color:#ffd89b!important
}
.app-shell .dashboard-person-vehicle-role{color:var(--ct-shell-muted)!important}



/* ===== Step 168 — Club Administration & Reporting ===== */
.app-shell .club168-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:7px;border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel)}
.app-shell .club168-nav-btn{border:1px solid transparent;background:transparent;color:var(--ct-shell-muted);border-radius:8px;padding:9px 12px;font-size:10px;font-weight:800;cursor:pointer}
.app-shell .club168-nav-btn:hover{background:var(--ct-panel-2);color:var(--ct-shell-text)}
.app-shell .club168-nav-btn.active{background:var(--ct-accent);color:#071d25}
.app-shell .club168-section{display:grid;gap:14px}
.app-shell .club168-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.app-shell .club168-stat{padding:15px;border:1px solid var(--ct-panel-border);border-radius:11px;background:var(--ct-panel)}
.app-shell .club168-stat small{display:block;color:var(--ct-shell-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.app-shell .club168-stat b{display:block;color:var(--ct-shell-text);font-size:24px;margin:5px 0 2px}
.app-shell .club168-stat span{font-size:9px;color:var(--ct-shell-muted)}
.app-shell .club168-panel{margin:0!important}
.app-shell .club168-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.app-shell .club168-panel-head h3,.app-shell .club168-report-card h3{margin:0 0 4px;color:var(--ct-shell-text)}
.app-shell .club168-panel-head p,.app-shell .club168-report-card p{margin:0;color:var(--ct-shell-muted)}
.app-shell .club168-op-row,.app-shell .club168-trip-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--ct-panel-border)}
.app-shell .club168-op-row:first-of-type,.app-shell .club168-trip-row:first-of-type{margin-top:10px}
.app-shell .club168-op-row strong,.app-shell .club168-trip-row strong{display:block;color:var(--ct-shell-text)}
.app-shell .club168-op-row span,.app-shell .club168-trip-row span{display:block;margin-top:3px;color:var(--ct-shell-muted);font-size:10px}
.app-shell .club168-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.app-shell .club168-report-card{margin:0!important;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:150px}
@media(max-width:900px){.app-shell .club168-stat-grid,.app-shell .club168-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.app-shell .club168-stat-grid,.app-shell .club168-report-grid{grid-template-columns:1fr}.app-shell .club168-nav{overflow-x:auto;flex-wrap:nowrap}.app-shell .club168-nav-btn{white-space:nowrap}}



/* ===== Step 169 — Advertising Production System ===== */
.app-shell .ad169-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:12px 0 14px}
.app-shell .ad169-stat-grid .account-stat span{display:block;margin-top:3px;font-size:9px;color:var(--ct-shell-muted)}
.app-shell .ad169-tools{display:grid;grid-template-columns:minmax(220px,1fr) 180px 240px;gap:9px;margin:0 0 14px}
.app-shell .ad169-tools input,.app-shell .ad169-tools select{background:var(--ct-panel)!important;border:1px solid var(--ct-panel-border)!important;color:var(--ct-shell-text)!important;border-radius:8px!important;padding:10px!important}
.app-shell .ad169-editor{margin-bottom:14px!important}
.app-shell .ad169-editor-head,.app-shell .ad169-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.app-shell .ad169-editor-head h3,.app-shell .ad169-title-row h3{margin:0}
.app-shell .ad169-editor-head p{margin:4px 0 0;color:var(--ct-shell-muted)}
.app-shell .ad169-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.04em;border:1px solid}
.app-shell .ad169-status.live{background:#173b31;border-color:#2e725d;color:#bfead7}
.app-shell .ad169-status.scheduled{background:#183846;border-color:#315464;color:#c9e8f2}
.app-shell .ad169-status.expired{background:#49351d;border-color:#7b5a2e;color:#ffd59a}
.app-shell .ad169-status.inactive{background:#2d3036;border-color:#4a5058;color:#c1c7ce}
.app-shell .ad169-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.app-shell .ad169-card-main{min-width:0;flex:1}
.app-shell .ad169-card-main p{margin:5px 0;color:var(--ct-shell-muted)}
.app-shell .ad169-performance{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--ct-panel-border)}
.app-shell .ad169-performance span{font-size:10px;color:var(--ct-shell-muted)}
.app-shell .ad169-performance b{color:var(--ct-shell-text);font-size:14px;margin-right:3px}
@media(max-width:1100px){.app-shell .ad169-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.app-shell .ad169-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .ad169-tools{grid-template-columns:1fr}.app-shell .ad169-card{align-items:stretch!important;flex-direction:column!important}}


/* ===== Step 170A — My Garage Vehicle Photos ===== */
.app-shell .garage170-photo{width:100%;height:150px;display:block;object-fit:cover;border-radius:10px 10px 0 0;background:var(--ct-panel-2)}
.app-shell .garage170-preview{width:180px;height:120px;display:block;object-fit:cover;border-radius:10px;border:1px solid var(--ct-panel-border);margin:6px 0 9px}
.app-shell .garage170-upload small{display:block;margin-top:6px;color:var(--ct-shell-muted);font-size:10px}


/* ===== Step 170A2 — Compact Garage Vehicle Thumbnails ===== */
.app-shell .garage-page-card .garage170-photo{
  width:72px!important;
  height:54px!important;
  max-width:72px!important;
  min-width:72px!important;
  object-fit:cover!important;
  border-radius:8px!important;
  border:1px solid var(--ct-panel-border)!important;
  margin:10px 0 0 10px!important;
  flex:0 0 72px!important;
  align-self:flex-start!important;
}
.app-shell .garage170-list-thumb{
  width:58px!important;
  height:44px!important;
  max-width:58px!important;
  min-width:58px!important;
  object-fit:cover!important;
}



/* ===== Step 170B1 — Participant Readiness Interaction Repair =====
   Legacy CSS disabled the entire readiness label outside trip edit mode.
   Only genuinely view-only rows are blocked now. */
.app-shell .readiness-v2:not(.editing) .readiness-person-check:not(.view-only){
  pointer-events:auto!important;
  cursor:pointer!important;
  opacity:1!important;
}
.app-shell .readiness-person-check:not(.view-only) input{
  pointer-events:auto!important;
  cursor:pointer!important;
}



/* ===== Step 170C — Waypoint-specific fuel stops ===== */
.app-shell .route170c-fuel-location{
  margin-top:3px;
  font-size:13px;
  font-weight:800;
  color:var(--ct-accent);
}



/* ===== Step 170C1 — Fuel Stop Location Contrast ===== */
.app-shell .route84-fuelbox .route84-fuelhead strong{
  color:#18333d!important;
}
.app-shell .route84-fuelbox .route170c-fuel-location{
  color:#18333d!important;
}



/* ===== Step 170D4 — True Category Cards with Selectable Child Items ===== */
.app-shell .ready170d4-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.app-shell .ready170d4-person{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel-2)}
.app-shell .ready170d4-person-id,.app-shell .ready170d4-person-right{display:flex;align-items:center;gap:8px;min-width:0}
.app-shell .ready170d4-person .participant-ready-avatar{width:32px!important;height:32px!important;font-size:10px!important}
.app-shell .ready170d4-pct{min-width:54px;padding:5px 6px;border:1px solid var(--ct-panel-border);border-radius:8px;background:var(--ct-panel-3);text-align:center}
.app-shell .ready170d4-pct b{display:block;color:#fff;font-size:13px;line-height:1}
.app-shell .ready170d4-pct small{display:block;color:var(--ct-shell-muted);font-size:7px;margin-top:2px}
.app-shell .ready170d4-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:14px;align-items:start}
.app-shell .ready170d4-card{border:1px solid var(--ct-panel-border);border-radius:12px;background:var(--ct-panel);overflow:hidden;min-height:135px}
.app-shell .ready170d4-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:11px 12px;background:var(--ct-panel-2);border-bottom:1px solid var(--ct-panel-border)}
.app-shell .ready170d4-card-head h3{margin:0;color:#fff;font-size:12px}
.app-shell .ready170d4-card-head small{display:block;margin-top:3px;color:var(--ct-shell-muted);font-size:8px}
.app-shell .ready170d4-add{border:1px solid var(--ct-panel-border);border-radius:7px;background:var(--ct-panel-3);color:#fff;font-size:8px;font-weight:800;padding:6px 8px;cursor:pointer;white-space:nowrap}
.app-shell .ready170d4-list{padding:6px 10px 9px}
.app-shell .ready170d4-row{display:flex;align-items:center;gap:7px;min-height:34px;border-top:1px solid color-mix(in srgb,var(--ct-panel-border) 70%,transparent)}
.app-shell .ready170d4-row:first-child{border-top:0}
.app-shell .ready170d4-check{display:flex;align-items:center;gap:8px;flex:1;padding:6px 0;cursor:pointer}
.app-shell .ready170d4-check input{width:16px;height:16px;accent-color:var(--ct-accent);cursor:pointer}
.app-shell .ready170d4-check strong,.app-shell .ready170d4-label strong{display:block;color:var(--ct-shell-text);font-size:9px}
.app-shell .ready170d4-check small,.app-shell .ready170d4-label small{display:block;color:var(--ct-shell-muted);font-size:7px;margin-top:1px}
.app-shell .ready170d4-check.selected strong{color:#d9fff0}
.app-shell .ready170d4-label{display:flex;align-items:center;gap:7px;flex:1;padding:6px 0}
.app-shell .ready170d4-label>span{color:var(--ct-accent)}
.app-shell .ready170d4-actions{display:flex;gap:4px}
.app-shell .ready170d4-actions button{min-height:24px!important;padding:3px 5px!important;font-size:7px!important}
.app-shell .ready170d4-remove{color:#ffb4a2!important}
.app-shell .ready170d4-empty{padding:12px 2px;color:var(--ct-shell-muted);font-size:8px}
.app-shell .p170d4-profile{display:grid;gap:10px}
.app-shell .p170d4-profile-head{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel)}
.app-shell .p170d4-profile-head>div:first-child{flex:1;min-width:0}
.app-shell .p170d4-profile-head h3{margin:0 0 2px;color:#fff;font-size:12px}
.app-shell .p170d4-profile-head p{margin:0;color:var(--ct-shell-muted);font-size:9px}
.app-shell .p170d4-profile-pct{flex:0 0 78px;padding:7px;border:1px solid var(--ct-panel-border);border-radius:9px;background:var(--ct-panel-2);text-align:center}
.app-shell .p170d4-profile-pct b{display:block;color:#fff;font-size:18px;line-height:1}
.app-shell .p170d4-profile-pct small{display:block;margin-top:3px;color:var(--ct-shell-muted);font-size:7px}
.app-shell .p170d4-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.app-shell .p170d4-profile-card{padding:9px 10px;border:1px solid var(--ct-panel-border);border-radius:10px;background:var(--ct-panel)}
.app-shell .p170d4-profile-card>h3{margin:0 0 5px;color:#fff;font-size:10px}
.app-shell .p170d4-profile-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:29px;border-top:1px solid color-mix(in srgb,var(--ct-panel-border) 70%,transparent);font-size:9px;color:var(--ct-shell-text)}
.app-shell .p170d4-profile-row:first-of-type{border-top:0}
.app-shell .p170d4-profile-row input{width:15px;height:15px;accent-color:var(--ct-accent)}
.app-shell .p170d4-profile-row input:not(:disabled){cursor:pointer}
.app-shell .p170d4-profile-row em{font-style:normal;font-size:7px;font-weight:900}
.app-shell .p170d4-profile-row em.has{color:#9de5c8}.app-shell .p170d4-profile-row em.missing{color:#d8a79b}
@media(max-width:650px){.app-shell .ready170d4-grid,.app-shell .p170d4-profile-grid{grid-template-columns:1fr}}



/* ===== Step 170D5 — Preparation Card Readability + New Categories ===== */
.app-shell .ready170d4-card-head h3{
  font-size:15px!important;
  line-height:1.3!important;
}
.app-shell .ready170d4-card-head small{
  font-size:10px!important;
  line-height:1.45!important;
}
.app-shell .ready170d4-check strong,
.app-shell .ready170d4-label strong{
  font-size:12px!important;
  line-height:1.35!important;
}
.app-shell .ready170d4-check small,
.app-shell .ready170d4-label small{
  font-size:9px!important;
  line-height:1.4!important;
}
.app-shell .ready170d4-row{
  min-height:42px!important;
}
.app-shell .ready170d4-actions button{
  min-height:28px!important;
  padding:4px 7px!important;
  font-size:9px!important;
}
.app-shell .ready170d4-add{
  font-size:10px!important;
  padding:7px 10px!important;
}
.app-shell .ready170d5-category-actions{
  display:flex;
  justify-content:flex-start;
  margin-top:14px;
}
.app-shell .ready170d5-category-actions .primary{
  min-height:36px;
  padding:8px 13px;
  font-size:10px;
}


/* Step 170D6C — preparation card layout */
.app-shell .ready170d4-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:14px!important;
}
@media(max-width:1100px){.app-shell .ready170d4-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.app-shell .ready170d4-grid{grid-template-columns:1fr!important}}
/* Step 170D6D — compact Trip Command Centre action cards */
.app-shell .cmd170d6d-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.app-shell .cmd170d6d-actions>.cmd161-reports{min-width:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;padding:16px}
.app-shell .cmd170d6d-actions .cmd161-report-actions{justify-content:flex-start;margin-top:auto;max-width:100%}
.app-shell .cmd170d6d-actions .cmd161-report-actions button{min-width:0;max-width:100%;white-space:normal}
@media(max-width:900px){.app-shell .cmd170d6d-actions{grid-template-columns:1fr}}
/* Step 171: club inventory and trip equipment loan cards. */
.eq171-panel{padding:20px;border:1px solid var(--ct-panel-border,#344955);border-radius:12px;background:var(--ct-panel,var(--app-card,#102b3c));color:var(--ct-shell-text,var(--app-text,#e4edf0));margin-top:14px;min-width:0}
.eq171-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.eq171-panel h2{font-size:19px;margin:0 0 6px;color:inherit}.eq171-panel h3{font-size:16px;margin:0;color:inherit}
.eq171-panel p{font-size:13px;line-height:1.5;margin:8px 0;color:inherit;opacity:.9}
.eq171-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}
.eq171-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--ct-panel-border,#344955);border-radius:10px;background:var(--ct-panel-2,var(--app-card,#183849));min-width:0;overflow-wrap:anywhere}
.eq171-card p{margin:0}.eq171-card small{font-size:11px;line-height:1.5}.eq171-notes{white-space:pre-wrap}
.eq171-status{font-size:11px;font-weight:700;padding:4px 8px;border-radius:20px;background:#19443c;color:#b8efcf}.eq171-status.loaned{background:#493e26;color:#f2d597}
.eq171-actions{display:flex;gap:8px;flex-wrap:wrap}.eq171-form{display:grid;gap:12px;padding:16px;margin-top:14px;border:1px solid var(--ct-panel-border,#344955);border-radius:10px}
.eq171-assignment{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.eq171-assignment .eq171-field:nth-child(3){grid-column:1/-1}
.eq171-field{display:grid;gap:6px;font-size:12px;min-width:0}.eq171-field input,.eq171-field select,.eq171-field textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border-radius:6px;border:1px solid var(--ct-panel-border,#52636c);background:var(--ct-panel-2,var(--app-card,#183849));color:inherit;font:inherit}.eq171-field textarea{min-height:70px;resize:vertical}
.eq171-panel button{white-space:normal;max-width:100%}.eq171-panel button:disabled{opacity:.5;cursor:not-allowed}.dashboard-side-stack .eq171-grid{grid-template-columns:1fr}
@media(max-width:1100px){.eq171-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.eq171-grid,.eq171-assignment{grid-template-columns:1fr}.eq171-head{flex-wrap:wrap}.eq171-panel{padding:14px}}

.eq171-history{margin-top:18px;border-top:1px solid var(--ct-panel-border,#344955);padding-top:14px}
.eq171-history summary{cursor:pointer;font-size:14px;font-weight:700;padding:6px 0}
.eq171-history-list{list-style:none;margin:0;padding:0}.eq171-history-list li{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--ct-panel-border,#344955);overflow-wrap:anywhere}
.eq171-history-list span,.eq171-history-list small{font-size:12px;line-height:1.5}
.ct153b-attention.ct171b-has-notifications{border:2px solid #d5a344!important;background:linear-gradient(135deg,rgba(213,163,68,.13),transparent),var(--ct-panel,#102b3c)!important}
.ct171b-status-flag{display:inline-block;padding:5px 8px;border-radius:12px;background:#49391c;color:#ffe1a1;font-size:11px;font-weight:800}
.ct171b-has-notifications .account-work-head{flex-wrap:wrap;gap:8px}.ct153b-attention-row span{overflow-wrap:anywhere}
.ready170d4-card-head{flex-wrap:wrap;gap:8px}.ready170d4-card-head>div{flex:1 1 140px}

/* Step171E: readable notification dropdown on every dashboard/theme. */
.app-shell .ct-notify-panel,.ct-notify-panel{background:#102b3c!important;color:#edf6fa!important;border-color:#385364!important;box-shadow:0 16px 38px rgba(0,0,0,.4);color-scheme:dark}
.app-shell .ct-notify-panel .ct-notify-head{color:#edf6fa!important;border-color:#385364!important}
.app-shell .ct-notify-panel .ct-notify-head strong,.ct-notify-panel .ct-notify-head strong{color:#edf6fa!important}
.app-shell .ct-notify-panel .ct-notify-head button,.ct-notify-panel .ct-notify-head button{color:#8ee0d2!important;background:transparent!important}
.app-shell .ct-notify-panel .ct-notify-item,.ct-notify-panel .ct-notify-item{background:transparent!important;color:#edf6fa!important;border-color:#385364!important}
.app-shell .ct-notify-panel .ct-notify-item.unread,.ct-notify-panel .ct-notify-item.unread{background:#1b3e50!important}
.app-shell .ct-notify-panel .ct-notify-item:hover,.ct-notify-panel .ct-notify-item:hover{background:#285167!important}
.app-shell .ct-notify-panel .ct-notify-item strong,.ct-notify-panel .ct-notify-item strong{color:#edf6fa!important}
.app-shell .ct-notify-panel .ct-notify-item span,.app-shell .ct-notify-panel .ct-notify-item small,.app-shell .ct-notify-panel .ct-notify-empty,.ct-notify-panel .ct-notify-item span,.ct-notify-panel .ct-notify-item small,.ct-notify-panel .ct-notify-empty{color:#c5d7e1!important}
.ct-notify-panel button:focus-visible{outline:2px solid #8ee0d2!important;outline-offset:-2px}

.notice172-detail h2{margin:10px 0;font-size:22px;overflow-wrap:anywhere}.notice172-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:15px}
.notice172-fields{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);gap:10px 16px;margin:20px 0}.notice172-fields dt{font-weight:700}.notice172-fields dd{margin:0;overflow-wrap:anywhere}
.notice172-list{margin-top:16px}.app-shell .notice172-list .ct-notify-item{color:#edf6fa!important;background:#102b3c!important;border-color:#385364!important}.app-shell .notice172-list .ct-notify-item.unread{background:#1b3e50!important}.app-shell .notice172-list .ct-notify-item span,.app-shell .notice172-list .ct-notify-item small{color:#c5d7e1!important}
.notice172-page .account-page-head{flex-wrap:wrap;gap:12px}.notice172-detail{max-width:950px}
@media(max-width:600px){.notice172-fields{grid-template-columns:1fr;gap:5px}.notice172-fields dd{margin-bottom:10px}}

/* Step172A: persistent loan colour and readable profile edit controls. */
.app-shell .ct153b-attention-row.ct172a-equipment-loan{background:#173f4b!important;border-left:4px solid #70dacc!important;padding:12px 10px;margin-top:8px;border-radius:8px;color:#e6faf6!important}
.app-shell .ct172a-equipment-loan b{background:#286071!important;color:#c9fff4!important}
.app-shell .ct172a-participant-profile .p96-action{background:#183e50!important;color:#9ce7dd!important;border-color:#507580!important}
.app-shell .ct172a-participant-profile .p96-action:hover{background:#285368!important;color:#fff!important}
.app-shell .ct172a-participant-profile .participant-editor input:not([type="checkbox"]),.app-shell .ct172a-participant-profile .participant-editor select,.app-shell .ct172a-participant-profile .participant-editor textarea{background:#153445!important;color:#edf6fa!important;border-color:#507580!important;color-scheme:dark}
.app-shell .ct172a-participant-profile .participant-editor input::placeholder,.app-shell .ct172a-participant-profile .participant-editor textarea::placeholder{color:#bed2dd!important;opacity:1}

.app-shell .ready172b-divider{border:0;border-top:2px solid var(--ct-panel-border,#507580);margin:28px 0 22px;width:100%}
.app-shell .ready172b-delete{color:#ffd0c9!important;background:#492e31!important;border-color:#935e60!important}
.app-shell .ready172b-delete:hover{background:#643a3e!important}

.ready172c-answer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--ct-panel-border,#385364);width:100%;box-sizing:border-box}
.ready172c-label{flex:1 1 140px;min-width:0}.ready172c-label strong{display:block}.ready172c-label small{display:block;margin-top:4px;line-height:1.45}
.ready172c-choices{display:flex;gap:6px}.app-shell .ready172c-choice{padding:7px 13px;background:#153445!important;color:#edf6fa!important;border:1px solid #507580!important;border-radius:6px;font-weight:700}
.app-shell .ready172c-choice.chosen{background:#285d59!important;color:#dcfff7!important;border-color:#8bddcb!important}.ready172c-choice:disabled{opacity:.65;cursor:default}
.ready172c-unanswered{width:100%;color:#efd297}.ready172c-result{font-weight:700}.ready172c-label{overflow-wrap:anywhere}
.fuel174{margin-top:22px;color:#e7f1f6}.fuel174 h3{font-size:22px;margin:0 0 6px}.fuel174-muted{color:#adc3d0;font-size:13px;line-height:1.5}.fuel174-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.fuel174-summary>div{background:#102f43;border:1px solid #325369;border-radius:12px;padding:16px}.fuel174 small{display:block;font-size:12px}.fuel174-summary strong{display:block;font-size:23px;margin-top:7px}.fuel174-assumptions{padding:14px;background:#10283a;border-radius:10px;font-size:13px;line-height:1.6;color:#bcd0dc}.fuel174-alert{border-left:4px solid #ff8f8f;padding:12px;background:#442934;color:#ffdbdb;line-height:1.5}.fuel174-card{--fuel-accent:#79ddbf;margin:16px 0;border:1px solid #35546a;border-left:5px solid var(--fuel-accent);border-radius:14px;padding:20px;background:#102b3e}.fuel174-card.reserve{--fuel-accent:#ffd17b}.fuel174-card.short{--fuel-accent:#ff9e9e}.fuel174-card.unknown{--fuel-accent:#c0cbd3}.fuel174-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.fuel174-head h4{font-size:21px;line-height:1.4;margin:7px 0;color:#f3f8fb}.fuel174-head small,.fuel174-head p{color:#b9cedb;margin:0;line-height:1.5}.fuel174-badge{color:var(--fuel-accent);background:#061d2a;border:1px solid var(--fuel-accent);padding:8px 10px;border-radius:20px;white-space:nowrap;font-size:12px;font-weight:bold}.fuel174-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.fuel174-metrics small{color:#b9cedb}.fuel174-metrics b{display:block;margin-top:6px;font-size:25px;color:#f3f8fb}.fuel174-meter{position:relative;height:12px;background:#061b28;border-radius:8px;margin:8px 0}.fuel174-meter span{display:block;background:var(--fuel-accent);height:100%;border-radius:8px}.fuel174-meter i{position:absolute;top:-4px;height:20px;width:2px;background:#fff}.fuel174-margin{color:var(--fuel-accent);font-weight:bold;font-size:14px;line-height:1.5;margin:14px 0 4px}.fuel174-refuel{font-size:14px;color:#d2e3ed;line-height:1.5}.fuel174-details{border-top:1px solid #35546a;padding-top:13px;margin-top:16px}.fuel174-details summary{cursor:pointer;color:#d6e7f1;font-size:14px}.fuel174-leg{padding:12px 0;border-bottom:1px solid #29475c}.fuel174-leg strong,.fuel174-leg span{display:block;font-size:13px;line-height:1.6}.fuel174-leg span{color:#adc3d0}@media(max-width:600px){.fuel174-summary{grid-template-columns:1fr}.fuel174-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.fuel174-summary strong{font-size:19px;margin:0}.fuel174-head{flex-direction:column}.fuel174-card{padding:15px}.fuel174-metrics{gap:8px}.fuel174-metrics b{font-size:21px}.fuel174-head h4{font-size:19px}}

.defaults175{max-width:1000px}.defaults175>p{line-height:1.6}.defaults175-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.defaults175-card{border:1px solid #36556b;border-radius:12px;padding:18px;margin:18px 0;background:#102d40}.defaults175-field{display:block;margin:10px 0}.defaults175-field>span{display:block;font-size:12px;margin-bottom:7px;color:#bfd3df}.defaults175 input:not([type=checkbox]),.defaults175 textarea,.defaults175 select{width:100%;box-sizing:border-box;background:#081f2f;color:#edf6fa;border:1px solid #446174;border-radius:7px;padding:10px;font:inherit}.defaults175 textarea{min-height:64px}.defaults175-item{border-top:1px solid #446174;padding:14px 0;margin-top:18px}.defaults175-required{display:block;margin:12px 0}.defaults175-message{padding:12px;border:1px solid #52768b;border-radius:8px;background:#17394c}.defaults175 summary{cursor:pointer;margin-bottom:12px}

.defaults175{max-width:none}.defaults175a-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start}.defaults175a-grid .defaults175-card{margin:0;padding:14px;min-width:0}.defaults175a-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.defaults175a-head h3{margin:0;font-size:17px;overflow-wrap:anywhere}.defaults175a-head button{color:#ffb7b7!important;flex-shrink:0}.defaults175a-grid .mode-btn{font-size:11px;padding:6px 8px;min-height:0}.defaults175a-note{color:#bdd0dc;font-size:12px;line-height:1.5}.defaults175a-row{display:flex;justify-content:space-between;align-items:start;gap:8px;border-top:1px solid #355368;padding:10px 0;margin-top:8px}.defaults175a-row>div{min-width:0}.defaults175a-row strong{font-size:13px;overflow-wrap:anywhere}.defaults175a-row small{display:block;color:#b3c9d7;font-size:11px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.defaults175a-grid .defaults175-actions{margin:10px 0 0}.defaults175a-grid .defaults175-field{margin:7px 0}.defaults175a-grid input:not([type=checkbox]),.defaults175a-grid textarea{padding:8px;font-size:13px}.defaults175a-grid textarea{min-height:48px}@media(max-width:650px){.defaults175a-grid{grid-template-columns:1fr}}
.app-shell .ga-page-tabs176b{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:12px;border:1px solid var(--app-line);border-radius:12px;background:var(--app-card)}
.app-shell .ga-page-tabs176b button{flex:0 1 auto;padding:10px 14px;border:1px solid var(--app-line);border-radius:8px;background:var(--app-card);color:var(--app-ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.app-shell .ga-page-tabs176b button:hover,.app-shell .ga-page-tabs176b button.active{background:var(--app-green);color:#fff;border-color:var(--app-green)}
.app-shell .ga-page-tabs176b button:focus-visible{outline:3px solid #d5a740;outline-offset:2px}
@media(max-width:600px){.app-shell .ga-page-tabs176b{gap:6px;padding:8px}.app-shell .ga-page-tabs176b button{flex:1 1 135px;padding:9px}}
.ga-club-role176d{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ga-club-role176d select{max-width:240px;padding:6px;color:var(--app-ink);background:var(--app-card);border:1px solid var(--app-line);border-radius:6px}.ga-club-role176d small{flex-basis:100%}

.site-copyright176e{box-sizing:border-box;width:100%;padding:18px 16px;text-align:center;font:400 12px/1.6 Arial,sans-serif;background:#071b29;color:#d6e5ed;border-top:1px solid #294557}.site-copyright176e a{color:#f1c96d;text-decoration:underline;text-underline-offset:3px}.site-copyright176e a:hover{color:#fff}.site-copyright176e a:focus-visible{outline:2px solid #f1c96d;outline-offset:4px}

.map-frame177{margin-top:14px;background:#071b29;border:1px solid #294557;border-radius:12px;overflow:hidden}
.map-controls177{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;background:#071b29;color:#e4eef4;font:14px Arial,sans-serif}
.map-controls177 button{min-height:44px;padding:10px 14px;border:1px solid #55778c;border-radius:7px;background:#12364d;color:#fff;font:700 13px Arial,sans-serif;cursor:pointer}
.map-controls177 button[aria-pressed="true"]{background:#f1c96d;color:#071b29}
.map-controls177 button:focus-visible{outline:3px solid #f1c96d;outline-offset:2px}
.map-controls177 .ct-gps-status{color:#d6e5ed;margin:0;font-size:12px}
.map-frame177 #navigation-map{margin-top:0!important;border-radius:0}
.map-frame177.map-fullscreen177{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;z-index:2147483000;margin:0!important;border:0;border-radius:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}
.map-fullscreen177 .map-controls177{flex:0 0 auto}
.map-fullscreen177 #navigation-map{flex:1 1 0;height:0!important;min-height:0!important;width:100%}
@media(max-width:600px){.map-controls177{gap:6px;padding:8px}.map-controls177 button{padding:9px 10px}.map-controls177 .ct-gps-status{flex-basis:100%}}

.fuel-leg-link177e{cursor:pointer}.fuel-leg-link177e:hover{box-shadow:0 0 0 2px #779bad}.fuel-leg-link177e:focus-visible{outline:3px solid #f1c96d;outline-offset:3px}

.app-shell .participant-attention177f{background:#fff0c2!important;border:2px solid #e5a72b!important;color:#33250b!important}.app-shell .participant-attention177f h3,.app-shell .participant-attention177f button{color:#33250b!important}.participant-attention177f:focus{outline:3px solid #f1c96d;outline-offset:4px}.participant-update-link177f{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;text-align:left;font:inherit;min-height:38px;cursor:pointer;padding:5px 0}.participant-update-link177f:focus-visible{outline:2px solid #805400;outline-offset:2px}

#app-root #participant-updates177f.participant-attention177f{background:#103047!important;border:2px solid #e5a72b!important;color:#f3f7fa!important}
#app-root #participant-updates177f.participant-attention177f h3,#app-root #participant-updates177f.participant-attention177f li{color:#f3f7fa!important}
#app-root #participant-updates177f .participant-update-link177f{color:#ffda80!important;background:transparent!important}
#app-root #participant-updates177f .participant-update-link177f:hover{color:#fff!important}
#app-root #participant-updates177f .participant-update-link177f:focus-visible{outline:2px solid #ffda80;outline-offset:3px}

.docs179{margin:14px 0}.docs179-upload{display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid #55778c;border-radius:10px}.docs179-upload input{max-width:100%;padding:10px}.docs179-trips{display:grid;gap:9px;max-height:240px;overflow:auto}.docs179-trips label{display:flex;align-items:center;gap:9px}.docs179-trips input{width:20px;height:20px}.docs179-file{margin-top:12px;overflow-wrap:anywhere}.docs179-file button{margin:4px}.docs179-saved{color:#91e5b3!important}.docs179 h1,.docs179 h3{margin-top:0}
/* Club profile section cards: match the dark theme (were cream with white text) */
.app-shell .club-profile-section{background:rgba(255,255,255,.04);border-color:var(--ct-panel-border);color:var(--ct-shell-text)}
.app-shell .club-profile-section h4{color:var(--ct-shell-text)}
.app-shell .club-profile-section label,.app-shell .club-profile-section .ga-field span{color:var(--ct-shell-muted)}
.ct-record-picker180a{background:#102e43!important;color:#edf7ff!important;border:1px solid #54748a;border-radius:12px;padding:16px;margin:12px 0}
.ct-record-picker180a label{display:block;color:#edf7ff!important;font-weight:600}
.ct-record-picker180a select,.ct-record-picker180a input{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px;background:#183e56!important;color:#fff!important;border:1px solid #7593a7!important;border-radius:7px;color-scheme:dark}
.ct-record-picker180a select option{background:#183e56!important;color:#fff!important}
.ct-record-picker180a .club168-trip-row,.ct-record-picker180a .ga-manage-row,.ct-record-picker180a .member-list-card,.ct-record-picker180a .member-list-row{background:#102e43!important;color:#edf7ff!important;display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.ct-record-picker180a strong,.ct-record-picker180a b,.ct-record-picker180a .member-name{color:#fff!important}
.ct-record-picker180a span,.ct-record-picker180a small,.ct-record-picker180a .member-detail{color:#cce2f1!important}
.ct-record-picker180a button{background:#214b65!important;color:#fff!important;border:1px solid #7593a7!important;padding:9px 12px;border-radius:7px}
.ct-record-picker180a button.exit,.ct-record-picker180a .ga-remove-record{background:#702d36!important;color:#fff!important;border-color:#d38b92!important}
.ct-record-picker180a .member-role{background:#214b65!important;color:#fff!important;border:1px solid #7593a7}.ct-record-picker180a .club168-trip-row>div:first-child>span{display:block;margin-top:5px}
.ct-record-picker180a button:hover{filter:brightness(1.2)}.ct-record-picker180a :focus-visible{outline:3px solid #ffd27c;outline-offset:3px}
.ct-record-editor180a{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap;align-items:end}.ct-record-editor180a label{flex:1;min-width:180px}
.notice-invitation180c{padding:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.notice-invitation180c p{flex-basis:100%;color:#e7f5ff!important;margin:0}.notice-invitation180c{background:#12374b;border-radius:8px}.notice-invitation180c button{background:#236849!important;color:#fff!important;border:1px solid #7acaa2!important;padding:10px 16px;border-radius:7px;font-weight:700}.notice-invitation180c button:disabled{opacity:.6}.notice-invitation-row180c{margin-bottom:8px}.notice-invitation-row180c>.ct-notify-item{width:100%}
.cmd-delete-footer180g{margin-top:32px;padding-top:18px;border-top:1px solid #577184;display:flex;justify-content:flex-end}.cmd-delete-footer180g .cmd-delete-small180g{flex:none;width:auto!important;min-height:32px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.3;background:#492e35!important;color:#ffdae0!important;border:1px solid #a77780!important;border-radius:6px}

/* ===== Light workspace: auto-flipped dark-theme rules ===== */
.ga-dup-reason{color:#475569!important;}.ga-orphan-status{color:#475569!important;}.ga-count-marker>div{background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.ga-state-count-marker>div{color:#0F172A!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.ga-town-marker>div{background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell{background:#fff!important;color:#0F172A!important;}.app-shell .app-breadcrumbs,.app-shell .app-breadcrumbs button,.app-shell .app-breadcrumbs strong{color:#475569!important;}.app-shell .app-breadcrumbs strong{color:#0F172A!important;}.app-shell .account-user{color:#475569!important;}.app-shell .account-user b{color:#0F172A!important;}.app-shell .top-signout{color:#475569!important;}.app-shell .ct-notify-bell{background:#fff!important;color:#0F172A!important;}.app-shell .account-page-head h1{color:#0F172A!important;}.app-shell .account-page-head p,.app-shell .account-muted{color:#475569!important;}.app-shell .account-work-card,
.app-shell .account-stat,
.app-shell .dashboard-trip-card,
.app-shell .garage-page-card,
.app-shell .account-profile,
.app-shell .club-admin-card{background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;color:#0F172A!important;}.app-shell .account-stat small,.app-shell .trip-fact small,.app-shell .stat-label{color:#475569!important;}.app-shell .account-stat b{color:#0F172A!important;}.app-shell .ct-past-count{color:#475569!important;}.app-shell .account-work-head h2,.app-shell .account-work-card h2,.app-shell .account-work-card h3{color:#0F172A!important;}.app-shell .dashboard-trip-card:hover{background:#fff!important;}.app-shell .dashboard-trip-card h3{color:#0F172A!important;}.app-shell .dashboard-trip-card p,.app-shell .dashboard-trip-date,.app-shell .ct-trip-club-name{color:#475569!important;}.app-shell .mode-btn:not(.exit),.app-shell .account-work-head button{background:#fff!important;color:#0F172A!important;}.app-shell input,.app-shell select,.app-shell textarea{background:#fff!important;color:#0F172A!important;border:1px solid #E2E8F0!important;}.app-shell select option{background:#fff!important;color:#0F172A!important;}.app-shell .account-field label{color:#475569!important;}.app-shell .past-trips summary{color:#475569!important;}.app-shell .garage-card,.app-shell .garage-page-card{color:#0F172A!important;}.app-shell .garage-card-icon{background:#fff!important;color:#0F172A!important;}.app-shell .trip-fact,.app-shell .stat-card,.app-shell .p96-card{color:#0F172A!important;}.app-shell .trip-detail-card{background:#fff!important;color:#0F172A!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .trip-card-head small,.app-shell .p96-sub,.app-shell .muted{color:#475569!important;}.app-shell .ct-sponsor-card{border-color:#E2E8F0!important;}.ct153b-hero{box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.ct153b-hero h2{color:#0F172A!important;}.ct153b-hero p{color:#475569!important;}.ct153b-hero-meta span{border:1px solid #E2E8F0!important;background:#fff!important;color:#0F172A!important;}.ct153b-hero-visual:before,.ct153b-hero-visual:after{border:1px solid #E2E8F0!important;}.ct153b-route-line span{background:#fff!important;}.ct153b-hero-visual strong{color:#0F172A!important;}.ct153b-hero-visual small{color:#475569!important;}.ct153b-stat-icon{background:#fff!important;}.ct153b-garage-row strong{color:#0F172A!important;}.ct153b-garage-row small{color:#475569!important;}.ct153b-vehicle-badge{background:#fff!important;color:#0F172A!important;}.ct153b-attention-row{color:#0F172A!important;}.ct153b-attention-row i{color:#475569!important;}.ct153b-all-clear strong{color:#0F172A!important;}.ct153b-all-clear small{color:#475569!important;}.app-shell .trip-detail-dashboard .trip-hero.detailed{background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .trip-detail-dashboard .trip-hero.detailed h1{color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-dates{color:#475569!important;}.app-shell .trip-detail-dashboard .stat-card{background:#fff!important;}.app-shell .trip-detail-dashboard .stat-label{color:#475569!important;}.app-shell .trip-detail-dashboard .stat-value{color:#0F172A!important;}.app-shell .trip-detail-dashboard .stat-sub{color:#475569!important;}.app-shell .trip-detail-dashboard .trip-detail-card{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-card-head h2,.app-shell .trip-detail-dashboard .trip-card-head h3{color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-hero-summary{color:#475569!important;}.app-shell .trip-detail-dashboard .trip-hero-summary.muted{color:#475569!important;}.app-shell .trip-detail-dashboard .trip-fact{background:#fff!important;}.app-shell .trip-detail-dashboard .trip-fact small{color:#475569!important;}.app-shell .trip-detail-dashboard .trip-fact b{color:#0F172A!important;}.app-shell .trip-detail-dashboard .dashboard-chip-list span{background:#fff!important;color:#475569!important;}.app-shell .trip-detail-dashboard .fuel-alert{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .fuel-alert strong{color:#0F172A!important;}.app-shell .trip-detail-dashboard .vehicle-mini b{color:#0F172A!important;}.app-shell .trip-detail-dashboard .vehicle-mini span{color:#475569!important;}.app-shell .trip-detail-dashboard .info-textarea,.app-shell .trip-detail-dashboard .info-select{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .ct-vehicle-type-option{color:#0F172A!important;}.app-shell .route-planner-head{background:#fff!important;}.app-shell .route-planner-head h2{color:#0F172A!important;}.app-shell .route-planner-head p{color:#475569!important;}.app-shell .route-view-switch{background:#fff!important;}.app-shell .route-view-switch button{color:#475569!important;}.app-shell .route-day{box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .route-day-badge{background:#fff!important;color:#0F172A!important;}.app-shell .vehicle-head,.app-shell .ready-head{background:#fff!important;}.app-shell .vehicle-head h2,.app-shell .ready-head h2{color:#0F172A!important;}.app-shell .vehicle-head p,.app-shell .ready-head p{color:#475569!important;}.app-shell .participant-list-card,.app-shell .member-list-card{background:#fff!important;color:#0F172A!important;}.app-shell .participant-list-main .member-name,.app-shell .participant-list-card .member-name{color:#0F172A!important;}.app-shell .participant-list-main .member-detail,.app-shell .participant-view-label{color:#475569!important;}.app-shell .participant-card-actions .participant-edit-btn{color:#0F172A!important;}.app-shell .participant-add-heading strong{color:#0F172A!important;}.app-shell .participant-add-heading span,.app-shell .participant-no-candidates{color:#475569!important;}.app-shell .participant-editor{background:#fff!important;color:#0F172A!important;}.app-shell .participant-editor-head h3{color:#0F172A!important;}.app-shell .participant-editor-head p,.app-shell .participant-editor-note{color:#475569!important;}.app-shell .participant-editor .account-field label{color:#0F172A!important;}.app-shell .participant-editor input,.app-shell .participant-editor select,.app-shell .participant-editor textarea,
.app-shell .member-role{background:#fff!important;color:#0F172A!important;}.app-shell .ready-stat{background:#fff!important;}.app-shell .ready-stat small{color:#475569!important;}.app-shell .ready-stat b{color:#0F172A!important;}.app-shell .ready-overview-head h3{color:#0F172A!important;}.app-shell .ready-overview-head p{color:#475569!important;}.app-shell .participant-ready-card{box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .readiness-item-row{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-item-row h3,.app-shell .readiness-item-row strong{color:#0F172A!important;}.app-shell .readiness-item-row p,.app-shell .readiness-item-row small{color:#475569!important;}.app-shell .readiness-person{color:#0F172A!important;}.app-shell .readiness-item-row input,.app-shell .readiness-item-row select,.app-shell .readiness-item-row textarea,
.app-shell .ready-add-form input,.app-shell .ready-add-form select,.app-shell .ready-add-form textarea{background:#fff!important;color:#0F172A!important;}.app-shell .ready-add-form{background:#fff!important;color:#0F172A!important;}.app-shell .ready-add-form h3{color:#0F172A!important;}.app-shell .account-page>.account-page-head,
.app-shell .docs-head,.app-shell .fuel-screen-head{background:#fff!important;}.app-shell .account-page>.account-page-head h1,.app-shell .docs-head h2,.app-shell .fuel-screen-head h2{color:#0F172A!important;}.app-shell .account-page>.account-page-head p,.app-shell .docs-head p,.app-shell .fuel-screen-head p{color:#475569!important;}.app-shell .garage-page-card{background:#fff!important;color:#0F172A!important;}.app-shell .garage-card-icon{background:#fff!important;}.app-shell .garage-card-body h2{color:#0F172A!important;}.app-shell .garage-card-body p,.app-shell .garage-card-meta{color:#475569!important;}.app-shell .garage-editor .club-create-card{background:#fff!important;color:#0F172A!important;}.app-shell .garage-editor h3{color:#0F172A!important;}.app-shell .garage-editor label{color:#0F172A!important;}.app-shell .garage-editor input,.app-shell .garage-editor select,.app-shell .garage-editor textarea{background:#fff!important;color:#0F172A!important;}.app-shell .account-club-select,.app-shell .club-profile-admin,.app-shell .theme-admin-card,
.app-shell .account-profile{background:#fff!important;color:#0F172A!important;}.app-shell .account-club-select label,.app-shell .club-profile-admin h2,.app-shell .club-profile-admin h3,
.app-shell .theme-admin-card h3,.app-shell .account-profile h2,.app-shell .account-profile h3{color:#0F172A!important;}.app-shell .account-club-select select,.app-shell .club-profile-admin input,.app-shell .club-profile-admin select,
.app-shell .club-profile-admin textarea,.app-shell .account-profile input,.app-shell .account-profile select{background:#fff!important;color:#0F172A!important;}.app-shell .club-profile-section p,.app-shell .theme-admin-head p,.app-shell .account-profile p,
.app-shell .account-club-switch p,.app-shell .ct-membership-list{color:#475569!important;}.app-shell .theme-choice{background:#fff!important;color:#0F172A!important;}.app-shell .member-list-card:not(.participant-list-card){background:#fff!important;color:#0F172A!important;}.app-shell .member-list-card:not(.participant-list-card) .member-name{color:#0F172A!important;}.app-shell .member-list-card:not(.participant-list-card) .member-detail{color:#475569!important;}.app-shell .fuel-summary-card{background:#fff!important;color:#0F172A!important;}.app-shell .fuel-summary-card small{color:#475569!important;}.app-shell .fuel-summary-card b{color:#0F172A!important;}.app-shell .fuel-stop-card{box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .fuel-stop-num{background:#fff!important;color:#0F172A!important;}.app-shell .docs-stat{background:#fff!important;color:#0F172A!important;}.app-shell .docs-stat small{color:#475569!important;}.app-shell .docs-stat b{color:#0F172A!important;}.app-shell .docs-panel{background:#fff!important;color:#0F172A!important;}.app-shell .docs-panel h3,.app-shell .docs-panel strong{color:#0F172A!important;}.app-shell .docs-panel p,.app-shell .docs-note{color:#475569!important;}.app-shell .docs-cat-item{background:#fff!important;color:#0F172A!important;}.app-shell .docs-cat-item strong{color:#0F172A!important;}.app-shell .docs-cat-item small{color:#475569!important;}.app-shell .docs-panel input,.app-shell .docs-panel select,.app-shell .docs-panel textarea{background:#fff!important;color:#0F172A!important;}.app-shell .docs-empty{background:#fff!important;color:#475569!important;}.app-shell .ct-local-sponsors>.account-work-head h2{color:#0F172A!important;}.app-shell .ct-sponsor-card{box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .ga-page{color:#0F172A!important;}.app-shell .ga-head{background:#fff!important;}.app-shell .ga-head h1{color:#0F172A!important;}.app-shell .ga-head p{color:#475569!important;}.app-shell .ga-nav{background:#fff!important;}.app-shell .ga-nav button{color:#475569!important;}.app-shell .ga-stat{background:#fff!important;color:#0F172A!important;}.app-shell .ga-stat small{color:#475569!important;}.app-shell .ga-stat b{color:#0F172A!important;}.app-shell .ga-tools input,.app-shell .ga-tools select,.app-shell .ga-detail input,.app-shell .ga-detail select,
.app-shell .ga-detail textarea,.app-shell .ga-ad-form input,.app-shell .ga-ad-form select,.app-shell .ga-ad-form textarea,
.app-shell .ga-field input,.app-shell .ga-field select,.app-shell .ga-field textarea{background:#fff!important;color:#0F172A!important;}.app-shell .ga-row,.app-shell .ga-manage-row,.app-shell .ga-membership{background:#fff!important;color:#0F172A!important;}.app-shell .ga-row strong,.app-shell .ga-manage-row strong,.app-shell .ga-detail h2,.app-shell .ga-detail h3,
.app-shell .ga-advertising h2,.app-shell .ga-geo h2{color:#0F172A!important;}.app-shell .ga-row small,.app-shell .ga-created,.app-shell .ga-detail p,.app-shell .ga-orphan-note,
.app-shell .ga-ad-scope-note,.app-shell .ga-geo-intro{color:#475569!important;}.app-shell .ga-danger{background:#fff!important;color:#0F172A!important;}.app-shell .account-page .member-list-card,
.app-shell .account-page .member-list-row{background:#fff!important;color:#0F172A!important;}.app-shell .account-page .member-list-card .member-name,
.app-shell .account-page .member-list-card strong{color:#0F172A!important;}.app-shell .account-page .member-list-card .member-detail,
.app-shell .account-page .member-list-card small{color:#475569!important;}.app-shell .account-page .member-list-card .mode-btn{background:#fff!important;color:#0F172A!important;}.app-shell .docs-panel .doc-icon{background:#fff!important;}.app-shell .route84-toolbar{background:#fff!important;}.app-shell .route84-toolbar-note{color:#475569!important;}.app-shell .route84-toolbar-actions .mode-btn{background:#fff!important;color:#0F172A!important;}.app-shell .participant-list-card,
.app-shell .member-list-card.participant-list-card{background:#fff!important;color:#0F172A!important;}.app-shell .participant-list-card .member-name{color:#0F172A!important;}.app-shell .participant-list-card .member-detail,
.app-shell .participant-list-card .participant-view-label{color:#475569!important;}.app-shell .participant-list-card select{background:#fff!important;color:#0F172A!important;}.app-shell .participant-ready-card,
.app-shell .participant-ready-card.is-ready{background:#fff!important;color:#0F172A!important;}.app-shell .participant-ready-avatar{background:#fff!important;}.app-shell .participant-ready-name strong,
.app-shell .participant-ready-progress b{color:#0F172A!important;}.app-shell .participant-ready-name span,
.app-shell .participant-ready-vehicle,
.app-shell .participant-ready-missing small{color:#475569!important;}.app-shell .participant-ready-badge{background:#fff!important;color:#0F172A!important;}.app-shell .participant-ready-badge.complete{background:#fff!important;color:#475569!important;}.app-shell .participant-ready-bar{background:#fff!important;}.app-shell .participant-ready-tags span{background:#fff!important;color:#475569!important;}.app-shell .participant-ready-all{color:#475569!important;}.app-shell .participant-ready-card .mode-btn{background:#fff!important;color:#0F172A!important;}.app-shell .ready-panel,
.app-shell .ready-panel-head,
.app-shell .readiness-card-grid{color:#0F172A!important;}.app-shell .ready-panel-head{background:#fff!important;}.app-shell .ready-panel-head h3{color:#0F172A!important;}.app-shell .ready-panel-head p{color:#475569!important;}.app-shell .readiness-item-row,
.app-shell .readiness-item-info,
.app-shell .readiness-people{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-item-info strong{color:#0F172A!important;}.app-shell .readiness-item-info p{color:#475569!important;}.app-shell .readiness-required-tag{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-required-tag.optional{background:#fff!important;color:#475569!important;}.app-shell .readiness-person{background:#fff!important;color:#0F172A!important;}.app-shell .docs-panel button.mode-btn,
.app-shell .ready-panel button.mode-btn{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-detail-card .doc-stat,
.app-shell .trip-detail-dashboard .trip-detail-card .document-stat,
.app-shell .trip-detail-dashboard .trip-detail-card .trip-doc-stat,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"]{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] b,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] strong{color:#0F172A!important;}.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] small,
.app-shell .trip-detail-dashboard .trip-detail-card [class*="doc-stat"] span{color:#475569!important;}.app-shell .p96-list-card,
.app-shell .p96-card,
.app-shell .p96-hero{background:#fff!important;color:#0F172A!important;}.app-shell .p96-list-card .p96-name,
.app-shell .p96-list-card strong,
.app-shell .p96-card h3,
.app-shell .p96-card strong,
.app-shell .p96-hero strong{color:#0F172A!important;}.app-shell .p96-list-card .p96-sub,
.app-shell .p96-list-card .p96-open,
.app-shell .p96-card .p96-muted,
.app-shell .p96-hero .p96-sub{color:#475569!important;}.app-shell .p96-list-card .p96-vehicle{color:#0F172A!important;}.app-shell .p96-list-card .p96-avatar,
.app-shell .p96-hero .p96-avatar{background:#fff!important;color:#0F172A!important;}.app-shell .p96-list-card .p96-badge,
.app-shell .p96-card .p96-badge{background:#fff!important;color:#0F172A!important;}.app-shell .p96-list-card .p96-badge.warn,
.app-shell .p96-card .p96-badge.warn{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-person-check,
.app-shell .readiness-person-check.checked{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-person-check.checked{background:#fff!important;}.app-shell .readiness-person-check span{color:#0F172A!important;}.app-shell .trip-detail-card .docs-summary .docs-stat{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-card .docs-summary .docs-stat b{color:#0F172A!important;}.app-shell .trip-detail-card .docs-summary .docs-stat small{color:#475569!important;}.app-shell .trip-detail-dashboard .file-stat-grid > div{background:#fff!important;color:#0F172A!important;}.app-shell .trip-detail-dashboard .file-stat-grid > div b,
.app-shell .trip-detail-dashboard .file-stat-grid > div strong{color:#0F172A!important;}.app-shell .trip-detail-dashboard .file-stat-grid > div small,
.app-shell .trip-detail-dashboard .file-stat-grid > div span{color:#475569!important;}.app-shell .p96-list .p96-person{background:#fff!important;color:#0F172A!important;}.app-shell .p96-list .p96-person:hover{background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .p96-person .p96-name,
.app-shell .p96-person .p96-vehicle strong{color:#0F172A!important;}.app-shell .p96-person .p96-sub,
.app-shell .p96-person .p96-open{color:#475569!important;}.app-shell .p96-person .p96-vehicle{color:#0F172A!important;}.app-shell .p96-person .p96-avatar{background:#fff!important;color:#0F172A!important;}.app-shell .p96-person .p96-badge{background:#fff!important;color:#0F172A!important;}.app-shell .p96-person .p96-badge.warn{background:#fff!important;color:#0F172A!important;}.app-shell .p96-person .ct-vehicle-suitability.good{color:#475569!important;}.app-shell .p96-person .ct-vehicle-suitability.neutral{color:#475569!important;}.app-shell .p96-tabs button{color:#475569!important;}.app-shell .p96-tabs button:hover{color:#0F172A!important;background:#fff!important;}.app-shell .p96-tabs button.active{color:#0F172A!important;background:#fff!important;}.app-shell .p96-card .p96-status-grid .p96-check,
.app-shell .p96-status-grid .p96-check{background:#fff!important;color:#0F172A!important;}.app-shell .p96-card .p96-status-grid .p96-check.pending,
.app-shell .p96-status-grid .p96-check.pending{background:#fff!important;color:#0F172A!important;}.app-shell .p98b-danger{background:#fff!important;color:#0F172A!important;}.app-shell .p98b-remove{background:#fff!important;color:#0F172A!important;}.app-shell .p98b-remove:hover:not(:disabled){background:#fff!important;color:#0F172A!important;}.app-shell .account-muted,
.app-shell .p96-muted,
.app-shell .trip-hero-summary.muted{color:#475569!important;}.app-shell .p96-tabs button{color:#475569!important;}.app-shell .p96-tabs button:hover{color:#0F172A!important;background:#fff!important;}.app-shell .p96-tabs button.active{color:#0F172A!important;background:#fff!important;}.app-shell .p96-status-grid .p96-check{background:#fff!important;color:#0F172A!important;}.app-shell .p96-status-grid .p96-check.pending{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-person-check,
.app-shell .readiness-person-check.checked{background:#fff!important;color:#0F172A!important;}.app-shell .readiness-person-check.checked{background:#fff!important;}.app-shell .file-stat-grid>div,
.app-shell .docs-panel .doc-row,
.app-shell .docs-panel .docs-cat-item{background:#fff!important;color:#0F172A!important;}.app-shell .file-stat-grid>div b,
.app-shell .file-stat-grid>div strong,
.app-shell .docs-panel .doc-row strong{color:#0F172A!important;}.app-shell .file-stat-grid>div small,
.app-shell .file-stat-grid>div span,
.app-shell .docs-panel .doc-row span{color:#475569!important;}.app-shell .member-list-card,
.app-shell .member-list-row{background:#fff!important;color:#0F172A!important;}.app-shell .member-list-card strong,
.app-shell .member-list-card .member-name{color:#0F172A!important;}.app-shell .member-list-card small,
.app-shell .member-list-card .member-detail{color:#475569!important;}.app-shell .route84-toolbar-note{color:#475569!important;}.app-shell .p98b-danger{background:#fff!important;color:#0F172A!important;}.app-shell .support-card{background:#fff!important;color:#0F172A!important;}.app-shell .support-card-head h2{color:#0F172A!important;}.app-shell .support-card-head p{color:#475569!important;}.app-shell .support-account-field{background:#fff!important;}.app-shell .support-account-field small{color:#475569!important;}.app-shell .support-account-field strong{color:#0F172A!important;}.app-shell .support-issue-field label{color:#0F172A!important;}.app-shell .support-issue-field textarea{background:#fff!important;color:#0F172A!important;}.app-shell .support-issue-field textarea::placeholder{color:#475569!important;}.app-shell .support-issue-field>small{color:#475569!important;}.app-shell .support-error{background:#fff!important;color:#0F172A!important;}.app-shell .support-success{background:#fff!important;color:#475569!important;}.app-shell .help-category{background:#fff!important;color:#0F172A!important;}.app-shell .help-category-head h2{color:#0F172A!important;}.app-shell .help-category-head p{color:#475569!important;}.app-shell .help-count{background:#fff!important;color:#0F172A!important;}.app-shell .help-article{background:#fff!important;}.app-shell .help-article-body{color:#475569!important;}.app-shell .help-article-body p{color:#475569!important;}.app-shell .help-empty{background:#fff!important;color:#475569!important;}.app-shell .help-empty strong{color:#0F172A!important;}.app-shell .ga-help-head h2,.app-shell .ga-help-panel h3{color:#0F172A!important;}.app-shell .ga-help-head p,.app-shell .ga-help-note{color:#475569!important;}.app-shell .ga-help-panel{background:#fff!important;color:#0F172A!important;}.app-shell .ga-help-category-add input,
.app-shell .ga-help-editor input,
.app-shell .ga-help-editor select,
.app-shell .ga-help-editor textarea{background:#fff!important;color:#0F172A!important;}.app-shell .ga-help-category-row,.app-shell .ga-help-article-row{background:#fff!important;}.app-shell .ga-help-category-row strong,.app-shell .ga-help-article-row strong{color:#0F172A!important;}.app-shell .ga-help-category-row small,.app-shell .ga-help-article-row small,.app-shell .ga-help-category-row>span{color:#475569!important;}.app-shell .ga-help-editor-grid label{color:#0F172A!important;}.app-shell .trip-workflow-bar{background:#fff!important;}.app-shell .trip-workflow-label strong{color:#0F172A!important;}.app-shell .trip-workflow-label span{color:#475569!important;}.app-shell .trip-workflow-step{background:#fff!important;color:#475569!important;}.app-shell .trip-workflow-step:hover{color:#0F172A!important;}.app-shell .trip-workflow-step.active{color:#0F172A!important;background:#fff!important;}.app-shell .trip-workflow-step.visited{color:#0F172A!important;}.app-shell .trip-workflow-number{background:#fff!important;color:#475569!important;}.app-shell .ga-settings-field>span{color:#0F172A!important;}.app-shell .ga-settings-field input{background:#fff!important;color:#0F172A!important;}.app-shell .comm160-readall{background:#fff!important;color:#0F172A!important;}.app-shell .comm160-stat{background:#fff!important;}.app-shell .comm160-stat small{color:#475569!important;}.app-shell .comm160-stat b{color:#0F172A!important;}.app-shell .comm160-filters button{background:#fff!important;color:#475569!important;}.app-shell .comm160-filters button.active{background:#fff!important;color:#0F172A!important;}.app-shell .comm160-message{background:#fff!important;color:#0F172A!important;}.app-shell .comm160-message:hover{background:#fff!important;}.app-shell .comm160-message.unread{background:#fff!important;}.app-shell .comm160-meta small,.app-shell .comm160-context{color:#475569!important;}.app-shell .comm160-body>strong{color:#0F172A!important;}.app-shell .comm160-copy{color:#475569!important;}.app-shell .comm160-empty{background:#fff!important;}.app-shell .comm160-empty b{color:#0F172A!important;}.app-shell .comm160-empty span{color:#475569!important;}.app-shell .cmd161-hero{background:#fff!important;}.app-shell .cmd161-hero h1{color:#0F172A!important;}.app-shell .cmd161-hero p{color:#475569!important;}.app-shell .cmd161-card{background:#fff!important;color:#0F172A!important;}.app-shell .cmd161-card:hover{background:#fff!important;}.app-shell .cmd161-card-head small{color:#475569!important;}.app-shell .cmd161-card-state{background:#fff!important;}.app-shell .cmd161-card.warn .cmd161-card-state{background:#fff!important;color:#0F172A!important;}.app-shell .cmd161-card>strong{color:#0F172A!important;}.app-shell .cmd161-sub{color:#475569!important;}.app-shell .cmd161-detail{color:#0F172A!important;}.app-shell .cmd161-exceptions{background:#fff!important;}.app-shell .cmd161-section-head h2{color:#0F172A!important;}.app-shell .cmd161-exception,.app-shell .cmd161-clear{background:#fff!important;color:#0F172A!important;}.app-shell .cmd161-exclamation{background:#fff!important;color:#0F172A!important;}.app-shell .cmd161-clear b{color:#0F172A!important;}.app-shell .cmd161-clear span{color:#475569!important;}.app-shell .cmd161-denied{background:#fff!important;}.app-shell .cmd161-subnav{background:#fff!important;}.app-shell .cmd161-subnav button{color:#475569!important;}.app-shell .cmd161-subnav button.active{background:#fff!important;color:#0F172A!important;}.app-shell .cmd161-reports{background:#fff!important;}.app-shell .cmd161-reports-copy h2{color:#0F172A!important;}.app-shell .cmd161-reports-copy p{color:#475569!important;}.app-shell .p96-workspace .p96-card,
.app-shell .p96-grid > .p96-card,
.app-shell .p97-fuel-list .p96-card{background:#fff!important;color:#0F172A!important;}.app-shell .p96-workspace .p96-card h3,
.app-shell .p96-grid > .p96-card h3,
.app-shell .p96-grid > .p96-card strong,
.app-shell .p97-fuel-list .p96-card{color:#0F172A!important;}.app-shell .p96-grid > .p96-card .p96-metric{color:#0F172A!important;}.app-shell .p96-grid > .p96-card .p96-metric-label,
.app-shell .p96-grid > .p96-card .p96-muted{color:#475569!important;}.app-shell .p96-grid > .p96-card .p96-badge{background:#fff!important;color:#0F172A!important;}.app-shell .p96-grid > .p96-card .p96-badge.warn{background:#fff!important;color:#0F172A!important;}.app-shell .p97-fuel-list .p97-leg,
.app-shell .p97-fuel-list .p97-leg.warning{background:#fff!important;color:#0F172A!important;}.app-shell .p97-fuel-list .p97-route,
.app-shell .p97-fuel-list .p97-leg-stat b,
.app-shell .p97-fuel-list .p97-stop strong{color:#0F172A!important;}.app-shell .p97-fuel-list .p97-leg-meta,
.app-shell .p97-fuel-list .p97-leg-stat small,
.app-shell .p97-fuel-list .p97-stop small{color:#475569!important;}.app-shell .p97-fuel-list .p97-leg-stat,
.app-shell .p97-fuel-list .p97-stop{background:#fff!important;color:#0F172A!important;}.app-shell .p97-fuel-list .p97-fuelbar{background:#fff!important;}.app-shell .p97-fuel-list .p97-warning{background:#fff!important;color:#0F172A!important;}.app-shell .p96-workspace .participant-editor-check,
.app-shell .p96-grid .participant-editor-check{background:#fff!important;color:#0F172A!important;}.app-shell .p96-workspace .participant-editor-check.checked,
.app-shell .p96-grid .participant-editor-check.checked{background:#fff!important;color:#0F172A!important;}.app-shell .p96-workspace .participant-editor-check strong,
.app-shell .p96-grid .participant-editor-check strong{color:#0F172A!important;}.app-shell .p96-workspace .participant-editor-check small,
.app-shell .p96-grid .participant-editor-check small{color:#475569!important;}.app-shell .p96-grid > .p96-card > .p96-check,
.app-shell .p96-grid > .p96-card > .p96-check.pending{background:#fff!important;color:#0F172A!important;}.app-shell .p96-grid > .p96-card > .p96-check:not(.pending){background:#fff!important;color:#0F172A!important;}.app-shell .p96-grid > .p96-card > .p96-check.pending{background:#fff!important;color:#0F172A!important;}.app-shell .p96-hero .p96-badge,
.app-shell .p96-card .p96-badge,
.app-shell .p97-leg .p96-badge{background:#fff!important;color:#0F172A!important;}.app-shell .p96-hero .p96-badge.warn,
.app-shell .p96-card .p96-badge.warn,
.app-shell .p97-leg .p96-badge.warn{background:#fff!important;color:#0F172A!important;}.app-shell .p97-fuel-list .p97-fuelbar{background:#fff!important;}.app-shell .dup162-panel,.app-shell .route162-order{background:#fff!important;}.app-shell .dup162-head h2,.app-shell .route162-order-head h3{color:#0F172A!important;}.app-shell .dup162-head p,.app-shell .route162-order-head p{color:#475569!important;}.app-shell .dup162-name label{color:#0F172A!important;}.app-shell .dup162-name input{background:#fff!important;color:#0F172A!important;}.app-shell .dup162-waypoint{background:#fff!important;color:#0F172A!important;}.app-shell .dup162-waypoint.selected{background:#fff!important;}.app-shell .dup162-waypoint strong{color:#0F172A!important;}.app-shell .dup162-waypoint small{color:#475569!important;}.app-shell .dup162-num{background:#fff!important;}.app-shell .dup162-error{background:#fff!important;color:#0F172A!important;}.app-shell .route162-order-row{background:#fff!important;color:#0F172A!important;}.app-shell .route162-order-num{background:#fff!important;}.app-shell .trip163-section-title{color:#0F172A!important;}.app-shell .trip163-section-title.history{color:#475569!important;}.app-shell .trip-card.completed-trip .trip-card-top{background:#fff!important;}.app-shell .trip163-lifecycle.completed{background:#fff!important;}.app-shell .p164d-report-card{background:#fff!important;}.app-shell .p164d-report-card h2{color:#0F172A!important;}.app-shell .p164d-report-card p{color:#475569!important;}.app-shell .p164d-config label{color:#475569!important;}.app-shell .club-member-editor{background:#fff!important;color:#0F172A!important;}.app-shell .club-member-editor .direct-member-section,
.app-shell .club-member-editor .participant-editor-readiness{color:#0F172A!important;}.app-shell .club-member-editor h3,
.app-shell .club-member-editor h4,
.app-shell .club-member-editor .info-label,
.app-shell .club-member-editor .account-field label,
.app-shell .club-member-editor .account-field span{color:#0F172A!important;}.app-shell .club-member-editor p,
.app-shell .club-member-editor small,
.app-shell .club-member-editor .member-editor-email{color:#475569!important;}.app-shell .club-member-editor input,
.app-shell .club-member-editor select,
.app-shell .club-member-editor textarea,
.app-shell .club-member-editor .info-select,
.app-shell .club-member-editor .info-textarea{background:#fff!important;color:#0F172A!important;}.app-shell .club-member-editor input::placeholder,
.app-shell .club-member-editor textarea::placeholder{color:#475569!important;}.app-shell .club-member-editor input:disabled,
.app-shell .club-member-editor select:disabled,
.app-shell .club-member-editor textarea:disabled{background:#fff!important;color:#475569!important;}.app-shell .club-member-editor .member-vehicle-editor,
.app-shell .club-member-editor .member-list-card{background:#fff!important;color:#0F172A!important;}.app-shell .club-member-editor .member-vehicle-editor input,
.app-shell .club-member-editor .member-vehicle-editor select,
.app-shell .club-member-editor .member-vehicle-editor textarea{background:#fff!important;color:#0F172A!important;}.app-shell .ct-leader-badge.trip-leader{background:#fff!important;color:#475569!important;}.app-shell .ct-leader-badge.backup-leader{background:#fff!important;color:#0F172A!important;}.app-shell .dashboard-person-vehicle-role{color:#475569!important;}.app-shell .club168-nav{background:#fff!important;}.app-shell .club168-nav-btn{color:#475569!important;}.app-shell .club168-nav-btn:hover{background:#fff!important;color:#0F172A!important;}.app-shell .club168-stat{background:#fff!important;}.app-shell .club168-stat small{color:#475569!important;}.app-shell .club168-stat b{color:#0F172A!important;}.app-shell .club168-stat span{color:#475569!important;}.app-shell .club168-panel-head h3,.app-shell .club168-report-card h3{color:#0F172A!important;}.app-shell .club168-panel-head p,.app-shell .club168-report-card p{color:#475569!important;}.app-shell .club168-op-row strong,.app-shell .club168-trip-row strong{color:#0F172A!important;}.app-shell .club168-op-row span,.app-shell .club168-trip-row span{color:#475569!important;}.app-shell .ad169-stat-grid .account-stat span{color:#475569!important;}.app-shell .ad169-tools input,.app-shell .ad169-tools select{background:#fff!important;color:#0F172A!important;}.app-shell .ad169-editor-head p{color:#475569!important;}.app-shell .ad169-status.live{background:#fff!important;color:#475569!important;}.app-shell .ad169-status.scheduled{background:#fff!important;color:#475569!important;}.app-shell .ad169-status.expired{background:#fff!important;color:#0F172A!important;}.app-shell .ad169-status.inactive{background:#fff!important;color:#475569!important;}.app-shell .ad169-card-main p{color:#475569!important;}.app-shell .ad169-performance span{color:#475569!important;}.app-shell .ad169-performance b{color:#0F172A!important;}.app-shell .garage170-photo{background:#fff!important;}.app-shell .garage170-upload small{color:#475569!important;}.app-shell .ready170d4-person{background:#fff!important;}.app-shell .ready170d4-pct{background:#fff!important;}.app-shell .ready170d4-pct b{color:#0F172A!important;}.app-shell .ready170d4-pct small{color:#475569!important;}.app-shell .ready170d4-card{background:#fff!important;}.app-shell .ready170d4-card-head{background:#fff!important;}.app-shell .ready170d4-card-head h3{color:#0F172A!important;}.app-shell .ready170d4-card-head small{color:#475569!important;}.app-shell .ready170d4-add{background:#fff!important;color:#0F172A!important;}.app-shell .ready170d4-check strong,.app-shell .ready170d4-label strong{color:#0F172A!important;}.app-shell .ready170d4-check small,.app-shell .ready170d4-label small{color:#475569!important;}.app-shell .ready170d4-check.selected strong{color:#0F172A!important;}.app-shell .ready170d4-remove{color:#0F172A!important;}.app-shell .ready170d4-empty{color:#475569!important;}.app-shell .p170d4-profile-head{background:#fff!important;}.app-shell .p170d4-profile-head h3{color:#0F172A!important;}.app-shell .p170d4-profile-head p{color:#475569!important;}.app-shell .p170d4-profile-pct{background:#fff!important;}.app-shell .p170d4-profile-pct b{color:#0F172A!important;}.app-shell .p170d4-profile-pct small{color:#475569!important;}.app-shell .p170d4-profile-card{background:#fff!important;}.app-shell .p170d4-profile-card>h3{color:#0F172A!important;}.app-shell .p170d4-profile-row{color:#0F172A!important;}.app-shell .p170d4-profile-row em.has{color:#475569!important;}.app-shell .p170d4-profile-row em.missing{color:#0F172A!important;}.eq171-panel{background:#fff!important;}.eq171-card{background:#fff!important;}.eq171-status{background:#fff!important;color:#475569!important;}.eq171-status.loaned{background:#fff!important;color:#0F172A!important;}.eq171-field input,.eq171-field select,.eq171-field textarea{background:#fff!important;}.ct153b-attention.ct171b-has-notifications{background:#fff!important;}.ct171b-status-flag{background:#fff!important;color:#0F172A!important;}.app-shell .ct-notify-panel,.ct-notify-panel{background:#fff!important;color:#0F172A!important;box-shadow:0 1px 3px rgba(15,23,42,.08)!important;}.app-shell .ct-notify-panel .ct-notify-head{color:#0F172A!important;}.app-shell .ct-notify-panel .ct-notify-head strong,.ct-notify-panel .ct-notify-head strong{color:#0F172A!important;}.app-shell .ct-notify-panel .ct-notify-head button,.ct-notify-panel .ct-notify-head button{color:#475569!important;}.app-shell .ct-notify-panel .ct-notify-item,.ct-notify-panel .ct-notify-item{color:#0F172A!important;}.app-shell .ct-notify-panel .ct-notify-item.unread,.ct-notify-panel .ct-notify-item.unread{background:#fff!important;}.app-shell .ct-notify-panel .ct-notify-item:hover,.ct-notify-panel .ct-notify-item:hover{background:#fff!important;}.app-shell .ct-notify-panel .ct-notify-item strong,.ct-notify-panel .ct-notify-item strong{color:#0F172A!important;}.app-shell .ct-notify-panel .ct-notify-item span,.app-shell .ct-notify-panel .ct-notify-item small,.app-shell .ct-notify-panel .ct-notify-empty,.ct-notify-panel .ct-notify-item span,.ct-notify-panel .ct-notify-item small,.ct-notify-panel .ct-notify-empty{color:#475569!important;}.app-shell .notice172-list .ct-notify-item{color:#0F172A!important;background:#fff!important;}.app-shell .notice172-list .ct-notify-item.unread{background:#fff!important;}.app-shell .notice172-list .ct-notify-item span,.app-shell .notice172-list .ct-notify-item small{color:#475569!important;}.app-shell .ct153b-attention-row.ct172a-equipment-loan{background:#fff!important;color:#0F172A!important;}.app-shell .ct172a-equipment-loan b{color:#475569!important;}.app-shell .ct172a-participant-profile .p96-action{background:#fff!important;color:#475569!important;}.app-shell .ct172a-participant-profile .p96-action:hover{background:#fff!important;color:#0F172A!important;}.app-shell .ct172a-participant-profile .participant-editor input:not([type="checkbox"]),.app-shell .ct172a-participant-profile .participant-editor select,.app-shell .ct172a-participant-profile .participant-editor textarea{background:#fff!important;color:#0F172A!important;}.app-shell .ct172a-participant-profile .participant-editor input::placeholder,.app-shell .ct172a-participant-profile .participant-editor textarea::placeholder{color:#475569!important;}.app-shell .ready172b-delete{color:#0F172A!important;background:#fff!important;}.app-shell .ready172b-delete:hover{background:#fff!important;}.app-shell .ready172c-choice{background:#fff!important;color:#0F172A!important;}.app-shell .ready172c-choice.chosen{color:#0F172A!important;}.ready172c-unanswered{color:#0F172A!important;}.fuel174{color:#0F172A!important;}.fuel174-muted{color:#475569!important;}.fuel174-summary>div{background:#fff!important;}.fuel174-assumptions{background:#fff!important;color:#475569!important;}.fuel174-alert{background:#fff!important;color:#0F172A!important;}.fuel174-card{background:#fff!important;}.fuel174-head h4{color:#0F172A!important;}.fuel174-head small,.fuel174-head p{color:#475569!important;}.fuel174-badge{background:#fff!important;}.fuel174-metrics small{color:#475569!important;}.fuel174-metrics b{color:#0F172A!important;}.fuel174-meter{background:#fff!important;}.fuel174-refuel{color:#0F172A!important;}.fuel174-details summary{color:#0F172A!important;}.fuel174-leg span{color:#475569!important;}.defaults175-card{background:#fff!important;}.defaults175-field>span{color:#475569!important;}.defaults175 input:not([type=checkbox]),.defaults175 textarea,.defaults175 select{background:#fff!important;color:#0F172A!important;}.defaults175-message{background:#fff!important;}.defaults175a-note{color:#475569!important;}.defaults175a-row small{color:#475569!important;}.site-copyright176e{background:#fff!important;color:#0F172A!important;}.site-copyright176e a{color:#0F172A!important;}.site-copyright176e a:hover{color:#0F172A!important;}#app-root #participant-updates177f.participant-attention177f{background:#fff!important;color:#0F172A!important;}#app-root #participant-updates177f.participant-attention177f h3,#app-root #participant-updates177f.participant-attention177f li{color:#0F172A!important;}#app-root #participant-updates177f .participant-update-link177f{color:#0F172A!important;}#app-root #participant-updates177f .participant-update-link177f:hover{color:#0F172A!important;}.docs179-saved{color:#475569!important;}.app-shell .club-profile-section{background:#fff!important;color:#0F172A!important;}.app-shell .club-profile-section h4{color:#0F172A!important;}.app-shell .club-profile-section label,.app-shell .club-profile-section .ga-field span{color:#475569!important;}.ct-record-picker180a{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a label{color:#0F172A!important;}.ct-record-picker180a select,.ct-record-picker180a input{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a select option{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a .club168-trip-row,.ct-record-picker180a .ga-manage-row,.ct-record-picker180a .member-list-card,.ct-record-picker180a .member-list-row{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a strong,.ct-record-picker180a b,.ct-record-picker180a .member-name{color:#0F172A!important;}.ct-record-picker180a span,.ct-record-picker180a small,.ct-record-picker180a .member-detail{color:#475569!important;}.ct-record-picker180a button{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a button.exit,.ct-record-picker180a .ga-remove-record{background:#fff!important;color:#0F172A!important;}.ct-record-picker180a .member-role{background:#fff!important;color:#0F172A!important;}.notice-invitation180c p{color:#0F172A!important;}.notice-invitation180c{background:#fff!important;}.cmd-delete-footer180g .cmd-delete-small180g{background:#fff!important;color:#0F172A!important;}
/* ===== Role-based accented shell (light workspace) ===== */
.app-shell{--rs-bg:#115E59;--rs-tx:#CCFBF1;--rs-act:#0D9488;--rb-bg:#E6F4F1;--rb-tx:#115E59}
.app-shell.role-admin{--rs-bg:#312E81;--rs-tx:#E0E7FF;--rs-act:#4338CA;--rb-bg:#EEF2F6;--rb-tx:#312E81}
.app-shell.role-manager{--rs-bg:#334155;--rs-tx:#F1F5F9;--rs-act:#475569;--rb-bg:#F1F5F9;--rb-tx:#334155}
.app-shell{background:#F8FAFC!important;color:#0F172A!important}
body{background:#F8FAFC!important}
.app-shell .app-main{--ct-panel:#fff;--ct-panel-2:#F8FAFC;--ct-panel-3:#F1F5F9;--ct-panel-border:#E2E8F0;--ct-shell-text:#0F172A;--ct-shell-muted:#475569;background:#F8FAFC!important;color:#0F172A!important}
.app-shell .app-topbar{background:#fff!important;border-bottom:1px solid #E2E8F0!important;color:#0F172A!important}
.app-shell .app-topbar *{color:#0F172A}
.app-shell .app-topbar .top-signout{color:#0F172A!important;border:1px solid #CBD5E1!important;background:#fff!important}
.app-shell .app-sidebar{background:var(--rs-bg)!important;color:var(--rs-tx)!important;border-right:0!important}
.app-shell .app-sidebar,.app-shell .app-sidebar *:not(.role-badge){color:var(--rs-tx)}
.app-shell .app-brand,.app-shell .app-brand small,.app-shell .app-nav-group,.app-shell .sidebar-club-name{color:var(--rs-tx)!important}
.app-shell .app-nav button,.app-shell .sidebar-support-link,.app-shell .app-sidebar-bottom button{background:transparent!important;color:var(--rs-tx)!important;border-color:transparent!important;box-shadow:none!important}
.app-shell .app-nav button:hover,.app-shell .sidebar-support-link:hover{background:color-mix(in srgb,var(--rs-act) 55%,transparent)!important}
.app-shell .app-nav button.active,.app-shell .sidebar-support-link.active,.app-shell .app-nav .sidebar-admin-subnav button.active{background:var(--rs-act)!important;color:#fff!important}
.app-shell .app-nav .sidebar-admin-subnav{border-color:color-mix(in srgb,var(--rs-tx) 25%,transparent)!important}
.role-badge{display:inline-block;margin-right:12px;padding:4px 11px;border-radius:999px;font:600 11px/1.2 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--rb-bg);color:var(--rb-tx)!important;border:1px solid color-mix(in srgb,var(--rb-tx) 22%,transparent);white-space:nowrap}
.app-shell .app-top-account{margin-left:auto}
@media(max-width:680px){.role-badge{display:none}}
/* Light Sky club theme: dark text on the light accent */
html.theme-light .app-shell .app-main button.primary,html.theme-light .app-shell .app-main .primary{color:#0F172A!important}
html.theme-light .app-shell .app-main .theme-choice.active{box-shadow:0 0 0 2px #0F172A!important}

/* Club themes: readable text on accent fills */
html:not(.theme-light) .app-shell .trip-section-nav button.active,html:not(.theme-light) .app-shell .trip-section-nav button.active *,html:not(.theme-light) .app-shell .mytrips-filter span.active,html:not(.theme-light) .app-shell .mytrips-filter span.active *,html:not(.theme-light) .app-shell .ga-nav button.active,html:not(.theme-light) .app-shell .ga-nav button.active *,html:not(.theme-light) .app-shell .route-view-switch button.active,html:not(.theme-light) .app-shell .route-view-switch button.active *,html:not(.theme-light) .app-shell .map-layer-btn.active,html:not(.theme-light) .app-shell .map-layer-btn.active *,html:not(.theme-light) .app-shell .participant-card-actions .participant-edit-btn,html:not(.theme-light) .app-shell .participant-card-actions .participant-edit-btn *,html:not(.theme-light) .app-shell .club168-nav-btn.active,html:not(.theme-light) .app-shell .club168-nav-btn.active *,html:not(.theme-light) .app-shell .ga-page-tabs176b button:hover,html:not(.theme-light) .app-shell .ga-page-tabs176b button:hover *,html:not(.theme-light) .app-shell .ga-page-tabs176b button.active,html:not(.theme-light) .app-shell .ga-page-tabs176b button.active *,html:not(.theme-light) .app-shell button.primary,html:not(.theme-light) .app-shell button.primary *,html:not(.theme-light) .app-shell .primary,html:not(.theme-light) .app-shell .primary *,html:not(.theme-light) .app-shell .account-primary,html:not(.theme-light) .app-shell .account-primary *,html:not(.theme-light) .app-shell .ct153b-open-trip,html:not(.theme-light) .app-shell .ct153b-open-trip *,html:not(.theme-light) .app-shell .trip-workflow-step.active .trip-workflow-number,html:not(.theme-light) .app-shell .trip-workflow-step.active .trip-workflow-number *,html:not(.theme-light) .app-shell .sidebar-comm-count,html:not(.theme-light) .app-shell .sidebar-comm-count *,html:not(.theme-light) .app-shell .cmd161-subnav-count,html:not(.theme-light) .app-shell .cmd161-subnav-count *,html:not(.theme-light) .app-shell .garage-card-icon,html:not(.theme-light) .app-shell .garage-card-icon *,html:not(.theme-light) .app-shell .ct153b-stat-icon,html:not(.theme-light) .app-shell .ct153b-stat-icon *,html:not(.theme-light) .app-shell .ct153b-vehicle-badge,html:not(.theme-light) .app-shell .ct153b-vehicle-badge *{color:#fff!important}
html.theme-light .app-shell .trip-section-nav button.active,html.theme-light .app-shell .trip-section-nav button.active *,html.theme-light .app-shell .mytrips-filter span.active,html.theme-light .app-shell .mytrips-filter span.active *,html.theme-light .app-shell .ga-nav button.active,html.theme-light .app-shell .ga-nav button.active *,html.theme-light .app-shell .route-view-switch button.active,html.theme-light .app-shell .route-view-switch button.active *,html.theme-light .app-shell .map-layer-btn.active,html.theme-light .app-shell .map-layer-btn.active *,html.theme-light .app-shell .participant-card-actions .participant-edit-btn,html.theme-light .app-shell .participant-card-actions .participant-edit-btn *,html.theme-light .app-shell .club168-nav-btn.active,html.theme-light .app-shell .club168-nav-btn.active *,html.theme-light .app-shell .ga-page-tabs176b button:hover,html.theme-light .app-shell .ga-page-tabs176b button:hover *,html.theme-light .app-shell .ga-page-tabs176b button.active,html.theme-light .app-shell .ga-page-tabs176b button.active *,html.theme-light .app-shell button.primary,html.theme-light .app-shell button.primary *,html.theme-light .app-shell .primary,html.theme-light .app-shell .primary *,html.theme-light .app-shell .account-primary,html.theme-light .app-shell .account-primary *,html.theme-light .app-shell .ct153b-open-trip,html.theme-light .app-shell .ct153b-open-trip *,html.theme-light .app-shell .trip-workflow-step.active .trip-workflow-number,html.theme-light .app-shell .trip-workflow-step.active .trip-workflow-number *,html.theme-light .app-shell .sidebar-comm-count,html.theme-light .app-shell .sidebar-comm-count *,html.theme-light .app-shell .cmd161-subnav-count,html.theme-light .app-shell .cmd161-subnav-count *,html.theme-light .app-shell .garage-card-icon,html.theme-light .app-shell .garage-card-icon *,html.theme-light .app-shell .ct153b-stat-icon,html.theme-light .app-shell .ct153b-stat-icon *,html.theme-light .app-shell .ct153b-vehicle-badge,html.theme-light .app-shell .ct153b-vehicle-badge *{color:#0F172A!important}

/* Next Expedition banner: keep dark background, light text */
.app-shell .ct153b-hero{border-color:rgba(255,255,255,.12)!important;box-shadow:0 14px 34px rgba(15,23,42,.22)!important}
.app-shell .ct153b-hero h2,.app-shell .ct153b-hero-visual strong{color:#F8FAFC!important}
.app-shell .ct153b-hero p,.app-shell .ct153b-hero-visual small,.app-shell .ct153b-hero-visual span{color:#CBD5E1!important}
.app-shell .ct153b-hero .ct153b-eyebrow{color:#99F6E4!important}
.app-shell .ct153b-hero-meta span{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.22)!important;color:#F1F5F9!important}
.app-shell .ct153b-hero-visual:before,.app-shell .ct153b-hero-visual:after{border-color:rgba(255,255,255,.10)!important}
.app-shell .ct153b-hero .ct153b-route-line i{background:rgba(255,255,255,.35)!important}


/* Active tab / highlight states restored after the light restyle */
.app-shell .p96-tabs button.active{background:var(--ct-accent)!important;box-shadow:none!important}
html:not(.theme-light) .app-shell .p96-tabs button.active{color:#fff!important}
html.theme-light .app-shell .p96-tabs button.active{color:#0F172A!important}
.app-shell .p96-tabs button:hover:not(.active){background:#E2E8F0!important;color:#0F172A!important}
.app-shell .trip-workflow-step.active,.app-shell .comm160-filters button.active,.app-shell .readiness-person-check.checked{background:color-mix(in srgb,var(--ct-accent) 20%,#fff)!important;box-shadow:inset 0 0 0 1px var(--ct-accent)!important;color:#0F172A!important}
.app-shell .trip-workflow-step.active *:not(.trip-workflow-number),.app-shell .comm160-filters button.active *{color:#0F172A!important}
.app-shell .comm160-message.unread{background:color-mix(in srgb,var(--ct-accent) 8%,#fff)!important}

/* Dashboard icon chips: light tint with darker accent icon */
html:root:not(.zz) .app-shell .ct153b-stat-icon,html:root:not(.zz) .app-shell .garage-card-icon,html:root:not(.zz) .app-shell .ct153b-vehicle-badge{background:color-mix(in srgb,var(--ct-accent) 16%,#fff)!important;border:1px solid color-mix(in srgb,var(--ct-accent) 40%,#fff)!important;color:color-mix(in srgb,var(--ct-accent-strong) 55%,#0F172A)!important}
html:root:not(.zz) .app-shell .ct153b-stat-icon *,html:root:not(.zz) .app-shell .garage-card-icon *,html:root:not(.zz) .app-shell .ct153b-vehicle-badge *{color:inherit!important}

/* Dashboard icon chips v2: solid dark accent chip, white glyph */
html:root:not(.zz):not(.yy) .app-shell .ct153b-stat-icon,html:root:not(.zz):not(.yy) .app-shell .garage-card-icon,html:root:not(.zz):not(.yy) .app-shell .ct153b-vehicle-badge{background:color-mix(in srgb,var(--ct-accent-strong) 65%,#0F172A)!important;border:0!important;color:#fff!important;font-size:18px!important;font-weight:900!important;opacity:1!important;text-shadow:none!important}
html:root:not(.zz):not(.yy) .app-shell .ct153b-stat-icon *,html:root:not(.zz):not(.yy) .app-shell .garage-card-icon *,html:root:not(.zz):not(.yy) .app-shell .ct153b-vehicle-badge *{color:#fff!important;opacity:1!important}
.club-members-list181{display:grid;gap:14px;margin-top:18px}.app-shell .club-member181{padding:18px;background:#fff!important;color:#172a34!important;border:1px solid #bdcbd4;border-radius:12px}.app-shell .club-member181 h3{margin:0 0 6px;color:#172a34!important}.app-shell .club-member181 p{color:#405463!important;margin:5px 0;overflow-wrap:anywhere}.member-roles181{display:flex;flex-wrap:wrap;gap:14px;align-items:center;border:1px solid #bccbd5;border-radius:8px;padding:12px;margin:12px 0}.app-shell .member-roles181 legend,.app-shell .member-roles181 label{color:#172a34!important;font-size:14px}.member-roles181 label{display:flex;align-items:center;gap:7px}.member-roles181 input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#21576b}.app-shell .club-member181 .last-admin181{background:#fff3cf!important;color:#654400!important;padding:10px;border-left:4px solid #bc8215;border-radius:5px}.member-actions181{display:flex;gap:8px;flex-wrap:wrap}.member-role-status181{flex-basis:100%;font-size:13px;color:#743622}.member-role-status181:empty{display:none}
.docs182-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:18px;align-items:start}.docs182-grid>.docs179-file{margin:0!important;min-width:0;box-sizing:border-box;height:100%}.docs182-grid .docs179-trips{margin-top:12px}.docs182-grid .docs179-file h3{overflow-wrap:anywhere}
.account-grid183{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.account-grid183>.account-card183{margin:0!important;min-width:0;box-sizing:border-box;padding:20px}.account-card183 input,.account-card183 select{max-width:100%;box-sizing:border-box;width:100%}.account-card183 .account-field{display:grid;gap:6px;margin:12px 0}.account-card183 .ga-fields{grid-template-columns:1fr!important}.account-card183 button{margin-top:10px}.account-card183 .account-club-switch{margin:0;padding:0;border:0}.account-card183 p{overflow-wrap:anywhere}@media(max-width:700px){.account-grid183{grid-template-columns:1fr}}
.sponsors185{margin-top:32px;padding-top:18px;border-top:1px solid #d3dde3}.sponsors185-label{display:block;font-size:11px;letter-spacing:.06em;color:#637583;margin-bottom:12px}.sponsors185-strip{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}.sponsors185-image{display:flex;align-items:center;justify-content:center;max-width:100%;height:90px;background:transparent;border:0;padding:0;box-shadow:none;flex:0 1 auto}.sponsors185-image.logo{width:200px}.sponsors185-image.banner{width:728px}.sponsors185-image img{display:block;width:100%;height:100%;object-fit:contain}.sponsors185-image:focus-visible{outline:2px solid #315e71;outline-offset:5px}.sponsors185-image[href]:hover{opacity:.85}@media(max-width:760px){.sponsors185-image.banner{height:auto;aspect-ratio:728/90}.sponsors185-image.banner img{height:auto;max-height:90px}.sponsors185-image.logo{width:160px;height:72px}}
.account-tabs186 button:focus-visible{outline:3px solid #c58b35;outline-offset:2px}.account-panels186>.account-card183{margin:0!important;width:100%;box-sizing:border-box}.account-panels186>[hidden]{display:none!important}.account-panels186 .account-field{max-width:620px}
.account-page>.account-card183{margin-bottom:18px!important}
.registration188-row{padding:14px 0;border-top:1px solid #d1dce4}.registration188-row button{margin-right:8px}.registration188-row p{overflow-wrap:anywhere}
html .app-shell .help-article-toggle,html .app-shell .help-article-toggle span,html .app-shell .help-article-toggle strong,html .app-shell .help-article-body,html .app-shell .help-article-body p{color:#213547!important}html .app-shell .help-article-toggle,html .app-shell .help-article-body{background:#fff!important}html .app-shell .help-article-toggle:hover{background:#edf3f7!important}html .app-shell .help-article-toggle:focus-visible{outline:2px solid #315f76;outline-offset:2px}
.app-shell .route84-card.overnight195,.app-shell .overnight195 .route84-summary,.app-shell .overnight195 .route84-detail{background:#e7e9eb!important;color:#233341!important;border-color:#c6ccd1!important}
.app-shell .overnight195 .route84-main strong,.app-shell .overnight195 .route84-meta,.app-shell .overnight195 .route84-chevron{color:#233341!important}
.fuel-budget195{padding:18px;margin:16px 0;background:#edf4f7;border:1px solid #ccdbe2;border-radius:12px;color:#183447}.fuel-budget195 h3,.fuel-budget195 p,.fuel-budget195 strong{color:#183447!important}.fuel-budget195 strong{display:block;font-size:28px;margin:10px 0}
.setup198{box-sizing:border-box;width:min(620px,calc(100% - 28px));max-height:88vh;overflow:auto;border:1px solid #cedbe5;border-radius:18px;padding:26px;background:#fff;color:#183447;box-shadow:0 20px 70px #00182766;font-family:inherit}.setup198::backdrop{background:#071c2bb3}.setup198 h2,.setup198 h3{color:#102c43}.setup198-form{display:grid;gap:14px}.setup198-form label{display:grid;gap:6px}.setup198 input,.setup198 select{box-sizing:border-box;width:100%;padding:11px;border:1px solid #bdccd8;border-radius:8px;background:#fff;color:#183447;font:inherit}.setup198 .setup198-opt{display:flex;align-items:center;gap:10px}.setup198-opt input{width:auto}.setup198-actions{display:flex;flex-wrap:wrap;gap:10px}.setup198 button{padding:11px 18px;border:1px solid #ac5f32;border-radius:8px;cursor:pointer;font:inherit}.setup198 button.primary{background:#a85e32;color:#fff}.setup198 button.mode-btn{background:#edf3f7;color:#183447;border-color:#c4d1dd}.setup198 .setup198-error{color:#a62735;margin:0}.setup198 :focus-visible{outline:3px solid #b97848;outline-offset:2px}.setup198 button:disabled{opacity:.6;cursor:wait}
.format200-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.format200-toolbar button{background:#edf3f7!important;color:#183447!important;border:1px solid #b7c9d6;border-radius:6px;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px}.format200-preview{margin-top:16px;color:#183447}.format200-preview:empty{display:none}.help-article-body p{white-space:pre-wrap}
.trips201-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.trips201-filters label{display:grid;gap:5px}.trips201-filters input,.trips201-filters select{padding:9px;max-width:260px;background:#fff;color:#183447;border:1px solid #c7d6e2;border-radius:7px}.trips201-table{width:100%;border-collapse:collapse;color:#183447;background:#fff}.trips201-table th,.trips201-table td{padding:12px;text-align:left;border-bottom:1px solid #d8e2e9}.trips201-table th{background:#edf3f7;white-space:nowrap}

/* Dashboard summary and paired stop counts. */
.dashboard-stop-counts219{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-stop-counts219>div+div{border-left:1px solid var(--app-line);padding-left:12px}
.stat-grid .dashboard-summary219{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0}
.stat-grid .dashboard-summary219 h2{font-size:18px;margin:5px 0}
.stat-grid .dashboard-summary219 p{font-size:12px;line-height:1.5;margin:0}
.stat-grid .dashboard-summary219 button{align-self:flex-start;white-space:normal;text-align:left}

/* Dashboard summary: one aligned strip, six equal sections. */
.trip-detail-dashboard .trip-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0;gap:0;border-top:1px solid var(--app-line);border-bottom:1px solid var(--app-line);padding:20px 0}
.trip-detail-dashboard .trip-summary-item{min-width:0;padding:0 16px;text-align:left;border:0;border-right:1px solid var(--app-line);border-radius:0;background:transparent;box-shadow:none;color:var(--app-ink);font:inherit;align-self:stretch}
.trip-detail-dashboard .trip-summary-item:last-child{border-right:0}
.trip-detail-dashboard .trip-summary-item .stat-label{min-height:26px;line-height:1.3;letter-spacing:.6px}
.trip-detail-dashboard .trip-summary-item .stat-value{margin-top:0;line-height:1.25;font-size:25px}
.trip-detail-dashboard .trip-summary-item .stat-sub{margin-top:6px;line-height:1.5;overflow-wrap:anywhere}
.trip-detail-dashboard .trip-summary-item .dashboard-stop-counts219{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trip-detail-dashboard .trip-summary-action{cursor:pointer;display:block}
.trip-detail-dashboard .trip-summary-action:hover .stat-value,.trip-detail-dashboard .trip-summary-download:hover{text-decoration:underline}
.trip-detail-dashboard .trip-summary-download{display:block;padding:0;border:0;background:transparent;color:var(--app-ink);font:700 15px/1.4 sans-serif;text-align:left;cursor:pointer;min-height:32px;width:100%}
.trip-detail-dashboard .trip-summary-action:focus-visible,.trip-detail-dashboard .trip-summary-download:focus-visible{outline:2px solid var(--app-green2);outline-offset:3px}
@media(max-width:1100px){.trip-detail-dashboard .trip-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.trip-detail-dashboard .trip-summary-item:nth-child(3n){border-right:0}}
@media(max-width:600px){.trip-detail-dashboard .trip-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-detail-dashboard .trip-summary-item:nth-child(3n){border-right:1px solid var(--app-line)}.trip-detail-dashboard .trip-summary-item:nth-child(2n){border-right:0}}

.trip-detail-dashboard button.trip-summary-item{border-radius:0!important;background:transparent!important;box-shadow:none!important}

body.ct-trip-offline .app-content button[data-offline-action="trip-summary"]{display:inline-flex!important;visibility:visible!important;pointer-events:auto!important}
.trip-detail-dashboard .trip-summary-report-name{font:700 15px/1.4 sans-serif;min-height:32px}
.trip-detail-dashboard button.trip-summary-download{margin-top:6px;padding:6px 12px;width:auto;min-height:0;border:1px solid var(--app-line);border-radius:5px;font-size:12px}

/* Shared tyre/UHF reference drawer; native dialog supplies focus trapping. */
dialog.ct-guide-drawer221{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(580px,48vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid #d8d4c7;border-radius:0;background:#fffdf9;color:#172b43;box-shadow:-12px 0 35px rgba(16,32,48,.15);overflow:hidden;font-family:Arial,sans-serif}
dialog.ct-guide-drawer221[open]{display:flex;flex-direction:column}
dialog.ct-guide-drawer221::backdrop{background:rgba(15,23,42,.48)}
.ct-guide-drawer221 .ct-guide-header221{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:30px 28px 20px;flex-shrink:0}
.ct-guide-drawer221 h2{margin:0;font:700 25px/1.25 Arial,sans-serif;color:inherit;text-transform:none;letter-spacing:0}
.ct-guide-drawer221 .ct-guide-subtitle221{margin:7px 0 0;font-size:14px;line-height:1.5;color:#5c6775}
.ct-guide-drawer221 button{font:600 13px/1.4 Arial,sans-serif;cursor:pointer;color:inherit}
.ct-guide-drawer221 .ct-guide-close221{padding:4px 0;background:transparent;border:0;white-space:nowrap}
.ct-guide-drawer221 .ct-guide-tabs221{display:flex;margin:0 28px;border-bottom:1px solid #dedbd4;flex-shrink:0}
.ct-guide-drawer221 .ct-guide-tabs221 button{flex:1;padding:14px 8px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#65707c}
.ct-guide-drawer221 .ct-guide-tabs221 button[aria-selected="true"]{color:#9d512d;border-bottom-color:#9d512d}
.ct-guide-drawer221 .ct-guide-body221{padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;line-height:1.55}
.ct-guide-drawer221 .ct-guide-table221{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;color:inherit}
.ct-guide-drawer221 .ct-guide-table221 th,.ct-guide-drawer221 .ct-guide-table221 td{text-align:left;vertical-align:top;padding:15px 12px;border-bottom:1px solid #dedbd4;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:inherit}
.ct-guide-drawer221 .ct-guide-table221 thead th{background:#f1efea;font-size:12px}
.ct-guide-drawer221 .ct-guide-table221 th:first-child{width:37%}
.ct-guide-drawer221 .ct-guide-notes221{margin-top:26px;font-size:14px}.ct-guide-drawer221 .ct-guide-notes221 h3{font:700 17px Arial,sans-serif;color:inherit;margin:0 0 8px}.ct-guide-drawer221 .ct-guide-notes221 p{white-space:pre-wrap;margin:0;color:inherit}
.ct-guide-drawer221 .ct-guide-trip-channel221{display:grid;gap:7px;padding:18px 20px;margin-bottom:22px;background:#f4e8df;border-left:3px solid #9d512d}.ct-guide-drawer221 .ct-guide-trip-channel221 small{font-size:11px;font-weight:700;letter-spacing:1px;color:#914826}.ct-guide-drawer221 .ct-guide-trip-channel221 strong{font-size:25px;line-height:1.3;overflow-wrap:anywhere}.ct-guide-drawer221 .ct-guide-trip-channel221 span{font-size:13px;color:#5c6775}
.ct-guide-drawer221 .ct-guide-footer221{padding:18px 28px;border-top:1px solid #dedbd4;font-size:12px;color:#5c6775;flex-shrink:0}
.ct-guide-drawer221 button:focus-visible{outline:2px solid #9d512d;outline-offset:3px}
html[data-ct-theme="dark"] dialog.ct-guide-drawer221{background:#10243e;color:#fff;border-color:#39516d}html[data-ct-theme="dark"] .ct-guide-drawer221 .ct-guide-table221 thead th{background:#1b3553!important}html[data-ct-theme="dark"] .ct-guide-drawer221 .ct-guide-trip-channel221{background:#243a53!important}html[data-ct-theme="dark"] .ct-guide-drawer221 .ct-guide-tabs221 button[aria-selected="true"]{color:#f6b38e!important;border-bottom-color:#f6b38e}
@media(max-width:760px){dialog.ct-guide-drawer221{width:100vw;max-width:100vw;border-left:0}.ct-guide-drawer221 .ct-guide-header221{padding:24px 20px 18px}.ct-guide-drawer221 h2{font-size:23px}.ct-guide-drawer221 .ct-guide-tabs221{margin:0 20px}.ct-guide-drawer221 .ct-guide-body221{padding:20px}.ct-guide-drawer221 .ct-guide-footer221{padding:16px 20px}}

.ct-guide-drawer221 .ct-guide-tabs221 button{border-radius:0!important}

.ct-guide-drawer221 table.ct-guide-table221{display:table!important;overflow:visible;max-width:100%}
.ct-guide-drawer221 .ct-guide-table221 thead{display:table-header-group!important;width:auto}.ct-guide-drawer221 .ct-guide-table221 tbody{display:table-row-group!important;width:auto}
.ct-guide-drawer221 .ct-guide-table221 tr{display:table-row!important;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.ct-guide-drawer221 .ct-guide-table221 th,.ct-guide-drawer221 .ct-guide-table221 td{display:table-cell!important;box-sizing:border-box;width:auto}.ct-guide-drawer221 .ct-guide-table221 td::before{content:none!important}
.ct-guide-drawer221 .ct-guide-table221 th:first-child{width:37%}

/* Emergency Channel 5 stays clearly highlighted in light and dark themes. */
@layer ct-theme {
 .ct-guide-drawer221 .ct-guide-table221 tr.ct-guide-emergency223>th,
 .ct-guide-drawer221 .ct-guide-table221 tr.ct-guide-emergency223>td{background:#b91c1c!important;color:#fff!important;border-color:#ef9393!important}
}

.travel-signin224{display:block;margin:18px 0;font-size:13px;font-weight:600;color:inherit}.travel-signin224 select{display:block;box-sizing:border-box;width:100%;padding:10px;margin:8px 0;border:1px solid var(--app-line);border-radius:7px;background:var(--app-card);color:var(--app-ink);font:inherit}.travel-signin224 small{display:block;font-size:12px;line-height:1.5;font-weight:400;color:var(--app-muted)}

/* Guide headings and terrain/channel labels scroll with their rows. */
.ct-guide-drawer221 .ct-guide-table221 th{position:static;top:auto;z-index:auto;font-family:Arial,sans-serif}
