@import url("./customer-zero-v1.css");
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#162033;background:#f5f7fb;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#162033}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:24px;padding:14px clamp(16px,4vw,48px);background:#fff;border-bottom:1px solid #e3e8f0}.brand{font-weight:900;letter-spacing:.03em}.brand span{font-size:.7rem;font-weight:700;color:#5e6d84;margin-inline-start:6px}.topbar nav{display:flex;gap:8px;flex:1}.topbar nav a,.lang,.link-button{padding:9px 11px;border-radius:10px;color:#43516a;font-weight:700}.topbar nav a:hover,.lang:hover,.link-button:hover{background:#f0f4fa}.top-actions{display:flex;align-items:center;gap:4px}.top-actions form{margin:0}.link-button{border:0;background:transparent;cursor:pointer;font:inherit}.shell{width:min(1180px,100%);margin:0 auto;padding:28px clamp(14px,4vw,40px) 64px}.hero,.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.73rem;font-weight:900;color:#49627f;margin:0 0 6px}h1{font-size:clamp(1.8rem,4vw,3rem);margin:.1em 0}h2{margin:0;font-size:1.05rem}.muted{color:#6b778b}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid #e1e7f0;border-radius:18px;padding:20px;box-shadow:0 7px 22px rgba(32,48,73,.05)}.metric span{display:block;color:#6a7890;font-size:.9rem}.metric strong{display:block;font-size:2rem;margin-top:8px}.panel{background:#fff;border:1px solid #e1e7f0;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 7px 22px rgba(32,48,73,.04)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.stack label{display:grid;gap:6px;font-size:.83rem;font-weight:800;color:#53627a}.wide{grid-column:1/-1}input,select,textarea{width:100%;font:inherit;padding:11px 12px;border-radius:11px;border:1px solid #cbd5e3;background:#fff;color:#162033;outline:none}input:focus,select:focus,textarea:focus{border-color:#3f6fa4;box-shadow:0 0 0 3px rgba(63,111,164,.12)}button.primary{border:0;border-radius:11px;background:#16395f;color:#fff;padding:11px 18px;font:inherit;font-weight:900;cursor:pointer}button.primary:disabled{opacity:.45;cursor:not-allowed}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:start;padding:14px 16px;border-bottom:1px solid #edf0f5}th{font-size:.78rem;color:#64738a;background:#fbfcfe}tbody tr:last-child td{border-bottom:0}.status{display:inline-block;background:#eaf2fa;color:#244d79;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900}.notice{padding:11px 14px;border-radius:12px;margin-bottom:16px;font-weight:750}.success{background:#eaf7ef;color:#24633c}.error{background:#fff0f0;color:#8a2b2b}.login-card{width:min(430px,calc(100% - 28px));margin:9vh auto;background:#fff;border:1px solid #e1e7f0;border-radius:24px;padding:30px;box-shadow:0 22px 65px rgba(25,42,65,.12)}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#16395f;color:#fff;font-weight:950;font-size:1.3rem;margin-bottom:18px}.stack{display:grid;gap:14px;margin-top:24px}.bottom-link{display:inline-block;margin-top:18px}.audit-list{list-style:none;padding:0;margin:0}.audit-list li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0f5}.audit-list li:last-child{border-bottom:0}.audit-list span{color:#768298;font-size:.86rem}.ltr-id{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}html[dir="rtl"] .ltr-id{direction:ltr;text-align:right}@media(max-width:800px){.topbar{flex-wrap:wrap;gap:8px}.topbar nav{order:3;width:100%;overflow:auto}.topbar nav a{white-space:nowrap}.metrics{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.shell{padding-top:18px}.panel{padding:16px}.table-wrap{padding:0}.login-card{margin-top:5vh}.audit-list li{display:grid;gap:3px}}

.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.record-list{display:grid;gap:.8rem}.record-card{border:1px solid var(--border,#d8dee8);border-radius:14px;padding:1rem;background:#fff}.record-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.inline-form{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap;margin-top:.8rem}.secondary,.button-small{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9c2cf;background:#fff;color:#172033;border-radius:10px;padding:.55rem .8rem;text-decoration:none;cursor:pointer}.button-small{padding:.35rem .65rem;font-size:.9rem}.money-large{font-size:1.55rem}.danger-aware{margin-top:1rem}.table-wrap tfoot th{border-top:2px solid #c9d2df}.ltr-id{direction:ltr;unicode-bidi:isolate}.status{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;background:#eef2f7;font-size:.85rem;font-weight:700}
@media(max-width:800px){.detail-grid{grid-template-columns:1fr}.topbar nav{overflow-x:auto;max-width:100%;padding-bottom:.2rem}.topbar nav a{white-space:nowrap}.record-card>div:first-child{align-items:flex-start;flex-direction:column}}
.ai-policy{border-inline-start:4px solid #16395f}.ai-answer{white-space:normal}.ai-draft pre{white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border-radius:10px;padding:10px;font-size:.82rem}.ai-draft .inline-form form{margin:0}#ai-voice.recording{outline:3px solid rgba(138,43,43,.15);border-color:#8a2b2b;color:#8a2b2b}

/* ==========================================================
   GARAGE_STAGE3_STEP1_DESIGN_FOUNDATION_V1
   Foundation only. No shell/page/workflow restructuring.
   ========================================================== */

:root {
  color-scheme: light;

  --garage-graphite: #17202a;
  --garage-graphite-strong: #0f1720;
  --garage-blue: #246bfd;
  --garage-blue-hover: #1f5fd6;
  --garage-blue-soft: #edf3ff;

  --garage-bg: #f6f8fa;
  --garage-surface: #ffffff;
  --garage-surface-subtle: #f9fafb;

  --garage-text: #18212b;
  --garage-text-muted: #637083;

  --garage-border: #d9e0e8;
  --garage-border-strong: #c5cfda;

  --garage-success: #176b45;
  --garage-success-bg: #eaf7f0;

  --garage-danger: #9b3030;
  --garage-danger-bg: #fff0f0;

  --garage-warning: #785500;
  --garage-warning-bg: #fff6d8;

  --garage-radius-sm: 8px;
  --garage-radius-md: 12px;
  --garage-radius-lg: 16px;

  --garage-space-1: 4px;
  --garage-space-2: 8px;
  --garage-space-3: 12px;
  --garage-space-4: 16px;
  --garage-space-5: 24px;
  --garage-space-6: 32px;
  --garage-space-7: 40px;
  --garage-space-8: 48px;

  --garage-focus-ring: 0 0 0 3px rgba(36, 107, 253, .22);
  --garage-shadow-float: 0 12px 30px rgba(15, 23, 32, .10);
}

html {
  background: var(--garage-bg);
}

body {
  min-height: 100vh;
  background: var(--garage-bg);
  color: var(--garage-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-underline-offset: 3px;
}

h1,
h2,
h3 {
  color: var(--garage-text);
  letter-spacing: -.015em;
}

h1 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.12;
}

h2 {
  line-height: 1.25;
}

.muted {
  color: var(--garage-text-muted);
}

.eyebrow {
  color: #52647a;
  font-size: .72rem;
  letter-spacing: .12em;
}

.shell {
  width: min(1240px, 100%);
}

.topbar {
  background: var(--garage-surface);
  border-bottom-color: var(--garage-border);
  box-shadow: 0 1px 0 rgba(15, 23, 32, .02);
}

.brand {
  color: var(--garage-graphite);
}

.brand span {
  color: var(--garage-text-muted);
}

.topbar nav a,
.lang,
.link-button {
  border-radius: var(--garage-radius-sm);
  color: #46566a;
}

.topbar nav a:hover,
.lang:hover,
.link-button:hover {
  background: var(--garage-blue-soft);
  color: var(--garage-graphite);
}

.panel,
.metric,
.record-card,
.login-card {
  background: var(--garage-surface);
  border-color: var(--garage-border);
}

.panel,
.metric,
.record-card {
  border-radius: var(--garage-radius-md);
  box-shadow: 0 1px 2px rgba(15, 23, 32, .03);
}

.panel {
  padding: var(--garage-space-5);
}

.metric {
  padding: var(--garage-space-5);
}

.metric span {
  color: var(--garage-text-muted);
  font-weight: 650;
}

.metric strong {
  color: var(--garage-graphite);
  font-variant-numeric: tabular-nums;
}

.record-card {
  padding: var(--garage-space-4);
}

.login-card {
  border-radius: var(--garage-radius-lg);
  box-shadow: var(--garage-shadow-float);
}

.brand-mark {
  border-radius: var(--garage-radius-md);
  background: var(--garage-graphite);
}

input,
select,
textarea {
  min-height: 44px;
  border-radius: var(--garage-radius-sm);
  border-color: var(--garage-border-strong);
  background: var(--garage-surface);
  color: var(--garage-text);
  transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}

textarea {
  min-height: 96px;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #9daaba;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--garage-blue);
  box-shadow: var(--garage-focus-ring);
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

button.primary {
  min-height: 44px;
  border-radius: var(--garage-radius-sm);
  background: var(--garage-blue);
  color: #ffffff;
  padding: 10px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 32, .08);
  transition: background-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

button.primary:hover:not(:disabled) {
  background: var(--garage-blue-hover);
}

button.primary:active:not(:disabled) {
  transform: translateY(1px);
}

.secondary,
.button-small {
  border-color: var(--garage-border-strong);
  background: var(--garage-surface);
  color: var(--garage-text);
  border-radius: var(--garage-radius-sm);
}

.secondary:hover,
.button-small:hover {
  border-color: #9daaba;
  background: var(--garage-surface-subtle);
}

.button-small {
  min-height: 36px;
}

button,
a,
input,
select,
textarea {
  outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--garage-blue);
  box-shadow: var(--garage-focus-ring);
}

.table-wrap {
  border-radius: var(--garage-radius-md);
}

table {
  font-variant-numeric: tabular-nums;
}

th,
td {
  border-bottom-color: #e8edf2;
}

th {
  background: var(--garage-surface-subtle);
  color: #536276;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .015em;
}

tbody tr {
  transition: background-color .12s ease;
}

tbody tr:hover {
  background: #fafbfd;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  background: var(--garage-blue-soft);
  color: #214f9e;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 6px 9px;
}

.notice {
  border: 1px solid transparent;
  border-radius: var(--garage-radius-sm);
}

.notice.success,
.success {
  background: var(--garage-success-bg);
  color: var(--garage-success);
  border-color: #ccebd9;
}

.notice.error,
.error {
  background: var(--garage-danger-bg);
  color: var(--garage-danger);
  border-color: #f0cccc;
}

.ai-policy {
  border-inline-start-color: var(--garage-blue);
}

.ai-draft pre {
  background: var(--garage-surface-subtle);
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius-sm);
}

#ai-voice.recording {
  outline: 3px solid rgba(155, 48, 48, .14);
  border-color: var(--garage-danger);
  color: var(--garage-danger);
}

.ltr-id {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
}

html[dir="rtl"] .ltr-id {
  direction: ltr;
}

@media (max-width: 800px) {
  .shell {
    padding-inline: var(--garage-space-4);
  }

  .panel,
  .metric {
    padding: var(--garage-space-4);
  }

  input,
  select,
  textarea,
  button.primary,
  .secondary {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* END GARAGE_STAGE3_STEP1_DESIGN_FOUNDATION_V1 */

/* ==========================================================
   GARAGE_STAGE3_STEP2_COMMERCIAL_SHELL_V1
   Commercial shell only.
   No dashboard/job/AI workflow redesign.
   ========================================================== */

.app-frame {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  background: var(--garage-bg);
  direction: ltr;
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  grid-column: 1;
  grid-row: 1;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 20px 14px 16px;
  background: var(--garage-graphite-strong);
  color: #dce4ee;
  border-inline-end: 1px solid rgba(255, 255, 255, .06);
  direction: ltr;
}

.app-workspace {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  direction: ltr;
}

.sidebar-brand-row {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 10px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.sidebar-brand {
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 950;
  letter-spacing: .055em;
}

.sidebar-brand:hover {
  color: #ffffff;
}

.sidebar-product {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: #91a3b9;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .09em;
}

.sidebar-nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 2px;
  scrollbar-width: thin;
  scrollbar-color: #405064 transparent;
}

.sidebar-section {
  display: grid;
  gap: 3px;
  margin-bottom: 17px;
}

.sidebar-section-title {
  padding: 4px 10px 6px;
  color: #75869a;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.sidebar-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 11px 9px 15px;
  border-radius: 8px;
  color: #bdc9d7;
  font-size: .88rem;
  font-weight: 720;
  transition:
    background-color .12s ease,
    color .12s ease,
    box-shadow .12s ease;
}

.sidebar-link::before {
  content: '';
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  margin-inline-end: 10px;
  border-radius: 999px;
  background: #596a7d;
}

.sidebar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, .065);
}

.sidebar-link.active {
  color: #ffffff;
  background: rgba(36, 107, 253, .19);
  box-shadow: inset 3px 0 0 var(--garage-blue);
}

.sidebar-link.active::before {
  background: #73a0ff;
}

.sidebar-footer {
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.sidebar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 5px 8px;
}

.user-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--garage-blue);
  color: #ffffff;
  font-size: .78rem;
  font-weight: 900;
}

.user-copy {
  display: grid;
  min-width: 0;
  line-height: 1.25;
}

.user-copy strong {
  overflow: hidden;
  color: #f7f9fc;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-copy small {
  margin-top: 2px;
  color: #8fa0b3;
  font-size: .7rem;
  font-weight: 650;
}

.workspace-topbar {
  position: sticky;
  top: 0;
  z-index: 15;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px clamp(18px, 3vw, 34px);
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--garage-border);
  box-shadow: 0 1px 0 rgba(15, 23, 32, .02);
}

.workspace-context {
  display: grid;
  min-width: 0;
  line-height: 1.25;
}

.workspace-context span {
  color: var(--garage-text-muted);
  font-size: .68rem;
  font-weight: 750;
}

.workspace-context strong {
  margin-top: 2px;
  overflow: hidden;
  color: var(--garage-text);
  font-size: .86rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.workspace-actions form {
  margin: 0;
}

.workspace-role {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--garage-border);
  border-radius: 999px;
  background: var(--garage-surface-subtle);
  color: #536276;
  font-size: .7rem;
  font-weight: 800;
}

.workspace-actions .lang,
.workspace-actions .link-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: var(--garage-radius-sm);
  color: #46566a;
}

.workspace-actions .lang:hover,
.workspace-actions .link-button:hover {
  background: var(--garage-blue-soft);
  color: var(--garage-graphite);
}

.app-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 30px clamp(20px, 3vw, 42px) 72px;
}

.public-shell {
  margin-inline: auto;
}

html[dir="rtl"] .app-frame {
  grid-template-columns: minmax(0, 1fr) 248px;
  direction: ltr;
}

html[dir="rtl"] .sidebar {
  grid-column: 2;
  direction: rtl;
  border-inline-end: 0;
  border-inline-start: 1px solid rgba(255, 255, 255, .06);
}

html[dir="rtl"] .app-workspace {
  grid-column: 1;
  direction: rtl;
}

html[dir="rtl"] .sidebar-link {
  padding: 9px 15px 9px 11px;
}

html[dir="rtl"] .sidebar-link.active {
  box-shadow: inset -3px 0 0 var(--garage-blue);
}

@media (max-width: 1080px) {
  .app-frame {
    grid-template-columns: 218px minmax(0, 1fr);
  }

  html[dir="rtl"] .app-frame {
    grid-template-columns: minmax(0, 1fr) 218px;
  }

  .sidebar {
    padding-inline: 10px;
  }

  .app-main {
    padding-inline: 24px;
  }
}

/*
  Temporary responsive shell for Step 2.
  Purpose-built mobile bottom navigation is explicitly deferred to Step 9.
*/
@media (max-width: 800px) {
  .app-frame,
  html[dir="rtl"] .app-frame {
    display: block;
    direction: inherit;
  }

  .sidebar,
  html[dir="rtl"] .sidebar {
    position: static;
    width: 100%;
    height: auto;
    padding: 10px 12px 8px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    direction: inherit;
  }

  .sidebar-brand-row {
    min-height: 42px;
    padding: 0 4px 9px;
  }

  .sidebar-product {
    display: none;
  }

  .sidebar-nav {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 0 2px;
  }

  .sidebar-section {
    display: contents;
  }

  .sidebar-section-title {
    display: none;
  }

  .sidebar-link {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 10px;
    white-space: nowrap;
  }

  .sidebar-link::before {
    display: none;
  }

  .sidebar-link.active,
  html[dir="rtl"] .sidebar-link.active {
    box-shadow: none;
    background: rgba(36, 107, 253, .28);
  }

  .sidebar-footer {
    display: none;
  }

  .workspace-topbar {
    min-height: 56px;
    padding: 8px 14px;
  }

  .workspace-role {
    display: none;
  }

  .workspace-actions {
    gap: 3px;
  }

  .workspace-actions .lang,
  .workspace-actions .link-button {
    min-height: 40px;
    padding-inline: 8px;
  }

  .app-main {
    padding: 20px 14px 64px;
  }
}

/* END GARAGE_STAGE3_STEP2_COMMERCIAL_SHELL_V1 */

/* ==========================================================
   GARAGE_STAGE3_STEP3_DASHBOARD_PRESENTATION_V1
   Existing-data dashboard presentation only.
   ========================================================== */

.dashboard-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.dashboard-head h1 {
  margin: 2px 0 8px;
}

.dashboard-head .muted {
  margin: 0;
}

.dashboard-head-action {
  flex: 0 0 auto;
}

.dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.dashboard-kpi {
  min-height: 116px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius-md);
  background: var(--garage-surface);
  box-shadow: 0 1px 2px rgba(15, 23, 32, .03);
  transition:
    border-color .14s ease,
    box-shadow .14s ease,
    transform .14s ease;
}

.dashboard-kpi:hover {
  border-color: #b9c7d7;
  box-shadow: 0 7px 20px rgba(15, 23, 32, .055);
  transform: translateY(-1px);
}

.dashboard-kpi span {
  color: var(--garage-text-muted);
  font-size: .78rem;
  font-weight: 750;
}

