/* Owner application: shared, mobile-first visual system. Scoped to avoid
   changing the workshop, platform administration and mechanic surfaces. */
body.owner-redesign {
  --owner-bg: #f3f6f9;
  --owner-surface: #fff;
  --owner-ink: #14273d;
  --owner-muted: #627389;
  --owner-line: #e0e8f0;
  --owner-blue: #177ae9;
  --owner-navy: #0c2946;
  --owner-soft: #edf3f8;
  --owner-green: #18775e;
  --owner-amber: #825c17;
  --cp-bg: var(--owner-bg);
  --cp-surface: var(--owner-surface);
  --cp-ink: var(--owner-ink);
  --cp-muted: var(--owner-muted);
  --cp-line: var(--owner-line);
  --cp-blue: var(--owner-blue);
  --bg: var(--owner-bg);
  --surface: var(--owner-surface);
  --text: var(--owner-ink);
  --muted: var(--owner-muted);
  --line: var(--owner-line);
  --soft: var(--owner-soft);
  --accent: var(--owner-blue);
  margin: 0;
  min-width: 320px;
  background: var(--owner-bg);
  color: var(--owner-ink);
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color-scheme: light;
}
body.owner-redesign *,
body.owner-redesign *::before,
body.owner-redesign *::after {
  box-sizing: border-box;
}
body.owner-redesign .hidden,
body.owner-redesign [hidden] {
  display: none !important;
}
body.owner-redesign button,
body.owner-redesign input,
body.owner-redesign select,
body.owner-redesign textarea {
  font: inherit;
}
body.owner-redesign button,
body.owner-redesign a,
body.owner-redesign summary {
  -webkit-tap-highlight-color: transparent;
}
body.owner-redesign button {
  cursor: pointer;
  box-shadow: none;
}
body.owner-redesign button:disabled {
  opacity: 0.55;
  cursor: wait;
}
body.owner-redesign :focus-visible {
  outline: 3px solid #177ae9;
  outline-offset: 3px;
}
body.owner-redesign input,
body.owner-redesign select,
body.owner-redesign textarea {
  min-width: 0;
  max-width: 100%;
  min-height: 46px;
  padding: 12px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 16px;
}
body.owner-redesign input[type="checkbox"],
body.owner-redesign input[type="radio"] {
  min-height: 18px;
  width: 18px;
  height: 18px;
  padding: 0;
  accent-color: var(--owner-blue);
}
body.owner-redesign input[type="date"] {
  width: 100%;
}
body.owner-redesign textarea {
  resize: vertical;
  min-height: 88px;
}
body.owner-redesign h1,
body.owner-redesign h2,
body.owner-redesign h3 {
  color: var(--owner-ink);
}
body.owner-redesign h1 {
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.8px;
}
body.owner-redesign h2 {
  font-size: 17px;
  letter-spacing: -0.3px;
}
body.owner-redesign h3 {
  font-size: 15px;
}
body.owner-redesign p,
body.owner-redesign small {
  overflow-wrap: anywhere;
}
body.owner-redesign .eyebrow {
  color: var(--owner-muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 1.2px;
}
body.owner-redesign a {
  color: var(--owner-blue);
}
body.owner-redesign .full-pilot-sidebar {
  display: none;
}
body.owner-redesign .shell {
  width: min(1080px, 100%);
  min-height: 100dvh;
  margin: 0 auto;
  padding: 0 24px calc(108px + env(safe-area-inset-bottom, 0px));
  background: var(--owner-bg);
}
body.owner-redesign .owner-header,
body.owner-redesign .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 76px;
  margin: 0 -24px 24px;
  padding: calc(14px + env(safe-area-inset-top, 0px)) 24px 14px;
  border-bottom: 1px solid var(--owner-line);
  background: #ffffffed;
  backdrop-filter: blur(16px);
}
body.owner-redesign .owner-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--owner-ink);
  text-decoration: none;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -0.8px;
}
body.owner-redesign .owner-brand img {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}
body.owner-redesign .owner-brand em,
body.owner-redesign .owner-brand span span {
  color: var(--owner-blue);
  font-style: normal;
}
body.owner-redesign .owner-header-actions,
body.owner-redesign .top-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}
body.owner-redesign #globalLocaleSelect {
  width: 58px;
  min-width: 58px;
  height: 42px;
  min-height: 42px;
  padding: 8px;
  border-radius: 11px;
  font-size: 12px;
}
body.owner-redesign .owner-avatar,
body.owner-redesign .owner-profile-button {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--owner-line);
  border-radius: 50%;
  background: var(--owner-soft);
  color: var(--owner-ink);
  font-size: 12px;
  font-weight: 750;
}
body.owner-redesign .icon-btn,
body.owner-redesign .ghost-btn {
  min-height: 42px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-ink);
}
body.owner-redesign .icon-btn {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 8px;
}
body.owner-redesign .owner-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.owner-redesign .owner-view {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}
body.owner-redesign .owner-view > .section-head {
  margin: 0 0 18px;
}
body.owner-redesign .owner-view > .section-head h1 {
  margin: 0;
}
body.owner-redesign .owner-view-title {
  margin: 0 0 22px;
}
body.owner-redesign .owner-view-title .eyebrow {
  margin: 0 0 6px;
}
body.owner-redesign .owner-view-title h1 {
  margin: 0;
}
body.owner-redesign .owner-page-heading,
body.owner-redesign .owner-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 17px;
}
body.owner-redesign .owner-page-heading {
  margin-bottom: 21px;
}
body.owner-redesign .owner-page-heading h1,
body.owner-redesign .owner-section-heading h2 {
  margin: 0;
}
body.owner-redesign .owner-page-heading .eyebrow {
  margin: 0 0 7px;
}
body.owner-redesign .owner-section-heading {
  margin-top: 22px;
}
body.owner-redesign .owner-text-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 7px 0;
  border: 0;
  background: transparent;
  color: var(--owner-blue);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
