/* Preserve the supplied EveryBuilding visual identity. */
.eb-builder-name,.eb-builder-step { display:none; }
.eb-flow-card { width:min(960px,100%); max-height:94dvh; }
.eb-flow-header { padding:18px 64px 18px 28px; display:flex; align-items:center; gap:18px; border-bottom:1px solid #e6eaf0; flex-shrink:0; }
.eb-flow-header img { width:148px; height:auto; }
.eb-draft-tag { color:#53617a; font-size:10px; font-weight:700; letter-spacing:.1em; border:1px solid #dbe2eb; padding:4px 7px; border-radius:4px; }
.eb-flow-header .lp-modal__close { font-size:30px; font-weight:400; top:9px; }
.eb-phase-nav { display:flex; justify-content:space-between; gap:10px; padding:16px 28px; background:#f6f8fb; flex-shrink:0; color:#657188; font-size:12px; }
.eb-phase-nav span { display:flex; align-items:center; gap:7px; }
.eb-phase-nav b { font-weight:500; }
.eb-phase-nav .active { color:#126d9b; }
.eb-phase-nav .active b { font-weight:700; }
.eb-progress { height:3px; background:#e8edf4; flex-shrink:0; }
#ebProgress { height:100%; background:#2aa8e0; transition:width .2s ease; }
#ebFlow { padding:28px 32px; min-height:310px; overscroll-behavior:contain; }
#ebFlow .lp-modal__title { font-size:27px; max-width:680px; }
#ebFlow .lp-modal__sub { max-width:710px; font-size:14px; margin-bottom:22px; }
#ebFlow .lp-modal__eyebrow { font-size:10px; margin-bottom:10px; }
.eb-flow-footer { padding:16px 28px; border-top:1px solid #e6eaf0; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-shrink:0; background:white; }
.eb-flow-footer p { margin:0; font-size:11px; color:#637189; max-width:185px; line-height:1.5; }
.eb-flow-footer > div { display:flex; gap:12px; align-items:center; }
.eb-flow-footer .lp-cta { font-size:14px; padding:13px 23px; min-height:44px; }
.eb-flow-card button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.eb-flow-card button:focus-visible, .eb-flow-card summary:focus-visible, .eb-chip:focus-visible { outline:3px solid #1884b8; outline-offset:3px; }
.eb-flow-card [hidden] { display:none!important; }
.eb-zip-form { display:flex; gap:10px; align-items:flex-end; }
.eb-zip-form .lp-field { flex:1; margin:0; }
.eb-zip-form label, #ebFlow .lp-field label { text-transform:none; letter-spacing:0; color:#38445a; font-size:13px; line-height:1.4; }
.eb-zip-form .lp-cta { min-height:48px; padding:12px 20px; font-size:14px; flex-shrink:0; width:auto; }
.eb-error { margin:10px 0 0; color:#af2936; font-size:13px; line-height:1.45; }
.eb-error:empty { display:none; }
.eb-map-shell { margin-top:20px; border:1px solid #d9e3ef; border-radius:10px; overflow:hidden; background:#f3f7fb; }
.eb-map-toolbar { display:flex; align-items:center; justify-content:space-between; padding:9px 13px; background:#f6f9fc; font-size:11px; color:#586780; gap:10px; min-height:40px; }
.eb-map-toolbar button { color:#176b99; font-weight:600; white-space:nowrap; padding:5px; }
#ebMap { height:330px; background:#e9f0f3; z-index:0; }
#ebMap .leaflet-control-attribution { font-size:9px; }
.eb-map-status { padding:7px 13px; color:#526078; font-size:11px; border-top:1px solid #dfe6ee; background:#fff; min-height:29px; }
.eb-map-status[data-error="true"] { color:#af2936; }
.eb-territory-summary { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:16px; font-size:13px; color:#46536c; }
.eb-territory-summary strong { font-size:19px; color:#171730; margin-right:5px; }
.eb-territory-summary button { font-size:12px; color:#176b99; text-decoration:underline; }
.eb-zip-chips { display:flex; flex-wrap:wrap; gap:6px; max-height:112px; overflow:auto; margin-top:10px; }
.eb-chip { border:1px solid #bee4f6; color:#10587c; background:#ecf8fe; padding:7px 10px; border-radius:5px; font-size:12px; display:flex; align-items:center; gap:10px; }
.eb-chip span { font-size:16px; line-height:1; }
.eb-data-note { font-size:10px; color:#68758b; line-height:1.55; margin:12px 0 0; }
.eb-map-empty { border:1px dashed #b6cadc; background:#f6f9fc; padding:34px 24px; border-radius:9px; text-align:center; margin-top:24px; }
.eb-map-empty strong { display:block; font-size:17px; color:#24344d; margin-bottom:9px; }
.eb-map-empty p { font-size:13px; color:#60718a; line-height:1.6; margin:0 auto; max-width:470px; }
.eb-examples { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:17px; }
.eb-examples button { border:1px solid #d4e2ed; border-radius:5px; padding:9px 12px; background:#fff; color:#1b628c; font-size:12px; }
.eb-options { display:grid; grid-template-columns:1fr; gap:9px; margin:6px 0 12px; }
.eb-option { width:100%; border:1px solid #d9e0ea; background:#fff; border-radius:8px; min-height:54px; padding:14px 15px; text-align:left; color:#2f3b52; display:flex; align-items:center; justify-content:space-between; gap:14px; font:500 13px/1.4 var(--font-body); }
.eb-option::after { content:""; flex-shrink:0; width:17px; height:17px; border:1.5px solid #b9c4d5; border-radius:50%; }
.eb-option:hover { border-color:#2aa8e0; background:#f8fcff; }
.eb-option[aria-pressed="true"] { border-color:#198ac1; box-shadow:0 0 0 1px #198ac1; background:#edf8fd; color:#135c84; }
.eb-option[aria-pressed="true"]::after { background:#198ac1; border:4px solid #fff; box-shadow:0 0 0 1.5px #198ac1; }
.eb-options.multi .eb-option::after { border-radius:3px; }
.eb-options.multi .eb-option[aria-pressed="true"]::after { content:"✓"; color:white; background:#198ac1; border:0; text-align:center; font-size:13px; line-height:17px; }
.eb-tip { background:#f5f8fc; border-left:3px solid #b8dff2; padding:13px 15px; color:#53627a; font-size:12px; line-height:1.6; margin-top:20px; }
.eb-answer-text { resize:vertical; min-height:110px; padding:15px; font:400 16px/1.5 var(--font-body); color:#25334b; border:1px solid #d5deea; border-radius:8px; width:100%; }
.eb-answer-text:focus { outline:3px solid #dbf0fb; border-color:#2aa8e0; }
.eb-char-count { font-size:11px; color:#647089; text-align:right; margin-top:5px; }
.eb-contact { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.eb-contact-form { max-width:560px; margin:0 auto; text-align:left; }
.eb-contact-form .lp-field { margin-bottom:20px; }
.eb-contact-form .eb-field-help { margin:8px 0 0; font-size:12px; line-height:1.6; color:#5a6880; }
.eb-us-phone { display:flex; align-items:stretch; border:1px solid var(--eb-neutral-200); border-radius:8px; background:#fff; overflow:hidden; }
.eb-us-phone:focus-within { border-color:var(--eb-blue-500); box-shadow:0 0 0 3px rgba(42,168,224,.18); }
.eb-us-phone__prefix { display:flex; align-items:center; gap:8px; padding:0 14px; border-right:1px solid var(--eb-neutral-200); background:#f8fafc; color:#657086; font-size:12px; white-space:nowrap; }
.eb-us-phone__prefix strong { color:#38445a; font-weight:600; font-size:14px; }
.lp-field .eb-us-phone input { flex:1; min-width:0; width:100%; border:0; border-radius:0; }
.lp-field .eb-us-phone input:focus { box-shadow:none; }
.eb-booking-intro { display:flex; align-items:center; gap:24px; margin:22px 0 28px; text-align:left; }
.eb-booking-intro__portrait { flex:none; width:112px; height:128px; object-fit:cover; object-position:50% 22%; border-radius:14px; background:#171730; }
.eb-booking-intro__copy { min-width:0; }
.eb-booking-intro__host { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin:0 0 10px; font-size:13px; font-weight:700; color:#146b99; }
.eb-booking-intro__host span { border-left:1px solid #ccd6e0; padding-left:12px; color:#657086; font-size:12px; font-weight:400; }
#ebFlow .eb-booking-intro .lp-modal__title { margin:0 0 10px; max-width:780px; }
.eb-booking-intro__description { margin:0 0 12px; color:#545b69; font-size:14px; line-height:1.6; }
#ebFlow .eb-booking-intro .lp-modal__sub { margin:0; font-size:12px; color:#657086; }
@media(max-width:600px) {
  .eb-booking-intro { align-items:flex-start; gap:16px; margin:18px 0 24px; }
  .eb-booking-intro__portrait { width:72px; height:88px; border-radius:10px; }
  #ebFlow .eb-booking-intro .lp-modal__title { font-size:23px; line-height:1.25; }
  .eb-booking-intro__host { gap:4px; }
  .eb-booking-intro__host span { width:100%; border:0; padding:0; }
  .eb-booking-intro__description { font-size:13px; }
}
.eb-booking-placeholder { max-width:560px; margin:24px auto; padding:24px; border:1px solid #dce4ee; border-radius:10px; text-align:left; }
.eb-booking-placeholder .lp-field { margin-top:20px; }
#ebOtherService { width:100%; box-sizing:border-box; resize:vertical; min-height:100px; padding:14px; border:1px solid #c8d2df; border-radius:7px; font:inherit; color:#171730; background:#fff; }
#ebOtherService:focus { outline:2px solid #2aa8e0; outline-offset:2px; }
.eb-contact .lp-field:last-of-type { grid-column:1/-1; }
#ebFlow .lp-field input[aria-invalid="true"] { border-color:#b33442; }
.eb-booking { display:grid; grid-template-columns:.9fr 1.1fr; border:1px solid #dce4ee; border-radius:10px; overflow:hidden; margin-top:8px; }
.eb-host { padding:25px; background:#f5f8fc; border-right:1px solid #dce4ee; }
.eb-host img { width:64px; height:64px; object-fit:cover; object-position:50% 22%; border-radius:50%; margin-bottom:15px; }
.eb-host h4 { margin:0 0 8px; font-size:20px; line-height:1.3; color:#171730; }
.eb-host p { font-size:13px; line-height:1.65; color:#54647c; margin:0 0 15px; }
.eb-host .eb-meeting-meta { font-size:12px; font-weight:700; color:#176b99; }
.eb-calendar-pending { padding:28px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.eb-calendar-icon { width:43px; height:43px; color:#177daf; background:#edf8fd; border-radius:8px; display:grid; place-items:center; margin-bottom:18px; }
.eb-calendar-pending h4 { font-size:17px; margin:0 0 10px; color:#26344e; }
.eb-calendar-pending p { font-size:13px; line-height:1.65; color:#5a6880; margin:0; }
.eb-record { margin-top:20px; border:1px solid #dce4ee; border-radius:8px; padding:15px 18px; }
.eb-record summary { cursor:pointer; color:#1b648f; font-size:13px; font-weight:600; }
.eb-record dl { margin:16px 0 0; font-size:12px; line-height:1.6; display:grid; grid-template-columns:145px 1fr; gap:10px 15px; }
.eb-record dt { color:#6b778a; }
.eb-record dd { margin:0; color:#25334b; overflow-wrap:anywhere; }
.eb-record .eb-unsaved { font-size:11px; color:#8b642a; background:#fff8e9; padding:9px 12px; margin-top:14px; }
.eb-question-count { display:none; }
.eb-category-warning { border:1px solid #d4b978; background:#fffaf0; padding:16px; border-radius:8px; margin-bottom:18px; font-size:14px; line-height:1.6; }
.eb-category-warning p { margin:0 0 12px; }
.eb-category-warning button { border:1px solid #b7c5d5; border-radius:5px; padding:9px 12px; background:#fff; margin:0 8px 4px 0; font-size:12px; }
.eb-category-warning #ebConfirmCategory { background:#171730; color:white; border-color:#171730; }
.eb-other-service { margin-top:22px; }
.eb-optional { color:#6b778a; font-weight:400; }
.eb-embed-label { color:#126d9b; font-size:11px; text-transform:uppercase; font-weight:700; letter-spacing:.08em; margin-bottom:12px; }
.eb-calendar-pending .eb-calendar-disclosure { margin-top:16px; font-size:12px; }
.eb-live-calendar-notice { padding:16px 18px; margin:0 0 24px; border:1px solid #c6e5f3; border-radius:8px; background:#eff9fe; font-size:13px; line-height:1.65; color:#31425b; }
.eb-calendar-embed { border:1px solid #dce4ee; border-radius:10px; overflow:hidden; background:white; }
.eb-calendar-embed iframe { display:block; width:100%; height:820px; border:0; }
.eb-calendar-embed[hidden] { display:none; }
.eb-calendar-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin:0 0 18px; font-size:13px; line-height:1.6; }
.eb-calendar-tools p { flex:1 1 100%; margin:0; color:#5a6880; }
.eb-calendar-tools a,.eb-calendar-tools button { padding:10px 14px; border:1px solid #c6e5f3; border-radius:6px; background:#eff9fe; color:#126d9b; font:inherit; font-weight:600; text-decoration:none; }
.eb-calendar-tools button { cursor:pointer; }
.eb-calendar-fallback { color:#5a6880; font-size:12px; line-height:1.6; margin-top:16px; }
.eb-calendar-fallback a { color:#126d9b; text-decoration:underline; }
.eb-intake-mode.eb-booking-mode #ebFlow { max-width:1080px; }
@media(max-width:720px) {
  .eb-intake-mode.eb-booking-mode #ebFlow { padding-left:12px; padding-right:12px; }
  .eb-calendar-embed iframe { height:1040px; }
  .eb-live-calendar-notice { font-size:12px; }
}
@media(max-width:720px) {
  .eb-flow-card { max-height:96dvh; border-radius:12px; }
  .eb-flow-header { padding:14px 56px 14px 18px; }
  .eb-flow-header img { width:129px; }
  .eb-phase-nav { padding:13px 18px; gap:5px; font-size:10px; }
  .eb-phase-nav span { gap:5px; }
  #ebFlow { padding:22px 18px; min-height:250px; }
  #ebFlow .lp-modal__title { font-size:23px; }
  #ebFlow .lp-modal__sub { font-size:13px; margin-bottom:19px; }
  .eb-flow-footer { padding:11px 16px; flex-direction:column-reverse; align-items:stretch; gap:9px; }
  .eb-flow-footer > div { justify-content:space-between; }
  .eb-flow-footer .lp-cta { width:auto; min-width:140px; font-size:13px; padding:12px 16px; }
  .eb-flow-footer p { max-width:none; text-align:center; font-size:10px; }
  .eb-zip-form { gap:8px; }
  .eb-zip-form .lp-field input { padding:13px 11px; }
  .eb-zip-form .lp-cta { padding:12px; font-size:12px; min-height:48px; }
  .eb-options, .eb-contact { grid-template-columns:1fr; }
  .eb-option { min-height:52px; font-size:13px; }
  .eb-booking { grid-template-columns:1fr; }
  .eb-host { border-right:0; border-bottom:1px solid #dce4ee; padding:20px; }
  .eb-host img { float:left; margin:0 14px 10px 0; width:52px; height:52px; }
  .eb-calendar-pending { padding:20px; }
  .eb-territory-summary { flex-wrap:wrap; }
  .eb-territory-summary strong { font-size:17px; }
  #ebMap { height:240px; }
  .eb-map-toolbar { font-size:10px; }
  .eb-record dl { grid-template-columns:1fr; gap:3px; }
  .eb-record dd { margin-bottom:9px; }
}

/* The post-territory intake is a full-page questionnaire, not a dialog card. */
.eb-intake-mode { padding:0; }
.eb-intake-mode .lp-modal__scrim { display:none; }
.eb-intake-mode .eb-flow-card { width:100%; height:100dvh; max-height:100dvh; border-radius:0; overflow-y:auto; background:#fff; box-shadow:none; }
.eb-intake-mode .eb-flow-header { position:sticky; top:0; z-index:10; min-height:76px; padding:12px 76px 12px 32px; background:white; display:grid; grid-template-columns:1fr auto 1fr; gap:20px; }
.eb-intake-mode .eb-flow-header #ebBack { justify-self:start; display:block; margin:0; padding:10px 0; color:#526078; font-size:14px; font-weight:500; }
.eb-intake-mode .eb-flow-header img { grid-column:3; grid-row:1; justify-self:end; width:155px; height:46px; object-fit:contain; }
.eb-intake-mode .eb-question-count { display:block; grid-column:2; grid-row:1; font-size:11px; letter-spacing:.12em; color:#617087; font-weight:600; }
.eb-intake-mode .eb-draft-tag,.eb-intake-mode .eb-phase-nav { display:none; }
.eb-intake-mode .eb-progress { position:sticky; top:76px; z-index:10; }
.eb-intake-mode #ebFlow { width:100%; max-width:760px; margin:0 auto; padding:48px 28px 44px; min-height:0; flex:none; overflow:visible; }
.eb-intake-mode #ebFlow .lp-modal__title { font-size:32px; line-height:1.25; letter-spacing:-.03em; }
.eb-intake-mode #ebFlow .lp-modal__sub { font-size:15px; line-height:1.65; }
.eb-intake-mode #ebFlow .lp-modal__eyebrow { font-size:11px; letter-spacing:.1em; color:#126d9b; }
.eb-intake-mode .eb-option { justify-content:flex-start; min-height:55px; font-size:14px; padding:15px 18px; gap:14px; }
.eb-intake-mode .eb-option::after { order:-1; }
.eb-intake-mode .eb-flow-footer { border:0; padding:0; margin-top:30px; display:flex; flex-direction:column-reverse; align-items:center; gap:14px; }
.eb-intake-mode .eb-flow-footer > div { justify-content:center; }
.eb-intake-mode .eb-flow-footer p { max-width:none; text-align:left; font-size:11px; }
.eb-intake-mode .eb-flow-footer .lp-cta { min-width:180px; border-radius:7px; font-size:15px; padding:15px 24px; display:flex; align-items:center; justify-content:center; text-align:center; }
.eb-intake-mode .eb-booking { grid-template-columns:1fr; }
.eb-intake-mode .eb-host { border-right:0; border-bottom:1px solid #dce4ee; }
.eb-intake-mode .eb-host img { float:left; margin:0 20px 12px 0; }
.eb-intake-mode .eb-calendar-pending { min-height:300px; }
@media(max-width:720px) {
  .eb-intake-mode .eb-flow-header { min-height:68px; padding:10px 52px 10px 18px; gap:10px; }
  .eb-intake-mode .eb-flow-header img { width:104px; height:35px; }
  .eb-intake-mode .eb-question-count { font-size:9px; letter-spacing:.04em; }
  .eb-intake-mode .eb-flow-header #ebBack { font-size:12px; }
  .eb-intake-mode .eb-progress { top:68px; }
  .eb-intake-mode #ebFlow { padding:30px 20px 32px; }
  .eb-intake-mode #ebFlow .lp-modal__title { font-size:27px; }
  .eb-intake-mode .eb-option { font-size:13px; }
  .eb-intake-mode .eb-flow-footer > div,.eb-intake-mode .eb-flow-footer .lp-cta { width:100%; }
  .eb-intake-mode .eb-flow-footer .lp-cta { font-size:14px; min-width:0; max-width:none; white-space:normal; }
}

/* AUDITS interaction shell, isolated EveryBuilding brand and data. */
#territoryModal {
  --territory-ink:var(--eb-navy-700);
  --territory-accent:var(--eb-blue-600);
  --territory-soft:var(--eb-blue-100);
  --territory-line:var(--eb-neutral-200);
  --territory-muted:var(--eb-neutral-600);
}
.eb-flow-card .lp-cta { background:var(--eb-blue-500); box-shadow:none; color:var(--territory-ink); }
.eb-flow-card .lp-cta:hover { background:var(--eb-blue-600); color:var(--territory-ink); }
.eb-flow-card .lp-modal__close { width:44px; height:44px; top:10px; right:12px; }
.eb-draft-tag { font-size:12px; }
.eb-flow-footer p,.eb-data-note,.eb-tip,.eb-char-count { font-size:12px; }
.eb-entry-mode .eb-flow-card { width:min(700px,100%); max-height:94dvh; border-radius:20px; }
.eb-entry-mode .eb-flow-header { height:0; padding:0; border:0; }
.eb-entry-mode .eb-flow-header img,.eb-entry-mode .eb-draft-tag,
.eb-entry-mode .eb-phase-nav,.eb-entry-mode .eb-progress { display:none; }
.eb-entry-mode .eb-flow-header .lp-modal__close { top:20px; right:20px; }
.eb-entry-mode #ebFlow { padding:60px; min-height:0; }
.eb-entry-mode #ebFlow .lp-modal__eyebrow { font-size:12px; letter-spacing:.16em; color:var(--territory-accent); margin:0 0 28px; font-weight:700; }
.eb-entry-mode #ebFlow .lp-modal__eyebrow::before { content:""; display:inline-block; width:22px; height:1px; background:currentColor; vertical-align:middle; margin-right:14px; }
.eb-entry-mode #ebFlow .lp-modal__title { font-size:clamp(32px,4vw,48px); line-height:1.17; letter-spacing:-.045em; color:var(--territory-ink); margin:0 0 24px; }
.eb-entry-mode #ebFlow .lp-modal__sub { font-size:18px; line-height:1.65; color:var(--territory-muted); margin:0 0 38px; }
.eb-entry-mode .eb-zip-form { display:block; }
.eb-entry-mode #ebFlow .lp-field label { font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:12px; }
.eb-entry-mode #ebZipInput { font-size:26px; height:74px; padding:16px 20px; border-radius:8px; }
.eb-entry-mode #ebAddZip { width:100%; min-height:84px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; padding:16px 24px; font-size:20px; font-weight:700; margin-top:20px; border-radius:10px; line-height:1.2; }
.eb-entry-mode #ebAddZip strong { display:block; font:inherit; line-height:1.2; margin:0; padding:0; }
.eb-entry-mode #ebAddZip span { display:block; font-size:14px; line-height:1.4; font-weight:400; letter-spacing:0; margin:0; padding:0; }
.eb-entry-note { font-size:13px; line-height:1.6; text-align:center; color:var(--territory-muted); margin:24px 0 0; }
.eb-map-mode { padding:0; }
.eb-map-mode .eb-flow-card { width:100%; height:100dvh; max-height:100dvh; border-radius:0; }
.eb-map-mode .eb-flow-header { height:64px; padding:8px 68px 8px 24px; gap:20px; background:var(--territory-ink); border:0; }
.eb-map-mode .eb-flow-header img { width:155px; max-height:48px; object-fit:contain; }
.eb-map-mode .eb-flow-header .lp-modal__close { color:white; }
.eb-map-mode .eb-flow-header .lp-modal__close:hover { background:var(--eb-navy-500); }
.eb-map-mode .eb-draft-tag,.eb-map-mode .eb-phase-nav,.eb-map-mode .eb-progress { display:none; }
.eb-map-mode .eb-builder-name { display:block; border-left:1px solid #ffffff30; padding-left:20px; color:var(--eb-blue-300); font-size:12px; font-weight:700; letter-spacing:.16em; }
.eb-map-mode .eb-builder-step { display:block; margin-left:auto; color:#e0e7f2; font-size:12px; }
.eb-map-mode #ebFlow { padding:0; flex:1; min-height:0; overflow:hidden; }
.eb-territory-layout { display:grid; grid-template-columns:minmax(0,1fr) 380px; height:100%; }
.eb-map-panel { position:relative; min-width:0; min-height:0; background:#e8edf1; }
.eb-map-mode #ebMap { height:100%; width:100%; }
.eb-map-mode #ebMap .leaflet-tile-pane { filter:saturate(.35); }
.eb-map-mode #ebMap .leaflet-control-attribution { font-size:10px; }
.eb-map-mode #ebMap .leaflet-control-zoom a { width:34px; height:34px; line-height:34px; }
.eb-radius-overlay { position:absolute; top:16px; left:50%; transform:translateX(-50%); z-index:450; width:max-content; max-width:calc(100% - 110px); display:flex; flex-direction:column; align-items:center; gap:8px; pointer-events:none; }
.eb-radius-bar { pointer-events:auto; display:flex; align-items:center; gap:3px; background:#fffffffa; padding:4px 8px; border:1px solid var(--territory-line); border-radius:60px; box-shadow:0 3px 15px #17173015; }
.eb-radius-bar>span { padding:0 14px; font-size:12px; line-height:1.4; text-transform:uppercase; font-weight:700; letter-spacing:.05em; color:var(--territory-muted); }
.eb-radius-bar button { min-width:52px; height:52px; border-radius:50%; color:var(--territory-ink); font-size:13px; line-height:1.5; display:flex; flex-direction:column; justify-content:center; align-items:center; font-weight:600; }
.eb-radius-bar button span { font-size:12px; font-weight:400; }
.eb-radius-bar button:hover { background:var(--territory-soft); }
.eb-radius-bar button[aria-pressed="true"] { color:var(--territory-ink); background:var(--eb-blue-500); box-shadow:0 3px 10px #2aa8e02b; }
#ebRadiusNote { pointer-events:none; background:#fffffff5; border:1px solid var(--territory-line); border-radius:24px; font-size:12px; line-height:1.5; padding:8px 18px; max-width:430px; margin:0; text-align:center; color:var(--territory-muted); box-shadow:0 3px 12px #17173010; }
.eb-map-tip { position:absolute; bottom:30px; right:16px; z-index:450; background:#fffffff2; border:1px solid var(--territory-line); border-radius:12px; padding:12px 16px; max-width:290px; box-shadow:0 4px 14px #17173012; pointer-events:none; }
.eb-map-tip strong { display:block; font-size:12px; color:var(--territory-muted); letter-spacing:.08em; margin-bottom:5px; }
#ebMapStatus { font-size:12px; line-height:1.6; color:var(--territory-muted); }
#ebMapStatus[data-error="true"] { color:#af2936; }
#ebBasemapNotice { display:block; margin-top:8px; padding-top:8px; border-top:1px solid var(--territory-line); font-size:11px; line-height:1.5; color:var(--territory-muted); }
#ebBasemapNotice[hidden] { display:none; }
.eb-local-map-label { text-align:center; font:600 12px/24px var(--font-body); color:#171730; text-shadow:0 1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff; pointer-events:none; white-space:nowrap; }
.eb-territory-sidebar { display:flex; flex-direction:column; min-height:0; background:var(--eb-neutral-50); border-left:1px solid var(--territory-line); }
.eb-sidebar-scroll { flex:1; min-height:0; overflow:auto; padding:24px; }
.eb-sidebar-scroll h3 { font-size:23px; font-weight:800; letter-spacing:-.04em; line-height:1.3; margin:0 0 8px; color:var(--territory-ink); }
#ebCities { font-size:13px; line-height:1.6; color:var(--territory-muted); margin:0; }
.eb-start-change { font-size:12px; color:var(--eb-blue-700); margin:8px 0 20px; padding:4px 0; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.eb-selected-heading { display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:.035em; color:var(--territory-ink); margin-bottom:12px; }
.eb-count { color:var(--eb-blue-700); background:var(--territory-soft); border-radius:30px; padding:2px 10px; font-size:12px; }
.eb-zip-list { max-height:232px; overflow:auto; border:1px solid var(--territory-line); border-radius:10px; }
.eb-zip-row { display:flex; align-items:center; gap:10px; padding:0 12px; min-height:44px; color:var(--territory-ink); font-size:14px; border-bottom:1px solid #e8edf4; }
.eb-zip-row:last-child { border-bottom:0; }
.eb-zip-dot { width:5px; height:5px; border-radius:50%; background:var(--territory-accent); }
.eb-zip-row button { width:44px; height:44px; margin-left:auto; color:#798499; font-size:18px; }
.eb-zip-row button:hover { color:#af2936; }
.eb-sort-note { color:var(--territory-muted); font-size:11px; line-height:1.5; margin:-5px 0 10px; }
.eb-zip-row { gap:7px; min-height:48px; }
.eb-zip-dot { flex-shrink:0; }
.eb-zip-label { min-width:0; flex:1; font-size:12px; line-height:1.5; overflow-wrap:anywhere; padding:8px 0; }
.eb-zip-label strong { font-weight:600; color:var(--territory-ink); }
.eb-zip-label>span { color:var(--territory-muted); }
.eb-zip-row button { flex-shrink:0; width:32px; min-height:44px; margin:0; }
.eb-zip-start { position:sticky; top:0; background:#eaf5fc; z-index:1; }
.eb-start-badge { margin-left:auto; flex-shrink:0; background:#fff; color:var(--territory-accent); font-size:10px; border:1px solid #c8e6f5; border-radius:4px; padding:2px 5px; font-weight:600; }
.eb-population-context { display:flex; align-items:center; gap:9px; padding:10px 0 2px; margin:3px 0 0; font-size:11px; line-height:1.7; color:var(--territory-muted); }
.eb-population-context strong { font-weight:500; display:block; color:var(--territory-ink); }
.eb-population-incomplete { display:block; }
.eb-person-icon { position:relative; display:block; width:15px; height:20px; flex-shrink:0; color:var(--territory-muted); }
.eb-person-icon::before { content:""; position:absolute; width:7px; height:7px; border:1.5px solid currentColor; border-radius:50%; left:4px; top:0; box-sizing:border-box; }
.eb-person-icon::after { content:""; position:absolute; width:15px; height:10px; border:1.5px solid currentColor; border-radius:8px 8px 3px 3px; left:0; bottom:0; box-sizing:border-box; }
.eb-report-status { display:flex; align-items:center; gap:9px; padding-bottom:14px; margin-bottom:15px; border-bottom:1px solid var(--territory-line); font-size:12px; font-weight:600; color:var(--territory-accent); line-height:1.5; }
.eb-progress-wheel { width:23px; height:23px; flex-shrink:0; border:2px solid #cce6f4; border-radius:50%; display:grid; place-items:center; font-size:13px; }
.is-preparing .eb-progress-wheel { border-right-color:var(--eb-blue-500); border-top-color:var(--eb-blue-500); animation:eb-wheel 1s linear infinite; }
@media (prefers-reduced-motion:reduce) { .is-preparing .eb-progress-wheel { animation:none; } }
@keyframes eb-wheel { to {transform:rotate(360deg);} }
.eb-booking-rules,.eb-calendar-caption,.eb-calendar-empty,.eb-booking-summary p { font-size:13px; line-height:1.6; color:#545b69; }
.eb-booking-rules { margin:16px 0; }
.eb-native-calendar { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border:1px solid #dce4ea; border-radius:12px; overflow:hidden; background:#fff; }
.eb-date-panel,.eb-time-panel { padding:24px; min-width:0; }
.eb-time-panel { border-left:1px solid #dce4ea; background:#f8fafc; }
.eb-native-calendar h4 { font-size:16px; font-weight:700; line-height:1.5; margin:0; color:#171730; }
.eb-month-nav { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:20px; }
.eb-month-nav>div { display:flex; }
.eb-native-calendar button { font:inherit; cursor:pointer; }
.eb-month-nav button { width:36px; height:40px; border:0; border-radius:6px; background:none; font-size:24px; color:#18618a; }
.eb-weekdays,.eb-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; text-align:center; }
.eb-weekdays { font-size:12px; color:#667082; margin-bottom:8px; }
.eb-month-grid button { border:0; border-radius:50%; aspect-ratio:1; min-height:32px; background:#e7f4fc; color:#135d84; font-size:14px; font-weight:600; padding:0; }
.eb-native-calendar button:disabled { opacity:.45; cursor:not-allowed; }
.eb-month-grid button:disabled { background:transparent; color:#78808c; }
.eb-month-grid button[aria-pressed=true],.eb-time-grid button[aria-pressed=true] { background:#146b99; color:#fff; }
.eb-native-calendar button:focus-visible,.eb-native-calendar select:focus-visible { outline:3px solid #146b99; outline-offset:3px; }
.eb-timezone-label { display:block; margin:14px 0 6px; font-size:12px; color:#545b69; }
.eb-native-calendar select { width:100%; min-height:40px; border:1px solid #ccd8e2; background:#fff; border-radius:6px; font:inherit; font-size:13px; color:#171730; padding:8px; }
.eb-calendar-empty { margin:20px 0; }
.eb-sample-toggle { padding:12px 16px; border:1px solid #146b99; border-radius:6px; color:#146b99; background:#fff; font-size:13px!important; }
.eb-sample-label { font-size:12px; font-weight:600; letter-spacing:.03em; color:#715717; margin:20px 0 12px; }
.eb-time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.eb-time-grid button { min-height:42px; border:1px solid #b4d2e4; border-radius:6px; background:#fff; color:#146b99; font-size:13px; }
.eb-booking-summary { margin-top:20px; border-top:1px solid #dce4ea; padding-top:16px; font-size:14px; color:#171730; }
.eb-booking-summary button { width:100%; border:0; border-radius:6px; background:#dce4ea; padding:12px; font-size:13px; }
.eb-confirmation { text-align:left; color:#171730; }
.eb-confirmation-check { display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e5f4fc;color:#147eae;font-size:26px;margin-bottom:20px; }
#ebFlow .eb-confirmation .lp-modal__title { margin:0 0 12px; }
.eb-confirmation-sub { color:#545b69; margin:0 0 28px; line-height:1.6; }
.eb-confirmation-card { display:grid;grid-template-columns:1fr 1.15fr;gap:28px;padding:28px;background:#edf7fc;border-radius:16px;align-items:start; }
.eb-confirmation-host { display:flex;gap:16px;align-items:center;min-width:0; }
.eb-confirmation-host img { width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 22%; }
.eb-confirmation-host strong { display:block;font-size:14px;line-height:1.6; }
.eb-confirmation-host a { display:block;font-size:13px;margin-top:6px;overflow-wrap:anywhere; }
.eb-confirmation a,.eb-calendar-menu summary { color:#147eae; }
.eb-confirmation-time>strong { display:block;font-size:20px;line-height:1.5; }
.eb-confirmation-time>p { margin:8px 0 16px;color:#545b69;font-size:14px; }
.eb-confirmation-actions { display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;align-items:start; }
.eb-calendar-menu { position:relative; }
.eb-calendar-menu summary { cursor:pointer;text-decoration:underline; }
.eb-calendar-menu>div { display:grid;gap:12px;background:white;border:1px solid #dce4ea;border-radius:8px;padding:16px;margin-top:8px; }
.eb-calendar-menu a,.eb-calendar-menu button { font:inherit;text-align:left;white-space:nowrap;color:#147eae;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline; }
.eb-meeting-link { display:inline-block;margin-top:16px;font-size:13px; }
.eb-confirmation section { margin-top:32px; }
.eb-confirmation h4 { margin:0 0 16px;font-size:18px;line-height:1.4; }
.eb-confirmation section>p { margin:0 0 20px;font-size:14px;line-height:1.8;color:#545b69; }
.eb-confirmation .eb-confirmation-report { display:inline-flex;text-decoration:none;color:white; }
.eb-confirmation .eb-confirmation-help { margin-top:12px;font-size:12px; }
.eb-confirmation-topics { display:grid;gap:14px;list-style:none;padding:0;margin:0;font-size:14px;line-height:1.7; }
.eb-confirmation-topics li { position:relative;padding-left:28px; }
.eb-confirmation-topics li::before { content:'✓';position:absolute;left:0;color:#147eae;font-weight:700; }
.eb-confirmation-footer { margin:32px 0 0;padding-top:24px;border-top:1px solid #dce4ea;color:#657086;font-size:13px;line-height:1.8;overflow-wrap:anywhere; }
.eb-booking-mode [hidden] { display:none!important; }
@media(max-width:700px) {
  .eb-confirmation-card { grid-template-columns:1fr;padding:20px;gap:24px; }
  .eb-confirmation-time { border-top:1px solid #cce4f0;padding-top:20px; }
  .eb-confirmation-time>strong { font-size:18px; }
}
@media(max-width:720px) {
  .eb-native-calendar { grid-template-columns:minmax(0,1fr); }
  .eb-time-panel { border-left:0; border-top:1px solid #dce4ea; }
  .eb-date-panel,.eb-time-panel { padding:18px; }
}
.eb-report-preview .eb-report-closing { border-top:1px solid var(--territory-line); padding-top:14px; margin:16px 0 0; color:var(--territory-ink); }
.eb-flow-footer .eb-book-call-cta { max-width:320px; white-space:normal; text-align:center; line-height:1.45; }
.eb-no-zips { font-size:13px; line-height:1.6; padding:14px; color:var(--territory-muted); margin:0; }
.eb-population { margin-top:16px; padding:16px 0 20px; border-top:1px solid var(--territory-line); border-bottom:1px solid var(--territory-line); }
.eb-population>span { font-size:12px; text-transform:uppercase; color:var(--territory-muted); }
.eb-population>div { display:flex; align-items:baseline; gap:8px; margin-top:4px; }
.eb-population strong { font-size:26px; letter-spacing:-.04em; line-height:1.3; color:var(--territory-ink); }
.eb-population div span { color:var(--territory-muted); font-size:12px; }
.eb-population-note { color:var(--territory-muted); font-size:12px; line-height:1.5; margin:8px 0 0; }
.eb-selection-actions { display:flex; justify-content:space-between; gap:12px; margin-top:4px; }
.eb-selection-actions button { color:var(--eb-blue-700); font-size:12px; padding:10px 0; }
.eb-add-details { margin:8px 0 16px; }
.eb-add-details summary { font-size:12px; color:var(--territory-muted); cursor:pointer; padding:8px 0; }
.eb-add-details .eb-zip-form { margin-top:8px; }
.eb-add-details #ebZipInput { min-width:0; padding:12px; font-size:14px; }
.eb-add-details .lp-field { min-width:0; }
.eb-report-preview { border:1px solid var(--territory-line); border-radius:10px; padding:18px; background:#ffffff80; }
.eb-report-preview p { font-size:12px; line-height:1.6; color:var(--territory-muted); margin:0 0 12px; }
.eb-report-preview .eb-report-kicker { font-size:12px; color:var(--territory-ink); text-transform:uppercase; font-weight:600; }
.eb-report-preview ul { padding:0; list-style:none; margin:0; }
.eb-report-preview li { font-size:13px; line-height:1.6; color:var(--territory-ink); margin:10px 0; padding-left:22px; position:relative; }
.eb-report-preview li::before { content:"✓"; position:absolute; left:0; color:var(--eb-blue-700); font-weight:700; }
.eb-report-preview .eb-estimate-pending { padding-top:12px; margin:12px 0 0; border-top:1px solid var(--territory-line); }
.eb-map-mode .eb-flow-footer { display:flex; flex-direction:column-reverse; padding:16px 24px 12px; background:#fff; gap:8px; box-shadow:0 -4px 14px #17173005; }
.eb-map-mode .eb-flow-footer>div { width:100%; display:block; }
.eb-map-mode .eb-flow-footer .lp-cta { width:100%; border-radius:30px; font-size:12px; padding:12px; min-height:46px; display:flex; justify-content:center; align-items:center; text-align:center; }
.eb-map-mode .eb-flow-footer p { max-width:none; font-size:12px; text-align:center; }
.eb-flow-footer p.eb-unsaved-notice { width:100%; max-width:none; font-size:10px; font-style:italic; text-align:center; }
@media(max-width:1000px) {
  .eb-territory-layout { grid-template-columns:minmax(0,1fr) 330px; }
  .eb-sidebar-scroll { padding:20px; }
  .eb-radius-bar>span { padding:0 8px; }
  .eb-radius-bar button { min-width:44px; height:48px; }
  .eb-map-mode .eb-builder-step { display:none; }
}
@media(max-width:720px) {
  .eb-entry-mode { padding:16px; }
  .eb-entry-mode #ebFlow { padding:56px 24px 28px; }
  .eb-entry-mode #ebFlow .lp-modal__title { font-size:34px; margin-bottom:20px; }
  .eb-entry-mode #ebFlow .lp-modal__sub { font-size:16px; margin-bottom:28px; }
  .eb-entry-mode #ebFlow .lp-modal__eyebrow { font-size:12px; letter-spacing:.07em; margin-bottom:24px; }
  .eb-entry-mode #ebFlow .lp-modal__eyebrow::before { width:14px; margin-right:8px; }
  .eb-entry-mode #ebZipInput { height:64px; font-size:23px; }
  .eb-entry-mode #ebAddZip { min-height:80px; font-size:18px; }
  .eb-entry-note { font-size:12px; }
  .eb-map-mode .eb-flow-header { height:58px; padding:6px 54px 6px 12px; gap:12px; }
  .eb-map-mode .eb-flow-header img { width:125px; }
  .eb-map-mode .eb-builder-name { font-size:10px; letter-spacing:.08em; padding-left:12px; }
  .eb-map-mode .eb-flow-header .lp-modal__close { top:7px; right:5px; }
  .eb-territory-layout { display:flex; flex-direction:column; overflow:auto; }
  .eb-map-panel { height:48dvh; min-height:320px; flex-shrink:0; }
  .eb-radius-overlay { top:12px; max-width:calc(100% - 16px); width:auto; }
  .eb-radius-bar { gap:0; padding:4px; }
  .eb-radius-bar>span { font-size:10px; padding:0 8px; }
  .eb-radius-bar button { min-width:44px; height:44px; font-size:12px; }
  #ebRadiusNote { font-size:12px; padding:6px 12px; border-radius:12px; width:300px; max-width:100%; }
  .eb-map-mode #ebMap .leaflet-control-zoom { margin-top:86px; }
  .eb-map-tip { bottom:24px; right:8px; max-width:220px; padding:8px 12px; }
  .eb-map-tip strong { display:none; }
  .eb-map-tip #ebMapStatus { font-size:12px; line-height:1.4; }
  .eb-territory-sidebar { display:contents; }
  .eb-sidebar-scroll { overflow:visible; min-height:auto; padding:20px; background:var(--eb-neutral-50); }
  .eb-zip-list { max-height:176px; }
  #ebTerritoryFooter { position:sticky; bottom:0; z-index:500; margin-top:auto; }
  .eb-map-mode .eb-flow-footer { padding:10px 16px; gap:5px; }
  .eb-map-mode .eb-flow-footer .lp-cta { font-size:13px; }
  .eb-flow-footer .eb-book-call-cta { min-width:0; flex:1; max-width:240px; font-size:12px; padding:10px 14px; }
}
@media(prefers-reduced-motion:reduce) {
  #territoryModal,#territoryModal * { animation:none!important; transition:none!important; }
}