.dashboard-kpi strong {
  color: var(--garage-graphite);
  font-size: clamp(1.65rem, 2.5vw, 2.15rem);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-section {
  min-width: 0;
  margin: 0;
}

.attention-list,
.money-list {
  display: grid;
  gap: 8px;
}

.attention-row,
.money-list a {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  border: 1px solid #e7ecf2;
  border-radius: var(--garage-radius-sm);
  background: var(--garage-surface-subtle);
}

.attention-row:hover,
.money-list a:hover {
  border-color: #cdd7e2;
  background: #f5f8fb;
}

.attention-row span {
  display: grid;
  gap: 2px;
}

.attention-row small {
  color: var(--garage-text-muted);
  font-size: .72rem;
}

.attention-row b,
.money-list strong {
  flex: 0 0 auto;
  color: var(--garage-graphite);
  font-variant-numeric: tabular-nums;
}

.money-list a span {
  color: var(--garage-text-muted);
  font-weight: 700;
}

.dashboard-empty {
  padding: 18px;
  border: 1px dashed var(--garage-border-strong);
  border-radius: var(--garage-radius-sm);
  color: var(--garage-text-muted);
  background: var(--garage-surface-subtle);
}

.dashboard-active-jobs {
  margin-bottom: 18px;
}

.dashboard-active-jobs .panel-head,
.dashboard-section .panel-head,
.dashboard-activity .panel-head {
  margin-bottom: 14px;
}

.dashboard-active-jobs th:first-child,
.dashboard-active-jobs td:first-child {
  white-space: nowrap;
}

.dashboard-active-jobs td:nth-child(3) {
  max-width: 360px;
}

.dashboard-activity {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .dashboard-head {
    align-items: flex-start;
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-kpi {
    min-height: 102px;
    padding: 16px;
  }

  .dashboard-active-jobs {
    overflow: hidden;
  }
}

@media (max-width: 520px) {
  .dashboard-head {
    display: grid;
  }

  .dashboard-head-action {
    justify-self: start;
  }

  .dashboard-kpis {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .dashboard-kpi {
    min-height: 96px;
  }

  .dashboard-kpi strong {
    font-size: 1.55rem;
  }
}

/* END GARAGE_STAGE3_STEP3_DASHBOARD_PRESENTATION_V1 */

/* ==========================================================
   GARAGE_STAGE3_STEP4_JOBS_PRESENTATION_V1
   Jobs presentation only. Existing workflow preserved.
   ========================================================== */

.jobs-head {
  margin-bottom: 20px;
}

.jobs-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 10px;
  color: var(--garage-text-muted);
  font-size: .78rem;
  font-weight: 650;
}

.jobs-summary span {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
}

.jobs-summary strong {
  color: var(--garage-graphite);
  font-size: .94rem;
  font-variant-numeric: tabular-nums;
}

.jobs-create {
  margin-bottom: 18px;
  padding: 0;
  overflow: hidden;
}

.jobs-create > summary {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.jobs-create > summary::-webkit-details-marker {
  display: none;
}

.jobs-create > summary::after {
  content: '+';
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
  font-size: 1.15rem;
  font-weight: 900;
  transition: transform .14s ease;
}

.jobs-create[open] > summary::after {
  transform: rotate(45deg);
}

.jobs-create > summary:hover {
  background: var(--garage-surface-subtle);
}

.jobs-create > summary:focus-visible {
  outline: 2px solid var(--garage-blue);
  outline-offset: -3px;
}

.jobs-create-title {
  color: var(--garage-text);
  font-size: .92rem;
  font-weight: 850;
}

.jobs-create-help {
  flex: 1;
  color: var(--garage-text-muted);
  font-size: .76rem;
}

.jobs-create-body {
  padding: 18px 20px 20px;
  border-top: 1px solid var(--garage-border);
  background: #fbfcfd;
}

.jobs-list-panel {
  margin-bottom: 0;
}

.jobs-list-panel .panel-head {
  margin-bottom: 14px;
}

.jobs-list-panel .panel-head p {
  margin: 4px 0 0;
  font-size: .76rem;
}

.jobs-table-wrap {
  border: 1px solid #e7ecf2;
}

.jobs-table {
  min-width: 760px;
}

.jobs-table th:first-child {
  width: 185px;
}

.jobs-table th:nth-child(2) {
  width: 190px;
}

.jobs-table th:nth-child(4) {
  width: 120px;
}

.jobs-table th:last-child {
  width: 92px;
}

.jobs-row td {
  vertical-align: middle;
}

.job-registration {
  color: var(--garage-graphite);
  font-size: .96rem;
  font-weight: 900;
  letter-spacing: .025em;
  white-space: nowrap;
}

.job-vehicle-meta {
  margin-top: 4px;
  color: var(--garage-text-muted);
  font-size: .72rem;
  line-height: 1.25;
}

.jobs-work-cell {
  max-width: 420px;
  color: #344256;
}

.jobs-action-cell {
  text-align: end;
  white-space: nowrap;
}

html[dir="rtl"] .jobs-action-cell {
  text-align: start;
}

@media (max-width: 800px) {
  .jobs-create > summary {
    min-height: 64px;
    align-items: flex-start;
    padding: 14px 16px;
  }

  .jobs-create-help {
    display: none;
  }

  .jobs-create-body {
    padding: 16px;
  }

  .jobs-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* END GARAGE_STAGE3_STEP4_JOBS_PRESENTATION_V1 */

/* GARAGE_A2Z_LOGIN_BRAND_V1 */
.afshin-login {
  border-top: 5px solid #c91f28;
  box-shadow: 0 22px 65px rgba(20,20,20,.18);
}

.tenant-login-logo {
  display: block;
  width: min(300px, 100%);
  max-height: 135px;
  object-fit: contain;
  margin: 0 auto 20px;
  padding: 10px;
  background: #0b0b0d;
  border-radius: 16px;
}

.afshin-login .eyebrow {
  color: #c91f28;
}

.afshin-login h1 {
  font-size: clamp(1.55rem, 5vw, 2.2rem);
}

.afshin-login button.primary {
  background: #111;
}

.afshin-login button.primary:hover {
  background: #c91f28;
}

@media (max-width: 600px) {
  .tenant-login-logo {
    max-height: 110px;
  }
}


/* GARAGE_A2Z_LOGIN_DESIGN_V2 */

.public-shell:has(.afshin-login) {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 18px;
}

.afshin-login {
  width: min(100%, 500px);
  padding: 34px 40px 36px;
  border: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,23,42,.14);
  position: relative;
}

.afshin-login::before {
  content: "";
  position: absolute;
  top: 0;
  left: 22px;
  right: 22px;
  height: 6px;
  border-radius: 0 0 8px 8px;
  background: #d21f2b;
}

.afshin-login .tenant-login-logo {
  display: block;
  width: 220px;
  height: 150px;
  margin: 6px auto 24px;
  padding: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  background: #08090b;
}

.afshin-login .eyebrow {
  margin: 0 0 8px;
  text-align: center;
  color: #d21f2b;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.afshin-login h1 {
  margin: 0;
  text-align: center;
  font-size: clamp(1.8rem, 5vw, 2.35rem);
  line-height: 1.1;
  color: #111827;
}

.afshin-login > .muted {
  text-align: center;
  margin: 12px 0 28px;
}

.afshin-login label {
  font-weight: 700;
  color: #243247;
}

.afshin-login input {
  width: 100%;
  min-height: 54px;
  margin-top: 7px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  background: #fff;
  font-size: 1rem;
}

.afshin-login input:focus {
  outline: 3px solid rgba(210,31,43,.14);
  border-color: #d21f2b;
}

.afshin-login .login-help {
  display: block;
  margin-top: 6px;
  color: #718096;
  font-size: .78rem;
  font-weight: 500;
}

.afshin-login button.primary {
  min-height: 56px;
  margin-top: 6px;
  border-radius: 12px;
  background: #101113;
  font-size: 1.05rem;
  font-weight: 800;
}

.afshin-login button.primary:hover {
  background: #d21f2b;
}

.afshin-login .bottom-link {
  display: block;
  text-align: center;
  margin-top: 20px;
}

@media (max-width: 600px) {
  .public-shell:has(.afshin-login) {
    padding: 18px 12px;
  }

  .afshin-login {
    padding: 28px 22px 30px;
    border-radius: 20px;
  }

  .afshin-login .tenant-login-logo {
    width: 190px;
    height: 130px;
  }
}


/* GARAGE_A2Z_SHELL_V1 */

.brand-afshin .sidebar {
  background: #0b0d10;
}

.brand-afshin .sidebar-brand-row {
  min-height: 92px;
  align-items: center;
  gap: 10px;
}

.brand-afshin .sidebar-brand-a2z {
  display: flex;
  align-items: center;
  min-width: 0;
}

.brand-afshin .sidebar-brand-a2z img {
  display: block;
  width: 138px;
  height: 62px;
  object-fit: cover;
  object-position: center;
  border-radius: 9px;
}

.brand-afshin .sidebar-product {
  border-color: rgba(255,255,255,.18);
  color: #fff;
}

.brand-afshin .sidebar-link.active {
  background: rgba(210,31,43,.18);
  border-left-color: #d21f2b;
}

.brand-afshin .sidebar-link.active::before {
  background: #d21f2b;
}

.brand-afshin .sidebar-link:hover {
  background: rgba(255,255,255,.07);
}

.brand-afshin .user-avatar {
  background: #d21f2b;
}

.brand-afshin .workspace-topbar {
  border-top: 3px solid #d21f2b;
}

@media (max-width: 800px) {
  .brand-afshin .sidebar-brand-a2z img {
    width: 118px;
    height: 54px;
  }
}


/* ==========================================================
   GARAGE_PHASE02_WAVE1_VOICE_TTS_V1
   Reusable voice preview controls + message-scoped TTS.
   ========================================================== */

.voice-input-control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: .45rem;
  font-weight: 600;
}

.voice-input-control [hidden],
.voice-preview[hidden] {
  display: none !important;
}

.voice-record-button.recording {
  border-color: #8a2b2b;
  color: #8a2b2b;
  box-shadow: 0 0 0 3px rgba(138,43,43,.12);
}

.voice-status {
  min-height: 1.2rem;
  font-size: .8rem;
}

.voice-preview {
  flex-basis: 100%;
  display: grid;
  gap: .55rem;
  padding: .7rem;
  border: 1px solid #d7dfeb;
  border-radius: 10px;
  background: #f8fafc;
}

.voice-preview-text {
  white-space: pre-wrap;
  word-break: break-word;
  color: #243247;
}

.voice-preview-actions,
.tts-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.tts-controls {
  margin-top: 0;
}

@media(max-width:800px) {
  .voice-input-control,
  .voice-preview-actions,
  .tts-controls {
    align-items: stretch;
  }

  .voice-input-control button,
  .voice-preview-actions button,
  .tts-controls button {
    min-height: 44px;
  }

  .voice-preview-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .voice-preview-actions [data-voice-action="cancel"] {
    grid-column: 1 / -1;
  }
}


/* ==========================================================
   GARAGE WAVE A - CUSTOMER MASTER
   ========================================================== */
.customer-master-head,
.customer-profile-head {
  align-items: flex-start;
  gap: 1rem;
}

.customer-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem) auto;
  gap: 0.75rem;
  align-items: end;
}

.customer-create summary,
.customer-edit-panel summary,
.customer-subcreate summary {
  cursor: pointer;
  padding: 0.25rem 0;
}

.customer-master-form {
  margin-top: 1rem;
}

