:root {
  --lm-primary: #006aff;
  --lm-primary-hover: #0052cc;
  --lm-heading: #001751;
  --lm-page-bg: #f7f8fa;
  --lm-surface: #fff;
  --lm-text: #2d3748;
  --lm-muted: #667085;
  --lm-border: #d9dee7;
  --lm-radius: 12px;
  --lm-shadow: 0 4px 16px rgba(0, 23, 81, .08);
  --lm-shadow-hover: 0 12px 30px rgba(0, 23, 81, .14);
}

.lm-dash,
.lm-card,
.lm-listing-form,
.lm-analytics,
.lm-recommendations,
.lm-saved-searches,
.lm-alert-preferences,
.lm-gallery,
.lm-listing-grid {
  box-sizing: border-box;
  color: var(--lm-text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lm-dash {
  background: var(--lm-page-bg);
}

.lm-card,
.lm-listing-form,
.lm-analytics,
.lm-saved-searches,
.lm-alert-preferences {
  background: var(--lm-surface) !important;
  border: 1px solid var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
  box-shadow: var(--lm-shadow) !important;
}

.lm-card h1,.lm-card h2,.lm-card h3,
.lm-dash h1,.lm-dash h2,.lm-dash h3,
.lm-listing-form h1,.lm-listing-form h2,.lm-listing-form h3,
.lm-analytics h2,.lm-saved-searches h2 {
  color: var(--lm-heading) !important;
  letter-spacing: -.02em;
}

.lm-btn-primary,
.lm-card button[type="submit"],
.lm-listing-form button[type="submit"],
.lm-alert-preferences button[type="submit"] {
  background: var(--lm-primary) !important;
  border-color: var(--lm-primary) !important;
  border-radius: calc(var(--lm-radius) * .66) !important;
  color: #fff !important;
  font-weight: 700;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.lm-btn-primary:hover,
.lm-card button[type="submit"]:hover,
.lm-listing-form button[type="submit"]:hover,
.lm-alert-preferences button[type="submit"]:hover {
  background: var(--lm-primary-hover) !important;
  border-color: var(--lm-primary-hover) !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--lm-primary) 25%, transparent);
  transform: translateY(-1px);
}

.lm-btn-secondary,
.lm-card button:not([type="submit"]),
.lm-listing-form button:not([type="submit"]) {
  border-color: var(--lm-border) !important;
  border-radius: calc(var(--lm-radius) * .66) !important;
}

.lm-btn-secondary:hover,
.lm-card button:not([type="submit"]):hover {
  border-color: var(--lm-primary) !important;
  color: var(--lm-primary) !important;
}

.lm-card a:not(.lm-btn-primary):not(.lm-btn-secondary),
.lm-dash a:not(.lm-btn-primary):not(.lm-btn-secondary),
.lm-listing-card a {
  color: var(--lm-primary);
}

.lm-field input,.lm-field select,.lm-field textarea,
.lm-card input,.lm-card select,.lm-card textarea,
.lm-listing-form input,.lm-listing-form select,.lm-listing-form textarea,
.lm-alert-preferences input,.lm-alert-preferences select {
  background: var(--lm-surface) !important;
  border: 1px solid var(--lm-border) !important;
  border-radius: calc(var(--lm-radius) * .66) !important;
  box-shadow: 0 1px 2px rgba(0, 23, 81, .04);
}

.lm-field input:focus,.lm-field select:focus,.lm-field textarea:focus,
.lm-card input:focus,.lm-card select:focus,.lm-card textarea:focus,
.lm-listing-form input:focus,.lm-listing-form select:focus,.lm-listing-form textarea:focus {
  border-color: var(--lm-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lm-primary) 16%, transparent) !important;
  outline: 0;
}

.lm-form-section {
  border-color: var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
}

.lm-form-section > legend { color: var(--lm-heading) !important; }

.lm-table,.lm-analytics table,.lm-saved-searches table {
  background: var(--lm-surface);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--lm-radius);
  overflow: hidden;
}

.lm-table th,.lm-analytics th,.lm-saved-searches th {
  background: color-mix(in srgb, var(--lm-page-bg) 88%, var(--lm-primary)) !important;
  color: var(--lm-heading) !important;
  font-weight: 700 !important;
}

.lm-table td,.lm-analytics td,.lm-saved-searches td { border-color: var(--lm-border) !important; }
.lm-table tbody tr:hover,.lm-analytics tbody tr:hover,.lm-saved-searches tbody tr:hover { background: var(--lm-page-bg); }

.lm-listing-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
}

.lm-listing-card {
  background: var(--lm-surface);
  border: 1px solid var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
  box-shadow: var(--lm-shadow);
  overflow: hidden;
  padding: 0 !important;
  transition: box-shadow .2s ease, transform .2s ease;
}

.lm-listing-card:hover { box-shadow: var(--lm-shadow-hover); transform: translateY(-3px); }
.lm-listing-card img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.lm-listing-card h3,.lm-listing-card p,.lm-listing-card button { margin-left: 16px; margin-right: 16px; }
.lm-listing-card h3 { color: var(--lm-heading); font-size: 18px; line-height: 1.35; margin-bottom: 8px; }
.lm-listing-card p { color: var(--lm-muted); }
.lm-listing-card button { margin-bottom: 16px; }

.lm-metrics { display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.lm-metric { background:var(--lm-surface);border:1px solid var(--lm-border) !important;border-radius:var(--lm-radius) !important;padding:20px !important; }
.lm-metric strong { color:var(--lm-heading);font-size:28px;line-height:1.1; }
.lm-metric span { color:var(--lm-muted);font-size:13px;margin-top:6px; }

.lm-gallery { gap:12px !important; }
.lm-gallery figure { background:var(--lm-surface);border-radius:var(--lm-radius);box-shadow:var(--lm-shadow);margin:0;overflow:hidden; }
.lm-gallery img { transition:transform .3s ease; }
.lm-gallery figure:hover img { transform:scale(1.025); }
.lm-gallery figcaption { color:var(--lm-muted);font-size:13px;padding:10px 12px; }

@media (max-width: 640px) {
  .lm-listing-grid { grid-template-columns: 1fr; }
  .lm-card,.lm-listing-form { border-radius: calc(var(--lm-radius) * .75) !important; }
}
