/* === EV Charger Install Pros — Local CSS (no CDN) === */
*,
*::before,
*::after { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  color: #0f172a; /* slate-900 */
  background: #f1f5f9; /* slate-100 */
}
.max-w-6xl { max-width: 72rem; margin-left: auto; margin-right: auto; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: .75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.mt-20 { margin-top: 5rem; }
.mb-4 { margin-bottom: 1rem; }
.text-center { text-align: center; }
.text-xl { font-size: 1.25rem; font-weight: 700; }
.text-3xl { font-size: 1.875rem; font-weight: 800; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.text-slate-600 { color: #475569; }
.text-slate-700 { color: #334155; }
.text-slate-900 { color: #0f172a; }
.bg-white { background: #fff; }
.bg-blue-700 { background: #1d4ed8; }
.text-white { color: #fff; }
.bg-slate-100 { background: #f1f5f9; }
.rounded-2xl { border-radius: 1rem; }
.rounded-lg { border-radius: .5rem; }
.shadow {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),
              0  4px  6px -4px rgb(0 0 0 / .1);
}
header.bg-white { background: #fff; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.items-start { align-items: start; }
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:col-span-2 { grid-column: span 2 / span 2; }
}
.border { border: 1px solid #cbd5e1; }
.p-3 { padding: .75rem; }
.p-6 { padding: 1.5rem; }
input, select, textarea, button { font: inherit; }
input, select, textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  padding: .75rem;
  background: #fff;
  color: #0f172a;
}
label input[type="checkbox"] {
  width: auto; height: auto; margin-right: .5rem;
}
button {
  cursor: pointer;
  border: 0; border-radius: .5rem;
}
button:disabled { opacity: .7; cursor: not-allowed; }
.mx-auto { margin-left: auto; margin-right: auto; }
.w-full { width: 100%; }
a { color: #1d4ed8; text-decoration: none; }
a:hover { text-decoration: underline; }
.hp {
  position: absolute; left: -5000px; opacity: 0;
  height: 0; width: 0; border: 0; padding: 0; margin: 0;
}