.customer-ref {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

.customer-table td,
.customer-table th {
  vertical-align: top;
}

.customer-duplicate-warning {
  border-width: 2px;
}

.customer-duplicate-warning .record-list {
  margin-bottom: 1rem;
}

.customer-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.customer-subrecord {
  display: grid;
  gap: 0.75rem;
}

.customer-subrecord.is-archived {
  opacity: 0.68;
}

.compact-form {
  margin: 0;
}

.customer-subcreate {
  margin-top: 1rem;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.danger-secondary {
  appearance: none;
  border: 1px solid currentColor;
  background: transparent;
  border-radius: 0.55rem;
  padding: 0.65rem 0.9rem;
  font: inherit;
  cursor: pointer;
}

@media (max-width: 900px) {
  .customer-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-search {
    grid-template-columns: 1fr 1fr;
  }

  .customer-search .wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .customer-summary-grid,
  .customer-search {
    grid-template-columns: 1fr;
  }

  .customer-search .wide {
    grid-column: auto;
  }

  .customer-list-panel {
    overflow-x: visible;
  }

  .customer-table,
  .customer-table thead,
  .customer-table tbody,
  .customer-table tr,
  .customer-table th,
  .customer-table td {
    display: block;
    width: 100%;
  }

  .customer-table thead {
    display: none;
  }

  .customer-table tr {
    border-bottom: 1px solid var(--border);
    padding: 0.8rem 0;
  }

  .customer-table td {
    border: 0;
    padding: 0.25rem 0;
  }

  .customer-table td:last-child {
    margin-top: 0.5rem;
  }
}


/* GARAGE_WAVE_B_VEHICLE_JOB_MOBILE_V1 */
.vehicle-profile-head,
.job-relationship-grid {
  align-items: start;
}

.job-status-panel {
  grid-column: span 2;
}

.job-status-form {
  margin-top: 14px;
}

.vehicle-table a,
.jobs-table a {
  font-weight: 750;
}

@media (max-width: 800px) {
  .jobs-table-wrap,
  .vehicle-table-wrap {
    overflow: visible;
    border: 0;
  }

  .jobs-table,
  .vehicle-table {
    min-width: 0;
    width: 100%;
    display: block;
  }

  .jobs-table thead,
  .vehicle-table thead {
    display: none;
  }

  .jobs-table tbody,
  .vehicle-table tbody {
    display: grid;
    gap: 12px;
  }

  .jobs-table tr,
  .vehicle-table tr {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--garage-border);
    border-radius: 14px;
    background: var(--garage-surface);
  }

  .jobs-table td,
  .vehicle-table td {
    display: grid;
    grid-template-columns: minmax(88px, .45fr) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    width: auto !important;
    max-width: none;
    padding: 0;
    border: 0;
    text-align: start !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .jobs-table td::before,
  .vehicle-table td::before {
    content: attr(data-label);
    color: var(--garage-text-muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
  }

  .job-registration {
    white-space: normal;
  }

  .job-status-panel {
    grid-column: auto;
  }
}
/* END GARAGE_WAVE_B_VEHICLE_JOB_MOBILE_V1 */

/* GARAGE_WAVE_C_ACCOUNTS_TILL_V1 */
.customer-account-summary .metrics,
.till-reconciliation-grid {
  margin-top: 0.75rem;
}
.account-invoice-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.account-invoice-link {
  display: inline-flex;
  min-height: 2.4rem;
  align-items: center;
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--border, #d8dde5);
  border-radius: 0.55rem;
  text-decoration: none;
}
.till-overdue-warning {
  margin-bottom: 1rem;
}
.overdue-day-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.till-close-panel input[name="actualCash"],
.till-close-panel input[name="actualCard"] {
  font-variant-numeric: tabular-nums;
}
.till-close-evidence p {
  margin: 0.35rem 0;
}
@media (max-width: 760px) {
  .accounts-table table,
  .accounts-table thead,
  .accounts-table tbody,
  .accounts-table tr,
  .accounts-table th,
  .accounts-table td {
    display: block;
    width: 100%;
  }
  .accounts-table thead {
    display: none;
  }
  .accounts-table tr {
    padding: 0.8rem;
    border-bottom: 1px solid var(--border, #d8dde5);
  }
  .accounts-table td {
    padding: 0.35rem 0;
    border: 0;
  }
  .accounts-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.78rem;
    opacity: 0.7;
    margin-bottom: 0.15rem;
  }
}

/* GARAGE_WAVE_D_FINAL_MOBILE_AI_SUPPLIER_V1 */
.notice.success {
  transition: opacity .22s ease, transform .22s ease;
}
.notice.success.notice-expired {
  opacity: 0;
  transform: translateY(-4px);
}

.dashboard-job-list {
  display: grid;
  gap: .65rem;
}
.dashboard-job-card {
  display: grid;
  gap: .45rem;
  padding: .8rem .9rem;
  border: 1px solid var(--garage-border);
  border-radius: 12px;
  background: var(--garage-surface);
}
.dashboard-job-main,
.dashboard-job-footer,
.supplier-card-head {
  display: flex;
  gap: .65rem;
  align-items: center;
  justify-content: space-between;
}
.dashboard-job-card p {
  margin: 0;
  color: var(--garage-text-muted);
  overflow-wrap: anywhere;
}
.dashboard-job-footer {
  justify-content: flex-end;
}
.supplier-search {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(10rem,14rem) auto auto;
  gap: .75rem;
  align-items: end;
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
}
.supplier-card {
  overflow: hidden;
}
.supplier-edit summary,
.supplier-create summary {
  cursor: pointer;
  margin-top: .65rem;
}
.ai-answer-text {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.65;
}
.ai-draft-diff {
  display: grid;
  gap: .45rem;
  margin: .7rem 0;
}
.ai-draft-diff > div {
  display: grid;
  grid-template-columns: minmax(7rem,.35fr) minmax(0,1fr);
  gap: .65rem;
  padding: .45rem 0;
  border-bottom: 1px solid var(--garage-border);
}
.ai-draft-diff span {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .dashboard-job-main,
  .dashboard-job-footer,
  .supplier-card-head {
    align-items: flex-start;
  }
  .dashboard-job-main {
    display: grid;
    grid-template-columns: 1fr;
  }
  .dashboard-job-footer {
    justify-content: space-between;
  }
  .supplier-card-head {
    display: grid;
    grid-template-columns: 1fr;
  }
  .supplier-search {
    grid-template-columns: 1fr;
  }
  .supplier-search .wide {
    grid-column: auto;
  }
  .ai-answer .panel-head {
    align-items: stretch;
  }
  .ai-answer .tts-controls {
    width: 100%;
  }
  .ai-draft-diff > div {
    grid-template-columns: 1fr;
  }
  .app-main,
  .panel,
  .record-card {
    min-width: 0;
    max-width: 100%;
  }
}
/* END GARAGE_WAVE_D_FINAL_MOBILE_AI_SUPPLIER_V1 */


/* GARAGE_UI_PRINT_MINI_HEADER_V1
   Permanent tenant logo slot.
*/
.sidebar-brand-row {
  min-height: 76px;
  padding: 4px 6px 14px;
}

.sidebar-brand-slot {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #ffffff;
}

.sidebar-logo-frame {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
}

.sidebar-tenant-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.sidebar-tenant-logo-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
}

.sidebar-brand-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.sidebar-brand-copy strong {
  overflow: hidden;
  color: #ffffff;
  font-size: .72rem;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.sidebar-brand-copy small {
  color: #91a3b9;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
}

@media (max-width: 800px) {
  .sidebar-brand-row {
    min-height: 54px;
    padding: 0 4px 8px;
  }

  .sidebar-logo-frame {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border-radius: 8px;
  }

  .sidebar-brand-copy {
    display: none;
  }
}
/* END GARAGE_UI_PRINT_MINI_HEADER_V1 */


/* ==========================================================
   GARAGE_UI_APPROVED_BATCH01_DESIGN_SYSTEM_V1
   Approved GARAGE NIMA visual shell + global design system.
   Scope: shell/navigation/shared primitives only.
   ========================================================== */

:root {
  --garage-bg: #f4f7fb;
  --garage-surface: #ffffff;
  --garage-surface-soft: #f8fafc;
  --garage-ink: #172033;
  --garage-muted: #69778b;
  --garage-border: #e0e7f0;
  --garage-blue: #1769e0;
  --garage-blue-dark: #123a67;
  --garage-blue-soft: #eaf3ff;
  --garage-sidebar: #12263d;
  --garage-sidebar-soft: #18324f;
  --garage-success: #198754;
  --garage-danger: #b63a3a;
  --garage-radius-sm: 10px;
  --garage-radius: 16px;
  --garage-radius-lg: 22px;
  --garage-shadow: 0 8px 28px rgba(23,32,51,.07);
  --garage-shadow-lg: 0 18px 55px rgba(18,38,61,.16);
}

html,
body {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  background: var(--garage-bg);
  color: var(--garage-ink);
}

/* ---------- Shared GARAGE NIMA primitives ---------- */

.shell {
  width: min(1220px, 100%);
}

.panel,
.metric,
.record-card {
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius);
  background: var(--garage-surface);
  box-shadow: 0 4px 16px rgba(23,32,51,.035);
}

.panel {
  padding: 20px;
}

.page-head,
.hero {
  gap: 18px;
}

.eyebrow {
  color: #60728a;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}

h1 {
  color: var(--garage-ink);
  letter-spacing: -.03em;
}

h2 {
  color: var(--garage-ink);
}

.muted {
  color: var(--garage-muted);
}

input,
select,
textarea {
  min-height: 44px;
  border: 1px solid #ccd7e4;
  border-radius: 11px;
  background: #fff;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--garage-blue);
  box-shadow: 0 0 0 3px rgba(23,105,224,.12);
}

button.primary {
  min-height: 44px;
  border-radius: 11px;
  background: var(--garage-blue);
}

.secondary,
.button-small {
  border-color: #cbd6e3;
  background: #fff;
}

.status {
  border: 1px solid #dbe5f0;
  background: #eef4fa;
  color: #294a70;
}

.notice {
  border-radius: 12px;
}

/* ---------- Desktop commercial shell ---------- */

.app-frame {
  background: var(--garage-bg);
}

.sidebar {
  background:
    linear-gradient(180deg, #10253c 0%, #132b45 58%, #10253c 100%);
  border-inline-end: 1px solid rgba(255,255,255,.06);
}

.sidebar-brand-row {
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.sidebar-brand-slot {
  color: #fff;
}

.sidebar-logo-frame {
  background: #fff;
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 5px 18px rgba(0,0,0,.14);
}

.sidebar-section-title {
  color: #8196ad;
  letter-spacing: .09em;
}

.sidebar-link {
  border-radius: 11px;
  color: #c6d2df;
}

.sidebar-link:hover {
  background: rgba(255,255,255,.07);
  color: #fff;
}

.sidebar-link.active {
  background: rgba(41,128,239,.18);
  color: #fff;
  box-shadow: inset 3px 0 0 #58a2ff;
}

html[dir="rtl"] .sidebar-link.active {
  box-shadow: inset -3px 0 0 #58a2ff;
}

.sidebar-footer {
  border-top-color: rgba(255,255,255,.07);
}

.sidebar-user {
  color: #d8e2ed;
}

.user-avatar {
  background: #2a72c8;
  color: #fff;
}

.workspace-topbar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--garage-border);
  backdrop-filter: blur(10px);
}

.app-main {
  max-width: 1240px;
}

/* ---------- Mobile app bar ---------- */

.mobile-appbar,
.mobile-primary-nav {
  display: none;
}

@media (max-width: 800px) {
  .app-frame,
  html[dir="rtl"] .app-frame {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .sidebar,
  html[dir="rtl"] .sidebar {
    display: none;
  }

  .workspace-topbar {
    display: none;
  }

  .app-workspace {
    min-width: 0;
    width: 100%;
  }

  .mobile-appbar {
    position: sticky;
    top: 0;
    z-index: 850;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) 40px;
    align-items: center;
    min-height: 62px;
    padding: 7px 12px;
    border-bottom: 1px solid var(--garage-border);
    background: rgba(255,255,255,.97);
    box-shadow: 0 5px 20px rgba(23,32,51,.05);
    backdrop-filter: blur(12px);
  }

  .mobile-appbar-brand {
    min-width: 0;
    display: grid;
    justify-items: center;
    gap: 1px;
    line-height: 1.1;
  }

  .mobile-appbar-brand strong {
    color: var(--garage-sidebar);
    font-size: .90rem;
    font-weight: 950;
    letter-spacing: .045em;
  }

  .mobile-appbar-brand small {
    max-width: 55vw;
    overflow: hidden;
    color: #708096;
    font-size: .60rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-appbar-avatar {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    justify-self: end;
    border-radius: 50%;
    background: var(--garage-blue-soft);
    color: var(--garage-blue-dark);
    font-size: .78rem;
    font-weight: 950;
  }

  /* ---------- Mobile drawer ---------- */

  .mobile-drawer {
    position: relative;
  }

  .mobile-menu-button {
    width: 40px;
    height: 40px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 9px;
    list-style: none;
    cursor: pointer;
    border-radius: 11px;
    background: transparent;
  }

  .mobile-menu-button::-webkit-details-marker {
    display: none;
  }

  .mobile-menu-button span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: var(--garage-sidebar);
  }

  .mobile-drawer-backdrop {
    position: fixed;
    z-index: 1080;
    inset: 0;
    display: none;
    background: rgba(9,20,33,.50);
    backdrop-filter: blur(2px);
  }

  .mobile-drawer-panel {
    position: fixed;
    z-index: 1090;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    width: min(315px, 86vw);
    display: none;
    grid-template-rows: auto minmax(0,1fr) auto;
    background: var(--garage-sidebar);
    color: #fff;
    box-shadow: var(--garage-shadow-lg);
  }

  .mobile-drawer[open] .mobile-drawer-backdrop,
  .mobile-drawer[open] .mobile-drawer-panel {
    display: grid;
  }

  .mobile-drawer-brand {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .mobile-drawer-logo {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
  }

  .mobile-drawer-logo .sidebar-tenant-logo,
  .mobile-drawer-logo .sidebar-tenant-logo-placeholder {
    width: 100%;
    height: 100%;
  }

  .mobile-drawer-brand > span:last-child {
    min-width: 0;
    display: grid;
    gap: 3px;
  }

  .mobile-drawer-brand strong {
    font-size: .92rem;
    letter-spacing: .04em;
  }

  .mobile-drawer-brand small {
    overflow: hidden;
    color: #91a5ba;
    font-size: .66rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-drawer-nav {
    overflow-y: auto;
    padding: 12px;
  }

  .mobile-drawer-section {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
  }

  .mobile-drawer-title {
    padding: 8px 10px 5px;
    color: #7f94aa;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
  }

  .mobile-drawer-link {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 9px 11px;
    border-radius: 10px;
    color: #cbd6e1;
    font-size: .88rem;
    font-weight: 760;
  }

  .mobile-drawer-link:hover,
  .mobile-drawer-link.active {
    background: rgba(59,141,245,.17);
    color: #fff;
  }

  .mobile-drawer-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 12px;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .mobile-drawer-footer form {
    margin: 0;
  }

  .mobile-drawer-language,
  .mobile-drawer-signout {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #fff;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
  }

  /* ---------- Mobile content ---------- */

  .app-main {
    width: 100%;
    min-width: 0;
    padding: 18px 12px calc(100px + env(safe-area-inset-bottom, 0px));
  }

  .panel,
  .record-card,
  .metric {
    min-width: 0;
    max-width: 100%;
  }

  .panel {
    padding: 16px;
    border-radius: 15px;
  }

  .page-head,
  .hero {
    align-items: flex-start;
    gap: 12px;
  }

  /* ---------- Approved six-item bottom navigation ---------- */

  .mobile-primary-nav {
    position: fixed;
    z-index: 950;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    align-items: stretch;
    min-height: 68px;
    padding: 5px 4px calc(5px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #dce4ed;
    background: rgba(255,255,255,.985);
    box-shadow: 0 -9px 28px rgba(23,32,51,.09);
    backdrop-filter: blur(14px);
  }

  .mobile-primary-link {
    min-width: 0;
    min-height: 55px;
    display: grid;
    grid-template-rows: 27px auto;
    place-items: center;
    align-content: center;
    gap: 2px;
    padding: 4px 1px;
    border-radius: 11px;
    color: #738196;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-nav-icon {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
  }

  .mobile-nav-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-nav-label {
    max-width: 100%;
    overflow: hidden;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .015em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-primary-link.active {
    background: var(--garage-blue-soft);
    color: var(--garage-blue);
  }

  .mobile-primary-link:focus-visible,
  .mobile-drawer-link:focus-visible,
  .mobile-more-menu a:focus-visible {
    outline: 3px solid rgba(23,105,224,.25);
    outline-offset: 1px;
  }

  /* ---------- MORE popover ---------- */

  .mobile-more {
    position: relative;
    min-width: 0;
    margin: 0;
  }

  .mobile-more > summary {
    list-style: none;
    cursor: pointer;
  }

  .mobile-more > summary::-webkit-details-marker {
    display: none;
  }

  .mobile-more-menu {
    position: absolute;
    right: 4px;
    bottom: calc(100% + 11px);
    width: min(290px, calc(100vw - 18px));
    max-height: min(60vh, 430px);
    overflow-y: auto;
    display: grid;
    gap: 3px;
    padding: 8px;
    border: 1px solid var(--garage-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--garage-shadow-lg);
  }

  html[dir="rtl"] .mobile-more-menu {
    right: auto;
    left: 4px;
  }

  .mobile-more-menu a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 9px 11px;
    border-radius: 10px;
    color: #26374d;
    font-size: .86rem;
    font-weight: 760;
  }

  .mobile-more-menu a:hover,
  .mobile-more-menu a:active {
    background: #f0f5fb;
  }
}

@media (max-width: 390px) {
  .mobile-primary-nav {
    padding-inline: 2px;
  }

  .mobile-nav-label {
    font-size: .53rem;
    letter-spacing: 0;
  }

  .mobile-appbar {
    padding-inline: 9px;
  }

  .app-main {
    padding-inline: 10px;
  }
}

/* END GARAGE_UI_APPROVED_BATCH01_DESIGN_SYSTEM_V1 */

/* GARAGE_UI_APPROVED_BATCH01_NAV_POLISH_V1 */
@media (max-width: 800px) {
  .mobile-nav-label {
    font-size: .60rem;
    font-weight: 900;
  }

  .mobile-nav-icon svg {
    width: 23px;
    height: 23px;
  }
}

@media (max-width: 390px) {
  .mobile-nav-label {
    font-size: .56rem;
  }
}
/* END GARAGE_UI_APPROVED_BATCH01_NAV_POLISH_V1 */

/* ==========================================================
   GARAGE_UI_APPROVED_BATCH02_PRESENTATION_V1
   TODAY / DASHBOARD + JOBS
   Presentation only. No business logic.
   ========================================================== */

/* ---------- TODAY / COMMAND CENTRE ---------- */

.today-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.today-head h1 {
  margin: 3px 0 5px;
  font-size: clamp(2rem, 3vw, 2.7rem);
}

.today-subtitle {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  color: var(--garage-muted);
  font-size: .9rem;
}

.today-head-action {
  flex: 0 0 auto;
}

/* KPI cards */

.today-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.today-kpi {
  position: relative;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 17px;
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius);
  background: var(--garage-surface);
  box-shadow: 0 4px 16px rgba(23,32,51,.035);
}

.today-kpi::after {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  right: -24px;
  bottom: -28px;
  border-radius: 50%;
  background: rgba(23,105,224,.07);
}

html[dir="rtl"] .today-kpi::after {
  right: auto;
  left: -24px;
}

.today-kpi span {
  position: relative;
  z-index: 1;
  color: var(--garage-muted);
  font-size: .78rem;
  font-weight: 800;
}

.today-kpi strong {
  position: relative;
  z-index: 1;
  color: var(--garage-ink);
  font-size: 2rem;
  line-height: 1;
}

.today-kpi-jobs {
  border-color: #cfe0f8;
  background: linear-gradient(180deg,#fff,#f5f9ff);
}

.today-kpi-invoices {
  border-color: #d6e5dc;
  background: linear-gradient(180deg,#fff,#f7fbf8);
}

/* Today's work */

.today-work {
  margin-bottom: 16px;
}

.today-work-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  overflow: hidden;
  border: 1px solid var(--garage-border);
  border-radius: 13px;
  background: var(--garage-surface-soft);
}

.today-work-item {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 12px 14px;
  border-inline-end: 1px solid var(--garage-border);
}

.today-work-item:last-child {
  border-inline-end: 0;
}

.today-work-item span {
  color: var(--garage-muted);
  font-size: .71rem;
  font-weight: 800;
}

.today-work-item strong {
  color: var(--garage-ink);
  font-size: 1.22rem;
}

/* Two-column operational area */

.today-two-column {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.today-section {
  min-height: 220px;
}

.attention-list,
.money-list {
  display: grid;
  gap: 8px;
}

.attention-row,
.money-list a {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  background: var(--garage-surface-soft);
}

.attention-row span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.attention-row strong,
.money-list span {
  color: #526276;
  font-size: .82rem;
  font-weight: 800;
}

.attention-row small {
  color: #8995a5;
}

.attention-row b,
.money-list strong {
  color: var(--garage-ink);
  font-size: .95rem;
}

.dashboard-empty {
  min-height: 78px;
  display: flex;
  align-items: center;
  padding: 14px;
  border: 1px dashed #ccd8e5;
  border-radius: 11px;
  background: #fafcfe;
  color: var(--garage-muted);
}

/* Active job cards */

.today-active-jobs {
  margin-bottom: 16px;
}

.today-job-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.today-job-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--garage-border);
  border-radius: 14px;
  background: var(--garage-surface-soft);
}

.today-job-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.today-job-top > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.today-registration {
  color: var(--garage-sidebar);
  font-size: 1.08rem;
  font-weight: 950;
  letter-spacing: .035em;
}

.today-job-top > div > span {
  overflow: hidden;
  color: var(--garage-muted);
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.today-job-card p {
  min-height: 38px;
  margin: 0;
  color: #425169;
  font-size: .83rem;
  line-height: 1.45;
}

.today-job-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}

.today-job-footer > span {
  overflow: hidden;
  color: #8996a8;
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* State colours */

.status[data-status="OPEN"],
.status[data-status="PLANNED"] {
  background: #eef4fb;
  color: #315b88;
}

.status[data-status="IN_PROGRESS"] {
  border-color: #bcd8ff;
  background: #e9f3ff;
  color: #125bb4;
}

.status[data-status="WAITING_FOR_PARTS"] {
  border-color: #f0d6a5;
  background: #fff6e5;
  color: #986100;
}

.status[data-status="WAITING_FOR_CUSTOMER_APPROVAL"] {
  border-color: #ead8b2;
  background: #fff9e9;
  color: #8c6400;
}

.status[data-status="READY"] {
  border-color: #bde4cb;
  background: #eaf8ef;
  color: #187745;
}

.status[data-status="COMPLETED"],
.status[data-status="CLOSED"] {
  border-color: #d9e0e8;
  background: #f1f4f7;
  color: #566576;
}

/* AI + activity */

.today-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 16px;
}

.today-ai-card {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  align-items: start;
  gap: 13px;
  background:
    linear-gradient(135deg,#f8fbff 0%,#edf5ff 100%);
  border-color: #cfe0f6;
}

.today-ai-card > .button-small {
  grid-column: 2;
  justify-self: start;
}

.today-ai-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--garage-blue);
  color: #fff;
  font-size: 1.2rem;
}

.today-ai-card h2 {
  margin: 1px 0 5px;
}

.today-ai-card p:not(.eyebrow) {
  margin: 0;
  color: var(--garage-muted);
  line-height: 1.5;
}

.today-activity .audit-list {
  margin: 0;
}

/* ---------- JOBS ---------- */

.jobs-command-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}

.jobs-command-head h1 {
  margin: 3px 0 7px;
  font-size: clamp(2rem,3vw,2.7rem);
}

.jobs-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.jobs-summary span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--garage-border);
  border-radius: 999px;
  background: #fff;
  color: var(--garage-muted);
  font-size: .76rem;
  font-weight: 700;
}

.jobs-summary strong {
  color: var(--garage-ink);
}

.jobs-toolbar {
  display: grid;
  grid-template-columns: minmax(260px,520px) auto;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
}

.jobs-search {
  display: grid;
  gap: 5px;
  color: var(--garage-muted);
  font-size: .72rem;
  font-weight: 800;
}

.jobs-search input {
  width: 100%;
  min-height: 46px;
  padding-inline: 14px;
  border-radius: 12px;
}

.jobs-visible-count {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 14px;
  border: 1px solid var(--garage-border);
  border-radius: 12px;
  background: #fff;
  color: var(--garage-muted);
  font-size: .78rem;
  font-weight: 750;
}

.jobs-visible-count strong {
  color: var(--garage-blue);
  font-size: 1rem;
}

.jobs-create {
  margin-bottom: 14px;
}

.jobs-create > summary {
  cursor: pointer;
}

.jobs-create-title {
  color: var(--garage-blue);
  font-weight: 900;
}

.jobs-create-help {
  margin-inline-start: 10px;
  color: var(--garage-muted);
  font-size: .77rem;
}

.jobs-create-body {
  padding-top: 18px;
}

.jobs-list-panel {
  overflow: hidden;
}

.jobs-table {
  width: 100%;
}

.jobs-table th {
  color: #708096;
  font-size: .70rem;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.jobs-table td {
  vertical-align: middle;
}

.job-registration {
  color: var(--garage-sidebar);
  font-weight: 950;
  letter-spacing: .035em;
}

.job-vehicle-meta {
  margin-top: 3px;
  color: #8794a5;
  font-size: .70rem;
}

.jobs-no-results {
  padding: 24px;
  text-align: center;
  color: var(--garage-muted);
}

/* ---------- TABLET ---------- */

@media (max-width: 1050px) {
  .today-work-strip {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .today-work-item:nth-child(3n) {
    border-inline-end: 0;
  }

  .today-work-item:nth-child(-n+3) {
    border-bottom: 1px solid var(--garage-border);
  }

  .today-job-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

/* ---------- MOBILE ---------- */

@media (max-width: 800px) {
  .today-head {
    align-items: flex-start;
    margin-bottom: 15px;
  }

  .today-head h1,
  .jobs-command-head h1 {
    font-size: 1.72rem;
  }

  .today-head-action {
    display: none;
  }

  .today-subtitle {
    gap: 5px;
    font-size: .72rem;
  }

  .today-subtitle span:first-of-type {
    display: none;
  }

  .today-kpis {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }

  .today-kpi {
    min-height: 92px;
    padding: 13px;
    border-radius: 13px;
  }

  .today-kpi strong {
    font-size: 1.55rem;
  }

  .today-work {
    padding: 14px;
  }

  .today-work-strip {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .today-work-item,
  .today-work-item:nth-child(3n) {
    border-inline-end: 1px solid var(--garage-border);
    border-bottom: 1px solid var(--garage-border);
  }

  .today-work-item:nth-child(2n) {
    border-inline-end: 0;
  }

  .today-work-item:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .today-work-item {
    min-height: 66px;
    padding: 9px 10px;
  }

  .today-work-item span {
    font-size: .64rem;
  }

  .today-work-item strong {
    font-size: 1rem;
  }

  .today-two-column,
  .today-bottom-grid {
    grid-template-columns: 1fr;
  }

  .today-section {
    min-height: 0;
  }

  .today-active-jobs {
    padding: 14px;
  }

  .today-job-list {
    grid-template-columns: 1fr;
  }

  .today-job-card {
    padding: 13px;
  }

  .today-ai-card {
    grid-template-columns: 40px minmax(0,1fr);
  }

  .today-ai-icon {
    width: 40px;
    height: 40px;
  }

  /* Jobs mobile */

  .jobs-command-head {
    margin-bottom: 13px;
  }

  .jobs-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .jobs-visible-count {
    min-height: 38px;
  }

  .jobs-create-help {
    display: block;
    margin: 4px 0 0;
    line-height: 1.4;
  }

  .jobs-table-wrap {
    overflow: visible;
  }

  .jobs-table,
  .jobs-table tbody {
    display: block;
    width: 100%;
  }

  .jobs-table thead {
    display: none;
  }

  .jobs-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 12px;
    margin-bottom: 11px;
    padding: 13px;
    border: 1px solid var(--garage-border);
    border-radius: 14px;
    background: var(--garage-surface-soft);
  }

  .jobs-row[hidden] {
    display: none !important;
  }

  .jobs-row td {
    display: block;
    padding: 0;
    border: 0;
  }

  .jobs-row td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    color: #8995a5;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
  }

  .jobs-row td:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .jobs-row td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .jobs-row td:nth-child(6) {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
  }

  .jobs-row td:nth-child(3),
  .jobs-row td:nth-child(4) {
    grid-column: span 1;
  }

  .jobs-row td:nth-child(5) {
    grid-column: 1 / -1;
    padding-top: 5px;
    border-top: 1px solid #e3e9f0;
  }

  .jobs-row td:nth-child(7) {
    grid-column: 1 / -1;
  }

  .jobs-row .button-small {
    width: 100%;
    min-height: 42px;
    justify-content: center;
  }

  .jobs-work-cell {
    line-height: 1.45;
  }

  .jobs-list-panel {
    padding: 13px;
  }
}

@media (max-width: 390px) {
  .today-kpi {
    min-height: 86px;
    padding: 11px;
  }

  .today-kpi span {
    font-size: .69rem;
  }

  .today-kpi strong {
    font-size: 1.42rem;
  }

  .jobs-row {
    padding: 11px;
  }
}

/* END GARAGE_UI_APPROVED_BATCH02_PRESENTATION_V1 */

/* ==========================================================
   GARAGE_UI_APPROVED_BATCH03_PRESENTATION_V1
   CUSTOMER + VEHICLE
   Presentation only.
   ========================================================== */

/* =========================
   CUSTOMER MASTER
   ========================= */

.customer-master-head,
.vehicle-master-head {
  margin-bottom: 18px;
}

.customer-master-head h1,
.vehicle-master-head h1 {
  margin: 3px 0 5px;
  font-size: clamp(2rem,3vw,2.7rem);
}

.customer-search {
  display: grid;
  grid-template-columns: minmax(260px,1fr) 180px auto;
  align-items: end;
  gap: 12px;
}

.customer-search .wide {
  min-width: 0;
}

.customer-create,
.vehicle-create {
  margin: 14px 0;
}

.customer-create > summary,
.vehicle-create > summary {
  cursor: pointer;
  color: var(--garage-blue);
  font-weight: 900;
}

.customer-list-panel,
.vehicle-table-wrap {
  overflow: hidden;
}

.customer-ref {
  color: var(--garage-blue-dark);
}

/* =========================
   CUSTOMER PROFILE HERO
   ========================= */

.customer-profile-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  margin-bottom: 14px;
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius-lg);
  background:
    linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
  box-shadow: var(--garage-shadow);
}

.customer-profile-head h1 {
  margin: 5px 0 3px;
  font-size: clamp(2rem,3.3vw,2.8rem);
}

.customer-profile-head .eyebrow {
  margin: 0;
}

.customer-head-status-form {
  margin: 0;
}

.customer-status-toggle {
  cursor: pointer;
}

/* Customer quick actions */

.customer-profile-actions {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.customer-action-button,
.vehicle-action-button {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid var(--garage-border);
  border-radius: 14px;
  background: #fff;
  color: #33465d;
  font-size: .82rem;
  font-weight: 850;
  box-shadow: 0 3px 12px rgba(23,32,51,.03);
}

.customer-action-button:hover,
.vehicle-action-button:hover {
  border-color: #bdd4f0;
  background: #f7fbff;
  color: var(--garage-blue);
}

.customer-action-icon,
.vehicle-action-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 9px;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
  font-size: .9rem;
  font-weight: 950;
}

/* Customer summary */

.customer-summary-grid,
.vehicle-summary-grid {
  margin-bottom: 14px;
}

.customer-summary-grid .panel,
.vehicle-summary-grid .panel {
  min-height: 118px;
}

.customer-summary-grid h2,
.vehicle-summary-grid h2 {
  margin-top: 0;
  color: var(--garage-muted);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.customer-summary-grid p,
.vehicle-summary-grid p {
  overflow-wrap: anywhere;
}

/* Customer sub-sections */

.customer-profile-section {
  margin-top: 14px;
}

.customer-subrecord {
  border-radius: 12px;
  background: var(--garage-surface-soft);
}

.customer-edit-panel {
  margin-top: 14px;
}

.customer-edit-panel > summary {
  cursor: pointer;
  color: var(--garage-blue);
  font-weight: 900;
}

.customer-status-control {
  margin-top: 14px;
}

/* =========================
   VEHICLE MASTER
   ========================= */

.vehicle-table .ltr-id a {
  color: var(--garage-blue-dark);
  font-weight: 900;
}

/* =========================
   VEHICLE PROFILE
   ========================= */

.vehicle-profile-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  margin-bottom: 14px;
  border: 1px solid var(--garage-border);
  border-radius: var(--garage-radius-lg);
  background:
    linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
  box-shadow: var(--garage-shadow);
}

.vehicle-profile-head h1 {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  margin: 7px 0 7px;
  padding: 8px 15px;
  border: 2px solid #d5bb27;
  border-radius: 8px;
  background: #f6db3d;
  color: #111820;
  font-size: clamp(2rem,4vw,3rem);
  font-weight: 950;
  letter-spacing: .08em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}

.vehicle-profile-actions {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.vehicle-action-primary {
  border-color: var(--garage-blue);
  background: var(--garage-blue);
  color: #fff;
}

.vehicle-action-primary .vehicle-action-icon {
  background: rgba(255,255,255,.16);
  color: #fff;
}

.vehicle-action-primary:hover {
  background: #125fc9;
  color: #fff;
}

.vehicle-edit-panel {
  margin-top: 14px;
}

.vehicle-profile-section {
  margin-top: 14px;
}

/* =========================
   DESKTOP TABLE REFINEMENT
   ========================= */

.customer-table th,
.vehicle-table th {
  color: #708096;
  font-size: .70rem;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.customer-table td,
.vehicle-table td {
  vertical-align: middle;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width:800px) {

  .customer-master-head h1,
  .vehicle-master-head h1 {
    font-size: 1.72rem;
  }

  .customer-search {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .customer-search button {
    min-height: 44px;
  }

  /* Customer list becomes cards */

  .customer-list-panel,
  .vehicle-table-wrap {
    padding: 13px;
    overflow: visible;
  }

  .customer-table,
  .customer-table tbody,
  .vehicle-table,
  .vehicle-table tbody {
    display: block;
    width: 100%;
  }

  .customer-table thead,
  .vehicle-table thead {
    display: none;
  }

  .customer-row,
  .vehicle-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 9px 12px;
    margin-bottom: 11px;
    padding: 13px;
    border: 1px solid var(--garage-border);
    border-radius: 14px;
    background: var(--garage-surface-soft);
  }

  .customer-row td,
  .vehicle-row td {
    display: block;
    padding: 0;
    border: 0;
  }

  .customer-row td::before,
  .vehicle-row td::before,
  .customer-vehicle-row td::before,
  .customer-job-row td::before,
  .customer-invoice-row td::before,
  .vehicle-owner-history-row td::before,
  .vehicle-job-history-row td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    color: #8995a5;
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
  }

  /* Customer card layout */

  .customer-row td:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .customer-row td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .customer-row td:nth-child(5) {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  .customer-row td:nth-child(3),
  .customer-row td:nth-child(4) {
    grid-column: span 1;
  }

  .customer-row td:nth-child(6) {
    grid-column: 1 / -1;
  }

  .customer-row-action {
    width: 100%;
    min-height: 40px;
    justify-content: center;
  }

  /* Vehicle card layout */

  .vehicle-row td:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .vehicle-row td:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .vehicle-row td:nth-child(3),
  .vehicle-row td:nth-child(4) {
    grid-column: span 1;
  }

  .vehicle-row td:nth-child(5) {
    grid-column: 1 / -1;
  }

  .vehicle-row-action {
    width: 100%;
    min-height: 40px;
    justify-content: center;
  }

  /* Customer profile */

  .customer-profile-head,
  .vehicle-profile-head {
    padding: 15px;
    border-radius: 16px;
  }

  .customer-profile-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
  }

  .customer-profile-head h1 {
    font-size: 1.75rem;
  }

  .customer-head-status-form {
    align-self: start;
  }

  .customer-status-toggle {
    min-height: 38px !important;
    padding: .42rem .65rem !important;
    font-size: .65rem;
  }

  .customer-profile-actions {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
  }

  .customer-action-button {
    min-height: 64px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 7px 3px;
    font-size: .61rem;
    text-align: center;
  }

  .customer-action-icon {
    width: 27px;
    height: 27px;
  }

  .customer-summary-grid,
  .vehicle-summary-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }

  .customer-summary-grid .panel,
  .vehicle-summary-grid .panel {
    min-height: 100px;
    padding: 13px;
  }

  .customer-summary-grid h2,
  .vehicle-summary-grid h2 {
    font-size: .62rem;
  }

  .customer-summary-grid p,
  .vehicle-summary-grid p {
    font-size: .78rem;
  }

  /* Vehicle hero */

  .vehicle-profile-head {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
  }

  .vehicle-profile-head h1 {
    min-height: 46px;
    padding: 6px 10px;
    font-size: 1.75rem;
  }

  .vehicle-profile-head > a {
    align-self: start;
    font-size: .65rem;
  }

  .vehicle-profile-actions {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
  }

  .vehicle-action-button {
    min-height: 64px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 7px 4px;
    font-size: .62rem;
    text-align: center;
  }

  /* Customer / vehicle history tables become cards */

  .customer-profile-section table,
  .customer-profile-section tbody,
  .vehicle-profile-section table,
  .vehicle-profile-section tbody {
    display: block;
    width: 100%;
  }

  .customer-profile-section thead,
  .vehicle-profile-section thead {
    display: none;
  }

  .customer-vehicle-row,
  .customer-job-row,
  .customer-invoice-row,
  .vehicle-owner-history-row,
  .vehicle-job-history-row {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px 12px;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--garage-border);
    border-radius: 12px;
    background: var(--garage-surface-soft);
  }

  .customer-vehicle-row td,
  .customer-job-row td,
  .customer-invoice-row td,
  .vehicle-owner-history-row td,
  .vehicle-job-history-row td {
    display: block;
    padding: 0;
    border: 0;
  }

  .customer-job-row td:nth-child(2),
  .vehicle-job-history-row td:nth-child(2) {
    grid-column: 1 / -1;
  }

  .customer-invoice-row td:first-child {
    grid-column: 1 / -1;
  }

  .vehicle-owner-history-row td:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width:390px) {

  .customer-profile-actions {
    gap: 5px;
  }

  .customer-action-button {
    font-size: .56rem;
  }

  .vehicle-action-button {
    font-size: .57rem;
  }

  .customer-summary-grid,
  .vehicle-summary-grid {
    grid-template-columns: 1fr;
  }

  .vehicle-profile-head h1 {
    font-size: 1.55rem;
  }
}

