/* The private workspace shares the public site's palette and typography.
   Load this after the admin component styles; calendar status colors retain
   their meaning, while navigation and actions use the Cleanscape brand. */
:root {
  --ink: #142d43;
  --muted: #526576;
  --line: #dce8f0;
  --blue: #087bc1;
  --soft: #edf8ff;
  --bg: #f6faff;
  --navy: #104b76;
  --radius: 12px;
  --sidebar: 224px;
  --accent: #087bc1;
  --accent-dark: #06649f;
  --accent-soft: #dff2ff;
  --pink: #f13b8a;
  --pink-strong: #be246b;
  --pink-dark: #9e1955;
  --pink-soft: #ffe5f0;
  --pink-tint: #fff5fa;
  --shadow: 0 12px 30px -22px #142d4340, 0 2px 8px -4px #142d4312;
}

html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .brand, .login-brand {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
}
h1, h2 { font-weight: 800; letter-spacing: -.035em; }
h3, h4 { font-weight: 700; letter-spacing: -.02em; }
h1 { font-size: clamp(27px, 2.4vw, 34px); }
p { line-height: 1.7; }
::selection { background: var(--pink-soft); color: var(--pink-dark); }
button, input, select, textarea { accent-color: var(--accent); }
button, a, label, summary { overflow-wrap: anywhere; }
button:focus-visible, a:focus-visible, input:focus, select:focus,
textarea:focus, summary:focus-visible { outline-color: var(--accent-dark); }
.eyebrow, .panel-kicker, .report-eyebrow {
  color: var(--accent-dark);
  font-weight: 700;
  line-height: 1.6;
}