body.owner-redesign .owner-status {
  max-width: 900px;
  margin: 0 auto 16px;
}
body.owner-redesign .owner-status:empty {
  display: none;
}
body.owner-redesign .owner-home-shortcuts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}
body.owner-redesign .owner-home-shortcuts button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 12px;
  border: 1px solid var(--owner-line);
  border-radius: 12px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 12px;
  font-weight: 600;
}
body.owner-redesign .owner-home-shortcuts button:first-child {
  border-color: var(--owner-blue);
  background: var(--owner-blue);
  color: #fff;
}
body.owner-redesign .owner-car-context {
  margin-bottom: 18px;
}
body.owner-redesign .owner-car-context button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--owner-line);
  border-radius: 12px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  text-align: left;
  font-size: 12px;
}
body.owner-redesign .owner-car-context small {
  color: var(--owner-muted);
}
body.owner-redesign .owner-history-summary {
  padding: 21px;
  border-radius: 19px;
  background: var(--owner-navy);
  color: #fff;
}
body.owner-redesign .owner-history-summary strong {
  display: block;
  margin: 6px 0;
  color: #fff;
  font-size: 30px;
  letter-spacing: -0.8px;
}
body.owner-redesign .owner-history-summary small,
body.owner-redesign .owner-history-summary p,
body.owner-redesign .owner-history-summary span {
  color: #c1d7e8;
  font-size: 12px;
}
body.owner-redesign .owner-menu-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
body.owner-redesign .owner-menu-identity h2 {
  margin: 0;
}
body.owner-redesign .owner-menu-identity p {
  margin: 5px 0 0;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-menu-avatar {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #eaf3ff;
  color: var(--owner-blue);
  font-weight: 700;
}
body.owner-redesign .owner-menu-list {
  display: grid;
  border: 1px solid var(--owner-line);
  border-radius: 17px;
  overflow: hidden;
}
body.owner-redesign .owner-menu-list > button {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 64px;
  padding: 16px;
  border: 0;
  border-bottom: 1px solid var(--owner-line);
  border-radius: 0;
  background: var(--owner-surface);
  color: var(--owner-ink);
  text-align: left;
}
body.owner-redesign .owner-menu-list > button:last-child {
  border-bottom: 0;
}
body.owner-redesign .owner-menu-list > button > span:nth-child(2) {
  flex: 1;
  font-size: 14px;
}
body.owner-redesign .owner-menu-list small {
  display: block;
  margin-top: 5px;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-menu-list b {
  font-size: 20px;
  font-weight: 400;
  color: var(--owner-muted);
}
body.owner-redesign .owner-embedded-section {
  margin: 20px 0;
}
body.owner-redesign .owner-embedded-section > h2 {
  font-size: 18px;
  margin: 0 0 13px;
}
body.owner-redesign .owner-quick-entry-grid > button {
  min-height: 110px;
  padding: 20px;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  text-align: left;
}
body.owner-redesign .owner-quick-entry-grid > button > span {
  display: block;
  font-size: 16px;
  font-weight: 650;
}
body.owner-redesign .owner-quick-entry-grid > button small {
  display: block;
  margin-top: 8px;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-cars-details {
  margin: 18px 0;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
  padding: 16px;
}
body.owner-redesign .owner-cars-details summary {
  cursor: pointer;
  font-weight: 600;
}
body.owner-redesign .owner-legacy-add {
  display: none !important;
}
body.owner-redesign .owner-vehicle-facts {
  display: flex;
  gap: 22px;
}
body.owner-redesign .owner-vehicle-facts strong {
  display: block;
  margin-top: 4px;
  font-size: 21px;
}
body.owner-redesign .owner-vehicle-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding-top: 16px;
  border-top: 1px solid #ffffff20;
}
body.owner-redesign .owner-vehicle-bottom a {
  text-decoration: none;
  font-size: 12px;
}
body.owner-redesign .owner-vehicle-illustration {
  width: 160px;
  max-width: 40%;
  height: auto;
  opacity: 0.25;
}
body.owner-redesign .owner-vehicle-illustration {
  position: absolute;
  right: 20px;
  top: 50px;
}
body.owner-redesign .owner-vehicle-name {
  position: relative;
  z-index: 1;
  max-width: 75%;
}
body.owner-redesign .owner-vehicle-label {
  font-size: 10px;
  letter-spacing: 1.1px;
  color: #bcd4e8;
}
body.owner-redesign .owner-vehicle-switch {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 36px;
  padding: 5px 8px;
  border: 1px solid #ffffff30;
  border-radius: 9px;
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-plate {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid #ffffff25;
  border-radius: 6px;
  background: #ffffff10;
  color: #e1edf7;
  font-size: 12px;
}
body.owner-redesign .owner-vehicle-facts > span {
  color: #bcd4e8;
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-facts {
  align-items: center;
}
body.owner-redesign .owner-vehicle-bottom > span {
  color: #bcd4e8;
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-bottom .owner-text-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
body.owner-redesign .owner-primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 15px;
  border: 0;
  border-radius: 12px;
  background: var(--owner-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}
body.owner-redesign .owner-attention-card .owner-primary-button {
  background: #fff;
  color: #725315;
}
body.owner-redesign .owner-attention-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 11px;
}
body.owner-redesign .owner-attention-icon {
  color: var(--owner-amber);
}
body.owner-redesign .owner-attention-label {
  color: var(--owner-amber);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.65px;
}
body.owner-redesign .owner-count-chip {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  margin-left: auto;
  border-radius: 50%;
  background: #f4dfb8;
  color: var(--owner-amber);
  font-size: 11px;
}
body.owner-redesign .owner-dashboard-overview {
  width: 100%;
  margin: 0;
  padding: 0;
}
body.owner-redesign .owner-dashboard-grid .owner-section-heading {
  margin-top: 0;
}
body.owner-redesign .owner-car-context {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid var(--owner-line);
  border-radius: 12px;
  background: var(--owner-surface);
  color: var(--owner-muted);
}
body.owner-redesign .owner-car-context > span {
  flex: 1;
  min-width: 0;
  color: var(--owner-ink);
  font-size: 12px;
}
body.owner-redesign .owner-car-context small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
}
body.owner-redesign .owner-car-context .owner-text-button {
  width: auto;
  min-height: 36px;
  padding: 5px 0;
  border: 0;
  color: var(--owner-blue);
  font-size: 11px;
}
body.owner-redesign .owner-timeline-month {
  margin: 17px 0 4px;
  text-transform: capitalize;
  font-size: 14px;
}
body.owner-redesign .owner-history-row {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 17px;
  border: 1px solid var(--owner-line);
  border-radius: 15px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-history-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 33px;
  height: 33px;
  border-radius: 10px;
}
body.owner-redesign .owner-history-fuel {
  color: #246eaf;
  background: #eaf3ff;
}
body.owner-redesign .owner-history-service {
  color: var(--owner-green);
  background: #eaf6f0;
}
body.owner-redesign .owner-history-expense {
  color: #806333;
  background: #faf2e5;
}
body.owner-redesign .owner-history-copy {
  flex: 1;
  min-width: 0;
}
body.owner-redesign .owner-history-copy h3 {
  margin: 0;
  font-size: 13px;
}
body.owner-redesign .owner-history-copy p,
body.owner-redesign .owner-history-copy small {
  margin: 4px 0 0;
  color: var(--owner-muted);
  font-size: 11px;
  line-height: 1.55;
}
body.owner-redesign .owner-history-value {
  text-align: right;
}
body.owner-redesign .owner-history-value strong {
  display: block;
  font-size: 13px;
  white-space: nowrap;
}
body.owner-redesign .owner-history-value .owner-text-button {
  min-height: 36px;
  font-size: 10px;
}
body.owner-redesign .owner-inbox-card {
  padding: 20px;
  margin: 16px 0;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-inbox-highlight {
  border-color: #ecd8b6;
}
body.owner-redesign .owner-inbox-card h2 {
  margin: 14px 0 7px;
}
body.owner-redesign .owner-inbox-card p {
  margin: 7px 0;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-inbox-amount {
  display: block;
  margin: 14px 0;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -0.8px;
}
body.owner-redesign .owner-inbox-card .owner-primary-button {
  width: 100%;
  margin-top: 9px;
}
body.owner-redesign .owner-chip {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 7px;
  background: #eaf3ff;
  color: #226aaf;
  font-size: 11px;
}
body.owner-redesign .owner-chip-amber {
  background: #fff4df;
  color: var(--owner-amber);
}
body.owner-redesign .owner-empty-state {
  padding: 30px 20px;
  border: 1px dashed var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
  text-align: center;
}
body.owner-redesign .owner-empty-state > svg {
  width: 29px;
  height: 29px;
  margin: 0 auto 14px;
  color: var(--owner-muted);
}
body.owner-redesign .owner-empty-state h2 {
  margin: 7px 0;
}
body.owner-redesign .owner-empty-state p {
  margin: 8px auto 18px;
  max-width: 350px;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.7;
}
body.owner-redesign .owner-record-facts {
  padding: 20px;
  border: 1px solid var(--owner-line);
  border-radius: 17px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-record-facts strong {
  display: block;
  margin: 18px 0;
  font-size: 27px;
}
body.owner-redesign .owner-record-facts p,
body.owner-redesign .owner-record-facts small {
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-health-tip {
  display: block;
  margin-top: 13px;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-card {
  position: relative;
  display: grid;
  gap: 13px;
  padding: 24px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(120deg, #0a223d, #123c60);
  overflow: hidden;
}
body.owner-redesign .owner-vehicle-card::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -75px;
  top: -20px;
  border: 36px solid #ffffff06;
  border-radius: 50%;
  pointer-events: none;
}
body.owner-redesign .owner-vehicle-card h2,
body.owner-redesign .owner-vehicle-card h3,
body.owner-redesign .owner-vehicle-card strong {
  color: #fff;
}
body.owner-redesign .owner-vehicle-card h2,
body.owner-redesign .owner-vehicle-name {
  margin: 0;
  font-size: 32px;
  font-weight: 650;
  letter-spacing: -1px;
  line-height: 1.2;
}
body.owner-redesign .owner-vehicle-card p,
body.owner-redesign .owner-vehicle-card small {
  margin: 0;
  color: #bcd4e8;
}
body.owner-redesign .owner-vehicle-card .eyebrow {
  color: #bcd4e8;
}
body.owner-redesign .owner-vehicle-card a,
body.owner-redesign .owner-vehicle-card button {
  position: relative;
  z-index: 1;
  color: #a1dbff;
  background: transparent;
  border-color: #ffffff30;
  box-shadow: none;
}
body.owner-redesign .owner-vehicle-top,
body.owner-redesign .owner-vehicle-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.owner-redesign .owner-vehicle-footer {
  padding-top: 15px;
  border-top: 1px solid #ffffff20;
}
body.owner-redesign .owner-vehicle-footer strong {
  display: block;
  font-size: 20px;
}
body.owner-redesign .owner-vehicle-footer a {
  text-decoration: none;
  font-size: 12px;
}
body.owner-redesign .owner-vehicle-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 12px;
}
body.owner-redesign .owner-plate {
  padding: 4px 8px;
  border: 1px solid #ffffff25;
  border-radius: 6px;
  background: #ffffff10;
  color: #e1edf7;
  font-size: 12px;
}
body.owner-redesign .owner-attention-card {
  margin-top: 14px;
  padding: 17px 18px;
  border: 1px solid #efdcb7;
  border-radius: 16px;
  background: #fff4df;
}
body.owner-redesign .owner-attention-card h3 {
  margin: 0 0 6px;
  font-size: 15px;
}
body.owner-redesign .owner-attention-card p {
  margin: 0;
  color: var(--owner-amber);
  font-size: 12px;
}
body.owner-redesign .owner-attention-card button {
  margin-top: 12px;
  min-height: 40px;
  padding: 9px 12px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #725315;
  font-size: 12px;
}
body.owner-redesign .owner-home-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
  padding: 0;
}
body.owner-redesign .owner-home-metrics .summary-card {
  min-width: 0;
  min-height: 108px;
  padding: 17px;
  border: 1px solid var(--owner-line);
  border-radius: 17px;
  background: var(--owner-surface);
  box-shadow: none;
  color: var(--owner-ink);
}
body.owner-redesign .owner-home-metrics .summary-card span,
body.owner-redesign .owner-home-metrics .summary-card small {
  display: block;
  color: var(--owner-muted);
  font-size: 11px;
  line-height: 1.45;
}
body.owner-redesign .owner-home-metrics .summary-card strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--owner-ink);
  font-size: clamp(18px, 2.6vw, 24px);
  line-height: 1.15;
  letter-spacing: -0.5px;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-dashboard-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 14px;
  margin: 20px 0;
}
body.owner-redesign .owner-dashboard-grid .dashboard-card {
  min-width: 0;
  min-height: 0;
  padding: 18px;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: var(--owner-surface);
  box-shadow: none;
}
body.owner-redesign .dashboard-label {
  margin: 0 0 14px;
  color: var(--owner-muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 1px;
}
body.owner-redesign .dashboard-event {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--owner-line);
}
body.owner-redesign .dashboard-event:last-child {
  border: 0;
}
body.owner-redesign .dashboard-event-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: var(--owner-blue);
  background: #eaf3ff;
}
body.owner-redesign .dashboard-event strong,
body.owner-redesign .dashboard-event small {
  display: block;
}
body.owner-redesign .dashboard-event strong,
body.owner-redesign .dashboard-event > b {
  font-size: 12px;
}
body.owner-redesign .dashboard-event small,
body.owner-redesign .dashboard-empty {
  color: var(--owner-muted);
  font-size: 11px;
  line-height: 1.5;
}
body.owner-redesign .owner-passport-details,
body.owner-redesign .owner-analytics {
  margin: 22px 0;
  border: 1px solid var(--owner-line);
  border-radius: 17px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-passport-details > summary,
body.owner-redesign .owner-analytics > summary {
  min-height: 50px;
  padding: 15px 17px;
  color: var(--owner-ink);
  font-weight: 600;
  cursor: pointer;
}
body.owner-redesign .owner-passport-details .passport-panel {
  margin: 0;
  border: 0;
  border-radius: 0 0 17px 17px;
  box-shadow: none;
}
body.owner-redesign .owner-analytics .stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  overflow: visible;
  gap: 10px;
  padding: 15px;
  margin: 0;
}
body.owner-redesign .owner-analytics .stat {
  flex: none;
  width: auto;
  min-width: 0;
  min-height: 100px;
  padding: 14px;
  border: 1px solid var(--owner-line);
  border-radius: 12px;
  background: var(--owner-surface);
  box-shadow: none;
}
body.owner-redesign .owner-analytics .stat span,
body.owner-redesign .owner-analytics .stat em {
  white-space: normal;
  font-size: 11px;
}
body.owner-redesign .owner-analytics .stat strong {
  font-size: 20px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-analytics .charts {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0 15px 15px;
}
body.owner-redesign .owner-analytics .chart-card {
  min-width: 0;
  min-height: 250px;
  padding: 15px;
  border: 1px solid var(--owner-line);
  border-radius: 14px;
  box-shadow: none;
}
body.owner-redesign canvas {
  max-width: 100%;
}
body.owner-redesign .owner-history-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
body.owner-redesign .owner-period-open {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 64px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--owner-line);
  border-radius: 13px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  text-align: left;
}
body.owner-redesign .owner-period-icon,
body.owner-redesign .owner-period-chevron {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: var(--owner-muted);
}
body.owner-redesign .owner-period-chevron { width: 18px; height: 18px; }
body.owner-redesign .owner-period-summary {
  display: grid;
  flex: 1 1 auto;
  gap: 2px;
  min-width: 0;
}
body.owner-redesign #ownerPeriodName { font-size: 14px; font-weight: 650; }
body.owner-redesign #ownerPeriodRange {
  min-width: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-period-sheet {
  position: fixed;
  z-index: 190;
  inset: 0;
  display: grid;
  align-items: end;
  justify-items: stretch;
  min-width: 0;
  max-width: 100%;
  padding-top: env(safe-area-inset-top, 0px);
  overscroll-behavior: contain;
}
body.owner-redesign.owner-period-sheet-open { overflow: hidden; }
body.owner-redesign .owner-period-backdrop {
  position: absolute;
  inset: 0;
  background: #071b3299;
  touch-action: none;
}
body.owner-redesign .owner-period-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 85vh;
  max-height: 85dvh;
  margin: 0;
  padding: 10px max(20px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 24px 24px 0 0;
  background: var(--owner-surface);
  box-shadow: 0 -12px 40px #0c294629;
  -webkit-overflow-scrolling: touch;
}
body.owner-redesign .owner-period-handle {
  width: 38px;
  height: 4px;
  margin: 0 auto 16px;
  border-radius: 999px;
  background: #cbd7e2;
}
body.owner-redesign .owner-period-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin-bottom: 18px;
}
body.owner-redesign .owner-period-heading > div { min-width: 0; }
body.owner-redesign .owner-period-heading p {
  margin: 0 0 3px;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-period-heading h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-period-close {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 10px;
  border: 0;
  border-radius: 50%;
  background: var(--owner-soft);
  color: var(--owner-ink);
}
body.owner-redesign .owner-period-close svg { width: 22px; height: 22px; }
body.owner-redesign .owner-period-form { display: grid; gap: 18px; min-width: 0; }
body.owner-redesign .owner-period-presets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
body.owner-redesign .owner-period-presets button {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 5px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 13px;
  font-weight: 550;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-period-presets .owner-period-custom { grid-column: 1 / -1; }
body.owner-redesign .owner-period-presets button[aria-pressed="true"],
body.owner-redesign .owner-period-presets button.is-active {
  border-color: #183e61;
  background: #183e61;
  color: #fff;
}
body.owner-redesign .owner-period-dates { display: grid; gap: 10px; min-width: 0; }
body.owner-redesign .owner-period-date {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) 20px;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--owner-line);
  border-radius: 12px;
  background: var(--owner-surface);
  cursor: pointer;
}
body.owner-redesign .owner-period-date > span {
  min-width: 0;
  color: var(--owner-muted);
  font-size: 13px;
  line-height: 1.4;
}
body.owner-redesign .owner-period-date > strong {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: var(--owner-ink);
  font-size: 14px;
  font-weight: 650;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.owner-redesign .owner-period-date > svg { width: 20px; height: 20px; color: var(--owner-muted); }
/* The visible row owns sizing. The native input covers it without contributing
   intrinsic date-field width, while preserving the system calendar and a11y. */
body.owner-redesign .owner-period-date > input[type="date"] {
  position: absolute;
  z-index: 1;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  inline-size: 100%;
  min-width: 0;
  min-inline-size: 0;
  max-width: 100%;
  max-inline-size: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  opacity: 0;
  font-size: 16px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
body.owner-redesign .owner-period-date > input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
body.owner-redesign .owner-period-date:focus-within {
  border-color: var(--owner-blue);
  outline: 3px solid #177ae930;
  outline-offset: 2px;
}
body.owner-redesign .owner-period-error {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff1ef;
  color: #a1372f;
  font-size: 13px;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-period-apply,
body.owner-redesign .owner-period-cancel {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
}
body.owner-redesign .owner-period-apply { background: #183e61; color: #fff; }
body.owner-redesign .owner-period-cancel { margin-top: 6px; background: transparent; color: var(--owner-muted); }
@media (min-width: 701px) {
  body.owner-redesign .owner-period-sheet { align-items: center; justify-items: center; padding: 24px; }
  body.owner-redesign .owner-period-panel { max-width: 440px; padding: 24px; border-radius: 22px; box-shadow: 0 20px 70px #0c294638; }
  body.owner-redesign .owner-period-handle { display: none; }
}
body.owner-redesign .owner-filter-tabs,
body.owner-redesign .owner-service-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 17px 0;
}
body.owner-redesign .owner-filter-tabs button,
body.owner-redesign .owner-service-toolbar button {
  flex: 1;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-muted);
  font-size: 12px;
  box-shadow: none;
}
body.owner-redesign .owner-filter-tabs button.active,
body.owner-redesign .owner-filter-tabs button[aria-pressed="true"],
body.owner-redesign .owner-service-toolbar button.active,
body.owner-redesign .owner-service-toolbar button[aria-selected="true"] {
  border-color: var(--owner-navy);
  background: var(--owner-navy);
  color: #fff;
}
body.owner-redesign .owner-timeline {
  display: grid;
  gap: 11px;
}
body.owner-redesign .owner-history-item,
body.owner-redesign .owner-timeline .timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-history-item > div,
body.owner-redesign .owner-timeline .timeline-item > div {
  min-width: 0;
  flex: 1;
}
body.owner-redesign .owner-history-item strong {
  display: block;
  font-size: 14px;
}
body.owner-redesign .owner-history-item small {
  display: block;
  margin-top: 5px;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-history-amount {
  margin-left: auto;
  white-space: nowrap;
  font-size: 13px;
}
body.owner-redesign .owner-bottom-nav {
  position: fixed;
  z-index: 120;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr 1fr 58px 1fr 1fr;
  align-items: center;
  gap: 4px;
  width: min(560px, 100%);
  min-height: 78px;
  padding: 9px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  border: 1px solid var(--owner-line);
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  background: #fffffff5;
  box-shadow: 0 -7px 35px #0c294609;
  backdrop-filter: blur(16px);
}
body.owner-redesign .owner-bottom-nav button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 48px;
  padding: 5px 2px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--owner-muted);
  font-size: 10px;
  line-height: 1.3;
}
body.owner-redesign .owner-bottom-nav button.active,
body.owner-redesign .owner-bottom-nav button[aria-current="page"] {
  color: var(--owner-blue);
}
body.owner-redesign .owner-bottom-nav button.owner-nav-add {
  width: 48px;
  height: 48px;
  margin: 0 auto;
  border-radius: 16px;
  background: var(--owner-blue);
  color: #fff;
  box-shadow: 0 4px 12px #177ae930;
}
body.owner-redesign .owner-nav-badge {
  position: absolute;
  top: 0;
  left: calc(50% + 5px);
  min-width: 16px;
  padding: 2px 4px;
  border: 2px solid #fff;
  border-radius: 9px;
  background: #d68e1e;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
}
body.owner-redesign.auth-required .owner-bottom-nav {
  display: none;
}
body.owner-redesign .drawer:not(.hidden),
body.owner-redesign .report-sheet:not(.hidden),
body.owner-redesign .scan-modal:not(.hidden) {
  position: fixed;
  z-index: 140;
  inset: 0;
  display: block;
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--owner-bg);
}
body.owner-redesign .owner-status.is-idle {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
body.owner-redesign .drawer-panel,
body.owner-redesign .sheet-panel,
body.owner-redesign .scan-panel {
  width: min(760px, 100%);
  min-height: 100%;
  max-height: none;
  height: auto;
  margin: 0 auto;
  padding: 0 22px calc(110px + env(safe-area-inset-bottom, 0px));
  border-radius: 0;
  background: var(--owner-bg);
  box-shadow: none;
  animation: none;
}
body.owner-redesign .drawer-panel > .section-head,
body.owner-redesign .sheet-panel > .section-head,
body.owner-redesign .scan-panel > .section-head {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  min-height: 70px;
  margin: 0 -22px 22px;
  padding: calc(13px + env(safe-area-inset-top, 0px)) 22px 13px;
  background: #fffffff5;
  border-bottom: 1px solid var(--owner-line);
}
body.owner-redesign .drawer-menu {
  display: none;
}
body.owner-redesign .drawer-content {
  overflow: visible;
  padding: 0;
}
body.owner-redesign .drawer-section {
  width: 100%;
}
body.owner-redesign .drawer-section > h2 {
  margin-top: 0;
  font-size: 23px;
}
body.owner-redesign .drawer-form,
body.owner-redesign .entry-form,
body.owner-redesign .flow-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  padding: 18px;
  border: 1px solid var(--owner-line);
  border-radius: 17px;
  background: var(--owner-surface);
  box-shadow: none;
}
body.owner-redesign label {
  min-width: 0;
  gap: 7px;
  color: var(--owner-ink);
  font-size: 12px;
}
body.owner-redesign label.check {
  display: flex;
  align-items: center;
}
body.owner-redesign form > button[type="submit"],
body.owner-redesign .drawer-form .wide,
body.owner-redesign .entry-form details {
  grid-column: 1 / -1;
}
body.owner-redesign button[type="submit"],
body.owner-redesign .wide-btn,
body.owner-redesign .primary-add-btn {
  min-height: 46px;
  padding: 12px 16px;
  border: 0;
  border-radius: 12px;
  background: var(--owner-blue);
  color: #fff;
  font-weight: 650;
}
body.owner-redesign .primary-add-btn {
  position: static;
}
body.owner-redesign .scan-modal {
  padding: 0;
}
body.owner-redesign .scan-panel {
  border: 0;
}
body.owner-redesign .owner-receipt-form {
  display: grid;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-receipt-context {
  margin: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-receipt-intro {
  text-align: center;
}
body.owner-redesign .owner-receipt-intro > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 13px;
  border-radius: 14px;
  background: var(--owner-soft);
  color: var(--owner-blue);
}
body.owner-redesign .owner-receipt-intro .owner-icon {
  width: 24px;
  height: 24px;
}
body.owner-redesign .owner-receipt-intro h3 {
  margin: 0 0 8px;
  font-size: 19px;
}
body.owner-redesign .owner-receipt-intro p {
  max-width: 350px;
  margin: 0 auto;
  color: var(--owner-muted);
  font-size: 13px;
  line-height: 1.6;
}
body.owner-redesign .owner-receipt-sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.owner-redesign .owner-receipt-source {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 94px;
  height: auto;
  padding: 14px 10px;
  border: 1px solid var(--owner-line);
  border-radius: 13px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-receipt-source .owner-icon {
  width: 23px;
  height: 23px;
  color: var(--owner-blue);
}
body.owner-redesign .owner-receipt-source:hover {
  background: var(--owner-soft);
}
body.owner-redesign .owner-receipt-formats {
  margin: -6px 0 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
body.owner-redesign .owner-receipt-preview {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--owner-line);
  border-radius: 13px;
}
body.owner-redesign .owner-receipt-image-wrap {
  display: grid;
  place-items: center;
  min-height: 100px;
  padding: 12px;
  background: var(--owner-soft);
}
body.owner-redesign .owner-receipt-image-wrap img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
}
body.owner-redesign .owner-receipt-document {
  padding: 17px;
  color: var(--owner-muted);
  font-size: 18px;
  font-weight: 650;
}
body.owner-redesign .owner-receipt-file-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}
body.owner-redesign .owner-receipt-file-row > div {
  min-width: 0;
  flex: 1;
}
body.owner-redesign .owner-receipt-file-row strong,
body.owner-redesign .owner-receipt-file-row small {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
body.owner-redesign .owner-receipt-file-row strong {
  font-size: 12px;
}
body.owner-redesign .owner-receipt-file-row small {
  margin-top: 3px;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-receipt-remove {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--owner-line);
  border-radius: 10px;
  background: var(--owner-surface);
  color: var(--owner-muted);
  font-size: 21px;
}
body.owner-redesign .owner-receipt-status {
  margin: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.6;
}
body.owner-redesign .owner-receipt-status[data-state="error"] {
  padding: 12px;
  border: 1px solid #ecc9c4;
  border-radius: 11px;
  background: #fff6f4;
  color: #a54738;
}
body.owner-redesign .owner-receipt-status[data-state="busy"] {
  color: var(--owner-blue);
}
body.owner-redesign .owner-receipt-submit {
  width: 100%;
}
body.owner-redesign .owner-receipt-submit:disabled {
  cursor: not-allowed;
}
body.owner-redesign .owner-receipt-manual {
  min-height: 44px;
  padding: 9px 12px;
  border: 0;
  background: transparent;
  color: var(--owner-blue);
  font-size: 13px;
}
body.owner-redesign .owner-receipt-form.has-file .owner-receipt-intro {
  display: none;
}
body.owner-redesign .owner-receipt-form.has-file .owner-receipt-source {
  flex-direction: row;
  gap: 7px;
  min-height: 46px;
  padding: 10px;
}

body.owner-redesign .owner-receipt-review {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding-top: 18px;
  border-top: 1px solid var(--owner-line);
  scroll-margin-top: 85px;
}
body.owner-redesign .owner-receipt-review h3 { margin: 0 0 6px; font-size: 18px; }
body.owner-redesign .owner-receipt-review p { margin: 0; overflow-wrap: anywhere; }
body.owner-redesign .owner-receipt-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}
body.owner-redesign .owner-receipt-fields .wide { grid-column: 1 / -1; }
body.owner-redesign .owner-receipt-fields label { display: grid; gap: 6px; min-width: 0; color: var(--owner-muted); font-size: 12px; }
body.owner-redesign .owner-receipt-fields input,
body.owner-redesign .owner-receipt-fields select {
  width: 100%; min-width: 0; max-width: 100%; min-height: 46px;
  padding: 10px; border: 1px solid var(--owner-line); border-radius: 10px;
  background: var(--owner-surface); color: var(--owner-text); font-size: 16px;
}
body.owner-redesign .owner-receipt-retake,
body.owner-redesign .owner-fuel-mismatch {
  min-width: 0; padding: 14px; border: 1px solid #edaaa6; border-radius: 12px;
  background: #fff0ee; color: #a12722; overflow-wrap: anywhere;
}
body.owner-redesign .owner-receipt-retake { scroll-margin-top: 85px; }
body.owner-redesign .owner-receipt-retake ul { margin: 8px 0 12px; padding-left: 20px; }
body.owner-redesign .owner-receipt-retake button { width: 100%; min-height: 44px; }
body.owner-redesign .owner-fuel-mismatch strong { display: block; font-size: 14px; line-height: 1.5; }
body.owner-redesign .owner-fuel-mismatch .check { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; color: inherit; }
body.owner-redesign .owner-fuel-mismatch input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 2px; }
body.owner-redesign .owner-estimate-note { margin: 0; color: var(--owner-muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
body.owner-redesign .owner-estimate-button { min-height: 42px; width: 100%; padding: 8px 10px; font-size: 12px; white-space: normal; }
body.owner-redesign .owner-fuel-tax { min-width: 0; }
body.owner-redesign .owner-fuel-tax summary { padding: 10px 0; cursor: pointer; color: var(--owner-muted); }
@media (max-width: 380px) {
  body.owner-redesign .owner-receipt-fields { grid-template-columns: minmax(0, 1fr); }
  body.owner-redesign .owner-receipt-form { padding: 14px; }
}
@media (max-width: 600px) {
  body.owner-redesign .owner-receipt-form {
    padding: 18px 16px;
  }
  body.owner-redesign .owner-receipt-image-wrap img {
    max-height: 190px;
  }
}
/* Keep receipt capture secondary and inside the fuel entry card. */
body.owner-redesign .owner-fuel-form {
  margin: 0;
}
body.owner-redesign .owner-fuel-receipt,
body.owner-redesign .owner-fuel-wide {
  grid-column: 1 / -1;
}
body.owner-redesign .owner-fuel-receipt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--owner-line);
}
body.owner-redesign .owner-fuel-receipt p {
  margin: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.5;
}
body.owner-redesign .owner-fuel-scan {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 10px 13px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-blue);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}
body.owner-redesign .owner-fuel-scan:hover {
  background: var(--owner-soft);
}
body.owner-redesign .owner-fuel-location {
  min-width: 0;
  padding: 15px;
  border: 1px solid #d8e7f5;
  border-radius: 14px;
  background: #f5f9fe;
}
body.owner-redesign .owner-fuel-location-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
body.owner-redesign .owner-fuel-location-heading > div {
  min-width: 0;
}
body.owner-redesign .owner-fuel-location strong {
  color: var(--owner-ink);
  font-size: 14px;
  line-height: 1.5;
}
body.owner-redesign .owner-fuel-location small {
  display: block;
  color: var(--owner-muted);
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-fuel-location button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: auto;
  min-width: 0;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #cbdff4;
  border-radius: 10px;
  background: #fff;
  color: var(--owner-blue);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-fuel-location button[aria-pressed="true"] {
  background: #e4effd;
}
body.owner-redesign .owner-fuel-location button:disabled {
  opacity: 0.6;
}
body.owner-redesign .owner-fuel-product {
  display: grid;
  gap: 5px;
  margin: 0;
  font-size: 11px;
  color: var(--owner-muted);
}
body.owner-redesign .owner-fuel-product select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  background: #fff;
}
body.owner-redesign #fuelLocationStatus {
  margin: 10px 0 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.6;
}
body.owner-redesign .owner-fuel-stations {
  display: grid;
  gap: 9px;
}
body.owner-redesign .owner-fuel-station {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #d8e7f5;
  min-width: 0;
}
body.owner-redesign .owner-fuel-station > div {
  min-width: 0;
}
body.owner-redesign .owner-fuel-station strong {
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-fuel-station-price {
  grid-column: 1;
}
body.owner-redesign .owner-fuel-station-price b {
  color: var(--owner-ink);
  font-size: 16px;
}
body.owner-redesign .owner-fuel-station button {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  max-width: 120px;
}
@media (max-width: 420px) {
  body.owner-redesign .owner-fuel-location {
    padding: 12px;
  }
  body.owner-redesign .owner-fuel-location-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }
  body.owner-redesign .owner-fuel-location-heading button {
    width: 100%;
  }
  body.owner-redesign .owner-fuel-station {
    grid-template-columns: minmax(0, 1fr);
  }
  body.owner-redesign .owner-fuel-station button {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    max-width: none;
  }
}
body.owner-redesign .owner-fuel-tank {
  gap: 10px;
  min-height: 46px;
  padding: 12px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-soft);
}
body.owner-redesign .owner-fuel-tank input {
  flex-shrink: 0;
  margin: 0;
}
body.owner-redesign .quick-entry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
body.owner-redesign .quick-entry-card,
body.owner-redesign .quick-entry {
  min-height: 96px;
  padding: 18px;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  text-align: left;
}
body.owner-redesign .quick-entry-card strong,
body.owner-redesign .quick-entry strong {
  display: block;
}
body.owner-redesign .quick-entry-card small,
body.owner-redesign .quick-entry small {
  display: block;
  margin-top: 7px;
  color: var(--owner-muted);
}
body.owner-redesign .stack-item,
body.owner-redesign .tip-card,
body.owner-redesign .service-card,
body.owner-redesign .maintenance-task,
body.owner-redesign .maintenance-recommendation {
  min-width: 0;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  box-shadow: none;
}
body.owner-redesign .stack-item {
  padding: 16px;
}
body.owner-redesign .stack-item small {
  color: var(--owner-muted);
}
body.owner-redesign .service-actions,
body.owner-redesign .row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.owner-redesign .service-actions button,
body.owner-redesign .row-actions button {
  min-height: 42px;
  padding: 10px 13px;
  border-radius: 11px;
  font-size: 12px;
}
body.owner-redesign .trust-badge {
  max-width: 100%;
  padding: 5px 8px;
  border: 0;
  border-radius: 7px;
  background: #eaf3ff;
  color: #226aaf;
  font-size: 11px;
  line-height: 1.5;
  white-space: normal;
}
body.owner-redesign .empty {
  min-height: 0;
  padding: 24px 16px;
  color: var(--owner-muted);
  border: 1px dashed var(--owner-line);
  border-radius: 14px;
  background: #ffffff70;
  font-size: 13px;
  line-height: 1.65;
}
body.owner-redesign .status-bar {
  margin: 13px 0;
  border: 1px solid var(--owner-line);
  border-radius: 10px;
  background: #edf6f1;
  color: var(--owner-green);
  font-size: 12px;
}
body.owner-redesign .toast {
  z-index: 180;
  bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  max-width: calc(100vw - 32px);
  border-radius: 13px;
  border-color: var(--owner-line);
  background: var(--owner-surface);
  color: var(--owner-ink);
  box-shadow: 0 10px 30px #0c294622;
}
body.owner-redesign .auth-overlay {
  z-index: 200;
  background: var(--owner-bg);
}
body.owner-redesign .auth-panel {
  padding: 28px;
  border: 1px solid var(--owner-line);
  border-radius: 22px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  box-shadow: 0 15px 50px #0c294610;
}
body.owner-redesign .auth-panel h1 {
  color: var(--owner-ink);
}
body.owner-redesign .owner-work-order-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 13px;
  color: var(--owner-muted);
  text-decoration: none;
  font-size: 12px;
}
body.owner-redesign .owner-order-heading {
  margin: 0 0 20px;
}
body.owner-redesign .owner-order-heading h1 {
  margin: 8px 0;
}
body.owner-redesign .owner-order-context {
  margin-bottom: 18px;
  padding: 13px 15px;
  border: 1px solid var(--owner-line);
  border-radius: 13px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 13px;
}
body.owner-redesign .owner-order-summary {
  display: grid;
  gap: 16px;
  padding: 21px;
  border: 1px solid var(--owner-line);
  border-radius: 20px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-order-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
body.owner-redesign .owner-order-summary-head h2 {
  margin: 0;
}
body.owner-redesign .owner-order-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--owner-line);
}
body.owner-redesign .owner-order-total span {
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-order-total strong {
  font-size: 28px;
  letter-spacing: -0.7px;
}
body.owner-redesign .owner-order-note {
  margin: 18px 0;
  padding: 15px 17px;
  border-left: 3px solid var(--owner-blue);
  border-radius: 0 12px 12px 0;
  background: #eaf3ff;
  color: var(--owner-ink);
  font-size: 13px;
  line-height: 1.7;
}
body.owner-redesign .owner-order-layout {
  display: grid;
  gap: 18px;
  margin-top: 20px;
}
body.owner-redesign .owner-order-section {
  padding: 19px;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-order-section h2 {
  margin: 0 0 14px;
}
body.owner-redesign .owner-order-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--owner-line);
  font-size: 13px;
}
body.owner-redesign .owner-order-item:last-child {
  border-bottom: 0;
}
body.owner-redesign .owner-order-item strong {
  font-weight: 650;
}
body.owner-redesign .owner-order-item small {
  display: block;
  margin-top: 5px;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-order-item > strong {
  white-space: nowrap;
}
body.owner-redesign .owner-order-decision {
  display: grid;
  gap: 14px;
}
body.owner-redesign .owner-order-decision p {
  margin: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.7;
}
body.owner-redesign .owner-order-decision label {
  display: grid;
}
body.owner-redesign .owner-order-decisions {
  display: grid;
  gap: 9px;
}
body.owner-redesign .owner-order-decisions button {
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  border: 0;
  border-radius: 12px;
  background: var(--owner-blue);
  color: #fff;
  font-size: 13px;
}
body.owner-redesign .owner-order-decisions button.ghost-btn {
  border: 1px solid var(--owner-line);
  background: var(--owner-surface);
  color: var(--owner-muted);
}
body.owner-redesign .owner-page-error {
  margin: 15px 0;
  padding: 15px;
  border: 1px solid #e8c5bf;
  border-radius: 12px;
  background: #fff2ef;
  color: #8b3c31;
  font-size: 13px;
}
body.owner-redesign .owner-page-error button {
  min-height: 40px;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid #e8c5bf;
  border-radius: 9px;
  background: #fff;
  color: #8b3c31;
}
@media (min-width: 900px) {
  body.owner-redesign .owner-view {
    max-width: 900px;
  }
  body.owner-redesign .owner-vehicle-card {
    padding: 28px;
  }
  body.owner-redesign .owner-order-layout {
    grid-template-columns: 1fr 1fr;
  }
  body.owner-redesign .owner-order-decision {
    grid-column: 1 / -1;
  }
  body.owner-redesign .owner-analytics .charts {
    grid-template-columns: 1.5fr 1fr;
  }
}
@media (max-width: 600px) {
  body.owner-redesign .shell {
    padding: 0 18px calc(108px + env(safe-area-inset-bottom, 0px));
  }
  body.owner-redesign .owner-header,
  body.owner-redesign .topbar {
    min-height: 68px;
    margin: 0 -18px 20px;
    padding-right: 18px;
    padding-left: 18px;
  }
  body.owner-redesign .owner-vehicle-card {
    padding: 20px;
  }
  body.owner-redesign .owner-home-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.owner-redesign .owner-home-metrics .summary-card:last-child {
    display: none;
  }
  body.owner-redesign .owner-dashboard-grid {
    grid-template-columns: 1fr;
  }
  body.owner-redesign .owner-analytics .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.owner-redesign .owner-analytics .stat {
    min-height: 100px;
  }
  body.owner-redesign .drawer-form,
  body.owner-redesign .entry-form,
  body.owner-redesign .flow-form {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  body.owner-redesign .owner-fuel-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.owner-redesign .owner-fuel-date,
  body.owner-redesign .owner-fuel-odometer {
    grid-column: 1 / -1;
  }
  body.owner-redesign .owner-history-toolbar {
    display: block;
  }
  body.owner-redesign .owner-order-summary-head {
    align-items: flex-start;
  }
}
@media (max-width: 380px) {
  body.owner-redesign .owner-fuel-receipt {
    grid-template-columns: minmax(0, 1fr);
  }
  body.owner-redesign .owner-fuel-scan {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.owner-redesign *,
  body.owner-redesign *::before,
  body.owner-redesign *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Garage dashboard: a readable vehicle, next action and expense overview. */
body.owner-redesign {
  --owner-bg: #f5f7fa;
  --owner-line: #e3e9f1;
}
body.owner-redesign .owner-view {
  max-width: 1080px;
}
body.owner-redesign .owner-page-heading .eyebrow {
  font-size: 10px;
  letter-spacing: 1.1px;
}
body.owner-redesign .owner-garage-lead {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.45fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 24px;
}
body.owner-redesign .owner-daily-overview {
  min-width: 0;
}
body.owner-redesign .owner-daily-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px 12px;
  margin-bottom: 10px;
}
body.owner-redesign .owner-daily-heading h2 {
  margin: 0;
  font-size: 17px;
}
body.owner-redesign .owner-daily-heading .owner-text-button {
  min-width: 0;
  max-width: 100%;
  min-height: 32px;
  overflow-wrap: anywhere;
  text-align: left;
}
body.owner-redesign .owner-dashboard-tools {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
body.owner-redesign .owner-dashboard-tools[data-electric="true"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.owner-redesign .owner-dashboard-tools button {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 46px;
  padding: 10px 6px;
  border: 1px solid var(--owner-line);
  border-radius: 11px;
  background: var(--owner-surface);
  color: var(--owner-ink);
  font-size: 12px;
  line-height: 1.4;
}
body.owner-redesign .owner-dashboard-tools .owner-icon {
  width: 18px;
  height: 18px;
  color: var(--owner-blue);
}
body.owner-redesign .owner-widget-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.owner-redesign .owner-widget {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 174px;
  padding: 15px;
  border: 1px solid var(--owner-line);
  border-radius: 16px;
  background: var(--owner-surface);
}
body.owner-redesign .owner-widget-featured {
  border-color: #cfdef0;
  background: #f5f9ff;
}
body.owner-redesign .owner-widget-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
}
body.owner-redesign .owner-widget-heading > span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: var(--owner-soft);
  color: var(--owner-blue);
}
body.owner-redesign .owner-widget-heading .owner-icon {
  width: 16px;
  height: 16px;
}
body.owner-redesign .owner-widget-heading h3 {
  min-width: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
body.owner-redesign .owner-widget-value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  color: var(--owner-ink);
  font-size: clamp(23px, 2.5vw, 30px);
  font-weight: 750;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-widget-value small {
  color: var(--owner-muted);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
body.owner-redesign .owner-widget-note {
  flex: 1;
  margin: 9px 0 6px;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-widget-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  width: 100%;
  min-height: 36px;
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: var(--owner-blue);
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
}
body.owner-redesign .owner-widget-action .owner-icon {
  width: 16px;
  height: 16px;
}
body.owner-redesign .owner-widget.is-soon {
  border-color: #e7d4a7;
  background: #fffaf0;
}
body.owner-redesign .owner-widget.is-overdue {
  border-color: #ecc9c4;
  background: #fff6f4;
}
body.owner-redesign .owner-widget.is-soon .owner-widget-value {
  color: var(--owner-amber);
}
body.owner-redesign .owner-widget.is-overdue .owner-widget-value {
  color: #a54738;
}
body.owner-redesign .owner-widget.is-unknown .owner-widget-value,
body.owner-redesign .owner-widget.is-empty .owner-widget-value {
  font-size: 21px;
}
body.owner-redesign .owner-widget-progress {
  height: 4px;
  margin: 3px 0 6px;
  overflow: hidden;
  border-radius: 4px;
  background: #dfe8f1;
}
body.owner-redesign .owner-widget-progress span {
  display: block;
  height: 100%;
  background: var(--owner-blue);
}
body.owner-redesign .is-overdue .owner-widget-progress span {
  background: #b35848;
}
body.owner-redesign .is-soon .owner-widget-progress span {
  background: #b88c31;
}
body.owner-redesign .owner-widget-empty {
  grid-column: 1 / -1;
  padding: 24px;
  border: 1px dashed var(--owner-line);
  border-radius: 16px;
  color: var(--owner-muted);
}
body.owner-redesign .owner-attention-summary {
  margin-bottom: 22px;
}
body.owner-redesign .owner-attention-summary > div {
  width: 100%;
}
body.owner-redesign .owner-vehicle-card {
  align-self: start;
  margin: 0;
  padding: 23px;
  border: 1px solid var(--owner-line);
  border-radius: 22px;
  background: #fff;
  color: var(--owner-ink);
  box-shadow: 0 5px 22px #14273d04;
  overflow: hidden;
}
body.owner-redesign .owner-vehicle-label {
  color: #65778d;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 1.2px;
}
body.owner-redesign .owner-vehicle-top {
  margin-bottom: 8px;
}
body.owner-redesign .owner-vehicle-name h2 {
  margin: 0;
  color: var(--owner-ink);
  font-size: 29px;
  line-height: 1.18;
  letter-spacing: -1px;
}
body.owner-redesign .owner-vehicle-meta {
  margin: 7px 0 0;
  color: var(--owner-muted);
  font-size: 12px;
}
body.owner-redesign .owner-vehicle-switch {
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--owner-line);
  border-radius: 10px;
  background: #fff;
  color: #426282;
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-media {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 192px;
  height: 210px;
  margin: 15px 0;
  border: 1px solid #edf1f5;
  border-radius: 16px;
  background:
    radial-gradient(ellipse at 50% 100%, #e4edf7, transparent 65%), #f7f9fc;
  overflow: hidden;
}
body.owner-redesign .owner-vehicle-illustration {
  position: static;
  width: 88%;
  height: 155px;
  max-height: 100%;
  margin: 0;
  opacity: 1;
  filter: none;
}
body.owner-redesign .owner-vehicle-photo {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 210px;
  object-fit: contain;
  object-position: center;
  padding: 7px;
}
body.owner-redesign .owner-photo-trigger {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #d9e3ee;
  border-radius: 10px;
  background: #ffffffeb;
  color: #284c70;
  font-size: 11px;
  font-weight: 650;
  backdrop-filter: blur(10px);
}
body.owner-redesign .owner-photo-trigger svg {
  width: 16px;
  height: 16px;
}
body.owner-redesign .owner-photo-retry {
  position: absolute;
  inset: 8px auto auto 8px;
  padding: 7px 9px;
  border: 1px solid #eddbc0;
  border-radius: 8px;
  background: #fff8ec;
  color: #80602c;
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-facts {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0 0 14px;
  border: 0;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-facts strong {
  display: inline;
  margin-left: 4px;
  color: var(--owner-ink);
  font-size: 16px;
  font-weight: 750;
}
body.owner-redesign .owner-vehicle-plate {
  padding: 5px 8px;
  border: 1px solid #d8e2ed;
  border-radius: 6px;
  background: #fff;
  color: #2b4058;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.5px;
}
body.owner-redesign .owner-vehicle-bottom {
  padding-top: 10px;
  border-top: 1px solid var(--owner-line);
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-vehicle-bottom .owner-text-button {
  min-height: 32px;
  color: var(--owner-blue);
  font-size: 12px;
}
body.owner-redesign .owner-vehicle-empty {
  min-height: 280px;
  background: linear-gradient(135deg, #fff, #edf5ff);
}
body.owner-redesign .owner-vehicle-empty h2 {
  color: var(--owner-ink);
}
body.owner-redesign .owner-vehicle-empty p {
  color: var(--owner-muted);
}
body.owner-redesign .owner-attention-card {
  display: flex;
  margin: 0;
  padding: 24px;
  border: 1px solid #dce7f4;
  border-radius: 22px;
  background: #edf4fc;
  box-shadow: none;
}
body.owner-redesign #ownerDashboardAction {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
body.owner-redesign .owner-attention-heading {
  margin-bottom: 18px;
  width: 100%;
  gap: 9px;
}
body.owner-redesign .owner-attention-icon {
  width: 36px;
  height: 36px;
  border: 1px solid #d5e6f7;
  border-radius: 11px;
  background: #fff;
  color: #2572bd;
}
body.owner-redesign .owner-attention-label {
  font-size: 9px;
  letter-spacing: 0.8px;
  line-height: 1.5;
  color: #587494;
}
body.owner-redesign .owner-attention-card h3 {
  margin: 0 0 10px;
  color: #183c60;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.5px;
}
body.owner-redesign .owner-attention-card p {
  margin: 0 0 20px;
  color: #5d718b;
  font-size: 13px;
  line-height: 1.7;
}
body.owner-redesign .owner-attention-card .owner-primary-button {
  margin-top: auto;
  min-height: 43px;
  padding: 10px 13px;
  border-radius: 11px;
  font-size: 12px;
}
body.owner-redesign .owner-expense-overview {
  padding: 21px 23px;
  border: 1px solid var(--owner-line);
  border-radius: 20px;
  background: #fff;
}
body.owner-redesign .owner-expense-overview .owner-section-heading {
  margin: 0 0 17px;
}
body.owner-redesign .owner-expense-overview h2 {
  margin: 0;
  font-size: 17px;
}
body.owner-redesign .owner-kicker {
  margin: 0 0 5px;
  color: var(--owner-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.75px;
}
body.owner-redesign .owner-currency-chip {
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--owner-line);
  border-radius: 9px;
  background: #f7f9fc;
  color: #5c728b;
  font-size: 11px;
  font-weight: 700;
}
body.owner-redesign .owner-home-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  background: none;
  box-shadow: none;
  border: 0;
}
body.owner-redesign .owner-home-metrics .summary-card {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  min-height: 0;
  padding: 0 20px;
  border: 0;
  border-left: 1px solid var(--owner-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.owner-redesign .owner-home-metrics .summary-card:first-child {
  padding-left: 0;
  border-left: 0;
}
body.owner-redesign .owner-home-metrics .summary-card:last-child {
  display: flex;
  padding-right: 0;
}
body.owner-redesign .owner-home-metrics .summary-card span {
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-home-metrics .summary-card strong {
  display: block;
  margin: 0;
  color: #213b57;
  font-size: clamp(19px, 2.3vw, 28px);
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: -0.8px;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-home-metrics .summary-card:first-child strong {
  color: #166cd0;
}
body.owner-redesign .owner-home-metrics .summary-card small {
  margin: 0;
  color: #8795a7;
  font-size: 10px;
  line-height: 1.5;
}
body.owner-redesign .owner-expense-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 19px;
  padding-top: 12px;
  border-top: 1px solid var(--owner-line);
}
body.owner-redesign .owner-expense-footer p {
  margin: 0;
  color: var(--owner-muted);
  font-size: 11px;
}
body.owner-redesign .owner-expense-footer .owner-text-button {
  min-height: 32px;
  font-size: 11px;
}
body.owner-redesign .owner-home-shortcuts {
  margin-top: 14px;
  gap: 12px;
}
body.owner-redesign .owner-home-shortcuts button {
  min-height: 48px;
  border-radius: 13px;
  font-size: 12px;
}
body.owner-redesign .owner-dashboard-overview {
  margin-top: 22px;
}
body.owner-redesign .owner-dashboard-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px;
}
body.owner-redesign .owner-dashboard-grid .dashboard-card {
  padding: 21px;
  border: 1px solid var(--owner-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: none;
}
body.owner-redesign .owner-dashboard-grid .owner-section-heading {
  margin: 0 0 6px;
}
body.owner-redesign .owner-event {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  padding: 13px 0;
  gap: 11px;
}
body.owner-redesign .owner-event strong {
  font-size: 12px;
  font-weight: 650;
}
body.owner-redesign .owner-event small {
  font-size: 10px;
}
body.owner-redesign .owner-event > b {
  font-size: 12px;
  color: #314b68;
}
body.owner-redesign .dashboard-score b {
  font-size: 38px;
  color: #2a6fc2;
}
body.owner-redesign .owner-health-card h3 {
  font-size: 15px;
}
body.owner-redesign .owner-health-card p {
  font-size: 11px;
  line-height: 1.65;
}
body.owner-redesign .owner-preferences-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 78px;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid #cfe2f7;
  border-radius: 16px;
  background: #edf5ff;
  color: #2b4867;
  text-align: left;
}
body.owner-redesign .owner-preferences-summary > span:nth-child(2) {
  flex: 1;
  font-size: 12px;
}
body.owner-redesign .owner-preferences-summary strong {
  display: block;
  margin-top: 5px;
  color: #176aca;
  font-size: 15px;
  font-weight: 700;
}
body.owner-redesign .owner-preferences-summary > b {
  font-size: 22px;
  font-weight: 400;
}
body.owner-redesign .owner-currency-context {
  margin: 0 0 17px;
  padding: 15px 17px;
  border: 1px solid #dce7f4;
  border-radius: 13px;
  background: #edf5ff;
  color: #3b5e82;
  font-size: 12px;
  line-height: 1.65;
}
body.owner-redesign .owner-settings-help {
  grid-column: 1/-1;
  margin: 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.65;
}
body.owner-redesign .owner-settings-status {
  grid-column: 1/-1;
  margin: 0;
  color: #3c647c;
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-currency-note {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: #fff8ed;
  color: #886331;
  font-size: 11px;
  line-height: 1.65;
}
body.owner-redesign .owner-report-unit {
  margin: 0 0 14px;
  color: var(--owner-muted);
  font-size: 12px;
  font-weight: 650;
}
body.owner-redesign .owner-photo-editor {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: #fff;
}
body.owner-redesign .owner-photo-preview {
  display: grid;
  place-items: center;
  min-height: 230px;
  height: 300px;
  padding: 8px;
  border: 1px solid var(--owner-line);
  border-radius: 14px;
  background: #f5f8fc;
  overflow: hidden;
}
body.owner-redesign .owner-photo-preview img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 282px;
  object-fit: contain;
  object-position: center;
}
body.owner-redesign .owner-photo-placeholder {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 20px;
  text-align: center;
  color: #71849a;
}
body.owner-redesign .owner-photo-placeholder svg {
  width: 38px;
  height: 38px;
  stroke-width: 1.3;
}
body.owner-redesign .owner-photo-placeholder strong {
  font-size: 14px;
  color: #546d88;
}
body.owner-redesign .owner-photo-placeholder span {
  font-size: 11px;
}
body.owner-redesign .owner-photo-picker {
  display: grid;
  gap: 9px;
  font-size: 12px;
  font-weight: 650;
}
body.owner-redesign .owner-photo-picker input {
  width: 100%;
  padding: 12px;
  font-size: 13px;
  background: #f8fafc;
}
body.owner-redesign .owner-photo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
body.owner-redesign .owner-photo-actions .owner-primary-button {
  font-size: 12px;
}
@media (min-width: 1250px) {
  body.owner-redesign .shell {
    width: min(1180px, 100%);
  }
  body.owner-redesign .owner-vehicle-media {
    height: 220px;
  }
  body.owner-redesign .owner-vehicle-photo {
    max-height: 220px;
  }
}
@media (max-width: 700px) {
  body.owner-redesign .owner-garage-lead {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
  }
  body.owner-redesign .owner-daily-overview {
    grid-row: 1;
  }
  body.owner-redesign .owner-widget {
    padding: 12px;
  }
  body.owner-redesign .owner-widget-grid {
    gap: 10px;
  }
  body.owner-redesign .owner-widget-heading {
    gap: 5px;
  }
  body.owner-redesign .owner-dashboard-tools button {
    flex-direction: column;
  }
  body.owner-redesign .owner-vehicle-card {
    padding: 20px;
  }
  body.owner-redesign .owner-vehicle-name h2 {
    font-size: 27px;
  }
  body.owner-redesign .owner-vehicle-media {
    height: 170px;
    min-height: 170px;
    margin: 13px 0;
  }
  body.owner-redesign .owner-vehicle-photo {
    max-height: 170px;
  }
  body.owner-redesign .owner-vehicle-illustration {
    height: 140px;
  }
  body.owner-redesign .owner-attention-card {
    padding: 19px;
    border-radius: 18px;
  }
  body.owner-redesign .owner-attention-card h3 {
    font-size: 19px;
  }
  body.owner-redesign .owner-attention-heading {
    margin-bottom: 12px;
  }
  body.owner-redesign .owner-attention-card p {
    margin-bottom: 16px;
    font-size: 12px;
  }
  body.owner-redesign .owner-attention-card .owner-primary-button {
    width: 100%;
    justify-content: space-between;
  }
  body.owner-redesign .owner-expense-overview {
    padding: 18px 16px;
    border-radius: 18px;
  }
  body.owner-redesign .owner-expense-overview h2 {
    font-size: 16px;
  }
  body.owner-redesign .owner-home-metrics .summary-card {
    padding: 0 10px;
    gap: 7px;
  }
  body.owner-redesign .owner-home-metrics .summary-card strong {
    font-size: 18px;
    letter-spacing: -0.6px;
  }
  body.owner-redesign .owner-home-metrics .summary-card span {
    font-size: 10px;
    min-height: 28px;
    line-height: 1.4;
  }
  body.owner-redesign .owner-home-metrics .summary-card small {
    font-size: 9px;
  }
  body.owner-redesign .owner-expense-footer {
    align-items: flex-start;
    gap: 8px;
    margin-top: 16px;
  }
  body.owner-redesign .owner-expense-footer p {
    font-size: 10px;
    line-height: 1.6;
  }
  body.owner-redesign .owner-expense-footer .owner-text-button {
    font-size: 10px;
    white-space: nowrap;
  }
  body.owner-redesign .owner-home-shortcuts button {
    padding: 11px 9px;
    font-size: 11px;
  }
  body.owner-redesign .owner-dashboard-grid {
    grid-template-columns: 1fr;
  }
  body.owner-redesign .owner-photo-preview {
    height: 240px;
    min-height: 240px;
  }
  body.owner-redesign .owner-photo-preview img {
    max-height: 222px;
  }
}
@media (max-width: 360px) {
  body.owner-redesign .owner-home-metrics .summary-card {
    padding: 0 7px;
  }
  body.owner-redesign .owner-home-metrics .summary-card strong {
    font-size: 16px;
  }
  body.owner-redesign .owner-vehicle-name h2 {
    font-size: 24px;
  }
}

/* Override the earlier dark hero's descendant colors and grid spacing. */
body.owner-redesign .owner-vehicle-card {
  display: block;
}
body.owner-redesign .owner-vehicle-card::after {
  display: none;
}
body.owner-redesign .owner-vehicle-card .owner-vehicle-meta {
  display: block;
  margin: 7px 0 0;
  color: #61758d;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}
body.owner-redesign .owner-vehicle-card .owner-vehicle-switch {
  color: #456786;
  background: #fff;
  border-color: #dce5ef;
}
body.owner-redesign .owner-vehicle-card .owner-photo-trigger {
  position: absolute;
  right: 10px;
  bottom: 10px;
  color: #365b7f;
  background: #fffffff0;
  border-color: #d4e1ee;
  font-weight: 650;
}
body.owner-redesign .owner-vehicle-card .owner-photo-retry {
  position: absolute;
  background: #fff8ec;
  color: #80602c;
  border-color: #eddbc0;
}
body.owner-redesign .owner-vehicle-facts > span {
  color: #61758d;
}
body.owner-redesign .owner-vehicle-facts .owner-vehicle-plate {
  color: #314b67;
}
body.owner-redesign .owner-vehicle-bottom > span {
  color: #73859a;
}
body.owner-redesign .owner-attention-card .owner-primary-button {
  background: #177ae9;
  color: #fff;
}

@media (max-width: 700px) {
  body.owner-redesign .owner-home-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 18px;
  }
  body.owner-redesign .owner-home-metrics .summary-card:first-child {
    grid-column: 1 / -1;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--owner-line);
  }
  body.owner-redesign .owner-home-metrics .summary-card:nth-child(2) {
    padding-left: 0;
    border-left: 0;
  }
  body.owner-redesign .owner-home-metrics .summary-card span {
    min-height: 34px;
    font-size: 12px;
  }
  body.owner-redesign .owner-home-metrics .summary-card:first-child span {
    min-height: 0;
  }
  body.owner-redesign .owner-home-metrics .summary-card strong {
    font-size: clamp(18px, 5.5vw, 22px);
  }
  body.owner-redesign .owner-home-metrics .summary-card:first-child strong {
    font-size: 32px;
  }
  body.owner-redesign .owner-home-metrics .summary-card small {
    font-size: 12px;
  }
  body.owner-redesign .owner-expense-footer {
    flex-wrap: wrap;
  }
  body.owner-redesign .owner-expense-footer p,
  body.owner-redesign .owner-expense-footer .owner-text-button {
    font-size: 12px;
  }
}
/* Garage removal remains separate from vehicle selection. */
body.owner-redesign .owner-garage-row { display:flex;align-items:stretch;gap:7px;min-width:0; }
body.owner-redesign .owner-garage-row .car-item { flex:1;min-width:0; }
body.owner-redesign .owner-garage-row .car-copy { min-width:0;overflow-wrap:anywhere; }
body.owner-redesign .owner-garage-delete { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#a33d37;font-size:12px;box-shadow:none; }
body.owner-redesign .owner-garage-delete .owner-icon { width:17px;height:17px; }
body.owner-redesign .owner-garage-row>.owner-garage-delete { flex:none;flex-direction:column;min-width:54px;padding:9px 6px; }
body.owner-redesign .owner-garage-card-actions { display:flex;align-items:center;flex-wrap:wrap;gap:5px 16px; }
body.owner-redesign .owner-vehicle-card .owner-garage-delete { color:#a33d37; }
body.owner-redesign .owner-delete-car-modal { position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:20px 16px;background:#071b32a6;overflow-y:auto;overscroll-behavior:contain; }
body.owner-redesign .owner-delete-car-modal.hidden { display:none; }
body.owner-redesign .owner-delete-car-panel { width:min(430px,100%);padding:24px;border:1px solid var(--owner-line);border-radius:19px;background:#fff;color:var(--owner-ink);box-shadow:0 16px 70px #071b3233;overflow-wrap:anywhere; }
body.owner-redesign .owner-delete-car-panel h2 { margin:0 0 19px;font-size:21px;line-height:1.3; }
body.owner-redesign #deleteCarName { display:block;font-size:16px; }
body.owner-redesign .owner-delete-car-panel p { margin:10px 0;font-size:13px;line-height:1.65;color:var(--owner-muted); }
body.owner-redesign #deleteCarIdentity:empty, body.owner-redesign #deleteCarStatus:empty { display:none; }
body.owner-redesign .owner-delete-car-panel .owner-delete-car-error { color:#a33d37; }
body.owner-redesign .owner-delete-car-actions { display:grid;gap:9px;margin-top:21px; }
body.owner-redesign .owner-delete-car-actions button { min-height:46px;padding:11px 14px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:var(--owner-ink);font-size:13px;box-shadow:none; }
body.owner-redesign .owner-delete-car-actions .owner-delete-car-confirm { background:#ae4039;color:#fff;border-color:#ae4039; }
body.owner-redesign .owner-delete-car-actions button:disabled { opacity:.55;cursor:wait; }
/* Selected-vehicle repairs: history first, work orders visible, entry on demand. */
body.owner-redesign .owner-repairs-preview,
body.owner-redesign #serviceSection {
  min-width: 0;
}
body.owner-redesign .owner-repairs-preview {
  padding: 22px;
  border: 1px solid var(--owner-line);
  border-radius: 18px;
  background: var(--owner-surface);
  margin-bottom: 22px;
}
body.owner-redesign .owner-repairs-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 20px 0 14px;
}
body.owner-redesign .owner-repairs-preview > .owner-repairs-heading {
  margin-top: 0;
}
body.owner-redesign .owner-repairs-heading > div {
  min-width: 0;
}
body.owner-redesign .owner-repairs-heading h2 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repairs-heading p {
  margin: 6px 0 0;
  color: var(--owner-muted);
  font-size: 12px;
  line-height: 1.5;
}
body.owner-redesign .owner-repair-add,
body.owner-redesign .owner-repair-notice-button,
body.owner-redesign .owner-repair-more {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid #d3e4f9;
  border-radius: 11px;
  background: #edf5ff;
  color: #176bc9;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  flex: 0 0 auto;
  box-shadow: none;
}
body.owner-redesign .owner-repair-add {
  background: var(--owner-blue);
  border-color: var(--owner-blue);
  color: #fff;
}
body.owner-redesign .owner-repair-add:disabled {
  opacity: .5;
  cursor: not-allowed;
}
body.owner-redesign .owner-repair-link {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  width: auto;
  max-width: 100%;
  padding: 7px 2px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #176bc9;
  font-size: 12px;
  font-weight: 650;
  white-space: normal;
  line-height: 1.5;
}
body.owner-redesign .owner-repair-link svg,
body.owner-redesign .owner-repair-notice-button svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}
body.owner-redesign .owner-repair-notice-content {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #d3e4f9;
  border-radius: 14px;
  padding: 16px;
  background: #f2f7ff;
  margin: 12px 0 18px;
}
body.owner-redesign .owner-repair-notice-attention {
  background: #fff9ed;
  border-color: #efdfba;
}
body.owner-redesign .owner-repair-notice-error {
  display: block;
  background: #fff9ed;
  border-color: #efdfba;
}
body.owner-redesign .owner-repair-notice-content strong {
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repair-notice-content p {
  font-size: 12px;
  line-height: 1.55;
  color: #63758c;
  margin: 5px 0 0;
}
body.owner-redesign .owner-repair-notice-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: #4c79a8;
  background: #fff;
  border-radius: 10px;
}
body.owner-redesign .owner-repair-notice-icon svg {
  width: 21px;
  height: 21px;
}
body.owner-redesign .owner-repairs-history-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 7px;
  color: #728298;
  font-size: 12px;
  line-height: 1.5;
}
body.owner-redesign .owner-repairs-history {
  display: grid;
  gap: 0;
  min-width: 0;
}
body.owner-redesign .owner-repair-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--owner-line);
}
body.owner-redesign .owner-repair-record-main {
  min-width: 0;
}
body.owner-redesign .owner-repair-record-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  color: #7b8a9d;
  font-size: 11px;
  line-height: 1.5;
}
body.owner-redesign .owner-repair-record h3,
body.owner-redesign .owner-repair-order h3 {
  font-size: 14px;
  line-height: 1.5;
  margin: 5px 0;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repair-record p,
body.owner-redesign .owner-repair-order p {
  margin: 0;
  color: #738399;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repair-record-value {
  display: grid;
  justify-items: end;
  gap: 3px;
  min-width: 0;
}
body.owner-redesign .owner-repair-record-value > strong,
body.owner-redesign .owner-repair-record-value .owner-repair-amount strong,
body.owner-redesign .owner-repair-order-action > strong {
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repair-amount {
  display: grid;
  gap: 2px;
}
body.owner-redesign .owner-repair-amount small {
  font-size: 11px;
  font-weight: 400;
  color: #738399;
}
body.owner-redesign .owner-repair-status[data-status="waiting_owner_approval"] {
  color: #956514;
}
body.owner-redesign .owner-repair-status[data-status="completed"],
body.owner-redesign .owner-repair-status[data-status="confirmed"] {
  color: #24785c;
}
body.owner-redesign .owner-repair-status[data-status="cancelled"],
body.owner-redesign .owner-repair-status[data-status="rejected_by_owner"] {
  color: #9b5360;
}
body.owner-redesign .owner-repair-status {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 650;
}
body.owner-redesign .owner-repair-message {
  padding: 16px 0;
  color: #738399;
  font-size: 12px;
  line-height: 1.6;
}
body.owner-redesign .owner-repair-history-warning {
  color: #8a651d;
}
body.owner-redesign .owner-repair-more {
  width: 100%;
  margin: 16px 0;
}
body.owner-redesign .owner-repair-orders,
body.owner-redesign .owner-repair-entry {
  margin: 22px 0 0;
  padding: 0;
  border: 1px solid var(--owner-line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
body.owner-redesign .owner-repair-orders > summary,
body.owner-redesign .owner-repair-entry > summary {
  min-height: 48px;
  padding: 16px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 650;
  overflow-wrap: anywhere;
}
body.owner-redesign .owner-repair-orders summary span {
  margin-left: 8px;
  color: #738399;
  font-size: 12px;
}
body.owner-redesign .owner-repair-orders-list {
  padding: 0 16px;
}
body.owner-redesign .owner-repair-entry > p {
  margin: 0;
  padding: 0 16px 14px;
}
body.owner-redesign #ownerRepairEntry #serviceForm {
  border: 0;
  border-top: 1px solid var(--owner-line);
  border-radius: 0;
}
body.owner-redesign .owner-repair-order {
  padding: 16px 0;
  border-top: 1px solid var(--owner-line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}
body.owner-redesign .owner-repair-order-action {
  display: grid;
  justify-items: end;
  gap: 8px;
}
body.owner-redesign .owner-repairs-preview-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 16px;
}
@media (max-width: 600px) {
  body.owner-redesign .owner-repairs-preview {
    padding: 16px;
  }
  body.owner-redesign .owner-repairs-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }
  body.owner-redesign .owner-repairs-heading h2 {
    font-size: 18px;
  }
  body.owner-redesign .owner-repair-notice-content {
    grid-template-columns: 32px minmax(0, 1fr);
    padding: 13px;
    gap: 10px;
  }
  body.owner-redesign .owner-repair-notice-button {
    width: 100%;
  }
  body.owner-redesign .owner-repair-notice-content > .owner-repair-notice-button {
    grid-column: 1 / -1;
  }
  body.owner-redesign .owner-repair-record,
  body.owner-redesign .owner-repair-order {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  body.owner-redesign .owner-repair-record-value {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px 12px;
  }
  body.owner-redesign .owner-repair-order-action {
    justify-items: stretch;
    text-align: left;
  }
}


/* Workspace 24: compact dashboard, period-led expenses and a repair workspace. */
body.owner-redesign .owner-page-heading { margin-bottom: 18px; }
body.owner-redesign .owner-page-heading h1 { font-size: 28px; letter-spacing: -.7px; }
body.owner-redesign .owner-garage-lead { display: block; margin-bottom: 18px; }
body.owner-redesign .owner-vehicle-card {
  display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 16px;
  align-items: center; padding: 18px; margin: 0 0 24px; min-height: 0;
  border: 1px solid var(--owner-line); border-radius: 16px; background: #fff;
}
body.owner-redesign .owner-vehicle-card::after { display: none; }
body.owner-redesign .owner-vehicle-compact-photo,
body.owner-redesign .owner-vehicle-compact-placeholder {
  display: grid; place-items: center; width: 64px; height: 64px; min-width: 0;
  padding: 0; border: 0; border-radius: 14px; background: #edf4fb; color: #4e759a; overflow: hidden;
}
body.owner-redesign .owner-vehicle-compact-photo img { width:100%;height:100%;object-fit:cover; }
body.owner-redesign .owner-vehicle-compact-photo .owner-icon { width:30px;height:30px; }
body.owner-redesign .owner-vehicle-compact-copy { min-width:0; }
body.owner-redesign .owner-vehicle-compact-copy h2 { margin:0;font-size:20px;letter-spacing:-.4px;overflow-wrap:anywhere; }
body.owner-redesign .owner-vehicle-compact-copy p { margin:3px 0;color:var(--owner-muted);font-size:12px; }
body.owner-redesign .owner-vehicle-compact-copy .owner-text-button { font-size:12px;padding:2px 0;min-height:24px; }
body.owner-redesign .owner-vehicle-compact-switch { display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;color:#336eaa;font-size:12px; }
body.owner-redesign .owner-vehicle-compact-switch .owner-icon { width:15px;height:15px; }
body.owner-redesign .owner-daily-heading { margin-bottom:12px; }
body.owner-redesign .owner-daily-heading h2 { font-size:18px; }
body.owner-redesign .owner-dashboard-tools { grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px; }
body.owner-redesign .owner-dashboard-tools button { min-height:46px;padding:10px 8px;border-radius:12px;font-size:12px;background:#fff;border:1px solid #dbe6f1; }
body.owner-redesign .owner-dashboard-tools button .owner-icon { width:18px;height:18px; }
body.owner-redesign .owner-widget-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
body.owner-redesign .owner-widget { min-height:0;padding:14px;border-radius:13px;box-shadow:none;display:flex;flex-direction:column;gap:0; }
body.owner-redesign .owner-widget-featured { grid-column:span 2;min-height:150px;padding:18px; }
body.owner-redesign .owner-widget-heading { margin-bottom:8px;gap:7px; }
body.owner-redesign .owner-widget-heading h3 { font-size:12px;line-height:1.4; }
body.owner-redesign .owner-widget-heading>span { width:25px;height:25px;border-radius:8px; }
body.owner-redesign .owner-widget-value { font-size:22px;line-height:1.2;letter-spacing:-.7px;overflow-wrap:anywhere; }
body.owner-redesign .owner-widget-featured .owner-widget-value { font-size:34px; }
body.owner-redesign .owner-widget-value small { font-size:12px;letter-spacing:0; }
body.owner-redesign .owner-widget-note { font-size:12px;line-height:1.5;min-height:0;margin:7px 0 9px; }
body.owner-redesign .owner-widget-action { margin-top:auto;padding:5px 0;min-height:36px;font-size:12px; }
body.owner-redesign .owner-attention-summary { margin:0 0 18px;border:1px solid #ead9b5;border-radius:14px;padding:16px 18px;background:#fffaf0; }
body.owner-redesign .owner-attention-heading { margin-bottom:7px; }
body.owner-redesign .owner-attention-summary h3 { font-size:17px;margin:0 0 6px; }
body.owner-redesign .owner-attention-summary p { font-size:12px;margin:0 0 10px; }
body.owner-redesign .owner-attention-summary .owner-primary-button { min-height:38px;width:auto;font-size:12px; }
body.owner-redesign .owner-expense-overview { padding:20px;border-radius:16px;margin:0 0 20px;background:#0f2e4c;color:#fff; }
body.owner-redesign .owner-expense-overview .owner-section-heading { align-items:center; }
body.owner-redesign .owner-expense-overview h2 { font-size:17px;color:#fff; }
body.owner-redesign .owner-expense-overview .owner-kicker { color:#abc5dd;font-size:12px;letter-spacing:.7px; }
body.owner-redesign .owner-expense-overview .owner-currency-chip { background:#224968;color:#d4e7f7;border:0; }
body.owner-redesign .owner-home-metrics { display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:18px 0; }
body.owner-redesign .owner-home-metrics .summary-card,
body.owner-redesign .owner-home-metrics .summary-card:first-child,
body.owner-redesign .owner-home-metrics .summary-card:last-child { padding:0;border:0;grid-column:auto; }
body.owner-redesign .owner-home-metrics .summary-card span { color:#b5cce0;min-height:0;font-size:12px; }
body.owner-redesign .owner-home-metrics .summary-card strong { color:#fff;font-size:21px;line-height:1.3; }
body.owner-redesign .owner-home-metrics .summary-card:first-child strong { font-size:35px; }
body.owner-redesign .owner-home-metrics .summary-card small { color:#aac0d4;font-size:12px; }
body.owner-redesign .owner-expense-footer { border-top:1px solid #36536d;margin-top:14px;padding-top:12px; }
body.owner-redesign .owner-expense-footer p { font-size:12px;color:#acc3d9; }
body.owner-redesign .owner-expense-footer .owner-text-button { color:#d5eafa;font-size:12px; }
body.owner-redesign .owner-dashboard-grid { display:block; }
body.owner-redesign .owner-dashboard-grid .owner-recent-card { padding:18px;border-radius:14px; }
body.owner-redesign .owner-recent-card .owner-section-heading h2 { font-size:17px; }
body.owner-redesign .owner-feed .record { padding:12px 0; }

body.owner-redesign [data-owner-view="history"] .owner-history-toolbar { display:block;min-width:0;width:100%;margin-bottom:14px; }
body.owner-redesign [data-owner-view="history"] .owner-filter-tabs { display:flex;gap:6px;margin:0 0 12px;padding:0;overflow-x:auto;scrollbar-width:none;background:none;border-radius:0; }
body.owner-redesign [data-owner-view="history"] .owner-filter-tabs button { flex:1 0 auto;min-height:40px;white-space:nowrap;padding:8px 15px;border:1px solid var(--owner-line);border-radius:10px;background:#fff;font-size:12px; }
body.owner-redesign [data-owner-view="history"] .owner-filter-tabs button.active { background:#183e61;color:#fff;border-color:#183e61;box-shadow:none; }
body.owner-redesign .owner-analysis-category { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;font-size:12px;color:var(--owner-muted); }
body.owner-redesign .owner-analysis-category select { width:260px;min-height:40px;border-radius:9px;padding:8px 10px;font-size:12px;background:#fff; }
body.owner-redesign .owner-history-summary { display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:22px 24px;margin:0 0 24px;border:0;border-radius:16px;background:#183e61;color:#fff; }
body.owner-redesign .owner-analysis-total { min-width:0; }
body.owner-redesign .owner-analysis-total>span { display:block;color:#c8deef;font-size:13px;margin-bottom:7px; }
body.owner-redesign .owner-analysis-total strong { display:block;font-size:42px;line-height:1.2;font-weight:750;letter-spacing:-1.3px;overflow-wrap:anywhere; }
body.owner-redesign .owner-analysis-total p { margin:9px 0 0;font-size:12px;color:#bfd4e5; }
body.owner-redesign .owner-analysis-count { flex:none;color:#d6e8f6;font-size:12px;padding-bottom:3px; }
body.owner-redesign .owner-analysis-records-heading { display:flex;align-items:center;justify-content:space-between;margin:0 0 6px; }
body.owner-redesign .owner-analysis-records-heading h2 { font-size:18px;margin:0; }
body.owner-redesign .owner-analysis-records-heading button { font-size:12px; }
body.owner-redesign .owner-timeline { padding:0;margin:0; }
body.owner-redesign .owner-analysis-record { display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:13px;align-items:start;padding:17px 0;border-bottom:1px solid var(--owner-line); }
body.owner-redesign .owner-analysis-record-icon { display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e8f0f8;color:#41698b; }
body.owner-redesign .owner-analysis-record-icon .owner-icon { width:19px;height:19px; }
body.owner-redesign .owner-analysis-record-copy { min-width:0; }
body.owner-redesign .owner-analysis-record-label { color:var(--owner-muted);font-size:12px;margin:0 0 3px; }
body.owner-redesign .owner-analysis-record-copy h3 { margin:0 0 4px;font-size:14px;line-height:1.5;overflow-wrap:anywhere; }
body.owner-redesign .owner-analysis-record-copy p,
body.owner-redesign .owner-analysis-record-copy small { display:block;margin:3px 0;color:var(--owner-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere; }
body.owner-redesign .owner-analysis-record-amount { display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:180px;min-width:0; }
body.owner-redesign .owner-analysis-record-amount strong { font-size:16px;overflow-wrap:anywhere; }
body.owner-redesign .owner-analysis-record-amount>small { font-size:12px;color:var(--owner-muted); }
body.owner-redesign .owner-analysis-record-amount button { font-size:12px;min-height:36px;padding:5px 0; }
body.owner-redesign .owner-analysis-record-amount .owner-icon { width:13px;height:13px; }
body.owner-redesign .owner-analysis-record.is-excluded { border-left:2px solid #c9a65a;padding-left:10px; }
body.owner-redesign .owner-analysis-record .owner-analysis-excluded,
body.owner-redesign .owner-analysis-excluded { color:#956b22; }
body.owner-redesign .owner-analysis-currency-note { padding:10px 12px;background:#fff6e5;border-radius:10px;color:#87652e;font-size:12px;line-height:1.6; }
body.owner-redesign .owner-analysis-empty { padding:35px 16px;text-align:center;color:var(--owner-muted); }
body.owner-redesign .owner-analysis-empty>span { display:inline-grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#eaf1f8;color:#7294b0; }
body.owner-redesign .owner-analysis-empty h2 { font-size:17px;color:var(--owner-ink); }
body.owner-redesign .owner-analysis-empty p { max-width:350px;margin:10px auto 18px;font-size:12px; }
body.owner-redesign .owner-analysis-more { display:block;width:100%;min-height:44px;margin:22px 0;border:1px solid #d6e3f0;border-radius:11px;background:#fff;color:var(--owner-blue);font-size:13px; }
body.owner-redesign .owner-analysis-page-error { margin:14px 0;padding:10px;border-radius:10px;background:#fff5e6;font-size:12px; }
body.owner-redesign .owner-analysis-page-error button { margin-left:7px;width:auto; }
body.owner-redesign .owner-analysis-detail { display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:10px 0; }
body.owner-redesign .owner-analysis-detail>strong { font-size:35px;letter-spacing:-.8px; }
body.owner-redesign .owner-analysis-detail>p { margin:0;color:var(--owner-muted);font-size:13px;line-height:1.6; }
body.owner-redesign .owner-analysis-detail button { width:auto;min-height:42px; }

body.owner-redesign #userDrawer[data-section="serviceSection"] { padding:0;background:#eef3f8; }
body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-panel { width:min(1080px,100%);min-height:100dvh;height:100dvh;max-height:100dvh;padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--owner-bg);border-radius:0; }
body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-panel>.section-head { flex:none;position:static;margin:0;padding:16px 26px;min-height:70px; }
body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-content { overflow-y:auto;min-height:0;padding:22px 26px calc(32px + env(safe-area-inset-bottom));flex:1; }
body.owner-redesign #serviceSection>[data-owner-car-context] { margin:0 0 16px;padding:0 0 16px;border-radius:0;border:0;border-bottom:1px solid var(--owner-line);background:none; }
body.owner-redesign .owner-repair-workspace-toolbar { display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 12px; }
body.owner-redesign .owner-repair-tabs { display:flex;gap:4px;padding:4px;background:#e7edf4;border-radius:11px; }
body.owner-redesign .owner-repair-tabs button { display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 16px;border:0;border-radius:8px;background:transparent;color:var(--owner-muted);font-size:13px; }
body.owner-redesign .owner-repair-tabs button.active { background:#fff;color:var(--owner-ink);box-shadow:0 1px 3px #173d5f12; }
body.owner-redesign .owner-repair-tabs button span { font-size:12px;color:var(--owner-muted); }
body.owner-redesign #serviceSection .owner-repair-add { min-height:42px;padding:9px 15px;width:auto;border-radius:10px;font-size:12px; }
body.owner-redesign .owner-repairs-notice { padding:0;margin:0;border:0;background:none; }
body.owner-redesign .owner-repair-notice-content { display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dbe6f0;border-radius:12px;background:#edf5fc; }
body.owner-redesign .owner-repair-notice-content.owner-repair-notice-attention { background:#fff6e7;border-color:#ebd8b7; }
body.owner-redesign .owner-repair-notice-icon { width:30px;height:30px; }
body.owner-redesign .owner-repair-notice-content strong { font-size:13px; }
body.owner-redesign .owner-repair-notice-content p { margin:3px 0 0;font-size:12px; }
body.owner-redesign .owner-repair-notice-content>.owner-repair-notice-button { min-height:38px;padding:8px 12px;width:auto;font-size:12px; }
body.owner-redesign #serviceSection .owner-repairs-history-meta { padding:10px 0;margin:0;font-size:12px; }
body.owner-redesign #serviceSection .owner-repair-record { grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:18px 0;min-width:0;border-bottom:1px solid var(--owner-line);background:none;border-radius:0; }
body.owner-redesign #serviceSection .owner-repair-record h3 { font-size:15px; }
body.owner-redesign #serviceSection .owner-repair-record-value { gap:7px; }
body.owner-redesign #serviceSection .owner-repair-record-labels { font-size:12px; }
body.owner-redesign #serviceSection .owner-repair-record p { font-size:12px; }
body.owner-redesign #serviceSection .owner-repair-amount strong { font-size:17px; }
body.owner-redesign #serviceSection .owner-repair-orders,
body.owner-redesign #serviceSection .owner-repair-entry { margin:0;padding:0;border:0;border-radius:0;background:none; }
body.owner-redesign #serviceSection .owner-repair-order { padding:18px 0; }
body.owner-redesign .owner-repair-entry-heading { margin:12px 0 20px; }
body.owner-redesign .owner-repair-entry-heading h2 { margin:12px 0 0;font-size:23px; }
body.owner-redesign #serviceFormMount { max-width:700px; }
body.owner-redesign #serviceForm { margin:0;padding:0;border:0;background:none;gap:15px; }
body.owner-redesign #serviceForm input,
body.owner-redesign #serviceForm select { min-height:45px;border-radius:9px; }
body.owner-redesign #serviceForm label { font-size:12px; }
body.owner-redesign #serviceForm button[type="submit"] { min-height:46px;border-radius:10px; }

@media(max-width:700px) {
  body.owner-redesign .owner-page-heading h1 { font-size:25px; }
  body.owner-redesign .owner-vehicle-card { grid-template-columns:48px minmax(0,1fr) auto;gap:11px;padding:13px;margin-bottom:20px;border-radius:13px; }
  body.owner-redesign .owner-vehicle-compact-photo,
  body.owner-redesign .owner-vehicle-compact-placeholder { width:48px;height:48px;border-radius:11px; }
  body.owner-redesign .owner-vehicle-compact-copy h2 { font-size:16px; }
  body.owner-redesign .owner-vehicle-compact-copy p { font-size:12px; }
  body.owner-redesign .owner-vehicle-compact-switch { min-height:35px;padding:6px 8px;font-size:12px; }
  body.owner-redesign .owner-dashboard-tools { gap:6px; }
  body.owner-redesign .owner-dashboard-tools button { flex-direction:column;gap:4px;padding:8px 3px;min-height:56px;font-size:12px; }
  body.owner-redesign .owner-widget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.owner-redesign .owner-widget-featured { grid-column:auto;min-height:155px;padding:14px; }
  body.owner-redesign .owner-widget-featured .owner-widget-value { font-size:28px; }
  body.owner-redesign .owner-widget-value { font-size:21px; }
  body.owner-redesign .owner-widget-heading h3 { font-size:12px; }
  body.owner-redesign .owner-widget-heading>span { display:none; }
  body.owner-redesign .owner-widget-note { font-size:12px; }
  body.owner-redesign .owner-widget-action { font-size:12px; }
  body.owner-redesign .owner-expense-overview { padding:17px;border-radius:13px; }
  body.owner-redesign .owner-home-metrics { grid-template-columns:1fr 1fr;gap:12px; }
  body.owner-redesign .owner-home-metrics .summary-card:first-child { grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid #36536d; }
  body.owner-redesign .owner-home-metrics .summary-card:first-child strong { font-size:34px; }
  body.owner-redesign .owner-home-metrics .summary-card strong { font-size:20px; }
  body.owner-redesign .owner-expense-footer { align-items:flex-start;gap:8px;flex-direction:column; }
  body.owner-redesign [data-owner-view="history"] .owner-filter-tabs button { padding:8px 12px;font-size:12px; }
  body.owner-redesign .owner-analysis-category { display:block; }
  body.owner-redesign .owner-analysis-category>span { display:block;font-size:12px;margin-bottom:6px; }
  body.owner-redesign .owner-analysis-category select { width:100%; }
  body.owner-redesign .owner-history-summary { align-items:flex-start;flex-direction:column;padding:18px;margin-bottom:22px;gap:12px; }
  body.owner-redesign .owner-analysis-total strong { font-size:37px; }
  body.owner-redesign .owner-analysis-total>span { font-size:12px; }
  body.owner-redesign .owner-analysis-count { font-size:12px; }
  body.owner-redesign .owner-analysis-record { grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0; }
  body.owner-redesign .owner-analysis-record-icon { display:none; }
  body.owner-redesign .owner-analysis-record-copy h3 { font-size:13px; }
  body.owner-redesign .owner-analysis-record-amount { max-width:115px; }
  body.owner-redesign .owner-analysis-record-amount strong { font-size:14px; }
  body.owner-redesign .owner-analysis-records-heading h2 { font-size:17px; }
  body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-panel>.section-head { padding:13px 16px; }
  body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-content { padding:16px 16px calc(25px + env(safe-area-inset-bottom)); }
  body.owner-redesign .owner-repair-workspace-toolbar { gap:9px;margin:15px 0 5px; }
  body.owner-redesign .owner-repair-tabs button { padding:7px 11px;font-size:12px; }
  body.owner-redesign #serviceSection .owner-repair-add { padding:8px 10px;font-size:12px; }
  body.owner-redesign .owner-repair-notice-content { grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:11px; }
  body.owner-redesign .owner-repair-notice-icon { display:none; }
  body.owner-redesign .owner-repair-notice-content strong { font-size:12px; }
  body.owner-redesign .owner-repair-notice-content p { font-size:12px; }
  body.owner-redesign .owner-repair-notice-content>.owner-repair-notice-button { max-width:115px;padding:8px 10px;font-size:12px; }
  body.owner-redesign #serviceSection .owner-repair-record { gap:12px;padding:16px 0; }
  body.owner-redesign #serviceSection .owner-repair-record h3 { font-size:13px; }
  body.owner-redesign #serviceSection .owner-repair-amount strong { font-size:15px; }
  body.owner-redesign #serviceSection .owner-repair-record-value { max-width:116px; }
  body.owner-redesign #serviceSection .owner-repair-order { flex-direction:column;align-items:stretch;gap:10px; }
  body.owner-redesign #serviceSection .owner-repair-order-action { width:100%;flex-direction:row;justify-content:space-between;align-items:center; }
}
@media(max-width:360px) {
  body.owner-redesign .owner-vehicle-compact-switch { padding:5px;font-size:12px; }
  body.owner-redesign .owner-vehicle-compact-copy h2 { font-size:14px; }
  body.owner-redesign .owner-vehicle-compact-copy p { font-size:12px; }
  body.owner-redesign .owner-widget-featured .owner-widget-value { font-size:25px; }
  body.owner-redesign .owner-analysis-total strong { font-size:33px; }
  body.owner-redesign #serviceSection .owner-repair-add { max-width:101px;line-height:1.3; }
}

body.owner-redesign .owner-widget-grid>.owner-expense-overview { grid-column:1/-1;margin:4px 0; }
body.owner-redesign .owner-widget-note { font-size:12px;line-height:1.5; }
body.owner-redesign .owner-widget-heading h3 { font-size:13px; }
body.owner-redesign .owner-widget-action { min-height:38px;font-size:12px; }
body.owner-redesign .owner-analysis-record-copy h3 { font-size:15px; }
body.owner-redesign .owner-analysis-record-copy p,
body.owner-redesign .owner-analysis-record-copy small { font-size:12px; }
body.owner-redesign .owner-analysis-record-amount button { min-height:40px;font-size:12px; }
body.owner-redesign .owner-repair-notice-content p { font-size:12px;line-height:1.5; }
body.owner-redesign .owner-repair-notice-content strong { font-size:14px; }
body.owner-redesign #serviceSection .owner-repair-record h3 { font-size:15px; }
body.owner-redesign #serviceSection .owner-repair-record-labels { font-size:12px; }
body.owner-redesign .owner-vehicle-compact-switch { min-height:40px;font-size:12px; }
@media(max-width:700px) {
  body.owner-redesign .owner-vehicle-compact-copy h2 { font-size:17px; }
  body.owner-redesign .owner-vehicle-compact-copy p { font-size:12px; }
  body.owner-redesign .owner-dashboard-tools button { min-height:62px;font-size:12px; }
  body.owner-redesign .owner-widget-featured { min-height:175px; }
  body.owner-redesign .owner-widget-note { font-size:12px; }
  body.owner-redesign .owner-analysis-category select { min-height:44px;font-size:14px; }
  body.owner-redesign [data-owner-view="history"] .owner-filter-tabs button { min-height:42px;font-size:13px; }
  body.owner-redesign .owner-repair-tabs button { min-height:42px;font-size:13px; }
  body.owner-redesign #serviceSection .owner-repair-add { min-height:44px;font-size:13px; }
  body.owner-redesign .owner-repair-notice-content { display:flex;align-items:flex-start;flex-direction:column; }
  body.owner-redesign .owner-repair-notice-content>.owner-repair-notice-button { max-width:none;min-height:40px;font-size:12px;padding:8px 12px; }
}
@media(max-width:380px) {
  body.owner-redesign .owner-vehicle-card { grid-template-columns:44px minmax(0,1fr); }
  body.owner-redesign .owner-vehicle-compact-photo { width:44px;height:44px; }
  body.owner-redesign .owner-vehicle-compact-switch { grid-column:1/-1;justify-content:center; }
  body.owner-redesign .owner-vehicle-compact-copy h2 { font-size:17px; }
  body.owner-redesign .owner-vehicle-compact-copy p { font-size:12px; }
  body.owner-redesign .owner-repair-workspace-toolbar { align-items:stretch;flex-direction:column; }
  body.owner-redesign .owner-repair-tabs button { flex:1;justify-content:center; }
  body.owner-redesign #serviceSection .owner-repair-add { width:100%;max-width:none; }
}

body.owner-redesign .owner-vehicle-card .owner-vehicle-compact-copy h2 { color:#162d45; }
body.owner-redesign .owner-vehicle-card .owner-vehicle-compact-copy p { color:#526c84; }
body.owner-redesign .owner-vehicle-card .owner-vehicle-compact-copy .owner-text-button { color:#2168ad;font-size:12px; }
body.owner-redesign .owner-vehicle-card .owner-vehicle-compact-switch { color:#285e91;background:#f3f7fb;border:1px solid #d6e2ed; }
body.owner-redesign .owner-vehicle-card .owner-vehicle-compact-photo { color:#456e92;background:#eaf2f9;border:0; }
body.owner-redesign .owner-repairs-preview .owner-repair-record-labels,
body.owner-redesign .owner-repairs-preview .owner-repair-record p,
body.owner-redesign .owner-repairs-preview .owner-repair-link { font-size:12px; }

body.owner-redesign .owner-expense-overview #selectedCarTitle { display:block;min-height:0;padding:0;margin:4px 0 0;border:0;background:transparent;color:#fff;font-size:35px;font-weight:750;line-height:1.3;letter-spacing:-.8px;text-align:left;box-shadow:none; }
body.owner-redesign .owner-expense-overview #summaryTotal,
body.owner-redesign .owner-expense-overview #summaryConsumption { color:#fff; }
body.owner-redesign .owner-expense-overview #selectedCarTitle:focus-visible { outline:2px solid #b9ddff;outline-offset:5px;border-radius:4px; }
@media(max-width:700px) { body.owner-redesign .owner-expense-overview #selectedCarTitle { font-size:34px; } }

/* Telegram's device inset and its own control row are separate layers. The
   SDK's explicit zero wins over env() in ordinary, non-fullscreen WebViews. */
body.owner-redesign {
  --cp-chrome-gray: #f3f6f9;
  --cp-top-inset: calc(var(--tg-safe-area-inset-top, env(safe-area-inset-top, 0px)) + var(--tg-content-safe-area-inset-top, 0px));
  --cp-right-inset: calc(var(--tg-safe-area-inset-right, env(safe-area-inset-right, 0px)) + var(--tg-content-safe-area-inset-right, 0px));
  --cp-bottom-inset: calc(var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + var(--tg-content-safe-area-inset-bottom, 0px));
  --cp-left-inset: calc(var(--tg-safe-area-inset-left, env(safe-area-inset-left, 0px)) + var(--tg-content-safe-area-inset-left, 0px));
  --owner-page-pad: 24px;
}
body.owner-redesign::before {
  content: "";
  position: fixed;
  z-index: 500;
  top: 0;
  left: 0;
  right: 0;
  height: var(--cp-top-inset);
  background: var(--cp-chrome-gray);
  pointer-events: none;
}
body.owner-redesign .shell {
  padding-top: var(--cp-top-inset);
  padding-right: calc(var(--owner-page-pad) + var(--cp-right-inset));
  padding-bottom: calc(108px + var(--cp-bottom-inset));
  padding-left: calc(var(--owner-page-pad) + var(--cp-left-inset));
}
body.owner-redesign .owner-header,
body.owner-redesign .topbar {
  top: var(--cp-top-inset);
  margin-right: calc(-1 * var(--owner-page-pad));
  margin-left: calc(-1 * var(--owner-page-pad));
  padding: 14px var(--owner-page-pad);
  background: var(--cp-chrome-gray);
  backdrop-filter: none;
}
body.owner-redesign .drawer:not(.hidden),
body.owner-redesign .report-sheet:not(.hidden),
body.owner-redesign .scan-modal:not(.hidden),
body.owner-redesign .owner-period-sheet,
body.owner-redesign .owner-delete-car-modal,
body.owner-redesign .auth-overlay {
  top: var(--cp-top-inset);
  right: var(--cp-right-inset);
  left: var(--cp-left-inset);
}
body.owner-redesign .drawer-panel,
body.owner-redesign .sheet-panel,
body.owner-redesign .scan-panel {
  padding-bottom: calc(110px + var(--cp-bottom-inset));
}
body.owner-redesign .drawer-panel > .section-head,
body.owner-redesign .sheet-panel > .section-head,
body.owner-redesign .scan-panel > .section-head {
  padding-top: 13px;
  background: var(--cp-chrome-gray);
}
body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-panel {
  height: 100%;
  min-height: 100%;
  max-height: 100%;
}
body.owner-redesign #userDrawer[data-section="serviceSection"] .drawer-content {
  padding-bottom: calc(32px + var(--cp-bottom-inset));
}
body.owner-redesign .owner-period-sheet { padding-top: 0; }
body.owner-redesign .owner-period-panel {
  max-height: min(85vh, calc(100vh - var(--cp-top-inset)));
  max-height: min(85dvh, calc(100dvh - var(--cp-top-inset)));
  padding-right: 20px;
  padding-bottom: calc(12px + var(--cp-bottom-inset));
  padding-left: 20px;
}
body.owner-redesign .owner-delete-car-modal { padding-bottom: calc(20px + var(--cp-bottom-inset)); }
body.owner-redesign .owner-delete-car-panel {
  max-height: calc(100vh - var(--cp-top-inset) - var(--cp-bottom-inset) - 40px);
  max-height: calc(100dvh - var(--cp-top-inset) - var(--cp-bottom-inset) - 40px);
  overflow-y: auto;
}
body.owner-redesign .owner-bottom-nav {
  left: calc(50% + (var(--cp-left-inset) - var(--cp-right-inset)) / 2);
  width: min(560px, calc(100% - var(--cp-left-inset) - var(--cp-right-inset)));
  padding-bottom: calc(10px + var(--cp-bottom-inset));
}
body.owner-redesign .toast { bottom: calc(92px + var(--cp-bottom-inset)); }
@media (max-width: 600px) {
  body.owner-redesign { --owner-page-pad: 18px; }
}
@media (min-width: 701px) {
  body.owner-redesign .owner-period-sheet { padding: 24px; }
  body.owner-redesign .owner-period-panel {
    max-height: calc(100vh - var(--cp-top-inset) - 48px);
    max-height: calc(100dvh - var(--cp-top-inset) - 48px);
    padding: 24px 24px calc(24px + var(--cp-bottom-inset));
  }
}

/* Loading leaves the hit target, border and other icon buttons stationary. */
body.owner-redesign.loading .icon-btn,
body.owner-redesign #refreshBtn.is-busy {
  animation: none;
  transform: none;
}
body.owner-redesign.loading #refreshBtn > .owner-icon,
body.owner-redesign #refreshBtn.is-busy > .owner-icon {
  animation: owner-refresh-spin 800ms linear infinite;
  transform-box: view-box;
  transform-origin: center;
}
@keyframes owner-refresh-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  body.owner-redesign.loading #refreshBtn > .owner-icon,
  body.owner-redesign #refreshBtn.is-busy > .owner-icon { animation: none; }
}