/* END GARAGE_UI_APPROVED_BATCH03_PRESENTATION_V1 */


/* GARAGE_UI_APPROVED_BATCH02_FINAL_POLISH_V1 */

.today-ai-card {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
}

.today-ai-card .today-ai-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
  font-size: 1.25rem;
}

.today-ai-card .eyebrow {
  margin: 0 0 2px;
}

.today-ai-card h2 {
  margin: 0 0 3px;
  font-size: 1.05rem;
}

.today-ai-card p {
  margin-top: 3px;
  margin-bottom: 0;
}

@media (max-width: 800px) {
  .today-ai-card {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 10px;
    padding: 14px;
  }

  .today-ai-card .today-ai-icon {
    width: 38px;
    height: 38px;
  }

  .today-ai-card > a {
    grid-column: 2;
    justify-self: start;
    min-height: 36px;
    padding: 7px 11px;
  }

  .today-ai-card p:not(.eyebrow) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: .84rem;
    line-height: 1.35;
  }

  .today-bottom-grid {
    gap: 12px;
  }
}

/* END GARAGE_UI_APPROVED_BATCH02_FINAL_POLISH_V1 */

/* GARAGE_UI_BATCH02_MOBILE_SAFE_BOTTOM_V1 */
@media (max-width: 800px) {
  .app-main {
    padding-bottom: calc(145px + env(safe-area-inset-bottom, 0px));
  }

  .dashboard-ai-card {
    min-height: 0;
  }
}
/* END GARAGE_UI_BATCH02_MOBILE_SAFE_BOTTOM_V1 */

/* ==========================================================
   GARAGE_UI_APPROVED_BATCH03_CUSTOMER_VEHICLE_V1
   Customer + Vehicle commercial profile presentation.
   ========================================================== */

.customer-profile-head,
.vehicle-profile-head {
  padding: 22px;
  border: 1px solid var(--garage-border);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 20%, rgba(23,105,224,.10), transparent 28%),
    var(--garage-surface);
  box-shadow: var(--garage-shadow);
}

.customer-profile-head h1,
.vehicle-profile-head h1 {
  margin-bottom: 5px;
}

.vehicle-profile-head h1 {
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 950;
  letter-spacing: .035em;
}

.customer-profile-actions,
.vehicle-profile-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(130px,1fr));
  gap: 10px;
  margin: 14px 0;
}

.customer-action-button,
.vehicle-action-button {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 13px;
  border: 1px solid var(--garage-border);
  border-radius: 13px;
  background: #fff;
  color: var(--garage-ink);
  font-weight: 850;
  box-shadow: 0 3px 12px rgba(23,32,51,.035);
}

.customer-action-button:hover,
.vehicle-action-button:hover {
  border-color: #b9cce3;
  background: var(--garage-blue-soft);
  color: var(--garage-blue-dark);
}

.customer-action-icon,
.vehicle-action-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
  font-weight: 950;
}

.vehicle-action-primary {
  background: var(--garage-blue);
  border-color: var(--garage-blue);
  color: #fff;
}

.vehicle-action-primary .vehicle-action-icon {
  background: rgba(255,255,255,.18);
  color: #fff;
}

.profile-anchor-tabs {
  display: flex;
  gap: 8px;
  margin: 16px 0;
  overflow-x: auto;
  padding: 2px 1px 7px;
  scrollbar-width: none;
}

.profile-anchor-tabs::-webkit-scrollbar {
  display: none;
}

.profile-anchor-tabs a {
  flex: 0 0 auto;
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--garage-border);
  border-radius: 999px;
  background: #fff;
  color: #445268;
  font-size: .82rem;
  font-weight: 850;
  white-space: nowrap;
}

.profile-anchor-tabs a:first-child {
  border-color: #bcd6f7;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
}

.customer-summary-grid .panel,
.vehicle-summary-grid .panel {
  min-height: 118px;
}

