/* Shared palette, loaded after each page's existing styles. */
:root {
  --pastel-page: #f2f8f0;
  --pastel-surface: #fbfdf9;
  --pastel-soft: #e5f1e1;
  --pastel-green: #b8e0bd;
  --pastel-hover: #a2d3a8;
  --pastel-line: #cbdcc8;
  --pastel-ink: #193e2c;
  --pastel-muted: #506a56;
  --pastel-link: #27643c;
  --cms-primary: #b8e0bd !important;
  --cms-primary-dark: #27643c !important;
  --cms-accent: #193e2c !important;
  --bg: #f2f8f0;
  --ink: #193e2c;
  --text: #193e2c;
  --muted: #506a56;
  --line: #cbdcc8;
  --white: #fbfdf9;
  --green: #27643c;
}
body { background-color: var(--pastel-page) !important; color: var(--pastel-ink); }
::selection { background: var(--pastel-green); color: var(--pastel-ink); }
input, select, textarea { accent-color: var(--pastel-link); }
input:focus-visible, select:focus-visible, textarea:focus-visible,
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--pastel-link); outline-offset: 3px;
}
/* Existing Tailwind pages share these utility classes. */
[class~="bg-gray-50"], [class~="bg-slate-50"], [class~="bg-green-50"] {
  background-color: var(--pastel-page) !important;
}
[class~="bg-white"], [class~="bg-white/95"], [class~="bg-white/90"] {
  background-color: var(--pastel-surface) !important;
}
[class~="bg-green-100"], [class~="bg-gray-100"] {
  background-color: var(--pastel-soft) !important;
}
[class~="text-[#2FB44A]"], [class~="text-[#198f35]"],
[class~="text-green-500"], [class~="text-green-600"], [class~="text-green-700"] {
  color: var(--pastel-link) !important;
}
[class~="bg-[#2FB44A]"], [class~="bg-green-500"], [class~="bg-green-600"],
[class~="bg-green-700"], [class~="bg-[#0B1A2B]"], [class~="bg-[#0b1a2b]"] {
  background-color: var(--pastel-green) !important; color: var(--pastel-ink) !important;
}
a[class~="bg-[#2FB44A]"]:hover, button[class~="bg-[#2FB44A]"]:hover,
[class~="hover:bg-green-700"]:hover {
  background-color: var(--pastel-hover) !important; color: var(--pastel-ink) !important;
}
[class~="bg-[#0B1A2B]"] :is(h1,h2,h3,p,span,li,a),
[class~="bg-[#0b1a2b]"] :is(h1,h2,h3,p,span,li,a) { color: var(--pastel-ink) !important; }
footer { background: var(--pastel-soft) !important; color: var(--pastel-ink) !important; }
footer :is(h2,h3,p,li,a,span,div) { color: var(--pastel-ink) !important; }
/* Homepage, including its photo overlay and previously dark feature sections. */
.glow-home { --ink: #193e2c; --green: #27643c; --muted: #506a56; background: var(--pastel-page); }
.glow-hero { background: var(--pastel-soft); color: var(--pastel-ink); }
.glow-hero::after { background: linear-gradient(100deg,rgba(229,241,225,.95),rgba(229,241,225,.86)); }
.glow-hero .glow-kicker, .glow-hero-lead, .glow-quote label,
.glow-hero-proof, .glow-hero-proof li::before { color: var(--pastel-ink); }
.glow-quote input, .glow-quote select { background: var(--pastel-surface); border-color: var(--pastel-line); }
.glow-action, .glow-promise { background: var(--pastel-green); color: var(--pastel-ink); }
.glow-action:hover { background: var(--pastel-hover); }
.glow-promise p, .glow-dark p { color: var(--pastel-ink); }
.glow-soft, .glow-bottom, .glow-dark { background: var(--pastel-soft); color: var(--pastel-ink); }
.glow-dark .glow-kicker { color: var(--pastel-link) !important; }
.glow-icon, .glow-neighborhoods a { background: var(--pastel-soft); color: var(--pastel-link); }
.glow-service-link, .glow-checklist-panel, .glow-quote-result { background: var(--pastel-surface); border-color: var(--pastel-line); }
.glow-checklist-tabs button[aria-selected="true"] { background: var(--pastel-green); border-color: var(--pastel-hover); color: var(--pastel-ink); }
.glow-quote-error { background: #fff0ed; color: #9e3723; padding: 12px; border-radius: 5px; }
/* Booking and cleaner portals. Leave error and destructive action colors intact. */
.mp-header, .mp-card { background: var(--pastel-surface); border-color: var(--pastel-line); }
.mp-btn:not(.warn):not(:disabled), .mp-tabs button.on { background: var(--pastel-green); color: var(--pastel-ink); border-color: var(--pastel-hover); }
.mp-btn:not(.warn):not(:disabled):hover { background: var(--pastel-hover); }
.mp-btn.ghost:not(:disabled) { background: var(--pastel-soft); }
.mp-service.sel, .mp-price { background: var(--pastel-soft); border-color: var(--pastel-hover); }
.mp-total, .mp-earn, .mp-pay { color: var(--pastel-link) !important; }
.mp-service, .mp-field :is(input,select,textarea) { background: var(--pastel-surface); border-color: var(--pastel-line); }
/* CMS and dispatch screens. */
.admin-sidebar, .panel, .metric-card, .login-card { background: var(--pastel-surface); }
.admin-sidebar nav a.active, .admin-sidebar nav a:hover { background: var(--pastel-green); color: var(--pastel-ink); }
.button, .site-link, button[type="submit"]:not(.danger-button):not(.mp-btn) { background: var(--pastel-green); color: var(--pastel-ink); }
.button:hover, .site-link:hover { background: var(--pastel-hover); }
.button.secondary { background: var(--pastel-soft); }
.launch-hero { background: var(--pastel-soft); color: var(--pastel-ink); }
/* Directory and listing pages. */
.directory-page {
  --directory-bg: #f2f8f0; --directory-card: #fbfdf9; --directory-ink: #193e2c;
  --directory-muted: #506a56; --directory-soft: #e5f1e1; --directory-line: #cbdcc8;
  --directory-accent: #27643c; --directory-accent-strong: #193e2c;
  background: var(--pastel-page);
}
.directory-hero { background: var(--pastel-soft); color: var(--pastel-ink); }
.directory-hero::before { background: none; }
.directory-hero :is(h1,p,span) { color: var(--pastel-ink) !important; }
.directory-button.primary, .directory-banner-search button { background: var(--pastel-green); color: var(--pastel-ink); }
.directory-button.primary:hover { background: var(--pastel-hover); }
/* The standalone dashboard has its own older accent palette. */
.md2-body { border-top-color: var(--pastel-hover); }
.md2-body .sidebar { background: var(--pastel-soft); color: var(--pastel-ink); }
.md2-body .sidebar :is(a,span,p) { color: var(--pastel-ink); }
.md2-body .nav-list a.active, .md2-body .upgrade { background: var(--pastel-green); color: var(--pastel-ink); box-shadow: 0 5px 15px #193e2c18; }
.md2-body .metric-icon, .md2-body [class*="chart-"] { background: var(--pastel-green); color: var(--pastel-ink); }
