      :root { color-scheme: dark; }
      * { box-sizing: border-box; }
      body {
        margin: 0;
        min-height: 100vh;
        padding: 32px 24px;
        background:
          linear-gradient(#79fbd105 1px, transparent 1px),
          linear-gradient(90deg, #79fbd105 1px, transparent 1px),
          #0b1014;
        background-size: 40px 40px;
        color: #edf5f5;
        font-family: Arial, sans-serif;
      }
      main {
        width: 100%;
        max-width: 1120px;
        margin: 0 auto;
      }
      .status-bar {
        padding: 14px 18px;
        border: 1px solid #2e4947;
        border-left: 3px solid #79fbd1;
        background: #10201f;
        color: #79fbd1;
        font: 11px/1.6 monospace;
        letter-spacing: 1.5px;
      }
      header { padding: 64px 0 48px; }
      .eyebrow, .card-number, .card-label {
        font: 11px/1.5 monospace;
        letter-spacing: 2px;
        text-transform: uppercase;
      }
      .eyebrow { margin: 0 0 20px; color: #79fbd1; }
      h1 {
        max-width: 850px;
        margin: 0 0 20px;
        font-size: clamp(2.5rem, 6vw, 4.75rem);
        line-height: 1.04;
        letter-spacing: -2px;
      }
      .intro { margin: 0 0 28px; color: #a4b6bd; line-height: 1.7; }
      button {
        padding: 15px 26px;
        border: 1px solid #79fbd1;
        border-radius: 3px;
        background: #79fbd1;
        color: #0b1916;
        font: inherit;
        font-weight: bold;
        cursor: pointer;
        transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
      }
      button:hover {
        transform: translateY(-3px);
        background: #b1ffe6;
        box-shadow: 0 0 24px #79fbd133;
      }
      button:focus-visible { outline: 3px solid white; outline-offset: 5px; }
      .mission-panel {
        max-width: 640px;
        margin-top: 24px;
        padding: 24px;
        border: 1px solid #2e4947;
        border-left: 3px solid #79fbd1;
        border-radius: 4px;
        background: linear-gradient(135deg, #19252c, #10201f);
      }
      .mission-panel h2 {
        margin: 0 0 20px;
        color: #79fbd1;
        font: bold 16px/1.6 monospace;
      }
      .mission-checklist { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
      .mission-checklist label { display: flex; align-items: center; gap: 12px; cursor: pointer; line-height: 1.5; }
      .mission-checklist input { width: 18px; height: 18px; margin: 0; accent-color: #79fbd1; flex-shrink: 0; }
      .mission-checklist input:focus-visible { outline: 2px solid #79fbd1; outline-offset: 4px; }
      .mission-checklist input:checked + span { color: #79fbd1; text-decoration: line-through; }
      .reset-checklist { margin-top: 20px; padding: 9px 14px; font: bold 12px/1.5 monospace; }
      .mission-status {
        margin: 20px 0 0;
        padding-top: 14px;
        border-top: 1px solid #2e4947;
        color: #93a7b0;
        font: 12px/1.6 monospace;
      }
      .dashboard {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
      }
      .card {
        position: relative;
        padding: 28px;
        border: 1px solid #2a383f;
        border-top: 2px solid #46605f;
        border-radius: 4px;
        background: linear-gradient(135deg, #19252c, #111a20);
        transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
      }
      .card:hover {
        transform: translateY(-5px);
        border-color: #79fbd1;
        box-shadow: 0 12px 30px #0005, 0 0 20px #79fbd10d;
      }
      .card-number { color: #79fbd1; }
      .card h2 { margin: 22px 0 12px; font-size: 1.5rem; }
      .card p { margin: 0 0 28px; color: #a4b6bd; line-height: 1.65; }
      .card-label { display: block; padding-top: 16px; border-top: 1px solid #2a383f; color: #d9b47c; }
      .small-button { padding: 9px 14px; font: bold 12px/1.5 monospace; }
      .project-form { margin-top: 20px; padding: 16px; border: 1px solid #2e4947; background: #0b151a; }
      .project-form label { display: block; margin-bottom: 14px; color: #a4b6bd; font-size: 13px; }
      .project-form input, .project-form select, .project-form textarea {
        display: block; width: 100%; margin-top: 7px; padding: 10px;
        border: 1px solid #46605f; border-radius: 3px;
        background: #152229; color: #edf5f5; font: inherit;
      }
      .project-form textarea { resize: vertical; min-height: 80px; }
      .project-form :is(input, select, textarea):focus-visible { outline: 2px solid #79fbd1; outline-offset: 2px; }
      .project-list { display: grid; gap: 12px; margin: 20px 0; padding: 0; list-style: none; }
      .project-entry { padding: 16px; border: 1px solid #2e4947; border-radius: 3px; background: #101b21; overflow-wrap: anywhere; }
      .project-entry h3 { margin: 0 0 10px; font-size: 1rem; }
      .project-status { display: inline-block; margin-bottom: 12px; padding: 3px 8px; background: #24332f; color: #79fbd1; font: 11px/1.5 monospace; }
      .card .project-notes { margin-bottom: 14px; white-space: pre-wrap; font-size: 13px; }
      .delete-project { border-color: #d9b47c; background: #d9b47c; }
      .card .project-message { margin: 16px 0; font: 12px/1.6 monospace; }
      footer {
        max-width: 1120px;
        margin: 36px auto 0;
        padding: 20px 0;
        border-top: 1px solid #2a383f;
        color: #93a7b0;
        font: 12px/1.6 monospace;
      }
      @media (max-width: 600px) {
        body { padding: 20px 16px; }
        header { padding: 44px 0 32px; }
        .dashboard { grid-template-columns: 1fr; }
        .card { padding: 24px; }
      }
      @media (prefers-reduced-motion: reduce) {
        button, .card { transition: none; }
        button:hover, .card:hover { transform: none; }
      }
      .garage { margin-top: 56px; padding-top: 32px; border-top: 2px solid #46605f; }
      .garage > h2 { margin: 0 0 12px; font-size: clamp(2rem, 5vw, 3rem); }
      .garage-intro { color: #a4b6bd; line-height: 1.7; }
      .garage h3 { margin: 28px 0 18px; }
      .vehicle-bays { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
      .vehicle-slot {
        min-width: 0; padding: 22px; border: 1px solid #344a4b; border-top: 3px solid #79fbd1;
        background: linear-gradient(145deg, #1a2a30, #10181e); border-radius: 4px;
        box-shadow: inset 0 -5px #d9b47c22;
        transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
      }
      .vehicle-slot:hover { transform: translateY(-4px); border-color: #79fbd1; box-shadow: 0 0 22px #79fbd119; }
      .vehicle-slot h4 { margin: 18px 0; font-size: 1.15rem; line-height: 1.5; }
      .vehicle-slot dl { margin: 0; font-size: 13px; line-height: 1.6; }
      .vehicle-slot dt { margin-top: 12px; color: #93a7b0; font: 10px/1.6 monospace; text-transform: uppercase; letter-spacing: 1px; }
      .vehicle-slot dd { margin: 3px 0 0; overflow-wrap: anywhere; }
      .vehicle-slot > button { margin-top: 20px; }
      .vehicle-slot .project-form button { margin: 4px 6px 0 0; }
      .vehicle-slot dd { white-space: pre-wrap; }
      .bay-feedback { color: #d9b47c; font: 12px/1.6 monospace; }
      .garage-inventory { margin-top: 28px; align-items: start; }
      .garage-inventory h3 { margin: 18px 0; font-size: 1.5rem; }
      .garage-inventory .project-entry h4 { margin: 0 0 12px; }
      @media (max-width: 900px) { .vehicle-bays { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
      @media (max-width: 600px) { .vehicle-bays { grid-template-columns: 1fr; } }
      @media (prefers-reduced-motion: reduce) { .vehicle-slot { transition: none; } .vehicle-slot:hover { transform: none; } }
      .data-vault { margin-top: 32px; border-top-color: #79fbd1; background: linear-gradient(135deg, #102522, #111a20); }
      .vault-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
      .vault-import { display: grid; gap: 10px; color: #79fbd1; font: 12px/1.6 monospace; min-width: 0; }
      .vault-import input { max-width: 100%; font: inherit; }
      .vault-import input::file-selector-button { padding: 9px; border: 1px solid #46605f; border-radius: 3px; background: #152229; color: #79fbd1; cursor: pointer; }
      .vault-import input:focus-visible { outline: 2px solid #79fbd1; outline-offset: 4px; }
      .card .vault-feedback { margin: 20px 0 0; color: #d9b47c; font: 12px/1.6 monospace; }
      .service-planner { margin-top: 32px; }
      .service-task.critical { border-left: 4px solid #ff7887; box-shadow: inset 0 0 24px #ff788710; }
      .service-task.critical .project-status { color: #ffadb7; background: #44232d; }
      .service-task.done { border-color: #46605f; box-shadow: none; background: #14201e; }
      .service-task.done h3 { color: #93a7b0; text-decoration: line-through; }
      .service-task.done .project-status { color: #79fbd1; background: #24332f; }
      .service-task button { margin: 4px 10px 0 0; }
      #service-form { max-width: 640px; }
      .command-search { margin: 0 0 28px; padding: 20px; border: 1px solid #46605f; border-left: 3px solid #79fbd1; background: #10201f; }
      .command-search label { display: block; margin-bottom: 12px; color: #79fbd1; font: bold 13px/1.6 monospace; letter-spacing: 1px; }
      .command-search input { width: 100%; min-width: 0; padding: 14px; border: 1px solid #46605f; border-radius: 3px; background: #0b151a; color: #edf5f5; font: 14px/1.6 monospace; }
      .command-search input::placeholder { color: #93a7b0; }
      .command-search input:focus-visible { outline: 2px solid #79fbd1; outline-offset: 3px; box-shadow: 0 0 18px #79fbd119; }
      .command-search p { margin: 14px 0 0; color: #d9b47c; font: 12px/1.6 monospace; }
      .search-hidden { display: none !important; }
      .bay-gallery { display: grid; gap: 18px; margin: 20px 0; }
      .bay-photo { margin: 0; min-width: 0; }
      .bay-photo figcaption { margin-bottom: 8px; color: #79fbd1; font: 11px/1.6 monospace; }
      .photo-frame { aspect-ratio: 4 / 3; width: 100%; display: grid; place-items: center; overflow: hidden; border: 1px solid #46605f; border-radius: 3px; background: #091216; box-shadow: inset 0 0 20px #79fbd108; }
      .photo-frame img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
      .photo-frame span { padding: 14px; color: #93a7b0; text-align: center; font: 11px/1.6 monospace; }
      .photo-controls { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
      .photo-feedback { color: #d9b47c; font: 11px/1.6 monospace; }
      .photo-frame .photo-preview-button { width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
      .photo-frame .photo-preview-button:hover { transform: none; box-shadow: inset 0 0 20px #79fbd133; }
      .photo-preview-button:focus-visible { outline-offset: -4px; }
      .photo-modal { width: min(1100px, 94vw); max-height: 92vh; padding: 22px; border: 1px solid #79fbd1; border-radius: 6px; background: #101b21; color: #edf5f5; box-shadow: 0 0 40px #79fbd122; }
      .photo-modal::backdrop { background: #03080ddd; }
      .photo-modal-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
      .photo-modal h2 { margin: 0; font: bold 18px/1.5 monospace; overflow-wrap: anywhere; }
      .photo-modal img { display: block; width: 100%; max-height: 70vh; object-fit: contain; background: #091216; }
      .command-overview { margin-bottom: 28px; padding: 22px; border: 1px solid #46605f; background: linear-gradient(135deg, #102522, #111a20); }
      .command-overview h2 { margin: 0 0 10px; font-size: 1.5rem; }
      .overview-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
      .overview-stat { padding: 16px 12px; border: 1px solid #2e4947; background: #0b151a; border-radius: 3px; }
      .overview-stat h3 { margin: 0 0 12px; color: #a4b6bd; font: 11px/1.5 monospace; }
      .overview-stat strong { display: block; color: #79fbd1; font: bold 30px/1.2 monospace; }
      .overview-stat small { display: block; margin-top: 8px; color: #93a7b0; font: 10px/1.5 monospace; }
      .overview-stat.urgent strong { color: #ffadb7; }
      @media (max-width: 900px) { .overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
      @media (max-width: 480px) { .overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
      .activity-log { margin-top: 32px; }
      .activity-feed { max-height: 320px; overflow-y: auto; padding: 0; margin: 20px 0 0; list-style: none; }
      .activity-feed li { padding: 12px 0; border-bottom: 1px solid #2e4947; font: 12px/1.6 monospace; overflow-wrap: anywhere; }
      .activity-feed time { color: #93a7b0; }
      .activity-type { display: inline-block; margin: 0 10px; color: #79fbd1; }
      .activity-description { display: block; margin-top: 4px; }

.activity-log { max-width: 1120px; margin-left: auto; margin-right: auto; }
.storage-monitor { margin-top: 32px; border-top-color: #79fbd1; }
.storage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.storage-grid > div { padding: 16px; background: #0b151a; border: 1px solid #2e4947; border-radius: 3px; }
.storage-grid span { display: block; color: #a4b6bd; font: 11px/1.5 monospace; }
.storage-grid strong { display: block; margin-top: 10px; color: #79fbd1; font: bold 24px/1.4 monospace; }
.card .storage-warning { padding: 14px; border-left: 3px solid #d9b47c; background: #30271b; color: #f4d299; font: 12px/1.6 monospace; }
.garage-report { margin-top: 32px; }
.next-up { margin-bottom: 28px; padding: 22px; border: 1px solid #46605f; background: #101b21; }
.next-up h2 { margin: 0 0 10px; }
.next-up > p { color: #a4b6bd; line-height: 1.6; }
.next-up-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; padding: 0; margin: 18px 0 0; list-style: none; }
.priority-alert { padding: 16px; border: 1px solid #46605f; border-left: 3px solid #79fbd1; background: #0b151a; overflow-wrap: anywhere; }
.priority-alert.urgent { border-left-color: #ff7887; background: #281b23; }
.priority-alert .alert-label { color: #79fbd1; font: 11px/1.6 monospace; }
.priority-alert.urgent .alert-label { color: #ffadb7; }
.priority-alert h3 { margin: 10px 0; font-size: 1rem; }
.priority-alert p { color: #a4b6bd; margin: 0; font: 12px/1.6 monospace; white-space: pre-wrap; }
.report-preview { margin-top: 24px; padding: 24px; border: 1px solid #46605f; background: #0b151a; overflow-wrap: anywhere; }
.report-preview h3 { margin-top: 28px; color: #79fbd1; font-size: 1rem; }
.report-preview ul { padding-left: 20px; }
.report-preview li { margin-bottom: 14px; white-space: pre-wrap; line-height: 1.65; font-size: 13px; }
@media print {
  body.printing-report { display: block; margin: 0; padding: 0; background: white; color: black; }
  body.printing-report > :not(main), body.printing-report main > :not(#garage-report),
  body.printing-report #garage-report > :not(#report-preview) { display: none !important; }
  body.printing-report main, body.printing-report #garage-report, body.printing-report #report-preview { display: block; max-width: none; width: 100%; margin: 0; padding: 0; border: 0; background: white; box-shadow: none; transform: none; color: black; }
  body.printing-report #report-preview h2, body.printing-report #report-preview h3, body.printing-report #report-preview p { color: black; }
  body.printing-report #report-preview h3 { break-after: avoid; }
  body.printing-report #report-preview li { break-inside: avoid; }
  @page { margin: 18mm; }
}

/* Ghost Garage original performance showroom */
:root { --performance-blue: #488dff; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { padding-top: 0; background: #090c12; color: #f4f6fa; font-family: Arial, Helvetica, sans-serif; }
main { max-width: 1400px; }
.showroom-nav { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px 0; background: #090c12f5; border-bottom: 1px solid #263247; }
.showroom-nav a { color: #ecf1fa; text-decoration: none; }
.showroom-nav > div { display: flex; flex-wrap: wrap; gap: 20px; font-size: 12px; font-weight: bold; }
.showroom-nav a:hover { color: #80b2ff; }
.brand { font-size: 21px; font-weight: 900; letter-spacing: -1px; white-space: nowrap; }
.brand span { display: block; margin-top: 5px; font: 9px monospace; letter-spacing: 3px; color: #80b2ff; }
.showroom-hero { position: relative; margin: 20px 0 36px; padding: 80px 48px; overflow: hidden; background: linear-gradient(115deg, #14243e 0%, #101929 58%, #224a8b 100%); border: 1px solid #2d4568; }
.showroom-hero h1 { max-width: 900px; font-size: clamp(2.6rem, 7vw, 6rem); font-weight: 900; letter-spacing: -3px; line-height: .98; }
.showroom-hero .intro { max-width: 650px; font-size: 18px; color: #c0cde0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.showroom-action, button { border-radius: 2px; background: #3175e4; border-color: #488dff; color: white; }
.showroom-action { display: inline-block; padding: 15px 26px; text-decoration: none; font-weight: bold; }
button:hover, .showroom-action:hover { background: #4c91ff; box-shadow: 0 5px 20px #347bea33; }
button:disabled { opacity: .5; cursor: default; }
.card, .command-overview, .next-up, .command-search { background: #121923; border-color: #2b3748; border-radius: 3px; }
.card:hover { border-color: #488dff; }
.eyebrow, .card-number, .command-search label, .overview-stat strong, .storage-grid strong { color: #82b4ff; }
.status-bar { color: #94bdff; background: #101e33; border-color: #345482; }
.garage { border-top-color: #488dff; }
#bays-title { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -1px; }
.vehicle-bays { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 24px; }
.vehicle-slot { background: #f0f3f8; color: #111d30; padding: 28px; border: 1px solid #c9d4e3; border-top: 4px solid #3175e4; box-shadow: none; }
.vehicle-slot:hover { border-color: #488dff; box-shadow: 0 10px 32px #3175e422; }
.vehicle-slot .card-number { color: #315a94; }
.vehicle-slot h4 { font-size: clamp(1.3rem, 2.5vw, 1.9rem); font-weight: 900; letter-spacing: -.5px; }
.vehicle-slot dt { color: #52647d; }
.vehicle-slot dl { display: grid; grid-template-columns: 1fr 2fr; gap: 8px 18px; }
.vehicle-slot dt, .vehicle-slot dd { margin: 0; }
.vehicle-slot > button { margin-right: 10px; }
.vehicle-slot .project-form { color: #eef4ff; }
.bay-photo figcaption { color: #355c91; }
.photo-frame { background: #dce3ed; border-color: #c4d1e3; box-shadow: none; }
.photo-frame span { color: #52647d; }
.photo-controls button { font-size: 10px; padding: 6px 10px; }
.vehicle-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.vehicle-filters button { background: transparent; color: #d4e0f3; padding: 10px 20px; border-color: #374963; }
.vehicle-filters button[aria-pressed="true"] { background: #3175e4; color: white; border-color: #488dff; }
.category-hidden { display: none !important; }
.explore-modal { border-color: #488dff; }
.explore-modal dl { display: grid; grid-template-columns: 130px 1fr; gap: 10px; }
.explore-modal dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.explore-modal dt { color: #82b4ff; }
.explore-modal li { margin-bottom: 12px; line-height: 1.6; white-space: pre-wrap; }
.explore-modal h3 { color: #82b4ff; }
.activity-log, footer { max-width: 1400px; }
@media(max-width: 760px) { .showroom-nav { align-items: flex-start; flex-direction: column; gap: 12px; padding: 12px 0; } .showroom-nav > div { gap: 12px; } .showroom-hero { padding: 44px 22px; } .vehicle-bays { grid-template-columns: 1fr; } .vehicle-slot { padding: 20px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Shared showroom rhythm; screen-only to preserve the report print layout. */
@media screen {
  :root { --panel-space: clamp(20px, 3vw, 36px); --section-gap: 32px; --panel-line: #2b3a50; }
  body { padding-inline: clamp(16px, 3vw, 48px); }
  .showroom-nav { max-width: 1400px; margin-inline: auto; }
  .showroom-nav > div a { padding-block: 8px; }
  .showroom-nav a:focus-visible, .showroom-action:focus-visible { outline: 2px solid #91bdff; outline-offset: 5px; }
  main > .status-bar { margin-top: 16px; font-size: 10px; }
  .card, .command-overview, .next-up, .command-search { padding: var(--panel-space); border: 1px solid var(--panel-line); box-shadow: 0 8px 28px #00000012; }
  .card:hover { transform: none; box-shadow: 0 8px 28px #00000012; }
  .command-overview, .command-search, .next-up { margin-bottom: var(--section-gap); }
  .service-planner, .data-vault, .storage-monitor, .garage-report, .activity-log { margin-top: var(--section-gap); }
  .dashboard { gap: 24px; align-items: start; }
  .card > h2, .command-overview > h2, .next-up > h2, .garage-inventory h3 { margin: 12px 0 14px; font-size: clamp(1.4rem, 2.3vw, 2rem); font-weight: 800; letter-spacing: -.6px; line-height: 1.2; }
  .card > p, .next-up > p { line-height: 1.7; }
  .eyebrow, .card-number { letter-spacing: 1.8px; font-size: 10px; }
  .garage { margin-top: 48px; padding-top: 40px; }
  .garage > h2 { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -1px; }
  .garage-intro { max-width: 760px; font-size: 14px; }
  .garage h3#bays-title { margin: 36px 0 22px; }
  button:not(.photo-preview-button), .showroom-action { min-height: 42px; padding: 11px 18px; font: 700 12px/1.5 Arial, sans-serif; letter-spacing: .2px; border-radius: 3px; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
  button:not(.photo-preview-button):hover { transform: none; }
  button:disabled:hover { box-shadow: none; }
  .small-button, .photo-controls button { min-height: 36px; }
  .delete-project { background: #283345; border-color: #526279; color: #e4ebf7; }
  .delete-project:hover { background: #394962; }
  .vault-actions, .hero-actions { gap: 12px; }
  .showroom-hero { padding: clamp(36px, 6vw, 88px); margin-bottom: var(--section-gap); border: 1px solid #304d77; background: radial-gradient(ellipse at 100% 0%, #3578d960, transparent 60%), linear-gradient(120deg, #101b2c 20%, #111d31 64%, #19365e); }
  .showroom-hero::after { content: ''; position: absolute; right: -90px; top: 0; height: 100%; width: 220px; border-left: 1px solid #82b4ff22; border-right: 30px solid #82b4ff09; transform: skewX(-18deg); pointer-events: none; }
  .showroom-hero > * { position: relative; z-index: 1; }
  .showroom-hero h1 { max-width: 1000px; margin-bottom: 26px; font-size: clamp(2.65rem, 6.8vw, 6.5rem); letter-spacing: -.055em; line-height: 1; text-wrap: balance; }
  .showroom-hero .intro { max-width: 630px; font-size: clamp(15px, 1.7vw, 19px); }
  .showroom-hero #start-mission { background: transparent; border-color: #6584ad; }
  .showroom-hero .mission-panel { margin-top: 24px; background: #0c1626; border-color: #3b5b89; }
  .mission-panel h2, .activity-type { color: #91bdff; }
  .overview-grid, .storage-grid { gap: 14px; }
  .overview-stat, .storage-grid > div { background: #0d1521; border-color: #293951; padding: 18px 14px; }
  .overview-stat strong, .storage-grid strong { font-family: Arial, sans-serif; font-weight: 800; }
  .priority-alert { border-color: #334965; border-left-color: #488dff; background: #0d1521; }
  .priority-alert .alert-label { color: #91bdff; }
  .priority-alert.urgent { border-left-color: #ff7887; background: #281b23; }
  .vehicle-bays { gap: 28px; align-items: start; }
  .vehicle-slot { padding: clamp(20px, 2.8vw, 34px); border-radius: 4px; background: linear-gradient(150deg, #ffffff, #e9eef6); }
  .vehicle-slot:hover { transform: none; box-shadow: 0 10px 30px #1d56a51c; }
  .vehicle-slot h4 { min-height: 2.5em; margin: 16px 0 20px; line-height: 1.25; }
  .bay-gallery { margin: 0 0 24px; }
  .photo-frame { border-radius: 3px; background: radial-gradient(ellipse at center, #f2f5fa, #d9e1ed); }
  .bay-photo figcaption { margin-bottom: 10px; font: 700 10px/1.6 Arial, sans-serif; letter-spacing: .7px; text-transform: uppercase; }
  .photo-feedback:empty { display: none; }
  .vehicle-slot .photo-feedback { color: #3d5679; }
  .vehicle-slot dl { padding-block: 20px; border-top: 1px solid #ccd6e5; border-bottom: 1px solid #ccd6e5; row-gap: 12px; }
  .vehicle-slot dd { font-size: 13px; }
  .vehicle-slot > button:not(.explore-button) { background: transparent; color: #234f8d; border-color: #91aaca; }
  .project-form { margin-top: 24px; border-color: #334965; border-radius: 4px; }
  .project-form input, .project-form select, .project-form textarea { min-width: 0; background: #101c2d; border-color: #3c506e; }
  .project-entry { border-color: #2f4058; background: #0d1521; }
  .project-status { color: #a6c9ff; background: #1d304c; }
  .card-label { margin-top: 24px; color: #89a5ce; border-color: #2c3c54; }
  .activity-feed li { padding: 16px 0; border-color: #2c3c54; }
  .report-preview { background: #0c1522; border-color: #3c506e; }
  .report-preview h3 { color: #91bdff; }
  .photo-modal { padding: clamp(16px, 3vw, 30px); border-color: #5a8fd9; }
  footer { padding-block: 28px; border-color: #2c3c54; }
}
@media screen and (max-width: 760px) {
  html { scroll-padding-top: 130px; }
  .showroom-nav > div { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 4px; gap: 20px; }
  .showroom-nav > div a { white-space: nowrap; }
  .showroom-hero::after { display: none; }
  .vehicle-filters { gap: 8px; }
  .vehicle-filters button { flex: 1 0 auto; }
  .vehicle-slot h4 { min-height: 0; }
  .explore-modal dl { grid-template-columns: 100px minmax(0, 1fr); }
}
@media screen and (max-width: 420px) {
  .hero-actions > *, .vault-actions > button { width: 100%; text-align: center; }
  .vehicle-slot dl { grid-template-columns: 100px minmax(0, 1fr); gap: 12px; }
  .photo-modal-heading { align-items: flex-start; }
  .storage-grid { grid-template-columns: 1fr 1fr; }
}
@media screen and (prefers-reduced-motion: reduce) {
  button:not(.photo-preview-button), .showroom-action { transition: none; }
}

.build-timeline { margin-top: 32px; }
#timeline-form { max-width: 680px; }
.timeline-group { margin-top: 28px; }
.timeline-group > h3 { padding-bottom: 12px; border-bottom: 1px solid #304767; color: #91bdff; }
.timeline-entry { position: relative; margin: 16px 0 16px 8px; border-left: 3px solid #488dff; padding: 20px; }
.timeline-entry time { display: inline-block; color: #a6b9d4; font: 12px/1.5 monospace; margin-right: 16px; }
.timeline-entry h4 { font-size: 17px; margin: 8px 0 14px; overflow-wrap: anywhere; }
.timeline-entry button { margin-right: 10px; }
.timeline-entry .project-status { margin-bottom: 8px; }
@media screen and (min-width: 1100px) { .overview-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

.build-documentRecord { margin-top: 32px; }
#documentRecord-form { max-width: 680px; }
.documentRecord-group { margin-top: 28px; }
.documentRecord-group > h3 { padding-bottom: 12px; border-bottom: 1px solid #304767; color: #91bdff; }
.documentRecord-entry { position: relative; margin: 16px 0 16px 8px; border-left: 3px solid #488dff; padding: 20px; }
.documentRecord-entry time { display: inline-block; color: #a6b9d4; font: 12px/1.5 monospace; margin-right: 16px; }
.documentRecord-entry h4 { font-size: 17px; margin: 8px 0 14px; overflow-wrap: anywhere; }
.documentRecord-entry button { margin-right: 10px; }
.documentRecord-entry .project-status { margin-bottom: 8px; }
@media screen and (min-width: 1100px) { .overview-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

@media screen and (min-width: 1100px) { .overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.cost-tracker { margin-top: 32px; }
.cost-tracker .storage-grid strong { font-size: clamp(17px, 2vw, 24px); overflow-wrap: anywhere; }
.cost-vehicles { list-style: none; padding: 0; margin: 20px 0; }
.cost-vehicles li { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid #304767; line-height: 1.6; }
.cost-vehicles strong { color: #91bdff; white-space: nowrap; }
#stat-spend { font-size: clamp(17px, 2vw, 28px); overflow-wrap: anywhere; }

/* Mega Upgrade Pack: shared records terminals and compact controls. */
.upgrade-section, .quick-add { margin-block: 32px; }
.upgrade-form { max-width: 700px; }
.upgrade-form button { margin: 6px 10px 0 0; }
.upgrade-records { display: grid; gap: 16px; margin-top: 22px; }
.upgrade-record h4 { font-size: 18px; margin: 0 0 18px; }
.upgrade-record button { margin: 6px 10px 0 0; }
.upgrade-record .project-notes { margin-bottom: 10px; overflow-wrap: anywhere; }
#specs-records { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#specs-records .upgrade-record { border-top: 3px solid #488dff; }
.upgrade-group h3 { margin: 10px 0 18px; color: #91bdff; }
.record-filters { margin-top: 20px; border: 1px solid #304767; padding: 12px 16px; border-radius: 3px; }
.record-filters summary { cursor: pointer; color: #91bdff; font-size: 12px; font-weight: bold; }
.filter-fields { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.filter-fields label { display: grid; gap: 8px; flex: 1 1 140px; color: #a4b6bd; font-size: 12px; }
.filter-fields select { width: 100%; padding: 10px; border: 1px solid #3c506e; border-radius: 3px; background: #101c2d; color: #edf5f5; }
.record-filters small { color: #93a7b0; }
.filter-hidden { display: none !important; }
.timeline-group, .documentRecord-group, .upgrade-group { display: flex; flex-direction: column; gap: 12px; }
.timeline-group > h3, .documentRecord-group > h3, .upgrade-group > h3 { order: -1; }
#stat-wishlist-cost { font-size: clamp(16px, 2vw, 26px); overflow-wrap: anywhere; }
@media screen and (min-width: 1100px) { .overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media(max-width: 650px) { #specs-records { grid-template-columns: 1fr; } .quick-add button { flex: 1 1 150px; } }

/* Triple Pack: readiness, pre-ride records, and mobile garage controls. */
.readiness-progress { margin: 18px 0 24px; }
.readiness-progress-label { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 10px; font: 12px/1.5 monospace; }
.readiness-progress progress { display: block; width: 100%; height: 10px; border: 0; border-radius: 20px; overflow: hidden; appearance: none; background: #c9d5e6; accent-color: #3175e4; }
.readiness-progress progress::-webkit-progress-bar { background: #c9d5e6; border-radius: 20px; }
.readiness-progress progress::-webkit-progress-value { background: linear-gradient(90deg, #2565cb, #75adff); border-radius: 20px; }
.readiness-progress progress::-moz-progress-bar { background: #488dff; border-radius: 20px; }
.riding-mode { margin-bottom: 32px; }
.riding-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; margin-top: 24px; }
.riding-card h3 { margin: 16px 0; line-height: 1.4; font-size: 19px; }
.readiness-badge { display: inline-block; padding: 6px 10px; border: 1px solid; border-radius: 3px; font: bold 11px/1.5 monospace; letter-spacing: 1px; }
.readiness-badge.ready { background: #132e29; color: #94e8c5; border-color: #376657; }
.readiness-badge.review { background: #332b1b; color: #f0cc81; border-color: #79643a; }
.readiness-badge.not-ready { background: #34212a; color: #ffabb7; border-color: #80505c; }
.riding-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 32px; border-top: 1px solid #304767; padding-top: 24px; }
#reset-gear { margin-top: 20px; }
#ride-note-form { margin-top: 16px; }
.ride-note time { color: #91bdff; font: 12px/1.6 monospace; }
.ride-note h4 { margin: 12px 0; font-size: 17px; }
.mobile-garage-nav { display: none; }
.command-home { margin-bottom: 32px; border-top: 3px solid #488dff; }
.home-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 24px 0; }
.home-stats > div { padding: 18px 14px; border: 1px solid #304767; background: #0c1522; border-radius: 3px; }
.home-stats span, .home-stats small { display: block; color: #a4b6bd; font: 11px/1.6 monospace; }
.home-stats strong { display: block; margin: 10px 0; font-size: clamp(22px, 2.5vw, 30px); color: #91bdff; overflow-wrap: anywhere; }
.home-stats small { font-size: 10px; }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-actions > * { flex: 1 1 170px; min-height: 48px; display: grid; place-items: center; text-align: center; }
.home-feeds { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #304767; }
.home-feeds > section { min-width: 0; }
.home-feeds h3 { margin: 0 0 18px; font-size: 18px; }
.home-focus { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.home-focus .priority-alert h3 { font-size: 15px; margin: 10px 0; }
.home-focus .priority-alert p { margin: 0; }
#home-activity { margin-top: 0; max-height: 380px; }
@media screen and (max-width: 760px) { .home-feeds { grid-template-columns: 1fr; } .home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 760px) {
  html { scroll-padding-top: 132px; }
  .showroom-nav { height: 64px; min-height: 64px; justify-content: center; }
  .showroom-nav > div { display: none; }
  .mobile-garage-nav { display: flex; align-items: center; gap: 12px; position: sticky; top: 64px; z-index: 19; min-height: 58px; padding: 6px 0; background: #090c12f5; border-bottom: 1px solid #304767; }
  .mobile-garage-nav label { color: #91bdff; font: bold 12px monospace; white-space: nowrap; }
  .mobile-garage-nav select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #3c506e; background: #101c2d; color: #edf5f5; border-radius: 4px; font-size: 16px; }
  .riding-tools { grid-template-columns: 1fr; }
  button:not(.photo-preview-button), .small-button, .photo-controls button, .vehicle-filters button, .showroom-action { min-height: 44px; padding: 12px 16px; }
  .project-form { padding: 16px; }
  .project-form label { margin-bottom: 18px; line-height: 1.6; }
  .project-form input, .project-form select, .project-form textarea, .filter-fields select { width: 100%; min-height: 44px; font-size: 16px; }
  .photo-controls, .vault-actions { gap: 12px; }
  .vehicle-slot > button, .project-entry > button { margin-top: 10px; margin-bottom: 4px; }
  .vehicle-slot dl { grid-template-columns: minmax(80px, 1fr) minmax(0, 2fr); }
  .photo-modal { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 16px; }
  .photo-modal-heading { position: sticky; top: -16px; z-index: 1; padding: 12px 0; background: #101b21; }
  .photo-modal-heading button { flex-shrink: 0; }
  .photo-modal img { width: 100%; max-height: 55dvh; object-fit: contain; }
  .explore-modal dl { grid-template-columns: minmax(80px, 1fr) minmax(0, 2fr); }
  #ride-gear-list label { min-height: 44px; }
  #ride-gear-list input { width: 22px; height: 22px; }
  .filter-fields { flex-direction: column; }
  .filter-fields label { flex: auto; }
}

.garage-floor-plan { margin-top: 32px; }
.floor-plan-deck { margin-top: 24px; padding: clamp(14px, 2vw, 24px); border: 1px solid #304767; border-radius: 4px; background: linear-gradient(#488dff06 1px, transparent 1px), linear-gradient(90deg, #488dff06 1px, transparent 1px), #090f19; background-size: 24px 24px; }
.floor-plan-lane { padding: 14px; margin-bottom: 24px; border-block: 1px dashed #496389; color: #7f9fcb; font: 10px/1.6 monospace; letter-spacing: 2px; text-align: center; }
.floor-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.floor-plan-bay { position: relative; min-width: 0; padding: 20px; border: 1px solid #3a577d; border-bottom: 4px solid #488dff; border-radius: 3px; background: #111d2c; transition: border-color 160ms ease, box-shadow 160ms ease; }
.floor-plan-bay:hover, .floor-plan-bay:focus-within { border-color: #82b4ff; box-shadow: 0 0 24px #488dff25; }
.floor-plan-bay.urgent { border-color: #8c4d5f; border-bottom-color: #ff7887; }
.floor-plan-bay-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.floor-plan-image { width: 100%; aspect-ratio: 16 / 9; display: grid; place-items: center; margin-top: 18px; border: 1px solid #2d425e; background: #090f19; overflow: hidden; }
.floor-plan-image img { width: 100%; height: 100%; object-fit: contain; min-height: 0; }
.floor-plan-image span { padding: 12px; color: #7996bd; font: 10px/1.5 monospace; text-align: center; }
.floor-plan-bay h3 { margin: 18px 0 12px; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.floor-plan-bay .floor-plan-details { margin: 0; white-space: pre-wrap; color: #a4b6bd; font: 12px/1.7 monospace; }
.floor-plan-open::after { content: ''; position: absolute; inset: 0; cursor: pointer; }
.floor-plan-open:focus-visible { outline: none; }
.floor-plan-open:focus-visible::after { outline: 3px solid #a6c9ff; outline-offset: 4px; }
@media screen and (max-width: 1000px) { .floor-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 600px) { .floor-plan-grid { grid-template-columns: 1fr; gap: 20px; } .floor-plan-bay { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .floor-plan-bay { transition: none; } }

.smart-maintenance { margin-top: 32px; }
#interval-form { max-width: 700px; }
#interval-form button { margin: 6px 10px 0 0; }
.smart-group { margin-top: 28px; }
.smart-group > h3 { padding-bottom: 12px; border-bottom: 1px solid #304767; color: #91bdff; }
.smart-rule { margin-top: 16px; border-left: 3px solid #488dff; }
.smart-rule h4 { font-size: 18px; margin: 14px 0; }
.interval-badge { display: inline-block; padding: 5px 10px; border: 1px solid #3b597a; border-radius: 3px; font: bold 11px/1.6 monospace; color: #a4caff; background: #172b44; }
.interval-badge.ok { color: #94e8c5; border-color: #376657; background: #132e29; }
.interval-badge.due-soon { color: #f0cc81; border-color: #79643a; background: #332b1b; }
.interval-badge.due-now, .interval-badge.overdue { color: #ffabb7; border-color: #80505c; background: #34212a; }
.interval-badge.needs-setup { color: #c5cddd; border-color: #58647b; background: #263040; }
@media screen and (max-width: 600px) { .smart-rule .vault-actions > button { flex: 1 1 130px; } }

/* Diagnostic repair terminal */
.issue-tracker { grid-column: 1 / -1; }
#issue-groups { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.issue-group { display: grid; gap: 1rem; min-width: 0; }
.issue-group > h3 { margin: 0; border-bottom: 1px solid #304760; padding-bottom: .75rem; }
.issue-ticket { min-width: 0; overflow-wrap: anywhere; border-left: 3px solid #438cff; }
.issue-ticket h4 { font-size: 1.15rem; margin: .8rem 0; }
.issue-badge { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .06em; color: #afceff; }
.issue-ticket.high { border-left-color: #f2be68; }
.issue-ticket.high .issue-badge { color: #f2be68; }
.issue-ticket.critical { border-color: #fb7891; background: linear-gradient(110deg, #2a1826, #111d2d); }
.issue-ticket.critical .issue-badge { color: #ff9caf; }
.issue-ticket.resolved { border-left-color: #76cbaa; background: #132522; }
.issue-ticket.resolved .issue-badge { color: #94dbbe; }
@media (max-width: 600px) { .issue-ticket .vault-actions { display: flex; flex-wrap: wrap; } .issue-ticket .vault-actions button { flex: 1 1 110px; min-height: 44px; } }

/* Ride telemetry */
.ride-log { grid-column: 1 / -1; }
#ride-entry-groups, .ride-entry-group { display: grid; gap: 1rem; min-width: 0; margin-top: 1rem; }
.ride-entry-group > h3 { margin: 0; border-bottom: 1px solid #304760; padding-bottom: .75rem; }
.ride-entry { border-left: 3px solid #438cff; min-width: 0; overflow-wrap: anywhere; }
.ride-entry h4 { font-size: 1.1rem; margin: .8rem 0; }
#ride-entry-form input[type="checkbox"] { width: auto; min-height: auto; accent-color: #438cff; }
@media (max-width: 600px) { .ride-entry .vault-actions { display: flex; flex-wrap: wrap; } .ride-entry .vault-actions button { flex: 1 1 110px; min-height: 44px; } }

/* Ride operations terminals */
.ops-section { grid-column: 1 / -1; }
.ops-records { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: 1rem; margin-top: 1rem; }
.ops-record { min-width: 0; overflow-wrap: anywhere; border-left: 3px solid #438cff; }
.ops-record.urgent { border-color: #fb7891; background: linear-gradient(110deg, #2a1826, #111d2d); }
.ops-record.urgent .issue-badge { color: #ff9caf; }
.ops-summary { font-size: .875rem; color: #bfd1e6; }
.ops-section input[type="checkbox"] { width: auto; min-height: auto; accent-color: #438cff; }
@media(max-width:600px) { .ops-record .vault-actions { display:flex;flex-wrap:wrap; } .ops-record .vault-actions button { flex:1;min-height:44px; } }

/* Local-app navigation and section controls */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 140px; }
.showroom-nav > div { gap: 12px; }
.showroom-nav > div a { padding: 8px 10px; border-radius: 5px; }
.showroom-nav a[aria-current="location"] { background: #183558; color: #bcd8ff; box-shadow: inset 0 -2px #629fff; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading > h2, .section-heading > h3 { margin: 0; }
.section-toggle { flex-shrink: 0; font-size: .75rem; padding: 8px 12px; }
.section-collapsed > :not(.section-heading) { display: none !important; }
.section-collapsed .section-heading { margin-bottom: 0; }
.collapsible-section { min-width: 0; }
.showroom-section { margin-block: 2rem; }
.project-form { margin-block: 1.25rem; }
.empty-state { padding: 1rem; border: 1px dashed #34465e; border-radius: 6px; color: #b8c7d9; }
button.danger-button { background: #291c29; color: #ffc0cc; border-color: #865266; }
button.danger-button:hover { background: #452235; border-color: #dd8199; }
#back-to-top { position: fixed; bottom: 24px; right: 20px; z-index: 25; box-shadow: 0 4px 18px #0008; }
@media(max-width:760px) { .section-heading { align-items: flex-start; gap: .5rem; } .section-heading h2,.section-heading h3 { font-size: 1.25rem; } button.small-button { min-height: 44px; } #back-to-top { bottom: 16px;right: 12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
@media print { .section-toggle,#back-to-top { display:none !important; } body.printing-report #garage-report #report-preview { display:block !important; } }
/* Search results remain visible even in a saved collapsed section. */
.section-collapsed.search-reveal > :not(.section-heading):not([hidden]):not(.search-hidden):not(.filter-hidden):not(.category-hidden) { display: revert !important; }

.vault-preview, .vault-reminder, .vault-danger { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid #344b69; border-radius: 8px; background: #0d1928; }
#import-preview-details { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: .5rem 1rem; overflow-wrap: anywhere; }
#import-preview-details p { margin: .25rem 0; }
.vault-danger { border-color: #865266; background: #211923; }
.vault-reminder li { padding-block: .25rem; }

.app-mode { grid-column: 1 / -1; }
.app-mode li { margin-block: .5rem; }
.app-mode-status { padding: 1rem 1.25rem; background: #0d1928; border: 1px solid #344b69; border-radius: 8px; overflow-wrap: anywhere; }
.app-mode-status p { margin-block: .5rem; }

.local-server-help { margin-block: 1.25rem; padding: 1.25rem; border: 1px solid #344b69; border-radius: 8px; background: #0d1928; }
.local-server-help code { overflow-wrap: anywhere; white-space: normal; color: #c4ddff; }
.local-server-help li { line-height: 1.7; }
.local-server-help button { margin: .5rem; }
#app-origin, #launch-copy-feedback { overflow-wrap: anywhere; }

.release-readiness { grid-column: 1 / -1; }
#release-checklist { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: .5rem; }
#release-checklist label { display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.75rem; border:1px solid #344b69; border-radius:6px; cursor:pointer; }
#release-checklist input { width:20px; height:20px; flex-shrink:0; accent-color:#438cff; }
#release-checklist label:has(input:checked) { border-color:#589e88; background:#132522; }

.about-garage { grid-column: 1 / -1; }
.about-garage dl { display:grid; grid-template-columns:minmax(90px,140px) minmax(0,1fr); gap:.6rem 1rem; }
.about-garage dt { color:#a9bfdb; font-weight:600; }
.about-garage dd { margin:0; overflow-wrap:anywhere; }
.release-freeze-note { padding:1rem; border-left:3px solid #438cff; background:#0d1928; }

#roadmap-records .upgrade-group { display:grid; gap:1rem; min-width:0; }
#roadmap-records .upgrade-group > h3 { margin-block:1rem .25rem; color:#a9caff; }
#roadmap-records .upgrade-completed { border-left:3px solid #76cbaa; background:#132522; }
#roadmap-records button { margin:.25rem; min-height:44px; }

#gallery-index { grid-column:1 / -1; }
.vehicle-gallery-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin-top:1rem; }
.gallery-preview { display:block;width:100%;padding:0;overflow:hidden;background:#091216;border:1px solid #344b69; }
.gallery-preview img { display:block;width:100%;aspect-ratio:3 / 2;object-fit:contain; }
.vehicle-gallery .small-button { margin:.25rem;min-height:44px; }
.vehicle-gallery p,#gallery-search-records p { white-space:pre-wrap;overflow-wrap:anywhere; }

#part-list .installed-part { border-left:3px solid #76cbaa; background:#132522; }
#part-install-form { border:1px solid #527aa8; padding:1rem; border-radius:8px; }
#part-install-form input[type="checkbox"] { width:20px;height:20px;min-height:20px;accent-color:#438cff; }
#part-list .small-button { margin:.25rem;min-height:44px; }

#consumables-records .small-button,#tool-care-records .small-button,#torque-records .small-button { margin:.25rem;min-height:44px; }
.inventory-urgent { border-left:3px solid #fb7891;background:#291c29; }
#torque-records .upgrade-group { display:grid;gap:1rem;min-width:0; }

.workshop { grid-column:1 / -1; }
.work-order { margin-block:1rem; }
.work-order summary { cursor:pointer;font-weight:700;min-height:44px;padding:.5rem; }
.work-order .small-button { min-height:44px;margin:.25rem; }
.work-order p { white-space:pre-wrap;overflow-wrap:anywhere; }
.work-order progress { width:100%;height:12px; }
#workshop-form input[type="checkbox"] { width:20px;height:20px;min-height:20px; }

.quality-section { grid-column:1 / -1; }
.quality-row { margin:.75rem 0;padding:.75rem;border:1px solid #344b69;border-radius:6px; }
.quality-row p,.inspection-record p,#service-report-preview li { white-space:pre-wrap;overflow-wrap:anywhere; }
.quality-fail { border-color:#f17e96;background:#321c29; }
.quality-unchecked { border-color:#c7a364;background:#29271e; }
.quality-section .small-button,.repair-checklist .small-button { min-height:44px;margin:.25rem; }
.inspection-record summary,.repair-checklist summary { min-height:44px;cursor:pointer;font-weight:700;padding:.5rem; }
#inspection-form-host input[type="checkbox"] { width:20px;min-height:20px; }
@media print {
  @page { margin:18mm; }
  body.printing-service-report { display:block;background:white;color:black;margin:0;padding:0; }
  body.printing-service-report > :not(main),body.printing-service-report main > :not(#service-report-section),body.printing-service-report #service-report-section > :not(#service-report-preview) { display:none !important; }
  body.printing-service-report main,body.printing-service-report #service-report-section,body.printing-service-report #service-report-preview { display:block!important;width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:white;color:black; }
  body.printing-service-report #service-report-preview * { color:black;background:white; }
  body.printing-service-report li { break-inside:avoid; }
  body.printing-service-report h3 { break-after:avoid;border-bottom:1px solid #888; }
}

.coverage-section { grid-column:1 / -1; }
.coverage-record { margin-block:1rem; }
.coverage-record summary { cursor:pointer;min-height:44px;padding:.5rem;font-weight:700; }
.coverage-section .small-button { min-height:44px;margin:.25rem; }
.coverage-alert { border-left:3px solid #f1bc70; }
.coverage-record p { white-space:pre-wrap;overflow-wrap:anywhere; }
.supplier-filter-hidden { display:none!important; }
.coverage-section select { max-width:100%; }

/* Data Fortress recovery controls */
.fortress-panel { margin: 1rem 0; padding: 1rem; border: 1px solid #46658a; background: #101d2d; border-radius: 8px; overflow-wrap: anywhere; }
.fortress-panel summary { cursor: pointer; min-height: 44px; }
.fortress-panel button { min-height: 44px; margin: .25rem; }
#fortress-warning { color: #ffd593; border-left: 3px solid #efa844; padding: .75rem; }

/* Explicit database mode; no changes to the service-worker asset list. */
.database-panel { margin-block: 1rem; }
.database-panel pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; padding: 1rem; background: #0b1422; }
.database-panel button, .database-panel select, .database-panel input { min-height: 44px; margin: .35rem; max-width: 100%; }
.database-panel label { display: block; }
body.database-saving main { pointer-events: none; }
body.database-saving::after { content: 'Storage operation in progress — please wait'; position: fixed; inset: auto 1rem 1rem; z-index: 99999; padding: 1rem; background: #122c4a; border: 1px solid #5599ed; color: white; text-align: center; }
#database-launch-failure { margin: 1rem; padding: 1rem; border: 1px solid #e7a763; }
@media print { .database-panel, .fortress-panel, #database-launch-failure { display: none !important; } }

/* Mobile test foundation; desktop panels and workflows remain present. */
html { -webkit-text-size-adjust:100%; scroll-padding-top:140px; }
body { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); padding-bottom:max(32px,env(safe-area-inset-bottom)); }
.mobile-status { padding:20px; margin:20px 0; border:1px solid #315a90; border-radius:10px; background:#101c2d; }
.mobile-status dl { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,3fr); gap:10px; }
.mobile-status dd { margin:0; overflow-wrap:anywhere; }
.mobile-status dt { color:#97bff8; }
.mobile-status p { line-height:1.6; }
.mobile-quick { display:none; }
:focus-visible { outline:3px solid #91bbff; outline-offset:3px; }
.mobile-photo-confirm { overflow:auto; max-height:90vh; max-height:90dvh; }
.mobile-photo-confirm button { margin:8px; min-height:44px; }
@media(max-width:800px){
 body { padding-top:env(safe-area-inset-top); overflow-wrap:anywhere; }
 .showroom-nav { top:0; min-height:56px; padding:10px max(12px,env(safe-area-inset-left)); }
 .showroom-nav > div { display:none; }
 .mobile-garage-nav { display:flex; top:56px; padding:8px; }
 .mobile-quick { display:flex; gap:10px; margin:12px 0; }
 .mobile-quick button { flex:1; min-height:46px; }
 main,section,article,form,fieldset,nav,figure,.dashboard-grid,.vehicle-grid,.bay-gallery { min-width:0; max-width:100%; }
 input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px; min-height:44px; max-width:100%; width:100%; }
 button,.small-button,.showroom-action { min-height:44px; touch-action:manipulation; white-space:normal; }
 img,video,canvas { max-width:100%; }
 pre { overflow:auto; max-width:100%; }
 .mobile-status dl { grid-template-columns:minmax(0,1fr); gap:4px; }
 .mobile-status dd { margin-bottom:10px; }
 .photo-modal { width:calc(100% - 24px); max-width:720px; max-height:calc(100vh - 32px); max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px); overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:16px; }
 .photo-modal-heading { position:sticky; top:-16px; z-index:2; background:#101b21; padding:12px 0; }
 .photo-modal-heading button { min-width:64px; }
 .photo-controls { display:flex; flex-wrap:wrap; gap:8px; }
 .explore-modal dl { grid-template-columns:minmax(0,1fr); }
 .explore-modal dd { margin-bottom:8px; }
 .vehicle-gallery-grid { grid-template-columns:minmax(0,1fr); }
}
@media(orientation:landscape) and (max-height:600px){.photo-modal { max-height:90dvh; }.hero { padding-block:24px; }.photo-modal img { max-height:48dvh; }}
@media(prefers-reduced-motion:reduce){html {scroll-behavior:auto!important;}*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}}
@media print{.mobile-status,.mobile-quick{display:none!important;}}

@media(max-width:800px){
 body{padding-top:0;}
 .showroom-nav{padding-top:calc(10px + env(safe-area-inset-top));}
 .mobile-garage-nav{top:calc(56px + env(safe-area-inset-top));}
 html{scroll-padding-top:calc(140px + env(safe-area-inset-top));}
}