.customer-summary-grid .panel h2,
.vehicle-summary-grid .panel h2 {
  margin-bottom: 10px;
  color: var(--garage-muted);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.customer-profile-section,
.vehicle-profile-section,
.customer-account-summary,
.customer-finance-stack {
  scroll-margin-top: 84px;
}

.customer-finance-stack {
  display: grid;
  gap: 16px;
}

@media (max-width: 800px) {
  .customer-profile-head,
  .vehicle-profile-head {
    padding: 17px;
    border-radius: 16px;
  }

  .customer-profile-head h1 {
    font-size: 1.8rem;
  }

  .vehicle-profile-head h1 {
    font-size: 2.45rem;
  }

  .customer-profile-actions,
  .vehicle-profile-actions {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .customer-action-button,
  .vehicle-action-button {
    min-height: 50px;
    font-size: .78rem;
  }

  .profile-anchor-tabs {
    margin-inline: -2px;
  }

  .customer-summary-grid,
  .vehicle-summary-grid {
    grid-template-columns: 1fr 1fr;
  }

  .customer-summary-grid .panel,
  .vehicle-summary-grid .panel {
    min-height: 100px;
    padding: 13px;
  }

  /* Tables become readable mobile record cards. */
  .customer-vehicles-section table,
  .customer-jobs-section table,
  .customer-invoices-section table,
  .vehicle-owner-history table,
  .vehicle-job-history table {
    display: block;
  }

  .customer-vehicles-section thead,
  .customer-jobs-section thead,
  .customer-invoices-section thead,
  .vehicle-owner-history thead,
  .vehicle-job-history thead {
    display: none;
  }

  .customer-vehicles-section tbody,
  .customer-jobs-section tbody,
  .customer-invoices-section tbody,
  .vehicle-owner-history tbody,
  .vehicle-job-history tbody {
    display: grid;
    gap: 10px;
  }

  .customer-vehicles-section tr,
  .customer-jobs-section tr,
  .customer-invoices-section tr,
  .vehicle-owner-history tr,
  .vehicle-job-history tr {
    display: block;
    padding: 9px 11px;
    border: 1px solid var(--garage-border);
    border-radius: 12px;
    background: var(--garage-surface-soft);
  }

  .customer-vehicles-section td[data-label],
  .customer-jobs-section td[data-label],
  .customer-invoices-section td[data-label],
  .vehicle-owner-history td[data-label],
  .vehicle-job-history td[data-label] {
    display: grid;
    grid-template-columns: minmax(88px,35%) 1fr;
    gap: 10px;
    padding: 7px 2px;
    border: 0;
    text-align: start;
  }

  .customer-vehicles-section td[data-label]::before,
  .customer-jobs-section td[data-label]::before,
  .customer-invoices-section td[data-label]::before,
  .vehicle-owner-history td[data-label]::before,
  .vehicle-job-history td[data-label]::before {
    content: attr(data-label);
    color: var(--garage-muted);
    font-size: .69rem;
    font-weight: 850;
  }
}

@media (max-width: 390px) {
  .customer-summary-grid,
  .vehicle-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* END GARAGE_UI_APPROVED_BATCH03_CUSTOMER_VEHICLE_V1 */

/* ==========================================================
   GARAGE_UI_APPROVED_BATCH04_JOB_WORKSPACE_V1
   Job Workspace + Work Items presentation.
   ========================================================== */

.job-workspace-hero {
  position: relative;
  overflow: hidden;
  padding: 24px;
  border: 1px solid var(--garage-border);
  border-radius: 22px;
  background:
    radial-gradient(circle at 90% 15%, rgba(23,105,224,.14), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  box-shadow: var(--garage-shadow);
}

.job-workspace-hero-main {
  min-width: 0;
}

.job-workspace-hero h1 {
  margin: 3px 0 2px;
  font-size: clamp(2.5rem,7vw,4.6rem);
  font-weight: 950;
  letter-spacing: .045em;
}

.job-workspace-vehicle {
  margin: 0 0 6px;
  color: #35475f;
  font-weight: 850;
}

.job-workspace-hero-status {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.job-workspace-hero-status small {
  color: var(--garage-muted);
  font-weight: 750;
}

.job-status-hero {
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--garage-blue-soft);
  color: var(--garage-blue-dark);
  font-weight: 900;
}

/* Progress */

.job-progress-rail {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 0;
  margin: 16px 0;
  padding: 15px 13px;
  border: 1px solid var(--garage-border);
  border-radius: 16px;
  background: #fff;
  overflow-x: auto;
}

.job-progress-step {
  position: relative;
  min-width: 105px;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #8290a2;
  font-size: .66rem;
  font-weight: 800;
  text-align: center;
}

.job-progress-step::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: #e0e7ef;
}

.job-progress-step:first-child::before {
  display: none;
}

.job-progress-dot {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
  border: 3px solid #d8e1eb;
  border-radius: 50%;
  background: #fff;
}

.job-progress-step.current {
  color: var(--garage-blue);
}

.job-progress-step.current .job-progress-dot {
  border-color: var(--garage-blue);
  background: var(--garage-blue);
  box-shadow: 0 0 0 4px var(--garage-blue-soft);
}

/* Workspace tabs */

.job-workspace-tabs {
  display: flex;
  gap: 8px;
  margin: 14px 0;
  padding: 2px 1px 7px;
  overflow-x: auto;
  scrollbar-width: none;
}

.job-workspace-tabs::-webkit-scrollbar {
  display: none;
}

.job-workspace-tabs a,
.job-workspace-tabs .job-tab-future {
  flex: 0 0 auto;
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--garage-border);
  border-radius: 999px;
  background: #fff;
  color: #445268;
  font-size: .78rem;
  font-weight: 850;
  white-space: nowrap;
}

.job-workspace-tabs a:first-child {
  border-color: #bcd6f7;
  background: var(--garage-blue-soft);
  color: var(--garage-blue);
}

.job-workspace-tabs .job-tab-future {
  border-style: dashed;
  color: #98a4b3;
}

/* Work counters */

.job-work-summary {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin: 14px 0;
}

.job-work-summary article {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--garage-border);
  border-radius: 14px;
  background: #fff;
}

.job-work-summary span {
  color: var(--garage-muted);
  font-size: .7rem;
  font-weight: 800;
}

.job-work-summary strong {
  color: var(--garage-ink);
  font-size: 1.45rem;
  font-weight: 950;
}

.job-workspace-section {
  scroll-margin-top: 82px;
}

.job-add-work-panel {
  margin: 14px 0 18px;
  border: 1px dashed #c7d5e5;
  border-radius: 13px;
  background: var(--garage-surface-soft);
}

.job-add-work-panel > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  cursor: pointer;
  color: var(--garage-blue);
  font-weight: 900;
  list-style: none;
}

.job-add-work-panel > summary::-webkit-details-marker {
  display: none;
}

.job-add-work-panel[open] > summary {
  border-bottom: 1px solid var(--garage-border);
}

.job-add-work-panel form {
  padding: 14px;
}

@media (max-width: 800px) {
  .job-workspace-hero {
    padding: 17px;
    border-radius: 17px;
  }

  .job-workspace-hero h1 {
    font-size: 2.8rem;
  }

  .job-workspace-hero-status {
    justify-items: start;
    margin-top: 10px;
  }

  .job-progress-rail {
    grid-template-columns: repeat(7,105px);
    justify-content: start;
    padding-inline: 12px;
  }

  .job-work-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .job-relationship-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .job-status-panel {
    grid-column: 1 / -1;
  }

  /* Work Items become mobile cards */
  .job-work-items-table table,
  .job-work-items-table tbody {
    display: block;
  }

  .job-work-items-table thead {
    display: none;
  }

  .job-work-items-table tbody {
    display: grid;
    gap: 12px;
  }

  .job-work-items-table tr {
    display: block;
    padding: 13px;
    border: 1px solid var(--garage-border);
    border-radius: 14px;
    background: var(--garage-surface-soft);
  }

  .job-work-items-table td {
    display: block;
    padding: 7px 0;
    border: 0;
  }

  .job-work-items-table td:first-child {
    padding-top: 0;
    font-size: .92rem;
  }

  .job-work-items-table td:last-child {
    padding-bottom: 0;
  }

  .job-work-items-table td:last-child form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .job-work-items-table td:last-child form input,
  .job-work-items-table td:last-child form button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 390px) {
  .job-workspace-hero h1 {
    font-size: 2.35rem;
  }

  .job-relationship-grid {
    grid-template-columns: 1fr;
  }

  .job-status-panel {
    grid-column: auto;
  }
}

/* END GARAGE_UI_APPROVED_BATCH04_JOB_WORKSPACE_V1 */

/* ==========================================================
   GARAGE_UI_APPROVED_BATCH05_TIMELINE_OUTSTANDING_V1
   Outstanding Actions + Activity Timeline + Intake Evidence.
   ========================================================== */

.job-outstanding-panel,
.job-photos-panel,
.job-activity-panel {
  overflow: hidden;
}

.job-outstanding-create {
  margin: 14px 0 18px;
  border: 1px dashed #b9cce2;
  border-radius: 14px;
  background: #f8fbff;
}

.job-outstanding-create > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
  font-weight: 900;
  color: var(--garage-blue);
}

.job-outstanding-create > summary::-webkit-details-marker {
  display: none;
}

.job-outstanding-create[open] > summary {
  border-bottom: 1px solid var(--garage-border);
}

.job-outstanding-create form {
  padding: 14px;
}

.job-outstanding-requirements {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px dashed var(--garage-border);
  border-radius: 14px;
  background: var(--garage-surface-soft);
}

.job-outstanding-requirements p {
  margin-bottom: 0;
}

.job-outstanding-list {
  display: grid;
  gap: 10px;
}

.job-outstanding-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--garage-border);
  border-radius: 15px;
  background: #fff;
}

.job-outstanding-card.is-open {
  border-inline-start: 4px solid #d89b17;
}

.job-outstanding-card.is-done {
  border-inline-start: 4px solid #23915d;
  background: #f8fcfa;
}

.job-outstanding-card-main {
  min-width: 0;
  flex: 1;
}

.job-outstanding-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.job-outstanding-title strong {
  color: var(--garage-ink);
  font-size: .94rem;
}

.job-outstanding-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 15px;
  margin-top: 8px;
  color: var(--garage-muted);
  font-size: .76rem;
}

.job-outstanding-complete {
  flex: 0 0 auto;
}

/* Photos / intake */

.job-photos-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(240px,.75fr);
  gap: 14px;
}

.job-intake-record,
.job-photo-storage-state {
  padding: 16px;
  border: 1px solid var(--garage-border);
  border-radius: 16px;
  background: var(--garage-surface-soft);
}

.job-intake-record h3,
.job-photo-storage-state h3 {
  margin-top: 0;
}

.job-intake-facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin: 10px 0 14px;
}

.job-intake-fact {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--garage-border);
  border-radius: 11px;
  background: #fff;
}

.job-intake-fact span {
  color: var(--garage-muted);
  font-size: .68rem;
  font-weight: 800;
}

.job-intake-fact strong {
  color: var(--garage-ink);
  font-size: .88rem;
}

.job-photo-storage-state {
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.job-photo-storage-state p {
  max-width: 430px;
  color: var(--garage-muted);
}

.job-photo-placeholder {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  border: 2px dashed #b9c7d7;
  border-radius: 15px;
  color: #8291a4;
  font-size: 1.8rem;
}

/* Timeline */

.job-timeline {
  position: relative;
  display: grid;
  gap: 0;
  margin-top: 8px;
}

.job-timeline-row {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 10px;
  min-height: 66px;
}

.job-timeline-row::before {
  content: "";
  position: absolute;
  inset-inline-start: 7px;
  top: 19px;
  bottom: -4px;
  width: 2px;
  background: #dce5ef;
}

.job-timeline-row:last-child::before {
  display: none;
}

.job-timeline-marker {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  border: 4px solid #d8e7f9;
  border-radius: 50%;
  background: var(--garage-blue);
}

.job-timeline-content {
  padding: 0 0 18px;
}

.job-timeline-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.job-timeline-head strong {
  color: var(--garage-ink);
  font-size: .89rem;
}

.job-timeline-head time {
  flex: 0 0 auto;
  color: var(--garage-muted);
  font-size: .69rem;
  font-weight: 700;
}

.job-timeline-content p {
  margin: 4px 0 0;
  color: var(--garage-muted);
  font-size: .8rem;
}

@media (max-width: 800px) {
  .job-outstanding-card {
    display: grid;
    align-items: stretch;
  }

  .job-outstanding-complete button {
    width: 100%;
  }

  .job-outstanding-title {
    align-items: center;
  }

  .job-outstanding-meta {
    display: grid;
    gap: 5px;
  }

  .job-photos-grid {
    grid-template-columns: 1fr;
  }

  .job-intake-facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .job-timeline-head {
    display: grid;
    gap: 3px;
  }
}

@media (max-width: 390px) {
  .job-intake-facts {
    grid-template-columns: 1fr;
  }
}

/* END GARAGE_UI_APPROVED_BATCH05_TIMELINE_OUTSTANDING_V1 */


/* ============================================================
   GARAGE_UI_APPROVED_BATCH06_PARTS_COSTS_DIRECT_PURCHASE_V1
   ============================================================ */

.job-parts-costs-panel {
  overflow: hidden;
}

.job-material-source-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.job-material-source {
  min-width: 0;
  border: 1px solid var(--border, #d9dee6);
  border-radius: 18px;
  padding: 1rem;
  background: var(--surface, #fff);
}

.job-material-source-head,
.direct-purchase-head,
.direct-purchase-total {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}

.source-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  background: #e8eef7;
  color: #24364d;
}

.source-badge-direct {
  background: #e7f1ee;
  color: #20483d;
}

.job-material-cost {
  text-align: end;
}

.job-material-cost span {
  display: block;
  font-size: .78rem;
  opacity: .68;
}

.direct-purchase-create {
  margin: 1rem 0;
  border-top: 1px solid var(--border, #d9dee6);
  padding-top: .8rem;
}

.direct-purchase-create > summary {
  cursor: pointer;
  font-weight: 700;
  margin-bottom: .9rem;
}

.direct-purchase-list,
.direct-purchase-lines {
  display: grid;
  gap: .8rem;
}

.direct-purchase-card {
  padding: .9rem;
}

.direct-purchase-line {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .55rem 0;
  border-bottom: 1px solid var(--border, #e1e5eb);
}

.direct-purchase-line > div {
  display: grid;
  gap: .15rem;
}

.direct-purchase-total {
  align-items: center;
  padding-top: .35rem;
}

.direct-purchase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}

.job-stock-usage-list {
  margin-top: .8rem;
}

@media (max-width: 820px) {
  .job-material-source-grid {
    grid-template-columns: 1fr;
  }

  .job-material-source {
    border-radius: 16px;
  }

  .direct-purchase-actions .inline-form,
  .direct-purchase-actions button {
    width: 100%;
  }
}

/* END GARAGE_UI_APPROVED_BATCH06_PARTS_COSTS_DIRECT_PURCHASE_V1 */


/* ACTION_GARAGE_BATCH1C_HOME_CSS_V1 */

.action-home {
  display:grid;
  gap:18px;
}

.action-home-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.action-home-head h1 {
  margin:2px 0 0;
  font-size:clamp(2rem,7vw,3.4rem);
  letter-spacing:-.04em;
}

.action-ai-pill {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  border:1px solid currentColor;
}

.action-find-card {
  padding:20px;
  border:2px solid currentColor;
  border-radius:22px;
}

.action-find-title {
  font-size:1.15rem;
  font-weight:900;
  margin-bottom:12px;
}

.action-find-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:12px;
}

.action-find-form label {
  display:grid;
  gap:7px;
}

.action-registration-input {
  min-height:58px;
  font-size:1.5rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.action-find-button {
  min-height:58px;
  min-width:112px;
}

.action-primary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.action-primary-card {
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px;
  border-radius:20px;
  text-decoration:none;
  border:1px solid currentColor;
}

.action-primary-ai {
  border-width:2px;
}

.action-status-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.action-status-card {
  display:grid;
  gap:5px;
  min-height:94px;
  padding:14px;
  text-decoration:none;
  border-radius:18px;
  border:1px solid currentColor;
}

.action-status-card span {
  font-size:.78rem;
  opacity:.75;
}

.action-status-card strong {
  font-size:1.45rem;
}

.action-now-list {
  display:grid;
  gap:8px;
}

.action-now-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 2px;
  text-decoration:none;
  border-bottom:1px solid rgba(127,127,127,.25);
}

.action-now-row > div {
  display:grid;
  gap:3px;
}

@media (max-width:760px) {

  .action-find-form {
    grid-template-columns:1fr;
  }

  .action-find-button {
    width:100%;
  }

  .action-primary-grid,
  .action-status-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:430px) {

  .action-primary-grid {
    grid-template-columns:1fr;
  }

  .action-home-head h1 {
    font-size:2.15rem;
  }
}


/* ACTION_GARAGE_BATCH1D_EXPRESS_CSS_V1 */

.action-express {
  display:grid;
  gap:18px;
  max-width:760px;
  margin:0 auto;
}

.action-express-panel {
  padding:22px;
}

.action-express-form {
  display:grid;
  gap:18px;
}

.action-express-form label {
  display:grid;
  gap:7px;
}

.action-express-main input,
.action-express-main textarea {
  width:100%;
}

.action-express-registration {
  min-height:60px;
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.action-express-form textarea {
  min-height:104px;
  resize:vertical;
  font-size:1rem;
}

.action-business-toggle {
  display:flex !important;
  grid-template-columns:auto 1fr;
  flex-direction:row;
  align-items:center;
  gap:10px !important;
}

.action-business-toggle input {
  width:22px;
  height:22px;
}

.action-price-row {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
  max-width:260px;
}

.action-price-row strong {
  font-size:1.3rem;
}

.action-price-row input {
  min-height:50px;
  font-size:1.15rem;
}

.action-express-submit {
  min-height:58px;
  font-size:1.05rem;
}

@media (max-width:600px) {

  .action-express-panel {
    padding:16px;
  }

  .action-express {
    gap:14px;
  }
}


/* ACTION_GARAGE_BATCH2B_AI_QUICK_QUESTIONS_V1
   One-tap AI Secretary questions.
   Main AI page displays concise touch targets.
*/
.ai-quick-panel {
  display: grid;
  gap: 18px;
}

.ai-quick-heading h2 {
  margin: 2px 0 4px;
}

.ai-quick-heading p {
  margin-bottom: 0;
}

.ai-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ai-quick-button {
  appearance: none;
  width: 100%;
  min-height: 66px;
  border: 1px solid #c8d7ef;
  border-radius: 18px;
  background: #f5f9ff;
  color: #17335f;
  padding: 13px 14px;
  font: inherit;
  font-weight: 750;
  line-height: 1.25;
  text-align: start;
  cursor: pointer;
  touch-action: manipulation;
}

.ai-quick-button:hover,
.ai-quick-button:focus-visible {
  border-color: #326be0;
  background: #edf4ff;
}

.ai-quick-button.is-selected {
  border-color: #326be0;
  box-shadow: 0 0 0 3px rgba(50,107,224,.12);
}

.ai-quick-more {
  border-top: 1px solid #e4eaf2;
  padding-top: 14px;
}

.ai-quick-more > summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-weight: 750;
  color: #31517c;
}

.ai-quick-grid-more {
  margin-top: 12px;
}

.ai-quick-button-secondary {
  background: #fff;
}

.ai-message-panel {
  scroll-margin-top: 90px;
}

@media (max-width: 600px) {
  .ai-quick-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .ai-quick-button {
    min-height: 72px;
    padding: 12px;
    font-size: .96rem;
  }
}

@media (max-width: 390px) {
  .ai-quick-grid {
    grid-template-columns: 1fr;
  }
}


/* ACTION_GARAGE_BATCH2B_HISTORY_COLLAPSE_R2_V1 */
.ai-previous-answers {
  margin-top: 14px;
  border: 1px solid #dce4ef;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.ai-previous-answers > summary {
  cursor: pointer;
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 16px;
  font-weight: 750;
  color: #31517c;
  background: #f7f9fc;
}

.ai-previous-answer-list {
  padding: 0 12px 12px;
}

.ai-previous-answer-list > section {
  margin-top: 12px;
}


/* ==========================================================
   ACTION_GARAGE_UI_011_013_V2
   Expense owner view + compact retained evidence
   ========================================================== */

.ai-retained-evidence {
  padding: 0;
  overflow: hidden;
}

.ai-retained-evidence > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  min-height: 58px;
  padding: 1rem;
}

.ai-retained-evidence > summary::-webkit-details-marker {
  display: none;
}

.ai-evidence-summary-text {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.ai-evidence-summary-text strong,
.ai-evidence-summary-text small {
  overflow-wrap: anywhere;
}

.ai-evidence-view {
  flex: 0 0 auto;
  font-weight: 800;
}

.ai-retained-evidence[open] .ai-evidence-view {
  display: none;
}

.ai-evidence-list {
  display: grid;
  border-top: 1px solid
    var(--garage-border,#d8dee8);
}

.ai-evidence-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid
    var(--garage-border,#d8dee8);
}

.ai-evidence-row:last-child {
  border-bottom: 0;
}

.ai-evidence-meta {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.ai-evidence-meta strong,
.ai-evidence-meta small {
  overflow-wrap: anywhere;
}

.ai-evidence-delete {
  flex: 0 0 auto;
  margin: 0;
}

.ai-expense-draft .ai-draft-diff {
  margin-top: .8rem;
}

@media (max-width:760px) {

  .ai-evidence-row {
    align-items: flex-start;
  }

  .ai-evidence-delete button {
    min-height: 44px;
  }

}

/* END ACTION_GARAGE_UI_011_013_V2 */


/* ==========================================================
   ACTION_GARAGE_UI_014_015_V1
   Refund mobile submit + Quote-linked Invoice
   ========================================================== */

.quote-invoice-linked {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.quote-view-invoice {
  font-weight: 900;
}

.quote-create-invoice-form {
  margin-top: 1rem;
}

.refund-panel[open] {
  padding-bottom: 1rem;
}

.refund-form {
  margin-top: 1rem;
}

.refund-submit-row {
  display: grid;
  gap: .55rem;
}

.refund-submit {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid #a43434;
  background: #fff4f4;
  color: #852626;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width:800px) {

  .refund-panel[open] {
    padding-bottom: 110px;
  }

  .refund-submit-row {
    position: sticky;
    bottom: 82px;
    z-index: 4;

    margin-inline: -4px;

    padding: .75rem;

    border: 1px solid #d8dee8;
    border-radius: 14px;

    background: rgba(255,255,255,.97);

    box-shadow:
      0 -8px 24px rgba(22,32,51,.10);
  }

  .refund-submit {
    min-height: 58px;
    font-size: 1rem;
  }

  .quote-invoice-linked {
    align-items: stretch;
  }

  .quote-view-invoice {
    width: 100%;
    min-height: 48px;
  }

}

/* END ACTION_GARAGE_UI_014_015_V1 */


/* ==========================================================
   ACTION_GARAGE_QUICK_INVOICE_V1
   ========================================================== */

.quick-invoice-launch {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  border-radius: 12px;
  background: #2f67dd;
  color: #fff;
  font-weight: 900;
}

.quick-invoice-panel {
  max-width: 760px;
}

.quick-invoice-form {
  align-items: end;
}

.quick-invoice-submit {
  display: flex;
  align-items: end;
}

.quick-invoice-submit .primary {
  width: 100%;
  min-height: 52px;
}

.quick-invoice-rules {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e1e7f0;
}

.quick-invoice-new-vehicle {
  max-width: 760px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.action-garage-quick-invoice-home {
  display: flex;
  align-items: center;
  gap: .75rem;

  min-height: 92px;
  padding: 1rem;

  border: 2px solid #142033;
  border-radius: 18px;

  background: #fff;
  color: #142033;

  font-weight: 900;
  text-decoration: none;
}

.action-garage-quick-invoice-dot {
  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;

  flex: 0 0 36px;

  border-radius: 999px;

  background: #2f67dd;
  color: #fff;

  font-size: 1.1rem;
  font-weight: 900;
}

@media(max-width:800px) {

  .quick-invoice-head {
    align-items: stretch;
  }

  .quick-invoice-form {
    grid-template-columns: 1fr;
  }

  .quick-invoice-submit {
    width: 100%;
  }

  .quick-invoice-submit .primary {
    width: 100%;
    min-height: 58px;
    font-size: 1.05rem;
  }

  .quick-invoice-new-vehicle {
    display: grid;
  }

  .quick-invoice-new-vehicle .secondary {
    min-height: 48px;
    width: 100%;
  }

  .quick-invoice-launch {
    width: 100%;
    margin-top: .8rem;
  }

}

/* END ACTION_GARAGE_QUICK_INVOICE_V1 */


/* GARAGE_AFSHIN_MOBILE_LANGUAGE_V1 */
.mobile-appbar-language {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
}

/* GARAGE_NIMA_OWNER_DEMO_HOME_V1 */

.owner-demo-home{
  width:min(680px,100%);
  margin:0 auto;
  padding:10px 0 26px;
}

.owner-demo-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 4px 18px;
}

.owner-demo-brand{
  display:flex;
  align-items:center;
  gap:11px;
}

.owner-demo-brand-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#172033;
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
}

.owner-demo-brand strong,
.owner-demo-brand small{
  display:block;
}

.owner-demo-brand strong{
  font-size:1.12rem;
  letter-spacing:.04em;
}

.owner-demo-brand small,
.owner-demo-date{
  color:#778296;
  font-size:.78rem;
}

.owner-demo-intro{
  margin:8px 0 18px;
}

.owner-demo-mode{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#edf7f0;
  color:#327052;
  font-size:.74rem;
  font-weight:850;
}

.owner-demo-intro h1{
  margin:12px 0 0;
  font-size:clamp(1.9rem,6vw,2.65rem);
  line-height:1.18;
}

.owner-demo-arrival{
  min-height:120px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:24px;
  margin-bottom:14px;
  border-radius:25px;
  background:linear-gradient(135deg,#14745e,#176b59);
  color:#fff;
  box-shadow:0 14px 32px rgba(19,102,82,.18);
}

.owner-demo-arrival-plus{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  font-size:1.7rem;
}

.owner-demo-arrival strong,
.owner-demo-arrival small{
  display:block;
}

.owner-demo-arrival strong{
  font-size:1.25rem;
  margin-bottom:5px;
}

.owner-demo-arrival small{
  color:rgba(255,255,255,.82);
  font-size:.88rem;
}

.owner-demo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.owner-demo-card{
  min-height:148px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:18px;
  border:1px solid #e3e8ef;
  border-radius:23px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,45,61,.045);
}

.owner-demo-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:11px;
  background:#f3f6fa;
  color:#30445e;
  font-size:1rem;
  font-weight:900;
}

.owner-demo-card strong{
  display:block;
  font-size:1.03rem;
  line-height:1.35;
}

.owner-demo-card small{
  display:block;
  margin-top:7px;
  color:#7a8596;
  font-size:.78rem;
  line-height:1.5;
}

.owner-demo-today .owner-demo-icon{
  background:#edf7ff;
}

.owner-demo-money .owner-demo-icon{
  background:#eef4ff;
  color:#1e6bcc;
}

.owner-demo-stock .owner-demo-icon{
  background:#eef9f5;
  color:#24806d;
}

.owner-demo-close .owner-demo-icon{
  background:#fff5df;
  color:#b56a13;
}

.owner-demo-receipt .owner-demo-icon{
  background:#f2f0ff;
  color:#6757c8;
}

.owner-demo-ai{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:13px;
  padding:16px 18px;
  border-radius:20px;
  background:#eef5ff;
  border:1px solid #d9e8fb;
  color:#1c4e86;
}

.owner-demo-ai > span:first-child{
  font-size:1.3rem;
}

.owner-demo-ai strong,
.owner-demo-ai small{
  display:block;
}

.owner-demo-ai small{
  margin-top:2px;
  color:#6480a0;
  font-size:.76rem;
}

body:has(.owner-demo-home) .sidebar,
body:has(.owner-demo-home) .workspace-topbar{
  display:none;
}

body:has(.owner-demo-home) .app-frame{
  grid-template-columns:minmax(0,1fr);
}

body:has(.owner-demo-home) .app-main{
  width:min(760px,100%);
  padding-top:24px;
}

@media (max-width:720px){
  .owner-demo-home{
    padding-top:2px;
  }

  .owner-demo-header{
    padding-inline:3px;
    padding-bottom:14px;
  }

  .owner-demo-arrival{
    min-height:108px;
    padding:20px;
    border-radius:22px;
  }

  .owner-demo-card{
    min-height:138px;
    padding:16px;
    border-radius:20px;
  }
}

@media (max-width:380px){
  .owner-demo-grid{
    gap:9px;
  }

  .owner-demo-card{
    min-height:132px;
    padding:14px;
  }

  .owner-demo-card strong{
    font-size:.94rem;
  }

  .owner-demo-card small{
    font-size:.72rem;
  }
}

/* END GARAGE_NIMA_OWNER_DEMO_HOME_V1 */


/* GARAGE_NIMA_OWNER_STOCK_DEMO_V1 */

.owner-stock-page{
  width:min(680px,100%);
  margin:0 auto;
  padding:8px 0 30px;
}

.owner-stock-heading{
  margin-bottom:18px;
}

.owner-stock-heading-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.owner-stock-back{
  font-weight:800;
  text-decoration:none;
}

.owner-stock-heading h1{
  margin:.35rem 0;
  font-size:clamp(1.8rem,6vw,2.4rem);
  line-height:1.2;
}

.owner-stock-create{
  margin-bottom:14px;
}

.owner-stock-create > summary{
  list-style:none;
}

.owner-stock-create > summary::-webkit-details-marker{
  display:none;
}

.owner-stock-add-button{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:18px;
  background:#197461;
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(25,116,97,.16);
}

.owner-stock-add-button span{
  font-size:1.45rem;
}

.owner-stock-create-panel{
  margin-top:12px;
}

.owner-stock-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.45fr) auto;
  gap:9px;
  margin:14px 0 10px;
}

.owner-stock-search-box{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:0 14px;
  border:1px solid #dbe2eb;
  border-radius:15px;
  background:#fff;
}

.owner-stock-search-box input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
}

