:root {
  --green: #174f36;
  --gold: #c8a94b;
  --bg: #f3f5f3;
  --card: #ffffff;
  --text: #1f2933;
  --muted: #6b7280;
  --line: #dde2df;
  --danger: #a33a3a;
  --success: #24563a;
  --control-line: #c7d2cc;
  --control-radius: 9px;
  --card-radius: 14px;
  --panel-radius: 12px;
  --action-height: 44px;

  --wf-lithium-accent:#c8a94b;
  --wf-lithium-ink:#745d12;
  --wf-lithium-tint:#fffaf0;
  --wf-lithium-border:#e6dcc0;

  --wf-repair-accent:#d98279;
  --wf-repair-ink:#8a4540;
  --wf-repair-tint:#fff7f6;
  --wf-repair-border:#ead5d2;

  --wf-buyer-accent:#4d86b8;
  --wf-buyer-ink:#285f8d;
  --wf-buyer-tint:#f7fbff;
  --wf-buyer-border:#d3e0eb;

  --wf-inventory-accent:#4f8064;
  --wf-inventory-ink:#275e41;
  --wf-inventory-tint:#f6faf7;
  --wf-inventory-border:#d3dfd7;

  --wf-card-radius:var(--card-radius);
  --wf-control-radius:var(--control-radius);
  --wf-line:#dbe2de;
  --wf-shadow:0 1px 2px rgba(23,79,54,.045);

  --shadow: 0 1px 2px rgba(0,0,0,.035);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background: var(--bg);
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }

/* Mobile-first: mirror the compact V1 green header. */
.app-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--green);
  color: #fff;
  border-bottom: 3px solid var(--gold);
  padding-top: env(safe-area-inset-top);
}

.app-header-inner {
  min-height: 52px;
  padding: 6px 10px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
}

.brand-block { min-width: 0; }
.brand-block h1 {
  margin: 0;
  font-size: 16px;
  line-height: 1.08;
  font-weight: 900;
  white-space: nowrap;
  letter-spacing: .005em;
}
.brand-bolt { color: var(--gold); margin-right: 5px; font-size: 19px; line-height: 1; vertical-align: -1px; }

.app-main {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 9px 10px calc(18px + env(safe-area-inset-bottom));
}

.startup-card,
.error-card,
.empty-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px;
  box-shadow: var(--shadow);
}