/* A light, welcoming workspace anchored by the familiar pink/blue wordmark. */
.sidebar {
  background: #fff;
  color: var(--ink);
  border-right: 1px solid var(--line);
  padding: 28px 18px 20px;
  box-shadow: 6px 0 28px -24px #087bc144;
}
.sidebar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--pink), var(--accent));
}
.sidebar-brand { gap: 10px; padding-inline: 3px; }
.brand { color: var(--accent-dark); font-size: 23px; min-width: 0; }
.brand small { color: var(--pink-strong); }
.brand-icon {
  background: var(--pink-soft);
  color: var(--pink-strong);
  box-shadow: none;
  border-radius: 50%;
}
.brand img, .admin-logo {
  display: block;
  width: min(100%, 222px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.workspace-tag {
  margin: 25px 3px 0;
  padding: 11px 13px;
  border-color: #d7eaf6;
  background: var(--soft);
  color: var(--accent-dark);
  font-size: 12px;
  line-height: 1.5;
  border-radius: 12px;
}
.workspace-dot { background: var(--pink-strong); flex-shrink: 0; }
.nav-heading { color: var(--muted); font-size: 10px; margin: 26px 16px 12px; }
.tabs { gap: 6px; }
.tabs button {
  min-height: 70px;
  padding: 13px 14px;
  border-radius: 16px;
  color: #3b5c73;
  gap: 12px;
}
.tabs button:hover { background: var(--soft); color: var(--accent-dark); }
.tabs button.active {
  background: var(--pink-tint);
  color: var(--pink-dark);
  border-color: #f5d5e5;
  box-shadow: inset 3px 0 var(--pink-strong);
}
.tabs button.active::after { background: var(--pink-strong); right: 11px; }
.nav-label { font-size: 13px; line-height: 1.45; min-width: 0; padding-right: 6px; }
.sidebar .tabs .nav-label small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.sidebar .tabs button.active .nav-label small { color: #8b4263; }
.sidebar-account { color: var(--ink); border-top-color: var(--line); font-size: 12px; }
.sidebar-account small, .sidebar-account > svg { color: var(--muted); }
.account-avatar { background: var(--pink-soft); color: var(--pink-strong); }
.sidebar-help { background: var(--soft); border-color: var(--line); }
.sidebar-help p, .sidebar-help button { color: #3b5c73; }
.sidebar-help button { border-top-color: var(--line); }
.helper-icon { background: #fff; color: var(--accent); border-color: #cee4f3; }
#nav-close { background: #fff; color: var(--accent-dark); border-color: var(--line); }
.nav-overlay { background: #142d4380; }
.app-header { min-height: 80px; height: auto; padding-block: 16px; }
.header-breadcrumb, .header-breadcrumb strong, .website-link { color: #476579; }
.top-actions { gap: 14px; min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
.login-brand { color: var(--accent-dark); }
.login-brand img { display: block; width: 220px; max-width: 100%; height: auto; }
.language-switch, #admin-language-toggle, #admin-language {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 14px;
  background: var(--soft);
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}
.page-heading, .section-title, .report-section-heading { align-items: flex-start; }
.page-heading > div, .section-title > div, .report-section-heading > div {
  min-width: 0;
}
.page-heading p { font-size: 14px; }
.timezone-note { white-space: normal; flex-shrink: 0; max-width: 180px; }
.admin-footer { color: var(--muted); font-size: 11px; }

/* Rounded surfaces, pink calls to action and blue secondary controls. */
.panel, .lead-card, .report-panel, .report-summary, .report-campaign,
.campaign-manager .cm-list-panel, .campaign-manager .cm-wizard {
  border-color: var(--line);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}
.primary, .secondary { font-size: 13px; border-radius: 999px; }
.primary {
  background: var(--pink-strong);
  border-color: var(--pink-strong);
  box-shadow: 0 8px 20px -14px #be246b90;
}
.primary:hover { background: var(--pink-dark); border-color: var(--pink-dark); }
.secondary { color: var(--accent-dark); border-color: #cfe2ef; }
.secondary:hover { background: var(--soft); border-color: #a9d4ed; }
.text-button, .welcome-link { color: var(--accent-dark); font-size: 12px; }
label { color: #39586f; font-size: 12px; line-height: 1.55; }
input, select, textarea { border-color: #cfe0eb; border-radius: 12px; }
input::placeholder, textarea::placeholder { color: #61758a; opacity: 1; }
.notice { background: var(--soft); border-color: #cce5f5; color: var(--accent-dark); }
.empty, .report-empty { background: #fbfdff; border-color: #cee2ef; }
.badge { color: var(--accent-dark); background: var(--accent-soft); white-space: normal; }
.icon-button, .lead-open, .lead-note-button { color: var(--accent-dark); border-color: var(--line); }
.overview-welcome {
  background: linear-gradient(120deg, var(--pink-tint), var(--soft));
  border-color: #e5deeb;
  border-radius: 26px;
  padding: 30px 32px;
}
.overview-welcome::before, .overview-welcome::after { border-color: #f1afcf40; }
.welcome-copy h2 { color: var(--ink); }
.welcome-copy p { color: var(--muted); font-size: 13px; }
.welcome-copy .eyebrow { color: var(--pink-strong); }
.today-feature { color: var(--muted); border-color: #fff; max-width: 245px; }
.today-feature-icon { color: var(--pink-strong); background: var(--pink-soft); }
.today-feature-value { color: var(--accent-dark); }
.today-feature-link { color: var(--accent-dark); border-top-color: var(--line); }
.stat { border-color: var(--line); border-radius: 20px; }
.stat > span { font-size: 12px; line-height: 1.55; }
.stat > small { font-size: 11px; line-height: 1.6; }
.stat-icon, .stat:nth-child(3) .stat-icon { color: var(--accent-dark); background: var(--accent-soft); }
.stat:nth-child(2) .stat-icon, .stat:nth-child(4) .stat-icon { color: var(--pink-strong); background: var(--pink-soft); }
.chart-total, .metric-list strong, .visit-time { background: var(--soft); color: var(--accent-dark); }
.traffic-area { fill: var(--accent-soft); }
.traffic-line { stroke: var(--accent); }
.traffic-dot { fill: var(--accent); }
.chart-axis { fill: #526b7e; }
.activity-row progress::-webkit-progress-value { background: var(--accent); }
.activity-row progress::-moz-progress-bar { background: var(--accent); }
.activity-row:nth-child(even) progress::-webkit-progress-value { background: var(--pink-strong); }
.activity-row:nth-child(even) progress::-moz-progress-bar { background: var(--pink-strong); }
.day-agenda, .day-editor { border-top-color: var(--pink); }
.visit-day[data-has-visits=true] { background: var(--soft); color: var(--accent-dark); }
.visit-day[aria-pressed=true] { background: var(--accent); color: #fff; }
.admin-day[aria-pressed=true], .admin-day:focus-visible { outline-color: var(--accent-dark); }
.admin-day > span { white-space: normal; text-align: center; line-height: 1.2; }
.save-feedback { color: var(--accent-dark); }
.day-active-control input:checked + .day-switch-track { background: var(--accent); }
.day-active-control input:focus-visible + .day-switch-track { outline-color: var(--accent-dark); }
.schedule-time[data-state=booked] { color: var(--accent-dark); background: var(--soft); border-color: #cce6f6; }

/* Customer cards, estimate tools and dialogs belong to the same workspace. */
.lead-command-center { background: #fff; }
.lead-heading-icon, .lead-avatar { background: var(--accent-soft); color: var(--accent-dark); border-color: #cce7f7; }
.lead-card:nth-child(3n+2) .lead-avatar, .lead-card:nth-child(3n+3) .lead-avatar { background: var(--pink-soft); color: var(--pink-strong); }
.lead-search-box { background: #f8fcff; border-color: #cfe0eb; }
.lead-search-box:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px #087bc114; }
.lead-search-box .icon-button { color: var(--accent-dark); background: var(--accent-soft); }
.lead-filter-list button { min-height: 44px; color: var(--muted); font-size: 12px; }
.lead-filter-list button[aria-pressed=true] { color: var(--pink-dark); background: var(--pink-tint); border-color: #f3d4e3; }
.lead-summary-price, .quote-highlight, .pricing-result, .lead-price-equation {
  background: linear-gradient(120deg, var(--pink-tint), var(--soft));
  border-color: #e4e2ef;
}
.lead-summary-price strong, .quote-highlight strong, .pricing-result > strong,
.lead-price-equation strong { color: var(--accent-dark); }
.lead-card .contact-actions .preferred, .contact-actions a.preferred {
  color: var(--accent-dark); background: var(--soft); border-color: #cce4f5;
}
.profile-actions button { color: var(--accent-dark); background: var(--soft); border-color: #cce4f5; }
.lead-follow-up { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.lead-follow-up > button { max-width: 100%; }
.follow-up-email-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  width: 100%;
  max-width: 100%;
  margin: 20px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbfdff;
  color: var(--ink);
  font: 14px/1.8 Inter, ui-sans-serif, system-ui, sans-serif;
}
.status-options button[aria-pressed=true] { color: var(--pink-dark); background: var(--pink-tint); border-color: #efbfd4; }
.pricing-toolbar { flex-wrap: wrap; }
.pricing-toolbar > div { flex: 1 1 300px; min-width: 0; }
.pricing-toolbar > button { flex-shrink: 0; }
.pricing-toolbar p, .pricing-result > span { color: var(--muted); }
.lead-price-analysis { background: #fbfdff; color: var(--ink); border-color: var(--line); }
.pricing-options article:not([data-price-option=floor]) { background: var(--soft); border-color: #cce4f5; }
.pricing-options article:not([data-price-option=floor]) strong,
.pricing-options article:not([data-price-option=floor]) .pricing-option-label { color: var(--accent-dark); }
dialog, #pricing-dialog { color: var(--ink); border-color: var(--line); border-radius: 26px; }
dialog::backdrop, #pricing-dialog::backdrop { background: #142d4380; }
.dialog-header, .pricing-dialog-head { gap: 14px; border-bottom-color: var(--line); }
.dialog-header > button, .pricing-dialog-head > button { flex-shrink: 0; }
.login-card { max-width: 470px; padding: 38px; border-radius: 28px; border-top: 4px solid var(--pink); }
.login-mark { background: var(--pink-soft); color: var(--pink-strong); border-radius: 50%; }
.login-card .login-logo { display: block; width: 270px; max-width: 100%; height: auto; margin-bottom: 26px; }
.login-card > p { font-size: 14px; }
.login-card > a { font-size: 12px; }

/* Report emphasis uses the same blue and pink, with meaningful status colors. */
.report-period { border-color: var(--line); border-radius: 999px; flex-wrap: wrap; }
.report-period button { min-height: 44px; border-radius: 999px; }
.report-period button[aria-pressed=true], .report-period button[aria-expanded=true] {
  color: var(--pink-dark); background: var(--pink-soft);
}
.report-link-icon, .report-step-number { color: var(--accent-dark); background: var(--accent-soft); }
.report-tabs { gap: 12px; }
.report-tabs button { padding-inline: 8px; text-align: left; min-width: 0; }
.report-tabs button[aria-selected=true] { color: var(--pink-dark); border-bottom-color: var(--pink-strong); }
.report-chart-bar { fill: var(--accent); }
.report-chart-day:hover .report-chart-bar, .report-chart-day:focus .report-chart-bar { fill: var(--accent-dark); }
.report-chart-label { fill: #526b7e; }
.report-bar progress::-webkit-progress-value { background: var(--accent); }
.report-bar progress::-moz-progress-bar { background: var(--accent); }
.report-journey-row:last-child progress::-webkit-progress-value { background: var(--pink-strong); }
.report-journey-row:last-child progress::-moz-progress-bar { background: var(--pink-strong); }
.report-rate { color: var(--pink-dark); background: var(--pink-tint); white-space: normal; }
.report-summary .marketing-stat > span { font-size: 12px; line-height: 1.55; }
.report-summary .marketing-stat > small { font-size: 11px; }
.report-summary .marketing-stat > strong { color: var(--accent-dark); }
.report-campaign-metrics > span { min-width: 0; }
.report-campaign-metrics small { overflow-wrap: anywhere; }
.report-panel h3 { line-height: 1.5; }
.report-detail-heading > div { min-width: 0; }
.marketing-stat { min-width: 0; }
.marketing-table-wrap, .pricing-table-wrap { max-width: 100%; overflow-x: auto; }

.campaign-manager .cm-filters { flex-wrap: wrap; }
.campaign-manager .cm-filters button { min-height: 44px; }
.campaign-manager .cm-filters button[aria-pressed=true] { color: var(--pink-dark); background: var(--pink-soft); }
.campaign-manager .cm-filters button[aria-pressed=true] span { color: var(--pink-dark); background: #f8cde1; }
.campaign-manager .cm-link-icon, .campaign-manager .cm-name-reminder { color: var(--accent-dark); background: var(--soft); }
.campaign-manager .cm-steps li[aria-current=step] { color: var(--pink-strong); }
.campaign-manager .cm-steps li[aria-current=step] > span { color: #fff; background: var(--pink-strong); }
.campaign-manager .cm-menu-content { max-width: min(240px, calc(100vw - 48px)); }
.campaign-manager .cm-menu-content button, .campaign-manager .cm-menu-content a { white-space: normal; }
.campaign-manager .cm-list-heading > .primary,
.report-section-heading > .primary, .report-detail-heading > .secondary { white-space: normal; flex-shrink: 0; max-width: 240px; }

@media (min-width: 1000px) and (max-width: 1230px) {
  :root { --sidebar: 244px; }
  .sidebar { padding-inline: 14px; }
  .report-summary .marketing-stat { padding-inline: 14px; }
}
@media (max-width: 999px) {
  .sidebar { width: min(320px, 90vw); padding-inline: 20px; }
  .sidebar .brand img { width: 220px; }
  .app-header { padding-inline: 24px; }
  .overview-charts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .app-header { min-height: 72px; padding: 10px 14px; align-items: center; }
  .header-left { flex: 1; min-width: 0; }
  .header-breadcrumb strong { font-size: 13px; line-height: 1.4; }
  .top-actions { gap: 5px; flex-wrap: nowrap; }
  #logout { color: var(--accent-dark); font-size: 11px; padding-inline: 8px; }
  .language-switch, #admin-language-toggle, #admin-language { font-size: 11px; padding: 8px 10px; }
  .login-brand { font-size: 12px; }
  .login-brand img { width: 180px; }
  .page-heading { flex-wrap: wrap; }
  .page-heading p { font-size: 13px; }
  .section-title { flex-wrap: wrap; }
  .overview-welcome { padding: 24px 20px; flex-direction: column; gap: 22px; }
  .welcome-copy h2 { font-size: 26px; }
  .welcome-copy p { max-width: none; font-size: 13px; }
  .today-feature {
    display: grid;
    grid-template-columns: auto 1fr;
    width: 100%;
    max-width: none;
    min-width: 0;
    gap: 0 12px;
    padding: 16px;
  }
  .today-feature-icon { grid-column: 1; grid-row: 1 / 3; margin: 0; }
  .today-feature-value { grid-column: 2; grid-row: 1; font-size: 30px; }
  .today-feature > #hero-visit-label { grid-column: 2; grid-row: 2; font-size: 12px; margin-top: 3px; }
  .today-feature-link { grid-column: 1 / -1; grid-row: 3; max-width: none; font-size: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
  .stat { padding: 18px; }
  .stat > span { font-size: 12px; }
  .stat > small { font-size: 11px; }
  .stat > strong { font-size: 28px; overflow-wrap: anywhere; }
  .primary, .secondary { font-size: 13px; }
  .panel, .lead-card, .report-panel { border-radius: 20px; }
  .lead-filter-list { flex-wrap: wrap; overflow: visible; margin-inline: 0; padding-inline: 0; }
  .lead-filter-list button { white-space: normal; flex: 1 1 110px; justify-content: center; }
  .lead-card .contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-card .contact-actions a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .lead-card .contact-actions a { font-size: 12px; padding-inline: 10px; }
  .contact-actions .contact-label { font-size: 12px; }
  .contact-actions .contact-label small { font-size: 10px; }
  .pricing-toolbar { padding: 18px; }
  .pricing-toolbar > div { flex: 0 1 auto; width: 100%; }
  .pricing-toolbar > button { width: 100%; }
  .profile-actions { grid-template-columns: minmax(0, 1fr); }
  .detail-grid { grid-template-columns: minmax(0, 1fr); }
  dialog, #pricing-dialog { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; border: 0; }
  .dialog-body, #pricing-body { padding: 24px 20px max(30px, env(safe-area-inset-bottom)); }
  .login-card { padding: 30px 24px; margin-block: 28px; }
  .login-card h1 { font-size: 27px; }
  .report-toolbar #marketing-refresh { width: 100%; margin-left: 0; font-size: 13px; }
  .report-period { width: 100%; flex: 1 1 100%; }
  .report-period button { font-size: 12px; flex: 1 1 65px; }
  .report-section-heading, .report-detail-heading, .campaign-manager .cm-list-heading { flex-wrap: wrap; }
  .report-detail-heading > .secondary, .report-section-heading > .primary,
  .campaign-manager .cm-list-heading > .primary { max-width: 100%; font-size: 12px; }
  .report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; overflow: hidden; }
  .report-summary .marketing-stat, .report-summary .marketing-stat:last-child { padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .report-summary .marketing-stat:nth-child(even) { border-right: 0; }
  .report-summary .marketing-stat:nth-last-child(-n + 2) { border-bottom: 0; }
  .report-summary .marketing-stat > span { font-size: 12px; min-height: 0; }
  .report-summary .marketing-stat > strong { font-size: 26px; margin: 5px 0; }
  .report-summary .marketing-stat > small { display: block; font-size: 11px; }
  .report-tabs { gap: 6px; align-items: stretch; }
  .report-tabs button { flex: 1; align-items: flex-start; gap: 5px; padding: 12px 4px; font-size: 11px; line-height: 1.5; }
  .report-tabs button span { font-size: 12px; }
  .report-bar > div { flex-wrap: wrap; gap: 4px 10px; }
  .report-bar strong { white-space: normal; }
  .report-campaign-metrics { gap: 12px; }
  .report-campaign-metrics > span { min-width: 0; }
  .report-campaign-metrics small { font-size: 11px; }
  .campaign-manager .cm-list-heading p { max-width: none; font-size: 12px; }
  .campaign-manager .cm-list-tools { flex-wrap: wrap; gap: 6px; }
  .campaign-manager .cm-filters { gap: 4px; }
  .campaign-manager .cm-filters button { font-size: 12px; white-space: normal; }
  .campaign-manager .cm-row { flex-wrap: wrap; }
  .campaign-manager .cm-row-main { flex-basis: 100%; }
  .campaign-manager .cm-row-actions { margin-left: auto; }
  .campaign-manager .cm-campaign-name strong { font-size: 13px; }
  .campaign-manager .cm-campaign-name span { font-size: 11px; }
  .campaign-manager .cm-wizard-actions { flex-wrap: wrap; }
  .campaign-manager .cm-wizard-actions > .primary { flex: 1 1 160px; min-width: 0; }
  .campaign-manager .cm-wizard-actions > .secondary { flex: 1 1 100px; }
}
@media (max-width: 380px) {
  .app-header { gap: 6px; padding-inline: 10px; }
  .header-left { gap: 7px; }
  .header-breadcrumb strong { max-width: 90px; }
  .login-brand { max-width: 140px; }
  #logout svg { display: none; }
  #logout { padding-inline: 5px; }
  .stat { padding: 15px; }
  .login-card { padding-inline: 20px; }
  .calendar-heading h2, .calendar-heading h3 { font-size: 16px; }
  .report-summary .marketing-stat, .report-summary .marketing-stat:last-child { padding: 14px 12px; }
}

/* Compact working layout: put the customer list ahead of decorative chrome. */
h1 { font-size: 25px; line-height: 1.25; }
p { line-height: 1.5; }
.sidebar { padding: 20px 12px 16px; }
.sidebar .brand img { width: 176px; }
.workspace-tag { display: none; }
.nav-heading { margin: 22px 12px 10px; }
.tabs { gap: 3px; }
.tabs button { min-height: 43px; padding: 10px 12px; border-radius: 8px; gap: 10px; }
.sidebar .tabs .nav-label small { display: none; }
.nav-label { font-size: 12px; }
.app-header { min-height: 58px; padding: 10px 24px; }
.top-actions { gap: 12px; }
.language-switch { display: flex; align-items: center; gap: 8px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
#admin-language { min-height: 34px; padding: 6px 9px; border-radius: 7px; background: #fff; }
#logout { min-height: 34px; padding: 7px 11px; border-radius: 7px; }
#admin-main { padding: 20px 24px 32px; }
.page-heading { margin-bottom: 16px; gap: 12px; }
.page-heading h1 { margin: 5px 0 4px; }
.page-heading p { font-size: 12px; margin: 0; }
.page-heading .eyebrow { font-size: 10px; }
.timezone-note { font-size: 11px; }
.section-title { margin-bottom: 12px; }
.section-title h2 { font-size: 16px; }
.panel { padding: 18px; box-shadow: 0 2px 6px #142d4306; }
.primary, .secondary { min-height: 34px; padding: 7px 12px; font-size: 12px; border-radius: 7px; }
.overview-welcome { padding: 20px 22px; border-radius: 12px; }
.welcome-copy h2 { font-size: 25px; }
.today-feature { padding: 16px; border-radius: 10px; }
.stat { border-radius: 10px; padding: 16px; }
.stat > strong { font-size: 28px; }
.lead-command-center { padding: 12px 14px; margin-bottom: 12px; }
.lead-tools { display: flex; align-items: center; gap: 8px; }
.lead-tools .lead-search-box { flex: 1; min-width: 0; margin: 0; padding: 3px 5px 3px 10px; border-radius: 8px; gap: 8px; }
.lead-search-box input { min-height: 32px; padding: 3px 0; font-size: 12px; }
.lead-search-box .icon-button { min-height: 30px; height: 30px; min-width: 30px; width: 30px; padding: 6px; border-radius: 5px; }
.lead-tools > .secondary { flex-shrink: 0; white-space: nowrap; }
.lead-tools > .icon-button { min-height: 34px; width: 34px; padding: 8px; }
.lead-filter-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; }
.lead-filter-list { flex: 1; gap: 3px; margin: 0; }
.lead-filter-list button { min-height: 32px; padding: 6px 9px; font-size: 11px; border-radius: 6px; }
.lead-status-filter { display: none; }
.lead-source-filter { display: flex; align-items: center; gap: 7px; margin: 0; }
.lead-source-filter label { font-size: 10px; white-space: nowrap; }
.lead-source-filter select { margin: 0; min-height: 32px; width: 175px; padding: 6px 9px; border-radius: 6px; font-size: 11px; }
.lead-results-heading { margin: 0 0 9px; }
.lead-results-hint { font-size: 10px; }
.card-grid { gap: 12px; }
.lead-card { padding: 14px; border-radius: 10px; }
.lead-avatar { width: 32px; height: 32px; border-radius: 8px; font-size: 11px; }
.lead-identity { gap: 9px; }
.lead-identity h3 { font-size: 14px; }
.lead-meta { margin-top: 3px; }
.lead-summary-price { padding: 10px 12px; margin-top: 11px; border-radius: 7px; background: #f6faff; }
.lead-summary-price strong { font-size: 19px; }
.lead-summary-location { margin-top: 8px; }
.lead-card .lead-follow-up { min-height: 30px; margin-top: 8px; padding: 5px 9px; border-radius: 6px; font-size: 11px; }
.lead-card .contact-actions { margin-top: 10px; gap: 6px; }
.lead-card .contact-actions a { min-height: 34px; padding: 6px; font-size: 11px; border-radius: 6px; }
.lead-footer { margin-top: 10px; padding-top: 9px; gap: 7px; }
.lead-open, .lead-note-button { min-height: 32px; padding: 6px 9px; border-radius: 6px; }
.lead-note-button { width: 32px; }
.campaign-manager .cm-row { padding: 10px 14px; }
.campaign-manager .cm-link-icon { width: 32px; height: 32px; flex-basis: 32px; border-radius: 8px; }
.campaign-manager .cm-row-main { gap: 10px; }
.campaign-manager .cm-campaign-name strong { font-size: 13px; }
.campaign-manager .cm-campaign-name span { font-size: 11px; }
.campaign-manager .cm-list-panel { border-radius: 10px; }
.campaign-manager .cm-menu-content .cm-danger { color: #b42318; border-top: 1px solid var(--line); }
.campaign-manager .cm-menu-content .cm-danger:hover { background: #fff2f0; }
@media (min-width: 1000px) and (max-width: 1230px) { :root { --sidebar: 210px; } }
@media (min-width: 1680px) { #leads-list { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 999px) {
  .sidebar { padding: 20px 16px; }
  .sidebar .tabs .nav-label small { display: block; }
  .tabs button { min-height: 56px; }
}
@media (max-width: 760px) {
  .app-header { min-height: 60px; padding: 8px 12px; }
  .language-switch > span { display: none; }
  #admin-language, #logout { min-height: 40px; }
  #admin-main { padding: 16px 12px 28px; }
  .page-heading { margin-bottom: 12px; }
  .page-heading h1 { font-size: 23px; }
  .page-heading p { font-size: 12px; }
  .panel, .lead-card, .report-panel { border-radius: 10px; }
  .panel { padding: 14px; }
  .lead-command-center { padding: 10px; }
  .lead-tools { flex-wrap: wrap; gap: 6px; }
  .lead-tools .lead-search-box { flex: 1 1 calc(100% - 48px); }
  .lead-tools .lead-search-box input { min-height: 40px; font-size: 16px; }
  .lead-tools > #pricing-settings { order: 2; min-height: 40px; font-size: 11px; }
  .lead-tools > #leads-refresh { min-height: 44px; width: 40px; }
  .lead-filter-bar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
  .lead-filter-list { display: none; }
  .lead-status-filter, .lead-source-filter { display: flex; flex-direction: column; align-items: stretch; gap: 5px; width: auto; min-width: 0; }
  .lead-status-filter label, .lead-source-filter label { font-size: 12px; text-align: left; }
  .lead-status-filter select, .lead-source-filter select { width: 100%; max-width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 9px 8px; font-size: 16px; font-weight: 400; border-radius: 8px; }
  .lead-results-hint { display: none; }
  .lead-card { padding: 13px; }
  .lead-card .contact-actions { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .lead-card .contact-actions a, .lead-card .lead-follow-up, .lead-open, .lead-note-button { min-height: 44px; }
  .lead-card .contact-actions a:last-child:nth-child(odd) { grid-column: auto; }
  .lead-card .contact-actions .contact-label { font-size: 11px; }
  .lead-note-button { width: 44px; }
  .campaign-manager .cm-row { flex-wrap: nowrap; padding: 10px; }
  .campaign-manager .cm-row-main { flex-basis: auto; min-width: 0; }
  .campaign-manager .cm-row-actions { flex-shrink: 0; }
}
@media (max-width: 380px) {
  .lead-filter-bar { grid-template-columns: minmax(0,1fr); }
  .admin-authenticated .header-breadcrumb { display: none; }
}
.language-switch { flex-shrink: 0; white-space: nowrap; }
.language-switch > span { flex-shrink: 0; overflow-wrap: normal; }
#admin-language { width: auto; min-width: 94px; }
.lead-compact-summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; padding: 0 0 4px; }
.lead-compact-summary > div { min-width: 0; }
.lead-service { margin: 0; font-size: 12px; font-weight: 500; }
.lead-compact-summary .lead-summary-location { margin: 5px 0 0; font-size: 11px; }
.lead-compact-price { text-align: right; flex-shrink: 0; max-width: 48%; }
.lead-compact-price > span { display: block; color: var(--muted); font-size: 10px; }
.lead-compact-price > strong { display: block; font-size: 19px; color: var(--accent-dark); margin-top: 2px; }
.lead-cost-link { display: inline-block; min-height: 24px; font-size: 10px; color: var(--accent-dark); padding: 3px 0; text-decoration: underline; text-underline-offset: 2px; }
.lead-card .contact-actions a { border-color: transparent; background: transparent; font-size: 11px; }
.lead-card .contact-actions a:hover { background: var(--soft); }
.lead-card .contact-actions .preferred { border-color: transparent; background: var(--soft); }
.lead-card .contact-actions .contact-label small { display: none; }
.lead-card .lead-status { background: transparent; padding: 4px 0; }
.lead-card .lead-footer .lead-follow-up { margin: 0; min-height: 32px; padding: 5px 7px; font-size: 10px; }
.lead-card .lead-footer .lead-open { padding: 6px 7px; font-size: 10px; }
.lead-card .lead-footer { gap: 6px; }
.lead-card .lead-source-badge { margin: 5px 0; }
@media (min-width: 1200px) { #leads-list { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .lead-card .lead-footer .lead-follow-up, .lead-card .lead-footer .lead-open, .lead-card .lead-status, .lead-cost-link { min-height: 44px; }
  .lead-cost-link { padding: 9px 0; font-size: 11px; }
  .lead-card .lead-footer { gap: 5px; }
  .lead-card .lead-footer .lead-follow-up, .lead-card .lead-footer .lead-open { font-size: 11px; }
}
.lead-cost-link { border: 0; background: transparent; box-shadow: none; border-radius: 0; }
.lead-cost-link:hover { color: var(--pink-dark); }
.lead-card .lead-status { color: #456078; font-size: 11px; }
.lead-card .lead-status:hover { color: var(--accent-dark); text-decoration: underline; }
.lead-management { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.lead-card .lead-management .lead-status { display: inline-flex; align-items: center; gap: 6px; width: auto; max-width: 100%; min-height: 34px; margin: 0; padding: 7px 9px; border: 1px solid #bad7eb; border-radius: 7px; background: #edf7ff; color: #245b86; font-size: 11px; font-weight: 600; white-space: nowrap; }
.lead-card .lead-management .lead-status:hover { border-color: var(--accent); background: #dfedfc; text-decoration: none; }
.lead-status-label { font-weight: 400; }
.lead-card .lead-management .lead-status[data-status="follow_up"] { border-color: #e8cf99; background: #fff8e8; color: #77551a; }
.lead-card .lead-management .lead-status[data-status="contacted"] { border-color: #d5c7ed; background: #f5efff; color: #6a478a; }
.lead-card .lead-management .lead-status[data-status="won"] { border-color: #b5dbca; background: #eaf8f0; color: #286346; }
.lead-card .lead-management .lead-status[data-status="lost"] { border-color: #d5dce2; background: #f2f5f7; color: #52616b; }
.lead-delete { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 34px; padding: 7px 9px; border: 1px solid #efc7c7; border-radius: 7px; background: #fff8f8; color: #a42c2c; font-size: 11px; }
.lead-delete:hover { background: #ffebeb; border-color: #d78989; }
.lead-delete svg { width: 14px; height: 14px; }
.profile-delete { margin-top: 16px; min-height: 44px; }
@media (max-width: 760px) {
  .lead-card .lead-management .lead-status, .lead-delete { min-height: 44px; }
}
@media (max-width: 380px) {
  .lead-management .lead-status-label { display: none; }
}