.owner-stock-search select,
.owner-stock-search button{
  min-height:52px;
}

.owner-stock-result-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 2px 13px;
  color:#778296;
  font-size:.82rem;
}

.owner-stock-result-line a{
  font-weight:800;
}

.owner-stock-catalog{
  display:grid;
  gap:12px;
}

.owner-stock-card{
  padding:18px;
  border:1px solid #e0e6ed;
  border-radius:20px;
  background:#fff;
  box-shadow:0 7px 22px rgba(31,45,61,.05);
}

.owner-stock-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.owner-stock-card h3{
  margin:0;
  font-size:1.05rem;
  line-height:1.4;
}

.owner-stock-sku{
  margin:4px 0 0;
  color:#7b8797;
  font-size:.78rem;
}

.owner-stock-state{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:850;
}

.owner-stock-ok{
  background:#eef8f3;
  color:#28725c;
}

.owner-stock-empty{
  background:#fff1f1;
  color:#a33b3b;
}

.owner-stock-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}

.owner-stock-tags span{
  padding:4px 8px;
  border-radius:999px;
  background:#f4f6f9;
  color:#697587;
  font-size:.7rem;
}

.owner-stock-metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #edf0f4;
}

.owner-stock-metrics div{
  display:grid;
  gap:4px;
}

.owner-stock-metrics small{
  color:#7b8797;
  font-size:.72rem;
}

.owner-stock-metrics strong{
  font-size:1.05rem;
}

.owner-stock-quick-action{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #edf0f4;
}

.owner-stock-quick-action summary{
  cursor:pointer;
  font-weight:850;
}

.owner-stock-inline-form{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:8px;
  margin-top:10px;
}

.owner-stock-inline-form input,
.owner-stock-inline-form button{
  min-height:46px;
}

.owner-stock-manage-link{
  display:inline-block;
  margin-top:12px;
  font-size:.78rem;
  font-weight:850;
}

.owner-stock-advanced{
  margin-top:16px;
}

.owner-stock-advanced > summary{
  padding:15px 16px;
  border:1px solid #dfe5ed;
  border-radius:16px;
  background:#f8fafc;
  font-weight:900;
  cursor:pointer;
}

.owner-stock-advanced[open] > summary{
  margin-bottom:10px;
}

.owner-stock-empty-state{
  text-align:center;
  padding:28px 18px;
}


@media(max-width:720px){

  body:has(.owner-stock-page) .app-main{
    padding-inline:12px;
  }

  .owner-stock-page{
    padding-top:3px;
  }

  .owner-stock-search{
    grid-template-columns:1fr 1fr;
  }

  .owner-stock-search-box{
    grid-column:1 / -1;
  }

  .owner-stock-search button{
    width:100%;
  }

  .owner-stock-card{
    padding:16px;
    border-radius:18px;
  }

  .owner-stock-create-panel{
    padding:15px;
  }

}


@media(max-width:390px){

  .owner-stock-search{
    grid-template-columns:1fr;
  }

  .owner-stock-search-box{
    grid-column:auto;
  }

  .owner-stock-metrics{
    grid-template-columns:1fr 1fr;
  }

}

/* END GARAGE_NIMA_OWNER_STOCK_DEMO_V1 */


/* GARAGE_NIMA_STOCK_DEMO_LAYOUT_V2 */

.owner-stock-create:not([open])
  .owner-stock-create-panel{
  display:none;
}

.owner-stock-demo-search{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:16px 0 8px;
}

.owner-stock-demo-search
.owner-stock-search-box{
  grid-column:auto;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid #dfe5ec;
  border-radius:17px;
  background:#fff;
}

.owner-stock-search-submit{
  flex:0 0 38px;
  width:38px;
  min-height:38px !important;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#172033;
  font-size:1.25rem;
  font-weight:900;
  cursor:pointer;
}

.owner-stock-demo-search
.owner-stock-search-box input{
  min-width:0;
  width:100%;
  height:54px;
  padding:0;
  border:0;
  background:transparent;
  outline:0;
  font:inherit;
}

.owner-stock-filter-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.owner-stock-filter-row select{
  width:100%;
  min-height:56px;
  padding-inline:14px;
  border:1px solid #dfe5ec;
  border-radius:16px;
  background:#fff;
  font:inherit;
  font-weight:750;
}

.owner-stock-result-line{
  margin-top:11px;
}

.owner-stock-catalog{
  margin-top:10px;
}

.owner-stock-card{
  border-radius:18px;
}

.owner-stock-create > summary{
  user-select:none;
}

.owner-stock-add-button{
  min-height:62px;
}

@media(max-width:720px){

  .owner-stock-heading{
    margin-bottom:14px;
  }

  .owner-stock-create{
    margin-bottom:14px;
  }

  .owner-stock-demo-search{
    display:grid;
    grid-template-columns:1fr;
  }

  .owner-stock-filter-row{
    grid-template-columns:1fr 1fr;
  }

  .owner-stock-demo-search
  .owner-stock-search-box{
    grid-column:auto;
  }

  .owner-stock-search-submit{
    width:38px !important;
  }

}