.error-card { color: #7d2929; }
.error-card p { margin: 6px 0 0; line-height: 1.35; }

.toast {
  position: fixed;
  left: 50%;
  top: calc(12px + env(safe-area-inset-top));
  z-index: 500;
  min-width: 210px;
  max-width: calc(100vw - 24px);
  transform: translate(-50%, -14px);
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 7px 22px rgba(0,0,0,.18);
  opacity: 0;
  pointer-events: none;
  transition: .18s ease;
}
.toast.show { opacity: 1; transform: translate(-50%,0); }
.toast.error { background: var(--danger); }

.hidden { display: none !important; }

@media (min-width: 701px) {
  .app-header-inner,
  .app-main { max-width: 760px; margin-left: auto; margin-right: auto; }
  .app-header-inner { min-height: 58px; padding: 8px 12px; }
  .brand-block h1 { font-size: 17px; }
  .brand-bolt { font-size: 21px; }
  .app-main { padding-top: 14px; }
}

/* New Lead + Global Search — V1 mobile language on the V2 data layer. */
.new-lead-screen,.global-search-screen{display:grid;gap:9px}
.new-lead-toolbar,.global-search-toolbar{display:flex;align-items:center;gap:9px;min-height:38px}.new-lead-toolbar strong,.global-search-toolbar strong{color:var(--green);font-size:14px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.new-lead-toolbar button,.global-search-toolbar button{min-height:34px;padding:7px 9px;border:1px solid #c7d2cc;border-radius:8px;background:#fff;color:var(--green);font-size:12px;font-weight:850}
.new-lead-form{display:grid;gap:9px}.new-lead-section{padding:11px;border:1px solid #d3dcd7;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.new-lead-section-title{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.new-lead-section-title::before{content:"";width:4px;height:17px;border-radius:3px;background:var(--gold);flex:0 0 4px}.new-lead-section-title::after{content:"";height:1px;background:#aeb8b3;flex:1 1 auto;min-width:18px}.form-grid{display:grid;gap:9px}.form-grid.two{grid-template-columns:1fr}.new-lead-form label{display:block;min-width:0}.new-lead-form label>span{display:block;margin:0 0 5px;color:#66716b;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.new-lead-form input,.new-lead-form select,.new-lead-form textarea{width:100%;min-width:0;min-height:44px;padding:10px 11px;border:1px solid #c7d2cc;border-radius:8px;background:#f4f7f5;color:var(--text);font-size:16px;box-shadow:none}.new-lead-form textarea{min-height:86px;resize:vertical}.new-lead-form .form-wide{margin-top:9px}.new-lead-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.new-lead-actions button{min-height:46px;border:1px solid #c7d2cc;border-radius:9px;background:#fff;color:var(--green);font-size:12px;font-weight:900}
.global-search-toolbar{min-height:34px}.global-search-section-title{display:flex;align-items:center;gap:9px;margin:0;color:var(--green);font-size:15px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.global-search-section-title::before{content:"";width:4px;height:20px;border-radius:3px;background:var(--gold);flex:0 0 4px}.global-search-section-title::after{content:"";height:1px;background:#aeb8b3;flex:1 1 auto;min-width:18px}.global-search-panel{padding:12px;border:1px solid #d3dcd7;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.global-search-input-wrap input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #c7d2cc;border-radius:9px;background:#f4f7f5;color:var(--text);font-size:16px;box-shadow:none}.global-search-helper{margin:9px 2px 0;color:#66716b;font-size:13px;font-weight:700;line-height:1.35}.global-search-results-title{margin-top:7px}.global-search-results{display:grid;gap:9px}.global-search-result{width:100%;min-width:0;padding:13px 14px;border:1px solid #d3dcd7;border-radius:14px;background:#fff;color:var(--text);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;text-align:left;box-shadow:var(--shadow)}.global-search-result>div{min-width:0}.global-search-result strong{display:block;font-size:16px;line-height:1.2}.global-search-result span{display:block;margin-top:4px;color:var(--green);font-size:12px;font-weight:850}.global-search-result small{display:block;margin-top:4px;color:#66716b;font-size:13px;font-weight:700}.global-search-result em{flex:0 0 auto;padding:5px 8px;border:1px solid #d2d9d5;border-radius:8px;background:#f4f7f5;color:#52605a;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(min-width:520px){.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Admin landing — simple navigation surface; authentication and actions remain in app.js. */
.admin-screen{display:grid;gap:10px;padding-top:2px}
.admin-toolbar{display:flex;align-items:center;gap:10px;min-height:42px}
.admin-toolbar h2{margin:0;color:var(--text);font-size:22px;font-weight:900;letter-spacing:-.015em}
.admin-back{min-height:40px;padding:7px 4px;border:0;background:transparent;color:var(--green);font-size:13px;font-weight:850}
.admin-back:active{opacity:.65}
.admin-section-label{margin:7px 3px 0;color:#66716b;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.admin-menu-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.admin-menu-row{width:100%;min-height:68px;padding:12px 13px;border:0;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left}
.admin-menu-row:active{background:#f5f7f5}
.admin-menu-copy{min-width:0;display:block}
.admin-menu-copy strong{display:block;color:var(--green);font-size:15px;font-weight:900;line-height:1.2}
.admin-menu-copy small{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;font-weight:650;line-height:1.3}
.admin-menu-chevron{flex:0 0 auto;color:#9aa49f;font-size:28px;font-weight:400;line-height:1}
@media(min-width:701px){.admin-screen{max-width:720px}.admin-toolbar h2{font-size:24px}.admin-menu-row{min-height:72px;padding:13px 15px}.admin-menu-copy strong{font-size:16px}.admin-menu-copy small{font-size:12px}}

/* 2026-10-02 — New Lead mobile hierarchy/theme parity */
@media (max-width:700px){
  .new-lead-screen{gap:11px}
  .new-lead-toolbar{min-height:42px;gap:10px;padding:0 2px}
  .new-lead-toolbar strong{font-size:16px;letter-spacing:.025em}
  .new-lead-form{gap:10px}
  .new-lead-section{padding:14px;border-radius:14px;box-shadow:0 1px 0 rgba(17,78,54,.03)}
  .new-lead-section-title{margin-bottom:13px;font-size:15px;letter-spacing:.03em}
  .new-lead-section-title::before{height:18px}
  .new-lead-form label>span{margin-bottom:6px;font-size:11px;letter-spacing:.035em}
  .new-lead-form input,.new-lead-form select,.new-lead-form textarea{min-height:46px;padding:11px 12px;border-radius:9px;font-size:16px}
  .new-lead-form textarea{min-height:96px}
  .new-lead-actions{gap:8px;margin-top:2px}
  .new-lead-actions button{min-height:48px;font-size:14px}
  #app .new-lead-actions .primary{border:1px solid #b9cbc1!important;background:#eef5f0!important;color:var(--green)!important}
}


/* Omni Search: briefly identify the surface card the user searched for. */
.omni-surface-focus {
  animation: omniSurfaceFocus 1.8s ease-out;
}
@keyframes omniSurfaceFocus {
  0%, 35% { box-shadow: 0 0 0 4px rgba(202, 165, 42, .36), 0 10px 24px rgba(24, 68, 49, .10); }
  100% { box-shadow: inherit; }
}

/* Step 4: standard card main navigation */
.standard-card-primary-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.standard-card-secondary-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.standard-card-primary-actions>a,.standard-card-primary-actions>button,.standard-card-secondary-actions>a,.standard-card-secondary-actions>button{width:100%;min-width:0;box-sizing:border-box}

/* 2026-10-06 — Step 5 card action symmetry.
   Lead card is the button-layout standard for Repair, Lithium, Buyer, and Inventory.
   This is presentation-only: no action wiring or workflow logic changes. */
#app .job-list-card .standard-card-primary-actions,
#app .inventory-main-card .standard-card-primary-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:9px!important;
}
#app .job-list-card .standard-card-secondary-actions,
#app .inventory-main-card .standard-card-secondary-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:7px!important;
}
#app .job-list-card .standard-card-primary-actions>a,
#app .job-list-card .standard-card-primary-actions>button,
#app .job-list-card .standard-card-secondary-actions>a,
#app .job-list-card .standard-card-secondary-actions>button,
#app .inventory-main-card .standard-card-primary-actions>a,
#app .inventory-main-card .standard-card-primary-actions>button,
#app .inventory-main-card .standard-card-secondary-actions>a,
#app .inventory-main-card .standard-card-secondary-actions>button{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  padding:8px 6px!important;
  box-sizing:border-box!important;
  border:1px solid #cbd2ce!important;
  border-radius:9px!important;
  background:#f5f6f5!important;
  color:#4b5550!important;
  -webkit-text-fill-color:#4b5550!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.1!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* 2026-10-06 — Step 6 card action contrast.
   Repair, Lithium, Buyer, and Inventory action buttons use a white fill.
   Layout, borders, sizing, labels, and behavior remain unchanged. */
#app .job-list-card .standard-card-primary-actions>a,
#app .job-list-card .standard-card-primary-actions>button,
#app .job-list-card .standard-card-secondary-actions>a,
#app .job-list-card .standard-card-secondary-actions>button,
#app .inventory-main-card .standard-card-primary-actions>a,
#app .inventory-main-card .standard-card-primary-actions>button,
#app .inventory-main-card .standard-card-secondary-actions>a,
#app .inventory-main-card .standard-card-secondary-actions>button{
  background:#fff!important;
}
