:root {
  --bg: #f7fbff;
  --panel: #ffffff;
  --text: #0e2435;
  --muted: #607789;
  --brand: #1177bb;
  --brand-dark: #0c5484;
  --accent: #f2a71b;
  --good: #15803d;
  --warn: #b45309;
  --bad: #b91c1c;
  --line: #dbe8f3;
  --shadow: 0 18px 40px rgba(14, 36, 53, .08);
  --radius: 22px;
}

/* Unit-based before/after photos on admin and worker job cards */
.job-photo-manager{display:grid;gap:12px}.job-photo-unit{border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fbfd}.job-photo-unit-head{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:10px;align-items:center}.job-photo-unit-head input{font-weight:900}.job-photo-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.job-photo-drop,.job-photo-detail-upload{position:relative;display:grid;place-items:center;min-height:92px;border:2px dashed #b8d3df;border-radius:14px;background:#fff;text-align:center;color:var(--brand-dark);cursor:pointer}.job-photo-drop input,.job-photo-detail-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.job-photo-drop span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.job-photo-detail-upload{min-height:40px;margin-top:10px;border-width:1px;font-size:12px;font-weight:900}.job-photo-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin-top:10px}.job-photo-thumbs figure{margin:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px}.job-photo-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.job-photo-thumbs figcaption{font-size:10px;color:var(--muted);margin:6px 0}.theme-dark .job-photo-unit{background:#0f1d2a}.theme-dark .job-photo-drop,.theme-dark .job-photo-detail-upload,.theme-dark .job-photo-thumbs figure{background:#132333}
@media(max-width:680px){.job-photo-unit-head{grid-template-columns:auto 1fr}.job-photo-unit-head button{grid-column:1/-1}.job-photo-upload-grid{grid-template-columns:1fr}.job-photo-thumbs{grid-template-columns:1fr 1fr}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #edf7ff 0%, var(--bg) 42%, #ffffff 100%);
  color: var(--text);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

.container { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
.nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(247, 251, 255, .88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(219,232,243,.75);
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; }
.logo { display: flex; align-items: center; gap: 10px; font-weight: 900; letter-spacing: -.02em; }
.logo-mark { width: 40px; height: 40px; border-radius: 14px; background: linear-gradient(135deg, var(--brand), #60b5ef); display: grid; place-items: center; color: white; box-shadow: var(--shadow); }
.nav-links { display: flex; align-items: center; gap: 16px; color: var(--muted); font-weight: 700; font-size: 14px; }
.nav-links a:hover { color: var(--brand); }
.button, button, .btn {
  border: 0;
  background: var(--brand);
  color: white;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(17,119,187,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.button:hover, button:hover, .btn:hover { background: var(--brand-dark); }
.btn.secondary, button.secondary { background: #e8f3fb; color: var(--brand-dark); box-shadow: none; }
.btn.ghost, button.ghost { background: transparent; color: var(--brand-dark); box-shadow: none; border: 1px solid var(--line); }
.btn.warning { background: var(--accent); color: #2a1a00; }

.hero { padding: 72px 0 48px; }
.hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 34px; align-items: center; }
.eyebrow { color: var(--brand); font-weight: 900; text-transform: uppercase; font-size: 13px; letter-spacing: .12em; }
h1 { font-size: clamp(40px, 7vw, 74px); line-height: .95; letter-spacing: -.07em; margin: 14px 0 18px; }
h2 { font-size: clamp(28px, 4vw, 44px); line-height: 1; letter-spacing: -.05em; margin: 0 0 16px; }
h3 { font-size: 22px; letter-spacing: -.035em; margin: 0 0 10px; }
p { color: var(--muted); line-height: 1.65; }
.hero p { font-size: 18px; max-width: 650px; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 24px; }
.price-tile { display: flex; justify-content: space-between; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); padding: 15px 0; }
.price-tile:last-child { border-bottom: 0; }
.price { font-size: 24px; font-weight: 950; color: var(--brand-dark); white-space: nowrap; }
.badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #e9f6ee; color: var(--good); font-weight: 900; font-size: 12px; }
.badge.warn { background: #fff7e8; color: var(--warn); }
.badge.blue { background: #e8f3fb; color: var(--brand-dark); }
.section { padding: 54px 0; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.card.flat { box-shadow: none; }
.icon { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: #e8f3fb; color: var(--brand-dark); font-weight: 950; margin-bottom: 16px; }
.list { display: grid; gap: 10px; padding: 0; margin: 18px 0 0; list-style: none; }
.list li { display: flex; gap: 10px; color: var(--muted); line-height: 1.45; }
.list li:before { content: "\2713"; color: var(--good); font-weight: 950; }
.form { display: grid; gap: 14px; }
.field { display: grid; gap: 7px; }
label { font-size: 13px; color: #33495a; font-weight: 900; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 13px 14px;
  font: inherit;
  background: white;
  color: var(--text);
}
textarea { min-height: 110px; resize: vertical; }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.notice { background: #fff9e8; border: 1px solid #ffe2a7; border-radius: 18px; padding: 14px; color: #73510c; }
.success { background: #edfff3; border: 1px solid #b9efca; border-radius: 18px; padding: 14px; color: #14532d; }
.footer { margin-top: 40px; padding: 34px 0; border-top: 1px solid var(--line); color: var(--muted); }

/* Admin */
.admin-body { background: #f5f8fb; }
.admin-shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.sidebar { background: #0e2435; color: white; padding: 22px; position: sticky; top: 0; height: 100vh; overflow: auto; }
.sidebar .logo-mark { background: linear-gradient(135deg, #60b5ef, #1177bb); }
.side-nav { display: grid; gap: 8px; margin-top: 28px; }
.side-nav button { width: 100%; justify-content: flex-start; background: transparent; box-shadow: none; color: #c7d8e5; border-radius: 16px; }
.side-nav button.active, .side-nav button:hover { background: rgba(255,255,255,.1); color: white; }
.admin-main { padding: 24px; }
.admin-top { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 22px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 18px; box-shadow: 0 10px 24px rgba(14,36,53,.05); }
.stat strong { display: block; font-size: 30px; letter-spacing: -.04em; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: white; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { padding: 13px 12px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: #456173; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; background: #f7fbff; }
tr:last-child td { border-bottom: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
.actions button { padding: 9px 12px; font-size: 12px; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #e8f3fb; color: var(--brand-dark); font-weight: 900; font-size: 12px; white-space: nowrap; }
.status.completed, .status.paid { background: #edfff3; color: var(--good); }
.status.cancelled, .status.lost { background: #fff1f1; color: var(--bad); }
.admin-section { display: none; }
.admin-section.active { display: block; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(14,36,53,.55); display: none; align-items: center; justify-content: center; padding: 20px; z-index: 50; }
.modal-backdrop.open { display: flex; }
.modal { width: min(760px, 100%); max-height: 92vh; overflow: auto; background: white; border-radius: 26px; padding: 24px; box-shadow: 0 22px 80px rgba(0,0,0,.25); }
.checklist { display: grid; gap: 8px; margin-top: 12px; }
.check { display: flex; gap: 10px; align-items: center; background: #f7fbff; border: 1px solid var(--line); padding: 10px; border-radius: 14px; }
.check input { width: auto; }
.copybox { width: 100%; min-height: 170px; font-size: 13px; }
.mobile-job-card { border: 1px solid var(--line); background: #fff; border-radius: 22px; padding: 18px; margin-bottom: 14px; }
.small { font-size: 12px; color: var(--muted); }
.hidden { display: none !important; }

/* Restricted worker calendar */
.worker-login{max-width:520px;padding:64px 0}.worker-login h1{font-size:42px}.worker-logo{width:min(260px,100%)}.worker-error{color:var(--bad)}
.worker-app{width:min(1280px,calc(100% - 32px));margin:auto;padding:20px 0 48px}.worker-header,.worker-toolbar,.worker-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.worker-header{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px 18px;box-shadow:var(--shadow)}.worker-header img{width:190px}.worker-toolbar{padding:24px 4px 14px}.worker-toolbar h2{margin:0;text-align:center}.worker-calendar{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.worker-weekdays,.worker-days{display:grid;grid-template-columns:repeat(7,1fr)}.worker-weekdays span{padding:12px;text-align:center;font-size:12px;font-weight:900;color:var(--muted);background:#f2f8fc}.worker-day{min-height:132px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:10px}.worker-day:nth-child(7n){border-right:0}.worker-day.empty{background:#f8fbfd}.worker-day.today{background:#eef9ff}.worker-job{display:block;width:100%;margin-top:7px;padding:8px;border-radius:10px;text-align:left;box-shadow:none;font-size:12px}.worker-job span,.worker-job small{display:block}.worker-job small{opacity:.8}.worker-unpaid{margin-top:18px}.worker-unpaid-row{width:100%;display:flex;justify-content:space-between;text-align:left;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);box-shadow:none;padding:13px 4px}.worker-unpaid-row:hover{background:#f4f9fc}.worker-unpaid-row span,.worker-unpaid-row small{display:block}.worker-unpaid-row small{color:var(--muted);margin-top:4px}
.worker-next{margin:18px 0}.worker-next-card{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border-radius:20px;padding:16px 18px}.worker-next-card span,.worker-next-card strong,.worker-next-card small,.worker-next-card em{display:block}.worker-next-card strong{font-size:20px;margin:3px 0}.worker-next-card em{font-style:normal;font-weight:600}.worker-legend{display:flex;gap:8px;flex-wrap:wrap;padding:12px}.worker-legend span{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.worker-job.booked,.worker-next-card.booked,.worker-legend .booked{background:#dceeff;color:#075985}.worker-job.unpaid,.worker-next-card.unpaid,.worker-legend .unpaid{background:#fff0c7;color:#854d0e}.worker-job.paid,.worker-next-card.paid,.worker-legend .paid{background:#dcfce7;color:#166534}.worker-actions{margin-bottom:18px}.worker-lines{display:grid;gap:8px;margin-bottom:10px}.worker-line{display:grid;grid-template-columns:1.2fr 1.5fr 80px 105px auto;gap:8px;align-items:center}.worker-line input,.worker-line select{padding:10px}.worker-line button{padding:9px}.worker-search-results{display:grid;gap:6px}.worker-search-results button{display:block;text-align:left;border-radius:12px;background:#f1f7fb;color:var(--text);box-shadow:none}.worker-search-results small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){.worker-app{width:min(100% - 20px,1280px);padding-top:10px}.worker-header{align-items:flex-start;flex-direction:column}.worker-header img{width:160px}.worker-header .actions{width:100%}.worker-header .actions button{flex:1;padding:10px}.worker-weekdays{display:none}.worker-days{display:block}.worker-day.empty{display:none}.worker-day{min-height:0;border-right:0;padding:12px}.worker-day:not(:has(.worker-job)){display:none}.worker-day>strong{font-size:17px}.worker-job{font-size:14px;padding:12px}.worker-toolbar h2{font-size:26px}.worker-modal-head{position:sticky;top:-18px;background:#fff;padding:10px 0;z-index:2}.worker-line{grid-template-columns:1fr 1fr}.worker-line [data-label]{grid-column:1/-1}.worker-line button{width:100%}.worker-actions .btn,.worker-actions button{flex:1;min-width:140px}.worker-next-card{align-items:flex-start}.worker-next-card>b{white-space:nowrap}}

@media (max-width: 860px) {
  .nav-links { display: none; }
  .hero-grid, .grid-3, .grid-2, .form-row { grid-template-columns: 1fr; }
  .hero { padding-top: 44px; }
  .admin-shell { grid-template-columns: 1fr; }
  .sidebar { position: relative; height: auto; }
  .side-nav { grid-template-columns: repeat(2, 1fr); }
  .admin-main { padding: 16px; }
  .admin-top { align-items: flex-start; flex-direction: column; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  h1 { font-size: 44px; }
}

/* Booking calendar */
.booking-picker {
  border: 1px solid var(--line);
  background: #f7fbff;
  border-radius: 22px;
  padding: 18px;
  display: grid;
  gap: 14px;
}
.booking-picker-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.booking-picker-head p { margin: 0; }
.availability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}
.day-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  display: grid;
  gap: 8px;
}
.slot-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.slot-btn {
  box-shadow: none;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  background: #e8f3fb;
  color: var(--brand-dark);
  border: 1px solid #c7dfee;
}
.slot-btn:hover, .slot-btn.selected {
  background: var(--brand);
  color: white;
}
.slot-btn.disabled {
  background: #f1f5f9;
  color: #94a3b8;
  border-color: #e2e8f0;
  cursor: not-allowed;
  text-decoration: line-through;
}
.calendar-board {
  display: grid;
  gap: 12px;
  max-height: 720px;
  overflow: auto;
  padding-right: 4px;
}
.calendar-day {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 14px;
}
.calendar-day-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.calendar-day-head span {
  color: var(--good);
  font-size: 12px;
  font-weight: 900;
}
.calendar-items {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.calendar-item {
  border-radius: 14px;
  padding: 10px;
  border: 1px solid var(--line);
  background: #f7fbff;
  font-size: 13px;
}
.calendar-item.job { background: #edfff3; border-color: #b9efca; }
.calendar-item.pending { background: #fff9e8; border-color: #ffe2a7; }
.calendar-item.block { background: #f8fafc; border-color: #dbe8f3; }
.mini-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  margin-top: 8px;
  background: #fff;
}
button.mini, .mini {
  padding: 7px 10px;
  font-size: 12px;
  border-radius: 999px;
}
hr { border: 0; border-top: 1px solid var(--line); width: 100%; margin: 22px 0; }

@media (max-width: 860px) {
  .availability-grid { grid-template-columns: 1fr; max-height: none; }
  .booking-picker-head { flex-direction: column; }
}

.booking-gate {
  display: grid;
  gap: 10px;
}
.gate-check {
  margin-top: 4px;
  background: white;
}
.route-rule-list {
  display: grid;
  gap: 10px;
}
.route-rule {
  border: 1px solid var(--line);
  background: #f7fbff;
  border-radius: 16px;
  padding: 12px;
}

/* v4 workflow upgrades */
.section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.section-head p { margin: 0; }
.mini-link {
  display: inline-flex;
  margin-top: 7px;
  font-size: 12px;
  font-weight: 900;
  color: var(--brand-dark);
  text-decoration: underline;
}
.toast-box {
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  z-index: 99;
  width: min(360px, calc(100% - 36px));
}
.toast {
  background: #edfff3;
  color: #14532d;
  border: 1px solid #b9efca;
  border-radius: 16px;
  padding: 12px 14px;
  box-shadow: var(--shadow);
  font-weight: 800;
}
.toast.error { background: #fff1f1; border-color: #fecaca; color: var(--bad); }
.slot-admin-list { display: grid; gap: 8px; }
.workflow-card {
  padding: 0;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.workflow-card > * { margin-left: 18px; margin-right: 18px; }
.mobile-topline {
  margin: 0 !important;
  padding: 14px 18px;
  background: #f7fbff;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.mobile-customer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background: #f7fbff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}
.mobile-money { font-size: 20px; font-weight: 950; color: var(--brand-dark); white-space: nowrap; }
.mobile-address {
  color: var(--muted);
  border-left: 4px solid var(--brand);
  padding: 8px 0 8px 12px;
}
.mobile-actions, .mobile-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.mobile-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mobile-actions .btn, .mobile-actions button, .mobile-status-grid button { width: 100%; padding: 12px 10px; }
.progress-wrap { display: grid; gap: 8px; margin-top: 14px; }
.progress-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--muted); font-weight: 900; }
.progress { height: 12px; border-radius: 999px; overflow: hidden; background: #e8f3fb; }
.progress span { display: block; height: 100%; background: var(--brand); border-radius: 999px; }
.mobile-next { margin-top: 12px; }
.mobile-section-title { margin-top: 18px; }
.mobile-checklist { padding-bottom: 18px; }
.booking-page-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 18px;
  align-items: start;
}
.customer-slot-list {
  display: grid;
  gap: 10px;
  max-height: 620px;
  overflow: auto;
  padding-right: 4px;
}
.customer-slot {
  display: block;
  text-align: left;
  width: 100%;
  border-radius: 18px;
  background: white;
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: none;
  padding: 14px;
}
.customer-slot:hover, .customer-slot.selected {
  background: #e8f3fb;
  color: var(--brand-dark);
  border-color: #9dcced;
}
.customer-slot span { color: var(--muted); font-size: 12px; }
.success-card { text-align: center; max-width: 760px; margin: 0 auto; }

@media (max-width: 860px) {
  .section-head, .booking-page-grid { grid-template-columns: 1fr; display: grid; }
  .mobile-actions, .mobile-status-grid { grid-template-columns: 1fr 1fr; }
  .modal { padding: 18px; border-radius: 22px; }
}

/* v5 items/services + finance */
.finance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.finance-grid .stat { box-shadow: none; }
@media (max-width: 860px) {
  .finance-grid { grid-template-columns: 1fr; }
}

/* v6 admin mobile polish + search/reminders */
.admin-top-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.admin-search {
  min-width: 320px;
  max-width: 460px;
  border-radius: 999px;
  background: white;
}
.lead-copy-actions { margin-bottom: 12px; }
.status.pending { background: #fff9e8; color: var(--warn); }
.status.done { background: #edfff3; color: var(--good); }

@media (max-width: 860px) {
  .admin-shell { display: block; }
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    height: auto;
    max-height: 44vh;
    overflow: auto;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
  }
  .sidebar .logo { justify-content: center; }
  .side-nav {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 8px;
    margin-top: 16px;
    scroll-snap-type: x mandatory;
  }
  .side-nav button {
    min-width: 132px;
    justify-content: center;
    scroll-snap-align: start;
    padding: 11px 12px;
  }
  .sidebar > div:last-child {
    grid-template-columns: 1fr 1fr;
    margin-top: 12px !important;
  }
  .admin-main { padding: 14px; }
  .admin-top {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(245,248,251,.94);
    backdrop-filter: blur(12px);
    padding: 12px 0;
    margin-bottom: 14px;
  }
  .admin-top h2 { font-size: 28px; margin-bottom: 0; }
  .admin-top-controls, .admin-top-controls .actions { width: 100%; }
  .admin-search { min-width: 0; width: 100%; }
  .admin-top-controls .actions button { flex: 1; }
  .card { padding: 16px; border-radius: 20px; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat { padding: 13px; border-radius: 16px; }
  .stat strong { font-size: 23px; }
  .table-wrap { border: 0; background: transparent; overflow: visible; }
  table, thead, tbody, tr, th, td { display: block; width: 100%; }
  thead { display: none; }
  tr {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    margin-bottom: 12px;
    padding: 10px;
    box-shadow: 0 8px 20px rgba(14,36,53,.05);
  }
  td { border: 0; padding: 8px 6px; }
  .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .actions button, .actions .btn { width: 100%; }
  .modal-backdrop { align-items: flex-end; padding: 0; }
  .modal {
    width: 100%;
    max-height: 90vh;
    border-radius: 26px 26px 0 0;
    padding: 18px;
  }
  .cta-row { display: grid; grid-template-columns: 1fr; }
  .cta-row button, .cta-row .btn { width: 100%; }
  .mobile-job-card { margin-left: -4px; margin-right: -4px; }
  .mobile-status-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .stat-grid { grid-template-columns: 1fr; }
  .actions { grid-template-columns: 1fr; }
  .side-nav button { min-width: 118px; font-size: 12px; }
  .mobile-actions { grid-template-columns: 1fr; }
}

/* v7 admin workflow additions */
.copy-detail-card {
  display: grid;
  gap: 8px;
  margin: 10px 0 14px;
}
.copy-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: #f8fbfd;
  border-radius: 14px;
}
.copy-line-main {
  min-width: 0;
  flex: 1 1 auto;
}
.copy-line small {
  display: block;
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 2px;
}
.copy-line strong {
  display: block;
  color: var(--text);
  word-break: break-word;
}
.icon-copy {
  min-width: 56px;
  height: 34px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.compact-actions {
  margin-top: 12px;
}
.opening-hours-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}
.opening-row {
  display: grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.property-pill {
  border: 1px solid var(--line);
  background: #f8fbfd;
  border-radius: 12px;
  padding: 8px;
  margin: 5px 0;
}
@media (max-width: 720px) {
  .opening-row {
    grid-template-columns: 1fr;
  }
  .copy-line {
    align-items: flex-start;
  }
}

/* v8 business workflow additions */
.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.settings-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(14,36,53,.05);
  padding: 18px;
  margin-bottom: 16px;
}
.template-list { display: grid; gap: 10px; margin: 12px 0; }
.template-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fbfd;
}
button.mini, .btn.mini { padding: 8px 11px; font-size: 12px; }
.mono-text {
  min-height: 130px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.5;
}
.service-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}
.service-web-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 22px;
  display: grid;
  gap: 12px;
  align-content: start;
}
.service-web-card .service-price {
  font-size: 28px;
  font-weight: 950;
  color: var(--brand-dark);
  letter-spacing: -.04em;
}
.service-web-card .service-desc {
  min-height: 72px;
}
.service-web-card .service-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.document-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.email-token-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
}
.email-token-toolbar .small {
  margin-right: 4px;
}
.mini-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #f8fbfd;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.sticky-actions {
  position: sticky;
  bottom: 12px;
  background: rgba(247,251,255,.92);
  backdrop-filter: blur(10px);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 12px;
  z-index: 5;
}
.compact-grid { gap: 10px; }
.finance-alert {
  border-left: 5px solid var(--warn);
}

html.theme-dark, body.theme-dark {
  --bg: #08131d;
  --panel: #111f2d;
  --text: #eef7ff;
  --muted: #abc2d3;
  --brand: #4db4f3;
  --brand-dark: #8fd1fb;
  --accent: #f4b942;
  --line: #263d50;
  --shadow: 0 18px 42px rgba(0,0,0,.35);
  background: linear-gradient(180deg, #07111b 0%, #0b1722 45%, #08131d 100%);
  color: var(--text);
}
html.theme-dark .nav, body.theme-dark .nav { background: rgba(8,19,29,.88); border-bottom-color: var(--line); }
html.theme-dark .admin-body, html.theme-dark.admin-body, body.theme-dark .admin-body, body.theme-dark.admin-body { background: #08131d; }
body.theme-dark .admin-top { background: rgba(8,19,29,.94); }
body.theme-dark .sidebar { background: #050b12; border-right: 1px solid var(--line); }
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .modal,
body.theme-dark .table-wrap,
body.theme-dark .stat,
body.theme-dark .card,
body.theme-dark .hero-card,
body.theme-dark .service-web-card,
body.theme-dark .settings-panel,
body.theme-dark .mobile-job-card {
  background: var(--panel);
  color: var(--text);
  border-color: var(--line);
}
body.theme-dark label { color: #dbefff; }
body.theme-dark th { background: #0b1925; color: #c6dff1; }
body.theme-dark tr,
body.theme-dark .check,
body.theme-dark .copy-line,
body.theme-dark .property-pill,
body.theme-dark .template-row,
body.theme-dark .mini-row,
body.theme-dark .opening-row {
  background: #0c1925;
  border-color: var(--line);
}
body.theme-dark .btn.secondary,
body.theme-dark button.secondary,
body.theme-dark .status { background: #14324b; color: #d8f0ff; }
body.theme-dark .btn.ghost,
body.theme-dark button.ghost { color: #d8f0ff; border-color: var(--line); }
body.theme-dark .notice { background: #251d0a; border-color: #5b4210; color: #ffe6a2; }
body.theme-dark .success { background: #082515; border-color: #165c33; color: #b7f7cd; }
body.theme-dark .badge.blue { background: #14324b; color: #d8f0ff; }
body.theme-dark .badge.warn { background: #382508; color: #ffd482; }
body.theme-dark .badge { background: #082515; color: #b7f7cd; }

@media (max-width: 920px) {
  .settings-grid, .service-card-grid { grid-template-columns: 1fr; }
  .template-row, .mini-row { align-items: flex-start; flex-direction: column; }
  .template-row button, .mini-row .btn { width: 100%; }
  .sticky-actions { position: static; }
}

@media (max-width: 720px) {
  .settings-panel { padding: 14px; border-radius: 18px; }
  .service-web-card { padding: 18px; border-radius: 20px; }
  .service-web-card .service-price { font-size: 24px; }
  .compact-grid, .grid-2.compact-grid { grid-template-columns: 1fr; }
  .copy-detail-card .secondary { width: 100%; }
}

/* v9 photos, simple settings, dark mode fix, finance reports */
html.theme-dark,
html.theme-dark body {
  background: #08131d;
  color: var(--text);
}
html.theme-dark body,
html.theme-dark, body.theme-dark {
  --bg: #08131d;
  --panel: #111f2d;
  --text: #eef7ff;
  --muted: #abc2d3;
  --brand: #4db4f3;
  --brand-dark: #8fd1fb;
  --accent: #f4b942;
  --line: #263d50;
  --shadow: 0 18px 42px rgba(0,0,0,.35);
}
html.theme-dark .admin-body, html.theme-dark body.admin-body { background: #08131d; }
html.theme-dark input,
html.theme-dark select,
html.theme-dark textarea,
html.theme-dark .modal,
html.theme-dark .table-wrap,
html.theme-dark .stat,
html.theme-dark .card,
html.theme-dark .hero-card,
html.theme-dark .service-web-card,
html.theme-dark .settings-panel,
html.theme-dark .mobile-job-card,
html.theme-dark .day-card,
html.theme-dark .calendar-day,
html.theme-dark .booking-picker,
html.theme-dark .customer-slot {
  background: var(--panel);
  color: var(--text);
  border-color: var(--line);
}
html.theme-dark .admin-top { background: rgba(8,19,29,.94); }
html.theme-dark .sidebar { background: #050b12; border-right: 1px solid var(--line); }
html.theme-dark label { color: #dbefff; }
html.theme-dark th { background: #0b1925; color: #c6dff1; }
html.theme-dark tr,
html.theme-dark .check,
html.theme-dark .copy-line,
html.theme-dark .property-pill,
html.theme-dark .template-row,
html.theme-dark .mini-row,
html.theme-dark .opening-row,
html.theme-dark .report-filter {
  background: #0c1925;
  border-color: var(--line);
}
html.theme-dark .btn.secondary,
html.theme-dark button.secondary,
html.theme-dark .status { background: #14324b; color: #d8f0ff; }
html.theme-dark .btn.ghost,
html.theme-dark button.ghost { color: #d8f0ff; border-color: var(--line); }
html.theme-dark .notice { background: #251d0a; border-color: #5b4210; color: #ffe6a2; }
html.theme-dark .success { background: #082515; border-color: #165c33; color: #b7f7cd; }
.settings-help {
  background: #e8f3fb;
  border: 1px solid #c7dfee;
  color: var(--brand-dark);
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.report-filter {
  display: grid;
  gap: 12px;
  background: #f8fbfd;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
}
.service-admin-row { display: flex; gap: 12px; align-items: flex-start; }
.service-thumb {
  width: 86px;
  height: 64px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #eef6fb;
  flex-shrink: 0;
}
.service-card-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: #eef6fb;
  margin-bottom: 4px;
}
@media (max-width: 720px) {
  .service-admin-row { flex-direction: column; }
  .service-thumb { width: 100%; height: auto; aspect-ratio: 16/9; }
}


/* v10 workflow polish */
.card-list-editor { display: grid; gap: 12px; }
.editor-card { border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: rgba(255,255,255,.58); display: grid; gap: 12px; }
.weekday-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.weekday-pills label { border: 1px solid var(--line); border-radius: 999px; padding: 8px 10px; background: var(--panel); }
.inline-edit-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-bottom: 8px; }
.calendar-month-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.month-grid { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 8px; }
.month-weekdays { margin-bottom: 8px; color: var(--muted); text-align: center; font-size: 12px; }
.month-day { min-height: 118px; border: 1px solid var(--line); border-radius: 16px; padding: 8px; background: var(--panel); overflow: hidden; }
.month-day.muted { opacity: .45; }
.month-day-top { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.month-day-top strong { font-size: 16px; color: var(--text); }
.month-item { width: 100%; justify-content: flex-start; text-align: left; font-size: 11px; padding: 6px 8px; border-radius: 10px; margin: 3px 0; box-shadow: none; background: #e8f3fb; color: var(--brand-dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.month-item.pending { background: #fff7e8; color: #8a5a00; }
.month-item.block { background: #f3f4f6; color: #4b5563; }
html.theme-dark .editor-card, body.theme-dark .editor-card { background: #0c1925; border-color: var(--line); }
html.theme-dark .weekday-pills label, body.theme-dark .weekday-pills label { background: var(--panel); border-color: var(--line); color: var(--text); }
html.theme-dark .month-day, body.theme-dark .month-day { background: var(--panel); border-color: var(--line); }
html.theme-dark .month-item, body.theme-dark .month-item { background: #14324b; color: #d8f0ff; }
@media (max-width: 780px) { .month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .month-weekdays { display: none; } .month-day { min-height: 96px; } }

/* v11 workflow polish */
.danger { color:#b91c1c; border-color:#fecaca; }
.theme-dark .danger { color:#fecaca; border-color:#7f1d1d; }
.job-status-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;margin:0 0 14px;border:1px solid #dbeafe;background:#eff6ff;color:#0f172a}
.job-status-header span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800}
.job-status-header strong{font-size:18px}
.warn-card{background:#fff7ed!important;border-color:#fdba74!important;color:#9a3412!important}
.line-summary-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.line-summary-list span{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef6fb;border:1px solid #d9e8f2;color:#36566d;font-size:11px;font-weight:800;line-height:1.2}
.status-awaiting-booking,.month-item.status-awaiting-booking{background:#f8fafc;border-color:#cbd5e1;color:#334155}.status-booked,.month-item.status-booked{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.status-on-the-way,.month-item.status-on-the-way{background:#fef3c7;border-color:#f59e0b;color:#92400e}.status-in-progress,.month-item.status-in-progress{background:#ede9fe;border-color:#a78bfa;color:#5b21b6}.status-completed,.month-item.status-completed{background:#dcfce7;border-color:#86efac;color:#166534}.status-paid,.month-item.status-paid{background:#bbf7d0;border-color:#22c55e;color:#14532d}.status-follow-up,.month-item.status-follow-up{background:#ffedd5;border-color:#fb923c;color:#9a3412}.status-cancelled-lost,.month-item.status-cancelled-lost{background:#fee2e2;border-color:#fca5a5;color:#991b1b}
.month-item{border-left:4px solid currentColor}.month-item.job{font-weight:800}.month-item.pending{background:#fef3c7;color:#92400e}.month-item.block{background:#f1f5f9;color:#475569}
.settings-panel{display:block;margin:12px 0}.settings-panel summary{cursor:pointer;font-size:18px;font-weight:900;list-style:none;padding:8px 0}.settings-panel summary::-webkit-details-marker{display:none}.settings-panel summary:before{content:'\25B8';display:inline-block;margin-right:8px;transition:.15s}.settings-panel[open] summary:before{transform:rotate(90deg)}
.settings-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.settings-jump a{display:inline-flex;padding:7px 10px;border:1px solid #cbd5e1;border-radius:999px;text-decoration:none;font-weight:800;color:#0f172a;background:white}.theme-dark .settings-jump a{background:#0f172a;color:#e2e8f0;border-color:#334155}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.follow-card{background:linear-gradient(180deg,#f8fbfe,#f1f8fc)}.follow-card h4{margin:0 0 6px}.service-rebook-list{display:grid;gap:8px}.modal .grid-2{align-items:start}
.theme-dark .job-status-header{background:#0f172a;border-color:#334155;color:#e2e8f0}.theme-dark .job-status-header span{color:#94a3b8}.theme-dark .line-summary-list span{background:#173247;border-color:#36536a;color:#dff3ff}.theme-dark .status-booked,.theme-dark .month-item.status-booked{background:#172554;color:#bfdbfe}.theme-dark .status-paid,.theme-dark .month-item.status-paid,.theme-dark .status-completed,.theme-dark .month-item.status-completed{background:#052e16;color:#bbf7d0}.theme-dark .status-in-progress,.theme-dark .month-item.status-in-progress{background:#2e1065;color:#ddd6fe}.theme-dark .status-on-the-way,.theme-dark .month-item.status-on-the-way{background:#451a03;color:#fde68a}.theme-dark .status-cancelled-lost,.theme-dark .month-item.status-cancelled-lost{background:#450a0a;color:#fecaca}

/* v12 customer history + settings usability polish */
.history-list{display:grid;gap:10px;margin-top:8px}.history-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fbfd}.reminder-badge{display:inline-flex;margin-top:6px}.actions .badge{align-self:center}.settings-grid{display:block;margin-bottom:0}.settings-grid>.settings-help{margin-bottom:14px}.settings-panel{width:100%;box-sizing:border-box}.settings-panel .grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.settings-panel input,.settings-panel select,.settings-panel textarea{max-width:100%}.opening-row{grid-template-columns:minmax(160px,1fr) minmax(120px,.5fr) minmax(120px,.5fr)}
.reminder-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.reminder-summary-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 20px rgba(14,36,53,.04);display:grid;gap:6px}
.reminder-summary-card span{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.reminder-summary-card strong{font-size:30px;line-height:1;letter-spacing:-.05em}
.reminder-summary-card small{color:var(--muted)}
.reminder-customer-queue{display:grid;gap:10px;margin-bottom:18px}
.reminder-customer-pills{display:flex;flex-wrap:wrap;gap:10px}
.reminder-customer-pill{background:#fff;border:1px solid var(--line);box-shadow:none;color:var(--text);padding:10px 12px;border-radius:16px;display:grid;gap:2px;text-align:left}
.reminder-customer-pill span{font-size:12px;color:var(--muted);font-weight:800}
.reminder-board{display:grid;gap:18px}
.reminder-group{display:grid;gap:10px}
.reminder-group-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.reminder-group-head h4{margin:0;font-size:18px}
.reminder-card-list{display:grid;gap:12px}
.reminder-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;display:grid;gap:10px}
.reminder-card.overdue{border-color:#f4b4b4;background:#fff7f7}
.reminder-card.today{border-color:#ffd58a;background:#fff9ee}
.reminder-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.reminder-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.reminder-card h4{margin:0 0 4px}
.reminder-type{font-weight:900;color:var(--brand-dark);text-align:right}
.reminder-copy{padding:12px;border-radius:14px;background:#f7fbff;border:1px solid var(--line);color:var(--text);line-height:1.55}
html.theme-dark,body.theme-dark{--bg:#0b1621;--panel:#132333;--text:#f3f8fc;--muted:#c0d2df;--brand:#5ec4ff;--brand-dark:#a6dcff;--line:#36536a;background:#0b1621!important;color:var(--text)!important}html.theme-dark .admin-main,body.theme-dark .admin-main{background:#0b1621;color:var(--text)}html.theme-dark .card,html.theme-dark .modal,html.theme-dark .stat,html.theme-dark .settings-panel,html.theme-dark .table-wrap,html.theme-dark .mobile-job-card,html.theme-dark .editor-card,html.theme-dark .history-row,html.theme-dark .service-web-card,html.theme-dark .day-card,html.theme-dark .calendar-day,html.theme-dark .booking-picker,body.theme-dark .card,body.theme-dark .modal,body.theme-dark .stat,body.theme-dark .settings-panel,body.theme-dark .table-wrap,body.theme-dark .mobile-job-card,body.theme-dark .editor-card,body.theme-dark .history-row{background:#132333!important;border-color:#36536a!important;color:#f3f8fc!important}html.theme-dark .settings-help,body.theme-dark .settings-help{background:#10263a!important;border-color:#36536a!important;color:#dff3ff!important}html.theme-dark input,html.theme-dark select,html.theme-dark textarea,body.theme-dark input,body.theme-dark select,body.theme-dark textarea{background:#0b1621!important;border-color:#45647c!important;color:#ffffff!important}html.theme-dark input::placeholder,html.theme-dark textarea::placeholder{color:#8fabbd!important}html.theme-dark .small,html.theme-dark p,html.theme-dark li,body.theme-dark .small,body.theme-dark p,body.theme-dark li{color:#c0d2df}html.theme-dark .sidebar,body.theme-dark .sidebar{background:#09111a!important;border-right-color:#36536a!important}html.theme-dark .tab-btn,body.theme-dark .tab-btn{color:#e4f2ff}html.theme-dark .tab-btn.active,body.theme-dark .tab-btn.active{background:#1d4f73!important;color:#fff!important}html.theme-dark .check,html.theme-dark .copy-line,html.theme-dark .property-pill,html.theme-dark .template-row,html.theme-dark .mini-row,html.theme-dark .opening-row,html.theme-dark .report-filter,body.theme-dark .check,body.theme-dark .copy-line,body.theme-dark .property-pill,body.theme-dark .template-row,body.theme-dark .mini-row,body.theme-dark .opening-row,body.theme-dark .report-filter{background:#0f1d2a!important;border-color:#36536a!important;color:#f3f8fc!important}html.theme-dark .notice,body.theme-dark .notice{background:#2c2309!important;border-color:#8a650f!important;color:#ffe8a8!important}html.theme-dark .badge.warn,body.theme-dark .badge.warn{background:#5a3207!important;color:#ffe1a0!important}html.theme-dark .badge.blue,body.theme-dark .badge.blue{background:#123a58!important;color:#d8efff!important}
html.theme-dark .reminder-summary-card,body.theme-dark .reminder-summary-card,html.theme-dark .reminder-card,body.theme-dark .reminder-card,html.theme-dark .reminder-customer-pill,body.theme-dark .reminder-customer-pill,html.theme-dark .reminder-copy,body.theme-dark .reminder-copy{background:#132333!important;border-color:#36536a!important;color:#f3f8fc!important}
@media(max-width:780px){.history-row,.reminder-card-top{flex-direction:column}.opening-row{grid-template-columns:1fr}.settings-panel .grid-2,.reminder-summary-grid{grid-template-columns:1fr}.settings-jump a{flex:1;justify-content:center}.reminder-customer-pills{display:grid}.reminder-customer-pill{width:100%}.reminder-type{text-align:left}}

/* v13 colour and readability polish */
:root {
  --bg: #f3f8fc;
  --panel: #ffffff;
  --text: #102536;
  --muted: #51697b;
  --brand: #1688d3;
  --brand-dark: #0d5f9a;
  --accent: #f5b23d;
  --line: #cfe0ec;
  --shadow: 0 12px 30px rgba(16, 37, 54, .08);
}
body { background: linear-gradient(180deg, #e9f6ff 0%, #f8fbfd 52%, #ffffff 100%); }
.admin-body { background: #f2f7fb; }
.sidebar { background: #102c42; }
.card, .hero-card, .stat, .table-wrap, .modal, .mobile-job-card { border-color: var(--line); }
.service-web-card, .price-tile, .booking-picker, .day-card { background: #ffffff; border-color: var(--line); }
.notice { background: #fff8e6; border-color: #ffdf9d; color: #604300; }
.success { background: #eefcf4; border-color: #b8ebcc; color: #0f4c2a; }
.link-button {
  appearance: none;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
  color: var(--brand-dark);
  text-decoration: underline;
  display: inline;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.link-button:hover { color: var(--brand); background: transparent; }
.customer-name-link { color: var(--brand-dark); }
.finance-grid .stat strong { color: var(--text); }
.calendar-item.status-paid, .month-item.status-paid { background: #ddfbe9; border-color: #8fe2b1; color: #0f4c2a; }
.calendar-item.status-completed, .month-item.status-completed { background: #e5f5ff; border-color: #9cd4f4; color: #0d5f9a; }
.calendar-item.status-booked, .month-item.status-booked { background: #fff3d7; border-color: #ffd58a; color: #634200; }
.calendar-item.status-on-the-way, .month-item.status-on-the-way,
.calendar-item.status-in-progress, .month-item.status-in-progress { background: #ede9fe; border-color: #c4b5fd; color: #4c1d95; }
.calendar-item.status-cancelled-lost, .month-item.status-cancelled-lost { background: #fee2e2; border-color: #fecaca; color: #7f1d1d; }

html.theme-dark, html.theme-dark body, body.theme-dark {
  --bg: #0f1f2d;
  --panel: #172b3b;
  --text: #f3f8fc;
  --muted: #c5d6e2;
  --brand: #63c3ff;
  --brand-dark: #9bdbff;
  --accent: #ffd166;
  --line: #39556b;
  --shadow: 0 16px 36px rgba(0,0,0,.28);
  background: #0f1f2d !important;
  color: var(--text) !important;
}
html.theme-dark .admin-body, html.theme-dark body.admin-body, body.theme-dark.admin-body { background: #0f1f2d !important; }
html.theme-dark .sidebar, body.theme-dark .sidebar { background: #0b1824 !important; border-right: 1px solid var(--line); }
html.theme-dark .admin-main, body.theme-dark .admin-main { background: #0f1f2d; }
html.theme-dark .card,
html.theme-dark .hero-card,
html.theme-dark .stat,
html.theme-dark .table-wrap,
html.theme-dark .modal,
html.theme-dark .mobile-job-card,
html.theme-dark .service-web-card,
html.theme-dark .settings-panel,
html.theme-dark .day-card,
html.theme-dark .calendar-day,
html.theme-dark .booking-picker,
html.theme-dark .customer-slot,
html.theme-dark input,
html.theme-dark select,
html.theme-dark textarea,
body.theme-dark .card,
body.theme-dark .hero-card,
body.theme-dark .stat,
body.theme-dark .table-wrap,
body.theme-dark .modal,
body.theme-dark .mobile-job-card,
body.theme-dark .service-web-card,
body.theme-dark .settings-panel,
body.theme-dark .day-card,
body.theme-dark .calendar-day,
body.theme-dark .booking-picker,
body.theme-dark .customer-slot,
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea {
  background: var(--panel) !important;
  color: var(--text) !important;
  border-color: var(--line) !important;
}
html.theme-dark .mobile-topline,
html.theme-dark .mobile-customer,
html.theme-dark .check,
html.theme-dark .copy-line,
html.theme-dark .property-pill,
html.theme-dark .template-row,
html.theme-dark .mini-row,
html.theme-dark .opening-row,
html.theme-dark .report-filter,
html.theme-dark tr,
body.theme-dark .mobile-topline,
body.theme-dark .mobile-customer,
body.theme-dark .check,
body.theme-dark .copy-line,
body.theme-dark .property-pill,
body.theme-dark .template-row,
body.theme-dark .mini-row,
body.theme-dark .opening-row,
body.theme-dark .report-filter,
body.theme-dark tr {
  background: #132536 !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
}
html.theme-dark th, body.theme-dark th { background: #1c3447 !important; color: #e8f5ff !important; }
html.theme-dark p,
html.theme-dark .small,
html.theme-dark .nav-links,
body.theme-dark p,
body.theme-dark .small,
body.theme-dark .nav-links { color: var(--muted) !important; }
html.theme-dark label, body.theme-dark label { color: #e8f5ff !important; }
html.theme-dark .btn.secondary,
html.theme-dark button.secondary,
body.theme-dark .btn.secondary,
body.theme-dark button.secondary { background: #25445c !important; color: #eaf7ff !important; }
html.theme-dark .btn.ghost,
html.theme-dark button.ghost,
body.theme-dark .btn.ghost,
body.theme-dark button.ghost { color: #eaf7ff !important; border-color: var(--line) !important; }
html.theme-dark .notice, body.theme-dark .notice { background: #3b2b0f !important; border-color: #80601d !important; color: #ffe7a6 !important; }
html.theme-dark .success, body.theme-dark .success { background: #0f3422 !important; border-color: #2d8050 !important; color: #c9f8db !important; }
html.theme-dark .link-button, body.theme-dark .link-button { color: #9bdbff !important; }
html.theme-dark .mobile-money, body.theme-dark .mobile-money { color: #9bdbff !important; }
html.theme-dark .status, body.theme-dark .status { background: #25445c !important; color: #eaf7ff !important; }
html.theme-dark .status-paid, html.theme-dark .status.paid, body.theme-dark .status-paid, body.theme-dark .status.paid { background: #14532d !important; color: #d1fae5 !important; }

/* v14 polish: clearer public website colours, invoice-style builders, sales, finance tables */
:root {
  --site-bg: #f6fbff;
  --site-panel: #ffffff;
  --site-text: #102334;
  --site-muted: #526b7d;
  --brand-soft: rgba(78, 181, 240, .14);
}

body:not(.theme-dark) .site-shell,
body:not(.theme-dark) .public-shell,
body:not(.theme-dark) main.public-shell {
  background: linear-gradient(180deg, #f6fbff 0%, #ffffff 55%, #eef8ff 100%);
  color: var(--site-text);
}

body:not(.theme-dark) .hero,
body:not(.theme-dark) .section,
body:not(.theme-dark) .hero-card,
body:not(.theme-dark) .service-web-card,
body:not(.theme-dark) .quote-card,
body:not(.theme-dark) .booking-picker,
body:not(.theme-dark) .day-card {
  background: var(--site-panel);
  color: var(--site-text);
  border-color: #d6e7f3;
}

body:not(.theme-dark) .price-tile {
  background: #ffffff;
  color: var(--site-text);
  border: 1px solid #d6e7f3;
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 10px;
  box-shadow: 0 10px 24px rgba(16,35,52,.05);
}
body:not(.theme-dark) .price-tile .small,
body:not(.theme-dark) .service-web-card p,
body:not(.theme-dark) .quote-card p,
body:not(.theme-dark) .section p { color: var(--site-muted); }

body.theme-dark {
  --bg: #0b1722;
  --panel: #122636;
  --panel-2: #173247;
  --text: #f2f8fc;
  --muted: #b9d2e4;
  --line: #35546a;
  --brand: #4eb5f0;
  --brand-dark: #1f79b5;
}
body.theme-dark .site-shell,
body.theme-dark .public-shell,
body.theme-dark main.public-shell {
  background: linear-gradient(180deg, #0b1722 0%, #102334 55%, #0b1722 100%) !important;
  color: var(--text) !important;
}
body.theme-dark .hero,
body.theme-dark .section,
body.theme-dark .hero-card,
body.theme-dark .service-web-card,
body.theme-dark .quote-card,
body.theme-dark .booking-picker,
body.theme-dark .day-card,
body.theme-dark .price-tile {
  background: #132a3b !important;
  color: var(--text) !important;
  border-color: #35546a !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
body.theme-dark .price-tile {
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 10px;
}
body.theme-dark .price-tile strong,
body.theme-dark .price-tile b,
body.theme-dark .service-web-card h3,
body.theme-dark .hero-card h3 { color: #f7fbff !important; }
body.theme-dark .price-tile .small,
body.theme-dark .service-web-card p,
body.theme-dark .quote-card p,
body.theme-dark .section p { color: #c6d9e6 !important; }
body.theme-dark .tag,
body.theme-dark .badge {
  background: #0f3b5b !important;
  color: #d8f2ff !important;
}

.quote-service-picker {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}
.quote-service-card {
  display: grid;
  grid-template-columns: auto 92px minmax(0,1fr) auto 92px;
  gap: 14px;
  align-items: center;
  border: 1px solid #d6e7f3;
  border-radius: 22px;
  padding: 14px;
  background: #fff;
  color: var(--site-text);
  cursor: pointer;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.quote-service-card:hover { transform: translateY(-1px); border-color: var(--brand); box-shadow: 0 12px 28px rgba(16,35,52,.08); }
.quote-service-card.selected { background: #eef8ff; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(78,181,240,.16); }
.quote-service-card img { width: 92px; height: 70px; border-radius: 16px; object-fit: cover; background: #e8f3fa; }
.quote-service-card span { display: grid; gap: 3px; }
.quote-service-card small { color: var(--site-muted); }
.quote-service-card em { font-style: normal; color: var(--site-muted); font-size: .9rem; line-height: 1.35; }
.quote-service-card b { color: #1688d3; white-space: nowrap; }
.quote-service-card input[type="number"] { max-width: 92px; }
body.theme-dark .quote-service-card { background: #132a3b; color: var(--text); border-color: var(--line); }
body.theme-dark .quote-service-card.selected { background: #173247; border-color: var(--brand); }
body.theme-dark .quote-service-card small,
body.theme-dark .quote-service-card em { color: var(--muted); }

.sale-banner {
  grid-column: 1 / -1;
  border: 1px solid rgba(22, 136, 211, .25);
  background: linear-gradient(135deg, #e9f7ff, #f7fbff);
  color: #102334;
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.sale-banner strong { color: #0c5f94; }
.sale-ribbon {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 10px;
  background: #dff5e8;
  color: #146c3e;
  font-weight: 800;
  font-size: .82rem;
}
body.theme-dark .sale-banner { background: linear-gradient(135deg, #123247, #0d2333); color: var(--text); border-color: #2b668b; }
body.theme-dark .sale-banner strong { color: #9cdbff; }
body.theme-dark .sale-ribbon { background: #153d2a; color: #b9f3cf; }

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.dash-metric {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 16px;
  background: var(--panel);
}
.dash-metric b { display:block; font-size: 1.8rem; line-height: 1; margin: 6px 0; color: var(--brand); }
.dash-list { grid-column: span 2; }
.dash-list ul { padding-left: 18px; margin: 8px 0 0; }

.invoice-builder .table-wrap { margin-top: 10px; }
.invoice-builder table input,
.invoice-builder table select { min-width: 110px; }
.invoice-builder table th,
.invoice-builder table td { vertical-align: middle; }
.job-builder-shell {
  display: grid;
  gap: 16px;
  margin-top: 12px;
}
.job-builder-section {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px;
  background: var(--panel);
}
.job-builder-head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.job-builder-head h3 {
  margin: 0;
}
.job-builder-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.job-builder-hint {
  margin-top: 8px;
}
.customer-search-field {
  position: relative;
  margin-bottom: 14px;
}
.customer-search-results {
  display: grid;
  gap: 7px;
  max-height: 280px;
  margin-top: 8px;
  overflow-y: auto;
}
.customer-search-result,
.selected-customer-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, .8fr);
  gap: 14px;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel-2, #f6fbff);
  color: var(--text);
  text-align: left;
}
.customer-search-result:hover,
.customer-search-result:focus-visible {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(18, 145, 190, .12);
}
.customer-search-result span:first-child,
.selected-customer-card span:first-child {
  display: grid;
  gap: 3px;
}
.customer-search-result small,
.selected-customer-card small,
.customer-search-address {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
.customer-search-address {
  text-align: right;
}
.selected-customer-card {
  grid-template-columns: minmax(0, 1fr) auto;
  border-color: #8fcfe4;
  background: #eefaff;
}
.customer-search-empty {
  padding: 12px 14px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.customer-property-picker {
  margin-bottom: 14px;
}
.job-builder-actions {
  position: sticky;
  bottom: 0;
  padding-top: 10px;
  background: linear-gradient(180deg, rgba(247,251,255,0), rgba(247,251,255,0.95) 22%, rgba(247,251,255,1) 100%);
}
.invoice-builder-mobile td[data-label]::before {
  content: attr(data-label);
  display: none;
}
.invoice-total-box {
  margin-top: 12px;
  border: 1px solid var(--line);
  background: var(--panel-2, #f6fbff);
  border-radius: 18px;
  padding: 14px;
  text-align: right;
}
.sort-head { cursor: pointer; user-select: none; color: inherit; }
.sort-head::after { content: ' <->'; opacity: .55; font-size: .85em; }
.finance-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin:12px 0; }
.merge-results { display: grid; gap: 8px; margin-top: 12px; max-height: 360px; overflow: auto; }
.merge-option {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
}
.merge-option:hover { border-color: var(--brand); }

.csv-preview-card { border:1px solid var(--line); border-radius:18px; padding:14px; background:var(--panel); }

@media (max-width: 900px) {
  .quote-service-card { grid-template-columns: auto 72px 1fr; }
  .quote-service-card b,
  .quote-service-card input[type="number"] { grid-column: 3; }
  .quote-service-card img { width: 72px; height: 58px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dash-list { grid-column: span 1; }
  .finance-toolbar { align-items: stretch; flex-direction: column; }
}

@media (max-width: 780px) {
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 15;
  }
  .side-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .side-nav::-webkit-scrollbar {
    display: none;
  }
  .side-nav .tab-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    min-width: max-content;
  }
  .admin-top {
    position: sticky;
    top: 0;
    z-index: 14;
    padding-top: 10px;
    padding-bottom: 12px;
    background: rgba(247, 251, 255, 0.96);
    backdrop-filter: blur(10px);
  }
  .job-builder-section {
    padding: 14px;
    border-radius: 18px;
  }
  .customer-search-result {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .customer-search-address {
    text-align: left;
  }
  .job-builder-actions {
    grid-template-columns: 1fr;
  }
  .invoice-builder-mobile {
    border-collapse: separate;
    border-spacing: 0;
  }
  .invoice-builder-mobile thead {
    display: none;
  }
  .invoice-builder-mobile,
  .invoice-builder-mobile tbody,
  .invoice-builder-mobile tr,
  .invoice-builder-mobile td {
    display: block;
    width: 100%;
  }
  .invoice-builder-mobile tr {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 12px;
    background: white;
    margin-bottom: 10px;
    box-shadow: 0 8px 18px rgba(14, 36, 53, 0.05);
  }
  .invoice-builder-mobile td {
    border: 0;
    padding: 0;
    margin-bottom: 10px;
  }
  .invoice-builder-mobile td:last-child {
    margin-bottom: 0;
  }
  .invoice-builder-mobile td[data-label]::before {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .invoice-builder-mobile td[data-label="Action"] button {
    width: 100%;
  }
}

/* SaaS-ready local MVP controls */
.saas-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.tenant-chip {
  border: 1px solid var(--line);
  background: #f8fbfd;
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 0;
}
.tenant-chip span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
}
.tenant-chip strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.feature-flag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
}
.flag-pill {
  border: 1px solid var(--line);
  background: #f8fafc;
  color: #475569;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}
.flag-pill.on {
  background: #e7f8ee;
  color: #166534;
  border-color: #a7e2bb;
}
.backup-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
html.theme-dark .tenant-chip,
body.theme-dark .tenant-chip,
html.theme-dark .flag-pill,
body.theme-dark .flag-pill {
  background: #0f1d2a !important;
  border-color: #36536a !important;
  color: #e2e8f0 !important;
}
@media(max-width:780px){
  .saas-status-grid { grid-template-columns: 1fr; }
  .backup-list .mini-row { align-items: stretch; }
}

/* v15 polish: clean service cards, safer dark mode, simpler sale service selection */
body:not(.theme-dark) {
  --bg: #f6fbff;
  --panel: #ffffff;
  --panel-2: #eef7ff;
  --text: #102334;
  --muted: #536c7e;
  --line: #d9e8f2;
  --brand: #1691dc;
  --brand-dark: #0d5f95;
}
body:not(.theme-dark) .admin-body,
body:not(.theme-dark).admin-body { background: #f6fbff; }
body:not(.theme-dark) .card,
body:not(.theme-dark) .hero-card,
body:not(.theme-dark) .service-web-card,
body:not(.theme-dark) .quote-card,
body:not(.theme-dark) .day-card,
body:not(.theme-dark) .booking-picker { background: #ffffff !important; color: #102334 !important; }
body:not(.theme-dark) .price-tile { background: #ffffff !important; color: #102334 !important; }
body:not(.theme-dark) .price,
body:not(.theme-dark) .service-price { color: #0d5f95 !important; }
body.theme-dark {
  --bg: #0f1e2a;
  --panel: #162b3b;
  --panel-2: #1c3548;
  --text: #f4f9fd;
  --muted: #c7dcec;
  --line: #42647c;
  --brand: #54bcf5;
  --brand-dark: #2b90ca;
}
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea { background: #102334 !important; color: #f4f9fd !important; border-color: #42647c !important; }
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder { color: #8eb1c9 !important; }
body.theme-dark .card,
body.theme-dark .modal,
body.theme-dark .table-wrap,
body.theme-dark .calendar-day,
body.theme-dark .mobile-job-card,
body.theme-dark .editor-card,
body.theme-dark .day-card,
body.theme-dark .hero-card,
body.theme-dark .service-web-card,
body.theme-dark .booking-picker { background: #162b3b !important; color: #f4f9fd !important; border-color: #42647c !important; }
body.theme-dark table th { background: #102334 !important; color: #dff3ff !important; }
body.theme-dark table td { color: #f4f9fd !important; border-color: #42647c !important; }
body.theme-dark .small,
body.theme-dark p { color: #c7dcec !important; }
body.theme-dark .hero-card .price-tile,
body.theme-dark .price-tile,
body.theme-dark .quote-service-card { background: #102334 !important; color: #f4f9fd !important; border-color: #42647c !important; }
body.theme-dark .quote-service-card.selected { background: #173e59 !important; border-color: #54bcf5 !important; box-shadow: 0 0 0 4px rgba(84,188,245,.18) !important; }
body.theme-dark .quote-service-card strong,
body.theme-dark .quote-service-card b,
body.theme-dark .service-web-card h3,
body.theme-dark .hero-card h3 { color: #ffffff !important; }
body.theme-dark .quote-service-card small,
body.theme-dark .quote-service-card em { color: #c7dcec !important; }
body.theme-dark .admin-top,
body.theme-dark .admin-top h2,
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3 { color: #ffffff !important; }
body.theme-dark .warn-card { background:#422006!important; border-color:#9a3412!important; color:#fed7aa!important; }

.quote-service-picker { gap: 10px !important; }
.quote-service-toolbar,
.sale-service-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 10px 12px;
  background: var(--panel-2, #eef7ff);
}
.check.compact { margin: 0; padding: 7px 9px; border-radius: 12px; }
.quote-service-card {
  grid-template-columns: auto 72px minmax(0, 1fr) 96px !important;
  gap: 12px !important;
  padding: 12px !important;
  min-height: 112px;
}
.quote-service-card img,
.service-mini-icon {
  width: 72px !important;
  height: 58px !important;
  border-radius: 14px;
  object-fit: cover;
  background: #e7f5ff;
  display: grid;
  place-items: center;
  color: #0d5f95;
  font-weight: 900;
}
.quote-service-card .quote-service-copy { display: block !important; min-width: 0; }
.quote-service-card .quote-service-copy strong { display: block; font-size: 1rem; line-height: 1.15; margin-bottom: 3px; }
.quote-service-card .quote-service-copy small { display: block; font-weight: 800; margin-bottom: 4px; }
.quote-service-card .quote-service-copy em {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .88rem !important;
}
.quote-service-card .qty-wrap { display: grid; gap: 5px; justify-items: start; }
.quote-service-card .qty-wrap input { max-width: 88px !important; }
.sale-service-grid.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  max-height: none;
  overflow: visible;
}
.sale-card { background: var(--panel) !important; }
.sidebar {
  background: linear-gradient(180deg, #0e2940 0%, #0b2133 100%);
  border-right: 1px solid rgba(255,255,255,.06);
}
.admin-top {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 16px 18px;
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 34px rgba(14,36,53,.05);
}
.stat-grid .stat {
  border-radius: 22px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(14,36,53,.04);
}
.table-wrap table tbody tr:hover {
  background: #f7fbff;
}
.mini-row {
  border-radius: 16px;
}
@media (max-width: 700px) {
  .quote-service-card { grid-template-columns: auto 54px 1fr !important; align-items: start; }
  .quote-service-card .qty-wrap { grid-column: 3; max-width: 110px; }
  .quote-service-card img,
  .service-mini-icon { width: 54px !important; height: 48px !important; }
  .quote-service-toolbar,
  .sale-service-toolbar { align-items: flex-start; flex-direction: column; }
}

/* v16: cleaner rebook service quantity cards */
.service-rebook-list{
  display:grid;
  gap:10px;
}
.rebook-service-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 140px 140px;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  transition:.15s ease;
}
.rebook-service-card.selected{
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(14,165,233,.12);
  background:#eef8ff;
}
.rebook-service-main{
  display:grid;
  grid-template-columns:auto 62px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:0;
}
.rebook-service-main img,
.rebook-mini{
  width:62px!important;
  height:48px!important;
  border-radius:14px;
  object-fit:cover;
}
.rebook-service-copy strong{display:block;line-height:1.15}.rebook-service-copy small{display:block;font-weight:800;color:var(--muted);margin-top:2px}.rebook-service-copy em{display:block;color:var(--muted);font-size:.86rem;line-height:1.25;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qty-stepper{display:flex;align-items:center;justify-content:center;gap:6px}.qty-stepper input{max-width:62px!important;text-align:center;padding:10px 6px}.qty-btn{width:36px;height:36px;border-radius:999px;padding:0;display:grid;place-items:center;font-size:1.1rem;font-weight:900}.rebook-line-total{font-weight:900;text-align:right;color:var(--brand-dark)}.rebook-line-total small{display:block;color:var(--muted);font-size:.78rem;font-weight:800;margin-top:2px}.theme-dark .rebook-service-card{background:#0f1d2a!important;border-color:#36536a!important;color:#f3f8fc!important}.theme-dark .rebook-service-card.selected{background:#173e59!important;border-color:#54bcf5!important}.theme-dark .rebook-service-copy small,.theme-dark .rebook-service-copy em,.theme-dark .rebook-line-total small{color:#c7dcec!important}.theme-dark .rebook-line-total{color:#9bddff!important}
@media(max-width:760px){.rebook-service-card{grid-template-columns:1fr;align-items:stretch}.rebook-service-main{grid-template-columns:auto 52px minmax(0,1fr)}.rebook-service-main img,.rebook-mini{width:52px!important;height:44px!important}.qty-stepper{justify-content:flex-start}.rebook-line-total{text-align:left}}

/* v17 pricing page and sale campaign hardening */
.pricing-page {
  padding-top: 42px;
}
.pricing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 22px;
  align-items: end;
  margin-bottom: 24px;
}
.pricing-hero h1 {
  font-size: 56px;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 14px;
}
.pricing-hero p {
  max-width: 680px;
  margin-bottom: 0;
}
.pricing-helper {
  border: 1px solid var(--line);
  background: #ffffff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(14, 36, 53, .05);
}
.pricing-helper strong,
.pricing-helper span {
  display: block;
}
.pricing-helper span {
  color: var(--muted);
  line-height: 1.45;
  margin-top: 5px;
}
.service-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
.pricing-grid {
  gap: 20px;
}
.pricing-service-card {
  min-width: 0;
  overflow: hidden;
  padding: 0;
  gap: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border-radius: 20px;
}
.pricing-card-media {
  position: relative;
  overflow: hidden;
  background: #e9f5fc;
  border-bottom: 1px solid var(--line);
}
.pricing-card-media .service-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.service-image-fallback {
  min-height: 170px;
  display: grid !important;
  place-items: center;
  color: var(--brand-dark);
  font-size: 32px;
  font-weight: 950;
}
.pricing-card-media .sale-ribbon {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  max-width: calc(100% - 24px);
  white-space: normal;
  overflow-wrap: anywhere;
}
.pricing-card-body {
  display: grid;
  gap: 12px;
  padding: 18px;
  min-width: 0;
}
.pricing-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.pricing-service-card h3 {
  font-size: 21px;
  line-height: 1.15;
  letter-spacing: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.pricing-price-panel {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7fbff;
  padding: 10px;
}
.pricing-amount-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.pricing-amount-row span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.pricing-amount-row strong {
  color: var(--brand-dark);
  font-size: 23px;
  line-height: 1;
  white-space: nowrap;
}
.pricing-amount-row s {
  grid-column: 2;
  color: #7c93a3;
  font-size: 13px;
  font-weight: 800;
  text-align: right;
}
.pricing-sale-note {
  border-radius: 999px;
  background: #dff5e8;
  color: #146c3e;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
}
.pricing-inclusions {
  display: grid;
  gap: 7px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pricing-inclusions li {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pricing-inclusions li::before {
  content: "✓";
  color: var(--good);
  font-weight: 950;
  margin-right: 7px;
}
.pricing-card-actions {
  padding: 0 18px 18px;
  align-self: end;
}
.pricing-card-actions .btn {
  width: 100%;
  border-radius: 14px;
}
.pricing-sale-banner {
  margin: 0;
  min-width: 0;
}
.pricing-sale-banner div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.pricing-sale-banner strong,
.pricing-sale-banner span,
.pricing-sale-banner small {
  overflow-wrap: anywhere;
}
.sale-kicker {
  color: var(--brand-dark);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sale-card {
  min-width: 0;
  overflow: hidden;
}
.sale-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.sale-card-head div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.sale-card-head strong,
.sale-card-head small {
  overflow-wrap: anywhere;
}
.sale-status-pill {
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.sale-status-pill.on {
  background: #e7f8ee;
  color: #166534;
}
.sale-status-pill.off {
  background: #f1f5f9;
  color: #64748b;
}
.sale-preview {
  border: 1px solid #c7ead3;
  background: #f0fdf4;
  color: #14532d;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.sale-preview span {
  display: block;
  color: #47745a;
  font-size: 12px;
  font-weight: 800;
  margin-top: 2px;
}
.sale-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 12px;
}
.sale-show-check {
  width: fit-content;
  max-width: 100%;
}
.sale-service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 8px;
  max-height: none;
  overflow: visible;
}
.sale-service-option {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  background: #f8fbfd;
}
.sale-service-option input {
  width: auto;
  margin-top: 3px;
  flex: 0 0 auto;
}
.sale-service-option span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.sale-service-option strong,
.sale-service-option small {
  overflow-wrap: anywhere;
}
.sale-service-option small {
  color: var(--muted);
  font-weight: 800;
}
body.theme-dark .pricing-helper,
body.theme-dark .pricing-price-panel,
body.theme-dark .sale-service-option {
  background: #102334 !important;
  border-color: #42647c !important;
}
body.theme-dark .pricing-card-media {
  background: #102334;
  border-color: #42647c;
}
body.theme-dark .pricing-amount-row strong {
  color: #9bddff;
}
body.theme-dark .pricing-amount-row s {
  color: #9bb7ca;
}
body.theme-dark .pricing-sale-note,
body.theme-dark .sale-status-pill.on,
body.theme-dark .sale-ribbon {
  background: #153d2a !important;
  color: #b9f3cf !important;
}
body.theme-dark .sale-preview {
  background: #0f3422 !important;
  border-color: #2d8050 !important;
  color: #c9f8db !important;
}
body.theme-dark .sale-preview span {
  color: #a7e6bf;
}
@media(max-width:780px){
  .pricing-page { padding-top: 28px; }
  .pricing-hero { grid-template-columns: 1fr; align-items: stretch; }
  .pricing-hero h1 { font-size: 40px; }
  .pricing-sale-banner { align-items: flex-start; flex-direction: column; }
  .sale-card-head { align-items: stretch; flex-direction: column; }
  .sale-show-check { width: 100%; }
}

/* public website refresh */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.site-brand {
  display: flex;
  align-items: center;
  min-width: 0;
}
.site-brand img {
  width: clamp(190px, 22vw, 320px);
  height: 64px;
  object-fit: contain;
  object-position: left center;
}
.nav-cta-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.phone-chip {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  color: var(--text);
  box-shadow: 0 10px 22px rgba(14, 36, 53, .07);
}
.phone-chip span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.phone-chip strong {
  font-size: 15px;
  line-height: 1;
}
.hero-photo-shell {
  padding-top: 32px;
}
.hero-photo {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border-radius: 28px;
  background: #e7f1f8;
  box-shadow: 0 24px 56px rgba(14, 36, 53, .12);
}
.hero-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-overlay {
  position: relative;
  z-index: 1;
  min-height: 640px;
  display: flex;
  align-items: stretch;
  padding: 24px;
  background: linear-gradient(90deg, rgba(246, 251, 255, .92) 0%, rgba(246, 251, 255, .78) 40%, rgba(246, 251, 255, .18) 68%, rgba(246, 251, 255, 0) 100%);
}
.hero-copy-card {
  width: min(540px, 100%);
  display: grid;
  align-content: center;
  gap: 16px;
  padding: clamp(18px, 3vw, 34px);
}
.hero-copy-card h1 {
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: .96;
  letter-spacing: 0;
  margin: 0;
}
.hero-copy-card p {
  margin: 0;
  max-width: 46ch;
}
.hero-points,
.contact-strip,
.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-points span,
.contact-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(219,232,243,.95);
  color: var(--brand-dark);
  font-weight: 900;
}
.contact-pill {
  display: grid;
  gap: 2px;
  color: var(--text);
}
.contact-pill strong {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.section-tight {
  padding-top: 24px;
}
.section-copy {
  margin-bottom: 20px;
}
.section-lead {
  max-width: 760px;
}
.trust-grid,
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.trust-card {
  gap: 10px;
}
.process-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.process-image,
.feature-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.feature-image-large {
  aspect-ratio: 16 / 11;
}
.feature-image-tall {
  aspect-ratio: 4 / 3;
}
.process-copy {
  display: grid;
  gap: 10px;
  padding: 18px;
}
.process-copy h3,
.feature-card h3 {
  margin: 0;
}
.feature-card {
  display: grid;
  grid-template-columns: minmax(240px, .95fr) minmax(0, 1.05fr);
  gap: 18px;
  align-items: center;
}
.feature-card-large {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}
.cta-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(135deg, #f4faff, #fff);
  box-shadow: var(--shadow);
}
.footer-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-logo {
  width: clamp(190px, 22vw, 260px);
  height: 64px;
  object-fit: contain;
  object-position: left center;
}
.footer-links a {
  color: var(--muted);
}
.footer-links strong {
  color: var(--text);
}
.pricing-hero-wide {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  align-items: stretch;
}
.pricing-helper-rich {
  display: grid;
  gap: 12px;
}
.quote-layout-grid {
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
}
.quote-intro,
.quote-form-card,
.quote-intro-card,
.quote-info-card,
.contact-card {
  display: grid;
  gap: 16px;
}
.contact-card {
  grid-template-columns: minmax(0, 1fr);
}
.contact-list {
  display: grid;
  gap: 10px;
}
.contact-list a {
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fbfd;
}
.contact-list strong {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.service-detail-hero {
  display: grid;
  gap: 20px;
}
.service-process-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.theme-dark .phone-chip,
body.theme-dark .hero-points span,
body.theme-dark .contact-pill,
body.theme-dark .cta-banner,
body.theme-dark .contact-list a {
  background: rgba(15, 29, 42, .9) !important;
  border-color: #36536a !important;
  color: #f4f9fd !important;
}
body.theme-dark .hero-overlay {
  background: linear-gradient(90deg, rgba(8, 19, 29, .92) 0%, rgba(8, 19, 29, .78) 42%, rgba(8, 19, 29, .22) 72%, rgba(8, 19, 29, 0) 100%);
}
body.theme-dark .phone-chip span,
body.theme-dark .contact-pill strong,
body.theme-dark .contact-list strong {
  color: #c7dcec !important;
}
@media (max-width: 980px) {
  .nav-inner {
    flex-wrap: wrap;
  }
  .nav-links {
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
  .nav-cta-group {
    width: 100%;
    justify-content: space-between;
  }
  .hero-photo,
  .hero-overlay {
    min-height: 560px;
  }
  .trust-grid,
  .process-grid,
  .feature-card,
  .feature-card-large,
  .pricing-hero-wide,
  .quote-layout-grid,
  .service-process-grid {
    grid-template-columns: 1fr;
  }
  .cta-banner,
  .footer-grid {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 720px) {
  .site-brand img,
  .footer-logo {
    width: 210px;
    height: 52px;
  }
  .phone-chip,
  .hero-points span,
  .contact-pill {
    width: 100%;
  }
  .nav-cta-group {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-photo-shell {
    padding-top: 18px;
  }
  .hero-photo,
  .hero-overlay {
    min-height: 540px;
  }
  .hero-overlay {
    padding: 16px;
    background: linear-gradient(180deg, rgba(246, 251, 255, .9) 0%, rgba(246, 251, 255, .78) 48%, rgba(246, 251, 255, .18) 100%);
  }
  .hero-copy-card {
    padding: 8px 0;
  }
}

/* v18 admin shell and workflow polish */
.admin-body {
  background:
    radial-gradient(circle at top right, rgba(94, 196, 255, .10), transparent 26%),
    linear-gradient(180deg, #edf5fb 0%, #f7fbff 30%, #f5f8fb 100%);
}
.admin-shell {
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 0;
}
.sidebar {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 22px 18px 22px 22px;
  background: linear-gradient(180deg, #0c2438 0%, #102d43 48%, #0a1d2d 100%);
  border-right: 1px solid rgba(255,255,255,.08);
}
.sidebar-brand {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.sidebar-brand .logo {
  justify-content: flex-start;
}
.sidebar-brand-copy {
  display: grid;
  gap: 6px;
}
.sidebar-kicker,
.side-group-title {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9ac4df;
}
.sidebar-brand-copy strong {
  font-size: 18px;
  letter-spacing: -.02em;
  color: #fff;
}
.sidebar-brand-copy p,
.sidebar-summary p {
  margin: 0;
  color: #bdd2e0;
  line-height: 1.55;
  font-size: 13px;
}
.sidebar-summary {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}
.sidebar-summary strong {
  font-size: 24px;
  line-height: 1;
  color: #fff;
}
.sidebar-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.sidebar-summary-grid span {
  display: block;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  color: #d9e9f4;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}
.side-group {
  display: grid;
  gap: 8px;
}
.side-nav {
  gap: 7px;
  margin-top: 0;
}
.side-nav button {
  justify-content: space-between;
  align-items: center;
  min-height: 46px;
  padding: 11px 13px;
  color: #d2e3ef;
  border-radius: 16px;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.side-nav button:hover {
  transform: translateX(1px);
}
.side-nav button.active,
.side-nav button:hover {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.08);
}
.tab-btn-label {
  font-weight: 800;
}
.tab-count {
  min-width: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}
.tab-btn.active .tab-count {
  background: #ffffff;
  color: #0f3550;
}
.sidebar-utility-links {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}
.sidebar-utility-links .btn {
  width: 100%;
}
.admin-main {
  padding: 20px 22px 28px;
}
.admin-top {
  position: sticky;
  top: 12px;
  z-index: 18;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 16px;
}
.admin-title-block {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.admin-title-block h2 {
  margin: 0;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
}
.admin-summary {
  margin: 0;
  max-width: 760px;
  font-size: 14px;
  color: #4c6476;
}
.admin-top-controls {
  flex: 0 0 min(520px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.admin-top-controls .actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
}
.admin-search {
  min-width: 0;
  max-width: none;
  height: 48px;
  padding-inline: 16px;
  border-radius: 16px;
  border-color: #cfe0ec;
  box-shadow: inset 0 1px 2px rgba(14,36,53,.03);
}
.admin-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.admin-quick-actions .btn,
.admin-quick-actions button {
  border-radius: 14px;
  box-shadow: none;
  padding: 10px 14px;
}
.admin-quick-actions .btn.ghost,
.admin-quick-actions button.ghost {
  background: rgba(255,255,255,.75);
}
.stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
}
.stat {
  display: grid;
  gap: 6px;
  min-height: 104px;
  align-content: start;
}
.stat .small {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.stat strong {
  font-size: 31px;
}
.admin-section > .card,
.admin-section .grid-2 > .card,
.admin-section .grid-3 > .card {
  box-shadow: 0 14px 34px rgba(14,36,53,.04);
}
.section-head {
  align-items: center;
}
.section-head > div {
  min-width: 0;
}
.section-head h3 {
  margin-bottom: 6px;
}
.table-wrap {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(14,36,53,.04);
}
.table-wrap table {
  font-size: 13px;
}
.table-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding-top: 14px;
  padding-bottom: 14px;
  background: #f3f8fc;
}
.table-wrap tbody tr {
  transition: background .14s ease;
}
.table-wrap table tbody tr:hover {
  background: #f8fbfe;
}
td {
  line-height: 1.45;
}
.actions {
  gap: 6px;
}
.actions button,
.actions .btn {
  border-radius: 12px;
  font-size: 11px;
  padding: 8px 10px;
  box-shadow: none;
}
.status {
  padding: 6px 10px;
  font-size: 11px;
  letter-spacing: .02em;
}
.mini-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  background: #f7fbfe;
  border: 1px solid #deebf3;
}
.mini-row + .mini-row {
  margin-top: 8px;
}
.mini-row button {
  flex-shrink: 0;
}
.dashboard-grid {
  grid-template-columns: 1.3fr 1fr;
  gap: 16px;
  align-items: start;
}
.dashboard-panel {
  display: grid;
  gap: 14px;
}
.dashboard-panel .card {
  padding: 22px;
}
.dashboard-stack {
  display: grid;
  gap: 16px;
}
.dashboard-list {
  display: grid;
  gap: 12px;
  margin-top: 4px;
}
.dashboard-empty {
  padding: 16px;
  border-radius: 18px;
  background: #f7fbfe;
  border: 1px dashed #cfe0ec;
  color: #5a7386;
}
.dashboard-panel > .card:first-child {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.dashboard-panel > .card:first-child .dashboard-chip {
  background: #ffffff;
  border: 1px solid #d8e8f3;
}
.dashboard-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dashboard-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-radius: 999px;
  background: #eef6fb;
  color: #17415f;
  font-size: 12px;
  font-weight: 800;
}
.dashboard-chip b {
  font-size: 12px;
  color: inherit;
  margin: 0;
}
.dashboard-tally-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.dashboard-tally {
  padding: 14px;
  border-radius: 18px;
  background: #f8fbfd;
  border: 1px solid var(--line);
}
.dashboard-tally span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
}
.dashboard-tally strong {
  display: block;
  font-size: 22px;
  letter-spacing: -.03em;
}
.admin-section .card {
  overflow: hidden;
}
.admin-section .card > p {
  max-width: 74ch;
}
.admin-section .section-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e4eef5;
}
.admin-section .section-head .actions {
  align-items: center;
}
.admin-section .section-head p {
  line-height: 1.55;
}
.mini-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}
.mini-row span {
  min-width: 0;
}
.mini-row strong {
  display: inline-block;
  margin-bottom: 2px;
}
.mini-row small {
  display: inline-block;
  line-height: 1.45;
}
.calendar-unpaid button.mini-row {
  width: 100%;
  color: var(--text);
  background: #f7fbfe;
  box-shadow: none;
  text-align: left;
}
.calendar-unpaid button.mini-row:hover {
  color: var(--brand-dark);
  background: #e8f3fb;
}
html.theme-dark .calendar-unpaid button.mini-row,
body.theme-dark .calendar-unpaid button.mini-row {
  color: #f3f8fc;
  background: #0f1d2a;
  border-color: #36536a;
}
.dashboard-list .mini-row button,
.dashboard-panel > .card:first-child > .mini-row button {
  align-self: center;
}
.empty-inline {
  color: #678091;
  font-size: 13px;
}
.customer-name-link strong {
  font-size: inherit;
}
html.theme-dark .admin-summary,
body.theme-dark .admin-summary {
  color: #bfd3e3;
}
html.theme-dark .sidebar-summary,
body.theme-dark .sidebar-summary,
html.theme-dark .sidebar-summary-grid span,
body.theme-dark .sidebar-summary-grid span {
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}
html.theme-dark .admin-search,
body.theme-dark .admin-search {
  background: #102131;
  border-color: #34516a;
  color: #f3f8fc;
}
html.theme-dark .admin-quick-actions .btn.ghost,
html.theme-dark .admin-quick-actions button.ghost,
body.theme-dark .admin-quick-actions .btn.ghost,
body.theme-dark .admin-quick-actions button.ghost,
html.theme-dark .mini-row,
body.theme-dark .mini-row,
html.theme-dark .dashboard-chip,
body.theme-dark .dashboard-chip,
html.theme-dark .dashboard-tally,
body.theme-dark .dashboard-tally,
html.theme-dark .dashboard-empty,
body.theme-dark .dashboard-empty {
  background: #102131;
  border-color: #34516a;
  color: #e1eef7;
}
html.theme-dark .dashboard-tally span,
body.theme-dark .dashboard-tally span,
html.theme-dark .empty-inline,
body.theme-dark .empty-inline {
  color: #bfd3e3;
}
html.theme-dark .admin-section .section-head,
body.theme-dark .admin-section .section-head {
  border-bottom-color: #34516a;
}
html.theme-dark .dashboard-panel > .card:first-child,
body.theme-dark .dashboard-panel > .card:first-child {
  background: linear-gradient(180deg, #13293c 0%, #102131 100%);
}
html.theme-dark .dashboard-panel > .card:first-child .dashboard-chip,
body.theme-dark .dashboard-panel > .card:first-child .dashboard-chip {
  background: #0f2334;
  border-color: #34516a;
}
@media (max-width: 1180px) {
  .admin-shell {
    grid-template-columns: 264px minmax(0, 1fr);
  }
  .admin-top {
    align-items: flex-start;
  }
  .admin-top-controls {
    flex-basis: 420px;
    grid-template-columns: 1fr;
  }
  .admin-top-controls .actions {
    justify-content: flex-start;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .sidebar {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
    padding: 12px 12px 10px;
    gap: 10px;
  }
  .sidebar-brand {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 18px;
  }
  .sidebar-brand .logo img {
    max-height: 42px;
    width: auto;
  }
  .sidebar-brand-copy {
    gap: 3px;
  }
  .sidebar-brand-copy strong {
    font-size: 15px;
  }
  .sidebar-brand-copy p,
  .sidebar-summary,
  .sidebar-utility-links,
  .side-group-title {
    display: none;
  }
  .sidebar-summary-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .side-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
    scroll-snap-type: x proximity;
  }
  .side-nav button {
    flex: 0 0 auto;
    min-width: max-content;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 999px;
    scroll-snap-align: start;
  }
  .tab-count {
    min-width: 22px;
    padding: 3px 7px;
    font-size: 10px;
  }
  .admin-main {
    padding: 12px;
  }
  .admin-top {
    position: static;
    top: auto;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
  }
  .admin-title-block {
    gap: 4px;
  }
  .admin-title-block h2 {
    font-size: 26px;
  }
  .admin-summary {
    font-size: 13px;
  }
  .admin-top-controls {
    width: 100%;
  }
  .admin-search {
    height: 44px;
  }
  .admin-quick-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  #section-dashboard .section-head p,
  #section-jobs .section-head p,
  #section-leads .section-head p,
  #section-reminders .section-head p,
  #section-finance .section-head p {
    display: none;
  }
  .dashboard-panel .card,
  .dashboard-stack .card {
    padding: 16px;
  }
  .dashboard-panel,
  .dashboard-stack {
    gap: 12px;
  }
  .dashboard-chip-row {
    gap: 6px;
  }
  .dashboard-chip {
    padding: 7px 10px;
    font-size: 11px;
  }
  .dashboard-list {
    gap: 8px;
    max-height: 38vh;
    overflow: auto;
    padding-right: 4px;
  }
  .dashboard-list .mini-row {
    padding: 10px 12px;
  }
  .section-head {
    align-items: flex-start;
  }
}
@media (max-width: 640px) {
  .sidebar-summary-grid,
  .dashboard-tally-grid,
  .admin-quick-actions {
    grid-template-columns: 1fr;
  }
  .sidebar-brand {
    padding: 10px 12px;
  }
  .sidebar-brand .logo img {
    max-height: 36px;
  }
  .sidebar-brand-copy strong {
    font-size: 14px;
  }
  .side-nav button {
    min-height: 38px;
    padding: 8px 11px;
    font-size: 12px;
  }
  .admin-title-block h2 {
    font-size: 24px;
  }
  .dashboard-list {
    max-height: 34vh;
  }
  .mini-row {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }
}

/* Public multi-property booking */
.multi-page{background:#f5f9fb;min-height:70vh}.multi-hero{padding:50px 0 30px;background:linear-gradient(130deg,#e7f6fb,#fbfdfe)}.multi-hero h1{max-width:800px;margin:10px 0 14px;font-size:clamp(40px,6vw,68px);line-height:.98;letter-spacing:-.055em}.multi-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;padding-top:28px;padding-bottom:70px}.multi-main{display:grid;gap:17px}.multi-card{padding:22px}.multi-property{border:1px solid #bfd9e4;border-radius:18px;overflow:hidden;margin-bottom:14px}.multi-property-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#ecf7fb}.multi-property-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.multi-property-head small{grid-column:2;color:var(--muted)}.multi-number{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--brand-dark);color:#fff;font-weight:900}.multi-property-body{padding:15px}.tenant-details{margin:13px 0;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}.tenant-details summary{cursor:pointer;padding:12px 14px;font-weight:900}.tenant-details summary span{color:var(--muted);font-size:11px}.tenant-details .form-grid{padding:0 14px 14px}.multi-units{margin-top:14px}.multi-subhead{display:flex;justify-content:space-between;gap:12px;align-items:start}.multi-subhead h3{margin:0}.multi-subhead p{margin:3px 0;color:var(--muted);font-size:11px}.multi-unit{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;align-items:end;padding:10px;margin-top:8px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe}.multi-unit label{display:block;margin-bottom:5px;font-size:10px;font-weight:900;text-transform:uppercase}.multi-unit input,.multi-unit select{width:100%}.multi-calendar{margin:16px 0;padding-top:15px;border-top:1px solid var(--line)}.multi-calendar h3{margin:0 0 9px}.booking-mode{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px}.booking-mode button{border:1px solid #c3dbe5;border-radius:11px;background:#fff;color:var(--brand-dark);padding:9px 11px;font-weight:900;font-size:11px}.booking-mode button.active{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.compact-availability{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:380px;overflow:auto;margin-top:10px}.compact-day{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px}.compact-day>strong,.compact-day>small{display:block}.compact-day>small{color:var(--muted);font-size:10px;margin:2px 0 8px}.compact-day>div{display:flex;flex-wrap:wrap;gap:5px}.multi-summary{position:sticky;top:90px;padding:22px;border-radius:20px;background:#073b58;color:#fff}.multi-summary h2{margin:0}.multi-summary>p{color:#bed5df;font-size:12px}.multi-summary-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14)}.multi-summary-row span,.multi-summary-row small{display:block}.multi-summary-row small{color:#bdd2dc;margin-top:3px}.multi-total{display:flex;align-items:end;justify-content:space-between;padding:18px 0}.multi-total strong{font-size:30px}.multi-summary>.btn{width:100%}.multi-summary>small{display:block;margin-top:10px;color:#9fbcc9;text-align:center}.multi-submit{min-height:52px}.multi-success{text-align:center;padding:45px}.header-actions{display:flex;gap:8px}.hidden{display:none!important}
@media(max-width:920px){.multi-shell{grid-template-columns:1fr}.multi-summary{position:static;order:-1}.compact-availability{max-height:none}}
@media(max-width:640px){.multi-hero{padding:30px 0 20px}.multi-hero h1{font-size:40px}.multi-shell{padding-top:14px}.multi-card{padding:14px}.multi-unit{grid-template-columns:1fr}.multi-subhead{align-items:flex-start}.compact-availability{grid-template-columns:1fr}.header-actions .btn-secondary{display:none}.multi-property-head{align-items:flex-start}}
.communication-history-list{display:grid;gap:10px}.communication-history-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid #d9e5ee;border-radius:14px;padding:14px;background:#fff}.communication-history-item h4{margin:8px 0 4px}.communication-history-item p{margin:0 0 6px;white-space:pre-wrap;color:#334b5e}.communication-history-item small{color:#64788a}@media(max-width:720px){.communication-history-item{display:block}.communication-history-item button{margin-top:10px;width:100%}}

/* Worker booking requests and full-screen cards */
.worker-job.pending,.worker-legend .pending{background:#f2e8ff!important;color:#5b2188!important;border-color:#cda8ec!important}.worker-legend .pending:before{background:#8b4bb3}.pending-appointment-card{display:grid;gap:10px;max-width:760px;margin:auto}.pending-appointment-card h3,.pending-appointment-card p{margin:0}.pending-pill{width:max-content;padding:7px 11px;border-radius:999px;background:#f2e8ff;color:#5b2188;font-size:12px;font-weight:900}.pending-service-summary{padding:14px;border:1px solid #d7e5ed;border-radius:14px;background:#f8fbfd;line-height:1.7}.worker-body.worker-card-open{overflow:hidden}.worker-body .modal-backdrop.open{position:fixed;inset:0;z-index:9999;padding:0;background:#f4f8fa}.worker-body .modal-backdrop.open .modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0}.worker-body .modal-backdrop.open .worker-modal-head{position:relative;z-index:2;margin:0;padding:14px 18px;border-bottom:1px solid #d8e5ec;background:#fff;box-shadow:0 2px 12px rgba(6,57,83,.08)}.worker-body .modal-backdrop.open #workerModalBody{overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 130px}.worker-body .modal-backdrop.open #workerModalClose{position:sticky;top:0;min-height:44px}
@media(max-width:640px){.worker-body .modal-backdrop.open .worker-modal-head{padding:10px 12px}.worker-body .modal-backdrop.open .worker-modal-head h2{font-size:18px}.worker-body .modal-backdrop.open #workerModalBody{padding:12px 12px 150px}.pending-appointment-card .worker-actions{display:grid;grid-template-columns:1fr 1fr}.pending-appointment-card .worker-actions>*{width:100%}}
.worker-customer-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #cfe0e9;border-radius:15px;background:#f4fafc}.worker-customer-strip>div,.worker-customer-directory button{display:grid;gap:3px}.worker-customer-strip small,.worker-customer-directory small{color:var(--muted)}.worker-customer-directory{display:grid;gap:9px}.worker-customer-directory button{width:100%;padding:14px;text-align:left;border:1px solid #d4e3eb;border-radius:14px;background:#fff;color:var(--text);box-shadow:none}.worker-customer-directory button:hover{border-color:var(--brand);background:#f2faff}.worker-customer-directory span{font-size:12px;color:#345064}.worker-property-row{padding:14px;margin-bottom:12px;border:1px solid #d7e5ed;border-radius:15px;background:#f8fbfd}.worker-card-back{position:sticky;top:0;z-index:2;padding:4px 0;background:#f4f8fa}.worker-body .modal-backdrop.open .modal{overflow:hidden}.worker-body .modal-backdrop.open #workerModalBody{-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media(max-width:640px){.worker-customer-strip{align-items:stretch;flex-direction:column}.worker-customer-strip button{width:100%}.worker-body .modal-backdrop.open{display:block!important}.worker-body .modal-backdrop.open .modal{position:fixed;inset:0}}

/* Android WebView-compatible worker cards */
.worker-body .modal-backdrop.open .modal{display:flex!important;flex-direction:column!important;height:100%!important;min-height:100vh!important;background:#f4f8fa!important}
.worker-body .modal-backdrop.open .worker-modal-head{flex:0 0 auto!important}
.worker-body .modal-backdrop.open #workerModalBody{display:block!important;position:relative!important;flex:1 1 0!important;min-height:0!important;height:auto!important;overflow-x:hidden!important;overflow-y:scroll!important;visibility:visible!important;opacity:1!important;background:#f4f8fa!important;color:var(--text)!important;-webkit-overflow-scrolling:touch}
@media(max-width:640px){.worker-body .modal-backdrop.open{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.worker-body .modal-backdrop.open .modal{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;min-height:0!important}}

/* Fast access to upcoming worker bookings */
.worker-coming-up{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.worker-coming-up-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.worker-coming-up-head h3,.worker-coming-up-head p{margin:0}.worker-coming-up-head p{margin-top:3px;color:var(--muted);font-size:12px}.worker-coming-up-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.worker-coming-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px 13px;border:1px solid transparent;border-radius:14px;text-align:left;box-shadow:none}.worker-coming-card span:not(.worker-coming-number),.worker-coming-card small,.worker-coming-card strong,.worker-coming-card em{display:block;min-width:0}.worker-coming-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-coming-card small{font-weight:900}.worker-coming-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:11px;opacity:.78}.worker-coming-number{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(255,255,255,.7);font-size:12px;font-weight:900}.worker-coming-card.booked{background:#dceeff;color:#075985}.worker-coming-card.unpaid{background:#fff0c7;color:#854d0e}.worker-coming-card.paid{background:#dcfce7;color:#166534}
@media(max-width:760px){.worker-coming-up{padding:13px;margin-bottom:14px}.worker-coming-up-list{display:flex;gap:8px;margin:0 -13px;padding:0 13px 5px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.worker-coming-card{flex:0 0 min(84vw,340px);scroll-snap-align:start}.worker-coming-up-head p{font-size:11px}}
.worker-rebook-settings{margin:14px 0;padding:15px;border:1px solid #bddbe7;border-radius:16px;background:#eef8fc}.worker-rebook-settings h3,.worker-rebook-settings p{margin-top:0}.worker-rebook-settings p{margin-bottom:0}
.worker-save-sticky{position:fixed!important;right:18px;bottom:max(12px,env(safe-area-inset-bottom));left:18px;z-index:10020;width:auto!important;min-height:52px;margin:0;border:3px solid #fff;box-shadow:0 10px 30px rgba(3,50,74,.28)}
@media(max-width:640px){.worker-save-sticky{right:12px;bottom:max(8px,env(safe-area-inset-bottom));left:12px;min-height:56px;font-size:16px}}
.worker-property-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.worker-property-row-head .mini{padding:7px 10px}.worker-add-property{width:100%;margin:-4px 0 14px}
.worker-pending-panel{margin:0 0 18px;padding:16px;border:1px solid #d3b8ec;border-radius:20px;background:#fbf8ff;box-shadow:var(--shadow)}.worker-pending-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.worker-pending-head h3,.worker-pending-head p{margin:0}.worker-pending-head p{margin-top:3px;color:var(--muted);font-size:12px}.worker-count-badge{display:inline-grid;place-items:center;min-width:26px;height:26px;margin-left:5px;padding:0 8px;border-radius:999px;background:#6b2d91;color:#fff;font-size:12px;vertical-align:middle}.worker-pending-list{display:grid;gap:8px;max-height:460px;overflow-y:auto;padding-right:3px}.worker-pending-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 14px;border:1px solid #ddc9ef;border-radius:14px;background:#fff;color:var(--text);text-align:left;box-shadow:none}.worker-pending-row:hover{border-color:#9560b7;background:#f8f0ff}.worker-pending-row span:first-child,.worker-pending-row small,.worker-pending-row strong,.worker-pending-row em{display:block}.worker-pending-row small{color:#6b2d91;font-weight:900}.worker-pending-row strong{margin:3px 0}.worker-pending-row em{color:var(--muted);font-size:11px;font-style:normal}.worker-pending-price{display:grid;justify-items:end;gap:4px;white-space:nowrap;font-weight:900}.worker-pending-price b{color:#6b2d91;font-size:11px}
@media(max-width:640px){.worker-pending-panel{padding:13px}.worker-pending-list{max-height:390px}.worker-pending-row{padding:12px}.worker-pending-price{font-size:12px}}
.lead-group-overview{margin:0 0 18px;padding:17px;border:1px solid #b9d9e7;border-radius:18px;background:linear-gradient(135deg,#eef9fc,#fff)}.lead-group-head h3{margin:8px 0 4px}.lead-group-head p{margin:3px 0;color:var(--muted)}.lead-group-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.lead-group-properties button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px;border:1px solid #d3e4ec;border-radius:13px;background:#fff;color:var(--text);text-align:left;box-shadow:none}.lead-group-properties button.active{border:2px solid var(--brand);background:#edf9fd}.lead-group-properties span,.lead-group-properties small,.lead-group-properties em{display:block}.lead-group-properties small,.lead-group-properties em{margin-top:3px;color:var(--muted);font-size:11px;font-style:normal}.pending-pill.multi{background:#e5f6fb;color:#075a78}@media(max-width:680px){.lead-group-properties{grid-template-columns:1fr}.lead-group-overview{padding:13px}.lead-group-properties button{padding:11px}}
.lead-estimate-editor{margin:14px 0;padding:0;border:1px solid #bddbe7;border-radius:15px;background:#f5fbfd}.lead-estimate-editor>summary{cursor:pointer;padding:14px 15px;color:var(--brand-dark);font-weight:900}.lead-estimate-editor[open]{padding:0 14px 14px}.lead-estimate-editor[open]>summary{margin:0 -14px 12px;border-bottom:1px solid #d5e6ed}.lead-estimate-editor .service-rebook-list{max-height:460px;overflow:auto;padding-right:3px}