@media(max-width:380px){

  .owner-stock-filter-row{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .owner-stock-filter-row select{
    padding-inline:8px;
    font-size:.9rem;
  }

}

/* END GARAGE_NIMA_STOCK_DEMO_LAYOUT_V2 */


/* GARAGE_NIMA_PRODUCT_METADATA_V1 */

.owner-stock-low{
  background:#fff5df;
  color:#946012;
}

.owner-stock-metrics{
  align-items:start;
}

.owner-stock-metrics > div{
  min-width:0;
}

/* END GARAGE_NIMA_PRODUCT_METADATA_V1 */

/* GARAGE_V1_OWNER_SETTINGS_ACCENTS */
body.garage-accent-blue{--garage-blue:#246bfd;--garage-blue-hover:#1f5fd6;--garage-blue-soft:#edf3ff}
body.garage-accent-green{--garage-blue:#15805d;--garage-blue-hover:#116b4e;--garage-blue-soft:#eaf7f1}
body.garage-accent-purple{--garage-blue:#7255c7;--garage-blue-hover:#6045ae;--garage-blue-soft:#f1edff}
body.garage-accent-red{--garage-blue:#b64343;--garage-blue-hover:#963636;--garage-blue-soft:#fff0f0}
body.garage-accent-slate{--garage-blue:#4f6275;--garage-blue-hover:#405160;--garage-blue-soft:#eef2f5}
body[class*="garage-accent-"] button.primary,
body[class*="garage-accent-"] .primary{background:var(--garage-blue)}
body[class*="garage-accent-"] button.primary:hover,
body[class*="garage-accent-"] .primary:hover{background:var(--garage-blue-hover)}
body[class*="garage-accent-"] input:focus,
body[class*="garage-accent-"] select:focus,
body[class*="garage-accent-"] textarea:focus{border-color:var(--garage-blue);box-shadow:var(--garage-focus-ring)}
.settings-logo-preview{grid-column:1/-1;display:flex;align-items:center;min-height:88px;padding:12px;border:1px solid var(--garage-border);border-radius:var(--garage-radius-md);background:var(--garage-surface-subtle)}
.settings-logo-preview img{display:block;max-width:220px;max-height:80px;object-fit:contain}
/* END GARAGE_V1_OWNER_SETTINGS_ACCENTS */

/* GARAGE_NIMA_INVOICE_DEMO_PARITY_V1 */
.owner-invoice-head{margin-bottom:.65rem}
.owner-invoice-head h1{margin-bottom:0}
.owner-invoice-card{padding:0;overflow:hidden}
.owner-invoice-lines{display:grid}
.owner-invoice-line{padding:.8rem 1rem;border-bottom:1px solid var(--garage-border,#e1e7f0);background:#fff}
.owner-invoice-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.owner-invoice-line-head strong:first-child{min-width:0;font-size:1rem;line-height:1.35}
.owner-invoice-line-total{flex:0 0 auto;font-size:1.05rem;white-space:nowrap}
.owner-invoice-line-edit{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.45rem}
.owner-invoice-price-form{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;margin:0}
.owner-invoice-price-label{display:flex;align-items:center;gap:.25rem;margin:0;font-weight:800}
.owner-invoice-price-label input{width:86px;min-height:38px;padding:.42rem .5rem;text-align:right}
.owner-invoice-update{min-height:38px;padding:.42rem .7rem}
.owner-invoice-totals{padding:.7rem 1rem .85rem;background:var(--garage-surface-subtle,#f7f9fc)}
.owner-invoice-totals>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.22rem 0}
.owner-invoice-grand-total{margin-top:.25rem;padding-top:.55rem!important;border-top:2px solid var(--garage-border,#d9e1ec);font-size:1.12rem}
.owner-invoice-grand-total strong{font-size:1.35rem}
.owner-invoice-vat{padding:.75rem 1rem}
.owner-invoice-vat summary{cursor:pointer;font-weight:800}
.owner-invoice-vat-form{margin-top:.8rem}
.owner-invoice-actions{display:grid;gap:.65rem;padding:1rem}
.owner-invoice-action-form{margin:0}
.owner-invoice-action-form .primary{width:100%;min-height:48px}
.owner-invoice-approved{padding:.65rem .8rem;border-radius:10px;background:#ecf8f1;font-weight:800}
.owner-invoice-issue{display:grid;gap:.45rem}
.owner-invoice-issue-help{margin:0}
@media(max-width:800px){
  .owner-invoice-card,.owner-invoice-vat,.owner-invoice-actions{border-radius:16px}
  .owner-invoice-line{padding:.7rem .85rem}
  .owner-invoice-line-edit{margin-top:.35rem}
  .owner-invoice-price-label input{width:78px}
  .owner-invoice-totals{padding:.6rem .85rem .75rem}
}
@media(max-width:380px){
  .owner-invoice-line{padding:.62rem .72rem}
  .owner-invoice-line-head{gap:.5rem}
  .owner-invoice-line-edit{gap:.45rem}
  .owner-invoice-price-label input{width:72px}
  .owner-invoice-update{padding-inline:.55rem}
}
/* END GARAGE_NIMA_INVOICE_DEMO_PARITY_V1 */


/* ==========================================================
   GARAGE_OWNER_ISSUED_INVOICE_COMPACT_R2
   ========================================================== */

body:has(a[href*="/print"]) .page-head {
  margin-bottom: 12px;
  gap: 10px;
}

body:has(a[href*="/print"]) .page-head h1 {
  margin: 2px 0 4px;
}

body:has(a[href*="/print"]) .page-head .muted {
  margin: 0;
}

body:has(a[href*="/print"]) .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

body:has(a[href*="/print"]) .detail-grid > .panel {
  min-height: 0;
  padding: 14px;
}

body:has(a[href*="/print"]) .detail-grid > .panel h2 {
  margin: 0 0 6px;
  font-size: 1rem;
}

body:has(a[href*="/print"]) .detail-grid > .panel p {
  margin: 3px 0 0;
}

body:has(a[href*="/print"]) .detail-grid > .panel:nth-child(3) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  column-gap: 14px;
}

body:has(a[href*="/print"]) .detail-grid > .panel:nth-child(3) h2 {
  margin: 0;
}

body:has(a[href*="/print"]) .money-large {
  font-size: 1.7rem;
}

body:has(a[href*="/print"]) .table-wrap {
  margin-top: 10px;
}

body:has(a[href*="/print"]) .table-wrap table th,
body:has(a[href*="/print"]) .table-wrap table td {
  padding-top: 10px;
  padding-bottom: 10px;
}

body:has(a[href*="/print"]) form[action$="/payments"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

body:has(a[href*="/print"]) form[action$="/payments"] label {
  margin: 0;
  min-width: 0;
}

body:has(a[href*="/print"]) form[action$="/payments"] input,
body:has(a[href*="/print"]) form[action$="/payments"] select {
  min-height: 46px;
  padding: 8px 10px;
  margin-top: 5px;
}

body:has(a[href*="/print"]) form[action$="/payments"] > div {
  grid-column: 1 / -1;
}

body:has(a[href*="/print"]) form[action$="/payments"] button {
  min-height: 48px;
  width: 100%;
}

@media (max-width: 520px) {
  body:has(a[href*="/print"]) form[action$="/payments"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  body:has(a[href*="/print"]) form[action$="/payments"] label {
    font-size: .82rem;
  }

  body:has(a[href*="/print"]) form[action$="/payments"] input,
  body:has(a[href*="/print"]) form[action$="/payments"] select {
    padding-inline: 7px;
    font-size: 1rem;
  }

  body:has(a[href*="/print"]) .table-wrap table th,
  body:has(a[href*="/print"]) .table-wrap table td {
    padding: 8px 7px;
  }
}

/* END GARAGE_OWNER_ISSUED_INVOICE_COMPACT_R2 */


/* ==========================================================
   GARAGE_OWNER_ISSUED_INVOICE_MOBILE_R3
   Demo-parity compact issued invoice + payment history
   ========================================================== */

@media (max-width: 700px) {

  /* Issued invoice line items */
  body:has(a[href*="/print"]) .detail-grid + .table-wrap {
    padding: 0;
    overflow: hidden;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap table {
    display: block;
    width: 100%;
    margin: 0;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap thead {
    display: none;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody,
  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot {
    display: block;
    width: 100%;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody tr {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    gap: .45rem .75rem;
    align-items: center;
    padding: .72rem .85rem;
    border-bottom: 1px solid #dbe3ee;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(1) {
    grid-column: 1 / -1;
    font-weight: 800;
    font-size: 1rem;
    line-height: 1.35;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(2) {
    text-align: left;
    color: #667085;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(2)::before {
    content: "Qty ";
    font-size: .78rem;
    font-weight: 700;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(3) {
    text-align: right;
    white-space: nowrap;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(3)::before {
    content: "Each ";
    color: #667085;
    font-size: .75rem;
    font-weight: 700;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(4) {
    text-align: right;
    white-space: nowrap;
    font-weight: 900;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot tr {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: .75rem;
    padding: .48rem .85rem;
    border-bottom: 1px solid #dbe3ee;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th {
    padding: 0 !important;
    border: 0 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th:first-child {
    text-align: left;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th:last-child {
    text-align: right;
    white-space: nowrap;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot tr:last-child {
    padding-top: .65rem;
    padding-bottom: .65rem;
    border-top: 2px solid #d5deea;
    font-size: 1.08rem;
    font-weight: 900;
  }


  /* Payment / refund history: compact mobile cards */
  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) {
    padding: 0;
    overflow: hidden;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) .panel-head {
    padding: .8rem .85rem .35rem;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) table {
    display: block;
    width: 100%;
    margin: 0;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) thead {
    display: none;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody {
    display: block;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody tr {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
    gap: .25rem .65rem;
    align-items: center;
    padding: .65rem .85rem;
    border-bottom: 1px solid #dbe3ee;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(1) {
    grid-column: 1 / -1;
    color: #667085;
    font-size: .76rem;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(2) {
    font-weight: 800;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(3) {
    font-weight: 700;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(4) {
    text-align: right;
    white-space: nowrap;
    font-weight: 900;
  }
}

/* END GARAGE_OWNER_ISSUED_INVOICE_MOBILE_R3 */

/* GARAGE OWNER V1 - issued invoice rediscovery */
.owner-invoice-list {
  display: grid;
  gap: 14px;
}

.owner-invoice-list-card {
  display: block;
  padding: 18px 20px;
  border: 1px solid #dbe3ef;
  border-radius: 22px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.owner-invoice-list-head,
.owner-invoice-list-meta,
.owner-invoice-list-money {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.owner-invoice-list-head strong {
  font-size: 1.35rem;
}

.owner-invoice-list-meta,
.owner-invoice-list-money {
  margin-top: 12px;
}

.owner-invoice-open {
  margin-top: 14px;
  font-weight: 800;
  color: var(--accent, #6f52cc);
}

.job-invoice-link-row {
  list-style: none;
}

.job-invoice-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid #dbe3ef;
  border-radius: 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.job-invoice-link span {
  display: grid;
  gap: 4px;
}

.job-invoice-link small {
  opacity: .72;
}

@media (max-width: 760px) {
  .owner-invoice-list-card {
    padding: 16px;
  }

  .owner-invoice-list-meta,
  .owner-invoice-list-money {
    font-size: .95rem;
  }

  .job-invoice-link {
    padding: 14px 16px;
  }
}

/* GARAGE_OWNER_V1_MOBILE_INVOICE_FINAL_R3
   Owner V1:
   - compact issued invoice
   - show unit price + line total on mobile
   - show payment/refund amount on mobile
   - presentation only
*/

@media (max-width: 700px) {

  /* =========================================================
     ISSUED INVOICE LINE ITEMS
     ========================================================= */

  body:has(a[href*="/print"]) .detail-grid + .table-wrap {
    overflow: visible !important;
    padding: 0 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap table,
  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody,
  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot {
    display: block !important;
    width: 100% !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap thead {
    display: none !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "description total"
      "quantity unit" !important;
    column-gap: .75rem !important;
    row-gap: .3rem !important;
    padding: .72rem .85rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--garage-border, #e1e7f0) !important;
    background: #fff !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(1) {
    grid-area: description !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(2) {
    grid-area: quantity !important;
    color: var(--garage-muted, #69758a) !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(2)::before {
    content: "Qty " !important;
    display: inline !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(3) {
    grid-area: unit !important;
    justify-self: end !important;
    text-align: right !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody td:nth-child(4) {
    grid-area: total !important;
    justify-self: end !important;
    text-align: right !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }

  /* Invoice subtotal / VAT / total */

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot {
    padding: .45rem .85rem .6rem !important;
    background: var(--garage-surface-subtle, #f7f9fc) !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 0 !important;
    padding: .28rem 0 !important;
    border: 0 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th:first-child {
    text-align: left !important;
    font-weight: 700 !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot th:last-child {
    text-align: right !important;
    justify-self: end !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot tr:last-child {
    margin-top: .25rem !important;
    padding-top: .55rem !important;
    border-top: 2px solid var(--garage-border, #d9e1ec) !important;
  }

  body:has(a[href*="/print"]) .detail-grid + .table-wrap tfoot tr:last-child th {
    font-size: 1.08rem !important;
    font-weight: 900 !important;
  }


  /* =========================================================
     PAYMENT / REFUND HISTORY
     ========================================================= */

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) {
    overflow: visible !important;
    padding: 0 !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) .panel-head {
    padding: .8rem .85rem .35rem !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) table,
  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody {
    display: block !important;
    width: 100% !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) thead {
    display: none !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "date amount"
      "type method" !important;
    column-gap: .8rem !important;
    row-gap: .22rem !important;
    padding: .65rem .85rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--garage-border, #e1e7f0) !important;
    background: #fff !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(1) {
    grid-area: date !important;
    color: var(--garage-muted, #69758a) !important;
    font-size: .85rem !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(2) {
    grid-area: type !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(3) {
    grid-area: method !important;
    justify-self: end !important;
    text-align: right !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody td:nth-child(4) {
    grid-area: amount !important;
    justify-self: end !important;
    text-align: right !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  body:has(a[href*="/print"]) .detail-grid + .table-wrap tbody tr,
  body:has(a[href*="/print"]) section.table-wrap:has(.panel-head) tbody tr {
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }
}


/* GARAGE OWNER V1 MOBILE ISSUED INVOICE R3 */
@media (max-width: 700px) {

  /* ---- ISSUED INVOICE ---- */

  body:has(a[href*="/print"]) section.owner-issued-lines {
    padding: 0 !important;
    overflow: hidden !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines table,
  body:has(a[href*="/print"]) section.owner-issued-lines tbody,
  body:has(a[href*="/print"]) section.owner-issued-lines tfoot {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines thead {
    display: none !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
      "description total"
      "quantity unit" !important;
    gap: .35rem .75rem !important;
    width: 100% !important;
    padding: .78rem .9rem !important;
    border-bottom: 1px solid var(--garage-border,#dfe5ee) !important;
    box-sizing: border-box !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-desc {
    grid-area: description !important;
    font-size: 1.03rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-total {
    grid-area: total !important;
    display: block !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 1.03rem !important;
    font-weight: 900 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-qty {
    grid-area: quantity !important;
    color: var(--garage-muted,#68758a) !important;
    font-weight: 700 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-unit {
    grid-area: unit !important;
    display: block !important;
    text-align: right !important;
    color: var(--garage-muted,#68758a) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-qty::before,
  body:has(a[href*="/print"]) section.owner-issued-lines .owner-issued-unit::before {
    content: attr(data-label) " " !important;
    font-weight: 600 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot {
    padding: .55rem .9rem .7rem !important;
    background: var(--garage-surface-subtle,#f7f9fc) !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot tr {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    width: 100% !important;
    padding: .22rem 0 !important;
    box-sizing: border-box !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot th {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot th:first-child {
    text-align: left !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot th:last-child {
    display: block !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot tr:last-child {
    margin-top: .25rem !important;
    padding-top: .5rem !important;
    border-top: 2px solid var(--garage-border,#d9e1ec) !important;
  }

  body:has(a[href*="/print"]) section.owner-issued-lines tfoot tr:last-child th {
    font-size: 1.12rem !important;
    font-weight: 900 !important;
  }


  /* ---- PAYMENT / REFUND HISTORY ---- */

  body:has(a[href*="/print"]) section.owner-payment-history {
    padding: 0 !important;
    overflow: hidden !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history .panel-head {
    padding: .8rem .9rem .45rem !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history table,
  body:has(a[href*="/print"]) section.owner-payment-history tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history thead {
    display: none !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
      "date amount"
      "type method" !important;
    gap: .28rem .75rem !important;
    width: 100% !important;
    padding: .7rem .9rem !important;
    border-top: 1px solid var(--garage-border,#dfe5ee) !important;
    box-sizing: border-box !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody td:nth-child(1) {
    grid-area: date !important;
    color: var(--garage-muted,#68758a) !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody td:nth-child(2) {
    grid-area: type !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody td:nth-child(3) {
    grid-area: method !important;
    display: block !important;
    text-align: right !important;
    font-weight: 800 !important;
  }

  body:has(a[href*="/print"]) section.owner-payment-history tbody td:nth-child(4) {
    grid-area: amount !important;
    display: block !important;
    text-align: right !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
  }
}

@media (max-width: 380px) {
  body:has(a[href*="/print"]) section.owner-issued-lines tbody tr,
  body:has(a[href*="/print"]) section.owner-payment-history tbody tr {
    padding-left: .7rem !important;
    padding-right: .7rem !important;
    column-gap: .45rem !important;
  }
}

/* GARAGE_OWNER_SIMPLE_FLOW_V1 */
.owner-intake-simple{max-width:760px;margin:0 auto;display:grid;gap:14px}
.owner-intake-head{margin-bottom:0}
.owner-intake-draft-card{display:grid;gap:14px;border:2px solid var(--garage-accent,#17466b)}
.owner-intake-draft-head,.owner-live-draft-head,.owner-job-work-main,.owner-job-customer-strip{display:flex;align-items:center;justify-content:space-between;gap:12px}
.owner-intake-draft-head h2,.owner-live-draft-head h2{margin:0}
.owner-intake-confirm-form{display:grid;gap:12px}
.owner-intake-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owner-intake-fields label{display:grid;gap:6px}
.owner-intake-fields .wide{grid-column:1/-1}
.owner-intake-plate{font-size:1.35rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.owner-intake-yes{width:100%;min-height:54px;font-size:1.05rem}
.owner-intake-no-form .secondary{width:100%}
.owner-intake-more{border-top:1px solid var(--garage-border,#d9e1ec);padding-top:10px}
.owner-intake-more summary,.owner-intake-manual summary,.owner-job-advanced>summary,.owner-vehicle-history>summary{cursor:pointer;font-weight:800}
.owner-intake-photo-panel{display:grid;gap:14px}
.owner-intake-photo-form{display:grid;gap:14px}
.owner-intake-photo-form label{display:grid;gap:6px}
.owner-intake-work-prompt textarea{min-height:86px;font-size:1rem}
.owner-intake-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owner-intake-photo-box{border:1px solid var(--garage-border,#d9e1ec);border-radius:14px;padding:12px;background:var(--garage-surface-subtle,#f7f9fc)}
.owner-intake-photo-box input[type=file]{width:100%}
.owner-intake-photo-box .ai-intake-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:10px;margin-top:8px}
.owner-intake-prepare{min-height:54px}
.owner-intake-manual{padding:14px 18px}
.owner-intake-manual-form{margin-top:14px}

.owner-job-simple{display:grid;gap:14px;margin:14px 0 18px}
.owner-job-customer-strip{padding:12px 14px}
.owner-job-customer-strip>div{display:grid;gap:2px}
.owner-job-customer-strip small:empty{display:none}
.owner-job-work-simple{display:grid;gap:12px}
.owner-job-quick-add{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--garage-border,#d9e1ec)}
.owner-job-quick-add label{display:grid;gap:5px;margin:0}
.owner-job-quick-add .wide{min-width:0}
.owner-job-quick-add input{width:100%}
.owner-job-quick-add button{min-height:46px}
.owner-job-work-list{display:grid;gap:10px}
.owner-job-work-card{display:grid;gap:10px;padding:12px;border:1px solid var(--garage-border,#d9e1ec);border-radius:14px;background:#fff}
.owner-job-work-card.is-complete{background:var(--garage-surface-subtle,#f7f9fc)}
.owner-job-work-main strong{font-size:1.02rem;min-width:0}
.owner-job-work-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.owner-job-work-actions form{margin:0}
.owner-job-price-form{display:flex;align-items:center;gap:6px;flex:1 1 170px}
.owner-job-price-form label{display:flex;align-items:center;gap:4px;margin:0;flex:1}
.owner-job-price-form input{width:100%;min-width:80px}
.owner-live-draft{display:grid;gap:10px}
.owner-live-draft-head strong{font-size:1.45rem}
.owner-live-draft-lines{display:grid;gap:2px;border-top:1px solid var(--garage-border,#d9e1ec);border-bottom:1px solid var(--garage-border,#d9e1ec);padding:6px 0}
.owner-live-draft-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}
.owner-live-draft-line span{min-width:0}
.owner-live-draft-line strong{white-space:nowrap}
.owner-live-draft-create{display:grid;gap:6px}
.owner-live-draft-create .primary,.owner-live-draft-review{width:100%;min-height:50px;text-align:center}
.owner-issued-links{display:flex;flex-wrap:wrap;gap:8px}
.owner-issued-links a{display:inline-flex;padding:7px 10px;border:1px solid var(--garage-border,#d9e1ec);border-radius:10px}
.owner-vehicle-history{padding:14px 16px}
.owner-vehicle-history-list{display:grid;gap:8px;margin-top:10px}
.owner-vehicle-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--garage-border,#d9e1ec);border-radius:12px;text-decoration:none}
.owner-vehicle-history-row>span:first-child{display:grid;gap:2px;min-width:0}
.owner-vehicle-history-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
.owner-job-advanced{margin:0 0 18px;padding:0;border:1px solid var(--garage-border,#d9e1ec);border-radius:14px;background:var(--garage-surface-subtle,#f7f9fc)}
.owner-job-advanced>summary{padding:14px 16px}
.owner-job-advanced-content{padding:0 12px 12px}

@media(max-width:680px){
  .owner-intake-fields,.owner-intake-photo-grid{grid-template-columns:1fr}
  .owner-intake-fields .wide{grid-column:auto}
  .owner-job-quick-add{grid-template-columns:1fr}
  .owner-job-customer-strip{align-items:flex-start;flex-direction:column}
  .owner-job-customer-strip .secondary{width:100%;text-align:center}
  .owner-job-work-actions{display:grid;grid-template-columns:1fr 1fr}
  .owner-job-price-form{grid-column:1/-1}
  .owner-job-work-actions form:not(.owner-job-price-form) button{width:100%}
  .owner-live-draft-line{align-items:flex-start}
}
/* END GARAGE_OWNER_SIMPLE_FLOW_V1 */


/* ================================================================
   GARAGE NIMA — OWNER-APP UI REFRESH v0.2.0 (Pilot only)
   CSS-only re-skin of the authenticated Garage application and
   existing private login. No routing, session, API or data changes.
   ================================================================ */
:root{
  --gn2-navy:#081b32;
  --gn2-navy-2:#102e4d;
  --gn2-cyan:#00cfe8;
  --gn2-blue:#1479ed;
  --gn2-teal:#00ad97;
  --gn2-orange:#ef921f;
  --gn2-violet:#813fda;
  --gn2-ink:#102940;
  --gn2-muted:#586d83;
  --gn2-paper:#f3f8fd;
}
body{background:var(--gn2-paper);color:var(--gn2-ink)}
.app-frame{
  --garage-bg:var(--gn2-paper);
  --garage-surface:#fff;
  --garage-surface-soft:#f6faff;
  --garage-sidebar:var(--gn2-navy);
  --garage-blue:#087fea;
  --garage-blue-soft:#e5f4ff;
  --garage-ink:var(--gn2-ink);
  --garage-muted:var(--gn2-muted);
  --garage-border:#deebf5;
  --garage-radius:20px;
  background:var(--gn2-paper);
}
.app-frame .sidebar{
  background:linear-gradient(164deg,#082038,#0e3151 57%,#071729);
}
.app-frame .sidebar-link.active{background:rgba(0,207,232,.18);box-shadow:inset 3px 0 0 #05d6eb}
.app-frame .sidebar-brand-copy strong{letter-spacing:-.025em}
.app-frame .workspace-topbar{background:#fff;border-color:#dfecf6}
.app-frame .app-main{color:var(--gn2-ink)}
.app-frame .page-head h1,.app-frame .today-head h1{color:#0a2745;letter-spacing:-.045em;font-weight:850}
.app-frame .eyebrow{color:#008fb5;font-weight:900;letter-spacing:.12em}
.app-frame .panel,.app-frame .record-card,.app-frame .metric{
  border:1px solid #dce9f4;
  background:#fff;
  box-shadow:0 10px 30px rgba(16,50,82,.06);
  border-radius:20px;
}
.app-frame .panel-head h2,.app-frame h2{color:#143353}
.app-frame input,.app-frame select,.app-frame textarea{
  min-height:46px;border:1px solid #cadae9;border-radius:12px;
  background:#fff;color:#15314d;
}
.app-frame input:focus-visible,.app-frame select:focus-visible,.app-frame textarea:focus-visible{
  outline:3px solid rgba(0,201,225,.23);border-color:#048fbf;
}
.app-frame button.primary,.app-frame .primary,.app-frame .button-small{
  border-radius:12px;
}
.app-frame button.primary,.app-frame .primary{
  background:linear-gradient(125deg,#228cff,#066bdc);
  box-shadow:0 9px 20px rgba(14,117,220,.18);
}
.app-frame .today-kpis{gap:14px}
.app-frame .today-kpi{
  color:#fff;min-height:152px;padding:20px;border:1px solid rgba(255,255,255,.16);
  border-radius:20px;display:flex;align-items:flex-start;justify-content:flex-end;
  flex-direction:column;gap:13px;box-shadow:0 14px 25px rgba(19,62,121,.13);
  isolation:isolate;transition:transform .14s ease;
}
.app-frame .today-kpi:hover{transform:translateY(-2px)}
.app-frame .today-kpi::after{
  width:95px;height:95px;right:-28px;bottom:-29px;
  background:rgba(255,255,255,.12);z-index:-1;
}
.app-frame .today-kpi span{color:#fff;font-size:.84rem;font-weight:750;order:2;line-height:1.3}
.app-frame .today-kpi strong{color:#fff;font-size:clamp(1.8rem,3vw,2.55rem);font-weight:900;letter-spacing:-.045em;order:1;line-height:1}
.app-frame .today-kpi-jobs{
  background:linear-gradient(155deg,#349bff 0%,#146be6 84%);
}
.app-frame .today-kpi-approval{
  background:linear-gradient(150deg,#ffbb36 0%,#eb8515 84%);
}
.app-frame .today-kpi-ready{
  background:linear-gradient(152deg,#00d0ad 0%,#008d87 88%);
}
.app-frame .today-kpi-received{
  background:linear-gradient(150deg,#af60f3 0%,#6531c6 85%);
}
.app-frame .today-work-strip{border-radius:14px;background:#f1f8fd}
.app-frame .today-work-item{border-color:#d9e8f2;min-width:0}
.app-frame .today-work-item strong{color:#0964b2}
.app-frame .today-job-card{
  background:#f6fbff;border:1px solid #dfeef9;border-radius:17px;
  box-shadow:none;padding:16px;
}
.app-frame .today-registration{color:#0b3d74;font-weight:850}
.app-frame .today-job-top .status,.app-frame .status{
  border-radius:999px;
}
.app-frame .today-ai-card{
  background:linear-gradient(125deg,#e9faff,#eff2ff);
  border:1px solid #cde9fb;
}
.app-frame .today-ai-card .today-ai-icon{color:#008bb2}
.app-frame .today-head{align-items:center}
.app-frame .notice{border-radius:13px}
.app-frame .form-grid{gap:16px}
.app-frame .form-grid label{font-weight:750}
.app-frame .settings-logo-preview{border-radius:16px}
/* The tenant identity, owner profile, form targets and server accent control
   remain original and editable; no fake reset operation is introduced. */

/* Private pilot login: retain the original /login POST and cookie handling */
body:has(.login-card){
  min-height:100vh;min-height:100dvh;
  background:radial-gradient(ellipse at 85% 15%,#17446a 0,transparent 45%),
    radial-gradient(ellipse at 0 85%,#0f3460 0,transparent 50%),#06182c;
}
body:has(.login-card) .public-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}
body:has(.login-card) .login-card{
  width:min(440px,100%);margin:auto;padding:30px;
  background:#fff;border:1px solid rgba(190,233,255,.7);
  border-radius:28px;box-shadow:0 25px 70px rgba(0,7,18,.35);
}
body:has(.login-card) .brand-mark{
  background:linear-gradient(145deg,#19e1e9,#1684ee);
  border-radius:17px;width:60px;height:60px;font-size:1.65rem;
  box-shadow:0 8px 20px rgba(0,144,226,.22)
}
body:has(.login-card) .login-card h1{color:#0b2b4e;letter-spacing:-.045em}
body:has(.login-card) .login-card .eyebrow{color:#0099b8}
body:has(.login-card) .login-card input{min-height:49px;border-radius:13px;border:1px solid #d2e1ed;color:#19354f}
body:has(.login-card) .login-card button.primary{
  min-height:52px;border-radius:14px;
  background:linear-gradient(120deg,#258fff,#096bdd);
  box-shadow:0 9px 19px rgba(9,107,221,.2);
}

@media(max-width:800px){
  html{scroll-padding-top:85px}
  .app-frame,.app-frame .app-workspace{background:var(--gn2-paper);min-width:0}
  .app-frame .mobile-appbar{
    position:sticky;top:0;z-index:850;min-height:76px;
    display:grid;grid-template-columns:44px minmax(0,1fr) 40px 34px;
    gap:5px;padding:calc(9px + env(safe-area-inset-top,0px)) 11px 10px;
    background:linear-gradient(145deg,#0e3554,#07182e);
    border:0;border-bottom:1px solid rgba(107,216,245,.14);
    box-shadow:0 10px 20px rgba(0,21,43,.14);
  }
  .app-frame .mobile-appbar-brand{align-items:center;justify-items:start;gap:3px}
  .app-frame .mobile-appbar-brand strong{
    color:#fff;font-size:clamp(1rem,4.5vw,1.25rem);
    font-weight:900;letter-spacing:-.025em;line-height:1.12;
    max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .app-frame .mobile-appbar-brand small{color:#b5d6eb;font-size:.66rem;font-weight:700;max-width:100%}
  .app-frame .mobile-menu-button{display:grid;background:rgba(0,216,236,.14);border:1px solid rgba(6,229,248,.2);border-radius:13px}
  .app-frame .mobile-menu-button span{background:#4ce8f0}
  .app-frame .mobile-appbar-language,.app-frame .mobile-appbar-avatar{
    background:rgba(99,181,233,.14);border:1px solid rgba(125,199,246,.2);
    color:#d9f8ff;border-radius:12px;min-height:36px;min-width:34px;
  }
  .app-frame .mobile-appbar-avatar{border-radius:50%;display:grid;place-items:center}
  .app-frame .app-main{
    padding:24px 14px calc(104px + env(safe-area-inset-bottom,0px));
    max-width:100%;font-size:15px;
  }
  .app-frame .today-head{align-items:flex-start;gap:13px;margin-bottom:19px}
  .app-frame .today-head h1{font-size:1.85rem;line-height:1.1;margin-bottom:8px}
  .app-frame .today-subtitle{font-size:.78rem;line-height:1.6}
  .app-frame .today-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .app-frame .today-kpi{min-height:159px;padding:17px 16px;gap:12px;border-radius:20px}
  .app-frame .today-kpi span{font-size:.82rem}
  .app-frame .today-kpi strong{font-size:clamp(1.6rem,7.8vw,2.15rem);overflow-wrap:anywhere}
  .app-frame .panel{padding:17px;border-radius:19px;margin-bottom:16px}
  .app-frame .today-work-strip{gap:0}
  .app-frame .today-work-item{min-height:79px}
  .app-frame .today-job-card{border-radius:16px}
  .app-frame .today-job-footer .button-small{min-height:42px;display:inline-flex;align-items:center}
  .app-frame .mobile-primary-nav{
    z-index:950;min-height:75px;
    padding:7px 5px max(8px,env(safe-area-inset-bottom,0px));
    background:linear-gradient(110deg,#061a2d,#092944);
    border-top:1px solid rgba(41,193,237,.24);
    box-shadow:0 -10px 32px rgba(0,16,33,.18);
  }
  .app-frame .mobile-primary-link{
    min-height:55px;color:#a6c0d5;
    border-radius:13px;grid-template-rows:27px auto;gap:4px;
  }
  .app-frame .mobile-primary-link.active{
    background:rgba(0,209,230,.12);color:#00e1ee;
  }
  .app-frame .mobile-nav-icon svg{width:23px;height:23px}
  .app-frame .mobile-nav-label{font-size:.59rem;letter-spacing:0}
  .app-frame .mobile-more-menu{
    background:#fff;border:1px solid #dceaf4;
    box-shadow:0 15px 45px rgba(8,25,50,.28);
  }
  .app-frame .mobile-more-menu a{color:#173c5b}
  .app-frame .mobile-more-menu a:focus-visible{outline-color:#05c6e9}
  .app-frame .mobile-drawer-panel{background:linear-gradient(155deg,#0b2a46,#071a2e)}
  .app-frame .mobile-drawer-backdrop{background:rgba(4,13,26,.64)}
  .app-frame .page-head{flex-wrap:wrap}
  .app-frame .page-head h1{font-size:1.7rem}
  .app-frame .form-grid{grid-template-columns:minmax(0,1fr)}
  .app-frame .form-grid>*{grid-column:auto}
  .app-frame .form-grid .wide{grid-column:1/-1}
  .app-frame .form-grid input,.app-frame .form-grid select,.app-frame .form-grid textarea{font-size:16px}
  body:has(.login-card) .public-shell{padding:18px 14px calc(25px + env(safe-area-inset-bottom,0px))}
  body:has(.login-card) .login-card{padding:25px 22px;border-radius:24px;margin:auto;max-width:430px}
}
@media(max-width:380px){
  .app-frame .app-main{padding-inline:10px}
  .app-frame .today-kpis{gap:9px}
  .app-frame .today-kpi{min-height:146px;padding:13px}
  .app-frame .today-kpi span{font-size:.73rem}
  .app-frame .today-kpi strong{font-size:1.65rem}
  .app-frame .mobile-appbar{gap:3px;padding-inline:8px}
  .app-frame .mobile-appbar-brand strong{font-size:1rem}
  .app-frame .mobile-nav-label{font-size:.53rem}
}
@media(prefers-reduced-motion:reduce){.app-frame .today-kpi{transition:none}}
/* END GARAGE_NIMA_OWNER_UI_REFRESH_V020 */

/* =============================================================
 GARAGE NIMA v0.3.0 — AUTHENTICATED PILOT REDESIGN
 Cache-busted by template links. Real customer/job/finance data.
 All presentation-only overrides are explicitly pilot-scoped.
 ============================================================= */
.gn-v03-pilot{background:#081a2e}
.app-frame.gn-nima-v03 .sidebar{background:linear-gradient(160deg,#07172c,#0c2a46)}
.app-frame.gn-nima-v03 .sidebar-brand-copy strong{color:#edfbff}
.app-frame.gn-nima-v03 .mobile-appbar{background:linear-gradient(145deg,#102d4c,#07172b);border-bottom:1px solid #1b4963}
.app-frame.gn-nima-v03 .mobile-appbar-brand strong{letter-spacing:-.055em;font-weight:900;color:#f2faff}
.app-frame.gn-nima-v03 .mobile-appbar-brand em{font-style:normal;color:#03d9eb}
.app-frame.gn-nima-v03 .mobile-appbar-brand small{color:#9ac1d4;letter-spacing:.012em}
.app-frame.gn-nima-v03 .mobile-primary-nav{background:#06192b;border-top:1px solid #1b4c67}
.app-frame.gn-nima-v03 .mobile-primary-link.active{background:#07324c;color:#0ee5ee}
.app-frame.gn-nima-v03 .mobile-appbar-language{color:#d0f7fc}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03{background:#071829;color:#eaf6ff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .app-workspace{background:#071829}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .app-main{background:#071829;color:#eaf6ff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-head h1{color:#f1fbff;font-weight:870;line-height:1.13;letter-spacing:-.055em}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-head .eyebrow{color:#05dbea}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-subtitle{color:#a1c3db}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-head-action{background:#0e3557;color:#b6eeff;border:1px solid #1e597b}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .panel{background:#102d45;border:1px solid #214a66;box-shadow:0 14px 40px rgba(0,5,17,.18)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .panel h2{color:#eef9ff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .panel-head .button-small{background:#0a405a;color:#52ecfc;border:1px solid #1c7285}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-work-strip{background:#0b253b;border-radius:13px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-work-item{background:transparent;border-color:#21445d;color:#bed9ea}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-work-item strong{color:#42e2ff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-card{background:#0b2941;color:#e7f4fc;border:1px solid #1e4762;border-radius:17px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-top{display:flex;gap:9px;align-items:center;justify-content:space-between}
.gn-v03-job-identity{display:flex;min-width:0;align-items:center;gap:11px}
.gn-v03-job-identity>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.gn-v03-vehicle-icon{width:48px;height:48px;min-width:48px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#56b8ed,#124c8d);box-shadow:inset 0 1px 0 #85cced66;color:#fff}
.gn-v03-vehicle-icon svg{width:27px;height:27px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-registration{color:#f0fbff;font-size:15px;letter-spacing:.02em}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-card p,.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-top div span,.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-footer{color:#a9c5d7}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-footer .button-small{background:#086dae;color:#eafcff;border-radius:11px;border:0}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .attention-row{color:#d9efff;border-color:#24455e}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .attention-row small{color:#93bed6}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .attention-row b{color:#5cddff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .money-list>a{color:#d6e9f7;border-color:#24455e}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .money-list strong{color:#f2fdff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .dashboard-empty{color:#accada}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-ai-card{background:linear-gradient(125deg,#07415e,#183e70);border-color:#286783;color:#edfbff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-ai-card .today-ai-icon{color:#10f0ff}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-ai-card p:not(.eyebrow){color:#d3e9f5}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-ai-card .button-small{color:#00374a;background:#66edfc;border:0}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .audit-list{color:#d4e8f9}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .audit-list span{color:#a4c4d9}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-stats{gap:11px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;min-height:169px;border:1px solid #ffffff32;border-radius:19px;padding:13px 14px 16px;color:#fff;overflow:hidden;box-shadow:0 14px 24px #0310243b}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi::after{display:none}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-kpi-jobs{background:linear-gradient(148deg,#40a5ff,#0961d1)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-kpi-ready{background:linear-gradient(145deg,#13d4ae,#00877e)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-kpi-parts{background:linear-gradient(140deg,#ffb337,#d87311)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-kpi-received{background:linear-gradient(146deg,#b257f4,#6228bf)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-icon{order:0;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffffff36;color:#fff;margin-bottom:auto}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-icon svg{width:24px;height:24px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-arrow{position:absolute;inset-block-start:17px;inset-inline-end:15px;color:#fff;font-size:25px;line-height:1;opacity:.9}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-value{display:block;color:#fff;font-size:clamp(28px,6vw,38px);font-weight:900;line-height:1.03;letter-spacing:-.045em;margin:13px 0 6px;overflow-wrap:anywhere}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-label{color:#fff;font-size:12px;font-weight:750;line-height:1.23;order:2}
/* Private login presentation, existing POST /login / inputs retained. */
body:has(.gn-v03-login){background:radial-gradient(circle at 85% 18%,#205e80 0,transparent 42%),#061629;color:#fff}
body:has(.gn-v03-login) .public-shell{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:23px 15px}
body:has(.gn-v03-login) .login-card{background:linear-gradient(160deg,#0f3252,#09213a);border:1px solid #346787;border-radius:25px;color:#f4faff;box-shadow:0 25px 70px #0010206b;padding:27px 24px;max-width:440px}
body:has(.gn-v03-login) .gn-v03-login-brand{text-align:center;color:#e6fbff;font-size:31px;font-weight:950;letter-spacing:-.05em;margin:7px 0 0;line-height:1.3}
body:has(.gn-v03-login) .gn-v03-login-brand span{color:#05e0ec}
body:has(.gn-v03-login) .gn-v03-login-emblem{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;margin:0 auto 12px;background:linear-gradient(142deg,#278eff,#02d1d6);box-shadow:0 8px 23px #006fcb61;color:white}
body:has(.gn-v03-login) .gn-v03-login-emblem svg{width:39px;height:39px}
body:has(.gn-v03-login) .eyebrow{text-align:center;color:#57e7f2;font-size:11px;letter-spacing:.115em;margin:7px 0 18px}
body:has(.gn-v03-login) .login-card h1{text-align:center;color:#fff;font-size:26px;margin:12px 0}
body:has(.gn-v03-login) .login-card .muted{text-align:center;color:#b5d3e7;margin:0 0 20px}
body:has(.gn-v03-login) .login-card label{color:#e5f4ff}
body:has(.gn-v03-login) .login-card input{background:#fff;border:1px solid #ccdde9;color:#162d45;min-height:49px;border-radius:12px;font-size:16px}
body:has(.gn-v03-login) .login-card button.primary{min-height:51px;background:linear-gradient(125deg,#2e9dff,#0968df);border:0;color:#fff;border-radius:13px;font-size:16px}
body:has(.gn-v03-login) .login-card .bottom-link{color:#5adcec}
@media(max-width:800px){
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .app-main{padding-top:19px;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
.app-frame.gn-nima-v03 .mobile-appbar{min-height:80px}
.app-frame.gn-nima-v03 .mobile-primary-nav{min-height:73px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-head h1{font-size:clamp(22px,6vw,28px);margin:5px 0 7px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi{min-height:157px;padding:11px 12px 14px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-value{font-size:clamp(25px,7.3vw,34px)}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-label{font-size:11.3px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .today-job-top .status{font-size:10px}
}
@media(max-width:375px){
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-stats{gap:8px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi{padding:11px 9px 12px;min-height:150px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-icon{width:36px;height:36px}
.gn-v03-pilot.gn-v03-dashboard .app-frame.gn-nima-v03 .gn-v03-kpi-value{font-size:24px}
}
/* END GARAGE_NIMA_PILOT_UI_V030 */
