@import url("brand-fonts.css?v=20260727-roboto");

:root {
  color-scheme: light;
  --bg: #eef3f8;
  --bg-soft: #f6f8fb;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --text: #172231;
  --muted: #68788c;
  --border: #d7e1eb;
  --border-strong: #bdcbd9;
  --accent: #243f86;
  --accent-2: #248fd3;
  --accent-soft: #eaf4fc;
  --danger: #a93238;
  --danger-soft: #f9ecee;
  --success: #2f7d56;
  --success-soft: #edf7f2;
  --warning: #b36b18;
  --shadow-sm: 0 8px 22px rgba(24, 38, 55, .07);
  --shadow-md: 0 18px 45px rgba(24, 38, 55, .11);
  --radius: 8px;
}

/* Personal commercial statistics */
.stats-shell {
  display: grid;
  gap: 22px;
  padding-bottom: 56px;
}

.page-head.stats-page-head {
  align-items: flex-end;
  margin-bottom: 0;
}

.page-head.stats-page-head h1 {
  margin: 4px 0 7px;
  color: #17223b;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: -0.035em;
}

.page-head.stats-page-head p {
  margin: 0;
  max-width: 660px;
}

.stats-updated {
  display: grid;
  gap: 3px;
  min-width: 190px;
  padding: 12px 16px;
  border: 1px solid #e6eaf2;
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  text-align: right;
}

.stats-updated span,
.stats-updated strong {
  color: #71809a;
  font-size: 12px;
}

.stats-updated strong {
  color: #293754;
  font-size: 14px;
}

.panel.stats-filter-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 16px 18px;
  margin-top: 0;
  border-radius: 18px;
}

.stats-filter-form,
.stats-period-presets,
.stats-custom-range {
  display: flex;
  align-items: center;
  gap: 8px;
}

.stats-filter-form {
  flex-wrap: wrap;
  gap: 14px;
}

.stats-period-chip {
  padding: 9px 13px;
  border: 1px solid #dfe4ee;
  border-radius: 999px;
  color: #56637a;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: .18s ease;
}

.stats-period-chip:hover,
.stats-period-chip.active {
  border-color: #25449b;
  color: #fff;
  background: #25449b;
  box-shadow: 0 8px 18px rgba(37,68,155,.18);
}

.stats-custom-range {
  padding-left: 14px;
  border-left: 1px solid #e3e7ef;
}

.stats-custom-range label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: #6b7890;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.stats-custom-range input {
  width: 137px;
  min-height: 36px;
  padding: 7px 9px;
  font-size: 12px;
}

.stats-period-caption {
  display: grid;
  gap: 2px;
  min-width: 220px;
  text-align: right;
}

.stats-period-caption strong {
  color: #1d2b49;
  font-size: 15px;
}

.stats-period-caption span,
.stats-period-caption small {
  color: #65728a;
  font-size: 12px;
}

.stats-period-caption small {
  color: #98a2b3;
}

.stats-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}

.stats-kpi {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 180px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid #e6eaf2;
  border-radius: 22px;
  background: linear-gradient(145deg,#fff 0%,#fafbfe 100%);
  box-shadow: 0 12px 32px rgba(35,51,85,.07);
}

.stats-kpi::after {
  content: "";
  position: absolute;
  right: -32px;
  bottom: -44px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(76,109,201,.07);
}

.stats-kpi-primary {
  color: #fff;
  border-color: #25449b;
  background: linear-gradient(145deg,#1f3d91 0%,#2e55b2 100%);
}

.stats-kpi-primary::after {
  background: rgba(255,255,255,.09);
}

.stats-kpi-goal {
  border-color: #f0d16c;
  background: linear-gradient(145deg,#fffdf6 0%,#fff8d9 100%);
}

.stats-kpi-estimate {
  border-color: #cfe5dc;
  background: linear-gradient(145deg,#fff 0%,#f1faf6 100%);
}

.stats-kpi-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 15px;
  border-radius: 12px;
  color: #3150a2;
  background: #edf1fc;
  font-size: 12px;
  font-weight: 950;
}

.stats-kpi-primary .stats-kpi-icon {
  color: #fff;
  background: rgba(255,255,255,.14);
}

.stats-kpi > span:not(.stats-delta) {
  color: #6c7890;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.stats-kpi-primary > span:not(.stats-delta) {
  color: rgba(255,255,255,.76);
}

.stats-kpi > strong {
  position: relative;
  z-index: 1;
  margin: 8px 0 7px;
  color: #17223b;
  font-size: clamp(27px,3vw,38px);
  line-height: 1;
  letter-spacing: -.035em;
}

.stats-kpi-primary > strong {
  color: #fff;
}

.stats-kpi > strong.stats-kpi-empty {
  font-size: 23px;
}

.stats-kpi > small {
  color: #77839a;
  font-size: 12px;
  line-height: 1.45;
}

.stats-kpi-primary > small {
  color: rgba(255,255,255,.7);
}

.stats-info {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: -2px 0 0 3px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: inherit;
  background: transparent;
  font-size: 10px;
  line-height: 1;
  vertical-align: middle;
  cursor: help;
}

.stats-delta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  padding-top: 9px;
  color: #7c879a;
  font-size: 11px;
  font-weight: 800;
}

.stats-delta.is-up { color: #16855d; }
.stats-delta.is-down { color: #bd4f4b; }
.stats-delta.is-new { color: #3150a2; }
.stats-kpi-primary .stats-delta { color: rgba(255,255,255,.78); }

.stats-mini-progress,
.stats-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(61,72,98,.1);
}

.stats-mini-progress {
  margin: 3px 0 8px;
}

.stats-mini-progress i,
.stats-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#f0bd35,#f5d765);
}

.stats-goals-grid {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr);
  gap: 16px;
}

.panel.stats-goal-card,
.panel.stats-bonus-card,
.panel.stats-funnel-panel,
.panel.stats-capture-panel,
.panel.stats-trend-panel,
.panel.stats-focus-panel,
.panel.stats-health-panel,
.panel.stats-operations-panel {
  padding: 24px;
  margin-top: 0;
  border-color: #e5e9f1;
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(31,46,78,.06);
}

.stats-section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.stats-section-title h2 {
  margin: 3px 0 0;
  color: #1d2944;
  font-size: 21px;
  letter-spacing: -.02em;
}

.stats-section-title p {
  margin: 6px 0 0;
  color: #7a869b;
  font-size: 13px;
}

.stats-data-warning,
.stats-bonus-badge {
  padding: 7px 10px;
  border-radius: 999px;
  color: #9b6c00;
  background: #fff3c8;
  font-size: 11px;
  font-weight: 900;
}

.stats-goal-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 26px;
}

.stats-goal-row > div:first-child {
  display: grid;
  gap: 7px;
}

.stats-goal-row span,
.stats-bonus-card p {
  color: #758198;
  font-size: 13px;
}

.stats-goal-row strong,
.stats-bonus-remaining {
  color: #1d2b49;
  font-size: clamp(30px,4vw,44px);
  letter-spacing: -.04em;
}

.stats-goal-progress > span {
  --stats-progress: 0%;
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: conic-gradient(#2c51aa var(--stats-progress),#edf0f5 0);
}

.stats-goal-progress > span::before {
  content: "";
  position: absolute;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #fff;
}

.stats-goal-progress b {
  position: relative;
  z-index: 1;
  color: #29489a;
  font-size: 21px;
}

.stats-goal-foot {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid #edf0f4;
  color: #6e7a90;
  font-size: 12px;
}

.panel.stats-bonus-card {
  background: linear-gradient(145deg,#223f91,#2f58b6);
}

.stats-bonus-card .page-kicker,
.stats-bonus-card .stats-section-title h2,
.stats-bonus-card .stats-bonus-remaining {
  color: #fff;
}

.stats-bonus-card .page-kicker,
.stats-bonus-card p,
.stats-bonus-card .stats-goal-foot {
  color: rgba(255,255,255,.72);
}

.stats-bonus-card .stats-bonus-badge {
  color: #ffe381;
  background: rgba(255,255,255,.12);
}

.stats-bonus-card .stats-progress {
  margin-top: 16px;
  background: rgba(255,255,255,.14);
}

.stats-bonus-card .stats-goal-foot {
  border-color: rgba(255,255,255,.14);
}

.stats-funnel {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #e6eaf1;
  border-radius: 18px;
}

.stats-funnel-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-height: 142px;
  padding: 20px 10px;
  background: linear-gradient(180deg,#fff,#fafbfe);
}

.stats-funnel-step + .stats-funnel-step {
  border-left: 1px solid #e8ebf2;
}

.stats-funnel-index {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  color: #3150a2;
  background: #edf1fc;
  font-size: 11px;
  font-weight: 900;
}

.stats-funnel-step small {
  color: #758198;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.stats-funnel-step strong {
  color: #1b2947;
  font-size: 29px;
}

.stats-funnel-step em {
  color: #2c55ad;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.stats-speed-strip {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-top: 14px;
}

.stats-speed-strip > div {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f5f7fb;
}

.stats-speed-strip span {
  color: #788499;
  font-size: 11px;
}

.stats-speed-strip strong {
  color: #243452;
  font-size: 20px;
}

.stats-capture-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}

.stats-capture-grid article {
  display: grid;
  gap: 6px;
  min-height: 125px;
  padding: 18px;
  border: 1px solid #e7eaf1;
  border-radius: 17px;
  background: #fbfcfe;
}

.stats-capture-grid article:nth-child(2) {
  border-color: #ecd579;
  background: #fffaf0;
}

.stats-capture-grid span,
.stats-capture-grid small {
  color: #758198;
  font-size: 11px;
}

.stats-capture-grid span {
  font-weight: 800;
  text-transform: uppercase;
}

.stats-capture-grid strong {
  color: #233350;
  font-size: 31px;
}

.stats-lower-grid {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(300px,.5fr);
  gap: 16px;
}

.stats-chart-legend {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #718098;
  font-size: 11px;
}

.stats-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: #3155ad;
}

.stats-trend-chart {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  align-items: end;
  gap: 10px;
  height: 280px;
  padding-top: 18px;
}

.stats-trend-chart article {
  display: grid;
  grid-template-rows: 26px 1fr auto auto;
  align-items: end;
  gap: 6px;
  height: 100%;
  text-align: center;
}

.stats-trend-value {
  color: #6e7a90;
  font-size: 10px;
  font-weight: 800;
}

.stats-trend-bar {
  position: relative;
  width: min(56px,75%);
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 10px 10px 4px 4px;
  background: #f0f2f7;
}

.stats-trend-bar i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  background: linear-gradient(180deg,#4d71ca,#25479e);
}

.stats-trend-chart strong {
  color: #31405d;
  font-size: 13px;
}

.stats-trend-chart small {
  min-height: 28px;
  color: #8b95a7;
  font-size: 9px;
  line-height: 1.35;
}

.stats-focus-list {
  display: grid;
  gap: 11px;
}

.stats-focus-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 15px;
  border-radius: 15px;
  background: #f6f8fb;
}

.stats-focus-item > span {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border-radius: 50%;
  background: #71809b;
}

.stats-focus-item.is-attention > span { background: #e1a92f; box-shadow: 0 0 0 5px rgba(225,169,47,.12); }
.stats-focus-item.is-ok > span { background: #289b70; box-shadow: 0 0 0 5px rgba(40,155,112,.12); }
.stats-focus-item strong { color: #293853; font-size: 13px; }
.stats-focus-item p { margin: 4px 0 0; color: #738096; font-size: 12px; line-height: 1.5; }

.stats-health-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}

.stats-health-grid a {
  display: grid;
  gap: 5px;
  padding: 17px;
  border: 1px solid #e7eaf1;
  border-radius: 16px;
  color: inherit;
  background: #fbfcfe;
  text-decoration: none;
  transition: .18s ease;
}

.stats-health-grid a:hover {
  transform: translateY(-2px);
  border-color: #bfcbea;
  box-shadow: 0 10px 20px rgba(38,61,116,.08);
}

.stats-health-grid span,
.stats-health-grid small {
  color: #758198;
  font-size: 11px;
}

.stats-health-grid strong {
  color: #263654;
  font-size: 28px;
}

.stats-table-wrap table {
  min-width: 780px;
}

.stats-table-wrap td strong,
.stats-table-wrap td small {
  display: block;
}

.stats-table-wrap td small {
  margin-top: 3px;
  color: #8994a7;
}

.stats-money-cell {
  text-align: right;
  white-space: nowrap;
}

.stats-role-chip,
.stats-status-chip {
  display: inline-flex;
  margin: 2px 3px 2px 0;
  padding: 5px 8px;
  border-radius: 999px;
  color: #3150a2;
  background: #edf1fc;
  font-size: 10px;
  font-weight: 900;
}

.stats-status-chip {
  color: #49705f;
  background: #eaf7f1;
  text-transform: capitalize;
}

.commercial-results-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #3150a2;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.commercial-results-link:hover { text-decoration: underline; }

.commercial-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.commercial-results-heading h2 {
  margin: 0;
}

@media (max-width: 1180px) {
  .stats-filter-panel { grid-template-columns: 1fr; }
  .stats-period-caption { text-align: left; }
  .stats-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stats-capture-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .stats-lower-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .stats-page-head { align-items: flex-start; }
  .stats-updated { width: 100%; text-align: left; }
  .stats-custom-range { width: 100%; padding: 12px 0 0; border-top: 1px solid #e3e7ef; border-left: 0; }
  .stats-goals-grid { grid-template-columns: 1fr; }
  .stats-funnel { grid-template-columns: 1fr; }
  .stats-funnel-step { grid-template-columns: auto 1fr auto auto; align-items: center; justify-items: start; min-height: 0; padding: 13px 15px; }
  .stats-funnel-step + .stats-funnel-step { border-top: 1px solid #e8ebf2; border-left: 0; }
  .stats-funnel-step strong,.stats-funnel-step em { justify-self: end; }
  .stats-speed-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stats-health-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .stats-shell { gap: 15px; }
  .panel.stats-filter-panel,.panel.stats-goal-card,.panel.stats-bonus-card,.panel.stats-funnel-panel,.panel.stats-capture-panel,.panel.stats-trend-panel,.panel.stats-focus-panel,.panel.stats-health-panel,.panel.stats-operations-panel { padding: 17px; border-radius: 18px; }
  .stats-period-presets { display: grid; grid-template-columns: repeat(4,1fr); width: 100%; }
  .stats-period-chip { padding: 8px 5px; text-align: center; }
  .stats-custom-range { display: grid; grid-template-columns: repeat(2,1fr); }
  .stats-custom-range label { display: grid; }
  .stats-custom-range input { width: 100%; }
  .stats-custom-range .button { grid-column: 1/-1; }
  .stats-kpi-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .stats-kpi { min-height: 160px; padding: 16px; border-radius: 17px; }
  .stats-kpi > strong { font-size: 25px; }
  .stats-goal-row { grid-template-columns: 1fr; }
  .stats-goal-progress { display: none; }
  .stats-goal-foot { display: grid; }
  .stats-capture-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stats-speed-strip,.stats-health-grid { grid-template-columns: 1fr 1fr; }
  .stats-trend-chart { gap: 4px; height: 235px; }
  .stats-trend-value { display: none; }
  .stats-trend-chart article { grid-template-rows: 1fr auto auto; }
  .stats-trend-chart small { font-size: 8px; }
  .commercial-results-heading { align-items: flex-start; }
  .commercial-results-link { max-width: 120px; text-align: right; }
}

@media (max-width: 430px) {
  .stats-kpi-grid,.stats-capture-grid,.stats-speed-strip,.stats-health-grid { grid-template-columns: 1fr; }
  .stats-kpi { min-height: 145px; }
  .stats-section-title { display: grid; }
}

.operations-filter-form {
  align-items: end;
}

.operations-filter-search {
  min-width: min(320px, 100%);
}

.operations-table table {
  min-width: 1120px;
}

.operation-inline-form {
  display: grid;
  gap: 8px;
  min-width: 220px;
}

.operation-inline-form select,
.operation-inline-form input,
.operation-inline-form textarea {
  width: 100%;
}

.operation-inline-form textarea {
  min-height: 58px;
  resize: vertical;
}

.operation-commercial-checklist-mini {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid #dce5f4;
  border-radius: 8px;
  background: #f8fbff;
}

.operation-commercial-checklist-mini span {
  color: var(--accent);
  font-weight: 900;
}

.operation-commercial-checklist-mini small {
  color: var(--muted);
}

.operation-status-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.operation-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: var(--accent-soft);
  color: var(--accent);
}

.operation-status-badge.status-cerrado {
  background: var(--success-soft);
  color: var(--success);
}

.operation-status-badge.status-incidencia {
  background: var(--danger-soft);
  color: var(--danger);
}

.operation-status-badge.status-documentacion,
.operation-status-badge.status-arras,
.operation-status-badge.status-coordinacion,
.operation-status-badge.status-notaria,
.operation-status-badge.status-firma,
.operation-status-badge.status-postfirma {
  background: #fff5df;
  color: var(--warning);
}

.operation-detail-shell {
  width: min(100%, 1460px);
}

.operation-detail-head {
  align-items: center;
}

.operation-stage-bar {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
  padding: 14px;
}

.operation-stage-bar span {
  min-height: 42px;
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.operation-stage-bar span.done {
  color: var(--success);
  background: var(--success-soft);
  border-color: rgba(47, 125, 86, .24);
}

.operation-stage-bar span.active {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 10px 22px rgba(36, 63, 134, .18);
}

.operation-stage-bar span.active:last-child,
.operation-stage-bar span.active:nth-child(9) {
  background: var(--danger);
  border-color: var(--danger);
}

.operation-detail-kpis {
  margin-top: 16px;
}

.operation-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  margin-top: 18px;
}

.operation-object-form {
  display: grid;
  gap: 16px;
}

.operation-object-form textarea {
  min-height: 96px;
}

.operation-checklist {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.operation-checklist label {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
  color: var(--text);
  font-weight: 850;
}

.operation-checklist input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.operation-side-stack {
  display: grid;
  align-content: start;
  gap: 18px;
}

.operation-commercial-checklist-panel {
  display: grid;
  gap: 12px;
}

.commercial-checklist-readonly {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.commercial-checklist-readonly > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.commercial-checklist-readonly > div.checked {
  border-color: rgba(47, 125, 86, .22);
  background: var(--success-soft);
}

.commercial-checklist-readonly strong {
  color: var(--text);
  font-size: 12px;
}

.commercial-checklist-readonly span {
  color: var(--muted);
  font-size: 12px;
}

.sales-checklist-shell {
  width: min(100%, 1480px);
}

.sales-checklist-kpis {
  margin-top: 18px;
}

.sales-checklist-filter-panel {
  margin-top: 18px;
}

.sales-checklist-list {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.sales-checklist-card {
  display: grid;
  gap: 14px;
  border-left: 5px solid var(--accent);
}

.sales-checklist-card.status-completo {
  border-left-color: var(--success);
}

.sales-checklist-card.status-en_curso {
  border-left-color: var(--warning);
}

.sales-checklist-card.status-pendiente {
  border-left-color: var(--danger);
}

.sales-checklist-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.sales-checklist-card-head h2 {
  margin: 4px 0 0;
  color: var(--text);
  font-size: 23px;
}

.sales-checklist-card-head p {
  margin: 6px 0 0;
}

.sales-checklist-status {
  min-width: 150px;
  display: grid;
  justify-items: end;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--panel-soft);
}

.sales-checklist-status strong {
  color: var(--accent);
  font-size: 16px;
}

.sales-checklist-status span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sales-checklist-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sales-checklist-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #f3f6fb;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sales-checklist-details {
  border-top: 1px solid var(--border);
  padding-top: 12px;
}

.sales-checklist-details summary {
  cursor: pointer;
  color: var(--accent);
  font-weight: 900;
}

.sales-checklist-details form {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.sales-checklist-grid {
  display: grid;
  gap: 10px;
}

.sales-checklist-item {
  display: grid;
  grid-template-columns: minmax(260px, .62fr) minmax(280px, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.sales-checklist-item small {
  grid-column: 1 / -1;
  color: var(--warning);
  font-weight: 800;
}

.sales-checkline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--text);
  font-weight: 850;
}

.sales-checkline input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 auto;
}

.sales-checklist-item > input {
  width: 100%;
}

.sales-checklist-item-wide-note {
  align-items: start;
}

.sales-checklist-item-wide-note .sales-checkline {
  grid-column: 1 / -1;
}

.sales-checklist-extra-note {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 96px;
  resize: vertical;
}

.sales-operations-table {
  overflow: hidden;
  padding: 0;
}

.sales-operations-head,
.sales-operation-row {
  display: grid;
  grid-template-columns: minmax(82px, .45fr) minmax(145px, .78fr) minmax(165px, .88fr) minmax(105px, .55fr) minmax(240px, 1.12fr) minmax(120px, .58fr) minmax(118px, .52fr);
  align-items: stretch;
}

.sales-operations-head {
  min-height: 48px;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid var(--border);
  background: #eef4fa;
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
}

.sales-operation-row {
  border-left: 5px solid var(--accent);
  border-bottom: 1px solid #e8edf4;
  background: #fff;
}

.sales-operation-row:nth-child(even) {
  background: #f7fbff;
}

.sales-operation-row.status-pendiente {
  border-left-color: var(--danger);
}

.sales-operation-row.status-en_curso {
  border-left-color: var(--warning);
}

.sales-operation-row.status-completo {
  border-left-color: var(--success);
}

.sales-cell {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 96px;
  padding: 13px 12px;
}

.sales-cell strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sales-cell small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.sales-cell-property strong {
  color: #3d67b3;
}

.sales-cell-sale strong {
  font-size: 17px;
}

.sales-mobile-label {
  display: none;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-chip,
.sales-data-chips span,
.sales-alert-list span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  min-height: 26px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.sales-chip,
.sales-data-chips span {
  background: #edf3f9;
  color: #33445c;
}

.sales-data-chips,
.sales-alert-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.sales-alert-list span {
  border: 1px solid transparent;
}

.sales-alert-list .level-ok {
  background: var(--success-soft);
  color: var(--success);
}

.sales-alert-list .level-danger {
  background: var(--danger-soft);
  color: var(--danger);
}

.sales-alert-list .level-warning {
  background: #fff5df;
  color: var(--warning);
}

.sales-alert-list .level-info {
  background: var(--accent-soft);
  color: var(--accent);
}

.sales-alert-list .level-soft {
  background: #f2f5f8;
  color: var(--muted);
}

.sales-checklist-status.compact {
  min-width: 0;
  justify-items: start;
  padding: 8px 9px;
}

.sales-checklist-status.compact strong {
  font-size: 12px;
}

.sales-checklist-open {
  width: fit-content;
  min-height: 36px;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  box-shadow: 0 10px 24px rgba(43, 68, 151, .16);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
}

.sales-checklist-open:hover {
  background: #20377d;
}

.sales-checklist-modal[hidden] {
  display: none;
}

.sales-checklist-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.sales-checklist-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(19, 31, 53, .54);
  backdrop-filter: blur(5px);
  cursor: pointer;
}

.sales-checklist-modal-panel {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 22px;
  border: 1px solid rgba(207, 218, 231, .95);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(19, 31, 53, .26);
}

.sales-checklist-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.sales-checklist-modal-head span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.sales-checklist-modal-head h2 {
  margin: 3px 0 4px;
  color: var(--text);
  font-size: 24px;
  line-height: 1.1;
}

.sales-checklist-modal-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.sales-checklist-modal-head-actions {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.sales-checklist-modal-close {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  cursor: pointer;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.sales-checklist-modal-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.sales-checklist-modal-summary span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf3f9;
  color: #33445c;
  font-size: 12px;
  font-weight: 900;
}

.sales-checklist-modal form {
  display: grid;
  gap: 14px;
}

body.sales-modal-open {
  overflow: hidden;
}

.operation-history-panel {
  margin-top: 18px;
}

@media (max-width: 860px) {
  .operations-kpis {
    grid-template-columns: 1fr;
  }

  .sales-operations-head {
    display: none;
  }

  .sales-operation-row {
    grid-template-columns: 1fr;
    border-radius: 8px;
    border-right: 1px solid var(--border);
    border-top: 1px solid var(--border);
    margin-bottom: 12px;
  }

  .sales-cell {
    min-height: auto;
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f6;
  }

  .sales-mobile-label {
    display: block;
  }

  .operation-stage-bar,
  .operation-detail-grid,
  .operation-checklist,
  .sales-checklist-item {
    grid-template-columns: 1fr;
  }

  .sales-checklist-card-head {
    display: grid;
  }

  .sales-checklist-status {
    justify-items: start;
    min-width: 0;
  }

  .sales-checklist-modal {
    padding: 12px;
  }

  .sales-checklist-modal-panel {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 16px;
    border-radius: 10px;
  }

  .sales-checklist-modal-head,
  .sales-checklist-modal-head-actions {
    display: grid;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Segoe UI", Arial, sans-serif;
  background:
    linear-gradient(180deg, #f7f9fc 0%, var(--bg) 42%, #e8eef5 100%);
  color: var(--text);
  font-size: 15px;
  line-height: 1.45;
}

a {
  color: inherit;
  text-underline-offset: 3px;
}

.topbar {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 clamp(18px, 3vw, 34px);
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(215, 225, 235, .82);
  box-shadow: 0 1px 18px rgba(23, 34, 49, .05);
  backdrop-filter: blur(14px);
}

.portal-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 276px minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  min-height: 100vh;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,253,255,.98) 100%);
  border-right: 1px solid rgba(215, 225, 235, .76);
  box-shadow: 16px 0 42px rgba(24, 38, 55, .07);
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  text-decoration: none;
}

.sidebar-brand-mark {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #344da6 0%, #142b76 100%);
  color: #fff;
  font-size: 21px;
  font-weight: 950;
  box-shadow: 0 14px 26px rgba(36, 63, 134, .20);
}

.sidebar-brand-mark::before,
.sidebar-brand-mark::after {
  content: "";
  position: absolute;
  top: -6px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #2d459d;
}

.sidebar-brand-mark::before {
  left: 2px;
}

.sidebar-brand-mark::after {
  right: 2px;
}

.sidebar-brand strong,
.sidebar-brand small {
  display: block;
}

.sidebar-brand strong {
  color: var(--accent);
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0;
}

.sidebar-brand small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sidebar-user {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 76px;
  padding: 9px 54px 9px 9px;
  background: #fff;
  border: 1px solid #d9e4ee;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 24px rgba(30, 51, 74, .05);
}

.user-avatar,
.profile-photo-preview {
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff;
  font-weight: 900;
}

.user-avatar {
  width: 54px;
  height: 54px;
  font-size: 18px;
  border: 3px solid #f0f5fa;
  box-shadow: 0 10px 24px rgba(24, 38, 55, .08);
}

.sidebar-user.has-red-alert {
  border-color: rgba(196, 66, 66, .22);
}

.sad-bear-avatar,
.sad-bear-avatar span {
  display: block;
}

.sad-bear-avatar {
  position: relative;
  width: 45px;
  height: 48px;
  transform-origin: 50% 72%;
  animation: mayrasa-sad-bear-sway 2.8s ease-in-out infinite;
}

.sad-bear-ear {
  position: absolute;
  z-index: 1;
  top: 4px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #9b613a;
  box-shadow: inset -3px -3px 5px rgba(73, 38, 20, .14);
}

.sad-bear-ear-left {
  left: 5px;
}

.sad-bear-ear-right {
  right: 5px;
}

.sad-bear-face {
  position: absolute;
  z-index: 2;
  top: 7px;
  left: 7px;
  width: 31px;
  height: 29px;
  border-radius: 50% 50% 44% 44%;
  background: linear-gradient(145deg, #c58b58 0%, #9d623a 100%);
  box-shadow: inset -6px -7px 11px rgba(76, 39, 20, .16);
}

.sad-bear-body {
  position: absolute;
  z-index: 1;
  left: 11px;
  bottom: 2px;
  width: 24px;
  height: 20px;
  border-radius: 48% 48% 42% 42%;
  background: linear-gradient(145deg, #bd7d4b 0%, #965b36 100%);
  box-shadow: inset -5px -5px 9px rgba(76, 39, 20, .12);
}

.sad-bear-brow {
  position: absolute;
  top: 8px;
  width: 7px;
  height: 4px;
  border-top: 2px solid #5f341f;
  border-radius: 50%;
}

.sad-bear-brow-left {
  left: 7px;
  transform: rotate(-16deg);
}

.sad-bear-brow-right {
  right: 7px;
  transform: rotate(16deg);
}

.sad-bear-eye {
  position: absolute;
  top: 13px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #111827;
}

.sad-bear-eye-left {
  left: 9px;
}

.sad-bear-eye-right {
  right: 9px;
}

.sad-bear-tear {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 4px;
  width: 5px;
  height: 9px;
  border-radius: 55% 55% 65% 65%;
  background: linear-gradient(180deg, #7fd5ff 0%, #2f8eea 100%);
  opacity: .95;
  animation: mayrasa-sad-bear-tear 1.45s ease-in-out infinite;
}

.sad-bear-muzzle {
  position: absolute;
  left: 10px;
  top: 17px;
  width: 12px;
  height: 10px;
  border-radius: 50%;
  background: #f6d9bd;
  box-shadow: inset 0 -3px 0 rgba(129, 75, 42, .11);
}

.sad-bear-muzzle::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 4px;
  width: 4px;
  height: 3px;
  border-radius: 50%;
  background: #6a3b24;
}

.sad-bear-mouth {
  position: absolute;
  left: 13px;
  top: 25px;
  width: 6px;
  height: 4px;
  border-top: 2px solid #5f341f;
  border-radius: 50%;
}

.sad-bear-paw {
  position: absolute;
  z-index: 3;
  left: 8px;
  bottom: -1px;
  width: 10px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(145deg, #c48652 0%, #9f623a 100%);
  transform: rotate(6deg);
  transform-origin: 50% 12%;
  box-shadow: inset -2px -3px 5px rgba(76, 39, 20, .12);
  animation: mayrasa-sad-bear-point 1.7s ease-in-out infinite;
}

.sad-bear-paw::after {
  content: "";
  position: absolute;
  left: 3px;
  bottom: -4px;
  width: 4px;
  height: 8px;
  border-radius: 999px;
  background: #9f623a;
}

@keyframes mayrasa-sad-bear-sway {
  0%, 100% { transform: scale(var(--sad-bear-scale, 1)) translateY(0) rotate(0deg); }
  45% { transform: scale(var(--sad-bear-scale, 1)) translateY(1px) rotate(-2deg); }
  70% { transform: scale(var(--sad-bear-scale, 1)) translateY(0) rotate(1deg); }
}

@keyframes mayrasa-sad-bear-tear {
  0%, 30% { opacity: .95; transform: translateY(0) scale(1); }
  62% { opacity: .95; }
  100% { opacity: 0; transform: translateY(7px) scale(.9); }
}

@keyframes mayrasa-sad-bear-point {
  0%, 100% { transform: rotate(6deg) translateY(0); }
  50% { transform: rotate(1deg) translateY(4px); }
}

.user-avatar img,
.profile-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-meta {
  min-width: 0;
}

.user-meta strong,
.user-meta span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-meta strong {
  color: #111827;
  font-size: 15px;
  line-height: 1.22;
  font-weight: 950;
}

.user-name-line {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.user-name-line strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-meta span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.sidebar-user-bear {
  position: absolute;
  right: 6px;
  bottom: -2px;
  width: 48px;
  height: 46px;
  border-radius: 50% 50% 42% 42%;
  background: linear-gradient(145deg, #c48955 0%, #9a633b 100%);
  box-shadow: inset -10px -11px 18px rgba(74, 39, 21, .18);
}

.sidebar-user-bear::before,
.sidebar-user-bear::after {
  content: "";
  position: absolute;
}

.sidebar-user-bear::before {
  top: -6px;
  left: 5px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #9b613a;
  box-shadow: 25px 0 0 #9b613a, 11px 17px 0 -4px #111827, 24px 17px 0 -6px #111827;
}

.sidebar-user-bear::after {
  left: 18px;
  top: 22px;
  width: 15px;
  height: 12px;
  border-radius: 50%;
  background: #f6d9bd;
  box-shadow: inset 0 -4px 0 rgba(129, 75, 42, .12), -18px 15px 0 -3px #b97849, 21px 15px 0 -3px #b97849;
}

.sidebar-user-bear-custom {
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.sidebar-user-bear-custom::before,
.sidebar-user-bear-custom::after {
  display: none;
}

.sidebar-user-bear-custom .sad-bear-avatar {
  position: absolute;
  right: 0;
  bottom: -4px;
  --sad-bear-scale: 1.12;
}

.happy-bear-avatar .sad-bear-brow {
  top: 9px;
  width: 6px;
  height: 3px;
  border-top-color: #704027;
  opacity: .82;
}

.happy-bear-avatar .sad-bear-brow-left {
  transform: rotate(11deg);
}

.happy-bear-avatar .sad-bear-brow-right {
  transform: rotate(-11deg);
}

.happy-bear-avatar .sad-bear-mouth {
  left: 13px;
  top: 22px;
  width: 7px;
  height: 5px;
  border-top: 0;
  border-bottom: 2px solid #5f341f;
  border-radius: 0 0 999px 999px;
}

.happy-bear-paw {
  left: 4px;
  bottom: 5px;
  height: 15px;
  transform: rotate(-28deg);
  animation: mayrasa-happy-bear-wave 2.2s ease-in-out infinite;
}

.happy-bear-paw::after {
  display: none;
}

@keyframes mayrasa-happy-bear-wave {
  0%, 100% { transform: rotate(-28deg) translateY(0); }
  45% { transform: rotate(-40deg) translateY(-1px); }
  70% { transform: rotate(-24deg) translateY(0); }
}

.side-nav {
  display: grid;
  gap: 3px;
}

.side-link {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 4px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #4d5d72;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.side-link:hover {
  background: #eef6ff;
  color: var(--accent);
  border-color: #d9e8f5;
}

.side-link.active {
  background: linear-gradient(135deg, #092467 0%, #244cad 100%);
  color: #fff;
  border-color: #173b94;
  box-shadow: 0 12px 28px rgba(24, 54, 124, .22);
  transform: translateY(-1px);
}

.side-link-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-link-arrow {
  display: none;
  margin-left: auto;
}

.side-link-badge {
  min-width: 21px;
  height: 21px;
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: #c23b3b;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 8px 16px rgba(194, 59, 59, .22);
}

.side-link.active .side-link-badge {
  background: #ffedef;
  color: #9e2626;
}

.side-link.house-alert,
.side-link.attention-alert,
.side-link.sales-alert {
  border-color: rgba(246, 195, 67, .62);
}

.side-link.house-alert .side-link-badge.is-alert,
.side-link.attention-alert .side-link-badge.is-alert {
  background: #ffe159;
  color: #4a2f00;
  box-shadow: 0 0 0 0 rgba(246, 195, 67, .78), 0 12px 22px rgba(179, 107, 24, .26);
  animation: mayrasa-danger-pulse .82s ease-in-out infinite, mayrasa-danger-nudge 1.7s ease-in-out infinite;
}

.side-link.house-alert.active .side-link-badge.is-alert,
.side-link.attention-alert.active .side-link-badge.is-alert {
  background: #ffe159;
  color: #4a2f00;
}

.side-link.sales-alert {
  border-color: rgba(196, 66, 66, .38);
}

.side-link.sales-alert .side-link-badge.is-alert {
  background: #c44242;
  color: #fff;
  box-shadow: 0 0 0 0 rgba(196, 66, 66, .7), 0 12px 22px rgba(139, 32, 32, .26);
  animation: mayrasa-sales-pulse .9s ease-in-out infinite, mayrasa-danger-nudge 1.7s ease-in-out infinite;
}

.side-link.sales-alert.active .side-link-badge.is-alert {
  background: #c44242;
  color: #fff;
}

@keyframes mayrasa-sales-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(196, 66, 66, .7), 0 12px 22px rgba(139, 32, 32, .26);
  }
  50% {
    transform: scale(1.12);
    box-shadow: 0 0 0 7px rgba(196, 66, 66, .06), 0 16px 30px rgba(139, 32, 32, .34);
  }
}

@keyframes mayrasa-danger-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(246, 195, 67, .78), 0 12px 22px rgba(179, 107, 24, .26);
  }
  50% {
    transform: scale(1.12);
    box-shadow: 0 0 0 7px rgba(246, 195, 67, .05), 0 16px 30px rgba(179, 107, 24, .34);
  }
}

@keyframes mayrasa-danger-nudge {
  0%, 84%, 100% { translate: 0 0; }
  88% { translate: -2px 0; }
  92% { translate: 2px 0; }
  96% { translate: -1px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .sad-bear-avatar,
  .sad-bear-tear,
  .sad-bear-paw,
  .happy-bear-paw {
    animation: none;
  }
}

.side-bear-icon {
  position: relative;
  flex: 0 0 31px;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, #f6faff 0%, #e8f2ff 100%);
  box-shadow: 0 8px 18px rgba(37, 73, 135, .08);
}

.mini-bear {
  position: relative;
  width: 20px;
  height: 19px;
  border-radius: 50% 50% 44% 44%;
  background: linear-gradient(145deg, #c58b58 0%, #9d623a 100%);
  box-shadow: inset -4px -5px 8px rgba(76, 39, 20, .14);
}

.mini-bear::before,
.mini-bear::after {
  content: "";
  position: absolute;
}

.mini-bear::before {
  top: -3px;
  left: 1px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9b613a;
  box-shadow: 12px 0 0 #9b613a;
}

.mini-bear::after {
  left: 6px;
  top: 8px;
  width: 8px;
  height: 7px;
  border-radius: 50%;
  background: #f6d9bd;
  box-shadow: 0 -5px 0 -3px #111827, -6px -5px 0 -4px #111827, 6px -5px 0 -4px #111827;
}

.side-bear-icon::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #3f7fe8;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 4px 8px rgba(24, 54, 124, .18);
}

.bear-misiones::after { content: "O"; }
.bear-estadisticas::after { content: "%"; font-size: 10px; }
.bear-control::after { content: "V"; }
.bear-calendario::after { content: "D"; }
.bear-visitas::after { content: ".."; font-size: 9px; }
.bear-tareas::after { content: "V"; }
.bear-clientes::after { content: "C"; }
.bear-teamup::after { content: "2"; }
.bear-viviendas::after { content: "H"; }
.bear-email::after { content: "@"; font-size: 10px; }
.bear-perfil::after { content: "i"; }
.bear-salir::after {
  content: "!";
  background: #c44242;
}

.side-link.active .side-bear-icon {
  background: rgba(255,255,255,.12);
  box-shadow: none;
}

.sidebar-footer {
  display: grid;
  gap: 3px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--border);
}

.profile-link {
  background: #eef6ff;
  color: var(--accent);
  border-color: rgba(36, 143, 211, .18);
}

.profile-link.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

.logout-link {
  color: var(--danger);
}

.crm-mobile-menu-toggle,
.crm-mobile-menu-close,
.crm-mobile-menu-backdrop {
  display: none;
}

.page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.page-head h1 {
  margin: 4px 0 0;
}

.page-head p {
  margin: 6px 0 0;
}

.commercial-help-button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(185, 211, 246, .95);
  border-radius: 50%;
  background: #fff;
  color: #17377d;
  box-shadow: 0 14px 34px rgba(29, 57, 92, .12);
  font-size: 22px;
  font-weight: 1000;
  line-height: 1;
  cursor: pointer;
}

.commercial-help-button:hover {
  color: #fff;
  background: #17377d;
  border-color: #17377d;
}

.visitas-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.commercial-help-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  background: rgba(15, 31, 56, .45);
  backdrop-filter: blur(3px);
}

.commercial-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 81;
  display: none;
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 42px);
  overflow: auto;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(185, 211, 246, .95);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(15, 31, 56, .28);
}

body.show-commercial-help .commercial-help-backdrop,
body.show-commercial-help .commercial-help-modal {
  display: block;
}

.commercial-help-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 22px 14px;
  border-bottom: 1px solid rgba(202, 221, 245, .82);
  background: linear-gradient(180deg, rgba(246,249,254,.98), rgba(255,255,255,.96));
}

.commercial-help-head span {
  display: block;
  color: #68778b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.commercial-help-head h2 {
  margin: 4px 0 0;
  color: #142034;
  font-size: 24px;
}

.commercial-help-body {
  display: grid;
  gap: 12px;
  padding: 18px 22px 22px;
}

.commercial-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.commercial-help-item {
  padding: 13px 14px;
  border: 1px solid rgba(202, 221, 245, .78);
  border-radius: 10px;
  background: rgba(248, 251, 255, .78);
}

.commercial-help-current {
  border-color: rgba(202, 221, 245, .78);
  background: rgba(248, 251, 255, .78);
}

.commercial-help-item strong {
  display: block;
  margin-bottom: 4px;
  color: #17377d;
  font-size: 14px;
}

.commercial-help-item p {
  margin: 0;
  color: #50698c;
  line-height: 1.5;
}

.eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.text-link {
  color: var(--accent);
  font-weight: 800;
  text-decoration: none;
}

.text-link:hover {
  text-decoration: underline;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: 0;
}

.brand::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent-2);
  box-shadow: 0 0 0 4px rgba(36, 143, 211, .12);
}

.shell {
  width: min(100%, 1260px);
  margin: 0 auto;
  padding: clamp(18px, 2.5vw, 30px);
}

.app-shell { padding-bottom: 48px; }

.portal-layout .tabs {
  display: none;
}

.teamup-shell {
  width: min(100%, 1480px);
}

.teamup-frame-panel {
  padding: 0;
  overflow: hidden;
}

.teamup-frame {
  display: block;
  width: 100%;
  height: min(78vh, 900px);
  min-height: 680px;
  border: 0;
  background: #fff;
}

.teamup-empty {
  display: grid;
  gap: 12px;
  max-width: 780px;
}

.teamup-empty h2,
.teamup-empty p {
  margin: 0;
}

.teamup-empty pre {
  overflow-x: auto;
  margin: 4px 0 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel-soft);
}

.login-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(10px, 2.4vw, 26px);
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.9) 0 22%, transparent 42%),
    linear-gradient(135deg, #f7f9fc 0%, #e9f0f7 44%, #dfe8f2 100%);
}

.login-shell {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(210, 220, 232, .92);
  border-radius: 18px;
  box-shadow: 0 22px 70px rgba(20, 38, 62, .18);
}

.login-box {
  width: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 74%, rgba(244,248,252,.96) 100%);
  border: 0;
  padding: clamp(18px, 3vw, 26px) clamp(28px, 6vw, 92px) 18px;
}

.login-brand {
  display: grid;
  gap: 10px;
  justify-items: center;
  text-align: center;
  margin-bottom: 14px;
}

.login-logo {
  display: block;
  width: min(230px, 58%);
  max-height: 96px;
  object-fit: contain;
}

.login-illustration {
  position: relative;
  width: min(560px, 100%);
  height: clamp(188px, 28vw, 252px);
  margin-top: -2px;
}

.login-oval {
  position: absolute;
  inset: 24px 46px 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #eef6fe 0%, #dcebf8 100%);
}

.login-pillow {
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 24px;
  height: 54px;
  border-radius: 44px 44px 30px 30px;
  background: linear-gradient(180deg, #6d93bd 0%, #3f648d 100%);
  box-shadow: inset 0 5px 9px rgba(255,255,255,.18), 0 13px 22px rgba(29, 52, 84, .18);
}

.login-bear {
  position: absolute;
  left: 50%;
  bottom: 34px;
  width: 310px;
  height: 172px;
  transform: translateX(-50%);
}

.login-bear span {
  position: absolute;
  display: block;
}

.login-bear .body {
  left: 38px;
  right: 16px;
  bottom: 4px;
  height: 114px;
  border-radius: 90px 100px 46px 58px;
  background: radial-gradient(circle at 40% 32%, #c48a57 0 18%, #9c653e 56%, #714427 100%);
  box-shadow: inset -18px -18px 32px rgba(67, 35, 18, .23);
}

.login-bear .head {
  left: 76px;
  top: 22px;
  width: 146px;
  height: 116px;
  border-radius: 48% 52% 52% 48%;
  background: radial-gradient(circle at 48% 38%, #d3a173 0 20%, #a96f43 64%, #744423 100%);
  transform: rotate(7deg);
  box-shadow: inset -12px -16px 24px rgba(67, 35, 18, .22);
}

.login-bear .ear {
  width: 52px;
  height: 52px;
  top: 12px;
  border-radius: 50%;
  background: radial-gradient(circle at 52% 52%, #6c3f24 0 36%, #9a623b 38% 100%);
}

.login-bear .ear.left {
  left: 58px;
}

.login-bear .ear.right {
  right: 72px;
}

.login-bear .nose {
  left: 138px;
  top: 82px;
  width: 48px;
  height: 34px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 42%, #1f2630 0 28%, #0d1320 72%);
  transform: rotate(8deg);
}

.login-bear .nose::before,
.login-bear .nose::after {
  content: "";
  position: absolute;
  top: -26px;
  width: 32px;
  height: 16px;
  border-bottom: 4px solid rgba(35, 26, 24, .72);
  border-radius: 0 0 28px 28px;
}

.login-bear .nose::before {
  left: -38px;
  transform: rotate(6deg);
}

.login-bear .nose::after {
  right: -36px;
  transform: rotate(-5deg);
}

.login-bear .paw {
  bottom: 2px;
  width: 72px;
  height: 56px;
  border-radius: 40px;
  background: linear-gradient(160deg, #9a633d 0%, #6f4228 100%);
  box-shadow: inset -8px -9px 14px rgba(67, 35, 18, .2);
}

.login-bear .paw.left {
  left: 14px;
  transform: rotate(5deg);
}

.login-bear .paw.right {
  right: 0;
  transform: rotate(-10deg);
}

.login-house {
  position: absolute;
  right: 70px;
  bottom: 54px;
  width: 58px;
  height: 76px;
  border: 3px solid rgba(34, 56, 88, .34);
  border-top: 0;
}

.login-house::before {
  content: "";
  position: absolute;
  left: -8px;
  top: -26px;
  width: 70px;
  height: 70px;
  border-top: 3px solid rgba(34, 56, 88, .34);
  border-left: 3px solid rgba(34, 56, 88, .34);
  transform: rotate(45deg);
}

.login-house::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 24px;
  width: 11px;
  height: 16px;
  border: 2px solid rgba(34, 56, 88, .34);
  box-shadow: 20px 0 0 -2px #fff, 20px 0 0 0 rgba(34, 56, 88, .34);
}

.login-sleep-bubble {
  position: absolute;
  right: 108px;
  top: 12px;
  min-width: 72px;
  min-height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid #32476a;
  border-radius: 50%;
  color: #3975e5;
  font-size: 21px;
  font-weight: 950;
  transform: rotate(-8deg);
  background: rgba(255, 255, 255, .66);
}

.login-sleep-bubble::after {
  content: "";
  position: absolute;
  left: 10px;
  bottom: -12px;
  width: 18px;
  height: 18px;
  border-left: 2px solid #32476a;
  border-bottom: 2px solid #32476a;
  transform: rotate(-18deg);
  background: rgba(255, 255, 255, .66);
}

.login-plant {
  position: absolute;
  bottom: 32px;
  width: 72px;
  height: 92px;
  opacity: .42;
}

.login-plant.left {
  left: 28px;
}

.login-plant.right {
  right: 18px;
  transform: scaleX(-1);
}

.login-plant::before {
  content: "";
  position: absolute;
  left: 34px;
  bottom: 0;
  width: 2px;
  height: 78px;
  background: #a9c8e8;
  transform: rotate(-22deg);
}

.login-plant::after {
  content: "";
  position: absolute;
  left: 20px;
  top: 18px;
  width: 22px;
  height: 44px;
  border-radius: 100% 0 100% 0;
  background: #9dc0e4;
  box-shadow: 24px 18px 0 -4px #b0cdea, 3px 42px 0 -5px #b8d3ed;
}

.login-brand h1 {
  margin: 0;
  color: #3f83db;
  font-size: clamp(32px, 7vw, 56px);
  line-height: .95;
  font-weight: 950;
  letter-spacing: 0;
}

.login-brand h1 span {
  display: block;
  color: #0f2341;
}

.login-brand h1 em {
  display: block;
  color: #3f83db;
  font-style: normal;
}

.login-subtitle {
  position: relative;
  margin: 2px 0 0;
  display: flex;
  align-items: center;
  gap: 16px;
  color: #748196;
  font-size: 18px;
  font-weight: 700;
}

.login-subtitle::before,
.login-subtitle::after {
  content: "";
  width: 108px;
  max-width: 18vw;
  height: 1px;
  background: #d2dbe7;
}

.login-field {
  min-height: 64px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0 14px;
  border: 1px solid #d7e1eb;
  border-radius: 13px;
  background: rgba(255, 255, 255, .96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.login-field-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #edf4ff 0%, #dceaff 100%);
  color: #3975e5;
}

.login-field svg,
.login-actions svg,
.password-toggle svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.login-field input {
  width: 100%;
  min-height: 56px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #172231;
  font-size: 18px;
  outline: none;
  box-shadow: none;
}

.login-field input::placeholder {
  color: #78869a;
  opacity: 1;
}

.password-toggle {
  width: 44px;
  min-height: 44px;
  padding: 0;
  background: transparent;
  color: #9aa7b8;
  border: 0;
  box-shadow: none;
}

.password-toggle:hover {
  transform: none;
  box-shadow: none;
  color: var(--accent);
}

.login-actions {
  display: grid;
  justify-items: center;
  margin-top: 16px;
}

.login-actions button {
  width: min(320px, 100%);
  min-height: 50px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3f5df4 0%, #4b94e1 100%);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 14px 24px rgba(51, 98, 205, .28);
}

.login-actions svg {
  width: 22px;
  height: 22px;
}

.login-actions .login-resend-link {
  width: auto;
  min-height: 0;
  margin-top: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #2f5fbd;
  box-shadow: none;
  font-size: 14px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.login-actions .login-resend-link:hover {
  transform: none;
  color: #183f8c;
}

.login-help {
  margin: 12px 0 4px;
  color: #6e7d91;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.login-inline-link {
  display: inline-flex;
  justify-content: center;
  margin-top: 12px;
  color: #2f5fbd;
  font-size: 14px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.login-inline-link:hover {
  color: #183f8c;
}

.login-promise {
  display: grid;
  grid-template-columns: 88px auto 88px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
  color: #6e7d91;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}

.login-promise span {
  height: 1px;
  background: #d0dae7;
}

.login-promise strong {
  position: relative;
  width: 26px;
  height: 24px;
  overflow: hidden;
  color: transparent;
}

.login-promise strong::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  width: 11px;
  height: 12px;
  border-radius: 50%;
  background: #3678df;
  box-shadow:
    -8px -6px 0 -3px #3678df,
    -3px -10px 0 -3px #3678df,
    4px -10px 0 -3px #3678df,
    9px -6px 0 -3px #3678df;
}

.login-promise p {
  grid-column: 1 / -1;
  margin: 0;
}

.login-promise b {
  color: #3678df;
}

.login-quote {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-height: 174px;
  padding: 42px 34px 24px;
  background:
    radial-gradient(120% 80% at 92% 0%, rgba(140, 178, 223, .72) 0 28%, transparent 29%),
    radial-gradient(120% 86% at 12% 0%, rgba(45, 81, 129, .72) 0 24%, transparent 25%),
    linear-gradient(135deg, #102442 0%, #091d38 74%);
  color: #fff;
  text-align: center;
}

.login-quote::before {
  content: "";
  position: absolute;
  inset: -38px -8% auto -8%;
  height: 80px;
  border-radius: 0 0 50% 50%;
  background: #fff;
}

.quote-kicker {
  align-self: center;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(98, 144, 230, .88);
  border-radius: 999px;
  padding: 8px 18px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(37, 76, 143, .62);
}

.quote-text {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(22px, 3.4vw, 30px);
  line-height: 1.18;
  font-weight: 900;
}

.quote-text::first-letter {
  color: #69a0ff;
}

.quote-author {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 3px;
}

@media (min-width: 761px) {
  .login-wrap {
    padding: clamp(8px, 1.8vw, 20px);
  }

  .login-shell {
    width: min(532px, 100%);
    border-radius: 14px;
    box-shadow: 0 16px 48px rgba(20, 38, 62, .16);
  }

  .login-box {
    padding: clamp(13px, 2.1vw, 18px) clamp(20px, 4.2vw, 64px) 13px;
  }

  .login-brand {
    gap: 7px;
    margin-bottom: 10px;
  }

  .login-logo {
    width: min(161px, 58%);
    max-height: 68px;
  }

  .login-illustration {
    width: min(392px, 100%);
    height: clamp(132px, 19.6vw, 176px);
  }

  .login-oval {
    inset: 17px 32px 20px;
  }

  .login-pillow {
    bottom: 17px;
    height: 38px;
  }

  .login-bear {
    bottom: 24px;
    width: 217px;
    height: 120px;
  }

  .login-bear .body {
    left: 27px;
    height: 80px;
  }

  .login-bear .head {
    left: 53px;
    top: 15px;
    width: 102px;
    height: 81px;
  }

  .login-bear .ear {
    width: 36px;
    height: 36px;
    top: 8px;
  }

  .login-bear .ear.left { left: 41px; }
  .login-bear .ear.right { right: 50px; }

  .login-bear .nose {
    left: 97px;
    top: 57px;
    width: 34px;
    height: 24px;
  }

  .login-bear .nose::before,
  .login-bear .nose::after {
    top: -18px;
    width: 22px;
    height: 11px;
    border-bottom-width: 3px;
  }

  .login-bear .nose::before { left: -27px; }
  .login-bear .nose::after { right: -25px; }

  .login-bear .paw {
    width: 50px;
    height: 39px;
  }

  .login-house {
    right: 49px;
    bottom: 38px;
    width: 41px;
    height: 53px;
    border-width: 2px;
  }

  .login-house::before {
    left: -6px;
    top: -18px;
    width: 49px;
    height: 49px;
    border-top-width: 2px;
    border-left-width: 2px;
  }

  .login-house::after {
    left: 10px;
    top: 17px;
    width: 8px;
    height: 11px;
    border-width: 1px;
    box-shadow: 14px 0 0 -1px #fff, 14px 0 0 0 rgba(34, 56, 88, .34);
  }

  .login-sleep-bubble {
    right: 76px;
    top: 8px;
    min-width: 50px;
    min-height: 35px;
    font-size: 15px;
  }

  .login-sleep-bubble::after {
    left: 7px;
    bottom: -8px;
    width: 13px;
    height: 13px;
  }

  .login-plant {
    bottom: 22px;
    width: 50px;
    height: 64px;
  }

  .login-plant.left { left: 20px; }
  .login-plant.right { right: 13px; }

  .login-plant::before {
    left: 24px;
    height: 55px;
  }

  .login-plant::after {
    left: 14px;
    top: 13px;
    width: 15px;
    height: 31px;
    box-shadow: 17px 13px 0 -3px #b0cdea, 2px 29px 0 -4px #b8d3ed;
  }

  .login-brand h1 {
    font-size: clamp(25px, 4.9vw, 39px);
  }

  .login-subtitle {
    gap: 11px;
    font-size: 13px;
  }

  .login-subtitle::before,
  .login-subtitle::after {
    width: 76px;
  }

  .login-field {
    min-height: 45px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 7px;
    margin-top: 11px;
    padding: 0 10px;
    border-radius: 10px;
  }

  .login-field-icon {
    width: 29px;
    height: 29px;
    border-radius: 9px;
  }

  .login-field svg,
  .login-actions svg,
  .password-toggle svg {
    width: 17px;
    height: 17px;
  }

  .login-field input {
    min-height: 39px;
    font-size: 13px;
  }

  .password-toggle {
    width: 31px;
    min-height: 31px;
  }

  .login-actions {
    margin-top: 11px;
  }

  .login-actions button {
    width: min(244px, 100%);
    min-height: 38px;
    border-radius: 9px;
    font-size: 14px;
    box-shadow: 0 10px 17px rgba(51, 98, 205, .24);
  }

  .login-actions svg {
    width: 17px;
    height: 17px;
  }

  .login-promise {
    grid-template-columns: 62px auto 62px;
    gap: 8px;
    margin-top: 14px;
    font-size: 11px;
  }

  .login-promise strong {
    width: 18px;
    height: 17px;
  }

  .login-promise strong::before {
    left: 6px;
    top: 6px;
    width: 8px;
    height: 8px;
  }

  .login-quote {
    gap: 8px;
    min-height: 122px;
    padding: 30px 24px 17px;
  }

  .login-quote::before {
    inset: -27px -8% auto -8%;
    height: 56px;
  }

  .quote-kicker {
    padding: 6px 13px;
    font-size: 9px;
  }

  .quote-text {
    font-size: clamp(15px, 2.4vw, 21px);
  }

  .quote-author {
    font-size: 11px;
    letter-spacing: 2px;
  }
}

h1 {
  margin: 0 0 6px;
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: 0;
}

h2 {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.25;
}

.muted { color: var(--muted); }

.grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kpi,
.panel,
.cliente-card,
.mission-card,
.answer-modal,
.calendar-modal {
  background: var(--panel);
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.kpi {
  min-height: 108px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.kpi-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.kpi-link:hover {
  border-color: rgba(36, 143, 211, .62);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.kpi span {
  font-size: 13px;
  font-weight: 700;
}

.kpi strong {
  display: block;
  font-size: 32px;
  line-height: 1;
  margin-top: 8px;
  letter-spacing: 0;
}

.control-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.control-subtabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.control-subtab {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: var(--text);
  text-decoration: none;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.control-subtab:hover {
  border-color: rgba(36, 143, 211, .58);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.control-subtab.active {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

.control-subtab span,
.control-subtab strong {
  display: block;
}

.control-subtab span {
  font-weight: 900;
}

.control-subtab strong {
  min-width: 32px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, .76);
  border-radius: 999px;
  color: var(--accent);
  text-align: center;
}

.control-subtab.active strong {
  background: rgba(255, 255, 255, .18);
  color: #fff;
}

.danger-kpi {
  border-color: rgba(169, 50, 56, .22);
  background: linear-gradient(180deg, #fff, var(--danger-soft));
}

.danger-kpi strong {
  color: var(--danger);
}

.panel {
  padding: 20px;
  margin-top: 18px;
}

.control-dashboard {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 18px;
}

.control-panel {
  min-width: 0;
  scroll-margin-top: 18px;
}

.control-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.control-panel-head h2,
.control-panel-head p {
  margin: 0;
}

.control-panel-head p {
  margin-top: 4px;
}

.portfolio-table-head {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.commercial-alert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.commercial-alert-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  color: var(--text);
  text-decoration: none;
  background: #fff8f8;
  border: 1px solid rgba(169, 50, 56, .2);
  border-radius: 8px;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.commercial-alert-card:hover {
  border-color: rgba(169, 50, 56, .36);
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.commercial-alert-card strong,
.commercial-alert-card small {
  display: block;
}

.commercial-alert-card small {
  color: var(--muted);
  font-weight: 700;
}

.commercial-alert-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.commercial-alert-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid rgba(169, 50, 56, .18);
  border-radius: 999px;
  color: var(--danger);
  font-size: 12px;
  font-weight: 900;
}

.control-detail-panel {
  scroll-margin-top: 18px;
}

.control-section-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.control-section-summary div {
  min-height: 76px;
  padding: 13px 14px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.control-section-summary span,
.control-section-summary strong {
  display: block;
}

.control-section-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.control-section-summary strong {
  margin-top: 6px;
  font-size: 23px;
  line-height: 1.1;
}

.control-jump-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.control-jump-list a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 6px 10px;
  color: var(--text);
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}

.control-jump-list a:hover {
  border-color: rgba(36, 143, 211, .58);
  color: var(--accent);
}

.control-jump-list strong {
  min-width: 22px;
  padding: 2px 6px;
  color: var(--danger);
  background: var(--danger-soft);
  border-radius: 999px;
  font-size: 12px;
  text-align: center;
}

.control-group-list {
  display: grid;
  gap: 12px;
}

.control-group {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  scroll-margin-top: 18px;
}

.control-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  cursor: pointer;
  background: var(--panel-soft);
  border-bottom: 1px solid var(--border);
  font-weight: 900;
}

.control-group summary span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.control-compact-table {
  overflow-x: auto;
}

.control-compact-table table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.control-compact-table th,
.control-compact-table td {
  padding: 11px 13px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.control-compact-table tr:last-child td {
  border-bottom: 0;
}

.control-compact-table th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.zone-client-remove-form {
  margin: 0;
}

.zone-client-remove-form button {
  white-space: nowrap;
}

.gerencia-shell {
  width: min(100%, 1420px);
}

.gerencia-period-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gerencia-period-modes {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
}

.gerencia-period-modes a {
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  padding: 6px 10px;
  border-radius: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.gerencia-period-modes a.active {
  background: #fff;
  color: var(--accent);
  box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
}

.gerencia-period-nav strong {
  min-height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--accent);
  font-weight: 900;
}

.gerencia-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.gerencia-kpis.has-filter-pending {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gerencia-kpis.has-translation-status {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gerencia-config-subtabs {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gerencia-config-subtabs .control-subtab {
  min-height: 58px;
}

.gerencia-config-form {
  margin-top: 18px;
}

.gerencia-config-panel {
  scroll-margin-top: 18px;
}

.gerencia-config-panel:first-of-type {
  margin-top: 0;
}

.gerencia-config-actions {
  padding: 2px 0 8px;
}

.gerencia-config-table table {
  min-width: 680px;
}

.communication-config-table table,
.communication-history-table table {
  min-width: 940px;
}

.communication-config-table small,
.communication-history-table small {
  display: block;
  margin-top: 4px;
  line-height: 1.35;
}

.communication-toggle-cell {
  width: 120px;
}

.communication-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--panel-soft);
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.communication-switch input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.communication-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--panel-soft);
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.communication-status.sent {
  border-color: rgba(22, 163, 74, .28);
  background: #eaf8ef;
  color: #166534;
}

.communication-status.error {
  border-color: rgba(220, 38, 38, .25);
  background: #fff1f2;
  color: #9f1239;
}

.communication-status.disabled {
  border-color: rgba(148, 163, 184, .35);
  background: #f1f5f9;
  color: #475569;
}

.communication-history-filter {
  margin: 0 0 16px;
}

.gerencia-config-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.gerencia-config-chip-list span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}

.gerencia-config-chip-list .muted {
  color: var(--muted);
}

.portal-feed-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.portal-feed-head h3 {
  margin: 0 0 4px;
  color: var(--text);
  font-size: 20px;
  font-weight: 950;
}

.portal-feed-warning {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.portal-feed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.portal-feed-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #fbfdff;
}

.portal-feed-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.portal-feed-card strong,
.portal-feed-card span {
  display: block;
}

.portal-feed-card strong {
  color: #152033;
  font-size: 17px;
  font-weight: 950;
}

.portal-feed-card span,
.portal-feed-card p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.portal-feed-card p {
  min-height: 32px;
  margin: 0;
  line-height: 1.35;
}

.portal-feed-card em {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  background: #f0fdf4;
  color: #166534;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.portal-feed-card code {
  display: block;
  max-width: 100%;
  padding: 9px 10px;
  border: 1px solid #e1e8f0;
  border-radius: 8px;
  background: #f6f8fb;
  color: #26354b;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.portal-feed-actions {
  display: flex;
  justify-content: flex-end;
}

.gerencia-portal-kpis {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.gerencia-portal-subnav {
  margin-top: 18px;
}

.gerencia-portal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 18px;
  margin-top: 18px;
}

.gerencia-portal-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gerencia-portal-hero-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.gerencia-portal-hero-main > div {
  position: relative;
  min-height: 96px;
  padding: 14px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #fbfdff;
}

.gerencia-portal-hero-main span,
.gerencia-portal-hero-main small,
.gerencia-portal-table small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-portal-hero-main strong {
  display: block;
  margin: 4px 0;
  color: var(--text);
  font-size: 24px;
  font-weight: 950;
}

.portal-logo {
  flex: 0 0 auto;
  width: 96px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 7px 10px;
  border: 1px solid rgba(31,59,134,.12);
  border-radius: 8px;
  background: #fff;
  color: #1f2a44;
  box-shadow: 0 8px 18px rgba(24,38,55,.08);
  vertical-align: middle;
}

.portal-logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.portal-logo:not(.portal-logo-image) {
  width: 42px;
  padding: 0;
}

.portal-logo span {
  display: block;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
}

.portal-logo-large {
  width: 142px;
  height: 58px;
  padding: 9px 12px;
  margin-bottom: 10px;
}

.portal-logo-large:not(.portal-logo-image) {
  width: 58px;
  padding: 0;
}

.portal-logo-large span {
  font-size: 18px;
}

.portal-logo-tiny {
  width: 46px;
  height: 24px;
  padding: 3px 5px;
  margin-right: 6px;
  border-radius: 6px;
  box-shadow: none;
}

.portal-logo-tiny:not(.portal-logo-image) {
  width: 24px;
  padding: 0;
}

.portal-logo-tiny span {
  font-size: 10px;
}

.portal-logo-idealista:not(.portal-logo-image) {
  background: #ffea00;
  color: #161616;
}

.portal-logo-thinkspain:not(.portal-logo-image) {
  background: #e32726;
  color: #fff;
}

.portal-logo-greenacres:not(.portal-logo-image) {
  background: #138a4f;
  color: #fff;
}

.portal-logo-aplace:not(.portal-logo-image) {
  background: #f3a51f;
  color: #231f20;
}

.portal-logo-spainhouses:not(.portal-logo-image) {
  background: #1466b8;
  color: #fff;
}

.portal-logo-fotocasa:not(.portal-logo-image) {
  background: #ee2b2f;
  color: #fff;
}

.portal-logo-realadviser:not(.portal-logo-image) {
  background: #121826;
  color: #fff;
}

.portal-logo-social {
  background: linear-gradient(135deg, #0ea5e9, #22c55e);
  color: #fff;
}

.portal-logo-web {
  background: #25449b;
  color: #fff;
}

.portal-logo-empty,
.portal-logo-generic {
  background: #edf2f7;
  color: #516172;
}

.gerencia-portal-signal-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.portal-signal {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid #fde68a;
  border-radius: 999px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  font-weight: 950;
}

.portal-signal .portal-logo {
  margin-left: -2px;
}

.portal-signal.ok {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.gerencia-portal-table table {
  min-width: 1320px;
}

.gerencia-portal-table td:first-child {
  min-width: 170px;
}

.portal-name-cell,
.gerencia-portal-card header,
.gerencia-portal-language-card header,
.gerencia-portal-status-list strong,
.gerencia-portal-feed-list strong {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.portal-name-cell > div,
.gerencia-portal-card header > div,
.gerencia-portal-language-card header > div {
  min-width: 0;
}

.portal-language-mini-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 150px;
}

.portal-language-mini-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #4b5b72;
  font-size: 12px;
  font-weight: 850;
}

.portal-language-mini-list .lang-flag {
  width: 20px;
  height: 14px;
}

.gerencia-analytics-source-list article i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f3b86, #28a5a8);
}

.gerencia-analytics-source-list article > div:first-child {
  display: flex;
  align-items: center;
  gap: 9px;
}

.gerencia-portal-card-grid,
.gerencia-portal-language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.gerencia-portal-card,
.gerencia-portal-language-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #fbfdff;
}

.gerencia-portal-card header strong,
.gerencia-portal-language-card header strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.gerencia-portal-card header span,
.gerencia-portal-language-card header span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-portal-card-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gerencia-portal-card-metrics span,
.gerencia-portal-card footer span {
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.gerencia-portal-card-metrics strong {
  display: block;
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}

.gerencia-portal-card footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.portal-language-row {
  display: grid;
  grid-template-columns: minmax(130px, .85fr) minmax(120px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #e2e8f0;
}

.portal-language-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.portal-language-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
}

.portal-language-row i {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.portal-language-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #25449b, #28a5a8);
}

.portal-language-row em {
  color: #475569;
  font-style: normal;
  font-size: 12px;
  font-weight: 950;
}

.gerencia-portal-status-list,
.gerencia-portal-feed-list,
.gerencia-portal-source-list {
  display: grid;
  gap: 10px;
}

.gerencia-portal-status-list article,
.gerencia-portal-feed-list article,
.gerencia-portal-source-list article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #fbfdff;
}

.gerencia-portal-status-list article,
.gerencia-portal-feed-list article {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.gerencia-portal-status-list strong,
.gerencia-portal-feed-list strong,
.gerencia-portal-source-list strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 950;
}

.gerencia-portal-status-list span,
.gerencia-portal-feed-list span,
.gerencia-portal-source-list span,
.gerencia-portal-source-list small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-portal-status-list em,
.gerencia-portal-feed-list em {
  min-width: 42px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eaf1ff;
  color: #1f3b86;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}

.gerencia-language-admin-grid {
  margin-top: 16px;
}

.gerencia-language-admin-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 110px auto auto;
  gap: 12px;
  align-items: end;
}

.gerencia-config-panel .gerencia-language-admin-form {
  margin: 14px 0 16px;
}

.gerencia-language-admin-form label:not(.checkbox-row) {
  margin-top: 0;
}

.gerencia-language-active {
  min-height: 42px;
  align-items: center;
  margin: 0;
}

.gerencia-language-chip-list span {
  gap: 7px;
}

.gerencia-language-chip-list span.inactive {
  opacity: .58;
  text-decoration: line-through;
}

.gerencia-language-chip-list small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.gerencia-user-subtabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gerencia-user-panel {
  scroll-margin-top: 18px;
}

.gerencia-user-form {
  margin-top: 14px;
  padding-top: 4px;
}

.gerencia-user-table {
  margin-top: 18px;
}

.gerencia-user-table table {
  min-width: 920px;
}

.gerencia-inline-editor summary {
  color: var(--accent);
  cursor: pointer;
  font-weight: 900;
}

.gerencia-inline-editor[open] summary {
  margin-bottom: 10px;
}

.gerencia-inline-editor form {
  min-width: 520px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.gerencia-revoke-form {
  margin-top: 8px;
}

.gerencia-dashboard {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 18px;
  margin-top: 18px;
}

.gerencia-analytics-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
  padding: 20px;
  border: 1px solid rgba(185, 199, 217, .72);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(246, 250, 253, .95)),
    #fff;
  box-shadow: 0 18px 44px rgba(24, 38, 55, .08);
}

.gerencia-analytics-hero > div:first-child {
  display: grid;
  align-content: center;
  gap: 8px;
}

.gerencia-analytics-hero span {
  color: #9a7536;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gerencia-analytics-hero h2 {
  margin: 0;
  color: #142034;
  font-size: 28px;
  line-height: 1.12;
}

.gerencia-analytics-hero p {
  max-width: 760px;
  margin: 0;
  color: #5f6f82;
  line-height: 1.5;
}

.gerencia-analytics-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.gerencia-analytics-hero-metrics article {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(215, 225, 235, .88);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,253,.98)),
    #fff;
}

.gerencia-analytics-hero-metrics strong {
  display: block;
  margin-top: 8px;
  color: var(--accent);
  font-size: 20px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.gerencia-analytics-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 18px;
  margin-top: 18px;
}

.gerencia-analytics-grid.three {
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .55fr) minmax(260px, .55fr);
}

.gerencia-analytics-panel {
  min-width: 0;
}

.gerencia-analytics-subnav a {
  min-width: 148px;
}

.gerencia-analytics-subnav a > span:not(.gerencia-subnav-index) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-analytics-subnav a > strong {
  min-width: 26px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef6ff;
  color: var(--accent);
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

.gerencia-analytics-subnav a.active > strong {
  background: rgba(255,255,255,.2);
  color: #fff;
}

.gerencia-live-map-panel {
  margin-top: 18px;
}

.gerencia-live-count {
  display: inline-grid;
  place-items: center;
  min-width: 54px;
  height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: #eaf8f1;
  color: #14734a;
  font-size: 20px;
  font-weight: 950;
}

.gerencia-live-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr);
  gap: 16px;
  align-items: stretch;
}

.gerencia-world-map {
  position: relative;
  min-height: 320px;
  aspect-ratio: 2048 / 997;
  overflow: hidden;
  border: 1px solid rgba(186, 211, 232, .72);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 44%),
    linear-gradient(180deg, #f7fbff, #e8f4ff);
}

.gerencia-world-map-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  opacity: .78;
  filter: saturate(.8) contrast(1.06);
}

.gerencia-map-marker {
  position: absolute;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%) scale(var(--marker-scale, 1));
  border: 3px solid #fff;
  border-radius: 50%;
  background: #34b37b;
  color: #fff;
  box-shadow: 0 0 0 7px rgba(52, 179, 123, .18), 0 10px 20px rgba(20, 70, 54, .2);
  font-size: 10px;
  font-weight: 950;
}

.gerencia-map-marker i {
  font-style: normal;
  line-height: 1;
}

.gerencia-live-country-list {
  display: grid;
  align-content: start;
  gap: 10px;
}

.gerencia-live-country-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px 42px;
  gap: 8px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-live-country-list strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-live-country-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.gerencia-live-country-list em {
  justify-self: end;
  min-width: 30px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf8f1;
  color: #14734a;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}

.gerencia-realestate-panel {
  margin-top: 18px;
}

.gerencia-realestate-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gerencia-realestate-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 15px;
  border: 1px solid rgba(215, 225, 235, .92);
  border-radius: 8px;
  background: #fff;
}

.gerencia-realestate-card.accent {
  border-color: rgba(52, 179, 123, .25);
  background: linear-gradient(180deg, #fff, #f3fbf7);
}

.gerencia-realestate-card header {
  display: grid;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(215, 225, 235, .8);
}

.gerencia-realestate-card header span {
  color: #9a7536;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.gerencia-realestate-card header strong {
  color: var(--accent);
  font-size: 20px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.gerencia-realestate-card p {
  display: grid;
  gap: 3px;
  margin: 0;
}

.gerencia-realestate-card p strong {
  color: #172231;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.gerencia-realestate-card p span,
.gerencia-realestate-card p.muted {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-report-panel {
  margin-top: 18px;
}

.gerencia-report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.gerencia-report-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 140px;
  padding: 18px;
  border: 1px solid rgba(36, 63, 134, .16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(234, 244, 252, .86), rgba(255, 255, 255, .96)),
    #fff;
  box-shadow: 0 14px 34px rgba(24, 38, 55, .08);
}

.gerencia-report-card div {
  min-width: 0;
}

.gerencia-report-card span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
}

.gerencia-report-card strong {
  display: block;
  margin-top: 9px;
  color: var(--text);
  font-size: 20px;
  line-height: 1.2;
}

.gerencia-report-card p {
  max-width: 620px;
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.gerencia-report-card .button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.gerencia-section-analytics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.gerencia-section-card {
  display: grid;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  min-width: 0;
}

.gerencia-section-card header,
.gerencia-section-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.gerencia-section-card header strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-section-card header span,
.gerencia-section-card footer span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.gerencia-section-card-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gerencia-section-card-metrics span {
  min-width: 0;
  padding: 9px;
  border-radius: 8px;
  background: #f7fbff;
}

.gerencia-section-card-metrics small,
.gerencia-section-card-metrics strong {
  display: block;
}

.gerencia-section-card-metrics small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-section-card-metrics strong {
  margin-top: 3px;
  color: var(--accent);
  font-size: 18px;
}

.gerencia-section-detail-list {
  display: grid;
  gap: 14px;
}

.gerencia-section-detail-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-section-detail-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(215, 225, 235, .82);
  padding-bottom: 10px;
}

.gerencia-section-detail-card > header strong {
  font-size: 16px;
}

.gerencia-section-detail-card > header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.gerencia-section-detail-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .55fr);
  gap: 14px;
}

.gerencia-section-detail-columns h3 {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.gerencia-section-detail-columns p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 8px 0;
  border-top: 1px solid rgba(215, 225, 235, .64);
}

.gerencia-section-detail-columns p:first-of-type {
  border-top: 0;
}

.gerencia-section-detail-columns p strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-section-detail-columns p span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.gerencia-analytics-bars,
.gerencia-analytics-source-list,
.gerencia-analytics-page-list {
  display: grid;
  gap: 12px;
}

.gerencia-analytics-bar-row {
  display: grid;
  grid-template-columns: 92px minmax(120px, 1fr) 64px 104px;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.gerencia-analytics-bar-row span,
.gerencia-analytics-bar-row small,
.gerencia-analytics-source-list small,
.gerencia-analytics-page-list small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-analytics-bar-row strong {
  text-align: right;
}

.gerencia-analytics-bar-row div,
.gerencia-mini-bar {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf3f8;
}

.gerencia-analytics-bar-row i,
.gerencia-mini-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #248fd3, #34b37b);
}

.gerencia-analytics-source-list article,
.gerencia-analytics-page-list article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-analytics-source-list article > div:first-child,
.gerencia-analytics-page-list article > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.gerencia-analytics-source-list strong,
.gerencia-analytics-page-list strong,
.gerencia-analytics-page-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-analytics-source-list span,
.gerencia-analytics-page-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-objectives textarea {
  min-height: 128px;
}

.gerencia-review-panel {
  margin-top: 18px;
}

.gerencia-filter-bulk-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 16px;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: #f8fbff;
}

.gerencia-filter-bulk-actions strong {
  margin-right: auto;
  color: var(--text);
  font-size: 14px;
}

.gerencia-filter-bulk-actions input {
  max-width: 260px;
}

.gerencia-filter-review-table {
  margin-top: 12px;
}

.gerencia-filter-review-table table {
  min-width: 1180px;
}

.gerencia-filter-review-table td {
  font-size: 13px;
  line-height: 1.4;
}

.gerencia-filter-review-table tr.is-selected td {
  background: #f7fbff;
}

.gerencia-filter-review-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.gerencia-filter-reason-mini {
  display: inline-block;
  padding: 5px 7px;
  border: 1px solid rgba(179, 107, 24, .22);
  border-radius: 8px;
  background: #fff8eb;
  color: #8a5416;
  font-size: 12px;
  font-weight: 800;
}

.gerencia-filter-row-details {
  min-width: 170px;
}

.gerencia-filter-row-details summary {
  color: var(--accent);
  cursor: pointer;
  font-weight: 900;
  white-space: nowrap;
}

.gerencia-filter-row-detail {
  display: grid;
  gap: 12px;
  min-width: 720px;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: #fff;
}

.gerencia-review-list {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.gerencia-review-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #fbfdff);
}

.gerencia-review-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  gap: 14px;
  align-items: start;
}

.gerencia-review-card-head h3,
.gerencia-review-card-head p {
  margin: 0;
}

.gerencia-review-card-head h3 {
  margin-top: 4px;
  font-size: 22px;
}

.gerencia-review-reason {
  padding: 10px 12px;
  border: 1px solid rgba(179, 107, 24, .24);
  border-radius: 8px;
  background: #fff8eb;
  color: #8a5416;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.gerencia-review-form {
  display: grid;
  gap: 12px;
}

.gerencia-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gerencia-review-grid label,
.gerencia-review-form > label {
  margin-top: 0;
}

.gerencia-review-form textarea {
  min-height: 118px;
}

.gerencia-review-original {
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: #fff;
}

.gerencia-review-original summary {
  padding: 10px 12px;
  color: var(--accent);
  cursor: pointer;
  font-weight: 900;
}

.gerencia-review-original div {
  max-height: 260px;
  overflow: auto;
  padding: 0 12px 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  white-space: normal;
}

.gerencia-review-actions,
.gerencia-review-discard {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.gerencia-review-discard {
  padding-top: 12px;
  border-top: 1px solid rgba(215, 225, 235, .82);
}

.gerencia-review-discard input {
  max-width: 360px;
}

@media (max-width: 920px) {
  .gerencia-review-card-head,
  .gerencia-review-grid {
    grid-template-columns: 1fr;
  }

  .gerencia-review-actions,
  .gerencia-review-discard {
    align-items: stretch;
    flex-direction: column;
  }

  .gerencia-review-discard input {
    max-width: none;
  }

  .gerencia-filter-bulk-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .gerencia-filter-bulk-actions strong,
  .gerencia-filter-bulk-actions input {
    max-width: none;
    width: 100%;
  }

  .gerencia-filter-row-detail {
    min-width: 620px;
  }
}

.gerencia-commercial-panel {
  margin-top: 18px;
}

.gerencia-commercial-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: end;
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid rgba(185, 211, 246, .88);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(238, 246, 255, .96) 0%, rgba(255, 255, 255, .98) 58%),
    #fff;
  box-shadow: 0 16px 38px rgba(24, 54, 124, .08);
}

.gerencia-commercial-hero::after {
  content: "";
  position: absolute;
  right: -44px;
  top: -58px;
  width: 190px;
  height: 190px;
  border: 26px solid rgba(36, 76, 173, .07);
  border-radius: 50%;
}

.gerencia-commercial-hero > * {
  position: relative;
  z-index: 1;
}

.gerencia-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  border: 1px solid rgba(36, 76, 173, .18);
  border-radius: 999px;
  background: #fff;
  color: #1f3f88;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.gerencia-commercial-hero h2 {
  margin: 10px 0 6px;
  color: #15294d;
  font-size: 30px;
  line-height: 1.08;
}

.gerencia-commercial-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.gerencia-commercial-hero-meta {
  min-width: 190px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 7px 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: rgba(255, 255, 255, .84);
}

.gerencia-commercial-hero-meta span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.gerencia-commercial-hero-meta strong {
  color: #15294d;
  font-size: 13px;
  text-align: right;
}

.gerencia-subnav {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 10px;
  margin-top: 16px;
}

.gerencia-subnav a {
  flex: 0 0 auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 13px 9px 10px;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(24, 38, 55, .04);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.gerencia-subnav a:hover {
  border-color: rgba(36, 76, 173, .32);
  box-shadow: 0 12px 24px rgba(24, 54, 124, .09);
  transform: translateY(-1px);
}

.gerencia-subnav a.active {
  border-color: rgba(36, 76, 173, .62);
  background: #244cad;
  color: #fff;
  box-shadow: 0 14px 28px rgba(24, 54, 124, .18);
}

.gerencia-product-subnav a {
  min-width: 150px;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
}

.gerencia-product-subnav a small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.gerencia-product-subnav a.active small {
  color: rgba(255, 255, 255, .82);
}

.gerencia-subnav-index {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #eef6ff;
  color: #1f3f88;
  font-size: 11px;
  font-weight: 950;
}

.gerencia-subnav a.active .gerencia-subnav-index {
  background: rgba(255, 255, 255, .18);
  color: #fff;
}

.lang-flag {
  display: inline-block;
  width: 25px;
  height: 18px;
  flex: 0 0 25px;
  overflow: hidden;
  border-radius: 4px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 0 0 1px rgba(20, 40, 60, .12);
  vertical-align: middle;
}

.gerencia-language-flag {
  width: 26px;
  height: 19px;
}

.flag-es { background-image: url("flags/es.svg"); }
.flag-en { background-image: url("flags/gb.svg"); }
.flag-fr { background-image: url("flags/fr.svg"); }
.flag-de { background-image: url("flags/de.svg"); }
.flag-nl { background-image: url("flags/nl.svg"); }
.flag-sv { background-image: url("flags/se.svg"); }
.flag-no { background-image: url("https://flagcdn.com/w40/no.png"); }
.flag-ru { background-image: url("flags/ru.svg"); }
.flag-uk { background-image: url("flags/ua.svg"); }
.flag-pl { background-image: url("https://flagcdn.com/w40/pl.png"); }
.flag-it { background-image: url("https://flagcdn.com/w40/it.png"); }
.flag-pt { background-image: url("https://flagcdn.com/w40/pt.png"); }
.flag-da { background-image: url("https://flagcdn.com/w40/dk.png"); }
.flag-fi { background-image: url("https://flagcdn.com/w40/fi.png"); }
.flag-ro { background-image: url("https://flagcdn.com/w40/ro.png"); }
.flag-cs { background-image: url("https://flagcdn.com/w40/cz.png"); }
.flag-sk { background-image: url("https://flagcdn.com/w40/sk.png"); }
.flag-hu { background-image: url("https://flagcdn.com/w40/hu.png"); }
.flag-be { background-image: url("https://flagcdn.com/w40/be.png"); }
.flag-bg { background-image: url("https://flagcdn.com/w40/bg.png"); }
.flag-lt { background-image: url("https://flagcdn.com/w40/lt.png"); }
.flag-lv { background-image: url("https://flagcdn.com/w40/lv.png"); }
.flag-ee { background-image: url("https://flagcdn.com/w40/ee.png"); }
.flag-sa { background-image: url("https://flagcdn.com/w40/sa.png"); }
.flag-cn { background-image: url("https://flagcdn.com/w40/cn.png"); }

.flag-empty {
  background: linear-gradient(135deg, #f1f5f9, #dce5ee);
}

.gerencia-language-groups {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.gerencia-language-group-row {
  display: grid;
  grid-template-columns: minmax(128px, .8fr) minmax(0, 1.5fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--border);
}

.gerencia-language-group-row:first-child {
  border-top: 0;
}

.gerencia-language-group-row.compact {
  grid-template-columns: minmax(150px, .8fr) minmax(0, 1.7fr);
}

.gerencia-language-group-main {
  min-width: 0;
}

.gerencia-language-group-main strong,
.gerencia-language-group-main small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-language-group-main strong {
  color: #182233;
  font-size: 16px;
  font-weight: 950;
}

.gerencia-language-group-main small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-language-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.gerencia-language-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #f9fbfd;
  color: #243044;
  font-size: 12px;
  font-weight: 900;
}

.gerencia-language-pill.portal {
  min-width: 64px;
  justify-content: space-between;
}

.gerencia-language-pill strong {
  color: #216047;
  font-size: 12px;
}

.gerencia-language-group-money {
  color: #182233;
  font-size: 13px;
  font-weight: 950;
  text-align: right;
  white-space: nowrap;
}

.gerencia-marketing-language-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.gerencia-marketing-language-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #d9e4ee;
  border-radius: 8px;
  background: #fbfdff;
  box-shadow: 0 8px 20px rgba(24, 38, 55, .04);
}

.gerencia-marketing-language-card header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}

.gerencia-marketing-language-card header .lang-flag {
  width: 32px;
  height: 23px;
}

.gerencia-marketing-language-card header strong,
.gerencia-marketing-language-card header small {
  display: block;
}

.gerencia-marketing-language-card header strong {
  color: #152033;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.05;
}

.gerencia-marketing-language-card header small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.gerencia-marketing-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.gerencia-marketing-metrics span {
  min-height: 54px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 8px;
  border-radius: 8px;
  background: #eef5fb;
}

.gerencia-marketing-metrics small {
  color: #68788c;
  font-size: 11px;
  font-weight: 900;
}

.gerencia-marketing-metrics strong {
  color: #1f3046;
  font-size: 13px;
  font-weight: 950;
}

.gerencia-marketing-portal-list {
  display: grid;
  gap: 7px;
}

.gerencia-marketing-portal-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-height: 34px;
  padding: 7px 9px;
  border-top: 1px solid #e0e8f0;
}

.gerencia-marketing-portal-list strong,
.gerencia-marketing-portal-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-marketing-portal-list strong {
  color: #1d2738;
  font-size: 13px;
  font-weight: 950;
}

.gerencia-marketing-portal-list span {
  color: #526273;
  font-size: 12px;
  font-weight: 850;
}

.gerencia-marketing-language-card footer {
  color: #1d6b4f;
  font-size: 12px;
  font-weight: 950;
}

.gerencia-imported-audience-panel {
  margin-top: 18px;
}

.gerencia-imported-audience-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr);
  gap: 14px;
}

.gerencia-imported-audience-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.gerencia-imported-audience-kpis div,
.gerencia-imported-audience-countries {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-imported-audience-kpis span,
.gerencia-imported-audience-kpis small,
.gerencia-imported-audience-countries strong,
.gerencia-imported-audience-countries span {
  display: block;
}

.gerencia-imported-audience-kpis span {
  color: #68788c;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-imported-audience-kpis strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: #17233d;
  font-size: 18px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-imported-audience-kpis small {
  margin-top: 3px;
  overflow: hidden;
  color: #68788c;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-imported-audience-countries {
  display: grid;
  gap: 7px;
}

.gerencia-imported-audience-countries strong {
  color: #17233d;
  font-size: 13px;
  font-weight: 950;
}

.gerencia-imported-audience-countries span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #526273;
  font-size: 12px;
  font-weight: 850;
}

.gerencia-imported-audience-table {
  margin-top: 14px;
}

.gerencia-imported-audience-table td {
  vertical-align: top;
}

.gerencia-imported-audience-table small {
  color: #59687a;
  font-size: 11px;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .gerencia-imported-audience-kpis {
    grid-template-columns: 1fr;
  }
}

.gerencia-commercial-selector {
  display: flex;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
  margin-top: 18px;
}

.gerencia-commercial-selector > div {
  width: min(100%, 420px);
}

.gerencia-commercial-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.gerencia-semaforo-card {
  border-left: 5px solid #2f855a;
}

.gerencia-semaforo-card.ambar {
  border-left-color: #b7791f;
}

.gerencia-semaforo-card.rojo {
  border-left-color: #c53030;
}

.gerencia-status-dot {
  width: 11px;
  height: 11px;
  display: inline-block;
  border-radius: 50%;
  background: #2f855a;
  box-shadow: 0 0 0 3px rgba(47, 133, 90, .12);
}

.gerencia-status-dot.ambar {
  background: #b7791f;
  box-shadow: 0 0 0 3px rgba(183, 121, 31, .14);
}

.gerencia-status-dot.rojo {
  background: #c53030;
  box-shadow: 0 0 0 3px rgba(197, 48, 48, .14);
}

.gerencia-state-badge,
.gerencia-level-badge,
.gerencia-rank-position {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
}

.gerencia-state-badge {
  gap: 8px;
  padding: 6px 10px;
  background: #edf9f2;
  color: #246947;
}

.gerencia-state-badge.ambar {
  background: #fff7e8;
  color: #835516;
}

.gerencia-state-badge.rojo {
  background: #fff0f0;
  color: #9d2727;
}

.gerencia-level-badge {
  padding: 6px 10px;
  border: 1px solid #dbe7f5;
  background: #f5f9ff;
  color: #1f3f88;
}

.gerencia-rank-position {
  width: 34px;
  background: #eef2f7;
  color: #4d5d72;
}

.gerencia-rank-position.top {
  background: #eaf2ff;
  color: #1f3f88;
  box-shadow: inset 0 0 0 1px rgba(36, 76, 173, .18);
}

.gerencia-semaforo-row.verde td:first-child {
  box-shadow: inset 4px 0 0 #2f855a;
}

.gerencia-semaforo-row.ambar td:first-child {
  box-shadow: inset 4px 0 0 #b7791f;
}

.gerencia-semaforo-row.rojo td:first-child {
  box-shadow: inset 4px 0 0 #c53030;
}

.gerencia-action-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.gerencia-action-list div {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.gerencia-manager-action-form textarea {
  min-height: 84px;
  resize: vertical;
}

.gerencia-manager-action-form button {
  margin-top: 12px;
}

.gerencia-manager-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.gerencia-manager-actions-panel {
  min-width: 0;
}

.gerencia-manager-action-list {
  display: grid;
  gap: 10px;
}

.gerencia-manager-action {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid #dbe7f5;
  border-left: 4px solid #b7791f;
  border-radius: 8px;
  background: #fff;
}

.gerencia-manager-action.alta {
  border-left-color: #c53030;
}

.gerencia-manager-action.baja {
  border-left-color: #2f855a;
}

.gerencia-manager-action.resuelta {
  opacity: .74;
  border-left-color: #94a3b8;
  background: #f8fafc;
}

.gerencia-manager-action strong,
.gerencia-manager-action p {
  margin: 0;
}

.gerencia-manager-action form {
  margin: 0;
}

.gerencia-priority-badge,
.gerencia-action-state {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.gerencia-priority-badge {
  background: #fff7e8;
  color: #835516;
}

.gerencia-priority-badge.alta {
  background: #fff0f0;
  color: #9d2727;
}

.gerencia-priority-badge.baja {
  background: #edf9f2;
  color: #246947;
}

.gerencia-action-state {
  margin-left: 6px;
  background: #eef6ff;
  color: #1f3f88;
}

.gerencia-table-input {
  width: 128px;
  min-height: 36px;
  padding: 7px 9px;
}

.gerencia-progress {
  width: 128px;
  height: 8px;
  overflow: hidden;
  margin-bottom: 4px;
  border-radius: 999px;
  background: #e6edf5;
}

.gerencia-progress.small {
  width: 94px;
  height: 6px;
  margin-top: 5px;
  margin-bottom: 0;
}

.gerencia-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #248fd3;
}

.gerencia-summary-panel {
  min-width: 0;
}

.gerencia-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid rgba(190, 219, 204, .92);
  border-radius: 8px;
  background: linear-gradient(135deg, #f3faf6 0%, #ffffff 68%);
  box-shadow: 0 14px 32px rgba(36, 74, 55, .07);
}

.gerencia-product-hero h2 {
  margin: 10px 0 6px;
  color: #173422;
  font-size: 30px;
  line-height: 1.08;
}

.gerencia-product-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-weight: 800;
}

.gerencia-product-hero-actions,
.gerencia-product-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gerencia-compact-action-form {
  display: inline-flex;
  margin: 0;
}

.gerencia-feed-add-panel {
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-feed-form {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr) auto auto auto;
  gap: 10px;
  align-items: end;
}

.gerencia-feed-form > div {
  min-width: 0;
}

.gerencia-feed-check {
  min-height: 42px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.gerencia-product-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.gerencia-product-flow div {
  min-height: 126px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(24, 38, 55, .04);
}

.gerencia-product-flow span {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 9px;
  border-radius: 50%;
  background: #eaf7ef;
  color: #246947;
  font-size: 11px;
  font-weight: 950;
}

.gerencia-product-flow strong {
  display: block;
  color: var(--text);
  font-weight: 950;
}

.gerencia-product-flow p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.38;
}

.gerencia-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .36fr);
  gap: 18px;
  margin-top: 18px;
  align-items: start;
}

.gerencia-product-main,
.gerencia-product-side {
  min-width: 0;
}

.gerencia-product-side {
  display: grid;
  gap: 18px;
}

.portal-export-panel {
  margin-top: 18px;
}

.portal-export-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.portal-export-card {
  min-width: 0;
  align-content: start;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 10px 24px rgba(24, 38, 55, .055);
}

.portal-export-switch {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid rgba(90, 132, 190, .25);
  border-radius: 999px;
  background: #f3f8ff;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
}

.portal-export-switch input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.portal-export-brand {
  display: grid;
  gap: 5px;
  min-height: 58px;
}

.portal-export-brand strong {
  color: var(--text);
  font-size: 19px;
  line-height: 1.08;
}

.portal-export-brand small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-export-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(207, 217, 229, .8);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.portal-export-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.portal-export-card label:not(.portal-export-switch) {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.portal-export-card input[readonly],
.portal-export-card input:not([type="checkbox"]),
.portal-export-card select,
.portal-export-card textarea {
  min-width: 0;
  width: 100%;
  font-size: 12px;
}

.portal-export-inline-check {
  min-height: 42px;
  align-self: end;
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
  padding: 10px;
  border: 1px solid rgba(207, 217, 229, .8);
  border-radius: 8px;
  background: #fff;
}

.portal-export-inline-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.portal-export-ftp-box {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(47, 125, 86, .22);
  border-radius: 8px;
  background: #f6fbf8;
}

.portal-export-ftp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.portal-export-ftp-head strong {
  color: #173422;
  font-size: 13px;
}

.portal-export-ftp-head span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #e8f5ee;
  color: #2f7d56;
  font-size: 11px;
  font-weight: 900;
}

.portal-export-transfer-status {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px solid rgba(47, 125, 86, .16);
  border-radius: 8px;
  background: #fff;
}

.portal-export-transfer-status strong {
  color: #173422;
  font-size: 12px;
}

.portal-export-transfer-status span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

.portal-export-ftp-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.portal-export-ftp-actions .button {
  margin: 0;
}

.portal-export-ftp-actions .muted {
  font-size: 11px;
  font-weight: 850;
}

.portal-export-card textarea {
  min-height: 96px;
  resize: vertical;
}

.portal-export-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

@media (max-width: 1180px) {
  .property-portal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .property-portal-grid,
  .portal-export-grid,
  .portal-export-config-grid,
  .portal-export-stats {
    grid-template-columns: 1fr;
  }

  .property-portal-toggle,
  .portal-export-card {
    min-height: 0;
  }
}

.gerencia-agency-search {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-agency-search label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}

.gerencia-agency-search input {
  width: 100%;
}

.gerencia-agency-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.agency-discovery-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  background: rgba(15, 31, 56, .42);
  backdrop-filter: blur(3px);
}

.agency-discovery-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 81;
  display: none;
  width: min(620px, calc(100vw - 28px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(185, 211, 246, .95);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 31, 56, .28);
}

body.show-agency-discovery .agency-discovery-backdrop,
body.show-agency-discovery .agency-discovery-modal {
  display: block;
}

.agency-discovery-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #dbe7f5;
  background: #f8fbff;
}

.agency-discovery-modal-head span {
  color: #60738e;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.agency-discovery-modal-head h2 {
  margin: 4px 0 0;
  color: #06183f;
}

.agency-discovery-form {
  display: grid;
  gap: 16px;
  padding: 18px 20px 20px;
}

.agency-discovery-form label {
  display: grid;
  gap: 7px;
  color: #4d5d72;
  font-weight: 900;
}

.agency-discovery-radius {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.agency-discovery-radius label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #f8fbff;
  color: #1f2d44;
  cursor: pointer;
}

.agency-discovery-radius input {
  margin: 0;
}

.agency-discovery-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.agency-discovery-pending {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #dbe7f5;
  border-radius: 10px;
  background: #f8fbff;
}

.agency-discovery-grid {
  display: grid;
  gap: 10px;
}

.agency-discovery-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid #dbe7f5;
  border-left: 4px solid #244cad;
  border-radius: 8px;
  background: #fff;
}

.agency-discovery-card.is-duplicate {
  border-left-color: #f0a43a;
}

.agency-discovery-card-main {
  min-width: 0;
}

.agency-discovery-card h3 {
  margin: 7px 0 4px;
  color: #06183f;
  font-size: 18px;
}

.agency-discovery-card p {
  margin: 0;
  color: #4d5d72;
  font-weight: 800;
}

.agency-discovery-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.agency-discovery-meta span,
.agency-discovery-meta a {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #244cad;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.agency-discovery-card-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.gerencia-agency-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #dbe7f5;
  border-left: 4px solid #2f855a;
  border-radius: 8px;
  background: #fff;
}

.gerencia-agency-card.empty {
  grid-column: 1 / -1;
  border-left-color: #94a3b8;
  background: #f8fafc;
}

.gerencia-agency-card.selected {
  border-color: rgba(36, 76, 173, .48);
  border-left-color: #244cad;
  box-shadow: 0 14px 28px rgba(24, 54, 124, .10);
}

.gerencia-agency-card header,
.gerencia-agency-card footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.gerencia-agency-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gerencia-agency-card-identity {
  min-width: 0;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.gerencia-agency-card-logo {
  width: 64px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #f4f8fc;
  color: #1f3f88;
  font-size: 28px;
  font-weight: 950;
}

.gerencia-agency-card-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.gerencia-agency-card h3 {
  margin: 7px 0 0;
  color: var(--text);
  font-size: 18px;
  line-height: 1.18;
}

.gerencia-agency-card header > strong {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  background: #eef6ff;
  color: #1f3f88;
  font-size: 18px;
}

.gerencia-agency-state {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2f7;
  color: #4d5d72;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.gerencia-agency-state.active {
  background: #edf9f2;
  color: #246947;
}

.gerencia-agency-state.inactive {
  background: #f1f5f9;
  color: #64748b;
}

.gerencia-agency-url {
  min-height: 20px;
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-agency-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.gerencia-agency-stats div {
  min-width: 0;
  padding: 10px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-agency-stats span,
.gerencia-agency-card footer span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.gerencia-agency-stats strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 16px;
}

.gerencia-agency-detail {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.gerencia-agency-profile-view {
  margin-top: 18px;
  padding-top: 0;
  border-top: 0;
}

.gerencia-agency-premium-hero {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) minmax(220px, auto);
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid rgba(185, 211, 246, .9);
  border-radius: 10px;
  background: linear-gradient(135deg, #f6fbff 0%, #ffffff 62%);
  box-shadow: 0 16px 38px rgba(24, 54, 124, .08);
}

.gerencia-agency-logo {
  width: 132px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid #dbe7f5;
  border-radius: 10px;
  background: #fff;
  color: #1f3f88;
  font-size: 42px;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(24, 38, 55, .06);
}

.gerencia-agency-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
}

.gerencia-agency-premium-main {
  min-width: 0;
}

.gerencia-agency-premium-main h2 {
  margin: 8px 0 6px;
  color: #15294d;
  font-size: 32px;
  line-height: 1.08;
}

.gerencia-agency-premium-main p {
  margin: 0;
  color: var(--muted);
  font-weight: 850;
}

.gerencia-agency-contact-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.gerencia-agency-premium-meta {
  display: grid;
  grid-template-columns: auto auto;
  gap: 8px 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
}

.gerencia-agency-premium-meta span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.gerencia-agency-premium-meta strong {
  color: var(--text);
  font-size: 13px;
  text-align: right;
}

.gerencia-agency-premium-meta a {
  grid-column: 1 / -1;
}

.gerencia-agency-premium-meta form {
  grid-column: 1 / -1;
}

.gerencia-agency-profile {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(160px, .55fr) minmax(160px, .55fr);
  gap: 10px;
  margin-bottom: 14px;
}

.gerencia-agency-profile-stats {
  margin-bottom: 14px;
}

.gerencia-agency-intel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
  gap: 14px;
  margin-bottom: 16px;
}

.gerencia-agency-contact-card,
.gerencia-agency-specialization-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-agency-contact-card {
  display: grid;
  gap: 12px;
}

.gerencia-agency-form-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gerencia-agency-contact-card textarea {
  min-height: 92px;
  resize: vertical;
}

.gerencia-specialization-focus {
  padding: 12px;
  border: 1px solid #cfe4d8;
  border-radius: 8px;
  background: #f3faf6;
}

.gerencia-specialization-focus span,
.gerencia-specialization-lists span,
.gerencia-specialization-prices span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-specialization-focus strong {
  display: block;
  margin-top: 5px;
  color: #173422;
  font-size: 17px;
  line-height: 1.25;
}

.gerencia-specialization-lists {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.gerencia-specialization-lists div {
  min-width: 0;
}

.gerencia-specialization-lists strong {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 6px 5px 0 0;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f8fbfe;
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
}

.gerencia-specialization-lists small {
  color: var(--muted);
  font-size: 11px;
}

.gerencia-specialization-prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.gerencia-specialization-prices div {
  padding: 9px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-specialization-prices strong {
  display: block;
  margin-top: 4px;
  color: var(--accent);
  font-size: 13px;
}

.gerencia-agency-profile div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-agency-profile span,
.gerencia-property-main small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-agency-profile strong {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: var(--text);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-agency-empty {
  padding: 16px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
}

.gerencia-agency-empty strong {
  display: block;
  margin-bottom: 4px;
}

.gerencia-product-search {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(190px, .45fr) minmax(180px, .36fr) auto auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
}

.gerencia-product-search label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.gerencia-product-search input,
.gerencia-product-search select {
  width: 100%;
  min-height: 42px;
  margin: 0;
  border-color: #d7e0ea;
  background-color: #fff;
  color: var(--text);
  font-size: 14px;
  font-weight: 800;
  text-transform: none;
}

.gerencia-product-bulk-panel {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin: 16px 0 12px;
  padding: 13px 14px;
  border: 1px solid rgba(207, 228, 216, .96);
  border-radius: 8px;
  background: #f8fcfa;
}

.gerencia-product-bulk-panel h2,
.gerencia-product-bulk-panel p {
  margin: 0;
}

.gerencia-product-bulk-panel h2 {
  color: var(--text);
  font-size: 18px;
}

.gerencia-product-bulk-actions,
.gerencia-property-action-buttons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.gerencia-product-publish-backdrop[hidden],
.gerencia-product-publish-modal[hidden] {
  display: none;
}

.gerencia-product-publish-backdrop {
  position: fixed;
  inset: 0;
  z-index: 92;
  background: rgba(11, 18, 32, .66);
  backdrop-filter: blur(8px);
}

.gerencia-product-publish-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 94;
  width: min(1180px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
  display: grid;
  gap: 16px;
  overflow: auto;
  transform: translate(-50%, -50%);
  padding: 20px;
  border: 1px solid rgba(202, 217, 231, .96);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .34);
}

.gerencia-product-publish-head {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid #e3eaf1;
}

.gerencia-product-publish-head h2 {
  margin: 3px 0 6px;
  color: var(--text);
  font-size: 24px;
}

.gerencia-product-publish-head span {
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.gerencia-product-publish-list {
  display: grid;
  gap: 10px;
}

.gerencia-product-publish-item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto minmax(360px, .95fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #fbfdff;
}

.gerencia-product-publish-item.is-all-results {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
}

.gerencia-product-publish-thumb {
  width: 92px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef6ff;
  color: #243f86;
  font-weight: 950;
}

.gerencia-product-publish-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gerencia-product-publish-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.gerencia-product-publish-main small {
  overflow: hidden;
  color: #6d7b8d;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-product-publish-main strong {
  overflow: hidden;
  color: var(--text);
  font-size: 16px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-product-publish-main span {
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-product-publish-main em {
  overflow: hidden;
  color: #536174;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-product-publish-price {
  color: #243f86;
  font-size: 16px;
  font-weight: 950;
  white-space: nowrap;
}

.gerencia-product-publish-portals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 8px;
}

.gerencia-product-publish-portal {
  min-width: 0;
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.gerencia-product-publish-portal:has(input:checked) {
  border-color: rgba(44, 80, 170, .52);
  background: #f5f8ff;
}

.gerencia-product-publish-portal input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  accent-color: var(--accent);
}

.gerencia-product-publish-portal span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.gerencia-product-publish-portal strong,
.gerencia-product-publish-portal small {
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-product-publish-portal strong {
  color: #1d2d43;
  font-size: 12px;
}

.gerencia-product-publish-portal small {
  color: #768497;
  font-size: 10px;
  font-weight: 800;
}

.gerencia-product-publish-note {
  margin: 0;
  padding: 11px 13px;
  border-left: 4px solid #5b83c6;
  background: #f3f7fc;
  color: #536174;
  font-size: 13px;
  line-height: 1.45;
}

.gerencia-product-publish-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

body.show-product-publication-modal {
  overflow: hidden;
}

@media (max-width: 980px) {
  .gerencia-product-publish-item {
    grid-template-columns: 82px minmax(0, 1fr) auto;
  }

  .gerencia-product-publish-item.is-all-results {
    grid-template-columns: 1fr;
  }

  .gerencia-product-publish-thumb {
    width: 82px;
  }

  .gerencia-product-publish-portals {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .gerencia-product-publish-modal {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
    padding: 15px;
  }

  .gerencia-product-publish-head,
  .gerencia-product-publish-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .gerencia-product-publish-item {
    grid-template-columns: 1fr;
  }

  .gerencia-product-publish-thumb {
    width: 100%;
  }

  .gerencia-product-publish-price {
    white-space: normal;
  }

  .gerencia-product-publish-portals {
    grid-template-columns: 1fr;
  }

  .gerencia-product-publish-actions button {
    width: 100%;
  }
}

.gerencia-property-list {
  display: grid;
  gap: 10px;
}

.gerencia-property-row {
  display: grid;
  grid-template-columns: 34px 94px minmax(0, 1fr) minmax(220px, .55fr) minmax(145px, auto);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.gerencia-property-row.is-selected {
  border-color: rgba(31, 63, 136, .42);
  background: #f7fbff;
  box-shadow: 0 0 0 1px rgba(31, 63, 136, .08);
}

.gerencia-property-select {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.gerencia-property-select input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gerencia-property-select span {
  width: 22px;
  height: 22px;
  display: block;
  border: 2px solid #cbd6e4;
  border-radius: 6px;
  background: #fff;
}

.gerencia-property-select input:checked + span {
  border-color: #263f8f;
  background: #263f8f;
  box-shadow: inset 0 0 0 4px #fff;
}

.gerencia-property-thumb {
  width: 94px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef6ff;
  color: #1f3f88;
  font-weight: 950;
}

.gerencia-property-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gerencia-property-main {
  min-width: 0;
}

.gerencia-property-main > div {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.gerencia-property-main h3 {
  overflow: hidden;
  margin: 5px 0 3px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.22;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-property-main p {
  margin: 0;
  font-size: 13px;
}

.gerencia-property-state {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff7e8;
  color: #835516;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.gerencia-property-state.published {
  background: #edf9f2;
  color: #246947;
}

.gerencia-property-state.duplicate {
  background: #fff0f0;
  color: #9d2727;
}

.gerencia-property-state.discarded,
.gerencia-property-state.inactive {
  background: #f1f5f9;
  color: #64748b;
}

.gerencia-property-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.gerencia-property-facts span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 6px;
  background: #f8fbfe;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
}

.gerencia-property-actions {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.gerencia-property-actions strong {
  color: var(--accent);
  font-size: 16px;
}

.gerencia-property-action-buttons button {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 12px;
}

.gerencia-filter-panel {
  margin-top: 18px;
}

.collaborator-feed-box {
  display: grid;
  grid-template-columns: minmax(240px, .85fr) minmax(420px, 1.6fr);
  gap: 18px;
  align-items: center;
  margin: 4px 0 18px;
  padding: 16px;
  border: 1px solid rgba(47, 125, 86, .24);
  border-radius: 10px;
  background: linear-gradient(135deg, #f3faf6 0%, #f8fbff 100%);
}

.collaborator-feed-summary,
.collaborator-feed-link {
  min-width: 0;
}

.collaborator-feed-summary {
  display: grid;
  gap: 5px;
}

.collaborator-feed-kicker {
  color: #2f7d56;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.collaborator-feed-summary strong {
  color: var(--text);
  font-size: 18px;
}

.collaborator-feed-summary p,
.collaborator-feed-link small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.collaborator-feed-link {
  display: grid;
  gap: 7px;
}

.collaborator-feed-link > label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.collaborator-feed-link > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.collaborator-feed-link input {
  min-width: 0;
  width: 100%;
  background: #fff;
  font-size: 12px;
}

.collaborator-feed-link .button,
.collaborator-feed-link button {
  margin: 0;
  white-space: nowrap;
}

.gerencia-filter-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr minmax(220px, 1.4fr) auto;
  gap: 12px;
  align-items: end;
}

@media (max-width: 900px) {
  .collaborator-feed-box,
  .collaborator-feed-link > div {
    grid-template-columns: 1fr;
  }
}

.gerencia-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.gerencia-wide-table table {
  min-width: 1240px;
}

.gerencia-actions-cell {
  min-width: 230px;
}

.gerencia-row-actions {
  margin-top: 8px;
}

.gerencia-row-actions summary {
  cursor: pointer;
  color: var(--accent);
  font-size: 13px;
  font-weight: 900;
}

.gerencia-inline-form {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.gerencia-inline-form textarea {
  min-height: 66px;
  resize: vertical;
}

.gerencia-inline-form button {
  width: 100%;
}

.captacion-shell {
  width: min(100%, 1420px);
}

.captacion-hero {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
}

.captacion-media {
  min-height: 260px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #eef3f8;
}

.captacion-media img,
.captacion-linked-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.captacion-media-empty {
  height: 100%;
  min-height: 260px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-weight: 900;
}

.captacion-hero-body {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 13px;
}

.captacion-hero-body h2 {
  margin: 0;
}

.captacion-badges,
.client-favorite-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.captacion-badges span {
  padding: 5px 9px;
  border: 1px solid rgba(36, 143, 211, .2);
  border-radius: 999px;
  background: #eef6ff;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
}

.captacion-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.captacion-facts div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.captacion-facts span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.captacion-facts strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
}

/*
 * Client-facing web surfaces share the public MAYRASA typography. The internal
 * CRM keeps its existing UI font because it is an operational application, not
 * part of the public website redesign.
 */
body.client-portal-login-page,
body.client-portal-page,
body.proposal-page,
body.dossier-page {
  font-family: var(--site-font);
}

body.client-portal-login-page :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, textarea, select, option, label,
  span, strong, b, em, small, summary, li, dt, dd,
  blockquote, figcaption, th, td
),
body.client-portal-page :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, textarea, select, option, label,
  span, strong, b, em, small, summary, li, dt, dd,
  blockquote, figcaption, th, td
),
body.proposal-page :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, textarea, select, option, label,
  span, strong, b, em, small, summary, li, dt, dd,
  blockquote, figcaption, th, td
),
body.dossier-page :where(
  h1, h2, h3, h4, h5, h6,
  p, a, button, input, textarea, select, option, label,
  span, strong, b, em, small, summary, li, dt, dd,
  blockquote, figcaption, th, td
) {
  font-family: var(--site-font) !important;
}

.captacion-section-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.captacion-section-tabs button {
  min-height: 40px;
  padding: 9px 13px;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}

.captacion-section-tabs button:hover,
.captacion-section-tabs button.active {
  background: var(--accent);
  color: #fff;
  transform: none;
  box-shadow: 0 8px 18px rgba(36, 63, 134, .16);
}

.captacion-tab-panel {
  display: none;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
}

.captacion-tab-panel.active {
  display: block;
}

.captacion-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.captacion-section-heading strong {
  color: var(--text);
  font-size: 18px;
}

.captacion-section-heading span {
  max-width: 360px;
  color: var(--muted);
  text-align: right;
  font-size: 13px;
  font-weight: 700;
}

.captacion-form-grid .span-2 {
  grid-column: 1 / -1;
}

.house-facts-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
}

.house-facts-grid > .field-wide {
  grid-column: span 6;
}

.house-facts-grid > .field-money {
  grid-column: span 3;
}

.house-facts-grid > .field-small {
  grid-column: span 2;
}

.house-facts-grid > .field-address {
  grid-column: 1 / -1;
}

.address-detail-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(84px, 112px));
  gap: 12px;
  align-items: end;
}

@media (max-width: 980px) {
  .house-facts-grid > .field-wide,
  .house-facts-grid > .field-money {
    grid-column: span 6;
  }

  .house-facts-grid > .field-small {
    grid-column: span 3;
  }

  .address-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .house-facts-grid,
  .address-detail-grid {
    grid-template-columns: 1fr;
  }

  .house-facts-grid > .field-wide,
  .house-facts-grid > .field-money,
  .house-facts-grid > .field-small,
  .house-facts-grid > .field-address {
    grid-column: 1 / -1;
  }
}

.property-geo-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.property-geo-head,
.property-geo-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.property-geo-head div {
  display: grid;
  gap: 2px;
}

.property-geo-head strong {
  font-size: 15px;
  color: var(--text);
}

.property-geo-head span,
.property-geo-footer span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.property-geo-map {
  width: 100%;
  min-height: 320px;
  height: clamp(320px, 38vh, 480px);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #dbe5ee;
  z-index: 0;
}

.property-geo-map .leaflet-control-layers {
  border-color: var(--border);
  border-radius: 8px;
}

.captacion-tick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.captacion-tick-grid label {
  min-height: 48px;
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-weight: 850;
}

.captacion-tick-grid input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.captacion-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 18px;
  margin-top: 18px;
}

.captacion-grid.lower {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.captacion-side {
  display: grid;
  gap: 18px;
  align-content: start;
}

.captacion-edit-panel textarea {
  min-height: 104px;
}

.collaboration-placeholder {
  min-height: 48px;
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px dashed var(--border-strong);
  border-radius: 8px;
  background: #f8fbfe;
}

.collaboration-placeholder strong {
  color: var(--text);
  font-size: 14px;
}

.collaboration-placeholder span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.collaboration-copy-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.collaboration-copy-head label {
  margin: 0;
}

.captacion-edit-panel .collaboration-whatsapp-text {
  min-height: 360px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  line-height: 1.5;
  white-space: pre-wrap;
}

.captacion-checks {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-content: start;
  min-height: auto;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.captacion-checks label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-weight: 800;
  margin: 0;
}

.captacion-linked-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--border);
}

.captacion-linked-card:first-of-type {
  border-top: 0;
}

.captacion-linked-media {
  min-height: 112px;
  overflow: hidden;
  border-radius: 8px;
  background: #eef3f8;
}

.captacion-linked-card h3,
.captacion-linked-card p {
  margin: 3px 0;
}

.captacion-history-panel {
  margin-top: 18px;
}

.commercial-house-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
  gap: 12px;
}

.commercial-house-card {
  overflow: hidden;
  display: grid;
  grid-template-rows: 126px auto auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 38, 55, .055);
}

.commercial-house-card.focus {
  border-color: rgba(36, 143, 211, .52);
  box-shadow: 0 16px 34px rgba(36, 143, 211, .12);
}

.commercial-house-card.needs-attention {
  border-color: rgba(246, 195, 67, .86);
  background: linear-gradient(180deg, #fffdf6 0%, #fff 42%);
  box-shadow: 0 14px 30px rgba(179, 107, 24, .12);
}

.commercial-house-media {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #eef3f8;
  color: var(--muted);
  font-weight: 900;
  text-decoration: none;
}

.commercial-house-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.commercial-house-body {
  display: grid;
  gap: 6px;
  padding: 10px 11px 9px;
}

.commercial-house-title,
.commercial-house-foot,
.commercial-house-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.commercial-house-title {
  align-items: flex-start;
}

.commercial-house-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
  min-width: 0;
}

.house-attention-pill {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border: 1px solid rgba(246, 195, 67, .72);
  border-radius: 999px;
  background: #fff3c4;
  color: #7a4a0f;
  font-size: 11px;
  font-weight: 950;
}

.commercial-house-card h3 {
  margin: 0;
  color: var(--text);
  font-size: 16px;
  line-height: 1.18;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.commercial-house-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.commercial-house-price {
  color: var(--accent);
  font-size: 18px;
  font-weight: 950;
}

.commercial-house-metrics {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.commercial-house-metrics span {
  padding: 4px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #f8fbfe;
  color: var(--text);
  font-size: 12px;
  font-weight: 850;
}

.commercial-house-card .chips {
  gap: 5px;
}

.commercial-house-card .chip {
  max-width: 100%;
  padding: 4px 7px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.house-attention-box {
  display: grid;
  gap: 3px;
  padding: 8px 9px;
  border: 1px solid rgba(246, 195, 67, .6);
  border-radius: 8px;
  background: #fff8dc;
  color: #7a4a0f;
  font-size: 11px;
  line-height: 1.25;
}

.house-attention-box strong,
.house-attention-box span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.house-attention-box strong {
  font-size: 12px;
  font-weight: 950;
}

.commercial-house-foot small,
.commercial-house-actions small {
  color: var(--muted);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
}

.commercial-house-delete-form {
  margin: 4px 0 0;
}

.commercial-house-delete-form button {
  width: 100%;
  min-height: 36px;
}

.commercial-house-followup {
  margin: 0 11px 10px;
  border-top: 1px solid var(--border);
}

.commercial-house-followup summary {
  padding: 8px 0 0;
  color: var(--accent);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.commercial-house-followup .visit-followup {
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: transparent;
}

.commercial-house-followup textarea {
  min-height: 62px;
}

.houses-shell {
  max-width: 1760px;
}

.houses-hero {
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 28px;
  border: 1px solid rgba(189, 203, 217, .72);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(16, 31, 64, .96) 0%, rgba(36, 63, 134, .92) 58%, rgba(47, 125, 86, .9) 100%);
  color: #fff;
  box-shadow: 0 22px 55px rgba(24, 38, 55, .16);
}

.houses-hero h1,
.houses-hero p {
  margin: 0;
}

.houses-hero h1 {
  margin-top: 8px;
  font-size: 46px;
  line-height: 1;
  letter-spacing: 0;
}

.houses-hero p {
  margin-top: 12px;
  max-width: 620px;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  font-weight: 700;
}

.houses-hero .gerencia-eyebrow {
  color: rgba(255,255,255,.74);
}

.houses-hero-focus {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.houses-hero-focus span,
.houses-hero-focus small {
  color: rgba(255,255,255,.75);
  font-weight: 900;
}

.houses-hero-focus strong {
  overflow-wrap: anywhere;
  font-size: 38px;
  line-height: 1;
  font-weight: 950;
}

.houses-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.houses-kpis article {
  position: relative;
  overflow: hidden;
  min-height: 118px;
  padding: 18px 18px 16px 22px;
  border: 1px solid rgba(215, 225, 235, .92);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(24, 38, 55, .08);
}

.houses-kpis article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--accent);
}

.houses-kpis article.accent::before { background: var(--accent-2); }
.houses-kpis article.success::before { background: var(--success); }
.houses-kpis article.value::before { background: var(--danger); }

.houses-kpis span,
.houses-kpis small {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.houses-kpis strong {
  display: block;
  margin-top: 10px;
  overflow-wrap: anywhere;
  color: #101827;
  font-size: 38px;
  line-height: 1;
  font-weight: 950;
}

.houses-kpis small {
  margin-top: 8px;
}

.houses-toolbar,
.houses-list-panel,
.houses-detail-panel,
.houses-support-panel {
  border: 1px solid rgba(215, 225, 235, .92);
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 42px rgba(24, 38, 55, .08);
}

.houses-toolbar {
  margin-bottom: 18px;
  padding: 18px;
}

.houses-toolbar form {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.houses-toolbar label,
.houses-edit-form label,
.houses-follow-form label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.houses-toolbar input,
.houses-toolbar select,
.houses-edit-form input,
.houses-edit-form select,
.houses-edit-form textarea,
.houses-follow-form input,
.houses-follow-form select,
.houses-follow-form textarea {
  width: 100%;
}

.houses-workspace {
  display: grid;
  grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.25fr);
  gap: 18px;
  align-items: start;
}

.houses-list-panel,
.houses-detail-panel,
.houses-support-panel {
  padding: 20px;
}

.houses-list {
  display: grid;
  gap: 10px;
  max-height: 820px;
  overflow: auto;
  padding-right: 3px;
}

.houses-card {
  position: relative;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) minmax(92px, 124px);
  gap: 13px;
  align-items: center;
  min-height: 106px;
  padding: 13px;
  color: var(--text);
  text-decoration: none;
  border: 1px solid rgba(215, 225, 235, .9);
  border-radius: 8px;
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.houses-card:hover,
.houses-card.selected {
  border-color: rgba(36, 63, 134, .42);
  box-shadow: 0 14px 32px rgba(36, 63, 134, .12);
  transform: translateY(-1px);
}

.houses-card.selected {
  background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
}

.houses-card-stripe {
  width: 7px;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
}

.houses-card-main,
.houses-card-main span {
  min-width: 0;
}

.houses-card-top,
.houses-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.houses-card-top strong {
  overflow-wrap: anywhere;
  font-size: 18px;
  font-weight: 950;
}

.houses-card-title {
  display: block;
  margin-top: 8px;
  overflow: hidden;
  color: #111827;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 900;
}

.houses-card-meta {
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.houses-card-meta span {
  padding: 5px 8px;
  border-radius: 8px;
  background: #f3f6f9;
}

.houses-state,
.houses-xml {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0;
}

.houses-state {
  color: #243f86;
  background: #edf2ff;
}

.houses-state.vendida,
.houses-state.activa {
  color: #206343;
  background: var(--success-soft);
}

.houses-state.perdida,
.houses-state.retirada {
  color: #8a252b;
  background: var(--danger-soft);
}

.houses-state.en_curso,
.houses-state.abierta {
  color: #935514;
  background: #fff5e6;
}

.houses-xml {
  justify-self: end;
  max-width: 124px;
  overflow-wrap: anywhere;
  text-align: center;
  color: #206343;
  background: var(--success-soft);
}

.houses-xml.sugerido {
  color: #935514;
  background: #fff5e6;
}

.houses-xml.sin-xml {
  color: var(--muted);
  background: #f1f5f9;
}

.houses-detail-panel {
  position: sticky;
  top: 18px;
}

.houses-detail-head {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.houses-detail-media {
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: 150px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f1f5f9, #e2eaf3);
  color: var(--muted);
  font-weight: 900;
}

.houses-detail-media img,
.houses-xml-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.houses-detail-head h2,
.houses-detail-head p {
  margin: 0;
}

.houses-detail-head h2 {
  margin-top: 11px;
  overflow-wrap: anywhere;
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: 0;
}

.houses-detail-head p {
  margin-top: 8px;
  color: var(--muted);
  font-weight: 800;
}

.houses-detail-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.houses-detail-facts span {
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  color: #142033;
  font-size: 13px;
  font-weight: 950;
}

.houses-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.houses-form-grid.compact {
  grid-template-columns: minmax(160px, .8fr) minmax(160px, 1fr);
}

.houses-edit-form textarea,
.houses-follow-form textarea {
  min-height: 94px;
  resize: vertical;
}

.houses-sticky-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  margin: 18px -20px -20px;
  padding: 14px 20px;
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
}

.houses-support-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 18px;
  margin-top: 18px;
  align-items: start;
}

.houses-xml-card {
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--border);
}

.houses-xml-card:first-of-type {
  border-top: 0;
}

.houses-xml-media {
  overflow: hidden;
  min-height: 104px;
  border-radius: 8px;
  background: #edf2f7;
}

.houses-xml-card small,
.houses-xml-card h3,
.houses-xml-card p {
  display: block;
  margin: 0;
}

.houses-xml-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.houses-xml-card h3 {
  margin-top: 6px;
  overflow-wrap: anywhere;
  font-size: 17px;
  line-height: 1.25;
}

.houses-xml-card p {
  margin-top: 5px;
  color: var(--muted);
  font-weight: 800;
}

.houses-follow-form {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

@media (max-width: 1240px) {
  .houses-workspace,
  .houses-support-grid,
  .houses-hero {
    grid-template-columns: 1fr;
  }

  .houses-detail-panel {
    position: static;
  }

  .houses-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .houses-hero h1 {
    font-size: 34px;
  }

  .houses-hero,
  .houses-list-panel,
  .houses-detail-panel,
  .houses-support-panel,
  .houses-toolbar {
    padding: 16px;
  }

  .houses-toolbar form,
  .houses-detail-head,
  .houses-form-grid,
  .houses-form-grid.compact,
  .houses-xml-card,
  .houses-card {
    grid-template-columns: 1fr;
  }

  .houses-kpis {
    grid-template-columns: 1fr;
  }

  .houses-card-stripe {
    display: none;
  }

  .houses-xml {
    justify-self: start;
    max-width: 100%;
  }
}

@media (max-width: 980px) {
  .gerencia-commercial-hero,
  .gerencia-product-hero,
  .gerencia-agency-premium-hero,
  .gerencia-dashboard,
  .gerencia-analytics-hero,
  .gerencia-analytics-hero-metrics,
  .gerencia-analytics-grid,
  .gerencia-analytics-grid.three,
  .gerencia-portal-grid,
  .gerencia-portal-grid.three,
  .gerencia-portal-card-grid,
  .gerencia-portal-language-grid,
  .gerencia-realestate-grid,
  .gerencia-section-analytics-grid,
  .gerencia-section-detail-columns,
  .gerencia-imported-audience-grid,
  .gerencia-live-map-layout,
  .gerencia-product-grid,
  .gerencia-commercial-detail-grid,
  .gerencia-filter-grid {
    grid-template-columns: 1fr;
  }

  .gerencia-commercial-hero,
  .gerencia-product-hero,
  .gerencia-agency-premium-hero {
    align-items: start;
    padding: 18px;
  }

  .gerencia-portal-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gerencia-imported-audience-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gerencia-portal-hero-main {
    grid-template-columns: 1fr;
  }

  .gerencia-portal-subnav {
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .gerencia-portal-subnav a {
    min-width: 178px;
  }

  .portal-language-row {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .gerencia-agency-logo {
    width: 108px;
  }

  .gerencia-product-flow,
  .gerencia-agency-grid,
  .gerencia-agency-intel,
  .gerencia-agency-profile,
  .gerencia-property-row,
  .gerencia-feed-form,
  .gerencia-agency-search,
  .gerencia-product-search {
    grid-template-columns: 1fr;
  }

  .gerencia-property-thumb {
    width: 100%;
  }

  .gerencia-property-main h3 {
    white-space: normal;
  }

  .gerencia-property-actions {
    justify-items: start;
  }

  .gerencia-commercial-hero-meta {
    width: 100%;
  }

  .gerencia-commercial-selector {
    align-items: stretch;
    flex-direction: column;
  }

  .gerencia-manager-action-grid {
    grid-template-columns: 1fr;
  }

  .gerencia-filter-actions,
  .gerencia-period-nav,
  .gerencia-product-hero-actions,
  .gerencia-product-actions,
  .gerencia-agency-card-actions,
  .gerencia-product-bulk-actions,
  .gerencia-property-action-buttons {
    justify-content: flex-start;
  }

  .gerencia-product-bulk-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .captacion-hero,
  .captacion-grid,
  .captacion-grid.lower,
  .captacion-facts {
    grid-template-columns: 1fr;
  }

  .captacion-section-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .captacion-section-tabs button {
    flex: 0 0 auto;
  }

  .captacion-section-heading {
    display: grid;
  }

  .captacion-section-heading span {
    max-width: none;
    text-align: left;
  }

  .captacion-tick-grid {
    grid-template-columns: 1fr;
  }

  .captacion-linked-card {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .commercial-house-grid {
    grid-template-columns: 1fr;
  }

  .commercial-house-card {
    grid-template-rows: 150px auto auto;
  }
}

@media (max-width: 640px) {
  .gerencia-section-card header,
  .gerencia-section-card footer,
  .gerencia-section-detail-card > header,
  .gerencia-section-detail-columns p {
    align-items: flex-start;
    flex-direction: column;
  }

  .gerencia-section-card-metrics {
    grid-template-columns: 1fr;
  }

  .gerencia-report-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .gerencia-analytics-hero {
    padding: 16px;
  }

  .gerencia-analytics-hero h2 {
    font-size: 23px;
  }

  .gerencia-analytics-bar-row {
    grid-template-columns: 76px minmax(0, 1fr) 52px;
  }

  .gerencia-analytics-bar-row small {
    grid-column: 2 / 4;
  }

  .gerencia-world-map {
    min-height: 220px;
  }

  .gerencia-product-hero h2 {
    font-size: 24px;
  }

  .gerencia-agency-premium-main h2 {
    font-size: 25px;
  }

  .gerencia-agency-card header,
  .gerencia-agency-card footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .gerencia-agency-card-identity {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .gerencia-agency-card-logo {
    width: 56px;
  }

  .gerencia-agency-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gerencia-portal-kpis,
  .gerencia-portal-card-metrics {
    grid-template-columns: 1fr;
  }

  .gerencia-portal-card header,
  .gerencia-portal-language-card header {
    align-items: flex-start;
  }
}

.table-client-link {
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.table-client-link:hover {
  text-decoration: underline;
}

.conversion-funnel {
  display: grid;
  gap: 13px;
}

.funnel-row {
  display: grid;
  gap: 7px;
}

.funnel-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 800;
}

.funnel-label span {
  color: var(--muted);
}

.funnel-track {
  height: 10px;
  overflow: hidden;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
}

.funnel-track span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  border-radius: inherit;
}

.control-list {
  display: grid;
  gap: 9px;
}

.control-list-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  color: var(--text);
  text-decoration: none;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.control-list-card:hover {
  border-color: rgba(36, 143, 211, .62);
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.control-list-card.alert {
  background: #fff8f8;
  border-color: rgba(169, 50, 56, .2);
}

.control-list-card strong,
.control-list-card span,
.control-list-card small {
  display: block;
}

.control-list-card span,
.control-list-card small {
  color: var(--muted);
  font-weight: 700;
}

.control-list-card span {
  margin-top: 3px;
  font-size: 13px;
}

.control-card-side {
  display: grid;
  justify-items: end;
  gap: 3px;
  text-align: right;
}

.control-card-side span {
  color: var(--text);
  font-weight: 900;
}

.control-table {
  overflow-x: auto;
}

.control-table table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.control-table th,
.control-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: middle;
}

.control-table th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.control-table tbody tr:last-child td {
  border-bottom: 0;
}

.portfolio-state {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.portfolio-state.green {
  color: var(--success);
  background: var(--success-soft);
}

.portfolio-state.amber {
  color: var(--warning);
  background: #fff6e9;
}

.portfolio-state.red {
  color: var(--danger);
  background: var(--danger-soft);
}

.toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.list {
  display: grid;
  gap: 10px;
}

.cliente-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 16px;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.cliente-card:hover {
  border-color: rgba(36, 143, 211, .7);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.cliente-card-actions {
  display: grid;
  justify-items: end;
  gap: 10px;
  align-content: start;
}

.assigned-panel {
  padding: 24px 30px 28px;
  border-color: rgba(181, 210, 242, .9);
  box-shadow: 0 18px 42px rgba(24, 48, 82, .08);
}

.assigned-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(210, 224, 240, .86);
}

.assigned-head h2,
.assigned-head p {
  margin: 0;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.section-kicker::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #4f95d6;
  box-shadow: 0 0 0 6px rgba(79, 149, 214, .12);
}

.assigned-page-pill {
  min-width: 118px;
  padding: 10px 14px;
  border: 1px solid rgba(181, 210, 242, .95);
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #f5f9ff);
  text-align: center;
  box-shadow: 0 10px 22px rgba(34, 68, 112, .08);
}

.assigned-page-pill span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.assigned-page-pill strong {
  display: block;
  color: var(--accent);
  font-size: 18px;
}

.assigned-list {
  display: grid;
  gap: 8px;
}

.assigned-list .cliente-card {
  min-height: 74px;
  align-items: center;
  padding: 12px 16px;
  border-color: rgba(206, 222, 239, .92);
  border-left: 5px solid #29408b;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(241, 247, 255, .76), #fff 38%);
  box-shadow: none;
}

.assigned-list .cliente-card strong {
  font-size: 16px;
}

.assigned-list .cliente-card .muted {
  margin-top: 3px;
  font-size: 14px;
}

.assigned-list .cliente-card > .muted {
  justify-self: end;
  padding: 8px 12px;
  border: 1px solid rgba(210, 224, 240, .9);
  border-radius: 999px;
  background: #fff;
  color: #50698c;
  font-size: 13px;
  font-weight: 900;
}

.assigned-date span {
  display: block;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.assigned-pager,
.pager-pages {
  display: flex;
  align-items: center;
  gap: 8px;
}

.assigned-pager {
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(210, 224, 240, .86);
}

.pager-pages {
  justify-content: center;
  flex-wrap: wrap;
}

.pager-pages a,
.pager-pages span {
  min-width: 34px;
  min-height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0 9px;
  border: 1px solid rgba(210, 224, 240, .95);
  border-radius: 8px;
  background: #fff;
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.pager-pages span:not(.active) {
  color: var(--muted);
  background: transparent;
  border-color: transparent;
}

.pager-pages .active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  box-shadow: 0 10px 20px rgba(41, 64, 139, .2);
}

@media (max-width: 760px) {
  .assigned-panel {
    padding: 18px;
  }

  .assigned-head,
  .assigned-pager {
    align-items: stretch;
    flex-direction: column;
  }

  .assigned-page-pill {
    width: fit-content;
  }

  .assigned-list .cliente-card > .muted {
    justify-self: start;
  }
}

.clients-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.client-search-toggle {
  display: none;
}

.client-search {
  width: min(520px, 52vw);
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.client-tools-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin: 0 0 12px;
}

.client-advanced-search {
  display: none;
  margin: 0 0 18px;
}

body.show-client-advanced .client-advanced-search {
  display: block;
}

.client-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.client-quick-filters .chip {
  min-height: 32px;
  color: #314052;
  text-decoration: none;
  background: #f7fafc;
}

.client-quick-filters .chip.active,
.chip.active {
  border-color: rgba(36, 63, 134, .34);
  background: var(--accent-soft);
  color: var(--accent);
}

.chip.warning {
  border-color: rgba(179, 107, 24, .28);
  background: #fff7ed;
  color: #9a5c13;
}

.client-advanced-form {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 12px;
  align-items: end;
}

.client-advanced-form .filter-field {
  min-width: 0;
}

.client-advanced-form .filter-field label {
  margin-top: 0;
}

.client-advanced-form .filter-field.compact {
  min-width: 130px;
}

.client-advanced-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.client-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 14px;
  margin: 0 0 18px;
}

.client-summary {
  min-height: 84px;
  padding: 16px 18px;
  background: var(--panel);
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.client-summary span,
.client-row-side small,
.client-row-main span {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.client-summary strong {
  display: block;
  margin-top: 8px;
  font-size: 26px;
  line-height: 1;
}

.client-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 13px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border);
}

.client-list-head h2,
.client-list-head p {
  margin: 0;
}

.client-list-head p { margin-top: 4px; }

.client-list {
  display: grid;
  gap: 0;
}

.client-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 4px;
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
}

.client-row:last-child { border-bottom: 0; }

.client-row-link {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(260px, 1fr) minmax(160px, .7fr);
  align-items: center;
  gap: 18px;
  min-width: 0;
  color: var(--text);
  text-decoration: none;
}

.client-row:hover .client-row-main strong {
  color: var(--accent);
}

.client-row-main strong {
  display: block;
  font-size: 17px;
  transition: color .16s ease;
}

.client-row-main span {
  margin-top: 4px;
  font-size: 13px;
}

.client-row-side {
  display: grid;
  justify-items: end;
  gap: 3px;
  text-align: right;
}

.client-row-side span {
  font-weight: 800;
}

.client-row-side small {
  font-size: 12px;
}

.client-row-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.client-row-actions .compact {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}

.relation-chip {
  color: var(--accent);
  border-color: rgba(36, 143, 211, .26);
  background: rgba(36, 143, 211, .08);
  text-decoration: none;
}

.client-create-backdrop,
.client-relation-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: none;
  background: rgba(15, 28, 42, .58);
  backdrop-filter: blur(3px);
}

.client-create-modal,
.client-relation-modal {
  position: fixed;
  z-index: 71;
  top: 50%;
  left: 50%;
  width: min(860px, calc(100vw - 34px));
  max-height: calc(100vh - 44px);
  overflow: auto;
  display: none;
  transform: translate(-50%, -50%);
  padding: 22px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}

.client-create-modal {
  width: min(880px, calc(100vw - 34px));
  padding: 0;
  overflow: hidden;
  background: var(--bg-soft);
  border-color: rgba(36, 63, 134, .18);
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(23, 34, 49, .22);
}

body.show-client-create .client-create-backdrop,
body.show-client-create .client-create-modal {
  display: block;
}

body.show-client-relation .client-relation-backdrop,
body.show-client-relation .client-relation-modal {
  display: block;
}

.client-relation-modal {
  width: min(720px, calc(100vw - 34px));
}

.merge-keep-fields {
  display: none;
  margin-top: 10px;
}

body[data-client-relation-action="fusion"] .merge-keep-fields {
  display: block;
}

.radio-line {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 8px 0 0;
  color: var(--text);
}

.radio-line input {
  width: auto;
}

.client-create-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.client-create-head h2,
.client-create-head p {
  margin: 0;
}

.client-create-head p { margin-top: 5px; }

.client-create-modal .client-create-head {
  padding: 18px 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, #1f6fac 100%);
  border-bottom: 0;
}

.client-create-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.client-create-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .28);
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .12);
}

.client-create-eyebrow {
  display: block;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0;
}

.client-create-modal .client-create-head h2 {
  color: #fff;
  font-size: 23px;
  line-height: 1.15;
}

.client-create-modal .client-create-head p {
  color: rgba(255, 255, 255, .78);
}

.client-modal-close {
  min-width: 96px;
  min-height: 38px;
  color: #fff !important;
  background: rgba(255, 255, 255, .12) !important;
  border-color: rgba(255, 255, 255, .3) !important;
}

.client-create-form {
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 126px);
  overflow: auto;
  padding: 14px 16px 16px;
  background: var(--bg-soft);
}

.client-create-section {
  padding: 13px 14px 15px;
  background: #fff;
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(24, 38, 55, .045);
}

.client-create-section:first-of-type {
  padding-top: 13px;
  border-top: 1px solid rgba(215, 225, 235, .94);
}

.client-create-seller-fields {
  display: none;
}

body[data-client-create-type="vendedor"] .client-create-buyer-fields {
  display: none;
}

body[data-client-create-type="vendedor"] .client-create-seller-fields,
body[data-client-create-type="mixto"] .client-create-seller-fields {
  display: block;
}

.client-create-section-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 6px;
}

.client-create-section-title h3 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 950;
  text-transform: uppercase;
}

.client-create-section-title h3::before {
  content: "";
  width: 7px;
  height: 18px;
  border-radius: 999px;
  background: var(--accent);
}

.client-create-modal label {
  margin-top: 8px;
  color: #5f7084;
  font-size: 12px;
  font-weight: 900;
}

.client-create-modal input,
.client-create-modal select {
  min-height: 42px;
  background: #fbfdff;
  border-radius: 7px;
}

.client-create-modal .compact-grid {
  gap: 0 14px;
}

.client-create-modal textarea {
  min-height: 88px;
  background: #fbfdff;
  border-radius: 7px;
}

.client-create-form .actions {
  position: sticky;
  bottom: -16px;
  margin: 2px -16px -16px;
  padding: 13px 16px 15px;
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid var(--border);
  box-shadow: 0 -12px 24px rgba(24, 38, 55, .06);
}

.client-create-form .actions button {
  min-width: 132px;
}

.compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 9px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
}

label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: var(--muted);
  margin: 12px 0 5px;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font: inherit;
  padding: 10px 11px;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(36, 143, 211, .75);
  box-shadow: 0 0 0 4px rgba(36, 143, 211, .12);
}

input:disabled {
  background: #f1f5f9;
  color: var(--muted);
  cursor: not-allowed;
}

textarea {
  min-height: 180px;
  resize: vertical;
}

button,
.button {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  padding: 10px 15px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
  box-shadow: 0 7px 18px rgba(36, 63, 134, .16);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}

button:hover,
.button:hover {
  transform: translateY(-1px);
  box-shadow: 0 11px 24px rgba(36, 63, 134, .2);
}

button:disabled,
.button.disabled {
  cursor: not-allowed;
  opacity: .56;
  transform: none;
  box-shadow: none;
}

.button.secondary,
button.secondary {
  background: #fff;
  color: var(--text);
  border-color: var(--border);
  box-shadow: none;
}

.button.secondary:hover,
button.secondary:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow-sm);
}

.button.secondary.light {
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.14);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}

.button.secondary.light:hover {
  border-color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.2);
  box-shadow: 0 14px 28px rgba(4, 21, 44, .16);
}

.button.compact {
  min-height: 34px;
  padding: 7px 13px;
  font-size: 14px;
}

.notice {
  padding: 11px 13px;
  margin-bottom: 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel-soft);
  font-weight: 700;
}

.notice.error {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: rgba(169, 50, 56, .22);
}

.notice.success {
  color: var(--success);
  background: var(--success-soft);
  border-color: rgba(47, 125, 86, .22);
}

.notice.warning {
  color: var(--warning);
  background: #fff8ec;
  border-color: rgba(179, 107, 24, .24);
}

.duplicate-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.duplicate-notice p,
.duplicate-notice small {
  display: block;
  margin: 4px 0 0;
}

.duplicate-notice small {
  color: #6b7890;
  font-weight: 800;
}

.duplicate-access-note {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid rgba(179, 107, 24, .24);
  border-radius: 999px;
  background: #fff;
  color: var(--warning);
  font-size: 12px;
  font-weight: 900;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.price-publication-actions {
  flex-wrap: wrap;
}

.actions.login-actions {
  display: grid;
  justify-content: center;
  justify-items: center;
  width: 100%;
}

.tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 6px;
  margin-top: 18px;
  padding: 5px;
  background: rgba(255, 255, 255, .68);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.tabs a {
  min-height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  padding: 12px 16px;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.tabs a:hover {
  background: var(--panel);
  color: var(--accent);
}

.tabs a.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  box-shadow: 0 9px 18px rgba(36, 63, 134, .18);
}

.lead-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lead-kpi {
  position: relative;
  overflow: hidden;
  min-height: 118px;
}

.lead-kpi::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--accent);
}

.lead-kpi.total::before { background: var(--accent); }
.lead-kpi.new::before { background: var(--warning); }
.lead-kpi.today::before { background: var(--accent-2); }
.lead-kpi.interested::before { background: var(--success); }
.lead-kpi.high::before { background: var(--danger); }
.lead-kpi.filter-pending::before { background: var(--warning); }
.lead-kpi.translation::before { background: var(--success); }

.lead-kpi.filter-pending {
  border-color: rgba(179, 107, 24, .28);
  background: linear-gradient(180deg, #fff, #fff8eb);
}

.lead-kpi.filter-pending strong {
  color: var(--warning);
}

.lead-kpi.translation {
  border-color: rgba(47, 125, 86, .24);
  background: linear-gradient(180deg, #fff, #f3fbf6);
}

.lead-kpi.translation strong {
  color: var(--success);
}

.commercial-production-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

.commercial-production-strip article {
  position: relative;
  overflow: hidden;
  min-height: 192px;
  padding: 22px 22px 18px;
  border: 2px solid rgba(19, 59, 120, .9);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 7px 18px rgba(18, 42, 79, .1);
}

.commercial-production-strip article::before {
  content: none;
}

.commercial-results {
  margin: 0 0 18px;
}

.commercial-results > h2 {
  margin: 0 0 12px;
  color: #18366f;
  font-size: 18px;
  font-weight: 950;
}

.commercial-production-strip .commercial-result-impact { border-color: rgba(48, 112, 201, .88); }
.commercial-production-strip .commercial-result-operations { border-color: rgba(48, 123, 125, .88); }
.commercial-production-strip .commercial-result-bonus { border-color: rgba(69, 130, 68, .88); }

.commercial-result-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 62px;
}

.commercial-result-heading > span:last-child {
  color: #526176;
  font-size: 13px;
  font-weight: 900;
}

.commercial-result-impact .commercial-result-heading > span:last-child { color: #2f70ca; }

.commercial-result-icon {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #173c86, #0d285f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}

.commercial-result-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.commercial-result-impact .commercial-result-icon { background: linear-gradient(145deg, #4389e6, #1f5db7); }
.commercial-result-operations .commercial-result-icon { background: linear-gradient(145deg, #4d9698, #256e72); }
.commercial-result-bonus .commercial-result-icon { background: linear-gradient(145deg, #61a45c, #39763a); }

.commercial-production-strip span,
.commercial-production-strip small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.commercial-production-strip .commercial-result-icon { color: #fff; }

.commercial-production-strip strong {
  display: block;
  margin-top: 14px;
  color: #101827;
  font-size: clamp(27px, 2vw, 38px);
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.commercial-production-strip small {
  min-height: 36px;
  margin-top: 10px;
  line-height: 1.45;
}

.commercial-result-impact > strong { color: #2b65b6; }
.commercial-result-bonus > strong { color: #4b8d4c; }

.commercial-result-footer {
  min-height: 34px;
  margin-top: 18px;
  padding-top: 10px;
  border-top: 1px solid #dce3ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.commercial-result-footer > span {
  color: #526176;
  font-size: 12px;
  font-weight: 900;
}

.commercial-result-footer em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 4px 12px;
  border-radius: 999px;
  color: #317747;
  background: #e3f3e7;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}

.commercial-result-footer-end { justify-content: flex-end; }
.commercial-result-personal .commercial-result-footer-end em {
  color: #fff;
  background: #173c86;
}

.commercial-production-progress {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.production-status-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
}

.production-status-row strong {
  margin: 0;
  font-size: 34px;
}

.production-status-row em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--accent);
  background: var(--accent-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}

.commercial-production-ok .production-status-row em {
  color: var(--success);
  background: var(--success-soft);
}

.commercial-production-almost .production-status-row em {
  color: var(--warning);
  background: #fff5e6;
}

.commercial-production-danger .production-status-row em {
  color: var(--danger);
  background: var(--danger-soft);
}

.production-bar {
  overflow: hidden;
  height: 12px;
  margin-top: 12px;
  border-radius: 999px;
  background: #e8eef5;
}

.production-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.commercial-production-ok .production-bar span { background: var(--success); }
.commercial-production-almost .production-bar span { background: var(--warning); }
.commercial-production-danger .production-bar span { background: var(--danger); }

.commercial-production-push {
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.commercial-production-push strong {
  color: var(--accent);
}

.commercial-production-ok .commercial-production-push strong { color: var(--success); }
.commercial-production-almost .commercial-production-push strong { color: var(--warning); }
.commercial-production-danger .commercial-production-push strong { color: var(--danger); }

.commercial-pocket-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.commercial-pocket-actions a {
  position: relative;
  overflow: hidden;
  min-height: 96px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 15px 16px;
  border: 1px solid rgba(196, 216, 235, .94);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fd 100%);
  color: #12233a;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(24, 38, 55, .07);
}

.commercial-pocket-actions a::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #287cc1;
}

.commercial-pocket-actions a:nth-child(2)::before { background: var(--danger); }
.commercial-pocket-actions a:nth-child(3)::before { background: var(--warning); }
.commercial-pocket-actions a:nth-child(4)::before { background: var(--success); }

.commercial-pocket-actions a:hover,
.commercial-pocket-actions a.active {
  border-color: rgba(40, 124, 193, .36);
  background: #eaf5ff;
  color: #123b70;
}

.commercial-pocket-actions span,
.commercial-pocket-actions small {
  color: #65778d;
  font-size: 12px;
  font-weight: 900;
}

.commercial-pocket-actions strong {
  color: inherit;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 950;
}

.lead-kpi span,
.lead-kpi small {
  font-size: 12px;
  font-weight: 900;
}

.lead-kpi strong {
  margin-top: 6px;
  font-size: 34px;
  line-height: 1;
}

.lead-kpi small {
  display: block;
  color: var(--muted);
}

.mission-stage { margin-top: 20px; }

.pending-missions-page {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}

.pending-missions-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(185, 211, 246, .9);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(246, 250, 255, .98), rgba(255,255,255,.96));
  box-shadow: 0 18px 46px rgba(29, 57, 92, .09);
}

.pending-missions-head h2 {
  margin: 2px 0 0;
  color: #071733;
  font-size: 28px;
  letter-spacing: 0;
}

.pending-missions-head p {
  margin: 7px 0 0;
  max-width: 680px;
}

.pending-mission-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.pending-mission-filters a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 9px 12px;
  color: #23395f;
  text-decoration: none;
  border: 1px solid rgba(185, 211, 246, .88);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 28px rgba(29, 57, 92, .06);
}

.pending-mission-filters a.active {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 12px 26px rgba(36, 63, 134, .18);
}

.pending-mission-filters span {
  min-width: 0;
  font-size: 12px;
  font-weight: 900;
}

.pending-mission-filters strong {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(36, 103, 230, .1);
  font-size: 14px;
}

.pending-mission-filters a.active strong {
  background: rgba(255,255,255,.22);
}

.pending-mission-list {
  display: grid;
  gap: 12px;
}

.pending-mission-card {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1.2fr) minmax(250px, .9fr) minmax(170px, auto);
  align-items: center;
  gap: 16px;
  min-height: 108px;
  padding: 16px 16px 16px 20px;
  color: #17233b;
  text-decoration: none;
  border: 1px solid rgba(185, 211, 246, .88);
  border-left: 6px solid var(--accent-2);
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 16px 42px rgba(29, 57, 92, .08);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.pending-mission-card:hover {
  transform: translateY(-1px);
  border-color: rgba(36, 143, 211, .55);
  box-shadow: 0 20px 54px rgba(29, 57, 92, .13);
}

.pending-mission-card.priority-alta {
  border-left-color: var(--danger);
  background: linear-gradient(90deg, #fff6f6 0%, #fff 22%, #fff 100%);
}

.pending-mission-card.priority-media {
  border-left-color: var(--warning);
  background: linear-gradient(90deg, #fff9ee 0%, #fff 22%, #fff 100%);
}

.pending-mission-card.priority-baja {
  border-left-color: var(--success);
  background: linear-gradient(90deg, #f2fbf6 0%, #fff 22%, #fff 100%);
}

.pending-mission-card.is-new-client {
  box-shadow: inset 0 0 0 1px rgba(179, 107, 24, .08), 0 16px 42px rgba(29, 57, 92, .08);
}

.pending-mission-select {
  width: 24px;
  height: 24px;
  border: 1px solid rgba(135, 154, 181, .42);
  border-radius: 7px;
  background: #fff;
}

.pending-mission-main,
.pending-mission-context,
.pending-mission-badges {
  min-width: 0;
}

.pending-mission-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.pending-mission-ref {
  flex: 0 0 auto;
  color: #4b82cf;
  font-size: 14px;
  font-weight: 900;
}

.pending-mission-card h3 {
  min-width: 0;
  margin: 0;
  color: #102044;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.pending-mission-card p {
  margin: 6px 0 0;
  color: #31496d;
  font-weight: 850;
}

.pending-mission-meta,
.pending-mission-context {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.pending-mission-meta {
  margin-top: 10px;
}

.pending-mission-meta span,
.pending-mission-context span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(185, 211, 246, .82);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #31496d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
}

.pending-mission-context {
  align-content: center;
}

.pending-mission-badges {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.pending-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(185, 211, 246, .82);
  background: #f5f9ff;
  color: #24408f;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
}

.pending-badge.new,
.pending-badge.media {
  border-color: rgba(179, 107, 24, .24);
  background: #fff8e8;
  color: #8a5218;
}

.pending-badge.alta {
  border-color: rgba(169, 50, 56, .24);
  background: #fff0f0;
  color: #9d2727;
}

.pending-badge.baja {
  border-color: rgba(47, 125, 86, .24);
  background: #edf9f2;
  color: #246947;
}

.pending-mission-badges strong {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.pending-missions-empty {
  text-align: center;
}

@media (max-width: 1080px) {
  .pending-mission-card {
    grid-template-columns: 24px minmax(0, 1fr) minmax(190px, .7fr);
  }

  .pending-mission-badges {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .pending-missions-head {
    flex-direction: column;
  }

  .pending-missions-head .button {
    width: 100%;
  }

  .pending-mission-filters {
    grid-template-columns: 1fr 1fr;
  }

  .pending-mission-card {
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: start;
  }

  .pending-mission-context,
  .pending-mission-badges {
    grid-column: 2;
  }
}

.mission-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(185, 211, 246, .92);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 100%);
  box-shadow: 0 24px 70px rgba(29, 57, 92, .13);
}

.mission-card::before {
  content: none;
}

.mission-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  min-height: 86px;
  padding: 16px 20px 14px;
  border-bottom: 1px solid rgba(204, 222, 244, .82);
  background:
    radial-gradient(circle at 8% 0%, rgba(61, 132, 224, .14), transparent 30%),
    linear-gradient(135deg, rgba(246, 250, 255, .98), rgba(255,255,255,.94) 54%, rgba(238, 246, 255, .88));
}

.mission-title-block {
  min-width: 0;
}

.mission-top p {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 700;
}

.mission-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0f58d8;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 11px;
  margin-bottom: 6px;
}

.mission-label::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 28%, transparent 30%),
    linear-gradient(135deg, #dceaff, #bcd5ff);
  box-shadow: inset 0 0 0 9px rgba(36, 103, 230, .16);
}

.mission-top h1 {
  margin-top: 0;
  max-width: 880px;
  color: #071733;
  font-size: clamp(25px, 3.1vw, 36px);
  line-height: .98;
  letter-spacing: 0;
  text-shadow: 0 10px 24px rgba(9, 28, 66, .08);
}

.mission-client-type {
  color: #24408f;
  font-weight: 950;
  white-space: nowrap;
}

.mission-objective {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 24px;
  margin-top: 6px;
  padding: 4px 9px;
  color: #264a86;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(185, 211, 246, .9);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.mission-commercial-status {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 8px;
  min-height: 25px;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(185, 211, 246, .9);
  background: rgba(255,255,255,.9);
  color: #263f6f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.mission-commercial-status::before {
  content: "";
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #aab7ca;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.55);
}

.mission-commercial-status.is-assigned {
  border-color: rgba(47, 125, 86, .24);
  background: #f3fbf6;
  color: #1f6848;
}

.mission-commercial-status.is-assigned::before {
  background: #2f9d67;
}

.mission-commercial-status.is-unassigned {
  border-color: rgba(169, 50, 56, .24);
  background: #fff4f3;
  color: #9b252b;
}

.mission-commercial-status.is-unassigned::before {
  background: #c6283d;
}

.mission-history-alert {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(176, 110, 28, .28);
  border-radius: 10px;
  background: #fff8e8;
  color: #8a5218;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.mission-history-alert strong {
  color: #6f3f0d;
  text-transform: uppercase;
}

.mission-history-alert span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(176, 110, 28, .18);
}

.mission-objective::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #1f65e5;
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.55);
}

.mission-objective-tag {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff8e8;
  border: 1px solid rgba(176, 110, 28, .25);
  color: #8a5218;
  font-size: 10px;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
}

.priority-badge,
.priority-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(169, 50, 56, .24);
  background: #fff4f3;
  color: #9b252b;
  font-weight: 950;
  letter-spacing: 0;
}

.priority-badge {
  margin: 0 0 10px 0;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
}

.priority-badge-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: #a93238;
  color: #fff;
  font-size: 13px;
  line-height: 1;
}

.mission-status-box {
  align-self: flex-start;
  display: grid;
  justify-items: end;
  gap: 8px;
  min-width: 126px;
  margin-top: -2px;
}

.mission-status-box > span {
  color: #31496d;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.mission-status-box .new-client-request-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  max-width: 260px;
  padding: 5px 11px;
  border: 1px solid rgba(176, 110, 28, .28);
  border-radius: 999px;
  background: #fff8e8;
  color: #8a5218;
  font-size: 10px;
  font-weight: 950;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
  box-shadow: 0 10px 24px rgba(176, 110, 28, .10);
}

.new-client-request-badge span {
  color: #d2911e;
  font-size: 13px;
  line-height: 1;
}

.mission-status {
  display: inline-flex;
  align-items: center;
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid rgba(185, 211, 246, .96);
  border-radius: 999px;
  padding: 5px 14px;
  min-height: 30px;
  font-weight: 900;
  font-size: 13px;
  text-transform: capitalize;
  white-space: nowrap;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(25, 67, 145, .09);
}

.mission-edit-button {
  min-width: 86px;
  color: #17377d;
  border-color: rgba(185, 211, 246, .96);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 26px rgba(25, 67, 145, .09);
}

.mission-edit-button:hover {
  color: #0f58d8;
  border-color: rgba(36, 103, 230, .32);
}

.mission-status.is-new,
.new-lead-chip {
  color: var(--warning);
  background: #fff6e9;
  border-color: rgba(179, 107, 24, .24);
}

.new-lead-star {
  display: inline-flex;
  align-items: center;
  margin-right: 5px;
  color: var(--warning);
  line-height: 1;
}

.mission-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  padding: 14px 20px 0;
}

.mission-facts div {
  position: relative;
  min-width: 0;
  min-height: 52px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-content: center;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 8px;
  padding: 8px 9px;
  box-shadow: 0 12px 28px rgba(26, 58, 100, .05);
}

.mission-facts div::before {
  content: "";
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 55% 45%, #1f65e5 0 16%, transparent 18%),
    linear-gradient(135deg, #eff5ff, #ddeaff);
}

.mission-facts span {
  display: block;
  color: #3b5578;
  font-size: 11px;
  font-weight: 900;
  margin: 0 0 3px;
  text-transform: uppercase;
}

.mission-facts strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: #071733;
  font-size: 13px;
  line-height: 1.2;
}

.last-note {
  margin: 18px 28px 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted);
  padding: 16px 17px;
  max-height: 170px;
  overflow: auto;
  line-height: 1.55;
}

.last-note::-webkit-scrollbar {
  width: 10px;
}

.last-note::-webkit-scrollbar-thumb {
  background: #c4cfdb;
  border: 3px solid #fff;
  border-radius: 999px;
}

.mission-property {
  margin: 12px 20px 0;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  padding: 11px;
  background: linear-gradient(135deg, rgba(247,251,255,.98), rgba(255,255,255,.94));
  border: 1px solid rgba(185, 211, 246, .9);
  border-radius: 12px;
}

.mission-property.is-pending {
  grid-template-columns: 132px minmax(0, 1fr);
}

.mission-property.is-pending .mission-property-media {
  min-height: 118px;
}

.mission-property.is-identified {
  background: #f6fbf8;
  border-color: rgba(47, 125, 86, .24);
}

.mission-property-media {
  min-height: 102px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #e7eef6 0%, #f4f8fc 100%);
  border: 1px solid rgba(215, 225, 235, .9);
  border-radius: 12px;
}

.mission-property-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mission-property-media img.bear-avatar {
  width: clamp(74px, 7vw, 106px);
  height: auto;
  object-fit: contain;
  padding: 0;
  border-radius: 16px;
  filter: drop-shadow(0 12px 18px rgba(34, 68, 112, .14));
}

.mission-property-media span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(36, 63, 134, .18);
}

.mission-property-body {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 2px 0;
}

.mission-property-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mission-property-kicker {
  color: #0f58d8;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.mission-property-state {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border: 1px solid rgba(36, 143, 211, .24);
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.mission-property.is-identified .mission-property-state {
  border-color: rgba(47, 125, 86, .22);
  background: var(--success-soft);
  color: var(--success);
}

.mission-property h2 {
  margin: 0;
  max-width: 920px;
  color: #071733;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.22;
}

.mission-property-subtitle {
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  font-size: 12px;
}

.mission-property-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}

.mission-property-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 999px;
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
}

.mission-property-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 5px;
}

.lead-raw-text {
  margin: 9px 20px 0;
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 8px;
  background: #fff;
}

.lead-raw-text summary {
  cursor: pointer;
  padding: 8px 11px;
  color: #50698c;
  font-weight: 900;
}

.lead-raw-text summary:hover {
  color: var(--accent);
}

.lead-raw-text > div {
  max-height: 190px;
  overflow: auto;
  padding: 0 14px 14px;
  color: var(--muted);
  line-height: 1.55;
}

.mission-history-details {
  margin-top: 8px;
}

.mission-history-details > summary {
  color: #17377d;
}

.lead-raw-text > .mission-history-body {
  max-height: 260px;
  color: var(--text);
}

.mission-history-body .muted {
  margin: 2px 0 0;
}

.mission-history-list {
  gap: 8px;
}

.mission-history-list .activity-item {
  background: linear-gradient(180deg, #fff, rgba(246, 250, 255, .92));
  border-color: rgba(202, 221, 245, .95);
  box-shadow: none;
}

.mission-history-list .activity-comment {
  background: rgba(255, 255, 255, .86);
}

.mission-history-launcher {
  margin: 9px 20px 0;
}

.mission-history-launcher button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 14px;
  color: #17377d;
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  font-weight: 950;
  text-align: left;
}

.mission-history-launcher button::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 10px solid currentColor;
}

.mission-history-launcher span {
  flex: 1;
  min-width: 0;
}

.mission-history-launcher strong {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef5ff;
  color: #24408f;
  font-size: 12px;
}

.mission-history-launcher button:hover {
  color: var(--accent);
  border-color: rgba(36, 103, 230, .3);
  transform: none;
  box-shadow: 0 10px 24px rgba(29, 57, 92, .08);
}

.mission-history-modal {
  display: none;
  position: fixed;
  z-index: 36;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(980px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
  overflow: hidden;
  border: 1px solid rgba(185, 211, 246, .92);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(11, 29, 61, .28);
}

body.show-mission-history .mission-history-backdrop,
body.show-mission-history .mission-history-modal {
  display: block;
}

.mission-history-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid rgba(204, 222, 244, .82);
  background: linear-gradient(135deg, rgba(246, 250, 255, .98), rgba(255,255,255,.96) 58%, rgba(238, 246, 255, .9));
}

.mission-history-modal-head h2 {
  margin: 3px 0 0;
  color: #071733;
  font-size: 28px;
  letter-spacing: 0;
}

.mission-history-modal-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mission-history-modal-actions span {
  color: #31496d;
  font-size: 13px;
  font-weight: 850;
}

.mission-history-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 22px;
  border-bottom: 1px solid rgba(204, 222, 244, .62);
  background: #fbfdff;
}

.mission-history-summary div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(202, 221, 245, .82);
  border-radius: 10px;
  background: #fff;
}

.mission-history-summary span {
  display: block;
  color: #6b7890;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.mission-history-summary strong {
  display: block;
  margin-top: 3px;
  color: #14213d;
  font-size: 13px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.mission-history-modal-body {
  max-height: min(610px, calc(100vh - 210px));
  overflow: auto;
  background: #fff;
}

.mission-history-timeline {
  position: relative;
  display: grid;
  gap: 0;
  padding: 16px 22px 22px;
}

.mission-history-row {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  min-height: 92px;
  padding-bottom: 14px;
}

.mission-history-row::before {
  content: "";
  position: absolute;
  top: 46px;
  bottom: -2px;
  left: 22px;
  width: 2px;
  background: #dbe7f5;
}

.mission-history-row:last-child {
  padding-bottom: 0;
}

.mission-history-row:last-child::before {
  content: none;
}

.mission-history-icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eef5ff;
  color: #2b66b2;
}

.mission-history-icon::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 5px rgba(43, 102, 178, .12);
}

.mission-history-row.type-email .mission-history-icon,
.mission-history-row.type-email-enviado .mission-history-icon {
  background: #edf7ff;
  color: #1670ad;
}

.mission-history-row.type-whatsapp-enviado .mission-history-icon {
  background: #edf8f2;
  color: #2f7d56;
}

.mission-history-row.type-no-contesta .mission-history-icon,
.mission-history-row.type-contesta .mission-history-icon {
  background: #f2f6ff;
  color: #24408f;
}

.mission-history-row.type-propuesta-viviendas .mission-history-icon {
  background: #fff7e9;
  color: #a86013;
}

.mission-history-row.type-notas .mission-history-icon {
  background: #f3f5f9;
  color: #68788c;
}

.mission-history-content {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(202, 221, 245, .86);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, rgba(246, 250, 255, .72));
}

.mission-history-row-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.mission-history-row-head strong,
.mission-history-row-head .activity-detail-trigger {
  color: #173150;
  font-size: 15px;
  font-weight: 950;
}

.mission-history-row-head p {
  margin: 6px 0 0;
  color: #34425a;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}

.mission-history-actor {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 4px 9px;
  border: 1px solid rgba(185, 211, 246, .82);
  border-radius: 999px;
  background: #f8fbff;
  color: #24408f;
  font-size: 12px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.mission-history-row-head time {
  color: #31496d;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.mission-history-content .activity-comment {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(202, 221, 245, .72);
  border-radius: 10px;
  background: #fff;
  color: #173150;
  font-weight: 750;
  line-height: 1.35;
  white-space: normal;
}

.mission-history-content .activity-comment.is-human-comment,
.mission-history-list .activity-comment.is-human-comment {
  border: 1px solid rgba(113, 87, 200, .42);
  border-left: 5px solid #7157c8;
  background: linear-gradient(135deg, #f3efff, #fbfaff);
  color: #271d50;
  box-shadow: 0 6px 16px rgba(72, 52, 137, .09);
}

.mission-history-list .activity-item.has-human-comment {
  border-color: rgba(113, 87, 200, .38);
  background: linear-gradient(180deg, #fdfcff, #f7f4ff);
}

.activity-comment-label {
  display: block;
  margin-bottom: 5px;
  color: #5f43bd;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.activity-comment-text {
  font-weight: 900;
  line-height: 1.42;
  white-space: pre-wrap;
}

.mission-history-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.mission-history-tags span,
.mission-history-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(185, 211, 246, .82);
  border-radius: 999px;
  background: #fff;
  color: #24408f;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.mission-history-empty {
  margin: 16px 22px 22px;
}

@media (max-width: 760px) {
  .mission-history-modal {
    width: min(100vw - 18px, 980px);
    max-height: calc(100vh - 18px);
  }

  .mission-history-modal-head,
  .mission-history-modal-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .mission-history-modal-actions {
    gap: 8px;
  }

  .mission-history-modal-actions .button,
  .mission-history-modal-actions button {
    width: 100%;
  }

  .mission-history-summary {
    grid-template-columns: 1fr 1fr;
    padding-inline: 14px;
  }

  .mission-history-modal-body {
    max-height: calc(100vh - 245px);
  }

  .mission-history-timeline,
  .mission-history-empty {
    margin-left: 14px;
    margin-right: 14px;
  }

  .mission-history-timeline {
    padding-inline: 0;
  }

  .mission-history-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
  }

  .mission-history-row::before {
    left: 19px;
  }

  .mission-history-icon {
    width: 38px;
    height: 38px;
  }

  .mission-history-row-head {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .mission-history-row-head time {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .mission-history-summary {
    grid-template-columns: 1fr;
  }
}

.call-actions,
.mission-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.mission-action-panel {
  margin-top: 10px;
  padding: 11px 20px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(242, 248, 255, .78));
  border-top: 1px solid var(--border);
}

.call-actions {
  margin: 0;
  align-items: center;
  gap: 8px;
}

.call-actions .button,
.call-actions button {
  min-height: 34px;
  padding-inline: 11px;
  background: rgba(255,255,255,.95);
  border-color: rgba(202, 221, 245, .95);
  box-shadow: 0 10px 24px rgba(26, 58, 100, .06);
}

.call-actions .button.call,
.call-actions button.call {
  background: var(--success);
  color: #fff;
  border-color: var(--success);
}

.mission-buttons {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  align-items: stretch;
}

.button.call {
  background: var(--success);
  box-shadow: 0 7px 18px rgba(47, 125, 86, .16);
}

.mission-buttons form { margin: 0; }

.mission-buttons button,
.mission-buttons .button {
  min-width: 0;
  min-height: 58px;
  justify-content: flex-start;
  padding: 11px 16px 11px 62px;
  position: relative;
  overflow: hidden;
  font-size: 17px;
  letter-spacing: 0;
  border-radius: 9px;
  text-transform: none;
  text-align: left;
}

.mission-buttons button::before,
.mission-buttons .button::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 0 0 18px rgba(255,255,255,.22);
}

.mission-buttons button::after,
.mission-buttons .button::after {
  position: absolute;
  left: 62px;
  top: calc(50% + 11px);
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 700;
}

.mission-buttons .no-answer::after {
  content: "No ha respondido";
}

.mission-buttons .next-mission::after {
  content: "Ir al siguiente lead";
}

.mission-buttons .answer {
  background: linear-gradient(135deg, #16864f, #11a365);
  box-shadow: 0 18px 34px rgba(21, 128, 79, .24);
}

.mission-buttons .next-mission {
  background: linear-gradient(135deg, #1f65e5, #0b55ff);
  color: #fff;
  box-shadow: 0 18px 34px rgba(31, 101, 229, .24);
}

.mission-buttons .no-answer {
  background: linear-gradient(135deg, #c6283d, #e52f49);
  box-shadow: 0 18px 34px rgba(198, 40, 61, .22);
}

.modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 28, 42, .56);
  z-index: 10;
  backdrop-filter: blur(3px);
}

.answer-modal {
  display: none;
  position: fixed;
  z-index: 11;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, calc(100vw - 28px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 22px;
  box-shadow: 0 24px 70px rgba(17, 31, 46, .28);
}

.call-result-modal {
  top: 12px;
  bottom: 12px;
  transform: translateX(-50%);
  width: min(1100px, calc(100vw - 24px));
  height: auto;
  max-height: none;
  overflow: hidden;
  padding: 0 0 58px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, #f7faff 0%, #f9fbff 100%);
  box-shadow: 0 28px 80px rgba(20, 35, 56, .22);
}

.call-result-modal > h2 {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 18px;
  color: #172033;
  font-size: 22px;
  background: linear-gradient(135deg, rgba(250,253,255,.98), rgba(243,248,255,.98));
  border-bottom: 1px solid var(--border);
  box-shadow: 0 10px 28px rgba(28, 45, 70, .08);
}

.call-title-icon {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(145deg, #e8f1ff, #d7e8ff);
  color: #1f64e0;
  font-size: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 12px 24px rgba(40, 101, 211, .12);
}

.call-script-panel {
  margin: 14px 0 14px 16px;
  padding: 14px;
  border: 1px solid rgba(220, 228, 239, .96);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 20px 46px rgba(28, 45, 70, .12);
}

.call-script-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 0 0 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(215, 225, 235, .9);
  background: transparent;
}

.call-client-avatar {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #dff0ff, #cae5ff);
  color: #2268dc;
  font-size: 24px;
  font-weight: 950;
}

.call-script-head > div strong,
.call-script-head > div span {
  display: block;
}

.call-script-head > div strong {
  color: #111b2d;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 950;
}

.call-script-head > div span {
  color: var(--muted);
  margin-top: 5px;
  font-size: 14px;
  font-weight: 800;
}

.call-script-head .priority-chip {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border: 0;
  border-radius: 11px;
  background: #ffe9eb;
  color: #ee454c;
  font-size: 12px;
  box-shadow: none;
}

.call-script-head .priority-chip::before {
  content: "*";
  font-size: 15px;
  line-height: 1;
}

.call-script-panel h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 8px;
  color: #245bc9;
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
}

.call-script-panel h3::before {
  content: "Q";
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, #3468db, #214ec0);
  color: #fff;
  font-size: 15px;
  box-shadow: 0 10px 18px rgba(36, 91, 201, .22);
}

.call-script-panel h3:first-of-type::before {
  content: "i";
}

.call-script-panel .form-grid {
  padding: 0;
  gap: 7px 16px;
}

.call-script-panel .form-grid + h3 {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid rgba(215, 225, 235, .76);
}

.call-field {
  position: relative;
}

.call-field label {
  margin: 0 0 4px;
  color: #69758a;
  font-size: 13px;
  font-weight: 900;
}

.call-field input,
.call-field select {
  min-height: 42px;
  padding: 7px 9px 7px 36px;
  border-color: #d8e1ec;
  border-radius: 10px;
  color: #172033;
  background-color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(28, 45, 70, .04);
}

.call-field::before {
  position: absolute;
  left: 13px;
  top: 32px;
  z-index: 1;
  color: #687992;
  font-size: 16px;
  line-height: 1;
}

.call-icon-user::before { content: "i"; }
.call-icon-phone::before { content: "T"; }
.call-icon-mail::before { content: "@"; }
.call-icon-language::before { content: "G"; }
.call-icon-pin::before { content: "L"; }
.call-icon-map::before { content: "M"; }
.call-icon-building::before { content: "H"; }
.call-icon-tag::before { content: "$"; }
.call-icon-money::before { content: "$"; }
.call-icon-bed::before { content: "B"; }
.call-icon-bath::before { content: "W"; }
.call-icon-refresh::before { content: "R"; }

.call-result-modal > label,
.call-result-modal > select,
.call-result-modal > textarea,
.call-result-modal > .visit-fields,
.call-result-modal > .exact-followup-hint,
.call-result-modal > .exact-schedule-fields {
  margin-left: 0;
  margin-right: 22px;
}

.exact-followup-hint {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  font-weight: 800;
}

.call-result-modal > label {
  margin-top: 14px;
}

.call-result-modal > label[for="resultado"] {
  margin-top: 22px;
}

.call-result-modal > select,
.call-result-modal > textarea {
  width: calc(100% - 22px);
  background: #fff;
}

.call-result-modal > textarea {
  min-height: 112px;
}

.call-result-modal > .actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin: 18px 0 0;
  padding: 14px 22px;
  background: rgba(255,255,255,.96);
  border-top: 1px solid var(--border);
  box-shadow: 0 -10px 24px rgba(24, 38, 55, .07);
}

body.show-answer .modal-backdrop:not(.no-answer-backdrop):not(.whatsapp-modal-backdrop):not(.activity-detail-backdrop):not(.mission-history-backdrop),
body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal):not(.activity-detail-modal) { display: block; }
body.show-no-answer .no-answer-backdrop,
body.show-no-answer .no-answer-modal { display: block; }
body.show-client-call .client-call-backdrop,
body.show-client-call .client-call-modal { display: block; }
body.show-client-edit .client-edit-backdrop,
body.show-client-edit .client-edit-modal { display: block; }
body.show-client-documents .client-documents-backdrop,
body.show-client-documents .client-documents-modal { display: block; }
body.show-client-requests .client-requests-backdrop,
body.show-client-requests .client-requests-modal { display: block; }
body.show-visit-create .visit-create-backdrop,
body.show-visit-create .visit-standard-create-modal { display: block; }
body.show-visit-agency-create .visit-create-backdrop,
body.show-visit-agency-create .visit-agency-create-modal { display: block; }
body.show-visit-collaborator-create .visit-create-backdrop,
body.show-visit-collaborator-create .visit-collaborator-create-modal { display: block; }
body.show-whatsapp-modal .whatsapp-modal-backdrop,
body.show-whatsapp-modal .whatsapp-modal { display: block; }

.visit-fields {
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
}

body[data-resultado="visita"] .visit-fields,
body[data-resultado="captacion_visita"] .visit-fields { display: grid; }
.assign-fields { display: none; }
body[data-resultado="interesado"] .assign-fields,
body[data-resultado="delegar"] .assign-fields { display: block; }
.long-term-fields { display: none; }
body[data-resultado="seguimiento_largo"] .long-term-fields { display: block; }
.discard-fields { display: none; }
body[data-resultado="descartado"] .discard-fields,
body[data-resultado="descartar"] .discard-fields { display: block; }
body[data-resultado="descartar"] .call-result-next { display: none; }

body.show-answer .call-result-modal {
  display: grid;
  grid-template-columns: minmax(490px, 1.04fr) minmax(360px, .96fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0 16px;
  align-items: stretch;
}

body.show-answer .call-result-modal > h2,
body.show-answer .call-result-modal > .actions {
  grid-column: 1 / -1;
}

body.show-answer .call-result-modal > .call-script-panel {
  grid-column: 1;
  grid-row: 2;
  min-height: 0;
  overflow: auto;
}

.call-result-side {
  display: grid;
  gap: 10px;
  align-content: start;
  margin: 14px 16px 14px 0;
  min-height: 0;
  overflow: auto;
}

body.show-answer .call-result-modal > .call-result-side {
  grid-column: 2;
  grid-row: 2;
}

.call-result-card {
  overflow: hidden;
  padding: 14px;
  border: 1px solid rgba(220, 228, 239, .96);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(28, 45, 70, .11);
}

.call-result-card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 9px;
  color: #6651b7;
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
}

.call-result-comment h3 { color: #12ae70; }
.call-result-next h3 { color: #f39b13; }

.call-card-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #efeafd;
  color: #6651b7;
  font-size: 15px;
}

.call-result-comment .call-card-icon {
  background: #e4f8ef;
  color: #11ad71;
}

.call-result-next .call-card-icon {
  background: #fff0d9;
  color: #f39b13;
}

.call-result-card select,
.call-result-card input,
.call-result-card textarea {
  border-color: #d8e1ec;
  border-radius: 10px;
  color: #172033;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(28, 45, 70, .04);
}

.call-result-card select,
.call-result-card input {
  min-height: 42px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.call-result-card textarea {
  min-height: 150px;
  padding: 12px;
  resize: vertical;
}

.call-textarea-wrap {
  position: relative;
}

.call-textarea-wrap textarea {
  padding-bottom: 34px;
}

.call-comment-count {
  position: absolute;
  right: 14px;
  bottom: 11px;
  color: #65738a;
  font-size: 13px;
  font-weight: 800;
  pointer-events: none;
}

.call-result-next .exact-followup-hint {
  display: block;
  margin: 10px 0 0;
  padding: 10px 12px 10px 40px;
  border-radius: 10px;
  color: #61708a;
  background: linear-gradient(135deg, #eef5ff, #f3f7ff);
  font-size: 13px;
  font-weight: 900;
  position: relative;
}

.call-result-next .exact-followup-hint::before {
  content: "i";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 2px solid #2d69d8;
  border-radius: 50%;
  color: #2d69d8;
  font-size: 14px;
  font-weight: 950;
  transform: translateY(-50%);
}

.call-result-next .exact-schedule-fields {
  margin-top: 10px;
}

body.show-answer .call-result-modal > textarea#comentario {
  min-height: 220px;
}

.call-result-modal > .actions {
  position: relative;
  bottom: auto;
  z-index: 3;
  width: auto;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  min-height: 56px;
  margin: 0;
  padding: 8px 16px;
  background: rgba(255,255,255,.94);
  border-top: 1px solid rgba(215, 225, 235, .92);
  border-radius: 0 0 14px 14px;
  box-shadow: 0 -12px 28px rgba(28, 45, 70, .08);
}

.call-result-modal > .actions button {
  min-width: 124px;
  min-height: 40px;
  border-radius: 9px;
  font-size: 14px;
}

.call-result-modal > .actions button.secondary::before {
  content: "x";
  margin-right: 4px;
  font-size: 26px;
  font-weight: 400;
  line-height: 0;
}

.call-result-modal > .actions button[type="submit"]::before {
  content: "S";
  margin-right: 4px;
  font-size: 15px;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) {
  display: grid;
  width: min(760px, calc(100vw - 28px));
  grid-template-columns: minmax(0, 1.04fr) minmax(280px, .96fr);
  gap: 0 16px;
  align-items: start;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > h2,
body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="resultado"],
body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > select#resultado,
body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions {
  grid-column: 1 / -1;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .assign-fields {
  grid-column: 1;
  grid-row: 4 / span 2;
}

body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .long-term-fields {
  grid-column: 1 / -1;
  grid-row: 4;
}

body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"] {
  grid-column: 1 / -1;
  grid-row: 5;
  margin-top: 8px;
}

body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario {
  grid-column: 1 / -1;
  grid-row: 6;
  min-height: 160px;
}

body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions {
  grid-row: 7;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"] {
  grid-column: 2;
  grid-row: 4;
  margin-top: 0;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario {
  grid-column: 2;
  grid-row: 5;
  min-height: 260px;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions {
  grid-row: 6;
}

body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .discard-fields {
  grid-column: 1 / -1;
  grid-row: 4;
}

body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"] {
  grid-column: 1 / -1;
  grid-row: 5;
  margin-top: 8px;
}

body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario {
  grid-column: 1 / -1;
  grid-row: 6;
  min-height: 160px;
}

body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions {
  grid-row: 7;
}

body.show-answer .activity-detail-modal {
  display: none;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) .assignment-suggestion {
  margin-top: 10px;
  padding: 12px;
}

body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) .priority-toggle {
  min-height: 54px;
  padding: 10px;
}

body.show-answer .lead-manager-answer-modal {
  width: min(920px, calc(100vw - 28px));
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  gap: 10px 18px;
  align-items: start;
}

body[data-resultado="interesado"].show-answer .lead-manager-answer-modal > .assign-fields,
body[data-resultado="delegar"].show-answer .lead-manager-answer-modal > .assign-fields {
  grid-column: 1;
  grid-row: 4;
  display: grid;
  gap: 10px;
}

body.show-answer .lead-manager-answer-modal > .lm-comment-panel {
  grid-column: 2;
  grid-row: 4;
  display: grid;
  gap: 8px;
  align-self: stretch;
}

.lead-manager-answer-modal > .lm-comment-panel label {
  margin: 0;
}

.lead-manager-answer-modal > .lm-comment-panel textarea {
  width: 100%;
  min-height: 230px;
  height: 100%;
  margin: 0;
  resize: vertical;
}

body.show-answer .lead-manager-answer-modal > .actions {
  grid-column: 1 / -1;
  grid-row: 5;
  margin-top: 2px;
}

body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .long-term-fields,
body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .discard-fields {
  grid-column: 1 / -1;
  grid-row: 4;
}

body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .lm-comment-panel,
body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .lm-comment-panel {
  grid-column: 1 / -1;
  grid-row: 5;
}

body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .lm-comment-panel textarea,
body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .lm-comment-panel textarea {
  min-height: 160px;
}

body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .actions,
body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .actions {
  grid-row: 6;
}

.visitas-head {
  align-items: center;
  min-height: 132px;
  padding: 24px 26px;
  background:
    linear-gradient(135deg, rgba(36, 63, 134, .11), rgba(36, 143, 211, .05) 44%, rgba(47, 125, 86, .06)),
    var(--panel);
  border: 1px solid rgba(215, 225, 235, .94);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.visitas-title-block {
  min-width: 0;
}

.page-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  color: var(--accent);
  background: rgba(36, 63, 134, .08);
  border: 1px solid rgba(36, 63, 134, .14);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.visit-primary-action {
  min-width: 138px;
  min-height: 48px;
}

.visit-primary-action.agency {
  color: #5f4300;
  background: #f6c343;
  border-color: #d9a91f;
}

.visit-primary-action.collaborator {
  color: #123f34;
  background: #9be0c5;
  border-color: #65b89b;
}

.commercial-folders-trigger {
  gap: 8px;
  color: #173775;
  background: #eef3ff;
  border-color: rgba(36, 63, 134, .28);
}

.commercial-folders-trigger svg,
.commercial-folders-titlemark svg {
  width: 21px;
  height: 21px;
  fill: rgba(246, 195, 67, .42);
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linejoin: round;
}

.visit-lost-action {
  color: #fff;
  background: #9b3540;
  border-color: #842c36;
}

.visit-lost-action.secondary {
  color: #842c36;
  background: #fff;
  border-color: rgba(155, 53, 64, .32);
}

.visitas-summary {
  margin-top: 16px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.visit-kpi {
  position: relative;
  overflow: hidden;
  min-height: 118px;
  border-color: rgba(215, 225, 235, .98);
}

.visit-kpi::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--accent);
}

.visit-kpi.total::before { background: var(--accent); }
.visit-kpi.buyer::before { background: var(--accent-2); }
.visit-kpi.capture::before { background: var(--success); }
.visit-kpi.agency::before { background: #f6c343; }
.visit-kpi.follow::before { background: var(--warning); }

.visit-kpi span,
.visit-kpi small,
.visit-meta-grid span,
.visit-date-pill span {
  font-size: 12px;
  font-weight: 900;
}

.visit-kpi strong {
  margin-top: 6px;
  font-size: 34px;
  line-height: 1;
}

.visit-kpi small {
  display: block;
  color: var(--muted);
}

.visitas-filter-panel,
.visit-list-panel {
  padding: 18px;
}

.visit-section-head {
  align-items: flex-start;
  margin-bottom: 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--border);
}

.visit-section-head h2,
.visit-section-head p {
  margin: 0;
}

.visit-section-head p {
  margin-top: 4px;
}

.visitas-filterbar {
  display: grid;
  grid-template-columns: minmax(132px, .7fr) minmax(132px, .7fr) minmax(260px, 1.25fr) minmax(140px, .72fr) minmax(140px, .72fr) minmax(140px, .72fr) auto;
  gap: 12px;
  align-items: end;
}

.visitas-search-field {
  min-width: 0;
}

.visitas-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 1px;
}

.visitas-filter-actions .button,
.visitas-filter-actions button {
  min-height: 42px;
  white-space: nowrap;
}

.visitas-menu-panel {
  padding: 12px;
}

.visitas-operation-menu {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, auto)) minmax(max-content, 1fr);
  gap: 10px;
  align-items: center;
  justify-content: start;
  margin: 0;
}

.commercial-folders-backdrop,
.commercial-folders-modal {
  display: none;
}

body.show-commercial-folders {
  overflow: hidden;
}

body.show-commercial-folders .crm-mobile-menu-toggle {
  display: none;
}

body.show-commercial-folders .commercial-folders-backdrop {
  position: fixed;
  z-index: 1080;
  inset: 0;
  display: block;
  background: rgba(13, 25, 48, .62);
  backdrop-filter: blur(5px);
}

body.show-commercial-folders .commercial-folders-modal {
  position: fixed;
  z-index: 1090;
  top: 50%;
  left: 50%;
  display: block;
  width: min(1120px, calc(100vw - 48px));
  max-height: min(820px, calc(100vh - 48px));
  overflow: auto;
  color: #17273c;
  background: #f7f9fc;
  border: 1px solid rgba(204, 216, 230, .96);
  border-radius: 22px;
  box-shadow: 0 32px 80px rgba(7, 19, 40, .32);
  transform: translate(-50%, -50%);
}

.commercial-folders-head {
  position: sticky;
  z-index: 3;
  top: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 22px 24px;
  color: #fff;
  background: linear-gradient(120deg, #172e68, #244f9c);
}

.commercial-folders-head h2,
.commercial-folders-head p {
  margin: 0;
}

.commercial-folders-head h2 {
  margin-top: 2px;
  font-size: 30px;
}

.commercial-folders-head p {
  margin-top: 3px;
  color: rgba(255, 255, 255, .78);
}

.commercial-folders-head .page-kicker {
  color: #f6c343;
}

.commercial-folders-titlemark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 15px;
}

.commercial-folders-titlemark svg {
  width: 28px;
  height: 28px;
  fill: #f6c343;
}

.commercial-folders-close {
  display: grid;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  place-items: center;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
}

.commercial-folders-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 570px;
}

.commercial-folders-sections {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px 16px;
  background: #edf2f8;
  border-right: 1px solid #dbe4ee;
}

.commercial-folders-section {
  display: grid;
  width: 100%;
  min-height: 0;
  padding: 16px;
  color: #173775;
  background: #fff;
  border: 1px solid rgba(36, 63, 134, .18);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(28, 51, 84, .08);
  text-align: left;
}

.commercial-folders-section:not(.active) {
  color: #4b607e;
  background: rgba(255, 255, 255, .52);
  border-color: transparent;
  box-shadow: none;
}

.commercial-folders-section:not(.active):hover {
  color: #173775;
  background: #fff;
  border-color: rgba(36, 63, 134, .12);
}

.commercial-folders-section span {
  color: #b48108;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.commercial-folders-section strong {
  margin-top: 7px;
  font-size: 14px;
  text-transform: uppercase;
}

.commercial-folders-section small {
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
}

.commercial-folders-panes {
  min-width: 0;
}

.commercial-folders-pane[hidden] {
  display: none;
}

.commercial-folders-content {
  padding: 26px;
}

.commercial-folders-section-head {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}

.commercial-folders-section-head h3,
.commercial-folders-section-head p {
  margin: 0;
}

.commercial-folders-section-head h3 {
  margin-top: 3px;
  font-size: 25px;
}

.commercial-folders-section-head p {
  margin-top: 6px;
  color: var(--muted);
}

.commercial-folders-count {
  flex: 0 0 auto;
  padding: 7px 11px;
  color: #173775;
  background: #e8eefb;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.commercial-folder-group {
  margin-top: 15px;
  padding: 18px;
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(21, 42, 72, .06);
}

.commercial-folder-group-head {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-bottom: 14px;
}

.commercial-folder-group-head h4,
.commercial-folder-group-head p {
  margin: 0;
}

.commercial-folder-group-head h4 {
  font-size: 17px;
}

.commercial-folder-group-head p {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.commercial-folder-icon {
  position: relative;
  display: block;
  width: 42px;
  height: 31px;
  flex: 0 0 auto;
  margin-top: 5px;
  background: #f6c343;
  border-radius: 5px 6px 6px 6px;
  box-shadow: inset 0 -4px 0 rgba(125, 83, 0, .1);
}

.commercial-folder-icon::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 2px;
  width: 18px;
  height: 9px;
  background: #e8ae24;
  border-radius: 5px 5px 0 0;
}

.commercial-folder-files {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.commercial-folder-file {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  color: #17273c;
  background: #f8fafc;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.commercial-folder-file:hover {
  border-color: rgba(36, 79, 156, .45);
  box-shadow: 0 8px 18px rgba(27, 55, 96, .1);
  transform: translateY(-1px);
}

.commercial-folder-filetype {
  display: grid;
  width: 40px;
  height: 44px;
  place-items: end center;
  padding-bottom: 7px;
  color: #fff;
  background: #a93540;
  clip-path: polygon(0 0, 72% 0, 100% 25%, 100% 100%, 0 100%);
  font-size: 10px;
  font-weight: 900;
}

.commercial-folder-filetype.word {
  color: #fff;
  background: #2856a6;
  font-size: 8px;
}

.commercial-folder-file strong,
.commercial-folder-file small {
  display: block;
}

.commercial-folder-file strong {
  font-size: 14px;
}

.commercial-folder-file small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.commercial-folder-download {
  color: #244f9c;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  body.show-commercial-folders .commercial-folders-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 16px;
  }

  .commercial-folders-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 17px;
  }

  .commercial-folders-head h2 {
    font-size: 24px;
  }

  .commercial-folders-head p {
    display: none;
  }

  .commercial-folders-layout {
    display: block;
  }

  .commercial-folders-sections {
    padding: 12px 14px;
    border-right: 0;
    border-bottom: 1px solid #dbe4ee;
  }

  .commercial-folders-section {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 11px 13px;
  }

  .commercial-folders-section strong,
  .commercial-folders-section small {
    margin: 0;
  }

  .commercial-folders-section small {
    margin-left: auto;
  }

  .commercial-folders-content {
    padding: 18px 14px;
  }

  .commercial-folder-files {
    grid-template-columns: 1fr;
  }

  .commercial-folder-download {
    display: none;
  }
}

.visitas-operation-menu .visit-lost-action {
  justify-self: end;
}

.visitas-operation-menu .button,
.visitas-operation-menu button {
  min-height: 46px;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.visit-close-sale-trigger.recovered {
  color: #fff;
  background: var(--success);
  border-color: var(--success);
}

@media (max-width: 860px) {
  .visitas-operation-menu {
    grid-template-columns: 1fr 1fr;
  }

  .visitas-operation-menu .visit-lost-action {
    justify-self: stretch;
  }
}

.visitas-calendar-panel {
  padding: 18px;
}

.visitas-calendar-head {
  margin-top: 16px;
  margin-bottom: 14px;
  padding-top: 15px;
  border-top: 1px solid var(--border);
}

.visitas-calendar-head > div {
  min-width: 0;
  text-align: center;
}

.visitas-calendar-head p {
  margin: 4px 0 0;
}

.visitas-calendar-grid .calendar-day {
  min-height: 142px;
}

.visitas-day-appointments {
  gap: 7px;
}

.visitas-day-appointment {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  border-color: rgba(36, 63, 134, .26);
  background: #25409a;
  text-decoration: none;
}

.visitas-day-appointment:hover {
  border-color: rgba(31, 53, 127, .38);
  background: #1f357f;
}

.visitas-day-appointment small {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  color: rgba(255,255,255,.84);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.visitas-day-appointment.estado-seguimiento {
  background: #5b6f8c;
}

.visitas-day-appointment.estado-vendida,
.visitas-day-appointment.estado-captada {
  background: #337a4b;
}

.visitas-day-appointment.estado-perdida,
.visitas-day-appointment.estado-cancelada {
  background: #9b3540;
}

.visit-list {
  display: grid;
  gap: 14px;
}

.visit-row {
  position: relative;
  overflow: visible;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .43fr);
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow-sm);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.visit-row::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--accent-2);
}

.visit-row-seguimiento::before { background: var(--warning); }
.visit-row-vendida::before { background: var(--success); }
.visit-row-perdida::before { background: var(--danger); }
.visit-row-cancelada::before { background: var(--border-strong); }
.visit-row-agencia::before { background: #f6c343; }
.visit-row-agencia {
  border-color: rgba(217, 169, 31, .42);
  background: linear-gradient(90deg, rgba(246, 195, 67, .08), rgba(255, 255, 255, 0) 42%), var(--panel);
}

.visit-row:hover {
  border-color: rgba(36, 143, 211, .42);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.visit-row.focus {
  border-color: rgba(36, 143, 211, .72);
  box-shadow: 0 16px 36px rgba(36, 143, 211, .16);
}

.visit-row-main {
  min-width: 0;
}

.visit-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.visit-title-line {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  min-width: 0;
}

.visit-title-line strong {
  font-size: 19px;
  line-height: 1.25;
}

.visit-id {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  color: var(--accent);
  background: var(--accent-soft);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.visit-date-pill {
  flex: 0 0 auto;
  min-width: 132px;
  padding: 9px 11px;
  text-align: right;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.visit-date-actions {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 10px;
}

.visit-reschedule {
  position: relative;
}

.visit-reschedule summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(36, 63, 134, .18);
  border-radius: 7px;
  color: var(--accent);
  background: #fff;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  list-style: none;
  white-space: nowrap;
}

.visit-reschedule summary::-webkit-details-marker {
  display: none;
}

.visit-reschedule[open] summary {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

.visit-reschedule form {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 18;
  width: min(360px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 52px rgba(23, 34, 49, .18);
}

.visit-reschedule textarea {
  min-height: 70px;
}

.visit-reschedule .actions {
  margin-top: 0;
}

.visit-reschedule .actions button {
  width: 100%;
}

.visit-date-pill span,
.visit-date-pill strong {
  display: block;
}

.visit-date-pill span {
  color: var(--muted);
  text-transform: uppercase;
}

.visit-date-pill strong {
  margin-top: 2px;
  font-size: 14px;
}

.visit-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.visit-meta-grid div {
  min-width: 0;
  padding: 10px 11px;
  background: var(--panel-soft);
  border: 1px solid rgba(215, 225, 235, .82);
  border-radius: 8px;
}

.visit-meta-grid span,
.visit-meta-grid strong {
  display: block;
}

.visit-meta-grid span {
  color: var(--muted);
  text-transform: uppercase;
}

.visit-meta-grid strong {
  overflow: hidden;
  margin-top: 3px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.visit-state {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background: var(--panel-soft);
  color: var(--muted);
}

.visit-state.seguimiento {
  color: var(--warning);
  background: #fff6e9;
}

.visit-state.vendida {
  color: var(--success);
  background: var(--success-soft);
}

.visit-state.perdida {
  color: var(--danger);
  background: var(--danger-soft);
}

.visit-state.cancelada {
  color: var(--muted);
  background: #eef3f7;
}

.visit-state.agency {
  color: #5f4300;
  background: #fff4cc;
  border: 1px solid rgba(217, 169, 31, .52);
}

.visit-agency-badge,
.visit-collaborator-badge,
.chip.agency,
.chip.collaborator {
  color: #5f4300;
  background: #fff4cc;
  border-color: rgba(217, 169, 31, .52);
}

.visit-collaborator-badge,
.chip.collaborator {
  color: #123f34;
  background: #e5f7ef;
  border-color: rgba(101, 184, 155, .56);
}

.chip.operational {
  color: #6a3d00;
  background: #fff2d6;
  border-color: rgba(224, 153, 43, .46);
}

.chip.operational.done {
  color: #15513d;
  background: #e6f7ef;
  border-color: rgba(47, 125, 86, .36);
}

.visit-agency-badge,
.visit-collaborator-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(217, 169, 31, .52);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.visit-last-note {
  margin-top: 12px;
  padding: 12px 13px;
  background: #f6f9fc;
  border: 1px solid rgba(215, 225, 235, .86);
  border-left: 4px solid rgba(36, 143, 211, .42);
  border-radius: 8px;
}

.visit-last-note span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 5px;
}

.visit-last-note p {
  margin: 0;
  line-height: 1.45;
}

.visit-key-delivery {
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(224, 153, 43, .36);
  border-left: 4px solid #e0992b;
  border-radius: 8px;
  background: #fff8e8;
}

.visit-key-delivery label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #5d3a07;
  font-weight: 900;
  cursor: pointer;
}

.visit-key-delivery input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.visit-key-delivery.done {
  display: grid;
  gap: 2px;
  border-color: rgba(47, 125, 86, .28);
  border-left-color: #2f7d56;
  background: #edf9f2;
}

.visit-key-delivery.done strong {
  color: #15513d;
}

.visit-key-delivery.done span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.visit-links {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.visit-cancel-trigger {
  padding: 3px 7px;
  border: 1px solid rgba(179, 38, 58, .22);
  border-radius: 6px;
  background: var(--danger-soft);
  color: var(--danger);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.25;
  cursor: pointer;
  box-shadow: none;
}

.visit-cancel-trigger:hover,
.visit-cancel-trigger:focus-visible {
  border-color: var(--danger);
  background: var(--danger);
  color: #fff;
}

.visit-followup {
  display: grid;
  align-content: start;
  padding-left: 18px;
  border-left: 1px solid var(--border);
}

.visit-followup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.visit-followup-head strong,
.visit-followup-head span {
  display: inline-flex;
  align-items: center;
}

.visit-followup-head strong {
  color: var(--accent);
  font-size: 15px;
}

.visit-followup-head span {
  min-height: 24px;
  padding: 4px 8px;
  color: var(--muted);
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.visit-save-close-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
  margin-top: 10px;
}

.visit-result-actions {
  margin-top: 0;
}

.visit-save-close-actions > button {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  font: 800 15px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.visit-save-close-actions > button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.visit-lost-trigger {
  background: #b3263a;
  color: #fff;
  cursor: pointer;
}

.visit-close-sale-trigger {
  background: var(--success);
  color: #fff;
  cursor: pointer;
}

.visit-close-sale-trigger.capture {
  background: var(--accent);
}

.visit-loss-modal[hidden],
.visit-cancel-modal[hidden],
.visit-loss-followup-date[hidden],
.visit-loss-long-followup[hidden] {
  display: none;
}

.visit-cancel-modal {
  position: fixed;
  z-index: 10030;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(20, 33, 61, .52);
  backdrop-filter: blur(3px);
}

.visit-cancel-form {
  display: grid;
  gap: 14px;
  width: min(500px, 100%);
  padding: 22px;
  border: 1px solid rgba(179, 38, 58, .24);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #fff8f9 100%);
  box-shadow: 0 28px 80px rgba(20, 35, 56, .34);
}

.visit-cancel-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.visit-cancel-modal-head h2 {
  margin: 4px 0 0;
  color: #172033;
  font-size: 22px;
}

.visit-cancel-warning {
  margin: 0;
  padding: 12px 14px;
  border-left: 4px solid var(--danger);
  border-radius: 7px;
  background: var(--danger-soft);
  color: #6f1d2a;
  font-weight: 700;
  line-height: 1.5;
}

.visit-cancel-form label {
  color: var(--muted);
  font-weight: 900;
}

.visit-cancel-form textarea {
  width: 100%;
  min-height: 118px;
  resize: vertical;
}

.visit-cancel-form button.danger {
  border-color: #a51f33;
  background: #b3263a;
  color: #fff;
  box-shadow: 0 12px 24px rgba(179, 38, 58, .22);
}

.visit-cancel-form button.danger:hover,
.visit-cancel-form button.danger:focus-visible {
  border-color: #811626;
  background: #941d30;
  color: #fff;
}

.visit-loss-modal {
  position: fixed;
  z-index: 10020;
  right: 22px;
  top: 78px;
  width: min(430px, calc(100vw - 28px));
  max-height: calc(100vh - 100px);
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(179, 38, 58, .22);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff 0%, #fff8f9 100%);
  box-shadow: 0 24px 64px rgba(20, 35, 56, .22);
}

.visit-loss-form {
  display: grid;
  gap: 9px;
  max-height: calc(100vh - 100px);
  overflow: auto;
  padding: 15px;
}

.visit-loss-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.visit-loss-modal-head h2 {
  margin: 4px 0 0;
  color: #172033;
  font-size: 20px;
  line-height: 1.2;
}

.visit-loss-close {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.visit-loss-close:hover {
  color: #fff;
  background: #b3263a;
  border-color: #b3263a;
}

.visit-loss-form label,
.visit-loss-decision legend {
  color: var(--muted);
  font-weight: 900;
}

.visit-loss-form select,
.visit-loss-form input[type="date"],
.visit-loss-form textarea {
  width: 100%;
}

.visit-loss-form textarea {
  min-height: 58px;
}

.visit-loss-decision {
  display: grid;
  gap: 8px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
}

.visit-loss-decision legend {
  margin-bottom: 4px;
}

.visit-loss-decision label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
  cursor: pointer;
}

.visit-loss-decision input {
  margin-top: 3px;
}

.visit-loss-decision span {
  display: grid;
  gap: 4px;
}

.visit-loss-decision strong {
  color: #172033;
}

.visit-loss-decision small {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.25;
}

.visit-loss-followup-date {
  display: grid;
  gap: 6px;
}

.visit-loss-long-followup {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(193, 101, 28, .35);
  border-radius: 8px;
  background: #fff8ed;
}

.visit-loss-long-warning {
  display: grid;
  gap: 4px;
}

.visit-loss-long-warning strong {
  color: #7a3f0a;
  font-size: 13px;
  font-weight: 900;
}

.visit-loss-long-warning p {
  margin: 0;
  color: #7a3f0a;
  font-size: 13px;
  line-height: 1.45;
}

.visit-loss-long-confirm {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: #172033;
  font-weight: 800;
}

.visit-loss-long-confirm input {
  margin-top: 3px;
}

.visit-loss-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 0;
  padding-top: 4px;
}

.visit-loss-modal-actions button {
  width: 100%;
}

@media (max-width: 760px) {
  .visit-loss-modal {
    left: 14px;
    right: 14px;
    top: 74px;
    width: auto;
    max-height: calc(100vh - 88px);
  }

  .visit-loss-form {
    max-height: calc(100vh - 88px);
  }

  .visit-loss-modal-actions {
    grid-template-columns: 1fr;
  }
}

.compact-grid .full-field {
  grid-column: 1 / -1;
}

.visit-normal-card {
  display: contents;
}

.visit-normal-card[hidden],
.visit-followup-default[hidden],
.visit-close-wizard[hidden] {
  display: none !important;
}

.visit-close-wizard {
  grid-column: 1 / -1;
  min-width: 0;
}

.visit-close-wizard-form {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(36, 143, 211, .18);
  border-radius: 8px;
  background: #f8fbff;
}

.visit-close-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.visit-close-hero h2 {
  margin: 4px 0 0;
  font-size: 24px;
  line-height: 1.15;
  color: var(--text);
}

.visit-close-help {
  position: relative;
  max-width: 850px;
}

.visit-close-help summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(36, 143, 211, .28);
  border-radius: 999px;
  color: var(--accent);
  background: #fff;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.visit-close-help summary::-webkit-details-marker {
  display: none;
}

.visit-close-help p {
  margin: 10px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(36, 143, 211, .16);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  line-height: 1.45;
}

.visit-wizard-steps {
  display: flex;
  gap: 8px;
}

.visit-wizard-steps button {
  width: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid rgba(36, 143, 211, .24);
  border-radius: 999px;
  color: var(--accent);
  background: #fff;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.visit-wizard-steps button.active {
  color: #fff;
  background: var(--accent);
}

.visit-wizard-step {
  display: none;
  gap: 14px;
}

.visit-wizard-step.active {
  display: grid;
}

.visit-wizard-step h3 {
  margin: 0;
  color: var(--accent);
  font-size: 18px;
}

.visit-wizard-note {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.visit-property-selector {
  display: grid;
  gap: 7px;
}

.visit-selected-captador {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(36, 143, 211, .18);
  border-radius: 8px;
  background: #fff;
}

.visit-selected-captador[hidden] {
  display: none !important;
}

.visit-selected-captador span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.visit-selected-captador strong {
  color: var(--text);
  text-align: right;
}

.visit-wizard-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
}

.visit-wizard-actions button {
  min-width: 148px;
  min-height: 42px;
  padding: 8px 16px;
  border-radius: 7px;
  font-size: 15px;
  text-transform: none;
}

.visit-callcentre-disabled {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px dashed rgba(106, 122, 142, .34);
  border-radius: 8px;
  background: #f2f6fa;
  color: var(--muted);
}

.visit-callcentre-disabled input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.visit-callcentre-disabled span {
  color: var(--text);
  font-weight: 900;
}

.visit-callcentre-disabled strong {
  margin-left: auto;
  color: var(--text);
}

.visit-close-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.visit-close-summary div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .86);
  border-radius: 8px;
  background: #fff;
}

.visit-close-summary span,
.visit-close-summary strong {
  display: block;
}

.visit-close-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.visit-close-summary strong {
  overflow-wrap: anywhere;
  margin-top: 5px;
  color: var(--text);
}

.visit-checkline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--text);
  font-weight: 800;
}

.visit-checkline input {
  width: 17px;
  height: 17px;
}

.visit-agency-lock {
  padding: 12px 14px;
  border: 1px solid rgba(217, 169, 31, .42);
  border-radius: 8px;
  color: #5f4300;
  background: #fff8df;
  font-weight: 900;
}

.visit-sold-note {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 14px;
  border-radius: 6px;
  background: var(--success-soft);
  color: var(--success);
}

.visit-sold-note span {
  color: var(--text);
}

.houses-filterbar {
  grid-template-columns: minmax(132px, .7fr) minmax(320px, 1.7fr) auto;
}

.house-row.visit-row-captada::before,
.house-row.visit-row-abierta::before,
.house-row.visit-row-activa::before,
.house-row.visit-row-en_curso::before {
  background: var(--accent-2);
}

.house-row .visit-title-line strong {
  overflow-wrap: anywhere;
}

.visit-state.captada,
.visit-state.abierta,
.visit-state.activa,
.visit-state.en_curso {
  color: var(--accent);
  background: var(--accent-soft);
}

.visit-state.retirada {
  color: var(--muted);
  background: #eef3f7;
}

.house-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr);
  gap: 18px;
  margin-top: 18px;
  align-items: start;
}

.house-edit-form {
  display: grid;
  gap: 13px;
}

.house-edit-form textarea {
  min-height: 92px;
  resize: vertical;
}

.house-xml-list {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.house-xml-card {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 13px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel-soft);
}

.house-xml-media {
  overflow: hidden;
  min-height: 96px;
  border-radius: 8px;
  background: #eaf1f8;
}

.house-xml-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.house-xml-card h3,
.house-xml-card p {
  margin: 6px 0 0;
}

.house-xml-card h3 {
  overflow-wrap: anywhere;
  font-size: 17px;
  line-height: 1.25;
}

.house-detail-followup {
  margin-top: 14px;
  padding: 14px 0 0;
  border-top: 1px solid var(--border);
  border-left: 0;
}

.commercial-property-workspace {
  padding: 0;
  overflow: hidden;
}

.commercial-property-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.commercial-property-menu button {
  min-height: 40px;
  padding: 0 16px;
  color: var(--muted);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  box-shadow: none;
}

.commercial-property-menu button:hover,
.commercial-property-menu button:focus,
.commercial-property-menu button.active {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

.commercial-property-menu button.danger {
  color: var(--danger);
  border-color: rgba(198, 40, 40, .38);
  background: var(--danger-soft);
}

.commercial-property-menu button.attention {
  color: #7a4a0f;
  border-color: rgba(246, 195, 67, .72);
  background: #fff3c4;
}

.commercial-property-menu button.danger:hover,
.commercial-property-menu button.danger:focus,
.commercial-property-menu button.danger.active {
  color: #fff;
  background: var(--danger);
  border-color: var(--danger);
}

.commercial-property-menu button.attention:hover,
.commercial-property-menu button.attention:focus,
.commercial-property-menu button.attention.active {
  color: #fff;
  background: var(--warning);
  border-color: var(--warning);
}

.commercial-property-section {
  display: none;
  padding: 18px;
}

.commercial-property-section.active {
  display: block;
}

.property-marketing-history-head {
  align-items: center;
}

.property-marketing-history-head > div {
  min-width: 0;
}

.property-marketing-history-head h2 {
  margin-top: 4px;
}

.property-marketing-history-head p {
  margin: 6px 0 0;
  line-height: 1.5;
}

.property-marketing-eyebrow {
  color: #167fae;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.property-marketing-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}

.property-marketing-kpis > div {
  min-width: 0;
  padding: 15px;
  border: 1px solid #dce7ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f6fafc 100%);
}

.property-marketing-kpis span,
.property-marketing-kpis strong,
.property-marketing-kpis small {
  display: block;
}

.property-marketing-kpis span {
  color: #718097;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.property-marketing-kpis strong {
  margin-top: 5px;
  color: #193454;
  font-size: 25px;
}

.property-marketing-kpis small {
  margin-top: 3px;
  color: #8390a1;
  line-height: 1.35;
}

.property-marketing-timeline {
  display: grid;
  gap: 0;
}

.property-marketing-event {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
}

.property-marketing-event-rail {
  position: relative;
  display: flex;
  justify-content: center;
}

.property-marketing-event-rail::after {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -20px;
  width: 2px;
  background: #dce7ef;
}

.property-marketing-event:last-child .property-marketing-event-rail::after {
  display: none;
}

.property-marketing-event-rail span {
  position: relative;
  z-index: 1;
  width: 13px;
  height: 13px;
  margin-top: 19px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #28a9e5;
  box-shadow: 0 0 0 2px #9fd9f2;
}

.property-marketing-event-main {
  min-width: 0;
  margin-bottom: 15px;
  padding: 17px;
  border: 1px solid #dce7ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(20, 45, 79, .04);
}

.property-marketing-event-title {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.property-marketing-event-title span {
  color: #1684b5;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.property-marketing-event-title h3 {
  margin: 4px 0 0;
  color: #1c324e;
  font-size: 18px;
}

.property-marketing-status {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef2f6;
  color: #627287;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.property-marketing-status.status-completed,
.property-marketing-status.status-sending {
  background: #dcf8e8;
  color: #17683d;
}

.property-marketing-status.status-queued,
.property-marketing-status.status-paused {
  background: #fff2d6;
  color: #8a5a10;
}

.property-marketing-status.status-completed_with_errors,
.property-marketing-status.status-cancelled {
  background: #fde7e7;
  color: #953434;
}

.property-marketing-event-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
  padding: 12px;
  border-radius: 11px;
  background: #f6f9fb;
}

.property-marketing-event-meta span,
.property-marketing-event-meta strong {
  display: block;
}

.property-marketing-event-meta span {
  color: #344b65;
  font-size: 12px;
  line-height: 1.45;
}

.property-marketing-event-meta strong {
  margin-bottom: 2px;
  color: #7b8798;
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.property-marketing-delivery-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 11px;
}

.property-marketing-delivery-counts > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid #e3e9ef;
  border-radius: 9px;
  color: #68778c;
  font-size: 11px;
}

.property-marketing-delivery-counts strong {
  color: #223a57;
  font-size: 15px;
}

.property-marketing-delivery-counts .sent {
  border-color: #cbe9d7;
  background: #f1fbf5;
}

.property-marketing-delivery-counts .sent strong {
  color: #17683d;
}

.property-marketing-delivery-counts .failed strong {
  color: #a03b3b;
}

.property-marketing-completed,
.property-marketing-error {
  margin: 11px 0 0;
  color: #6f7e91;
  font-size: 11px;
}

.property-marketing-error {
  padding: 9px 11px;
  border-radius: 8px;
  background: #fff1f1;
  color: #8f3838;
}

.property-marketing-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.property-marketing-empty {
  display: grid;
  justify-items: center;
  padding: 56px 20px;
  border: 1px dashed #cfdde7;
  border-radius: 16px;
  background: #f8fbfd;
  text-align: center;
}

.property-marketing-empty > span {
  color: #28a9e5;
  font-size: 42px;
}

.property-marketing-empty h3 {
  margin: 10px 0 6px;
  color: #203853;
}

.property-marketing-empty p {
  max-width: 620px;
  margin: 0 0 18px;
  color: #718097;
  line-height: 1.55;
}

@media (max-width: 960px) {
  .property-marketing-kpis,
  .property-marketing-event-meta,
  .property-marketing-delivery-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .property-marketing-kpis,
  .property-marketing-event-meta,
  .property-marketing-delivery-counts {
    grid-template-columns: 1fr;
  }
  .property-marketing-event-title {
    flex-direction: column;
  }
  .property-marketing-event {
    grid-template-columns: 18px minmax(0, 1fr);
  }
  .property-marketing-event-main {
    padding: 14px;
  }
}

.commercial-property-section .captacion-edit-panel {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.house-completion-panel {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
  padding: 15px;
  border: 1px solid rgba(246, 195, 67, .62);
  border-radius: 8px;
  background: #fff8dc;
}

.house-completion-panel.complete {
  border-color: rgba(47, 125, 86, .26);
  background: var(--success-soft);
}

.house-completion-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.house-completion-head h2 {
  margin: 3px 0 0;
  color: #51330d;
}

.house-completion-head > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #7a4a0f;
  font-size: 12px;
  font-weight: 900;
}

.house-completion-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 9px;
}

.house-completion-item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  border: 1px solid rgba(246, 195, 67, .55);
  border-radius: 8px;
  background: #fff;
}

.house-completion-item.danger {
  border-color: rgba(198, 40, 40, .28);
  background: #fff8f8;
}

.house-completion-item strong,
.house-completion-item p {
  margin: 0;
}

.house-completion-item strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
}

.house-completion-item p {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.house-section-missing {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding: 11px 12px;
  border: 1px solid rgba(246, 195, 67, .58);
  border-radius: 8px;
  background: #fff8dc;
}

.house-section-missing strong {
  color: #7a4a0f;
  font-size: 13px;
  font-weight: 950;
}

.house-section-missing div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.house-section-missing span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff;
  color: #51330d;
  font-size: 12px;
  font-weight: 850;
}

.house-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin: 0 0 18px;
}

.house-photo-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #eef3f8;
}

.house-photo-sort-grid {
  align-items: start;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 14px;
}

.house-photo-organizer-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  align-items: start;
  gap: 14px;
}

.photo-organizer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid #d7e1ef;
  border-radius: 8px;
  background: #f8fbff;
}

.photo-organizer-head strong,
.photo-organizer-head span {
  display: block;
}

.photo-organizer-head strong {
  color: var(--text);
}

.photo-organizer-head div span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.photo-organizer-tools {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}

.photo-organizer-count {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf1fb;
  color: var(--primary);
  font-weight: 900;
  font-size: 13px;
}

.photo-organizer-tools button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 12px;
}

.photo-organizer-tools button:disabled {
  opacity: .5;
  cursor: default;
}

body.crm-wait-modal-open {
  overflow: hidden;
}

.crm-wait-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  transition: opacity .18s ease;
}

.crm-wait-modal[hidden] {
  display: none;
}

.crm-wait-modal.is-visible {
  opacity: 1;
}

.crm-wait-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 20, 42, .58);
  backdrop-filter: blur(3px);
}

.crm-wait-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  padding: 30px 30px 28px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 18px;
  background: #fff;
  color: var(--text);
  text-align: center;
  box-shadow: 0 28px 80px rgba(8, 26, 57, .3);
  transform: translateY(8px) scale(.985);
  transition: transform .2s ease;
}

.crm-wait-modal.is-visible .crm-wait-modal-card {
  transform: translateY(0) scale(1);
}

.crm-wait-modal-kicker {
  display: block;
  margin-bottom: 16px;
  color: var(--primary);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .14em;
}

.crm-wait-modal-spinner {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  border: 5px solid #e5ebf5;
  border-top-color: var(--primary);
  border-right-color: #c28a3a;
  border-radius: 50%;
  animation: crm-wait-spin .9s linear infinite;
}

.crm-wait-modal-spinner::after {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 50%;
  background: linear-gradient(145deg, #eef3fb, #fff);
  box-shadow: inset 0 0 0 1px #dbe4f0;
}

.crm-wait-modal-card h2 {
  margin: 0 0 9px;
  color: #172f5f;
  font-size: clamp(22px, 4vw, 28px);
}

.crm-wait-modal-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.crm-wait-modal-card small {
  display: block;
  margin-top: 14px;
  color: #66748a;
  font-weight: 750;
}

@keyframes crm-wait-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .crm-wait-modal,
  .crm-wait-modal-card {
    transition: none;
  }

  .crm-wait-modal-spinner {
    animation-duration: 1.8s;
  }
}

@media (max-width: 520px) {
  .crm-wait-modal {
    padding: 18px;
  }

  .crm-wait-modal-card {
    padding: 26px 20px 24px;
    border-radius: 15px;
  }
}

.house-photo-marketing-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -2px 0 14px;
  padding: 13px 15px;
  border: 1px solid #8fd8f4;
  border-radius: 10px;
  background: #eefaff;
}

.house-photo-marketing-panel[hidden] { display: none; }
.house-photo-marketing-panel strong,
.house-photo-marketing-panel span { display: block; }
.house-photo-marketing-panel strong { color: #174968; }
.house-photo-marketing-panel span { margin-top: 3px; color: #547386; font-size: 12px; }
.house-photo-marketing-panel button { flex: 0 0 auto; min-height: 36px; padding: 8px 13px; font-size: 12px; }

.house-photo-sort-item {
  position: relative;
  margin: 0;
  min-width: 0;
  padding: 6px;
  border: 2px solid #d7e1ef;
  border-radius: 8px;
  background: #f8fbff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .07);
  cursor: grab;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, opacity .16s ease, transform .16s ease;
}

.house-photo-sort-top {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  pointer-events: none;
}

.house-photo-sort-item:active {
  cursor: grabbing;
}

.house-photo-sort-item.is-dragging {
  opacity: .7;
  transform: scale(.985);
  border-color: #2f438c;
  background: #eef4ff;
  box-shadow: 0 18px 38px rgba(47, 67, 140, .24);
}

.house-photo-sort-item.is-drop-target {
  border-color: #2f438c;
  background: #eef4ff;
  box-shadow: 0 0 0 4px rgba(47, 67, 140, .14), 0 18px 36px rgba(15, 23, 42, .12);
}

.house-photo-sort-item.is-drop-target::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 2px dashed rgba(47, 67, 140, .82);
  border-radius: 8px;
  pointer-events: none;
}

.house-photo-sort-item.is-marketing-selected {
  border-color: #27aee5;
  background: #eefaff;
  box-shadow: 0 0 0 3px rgba(39, 174, 229, .15), 0 12px 24px rgba(15, 90, 125, .14);
}

.house-photo-marketing-pick {
  position: absolute;
  right: 11px;
  bottom: 11px;
  z-index: 3;
  display: none;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 999px;
  background: rgba(20, 54, 84, .9);
  color: #fff;
  font-size: 10px;
  font-weight: 950;
  box-shadow: 0 5px 14px rgba(15,23,42,.25);
}

.house-photo-sort-grid.is-marketing-mode .house-photo-marketing-pick,
.house-photo-sort-item.is-marketing-selected .house-photo-marketing-pick { display: inline-flex; }
.house-photo-sort-grid.is-marketing-mode .house-photo-sort-item { cursor: pointer; }
.house-photo-sort-item.is-marketing-selected .house-photo-marketing-pick { background: #169bd2; }

.house-photo-sort-grid .house-photo-sort-item img {
  display: block;
  border-width: 0;
  border-radius: 6px;
}

.house-photo-sort-number {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 26, 57, .78);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}

.house-photo-organizer-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: -4px 0 22px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.house-photo-organizer-footer button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 12px;
}

.house-photo-organizer-footer strong.is-ready { color: #26734a; }
.house-photo-organizer-footer strong.is-missing { color: #a53636; }

.house-photo-trash-float {
  position: absolute;
  top: 0;
  right: 0;
  align-self: start;
  z-index: 10;
  width: 120px;
  pointer-events: none;
}

.house-photo-trash-float.is-fixed {
  position: fixed;
  top: var(--photo-trash-viewport-top, 140px);
  right: auto;
  left: var(--photo-trash-viewport-left, auto);
}

.house-photo-trash-float.is-bottom {
  top: auto;
  bottom: 0;
}

.house-photo-trash {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  min-width: 120px;
  height: 140px;
  min-height: 140px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: translateY(18px) scale(.82);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
  filter: drop-shadow(0 12px 18px rgba(23, 43, 72, .2));
}

.house-photo-trash.is-visible {
  animation: mayrasa-trash-enter .48s cubic-bezier(.2, .82, .24, 1.18) both;
}

body.is-photo-dragging .house-photo-trash {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.house-photo-trash-crop {
  position: relative;
  display: block;
  width: 108px;
  height: 132px;
  overflow: hidden;
  transition: transform .2s cubic-bezier(.2, .8, .2, 1);
}

.house-photo-trash-crop img {
  position: absolute;
  top: -154px;
  left: -185px;
  display: block;
  width: 300px;
  max-width: none;
  height: 300px;
}

.house-photo-trash.is-visible .house-photo-trash-crop {
  animation: mayrasa-trash-float 2.8s ease-in-out .5s infinite;
}

@keyframes mayrasa-trash-enter {
  0% { opacity: 0; transform: translateY(18px) scale(.82) rotate(4deg); }
  62% { opacity: 1; transform: translateY(-4px) scale(1.04) rotate(-2deg); }
  100% { opacity: .96; transform: translateY(0) scale(1) rotate(0deg); }
}

@keyframes mayrasa-trash-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

body.is-photo-dragging .house-photo-trash-crop {
  animation: none;
  transform: translateY(0);
}

body.is-photo-dragging .house-photo-trash.is-over {
  transform: translateY(-3px) scale(1.05);
  filter: drop-shadow(0 0 10px rgba(226, 154, 74, .7)) drop-shadow(0 18px 24px rgba(23, 43, 72, .22));
}

body.is-photo-dragging .house-photo-trash.is-over .house-photo-trash-crop {
  transform: rotate(-3deg) scale(1.04);
}

.house-photo-sort-item.is-paper-tearing {
  opacity: 0;
}

.house-photo-paper-tear {
  position: fixed;
  z-index: 10020;
  display: block;
  overflow: visible;
  border-radius: 8px;
  pointer-events: none;
  filter: drop-shadow(0 12px 14px rgba(15, 23, 42, .2));
}

.house-photo-paper-piece {
  position: absolute;
  inset: 0;
  display: block;
  border: 6px solid #f8fbff;
  border-radius: 8px;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform, opacity;
}

.house-photo-paper-piece.is-top {
  clip-path: polygon(0 0, 100% 0, 100% 46%, 91% 51%, 82% 47%, 71% 53%, 60% 48%, 49% 54%, 37% 48%, 26% 53%, 14% 47%, 0 52%);
  animation: house-photo-paper-top .65s cubic-bezier(.22, .72, .27, 1) forwards;
}

.house-photo-paper-piece.is-bottom {
  clip-path: polygon(0 52%, 14% 47%, 26% 53%, 37% 48%, 49% 54%, 60% 48%, 71% 53%, 82% 47%, 91% 51%, 100% 46%, 100% 100%, 0 100%);
  animation: house-photo-paper-bottom .65s cubic-bezier(.22, .72, .27, 1) forwards;
}

.house-photo-paper-seam {
  position: absolute;
  top: calc(50% - 6px);
  left: 2%;
  width: 96%;
  height: 12px;
  background: linear-gradient(135deg, transparent 35%, rgba(255,255,255,.98) 36% 64%, transparent 65%) 0 0 / 18px 12px repeat-x;
  animation: house-photo-paper-seam .38s ease-out forwards;
}

.house-photo-trash.is-paper-tearing {
  opacity: 1;
  transform: translateY(0) scale(1);
  animation: mayrasa-trash-paper-crunch .65s cubic-bezier(.2, .8, .2, 1) both;
}

.house-photo-trash.is-paper-tearing::before,
.house-photo-trash.is-paper-tearing::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 26px;
  left: 48px;
  width: 20px;
  height: 14px;
  background: #fff;
  clip-path: polygon(0 20%, 45% 0, 100% 28%, 72% 100%, 22% 82%);
  animation: mayrasa-paper-scrap-left .65s ease-out forwards;
}

.house-photo-trash.is-paper-tearing::after {
  width: 15px;
  height: 18px;
  animation-name: mayrasa-paper-scrap-right;
}

@keyframes house-photo-paper-top {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 1; }
  45% { transform: translate(-4px, -8px) rotate(-2deg); opacity: 1; }
  100% { transform: translate(-30px, -58px) rotate(-10deg); opacity: 0; }
}

@keyframes house-photo-paper-bottom {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 1; }
  45% { transform: translate(5px, 8px) rotate(2deg); opacity: 1; }
  100% { transform: translate(34px, 64px) rotate(11deg); opacity: 0; }
}

@keyframes house-photo-paper-seam {
  0% { opacity: 0; transform: scaleX(.35); }
  35% { opacity: 1; transform: scaleX(1); }
  100% { opacity: 0; transform: scaleX(1.06); }
}

@keyframes mayrasa-trash-paper-crunch {
  0% { transform: translateY(-2px) scale(1.04) rotate(-2deg); }
  28% { transform: translateY(-9px) scale(1.1) rotate(3deg); }
  58% { transform: translateY(5px) scale(.93) rotate(-3deg); }
  82% { transform: translateY(-2px) scale(1.03) rotate(1deg); }
  100% { transform: translateY(0) scale(1) rotate(0); }
}

@keyframes mayrasa-paper-scrap-left {
  0% { opacity: 0; transform: translate(0, 0) rotate(0); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translate(-38px, -40px) rotate(-145deg); }
}

@keyframes mayrasa-paper-scrap-right {
  0% { opacity: 0; transform: translate(0, 0) rotate(0); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translate(42px, -34px) rotate(165deg); }
}

@media (prefers-reduced-motion: reduce) {
  .house-photo-trash.is-visible {
    animation: none;
    opacity: .96;
    transform: translateY(0) scale(1);
  }

  .house-photo-trash.is-visible .house-photo-trash-crop {
    animation: none;
  }

  .house-photo-paper-piece,
  .house-photo-paper-seam,
  .house-photo-trash.is-paper-tearing,
  .house-photo-trash.is-paper-tearing::before,
  .house-photo-trash.is-paper-tearing::after {
    animation-duration: .01ms;
  }
}

@media (max-width: 620px) {
  .photo-organizer-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .house-photo-sort-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .house-photo-organizer-stage {
    grid-template-columns: minmax(0, 1fr);
  }

  .photo-organizer-tools,
  .house-photo-organizer-footer {
    width: 100%;
  }

  .house-photo-marketing-panel { align-items: stretch; flex-direction: column; }
  .house-photo-marketing-panel button { width: 100%; }

  .house-photo-organizer-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .house-photo-trash {
    display: none;
  }
}

.photo-upload-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.photo-upload-progress[hidden] {
  display: none;
}

.photo-upload-progress-track {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #eaf0f8;
  border: 1px solid var(--border);
}

.photo-upload-progress-track span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), #4d8fd8);
  transition: width 220ms ease;
}

.photo-upload-progress strong {
  min-width: 46px;
  text-align: right;
  color: var(--primary);
}

.xml-link-form {
  display: grid;
  gap: 10px;
}

.xml-link-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 10px;
  align-items: center;
  margin-top: 2px;
}

.xml-link-progress[hidden] {
  display: none;
}

.xml-link-progress-track {
  height: 12px;
  overflow: hidden;
  border: 1px solid #d8e3ee;
  border-radius: 999px;
  background: #eaf0f8;
}

.xml-link-progress-track span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #4d8fd8);
  transition: width 320ms ease;
}

.xml-link-progress strong {
  min-width: 42px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}

.xml-link-progress small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.discovery-live-panel {
  display: grid;
  gap: 10px;
  margin-top: 4px;
  padding: 12px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #f8fbfe;
}

.discovery-live-panel[hidden] {
  display: none;
}

.discovery-live-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.discovery-live-stats strong,
.discovery-live-stats span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #d8e3ee;
  border-radius: 999px;
  background: #ffffff;
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
}

.discovery-live-list {
  display: grid;
  gap: 8px;
  max-height: 320px;
  overflow: auto;
}

.discovery-live-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #d8e3ee;
  border-radius: 8px;
  background: #ffffff;
}

.discovery-live-row strong,
.discovery-live-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.discovery-live-row strong {
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
}

.discovery-live-row small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.discovery-live-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef3f8;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  text-align: center;
}

.discovery-live-row.is-found .discovery-live-state {
  background: #eef3f8;
  color: var(--muted);
}

.discovery-live-row.is-importing .discovery-live-state {
  background: #e9eefb;
  color: var(--primary);
}

.discovery-live-row.is-imported .discovery-live-state {
  background: #e8f6ef;
  color: #177245;
}

.discovery-live-row.is-error .discovery-live-state {
  background: #fff0f0;
  color: #b42318;
}

.house-ai-dossier {
  display: grid;
  gap: 14px;
  max-width: 980px;
}

.house-ai-dossier h3 {
  margin: 0;
  font-size: 28px;
  color: var(--text);
}

.house-ai-dossier h4 {
  margin: 6px 0 0;
  font-size: 15px;
  color: var(--muted);
  text-transform: uppercase;
}

.house-create-next-card {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbfe;
}

.house-create-next-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--text);
  font-size: 20px;
}

.commercial-property-showcase {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
  gap: 22px;
  align-items: stretch;
}

.commercial-property-photo {
  min-height: 420px;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-weight: 800;
  border-radius: 8px;
  background: #eaf1f8;
}

.commercial-property-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.commercial-property-summary {
  display: grid;
  align-content: center;
  gap: 14px;
  min-width: 0;
}

.commercial-property-statusline,
.commercial-property-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.commercial-property-summary h2 {
  margin: 0;
  font-size: 44px;
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.commercial-property-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
}

.commercial-property-metrics span {
  padding: 8px 11px;
  color: var(--text);
  font-weight: 800;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel-soft);
}

.commercial-property-description {
  max-width: 720px;
  padding-top: 4px;
  font-size: 16px !important;
  line-height: 1.6;
}

.commercial-price-strip {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) repeat(2, minmax(150px, .8fr));
  gap: 10px;
  align-items: stretch;
}

.commercial-price-strip > div {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.commercial-price-strip span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.commercial-price-strip strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 22px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.commercial-price-strip .commercial-main-price {
  border-color: rgba(36, 63, 134, .22);
  background: var(--accent-soft);
}

.commercial-price-strip .commercial-main-price strong {
  color: var(--accent);
  font-size: 30px;
}

.commercial-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.commercial-section-head h2 {
  margin: 0;
}

.commercial-property-readout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .42fr);
  gap: 18px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.commercial-readout-section {
  min-width: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--border);
}

.commercial-readout-section h2 {
  margin: 0 0 12px;
  font-size: 20px;
}

.commercial-readout-section .commercial-section-head {
  margin-bottom: 14px;
}

.commercial-readout-facts {
  grid-column: 1 / -1;
}

.commercial-readout-facts dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}

.commercial-readout-facts dl div {
  min-width: 0;
  padding: 12px 14px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #fff;
}

.commercial-readout-facts dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.commercial-readout-facts dd {
  margin: 5px 0 0;
  color: var(--text);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.commercial-readout-description {
  grid-row: span 2;
}

.commercial-readout-description p,
.commercial-readout-section p {
  margin: 0;
  color: var(--text);
  line-height: 1.6;
}

.house-ai-summary-readout {
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
}

.house-ai-summary-readout h3 {
  margin: 0;
  color: var(--text);
  font-size: 24px;
  line-height: 1.15;
}

.house-ai-summary-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.house-ai-summary-status span,
.commercial-property-statusline .chip.ai-confirmed,
.commercial-property-statusline .chip.ai-pending {
  border: 1px solid rgba(41, 79, 163, .22);
  background: #eef5ff;
  color: var(--primary);
}

.house-ai-summary-status span {
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
}

.house-ai-summary-status span.pending,
.commercial-property-statusline .chip.ai-pending {
  background: #fff8e6;
  color: #8a5a00;
  border-color: rgba(184, 125, 0, .22);
}

.house-ai-summary-status small {
  color: var(--muted);
  font-weight: 800;
}

.house-ai-summary-answers {
  display: grid;
  gap: 8px;
}

.house-ai-summary-answers > strong {
  color: var(--text);
}

.house-ai-summary-answers article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.house-ai-summary-answers article span {
  min-width: 0;
  color: var(--text);
  font-weight: 800;
  line-height: 1.35;
}

.house-ai-summary-answers article b {
  color: var(--primary);
  white-space: nowrap;
}

.house-ai-summary-answers article small {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.35;
}

.commercial-readout-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.commercial-readout-list li,
.commercial-readout-ticks span {
  position: relative;
  min-width: 0;
  padding-left: 22px;
  color: var(--text);
  font-weight: 800;
  line-height: 1.45;
}

.commercial-readout-list li::before,
.commercial-readout-ticks span::before {
  content: "";
  position: absolute;
  left: 0;
  top: .36em;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--accent-2);
  box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(36, 143, 211, .35);
}

.commercial-readout-ticks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.commercial-danger-text {
  margin: 0;
  color: var(--danger);
  font-weight: 900;
}

.commercial-owner-link-panel {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fbff;
}

.commercial-owner-search,
.commercial-owner-link-form {
  display: grid;
  gap: 8px;
}

.commercial-owner-search label,
.commercial-owner-link-form label {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.commercial-owner-search > div,
.commercial-owner-link-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.commercial-owner-search input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 800;
}

.commercial-owner-search input {
  padding: 11px 12px;
}

.commercial-owner-match {
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(47, 125, 86, .24);
  border-radius: 8px;
  background: var(--success-soft);
}

.commercial-owner-match strong,
.commercial-owner-match span {
  display: block;
}

.commercial-owner-match strong {
  color: var(--text);
  font-weight: 950;
}

.commercial-owner-match span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.commercial-owner-list {
  display: grid;
  gap: 10px;
}

.commercial-owner-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(130px, .42fr)) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.commercial-owner-card.stale {
  border-color: rgba(198, 40, 40, .32);
  background: linear-gradient(90deg, rgba(255, 238, 238, .9), #fff 42%);
}

.commercial-owner-card strong,
.commercial-owner-card span,
.commercial-owner-card small,
.commercial-owner-card b {
  display: block;
}

.commercial-owner-card strong {
  font-size: 17px;
  line-height: 1.2;
}

.commercial-owner-card span,
.commercial-owner-card small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
}

.commercial-owner-card small {
  font-size: 12px;
  text-transform: uppercase;
}

.commercial-owner-card b {
  margin-top: 4px;
  color: var(--text);
}

.commercial-owner-card.stale b {
  color: var(--danger);
}

.visit-create-modal {
  width: min(700px, calc(100vw - 28px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.visit-client-search {
  position: relative;
  display: grid;
  gap: 8px;
}

.visit-client-results {
  position: absolute;
  z-index: 3;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 0 0 8px 8px;
  box-shadow: var(--shadow-md);
}

.visit-client-results[hidden],
.visit-client-selected[hidden] {
  display: none;
}

.visit-client-option {
  width: 100%;
  min-height: 0;
  display: grid;
  justify-items: start;
  gap: 3px;
  padding: 11px 13px;
  color: var(--text);
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}

.visit-client-option:hover,
.visit-client-option:focus {
  background: var(--panel-soft);
  color: var(--text);
  transform: none;
}

.visit-client-option strong,
.visit-client-option span {
  display: block;
}

.visit-client-option span,
.visit-client-empty,
.visit-client-selected {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.visit-client-empty {
  padding: 12px 13px;
}

.visit-client-selected {
  padding: 9px 11px;
  background: var(--success-soft);
  border: 1px solid rgba(47, 125, 86, .22);
  border-radius: 6px;
  color: var(--success);
}

.assignment-suggestion {
  display: grid;
  gap: 10px;
  margin: 12px 0 14px;
  padding: 12px;
  background: var(--success-soft);
  border: 1px solid rgba(47, 125, 86, .24);
  border-radius: 8px;
}

.assignment-suggestion-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.assignment-suggestion strong,
.assignment-suggestion span,
.assignment-suggestion p {
  display: block;
}

.assignment-kicker {
  color: var(--success);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.assignment-suggestion p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.assignment-suggestion-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.assignment-suggestion-facts span {
  min-height: 24px;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.load-pill {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.load-pill.green {
  color: var(--success);
  background: #fff;
  border: 1px solid rgba(47, 125, 86, .26);
}

.load-pill.amber {
  color: var(--warning);
  background: #fff8eb;
  border: 1px solid rgba(179, 107, 24, .24);
}

.load-pill.red {
  color: var(--danger);
  background: var(--danger-soft);
  border: 1px solid rgba(169, 50, 56, .24);
}

.assignment-warning {
  margin-top: 8px;
  padding: 9px 10px;
  border-radius: 6px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.assignment-warning.red {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: rgba(169, 50, 56, .24);
}

.assignment-warning.amber {
  color: var(--warning);
  background: #fff8eb;
  border-color: rgba(179, 107, 24, .24);
}

.assignment-warning.green {
  color: var(--success);
  background: var(--success-soft);
  border-color: rgba(47, 125, 86, .24);
}

.assignment-history-notice {
  display: grid;
  gap: 4px;
  margin: 2px 0 12px;
  padding: 10px 11px;
  border: 1px solid rgba(179, 107, 24, .26);
  border-radius: 7px;
  background: #fff8eb;
  color: var(--warning);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.assignment-history-notice strong {
  color: #7a4610;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.assignment-history-notice span {
  color: #8a5218;
}

.client-call-modal {
  width: min(760px, calc(100vw - 28px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 62%);
}

.client-call-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  background:
    linear-gradient(135deg, rgba(36, 63, 134, .08), rgba(36, 143, 211, .04)),
    rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(24, 38, 55, .06);
}

.client-call-head h2 {
  margin: 2px 0 0;
  font-size: 24px;
}

.client-modal-close {
  width: auto;
  margin: 0;
}

.client-call-summary-card,
.client-call-section,
.client-call-assignment-fields,
.client-call-next-fields,
.client-call-discard-fields,
.client-call-modal > label,
.client-call-modal > textarea {
  margin-left: 22px;
  margin-right: 22px;
}

.client-call-summary-card {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(202, 221, 245, .9);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(24, 38, 55, .06);
}

.client-call-person {
  display: flex;
  align-items: center;
  gap: 12px;
}

.client-avatar.small {
  width: 46px;
  height: 46px;
  font-size: 16px;
}

.client-call-person strong,
.client-call-person span {
  display: block;
}

.client-call-person strong {
  font-size: 20px;
  line-height: 1.2;
}

.client-call-person span {
  margin-top: 4px;
  color: var(--muted);
  font-weight: 800;
}

.client-call-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.client-call-section {
  margin-top: 16px;
}

.client-call-section-title {
  margin: 18px 0 10px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.client-call-assignment-fields {
  padding: 0;
}

.client-call-intent-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .85fr);
  gap: 14px;
  align-items: end;
  margin-bottom: 12px;
}

.client-call-intent-note {
  padding: 11px 12px;
  border: 1px solid rgba(202, 221, 245, .9);
  border-radius: 8px;
  background: #fff;
}

.client-call-intent-note strong,
.client-call-intent-note span {
  display: block;
}

.client-call-intent-note strong {
  color: var(--accent);
  font-size: 13px;
}

.client-call-intent-note span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-call-seller-fields {
  display: none;
}

body[data-client-call-intent="vendedor"] .client-call-seller-fields,
body[data-client-call-intent="mixto"] .client-call-seller-fields {
  display: block;
}

.whatsapp-modal {
  width: min(620px, calc(100vw - 28px));
}

.whatsapp-modal textarea {
  min-height: 150px;
}

.whatsapp-help {
  margin-top: 6px;
}

.client-call-followup-fields {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(118px, .42fr) minmax(0, 1fr);
  gap: 0 14px;
}

.client-call-discard-fields {
  display: none;
}

body[data-client-call-result="descartar"] .client-call-next-fields,
body[data-client-call-result="descartar"] .client-call-assignment-fields {
  display: none;
}

body[data-client-call-result="descartar"] .client-call-discard-fields {
  display: block;
}

body[data-client-call-result="no_contesta"] .client-call-assignment-fields {
  display: none;
}

body[data-client-call-result="anotacion"] .client-call-assignment-fields {
  display: none;
}

body[data-client-call-result="seguimiento_largo"] .client-call-assignment-fields {
  display: none;
}

.client-call-summary .compact-note {
  margin: 10px 0 0;
  max-height: 150px;
}

.client-call-modal > textarea {
  min-height: 150px;
  background: #fff;
}

.client-call-modal .actions {
  position: sticky;
  bottom: 0;
  margin: 18px 0 0;
  padding: 14px 22px;
  background: rgba(255,255,255,.96);
  border-top: 1px solid var(--border);
  box-shadow: 0 -10px 24px rgba(24, 38, 55, .07);
}

.client-call-priority {
  margin-top: 0;
  align-self: end;
  min-height: 50px;
}

.mission-priority-toggle,
.mission-priority-select {
  margin-top: 12px;
  min-height: 58px;
}

@media (max-width: 1120px) {
  body.show-answer .call-result-modal {
    width: min(760px, calc(100vw - 18px));
    grid-template-columns: 1fr;
    gap: 0;
  }

  .call-script-panel {
    margin: 14px 14px 0;
    padding: 20px;
  }

  .call-script-head {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 16px;
  }

  .call-script-head .priority-chip {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .call-client-avatar {
    width: 62px;
    height: 62px;
    font-size: 28px;
  }

  .call-result-side {
    margin: 14px;
  }

  .call-result-modal > label,
  .call-result-modal > select,
  .call-result-modal > textarea,
  .call-result-modal > .visit-fields,
  .call-result-modal > .exact-followup-hint,
  .call-result-modal > .exact-schedule-fields {
    margin-left: 14px;
    margin-right: 14px;
  }

  .call-result-modal > select,
  .call-result-modal > textarea,
  .call-result-modal > .visit-fields,
  .call-result-modal > .exact-schedule-fields {
    width: calc(100% - 28px);
  }

  body.show-answer .call-result-modal > label[for="resultado"],
  body.show-answer .call-result-modal > select#resultado,
  body.show-answer .call-result-modal > .visit-fields,
  body.show-answer .call-result-modal > label[for="comentario"],
  body.show-answer .call-result-modal > textarea#comentario,
  body.show-answer .call-result-modal > label[for="exact_schedule_call"],
  body.show-answer .call-result-modal > select#exact_schedule_call,
  body.show-answer .call-result-modal > .exact-followup-hint,
  body.show-answer .call-result-modal > .exact-schedule-fields {
    grid-column: 1;
  }

  body.show-answer .call-result-modal > .call-result-side {
    grid-column: 1;
    grid-row: auto;
  }

  body.show-answer .call-result-modal > .call-script-panel {
    grid-column: 1;
    grid-row: auto;
  }

  .call-result-card {
    padding: 20px;
  }

  .call-result-card textarea {
    min-height: 190px;
  }

  .call-result-modal > .actions {
    gap: 10px;
  }

  .call-result-modal > .actions button {
    min-width: 0;
    flex: 1;
  }

  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) {
    width: min(560px, calc(100vw - 28px));
    grid-template-columns: 1fr;
  }

  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .assign-fields,
  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"],
  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario,
  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions,
  body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .long-term-fields,
  body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"],
  body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario,
  body[data-resultado="seguimiento_largo"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions,
  body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .discard-fields,
  body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > label[for="comentario"],
  body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario,
  body[data-resultado="descartado"].show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > .actions {
    grid-column: 1;
    grid-row: auto;
  }

  body.show-answer .answer-modal:not(.no-answer-modal):not(.whatsapp-modal):not(.call-result-modal) > textarea#comentario {
    min-height: 150px;
  }

  body.show-answer .lead-manager-answer-modal {
    width: min(560px, calc(100vw - 28px));
    grid-template-columns: 1fr;
  }

  body[data-resultado="interesado"].show-answer .lead-manager-answer-modal > .assign-fields,
  body[data-resultado="delegar"].show-answer .lead-manager-answer-modal > .assign-fields,
  body.show-answer .lead-manager-answer-modal > .lm-comment-panel,
  body.show-answer .lead-manager-answer-modal > .actions,
  body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .long-term-fields,
  body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .lm-comment-panel,
  body[data-resultado="seguimiento_largo"].show-answer .lead-manager-answer-modal > .actions,
  body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .discard-fields,
  body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .lm-comment-panel,
  body[data-resultado="descartado"].show-answer .lead-manager-answer-modal > .actions {
    grid-column: 1;
    grid-row: auto;
  }

  .lead-manager-answer-modal > .lm-comment-panel textarea {
    min-height: 150px;
  }

  .client-call-followup-fields {
    grid-template-columns: 1fr;
  }

  .client-call-intent-grid {
    grid-template-columns: 1fr;
  }

  .client-call-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

.priority-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(169, 50, 56, .2);
  background: #fff8f7;
  border-radius: 6px;
  cursor: pointer;
}

.priority-toggle input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  box-shadow: none;
}

.priority-toggle-icon {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 7px;
  background: #a93238;
  color: #fff;
  font-weight: 950;
}

.priority-toggle-icon.zone {
  background: #d47d22;
}

.zone-client-toggle {
  border-color: rgba(212, 125, 34, .32);
  background: #fff8ee;
}

.priority-toggle strong,
.priority-toggle small {
  display: block;
}

.priority-toggle small {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.calendar-date {
  font-weight: 800;
  color: var(--accent);
}

.calendar-panel { padding: 20px; }

.calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.calendar-head h2 {
  margin: 0;
  text-align: center;
}

.teamup-week-panel {
  padding: 0;
  overflow: hidden;
}

.teamup-week-head {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border);
  background: #fff;
}

.teamup-week-head h2 {
  margin: 2px 0 0;
  font-size: 22px;
}

.teamup-week-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.teamup-week-legend {
  margin: 0;
  padding: 10px 18px 14px;
  border-bottom: 1px solid var(--border);
  background: #f8fbfe;
}

.teamup-week-scroll {
  overflow: auto;
  background: #fff;
}

.teamup-week-grid {
  --hour-px: 60px;
  min-width: 1060px;
  display: grid;
  grid-template-columns: 74px repeat(7, minmax(130px, 1fr));
  grid-template-rows: 52px calc(var(--week-hour-count) * var(--hour-px));
  border-top: 1px solid #d8e0e8;
}

.teamup-week-corner,
.teamup-week-day-head {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #fff;
  border-right: 1px solid #d8e0e8;
  border-bottom: 1px solid #d8e0e8;
}

.teamup-week-corner {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.teamup-week-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
}

.teamup-week-day-head span {
  color: #25364b;
  font-size: 15px;
  font-weight: 950;
}

.teamup-week-day-head strong {
  color: #7b5b16;
  font-size: 17px;
}

.teamup-week-day-head.today {
  background: #fff6bf;
}

.teamup-week-times {
  grid-column: 1;
  grid-row: 2;
  position: relative;
  background: #fbfdff;
  border-right: 1px solid #d8e0e8;
}

.teamup-week-times span {
  display: block;
  height: var(--hour-px);
  padding: 6px 8px 0 0;
  color: #243244;
  font-size: 13px;
  font-weight: 800;
  text-align: right;
}

.teamup-week-day {
  position: relative;
  grid-row: 2;
  min-height: calc(var(--week-hour-count) * var(--hour-px));
  border-right: 1px solid #d8e0e8;
  background:
    repeating-linear-gradient(to bottom, transparent 0, transparent 29px, #e9eef4 29px, #e9eef4 30px, transparent 30px, transparent 59px, #d8e0e8 59px, #d8e0e8 60px),
    #fff;
}

.teamup-week-day.today {
  background:
    repeating-linear-gradient(to bottom, rgba(255,255,255,0) 0, rgba(255,255,255,0) 29px, #e7edf4 29px, #e7edf4 30px, rgba(255,255,255,0) 30px, rgba(255,255,255,0) 59px, #d7dfe8 59px, #d7dfe8 60px),
    #fffdf0;
}

.teamup-event {
  position: absolute;
  left: calc(6px + var(--lane-left, 0%));
  width: calc(var(--lane-width, 100%) - 10px);
  z-index: 2;
  display: block;
  overflow: hidden;
  padding: 6px 7px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  text-align: left;
  box-shadow: 0 8px 18px rgba(23, 34, 49, .14);
  cursor: pointer;
}

.teamup-event strong,
.teamup-event span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.teamup-event strong {
  font-size: 13px;
  line-height: 1.18;
}

.teamup-event span {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.2;
}

.teamup-event.cit { background: #a476d8; }
.teamup-event.tp { background: #25409a; }
.teamup-event.th { background: #4f9b4b; }
.teamup-event.untimed { opacity: .92; }

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  margin-bottom: 14px;
}

.calendar-legend span {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel-soft);
  padding: 6px 10px;
  font-weight: 700;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--border);
  gap: 1px;
  overflow: hidden;
}

.calendar-dow {
  background: #f3f6fa;
  color: var(--muted);
  min-height: 40px;
  display: grid;
  place-items: center;
  font-weight: 900;
}

.calendar-day {
  background: #fff;
  min-height: 128px;
  padding: 9px;
  position: relative;
}

.calendar-day.empty {
  background: #f1f5f9;
}

.calendar-day.today {
  box-shadow: inset 0 0 0 3px rgba(36, 143, 211, .42);
}

.day-number {
  font-weight: 900;
  color: var(--accent);
  margin-bottom: 8px;
}

.day-badges {
  display: grid;
  gap: 5px;
}

.day-appointments {
  display: grid;
  gap: 6px;
}

.day-appointment {
  width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(179, 107, 24, .28);
  border-radius: 7px;
  background: #b36b18;
  color: #fff;
  text-align: left;
  box-shadow: none;
}

.day-appointment:hover {
  border-color: rgba(123, 75, 17, .38);
  background: #9d5d14;
  transform: none;
}

.day-appointment span {
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.day-appointment strong {
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-visit-calendar-panel {
  overflow: hidden;
}

.gerencia-vis-view-panel {
  padding: 12px;
}

.gerencia-vis-view-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 420px;
}

.gerencia-vis-view-switch .button {
  justify-content: center;
  text-align: center;
}

.gerencia-commercial-visits {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.gerencia-commercial-visits-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.gerencia-commercial-visits-head strong {
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}

.gerencia-commercial-visits-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
}

.gerencia-commercial-visit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.gerencia-commercial-visit-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdff;
}

.gerencia-commercial-visit-grid span,
.gerencia-commercial-visit-grid strong,
.gerencia-commercial-visit-grid small {
  display: block;
  min-width: 0;
}

.gerencia-commercial-visit-grid span {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-commercial-visit-grid strong {
  margin-top: 4px;
  color: var(--text);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}

.gerencia-commercial-visit-grid small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.gerencia-calendar-months {
  display: grid;
  gap: 18px;
}

.gerencia-calendar-month + .gerencia-calendar-month {
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.gerencia-calendar-head {
  justify-content: center;
  margin-bottom: 10px;
}

.gerencia-calendar-head h2 {
  font-size: 20px;
}

.gerencia-calendar-grid .calendar-day {
  min-height: 148px;
}

.gerencia-day-appointments {
  gap: 7px;
}

.gerencia-day-appointment {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  border-color: rgba(37, 64, 154, .26);
  background: #25409a;
}

.gerencia-day-appointment:hover {
  border-color: rgba(28, 53, 131, .36);
  background: #1f357f;
}

.gerencia-day-appointment small {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  color: rgba(255,255,255,.86);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-day-appointment.estado-seguimiento {
  background: #5b6f8c;
}

.gerencia-day-appointment.estado-vendida,
.gerencia-day-appointment.estado-captada {
  background: #337a4b;
}

.gerencia-day-appointment.estado-perdida,
.gerencia-day-appointment.estado-cancelada {
  background: #9b3540;
}

.gerencia-visit-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.gerencia-visit-modal-grid div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fbfdff;
}

.gerencia-visit-modal-grid span,
.gerencia-visit-modal-grid strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.gerencia-visit-modal-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-visit-modal-grid strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 14px;
}

.gerencia-visit-modal-item .modal-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.day-badge {
  width: 100%;
  min-height: 27px;
  padding: 4px 7px;
  font-size: 12px;
  justify-content: flex-start;
  border: 1px solid transparent;
  box-shadow: none;
}

.day-badge.th { background: var(--success); }
.day-badge.tp { background: var(--accent); }
.day-badge.cit { background: var(--warning); }

.day-badge.zero {
  background: #f7fafc;
  color: var(--muted);
  border-color: var(--border);
}

.calendar-modal-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 28, 42, .56);
  z-index: 20;
  backdrop-filter: blur(3px);
}

.calendar-modal {
  display: none;
  position: fixed;
  z-index: 21;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(720px, calc(100vw - 28px));
  max-height: min(760px, calc(100vh - 28px));
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(17, 31, 46, .28);
}

body.show-calendar-modal .calendar-modal,
body.show-calendar-modal .calendar-modal-backdrop {
  display: block;
}

.calendar-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border);
}

.calendar-modal-head h2 { margin: 0; }

.calendar-modal-body {
  padding: 18px;
  max-height: calc(100vh - 140px);
  overflow: auto;
  display: grid;
  gap: 10px;
  background: var(--panel-soft);
}

.modal-item {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 13px;
}

.modal-item-actions { margin-top: 10px; }

.empty-state {
  text-align: center;
  padding: 42px;
}

.daily-empty-state {
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 42px);
  background: transparent;
}

.daily-empty-state img {
  display: block;
  width: min(100%, 980px);
  max-height: min(66vh, 620px);
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 22px 52px rgba(24, 48, 82, .14);
}

.status-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.status-pill.success {
  color: var(--success);
  background: var(--success-soft);
  border-color: rgba(47, 125, 86, .22);
}

.status-pill.error {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: rgba(169, 50, 56, .22);
}

.email-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.email-summary,
.email-wizard {
  margin-top: 0;
}

.email-account {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.email-avatar {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 900;
}

.email-account strong,
.email-account span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.email-account span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.email-details {
  margin: 18px 0 0;
  display: grid;
  gap: 12px;
}

.email-details div {
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.email-details dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.email-details dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-weight: 700;
}

.notice.compact {
  margin: 16px 0 0;
}

.gerencia-report-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}

.weekly-report-card .notice.compact {
  margin-top: 14px;
}

.gerencia-report-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 14px;
}

.gerencia-report-checks label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-weight: 700;
}

.gerencia-report-types {
  display: grid;
  gap: 10px;
}

.gerencia-report-type {
  display: grid;
  gap: 3px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--panel-soft);
  color: var(--text);
  text-decoration: none;
}

.gerencia-report-type.active {
  border-color: rgba(36, 63, 134, .35);
  background: var(--accent-soft);
}

.gerencia-report-type strong,
.gerencia-report-type span {
  display: block;
}

.gerencia-report-type span {
  color: var(--muted);
  font-size: 13px;
}

.gerencia-report-type.muted-card {
  opacity: .72;
}

@media (max-width: 880px) {
  .gerencia-report-layout {
    grid-template-columns: 1fr;
  }
}

.disconnect-form {
  margin-top: 16px;
}

button.danger-link {
  color: var(--danger);
}

.wizard-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 20px;
}

.wizard-step {
  min-height: 48px;
  justify-content: flex-start;
  background: #fff;
  color: var(--muted);
  border-color: var(--border);
  box-shadow: none;
}

.wizard-step span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--muted);
  font-size: 12px;
}

.wizard-step.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  box-shadow: 0 9px 18px rgba(36, 63, 134, .18);
}

.wizard-step.active span {
  background: rgba(255, 255, 255, .18);
  color: #fff;
}

.wizard-page {
  display: none;
}

.wizard-page.active {
  display: block;
}

.house-create-wizard {
  max-width: 1120px;
  margin-inline: auto;
}

.house-create-steps {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.house-create-wizard .wizard-page {
  min-height: 430px;
}

.house-create-wizard textarea {
  min-height: 112px;
}

.house-create-wizard .wizard-actions {
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.house-owner-search {
  max-width: 760px;
}

.house-create-photo-upload {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px dashed rgba(41, 79, 163, .42);
  border-radius: 8px;
  background: #f8fbff;
}

.house-create-photo-upload input[type="file"] {
  min-height: 58px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.house-photo-status {
  padding: 11px 13px;
  border: 1px solid rgba(41, 79, 163, .24);
  border-radius: 7px;
  background: #eef5ff;
  color: #24427b;
  font-size: .92rem;
  font-weight: 650;
}

.house-photo-status.warning,
.house-photo-status.working {
  border-color: rgba(180, 122, 15, .3);
  background: #fff8e7;
  color: #7a5208;
}

.house-photo-status.success {
  border-color: rgba(27, 122, 77, .28);
  background: #effaf4;
  color: #17633f;
}

.house-photo-status.error {
  border-color: rgba(176, 46, 46, .28);
  background: #fff0f0;
  color: #982b2b;
}

.house-create-confirmation {
  display: grid;
  gap: 22px;
}

.house-create-confirmation .wizard-step.done {
  border-color: rgba(56, 161, 105, .28);
  background: #f1fbf6;
  color: #166534;
}

.alta-ai-panel {
  display: none;
  min-width: 0;
}

.alta-ai-panel.active {
  display: grid;
  gap: 18px;
}

.alta-ai-photo-strip {
  display: flex;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  padding-bottom: 4px;
}

.alta-ai-photo-strip img {
  width: 104px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #eef2f7;
}

.alta-ai-photo-strip span {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-weight: 900;
}

.house-origin-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.house-origin-option {
  min-height: 108px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(26, 44, 66, .05);
  cursor: pointer;
}

.house-origin-option:has(input:checked) {
  border-color: rgba(41, 79, 163, .54);
  background: linear-gradient(135deg, #eef4ff 0%, #ffffff 82%);
}

.house-origin-option input {
  width: 22px;
  height: 22px;
  margin-top: 3px;
  accent-color: var(--accent);
}

.house-origin-option strong,
.house-origin-option small {
  display: block;
}

.house-origin-option strong {
  color: var(--text);
  font-size: 16px;
  line-height: 1.2;
}

.house-origin-option small {
  margin-top: 6px;
  color: var(--muted);
  line-height: 1.35;
}

@media (max-width: 980px) {
  .house-create-steps,
  .house-origin-options {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .house-create-steps,
  .house-origin-options {
    grid-template-columns: 1fr;
  }
}

.provider-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.provider-option {
  margin: 0;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel-soft);
  padding: 12px;
  color: var(--text);
  cursor: pointer;
}

.provider-option input {
  width: auto;
  flex: 0 0 auto;
  padding: 0;
  box-shadow: none;
}

.provider-option span,
.provider-option strong,
.provider-option small {
  display: block;
}

.provider-option small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.viviendas-head {
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
  padding: 4px 0 2px;
}

.viviendas-head > div:first-child {
  min-width: 0;
  max-width: 780px;
}

.viviendas-head h1 {
  font-size: 32px;
}

.viviendas-head .muted {
  max-width: 760px;
  font-size: 15px;
}

.viviendas-head .page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.viviendas-head .page-actions button {
  min-height: 44px;
  padding: 0 18px;
}

.viviendas-view-switch .button {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 8px;
}

.viviendas-view-switch .button.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  box-shadow: 0 10px 22px rgba(36, 63, 134, .18);
}

.viviendas-head #enable-selection,
.viviendas-head #cancel-selection {
  border-color: #c7d4df;
  background: #fff;
  color: #111827;
  box-shadow: 0 8px 20px rgba(23, 34, 49, .06);
}

.viviendas-kpis {
  gap: 10px;
  margin-bottom: 12px;
}

.viviendas-kpis .kpi {
  position: relative;
  overflow: hidden;
  min-height: 86px;
  padding: 14px 18px 14px 20px;
  background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
  border-color: #d5e1ea;
}

.viviendas-kpis .kpi::before {
  content: "";
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: var(--accent-2);
}

.viviendas-kpis .kpi:nth-child(2)::before {
  background: var(--success);
}

.viviendas-kpis .kpi:nth-child(3)::before {
  background: #5b7fa8;
}

.viviendas-kpis .kpi:nth-child(4)::before {
  background: var(--accent);
}

.viviendas-kpis .kpi span {
  font-size: 13px;
  font-weight: 800;
}

.viviendas-kpis .kpi strong {
  margin-top: 8px;
  font-size: 29px;
}

.agency-directory-panel {
  display: grid;
  gap: 14px;
}

.agency-directory-filter {
  grid-template-columns: minmax(220px, 1fr) auto auto;
}

.agency-directory-layout {
  display: grid;
  grid-template-columns: minmax(320px, .42fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.agency-directory-list,
.agency-property-list {
  display: grid;
  gap: 12px;
}

.agency-directory-card,
.agency-property-row {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 12px;
  border: 1px solid rgba(199, 212, 223, .92);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(24, 38, 55, .07);
}

.agency-directory-card {
  grid-template-columns: 58px minmax(0, 1fr);
  padding: 14px;
}

.agency-directory-card.selected {
  border-color: rgba(36, 76, 173, .52);
  box-shadow: 0 16px 34px rgba(36, 76, 173, .13);
}

.agency-directory-card-link,
.agency-property-row-link,
.vivienda-card-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.agency-directory-logo {
  width: 58px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(199, 212, 223, .92);
  border-radius: 8px;
  background: #f7fbff;
  color: var(--accent);
  font-weight: 950;
}

.agency-directory-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.agency-directory-main,
.agency-property-main {
  min-width: 0;
}

.agency-directory-main h2,
.agency-property-main h3 {
  overflow: hidden;
  margin: 7px 0 4px;
  color: var(--text);
  line-height: 1.18;
  text-overflow: ellipsis;
}

.agency-directory-main h2 {
  font-size: 18px;
}

.agency-property-main h3 {
  font-size: 18px;
}

.agency-directory-main p,
.agency-property-main p {
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-directory-contact {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 9px;
}

.agency-directory-contact span,
.agency-property-actions span {
  max-width: 100%;
  overflow: hidden;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf6fb;
  color: #315a83;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-directory-stats,
.agency-profile-grid,
.agency-property-facts {
  display: grid;
  gap: 8px;
}

.agency-directory-stats {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agency-directory-stats div,
.agency-profile-grid div,
.agency-property-facts span {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdff;
}

.agency-directory-stats span,
.agency-profile-grid span,
.agency-profile-notes span,
.agency-property-main small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.agency-directory-stats strong,
.agency-profile-grid strong {
  display: block;
  overflow: hidden;
  margin-top: 4px;
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-directory-detail {
  display: grid;
  gap: 14px;
}

.agency-profile-card {
  display: grid;
  gap: 14px;
}

.agency-profile-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.agency-profile-notes {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdff;
}

.agency-profile-notes p {
  margin: 5px 0 0;
  color: var(--text);
  line-height: 1.5;
}

.agency-published-properties {
  display: grid;
  gap: 12px;
}

.agency-property-row {
  grid-template-columns: 116px minmax(0, 1fr) minmax(180px, .42fr) minmax(130px, auto);
  align-items: center;
  padding: 12px;
}

.agency-property-thumb {
  overflow: hidden;
  width: 116px;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eaf2f8;
  color: var(--accent);
  font-weight: 950;
}

.agency-property-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agency-property-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agency-property-facts span {
  overflow: hidden;
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-property-actions {
  display: grid;
  gap: 7px;
  justify-items: end;
}

.agency-property-actions strong {
  color: var(--accent);
  font-size: 16px;
  white-space: nowrap;
}

.vivienda-card {
  position: relative;
}

.vivienda-card-link:hover ~ .vivienda-media img {
  transform: scale(1.03);
}

.vivienda-select-pill,
.vivienda-card .property-detail-button,
.agency-profile-card a,
.agency-directory-filter,
.agency-directory-contact a {
  position: relative;
  z-index: 2;
}

.viviendas-filterbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  align-items: flex-end;
  margin: 14px 0 10px;
  padding: 12px;
  background: linear-gradient(180deg, #fbfdff 0%, #f2f7fb 100%);
  border: 1px solid #d0dde8;
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.filter-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.filter-field label {
  color: #42576a;
  font-size: 12px;
  font-weight: 900;
}

.filter-field input,
.filter-field select,
.multi-select summary {
  width: 100%;
  min-height: 40px;
  border: 1px solid #c9d7e3;
  border-radius: 6px;
  background: #fff;
  color: #20303a;
  box-shadow: none;
}

.multi-field {
  position: relative;
}

.multi-select {
  position: relative;
}

.multi-select summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  background-image: none;
  background-repeat: no-repeat;
  cursor: pointer;
  list-style: none;
}

.multi-select summary::-webkit-details-marker {
  display: none;
}

.multi-select summary::after {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-right: 2px solid #20303a;
  border-bottom: 2px solid #20303a;
  transform: rotate(45deg) translateY(-2px);
}

.multi-select.is-disabled summary {
  background: #fff;
  color: #718294;
  cursor: not-allowed;
}

.multi-select.is-disabled summary::after {
  border-color: #8fa0af;
}

.multi-select-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-select-search {
  min-width: 0;
  flex: 1 1 auto;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
}

.multi-select-search::placeholder {
  color: inherit;
  opacity: 1;
}

.multi-select-search::-webkit-search-cancel-button {
  display: none;
}

.multi-options {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  width: max(100%, 240px);
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 2px;
  padding: 8px;
  background: #fff;
  border: 1px solid #c9d7e3;
  border-radius: 8px;
  box-shadow: 0 18px 36px rgba(24, 38, 55, .15);
}

.multi-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 6px 7px;
  border-radius: 6px;
  color: #20303a;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.multi-options label:hover {
  background: #f1f6fa;
}

.multi-options label[hidden],
.multi-options-empty[hidden] {
  display: none;
}

.multi-options-empty {
  padding: 8px 7px;
  color: #718294;
  font-size: 13px;
  font-weight: 800;
}

.multi-options input {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  padding: 0;
  box-shadow: none;
}

.multi-options span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.filter-field.search input {
  min-width: 0;
}

.filter-field.search {
  min-width: min(100%, 190px);
}

.viviendas-filterbar button,
.viviendas-filterbar .button {
  min-height: 40px;
  padding-inline: 18px;
  white-space: nowrap;
}

.viviendas-filterbar button[type="submit"] {
  min-width: 96px;
  justify-self: start;
}

.viviendas-filterbar .button.secondary {
  background: transparent;
  color: var(--accent);
  border-color: rgba(36, 63, 134, .28);
  box-shadow: none;
}

.viviendas-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 12px;
}

.viviendas-status span,
.viviendas-status strong {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  background: #eaf1f5;
  color: #20303a;
  font-size: 12px;
  font-weight: 800;
}

.viviendas-status span.own { background: #dff3ea; }
.viviendas-status span.external { background: #dceff8; }
.viviendas-status strong {
  margin-left: auto;
  color: var(--muted);
  background: transparent;
}

.property-console {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.property-filter-panel {
  position: static;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 10px;
  margin: 0;
  padding: 14px 16px 16px;
  max-height: none;
  overflow: visible;
  background: #ffffff;
  border-color: #d5e0e8;
  box-shadow: 0 16px 42px rgba(24, 38, 55, .09);
}

.property-filter-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 34px;
  padding: 0 0 8px;
  border-bottom: 1px solid #d9e4ec;
}

.property-filter-title strong {
  color: #10233e;
  font-size: 19px;
  line-height: 1;
}

.property-filter-title span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef5fb;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.property-filter-row {
  width: 100%;
  display: grid;
  gap: 10px;
  align-items: end;
}

.property-filter-row-primary {
  grid-template-columns: minmax(320px, 1.3fr) minmax(150px, .58fr) minmax(170px, .65fr) minmax(170px, .58fr);
}

.property-filter-row-secondary {
  grid-template-columns: minmax(135px, .7fr) minmax(150px, .78fr) minmax(150px, .78fr) minmax(230px, 1.15fr) minmax(86px, .4fr) minmax(86px, .4fr) minmax(140px, .64fr) minmax(140px, .64fr);
  padding-top: 8px;
}

.property-advanced-filter {
  border-top: 1px solid #e2ebf2;
  padding-top: 4px;
}

.property-advanced-filter > summary {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  color: #315f91;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  list-style: none;
}

.property-advanced-filter > summary::-webkit-details-marker {
  display: none;
}

.property-advanced-filter > summary::before {
  content: "+";
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #eef5fb;
  color: #315f91;
  font-size: 14px;
  line-height: 1;
}

.property-advanced-filter[open] > summary::before {
  content: "-";
}

.property-advanced-filter > summary strong {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #5f7184;
  font-size: 11px;
}

.property-filter-row-advanced {
  grid-template-columns: minmax(260px, 420px);
  padding-top: 10px;
}

.property-filter-equipment .multi-options {
  width: min(360px, calc(100vw - 48px));
}

.property-filter-panel .filter-field {
  width: 100%;
  align-content: start;
  gap: 5px;
}

.property-filter-panel .filter-field label {
  color: #35465b;
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
}

.property-filter-panel .filter-field input,
.property-filter-panel .filter-field select,
.property-filter-panel .multi-select summary {
  height: 38px;
  min-height: 38px;
  padding-top: 7px;
  padding-bottom: 7px;
  border-color: #cbd9e6;
  font-size: 14px;
}

.property-filter-panel .filter-field.search {
  min-width: 0;
}

.property-filter-panel .filter-field.search input {
  height: 42px;
  min-height: 42px;
  padding-inline: 13px;
  font-size: 14px;
}

.property-filter-panel .multi-select summary .multi-select-search {
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.property-filter-group {
  width: 100%;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid #e3ebf2;
  border-radius: 8px;
  background: #f8fbfd;
}

.property-filter-group > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #24384f;
  font-size: 12px;
  font-weight: 950;
}

.property-filter-group > span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4d91cf;
}

.property-filter-pair {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.property-filter-pair-main {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.property-filter-panel .multi-options {
  width: min(320px, calc(100vw - 48px));
  max-width: 100%;
}

.property-filter-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: end;
  gap: 8px;
  margin: 0;
  padding: 0;
  background: transparent;
  border-top: 0;
}

.property-filter-actions button,
.property-filter-actions .button {
  width: 100%;
  justify-content: center;
  min-height: 38px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 950;
}

.property-filter-actions .button.secondary {
  min-width: 84px;
  padding-inline: 12px;
}

.property-filter-actions .button.secondary {
  background: #f7fbff;
  color: #315f91;
}

.property-workbench {
  min-width: 0;
}

@media (max-width: 1500px) {
  .property-filter-row-primary {
    grid-template-columns: minmax(280px, 1.25fr) minmax(140px, .55fr) minmax(160px, .62fr) minmax(170px, .6fr);
  }

  .property-filter-row-secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.property-table-panel {
  overflow: hidden;
  border: 1px solid #d5e0e8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(24, 38, 55, .08);
}

.property-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-bottom: 1px solid #dce6ee;
  background: #f8fbfd;
}

.property-table-toolbar h2 {
  margin: 0;
  color: #1f2937;
  font-size: 20px;
}

.property-table-heading-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.property-results-total {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid #cbddec;
  border-radius: 999px;
  background: #eaf3fb;
  color: #345477;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.property-results-total strong {
  color: #244cad;
  font-size: 14px;
  font-weight: 950;
}

.property-table-toolbar p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.property-table-tools {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.property-select-menu {
  position: relative;
  display: inline-flex;
}

.property-select-all-button.is-active {
  border-color: #8fb3d6;
  background: #eaf3fb;
  color: #244cad;
}

.property-select-options[hidden] {
  display: none;
}

.property-select-options {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 35;
  width: min(290px, calc(100vw - 28px));
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid #dce7f0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(27, 44, 72, .16);
}

.property-select-options button {
  width: 100%;
  min-height: 58px;
  display: grid;
  gap: 3px;
  justify-items: start;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.property-select-options button:hover,
.property-select-options button:focus-visible {
  border-color: #d8e4ef;
  background: #f5f9fc;
}

.property-select-options strong {
  font-size: 14px;
}

.property-select-options small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.property-table-cart-button {
  min-width: 124px;
}

.property-table-cart-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-table-cart-button strong {
  min-width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #eaf2fb;
  color: #244cad;
  font-size: 13px;
  font-weight: 950;
}

.property-table-cart-button:not(:disabled) {
  border-color: #c8d7e6;
  background: #fff;
  color: #102752;
  box-shadow: none;
}

.property-table-cart-button:not(:disabled):hover,
.property-table-cart-button:not(:disabled):focus-visible {
  border-color: #9dbbd8;
  box-shadow: 0 10px 22px rgba(16, 39, 82, .12);
}

.property-table-scroll {
  overflow: auto;
  max-height: calc(100vh - 320px);
  min-height: 420px;
}

.property-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0;
  color: #2c3542;
  font-size: 13px;
}

.property-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 10px 9px;
  background: #f2f6fa;
  border-bottom: 1px solid #d9e4ec;
  color: #3e4856;
  font-size: 12px;
  font-weight: 950;
  text-align: left;
  white-space: nowrap;
}

.property-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #edf1f5;
  vertical-align: middle;
  font-weight: 750;
}

.property-table tbody tr {
  transition: background .14s ease, box-shadow .14s ease;
}

.property-table-row,
.demand-property-row,
.commercial-map-card,
.vivienda-card {
  cursor: pointer;
}

.property-table-row button,
.property-table-row a,
.property-table-row input,
.demand-property-row button,
.demand-property-row a,
.demand-property-row input,
.commercial-map-card button,
.commercial-map-card a,
.commercial-map-card input,
.vivienda-card button,
.vivienda-card a,
.vivienda-card input {
  cursor: revert;
}

.property-table tbody tr:nth-child(even) {
  background: #fbfcfe;
}

.property-table tbody tr:hover {
  background: #eef6ff;
}

.property-table-row.is-own {
  box-shadow: inset 3px 0 0 #42a878;
}

.property-table-row.is-external {
  box-shadow: inset 3px 0 0 #6aa9d7;
}

.property-table-row.selected {
  background: #e8f3ff;
  box-shadow: inset 3px 0 0 #3f7fca;
}

.property-table .select-col,
.property-table .action-col {
  width: 42px;
  text-align: center;
}

.property-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 4px;
  box-shadow: none;
}

.property-row-add-cart,
.property-row-open {
  width: 34px;
  height: 34px;
  min-height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #cddae5;
  border-radius: 10px;
  background: #fff;
  color: #26384d;
  cursor: pointer;
  transition: border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.property-table .action-col {
  width: 82px;
  white-space: nowrap;
}

.property-row-add-cart {
  margin-right: 6px;
  color: #244cad;
}

.property-row-add-cart:hover,
.property-row-add-cart:focus-visible,
.property-row-open:hover,
.property-row-open:focus-visible {
  border-color: #89b7dc;
  color: var(--accent);
  box-shadow: 0 8px 18px rgba(36, 63, 134, .14);
  transform: translateY(-1px);
  outline: none;
}

.property-row-add-cart.is-in-cart {
  border-color: rgba(191, 69, 69, .28);
  background: #fff1f1;
  color: #b23434 !important;
}

.property-row-add-cart.is-in-cart:hover,
.property-row-add-cart.is-in-cart:focus-visible {
  border-color: rgba(191, 69, 69, .38);
  color: #9d2929 !important;
  box-shadow: 0 8px 18px rgba(178, 52, 52, .14);
}

.property-row-add-cart svg,
.property-row-open svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-row-add-cart .cart-toggle-icon {
  display: inline-grid;
  place-items: center;
}

.property-row-add-cart .cart-toggle-remove {
  display: none;
}

.property-row-add-cart.is-in-cart .cart-toggle-add {
  display: none;
}

.property-row-add-cart.is-in-cart .cart-toggle-remove {
  display: inline-grid;
}

.property-row-media {
  width: 112px;
  aspect-ratio: 1.55 / 1;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
}

.property-table-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #e8eef4;
  color: #244f82;
  font-weight: 950;
}

.property-table-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.property-table .price-col {
  white-space: nowrap;
}

.property-table .price-col {
  text-align: left;
}

.property-table .price-col strong {
  color: #26384d;
  font-weight: 950;
  font-size: 14px;
}

.property-table .ref-col a,
.property-table .ref-col button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #4178bd;
  font: inherit;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
}

.property-table .ref-col button:hover,
.property-table .ref-col button:focus-visible {
  color: var(--accent);
  text-decoration: underline;
  outline: none;
}

.property-table .ref-col small {
  width: fit-content;
  max-width: 210px;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  overflow: hidden;
  color: #5f7288;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-table .ref-col small b {
  padding: 2px 5px;
  border-radius: 999px;
  background: #eef4f8;
  color: #3c5e87;
  font-size: 9px;
  text-transform: uppercase;
}

.property-table .ref-col span {
  display: block;
  margin-top: 6px;
  color: #718294;
  font-size: 11px;
  font-weight: 850;
}

.property-table .ref-col em {
  display: block;
  max-width: 260px;
  margin-top: 6px;
  overflow: hidden;
  color: #2f3b4b;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-table .location-col {
  min-width: 150px;
}

.property-table .location-col strong,
.property-table .location-col span {
  display: block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-table .location-col strong {
  color: #2d3748;
  font-weight: 950;
}

.property-table .location-col span {
  margin-top: 5px;
  color: #5e7186;
  font-size: 12px;
  font-weight: 850;
}

.facts-col {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 300px;
}

.facts-col span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef4f8;
  color: #304258;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.property-table .owner-col {
  min-width: 190px;
  max-width: 260px;
}

.owner-stack {
  display: grid;
  gap: 3px;
  margin-bottom: 8px;
}

.owner-stack .owner-network {
  color: #5d7898;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.owner-stack strong {
  max-width: 240px;
  overflow: hidden;
  color: #416fae;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
}

.property-row-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  white-space: nowrap;
}

.property-row-status.own {
  background: #dff3ea;
  color: #176b4b;
}

.property-row-status.external {
  background: #e2f0fb;
  color: #276383;
}

.property-row-status.agents {
  background: #fff2d9;
  color: #805600;
}

.saved-search-modal-backdrop[hidden],
.saved-search-modal[hidden],
.save-search-name-backdrop[hidden],
.save-search-name-modal[hidden],
.dossier-language-backdrop[hidden],
.dossier-language-modal[hidden],
.showcase-photo-backdrop[hidden],
.showcase-photo-modal[hidden],
.portal-publication-backdrop[hidden],
.portal-publication-modal[hidden],
.property-quick-modal-backdrop[hidden],
.property-quick-modal[hidden],
.property-quick-media img[hidden],
.property-quick-placeholder[hidden],
.property-quick-thumbs[hidden],
.property-quick-actions [hidden] {
  display: none;
}

.saved-search-modal-backdrop,
.save-search-name-backdrop,
.dossier-language-backdrop,
.showcase-photo-backdrop,
.portal-publication-backdrop,
.property-quick-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(11, 18, 32, .66);
  backdrop-filter: blur(8px);
}

.save-search-name-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 74;
  width: min(620px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  transform: translate(-50%, -50%);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(202, 217, 231, .96);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 252, 250, .99)),
    #fff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .34);
}

.dossier-language-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 74;
  width: min(720px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
  display: grid;
  gap: 14px;
  transform: translate(-50%, -50%);
  padding: 20px;
  border: 1px solid rgba(202, 217, 231, .96);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .34);
}

.showcase-photo-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 74;
  width: min(1040px, calc(100vw - 32px));
  max-height: min(860px, calc(100vh - 32px));
  overflow: auto;
  display: grid;
  gap: 16px;
  transform: translate(-50%, -50%);
  padding: 22px;
  border: 1px solid rgba(202, 217, 231, .96);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .34);
}

.showcase-photo-head,
.showcase-photo-property-head,
.showcase-photo-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.showcase-photo-head {
  padding-bottom: 14px;
  border-bottom: 1px solid #e5edf4;
}

.showcase-photo-head h2 {
  margin: 3px 0 5px;
  color: #172231;
  font-size: 26px;
}

.showcase-photo-head span,
.showcase-photo-property-head span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.showcase-photo-properties {
  display: grid;
  gap: 16px;
}

.showcase-photo-property {
  display: grid;
  gap: 13px;
  padding: 15px;
  border: 1px solid #dbe6ef;
  border-radius: 10px;
  background: #f8fbfd;
}

.showcase-photo-property-head {
  align-items: center;
}

.showcase-photo-property-head h3 {
  margin: 0 0 3px;
  color: #172231;
  font-size: 17px;
}

.showcase-photo-property-head > strong {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eaf1ff;
  color: #23489f;
  font-size: 11px;
}

.showcase-photo-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.showcase-photo-choice {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(23, 34, 49, .08);
}

.showcase-photo-choice.is-cover {
  border-color: #23489f;
}

.showcase-photo-choice.is-auxiliary {
  box-shadow: inset 0 0 0 2px #2a9b77, 0 6px 18px rgba(23, 34, 49, .08);
}

.showcase-photo-choice img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #eaf0f5;
}

.showcase-photo-badges {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.showcase-photo-badges span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #23489f;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 3px 9px rgba(10, 20, 40, .24);
}

.showcase-photo-badges span + span {
  background: #168266;
}

.showcase-photo-choice-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 8px;
}

.showcase-photo-choice-actions button {
  min-height: 34px;
  padding: 6px 7px;
  font-size: 10px;
  line-height: 1.15;
}

.showcase-photo-choice-actions button[aria-pressed="true"] {
  border-color: #23489f;
  background: #eaf1ff;
  color: #23489f;
}

.showcase-photo-empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed #c7d4df;
  border-radius: 8px;
  background: #fff;
  color: #667487;
  font-weight: 700;
}

.showcase-photo-actions {
  justify-content: flex-end;
  padding-top: 14px;
  border-top: 1px solid #e5edf4;
}

.portal-publication-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 74;
  width: min(820px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
  transform: translate(-50%, -50%);
  padding: 22px;
  border: 1px solid rgba(202, 217, 231, .96);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .34);
}

.portal-publication-modal form {
  display: grid;
  gap: 18px;
}

.portal-publication-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e3eaf1;
}

.portal-publication-head h2 {
  margin: 3px 0 6px;
  color: #172231;
  font-size: 26px;
}

.portal-publication-head span {
  color: #6d7b8d;
  font-size: 14px;
  font-weight: 700;
}

.portal-publication-selection {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #dbe6ef;
  border-radius: 8px;
  background: #f7fafc;
}

.portal-publication-selection > strong {
  color: #243f86;
  font-size: 15px;
}

.portal-publication-selection > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.portal-publication-selection > div span {
  max-width: 100%;
  padding: 5px 9px;
  overflow: hidden;
  border: 1px solid #d8e3ec;
  border-radius: 999px;
  background: #fff;
  color: #536174;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-publication-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.portal-publication-option {
  min-height: 82px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin: 0;
  padding: 13px 14px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.portal-publication-option:hover,
.portal-publication-option:has(input:checked) {
  border-color: rgba(44, 80, 170, .52);
  background: #f5f8ff;
  box-shadow: 0 10px 24px rgba(36, 63, 134, .08);
}

.portal-publication-option.is-mixed {
  border-style: dashed;
  border-color: #8fa3bd;
  background: #f8fafc;
}

.portal-publication-option input {
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  accent-color: var(--accent);
}

.portal-publication-option span,
.portal-publication-option strong,
.portal-publication-option small {
  display: block;
}

.portal-publication-option strong {
  color: #1d2d43;
  font-size: 15px;
}

.portal-publication-option small {
  margin-top: 3px;
  color: #768497;
  font-size: 12px;
}

.portal-publication-option em {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.portal-publication-option em.is-active {
  background: #e5f6ec;
  color: #237149;
}

.portal-publication-option em.is-pending {
  background: #fff3da;
  color: #8a5d00;
}

.portal-publication-note {
  margin: 0;
  padding: 12px 14px;
  border-left: 4px solid #5b83c6;
  background: #f3f7fc;
  color: #536174;
  font-size: 13px;
  line-height: 1.45;
}

.portal-publication-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 2px;
}

body.show-portal-publication-modal {
  overflow: hidden;
}

@media (max-width: 680px) {
  .portal-publication-modal {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
    padding: 16px;
  }

  .portal-publication-head,
  .portal-publication-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-publication-grid {
    grid-template-columns: 1fr;
  }

  .portal-publication-actions button {
    width: 100%;
  }
}

.dossier-language-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5edf4;
}

.dossier-language-head h2 {
  margin: 3px 0 5px;
  color: #172231;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0;
}

.dossier-language-head span {
  display: block;
  color: var(--muted);
  font-weight: 800;
  font-size: 14px;
  line-height: 1.35;
}

.dossier-type-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.dossier-type-options label {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 12px;
  min-height: 112px;
  margin: 0;
  padding: 16px;
  border: 1px solid #d7e2ed;
  border-radius: 10px;
  background: #f8fbfd;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.dossier-type-options label:hover,
.dossier-type-options label:has(input:checked) {
  border-color: #23489f;
  background: #eef4ff;
  box-shadow: inset 0 0 0 1px #23489f, 0 10px 24px rgba(35, 72, 159, .11);
}

.dossier-type-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.dossier-type-icon {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 60px;
  border: 1px solid #c8d8e8;
  border-radius: 8px;
  background: #fff;
  color: #23489f;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 6px 14px rgba(27, 51, 92, .08);
}

.dossier-type-icon.showcase {
  width: 60px;
  height: 44px;
  color: #1979a7;
  border-color: #b9d9e8;
}

.dossier-type-options strong,
.dossier-type-options small {
  display: block;
}

.dossier-type-options strong {
  align-self: end;
  color: #172231;
  font-size: 16px;
}

.dossier-type-options small {
  align-self: start;
  color: #6d7b8d;
  font-size: 12px;
  line-height: 1.35;
}

.dossier-language-label {
  display: grid;
  gap: 2px;
  padding-top: 2px;
}

.dossier-language-label strong {
  color: #172231;
  font-size: 14px;
}

.dossier-language-label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.dossier-language-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.dossier-language-options label {
  position: relative;
  display: grid;
  place-items: center;
  align-items: center;
  min-height: 48px;
  padding: 8px;
  border: 1px solid #d7e2ed;
  border-radius: 8px;
  background: #f8fbfd;
  cursor: pointer;
}

.dossier-language-options label:has(input:checked) {
  border-color: #23489f;
  background: #eef4ff;
  box-shadow: inset 0 0 0 1px #23489f, 0 8px 18px rgba(35, 72, 159, .12);
}

.dossier-language-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.dossier-language-flag {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 28px;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(132, 151, 172, .36), 0 4px 10px rgba(23, 34, 49, .08);
}

.dossier-language-flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dossier-language-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #e9f0f5;
}

@media (max-width: 620px) {
  .dossier-language-modal {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
    padding: 16px;
  }

  .dossier-type-options {
    grid-template-columns: 1fr;
  }

  .dossier-language-head,
  .dossier-language-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .dossier-language-actions button {
    width: 100%;
  }
}

.save-search-name-modal::before {
  content: "";
  height: 6px;
  background: linear-gradient(90deg, #1f3f9b 0%, #2e63b9 48%, #47a878 100%);
}

.save-search-name-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 26px 0;
}

.save-search-name-brand img {
  width: 172px;
  max-width: 54%;
  height: auto;
  display: block;
}

.save-search-name-brand span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #d8e8df;
  border-radius: 999px;
  background: #eef8f1;
  color: #2e7557;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.save-search-name-content {
  min-width: 0;
  padding: 0 26px;
}

.save-search-name-content h2 {
  margin: 3px 0 8px;
  color: #172231;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: 0;
}

.save-search-name-content p,
.save-search-name-content span {
  display: block;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.4;
}

.save-search-name-content p {
  max-width: 520px;
  margin: 0 0 17px;
  font-size: 16px;
}

.save-search-name-content label {
  display: block;
  margin: 0 0 7px;
  color: #243245;
  font-weight: 950;
}

.save-search-name-content input {
  width: 100%;
  min-height: 56px;
  padding: 0 16px;
  border: 1px solid #b9cadb;
  border-radius: 8px;
  background: #fff;
  color: #172231;
  font: inherit;
  font-weight: 900;
  outline: none;
  box-shadow: 0 10px 26px rgba(23, 45, 78, .08), inset 0 1px 0 rgba(255, 255, 255, .8);
}

.save-search-name-content input:focus {
  border-color: #274bb0;
  box-shadow: 0 0 0 4px rgba(39, 75, 176, .14);
}

.save-search-name-content span {
  margin-top: 8px;
  font-size: 12px;
}

.save-search-name-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 4px 26px 24px;
  border-top: 1px solid #edf3f7;
}

.save-search-name-actions button {
  min-height: 44px;
  border-radius: 8px;
}

.save-search-name-actions [data-save-search-name-submit] {
  background: #1f3f9b;
  box-shadow: 0 12px 24px rgba(31, 63, 155, .18);
}

.saved-search-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 72;
  width: min(760px, calc(100vw - 32px));
  max-height: min(680px, calc(100vh - 32px));
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  transform: translate(-50%, -50%);
  border: 1px solid rgba(216, 226, 238, .92);
  border-radius: 8px;
  background: #f8fbfd;
  box-shadow: 0 32px 110px rgba(9, 18, 34, .38);
}

body.show-saved-search-modal,
body.show-save-search-name-modal,
body.show-dossier-language-modal {
  overflow: hidden;
}

body.show-showcase-photo-modal {
  overflow: hidden;
}

@media (max-width: 820px) {
  .showcase-photo-modal {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
    padding: 16px;
  }

  .showcase-photo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .showcase-photo-head,
  .showcase-photo-property-head,
  .showcase-photo-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .showcase-photo-gallery {
    grid-template-columns: 1fr;
  }

  .showcase-photo-actions button {
    width: 100%;
  }
}

.saved-search-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(216, 226, 238, .9);
  background: linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);
}

.saved-search-head h2 {
  margin: 2px 0 3px;
  color: #172231;
  font-size: 24px;
  letter-spacing: 0;
}

.saved-search-head span,
.saved-search-empty p,
.saved-search-item p,
.saved-search-item span {
  color: var(--muted);
  font-weight: 750;
}

.saved-search-list {
  display: grid;
  gap: 10px;
  overflow: auto;
  padding: 14px;
}

.saved-search-empty,
.saved-search-item {
  min-width: 0;
  border: 1px solid #d5e0e8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(24, 38, 55, .07);
}

.saved-search-empty {
  padding: 22px;
  text-align: center;
}

.saved-search-empty h3,
.saved-search-item h3 {
  margin: 0;
  color: #172231;
  font-size: 18px;
}

.saved-search-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.saved-search-item p {
  margin: 6px 0;
  line-height: 1.35;
}

.saved-search-item span {
  display: block;
  font-size: 12px;
}

.saved-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.saved-search-save-form {
  display: inline-flex;
  margin: 0;
}

.saved-search-trigger {
  position: relative;
}

.saved-search-trigger em {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #eaf3ff;
  color: #17377d;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}

.property-quick-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 71;
  width: min(1100px, calc(100vw - 28px));
  height: min(690px, calc(100vh - 28px));
  max-height: calc(100vh - 28px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  transform: translate(-50%, -50%);
  border: 1px solid rgba(203, 217, 231, .96);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 34px 110px rgba(9, 18, 34, .42);
}

body.show-property-quick-modal {
  overflow: hidden;
}

.property-quick-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-height: 74px;
  padding: 14px 18px 13px 22px;
  border-bottom: 1px solid rgba(216, 226, 238, .9);
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fbfd 62%, #eef8f2 100%);
}

.property-quick-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, var(--accent) 0%, var(--success) 100%);
}

.property-quick-head h2 {
  max-width: 760px;
  display: -webkit-box;
  margin: 2px 0 3px;
  overflow: hidden;
  color: #172231;
  font-size: clamp(18px, 1.38vw, 22px);
  font-weight: 800;
  line-height: 1.1;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.property-quick-head span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.property-quick-close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid #cddae5;
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  color: #26384d;
  font-size: 18px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(23, 34, 49, .10);
  transition: transform .16s ease, border-color .16s ease, color .16s ease;
}

.property-quick-close:hover,
.property-quick-close:focus-visible {
  border-color: #9fb8ce;
  color: var(--accent);
  transform: translateY(-1px);
  outline: none;
}

.property-quick-body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 370px);
  gap: 0;
  overflow: hidden;
}

.property-quick-gallery {
  min-width: 0;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 12px;
  padding: 16px;
  background:
    linear-gradient(135deg, #eef4fa 0%, #f8fbfd 55%, #f1faf5 100%);
}

.property-quick-media {
  position: relative;
  width: 100%;
  height: clamp(300px, calc(100vh - 238px), 455px);
  min-height: 300px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(205, 218, 229, .95);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 255, 255, .42), transparent 32%),
    #f8fbfd;
  box-shadow: 0 14px 32px rgba(24, 38, 55, .10);
}

.property-quick-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  display: block;
  background: #f8fbfd;
}

.property-quick-placeholder {
  width: 100%;
  height: 100%;
  min-height: 300px;
  display: grid;
  place-items: center;
  color: #dce8f4;
  background: linear-gradient(135deg, #1f3b5d 0%, #233b34 100%);
  font-size: 76px;
  font-weight: 950;
}

.property-quick-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 48px;
  display: grid;
  place-items: center;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  color: #172231;
  font-size: 22px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .22);
  transition: transform .16s ease, background .16s ease;
}

.property-quick-nav:hover,
.property-quick-nav:focus-visible {
  background: #fff;
  transform: translateY(-50%) scale(1.03);
  outline: none;
}

.property-quick-nav.prev {
  left: 12px;
}

.property-quick-nav.next {
  right: 12px;
}

.property-quick-nav:disabled {
  opacity: .38;
  cursor: default;
}

.property-quick-counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .90);
  color: #16263c;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
}

.property-quick-thumbs {
  position: static;
  min-height: 62px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 7px;
  border: 1px solid rgba(205, 218, 229, .95);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 24px rgba(24, 38, 55, .08);
  scrollbar-width: thin;
}

.property-quick-thumbs::-webkit-scrollbar {
  height: 6px;
}

.property-quick-thumbs::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(104, 120, 140, .42);
}

.property-quick-thumbs button {
  width: 78px;
  height: 50px;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
  border: 2px solid rgba(205, 218, 229, .72);
  border-radius: 8px;
  background: #233044;
  cursor: pointer;
  opacity: .76;
  box-shadow: 0 6px 14px rgba(24, 38, 55, .12);
  transition: opacity .16s ease, border-color .16s ease, transform .16s ease;
}

.property-quick-thumbs button.active,
.property-quick-thumbs button:focus-visible {
  border-color: var(--accent);
  opacity: 1;
  transform: translateY(-2px);
  outline: none;
}

.property-quick-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.property-quick-info {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow: auto;
  padding: 14px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-left: 1px solid rgba(216, 226, 238, .94);
}

.property-quick-price {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 9px 12px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border: 1px solid rgba(203, 217, 231, .9);
  border-left: 4px solid var(--accent);
  color: #253f92;
  font-size: 21px;
  font-weight: 850;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(23, 34, 49, .04);
}

.property-quick-reference {
  display: grid;
  grid-template-columns: 28px auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid rgba(203, 217, 231, .9);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(23, 34, 49, .04);
}

.property-quick-reference span,
.property-quick-meta span,
.property-quick-facts span {
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
}

.property-quick-reference i,
.property-quick-facts i,
.property-quick-meta i {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf3ff;
  color: #17377d;
}

.property-quick-reference svg,
.property-quick-facts svg,
.property-quick-meta svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.property-quick-reference strong {
  min-width: 0;
  overflow: hidden;
  color: #2b5da8;
  font-size: 14px;
  font-weight: 800;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-quick-reference small {
  grid-column: 2 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
  color: #60738a;
  font-size: 10px;
  font-weight: 850;
}

.property-quick-reference small b {
  color: #3d5f86;
  font-size: 9px;
  text-transform: uppercase;
}

.property-quick-reference small em {
  min-width: 0;
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-quick-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.property-quick-facts div,
.property-quick-meta div {
  min-height: 58px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 2px 7px;
  padding: 7px 8px;
  border: 1px solid rgba(203, 217, 231, .88);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

.property-quick-facts span,
.property-quick-meta span {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-quick-facts strong,
.property-quick-meta strong {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  color: #172231;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.property-quick-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}

.property-quick-meta div {
  min-height: 45px;
  grid-template-columns: 28px auto minmax(0, 1fr);
}

.property-quick-meta span {
  grid-column: 2;
}

.property-quick-meta strong {
  grid-column: 3;
  text-align: right;
}

.property-quick-info p {
  display: -webkit-box;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  margin: 2px 0 0;
  padding: 11px 12px;
  border: 1px solid rgba(203, 217, 231, .88);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  color: #26384d;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.42;
  box-shadow: 0 10px 22px rgba(23, 34, 49, .04);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.property-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  position: sticky;
  bottom: 0;
  z-index: 1;
  margin: 0 -14px -14px;
  padding: 8px 14px 14px;
  background: linear-gradient(180deg, rgba(248, 251, 253, .84), #f8fbfd 42%);
  border-top: 1px solid rgba(216, 226, 238, .9);
}

.property-quick-actions .button {
  flex: 1 1 160px;
  justify-content: center;
  min-height: 42px;
  font-weight: 850;
}

.viviendas-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.viviendas-pager {
  margin: 18px 0 0;
}

.vivienda-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  background: #fff;
  border: 1px solid #d9e5ef;
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(14, 39, 62, .11);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.vivienda-card:hover {
  border-color: #c4d6e5;
  box-shadow: 0 22px 54px rgba(14, 39, 62, .15);
  transform: translateY(-1px);
}

.vivienda-card.selected {
  border-color: #2178a6;
  box-shadow: 0 0 0 3px rgba(33, 120, 166, .18), 0 22px 54px rgba(14, 39, 62, .15);
}

.vivienda-media {
  position: relative;
  display: grid;
  place-items: center;
  height: clamp(220px, 18vw, 285px);
  min-height: 0;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  background: #dfeaf2;
  color: #123b70;
  font-size: 42px;
  font-weight: 950;
}

.vivienda-select-pill {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 8;
  display: none;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #20303a;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
  cursor: pointer;
}

body.selection-mode .vivienda-select-pill {
  display: inline-flex;
}

#cancel-selection {
  display: none;
}

body.selection-mode #enable-selection {
  display: none;
}

body.selection-mode #cancel-selection {
  display: inline-flex;
}

.vivienda-select-pill input {
  width: 15px;
  height: 15px;
  padding: 0;
  box-shadow: none;
}

.vivienda-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .24s ease;
}

.vivienda-card:hover .vivienda-media img {
  transform: scale(1.025);
}

.vivienda-media mark {
  position: absolute;
  z-index: 5;
  right: 16px;
  bottom: 84px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}

.vivienda-media mark.own { background: #3ba273; }
.vivienda-media mark.external { background: #2e9ed0; }

.vivienda-card .property-monthly-badge {
  position: absolute;
  z-index: 5;
  top: 16px;
  left: 16px;
  min-height: 0;
  max-width: calc(100% - 32px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 18px;
  background: rgba(7, 32, 70, .96);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  box-shadow: 0 18px 34px rgba(4, 18, 40, .22);
  backdrop-filter: blur(8px);
}

.vivienda-card .property-monthly-badge svg,
.vivienda-card .property-photo-facts svg,
.vivienda-card .property-location svg,
.vivienda-card .property-ai-highlight svg,
.vivienda-card .property-detail-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vivienda-card .property-badge-copy strong {
  color: #fff;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.vivienda-card .property-photo-facts {
  position: absolute;
  z-index: 5;
  left: 16px;
  right: 16px;
  bottom: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 28px rgba(8, 30, 58, .16);
  backdrop-filter: blur(10px);
}

.vivienda-card .property-photo-facts span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0b1e46;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.12;
}

.vivienda-card .property-photo-facts i,
.vivienda-card .property-ai-highlight > span {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e6f0ff;
  color: #0b1e46;
}

.vivienda-card .property-photo-facts b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vivienda-body {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: 52px 20px 76px auto;
  gap: 8px;
  padding: 16px 18px 18px;
}

.vivienda-card .property-reference {
  display: none;
}

.vivienda-body h2 {
  display: -webkit-box;
  min-height: 52px;
  margin: 0;
  overflow: hidden;
  color: #071f4f;
  font-size: clamp(18px, 1.28vw, 23px);
  line-height: 1.12;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vivienda-card .property-location {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 20px;
  margin: 0;
  color: #667391;
  font-size: 13px;
  line-height: 1.25;
}

.vivienda-card .property-location svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  stroke: #0b1e46;
}

.vivienda-card .property-ai-highlight {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 76px;
  padding: 10px;
  border-radius: 12px;
  background: #f5f8fc;
}

body.demand-mode .viviendas-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.demand-property-row {
  min-height: 150px;
  display: grid;
  grid-template-columns: 42px 142px minmax(260px, 1fr) minmax(260px, .42fr) 150px;
  gap: 16px;
  align-items: center;
  padding: 16px 16px 16px 22px;
  border: 1px solid #d4e0ea;
  border-radius: 8px;
  background: #fff;
}

.demand-property-row.selected {
  border-color: #17377d;
  box-shadow: 0 0 0 3px rgba(23, 55, 125, .10);
}

.demand-row-check {
  display: grid;
  place-items: center;
}

.demand-row-check input {
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 7px;
  box-shadow: none;
}

.demand-row-media {
  width: 142px;
  aspect-ratio: 1.35;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef4f9;
  color: #17377d;
  font-weight: 950;
}

.demand-row-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.demand-row-main {
  min-width: 0;
}

.demand-row-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  color: #6b7890;
  font-size: 14px;
  font-weight: 900;
}

.demand-row-meta small {
  color: #60738a;
  font-size: 12px;
  font-weight: 850;
}

.demand-row-status {
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef4f9;
  color: #69768c;
  font-size: 12px;
  font-weight: 950;
}

.demand-row-status.agents {
  background: #e7f8ef;
  color: #176b4b;
}

.demand-row-status.own {
  background: #e8f1ff;
  color: #17377d;
}

.demand-row-status.external {
  background: #fff5df;
  color: #8a5b00;
}

.demand-row-main h2 {
  display: -webkit-box;
  margin: 0 0 8px;
  overflow: hidden;
  color: #031a49;
  font-size: 23px;
  line-height: 1.16;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.demand-row-main p {
  margin: 0;
  color: #63738b;
  font-size: 16px;
}

.demand-row-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.demand-row-facts span {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  background: #f5f8fb;
  color: #061b43;
  font-size: 15px;
  font-weight: 950;
}

.demand-row-actions {
  align-self: stretch;
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 12px;
}

.demand-row-actions > strong {
  color: #1e3a8a;
  font-size: 24px;
  font-weight: 950;
  text-align: right;
}

.demand-row-actions .button {
  min-width: 112px;
}

.vivienda-card .property-ai-highlight > span {
  background: #f0f3f7;
}

.vivienda-card .property-ai-highlight p {
  min-width: 0;
  display: grid;
  gap: 5px;
  margin: 0;
}

.vivienda-card .property-ai-highlight strong {
  display: -webkit-box;
  overflow: hidden;
  color: #0b1e46;
  font-size: 13px;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.vivienda-card .property-ai-highlight small {
  display: -webkit-box;
  overflow: hidden;
  color: #4d607d;
  font-size: 12px;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vivienda-card .property-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  margin-top: auto;
  padding-top: 6px;
  border-top: 0;
  color: #637391;
  font-size: 12px;
  font-weight: 850;
}

.vivienda-card .property-card-footer > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vivienda-card .property-detail-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 14px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0f54c8 0%, #0663e4 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 16px 30px rgba(17, 87, 202, .22);
}

.viviendas-actions {
  display: flex;
  justify-content: flex-end;
  margin: 20px 0 0;
}

.selection-bar {
  --selection-drawer-tab: 76px;
  position: fixed;
  right: 22px;
  bottom: 104px;
  z-index: 119;
  display: none;
  width: min(620px, calc(100vw - 390px));
  grid-template-columns: minmax(390px, auto) minmax(190px, auto);
  align-items: stretch;
  gap: 12px;
  margin: 0;
  padding: 10px;
  background: rgba(247, 250, 252, .97);
  border: 1px solid #cddbeb;
  border-radius: 8px;
  box-shadow: 0 20px 46px rgba(24, 38, 55, .18);
  backdrop-filter: blur(12px);
  transform: translateX(calc(100% - var(--selection-drawer-tab)));
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.has-selection .selection-bar,
body.has-visit-cart .selection-bar {
  display: grid;
}

.selection-bar:hover,
.selection-bar:focus-within {
  transform: translateX(0);
  border-color: #b8d3ea;
  box-shadow: 0 24px 56px rgba(24, 38, 55, .22);
}

.selection-bar:not(:hover):not(:focus-within) {
  padding: 0;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.selection-bar button svg {
  width: 18px;
  height: 18px;
}

.selection-status-card,
.selection-cart-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #fff;
}

.selection-status-card {
  transition: opacity .16s ease, transform .16s ease;
}

.selection-bar:not(:hover):not(:focus-within) .selection-status-card {
  opacity: 0;
  pointer-events: none;
  transform: translateX(10px);
}

.selection-status-card {
  background: #102752;
  color: #fff;
}

.selection-status-card > strong {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0;
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 24px;
}

.selection-status-card span,
.selection-status-card small {
  display: block;
}

.selection-status-card span {
  font-size: 15px;
  font-weight: 950;
}

.selection-status-card small {
  margin-top: 2px;
  color: #d7e7f7;
  font-size: 11px;
  font-weight: 850;
}

.selection-cart-actions {
  order: -1;
  min-width: 390px;
  justify-content: flex-end;
  background: linear-gradient(135deg, #102752 0%, #1a3670 100%);
  border-color: rgba(32, 166, 216, .24);
  box-shadow: 0 14px 34px rgba(16, 39, 82, .16);
}

.selection-cart-actions button {
  min-height: 50px;
}

.visit-cart-add-button,
.visit-cart-open-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.visit-cart-open-button:not(:disabled) {
  border-color: #102752;
  background: #102752;
  color: #fff;
  box-shadow: 0 12px 28px rgba(16, 39, 82, .20);
}

.selection-cart-actions .visit-cart-open-button:not(:disabled) {
  background: #fff;
  border-color: transparent;
  color: #102752;
}

.selection-cart-actions .visit-cart-add-button:not(:disabled) {
  background: #eaf6fb;
  border-color: transparent;
  color: #11678d;
}

.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions {
  width: var(--selection-drawer-tab);
  height: var(--selection-drawer-tab);
  min-width: var(--selection-drawer-tab);
  padding: 0;
  border-radius: 50%;
  overflow: visible;
  justify-content: center;
  background: linear-gradient(145deg, #102752 0%, #2848a6 100%);
  border: 3px solid #fff;
  box-shadow: 0 18px 42px rgba(16, 39, 82, .30);
}

.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 0 0 100%;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  box-shadow: none;
  gap: 0;
}

.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button svg {
  width: 26px;
  height: 26px;
}

.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button span,
.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions .visit-cart-add-button {
  font-size: 0;
  line-height: 0;
}

body.has-visit-cart .selection-bar:not(:hover):not(:focus-within) .visit-cart-add-button,
body:not(.has-visit-cart) .selection-bar:not(:hover):not(:focus-within) .visit-cart-open-button {
  display: none;
}

.selection-bar:not(:hover):not(:focus-within) .visit-cart-clear-button {
  display: none;
}

.visit-cart-open-button strong {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: inherit;
}

.selection-bar:not(:hover):not(:focus-within) .visit-cart-open-button strong {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 28px;
  height: 28px;
  padding: 0 7px;
  border: 3px solid #fff;
  background: #eaf6fb;
  color: #102752;
  font-size: 13px;
  box-shadow: 0 10px 20px rgba(16, 39, 82, .18);
}

.visit-cart-add-button:not(:disabled) {
  border-color: rgba(32, 166, 216, .3);
  background: #eaf6fb;
  color: #11678d;
}

.selection-bar {
  width: var(--selection-drawer-tab);
  height: var(--selection-drawer-tab);
  grid-template-columns: 1fr;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
  transition: none;
}

body.has-selection .selection-bar {
  display: none;
}

body.has-visit-cart .selection-bar {
  display: block;
}

.selection-bar:hover,
.selection-bar:focus-within {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

.selection-status-card,
.visit-cart-add-button,
.visit-cart-clear-button {
  display: none !important;
}

.selection-cart-actions,
.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions {
  width: var(--selection-drawer-tab);
  height: var(--selection-drawer-tab);
  min-width: 0;
  display: block;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  background: linear-gradient(145deg, #102752 0%, #2848a6 100%);
  box-shadow: 0 18px 42px rgba(16, 39, 82, .30);
}

.selection-cart-actions .visit-cart-open-button,
.selection-cart-actions .visit-cart-open-button:not(:disabled),
.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions .visit-cart-open-button {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.selection-cart-actions .visit-cart-open-button svg,
.selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.selection-cart-actions .visit-cart-open-button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.selection-cart-actions .visit-cart-open-button strong,
.selection-bar:not(:hover):not(:focus-within) .visit-cart-open-button strong {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 28px;
  height: 28px;
  padding: 0 7px;
  display: inline-grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 999px;
  background: #eaf6fb;
  color: #102752;
  font-size: 13px;
  box-shadow: 0 10px 20px rgba(16, 39, 82, .18);
}

.selection-hint {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.selection-client-search {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr);
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.selection-client-control {
  position: relative;
}

.selection-client-search input {
  width: 100%;
  min-height: 44px;
}

.selection-client-results {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  z-index: 16;
  max-height: 248px;
  overflow: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid #c8d7e5;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(23, 34, 49, .18);
}

.selection-client-results[hidden] {
  display: none;
}

.selection-client-option {
  width: 100%;
  min-height: 38px;
  display: block;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #1f2b3a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  text-align: left;
  box-shadow: none;
}

.selection-client-option:hover,
.selection-client-option:focus {
  background: #eef6ff;
  color: var(--accent);
}

.selection-client-empty {
  padding: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.selection-client-chip {
  padding: 7px 10px;
  background: var(--success-soft);
  border: 1px solid rgba(47, 125, 86, .22);
  border-radius: 999px;
  color: var(--success);
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1280px) {
  .selection-bar {
    width: min(620px, calc(100vw - 34px));
    grid-template-columns: minmax(390px, auto) minmax(170px, auto);
  }

  .selection-cart-actions {
    justify-content: stretch;
  }

  .selection-cart-actions button {
    flex: 1 1 0;
  }
}

@media (max-width: 760px) {
  .selection-bar {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    grid-template-columns: 1fr;
    transform: none;
  }

  .selection-bar:not(:hover):not(:focus-within) {
    padding: 10px;
    background: rgba(247, 250, 252, .97);
    border-color: #cddbeb;
    box-shadow: 0 20px 46px rgba(24, 38, 55, .18);
    backdrop-filter: blur(12px);
  }

  .selection-bar:not(:hover):not(:focus-within) .selection-status-card {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body.has-visit-cart .selection-bar:not(:hover):not(:focus-within) .visit-cart-add-button,
  body:not(.has-visit-cart) .selection-bar:not(:hover):not(:focus-within) .visit-cart-open-button {
    display: inline-flex;
  }

  .selection-bar:not(:hover):not(:focus-within) .visit-cart-clear-button {
    display: inline-flex;
  }

  .selection-bar:not(:hover):not(:focus-within) .selection-cart-actions {
    width: auto;
    height: auto;
    min-width: 0;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid rgba(32, 166, 216, .24);
  }

  .selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button {
    width: auto;
    height: auto;
    min-height: 50px;
    flex: 1 1 0;
    padding: 10px 14px;
    border-radius: 8px;
    gap: 8px;
  }

  .selection-bar:not(:hover):not(:focus-within) .selection-cart-actions button span,
  .selection-bar:not(:hover):not(:focus-within) .selection-cart-actions .visit-cart-add-button {
    font-size: inherit;
    line-height: inherit;
  }

  .selection-bar:not(:hover):not(:focus-within) .visit-cart-open-button strong {
    position: static;
    border: 0;
    box-shadow: none;
  }

  .selection-client-search {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .selection-bar {
    left: auto;
    right: 18px;
    bottom: 98px;
    width: var(--selection-drawer-tab);
    height: var(--selection-drawer-tab);
    grid-template-columns: 1fr;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
  }

  .selection-cart-actions,
  .selection-bar:not(:hover):not(:focus-within) .selection-cart-actions {
    width: var(--selection-drawer-tab);
    height: var(--selection-drawer-tab);
    padding: 0;
    border-radius: 50%;
  }
}

.selection-bar button:disabled {
  cursor: not-allowed;
  opacity: .52;
  transform: none;
}

.proposal-modal-backdrop,
.proposal-modal {
  display: none;
}

.proposal-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30;
  background: rgba(23, 34, 49, .42);
}

.proposal-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 31;
  width: min(720px, calc(100vw - 28px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  transform: translate(-50%, -50%);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 22px 70px rgba(23, 34, 49, .22);
}

body.show-proposal-modal .property-proposal-modal,
body.show-proposal-modal .property-proposal-modal-backdrop {
  display: block;
}

body.show-visit-modal .visit-request-modal,
body.show-visit-modal .visit-request-modal-backdrop {
  display: block;
}

.proposal-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.proposal-modal-head h2 {
  margin: 0;
}

.selected-summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted);
  font-weight: 800;
}

.visit-request-modal {
  width: min(1080px, calc(100vw - 28px));
  padding: 0;
  border-color: #cddbeb;
  background: #f7fafc;
}

.visit-request-head {
  position: relative;
  margin: 0;
  padding: 24px 26px 22px;
  border-bottom: 0;
  background: #102752;
  color: #fff;
}

.visit-request-head::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 5px;
  background: #20a6d8;
}

.visit-request-head .eyebrow,
.visit-request-head h2,
.visit-request-head span {
  color: inherit;
}

.visit-request-head h2 {
  margin-top: 7px;
  font-size: 28px;
  line-height: 1.12;
}

.visit-request-hero span {
  display: block;
  margin-top: 8px;
  color: #d7e7f7;
  font-size: 14px;
  font-weight: 850;
}

.visit-request-head button.secondary {
  color: #102752;
  background: #fff;
  border-color: rgba(255,255,255,.7);
}

.visit-request-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 24px;
}

.visit-request-steps button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #fff;
  color: #24364d;
  font-size: 13px;
  font-weight: 950;
  text-align: left;
  box-shadow: 0 12px 28px rgba(23, 34, 49, .05);
}

.visit-request-steps button.is-active {
  color: #fff;
  background: #102752;
  border-color: #102752;
}

.visit-request-steps button.is-active b {
  color: #102752;
  background: #fff;
}

.visit-request-steps b {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #102752;
  color: #fff;
}

.visit-stage {
  display: none;
  margin: 0 24px 16px;
  padding: 18px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(23, 34, 49, .06);
}

.visit-stage.is-active {
  display: block;
}

.visit-stage > header {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 15px;
}

.visit-stage > header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  background: #eaf6fb;
  color: #11678d;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.visit-stage h3,
.visit-stage p {
  margin: 0;
}

.visit-stage h3 {
  color: #102033;
  font-size: 19px;
  line-height: 1.2;
}

.visit-stage p {
  margin-top: 4px;
  color: #687789;
  font-size: 13px;
  font-weight: 800;
}

.visit-request-grid {
  align-items: stretch;
}

.visit-request-grid label,
.visit-stage > label:not(.visit-request-toggle) {
  color: #526173;
  font-size: 13px;
  font-weight: 950;
}

.visit-request-modal .selected-summary {
  min-height: 58px;
  border-color: #d7e3ef;
  background: #f8fbff;
  color: #24364d;
  font-size: 15px;
  line-height: 1.35;
}

.visit-count-summary {
  color: #102752;
  font-size: 18px;
}

.visit-count-summary span {
  margin-right: 4px;
  color: #102752;
  font-size: 22px;
  font-weight: 950;
}

.visit-request-modal textarea {
  min-height: 96px;
  border-color: #d7e3ef;
  background: #fff;
}

.visit-client-control input {
  width: 100%;
}

.visit-client-results {
  top: calc(100% + 8px);
  bottom: auto;
}

.visit-client-summary {
  margin-top: 8px;
  min-height: 42px;
}

.visit-cart-layout {
  display: grid;
  grid-template-columns: minmax(220px, .35fr) minmax(0, 1fr);
  gap: 16px;
}

.visit-cart-summary {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 160px;
  padding: 16px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #f8fbff;
}

.visit-cart-summary span,
.visit-cart-summary small {
  color: #687789;
  font-size: 12px;
  font-weight: 900;
}

.visit-cart-summary strong {
  color: #102033;
  font-size: 17px;
  line-height: 1.25;
}

.visit-cart-counter {
  margin-top: 10px;
  padding: 12px;
  border-radius: 8px;
  background: #102752;
  color: #fff;
  font-weight: 950;
}

.visit-cart-counter span {
  margin-right: 5px;
  color: inherit;
  font-size: 28px;
}

.visit-cart-list,
.visit-suggestion-list {
  display: grid;
  gap: 10px;
}

.visit-cart-item,
.visit-suggestion-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) minmax(120px, auto);
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #fff;
}

.visit-suggestion-card.is-added {
  border-color: rgba(47, 125, 86, .34);
  background: #f4fbf7;
}

.visit-cart-thumb {
  overflow: hidden;
  display: grid;
  place-items: center;
  width: 86px;
  height: 58px;
  border-radius: 8px;
  background: #eaf0f6;
  color: #506173;
  font-weight: 950;
}

.visit-cart-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.visit-cart-item strong,
.visit-suggestion-card strong,
.visit-cart-item span,
.visit-suggestion-card span,
.visit-cart-item small,
.visit-suggestion-card small {
  display: block;
  min-width: 0;
}

.visit-cart-item strong,
.visit-suggestion-card strong {
  color: #102033;
  font-size: 15px;
}

.visit-cart-item span,
.visit-suggestion-card span {
  overflow: hidden;
  color: #24364d;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.visit-cart-item small,
.visit-suggestion-card small {
  overflow: hidden;
  color: #687789;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.visit-cart-side {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.visit-cart-side b {
  color: #102752;
  font-size: 14px;
  white-space: nowrap;
}

.visit-suggestions-preview {
  display: grid;
  gap: 14px;
  max-height: min(470px, 48vh);
  overflow: auto;
  padding-right: 4px;
}

.visit-suggestion-group {
  display: grid;
  gap: 10px;
}

.visit-suggestion-group h4 {
  margin: 0;
  color: #102752;
  font-size: 15px;
}

.visit-suggestion-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.visit-suggestion-reasons span {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 999px;
  background: #eaf6fb;
  color: #11678d;
  font-size: 11px;
  font-weight: 950;
}

.visit-wizard-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.visit-request-toggle {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 15px;
  padding: 10px 12px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #f8fbff;
  color: #20303a;
  font-size: 13px;
  font-weight: 900;
}

.visit-request-toggle input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.visit-request-preview {
  display: grid;
  gap: 12px;
  max-height: min(390px, 42vh);
  overflow: auto;
  margin-top: 0;
  padding-right: 4px;
}

.visit-request-empty {
  padding: 14px;
  border: 1px dashed #c8d7e5;
  border-radius: 8px;
  background: #f7fbff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
}

.visit-request-empty.error {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: rgba(180, 35, 24, .26);
}

.visit-request-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.visit-request-summary strong,
.visit-request-summary span {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #f8fbff;
  color: #25466c;
  font-size: 13px;
  font-weight: 950;
}

.visit-request-summary strong {
  background: var(--accent);
  color: #fff;
}

.visit-agency-card {
  position: relative;
  overflow: hidden;
  padding: 15px 16px 14px 20px;
  border: 1px solid #d7e3ef;
  border-radius: 8px;
  background: #fff;
}

.visit-agency-card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5px;
  background: #20a6d8;
}

.visit-agency-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.visit-agency-card-head strong,
.visit-agency-card-head span {
  display: block;
}

.visit-agency-card-head strong {
  color: #1f2b3a;
  font-size: 16px;
  line-height: 1.2;
}

.visit-agency-card-head span,
.visit-agency-card p {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.visit-agency-card-head em {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.visit-agency-card-head em.ready {
  color: #15513d;
  background: #e6f7ef;
}

.visit-agency-card-head em.pending {
  color: #6a3d00;
  background: #fff2d6;
}

.visit-agency-card p {
  margin: 8px 0 11px;
}

.visit-agency-card ul,
.visit-whatsapp-results {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visit-agency-card li,
.visit-whatsapp-results li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #edf2f7;
  border-radius: 8px;
  background: #f8fbff;
  color: #20303a;
  font-size: 13px;
  font-weight: 850;
}

.visit-agency-card li span,
.visit-whatsapp-results li span {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
}

.visit-agency-card details {
  margin-top: 10px;
}

.visit-agency-card summary {
  cursor: pointer;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
}

.visit-agency-card pre {
  overflow: auto;
  margin: 8px 0 0;
  padding: 10px;
  border: 1px solid #d7e5f2;
  border-radius: 8px;
  background: #f8fbff;
  color: #20303a;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.visit-request-result {
  display: grid;
  gap: 12px;
  margin-top: 0;
}

.visit-request-result[hidden] {
  display: none;
}

.visit-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.visit-stage-finish .actions {
  margin-top: 0;
  padding-top: 0;
}

.visit-stage-finish #create-visit-request {
  min-width: 230px;
}

@media (max-width: 780px) {
  .visit-request-head {
    padding: 20px;
  }

  .visit-request-steps,
  .visit-request-summary {
    grid-template-columns: 1fr;
  }

  .visit-cart-layout,
  .visit-cart-item,
  .visit-suggestion-card {
    grid-template-columns: 1fr;
  }

  .visit-cart-thumb {
    width: 100%;
    height: 150px;
  }

  .visit-cart-side {
    justify-items: stretch;
  }

  .visit-stage {
    margin-right: 16px;
    margin-left: 16px;
    padding: 15px;
  }

  .visit-stage > header {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .visit-stage > header > span {
    justify-content: flex-start;
    width: fit-content;
    padding: 0 12px;
  }
}

.landing-created a {
  overflow-wrap: anywhere;
  font-weight: 900;
}

.client-context-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 16px;
  padding: 12px 14px;
  background: #edf7f2;
  border: 1px solid rgba(47, 125, 86, .28);
  border-radius: 8px;
}

.client-context-bar div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.client-context-bar span {
  color: var(--success);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-context-bar strong {
  color: #20303a;
}

.client-context-bar small {
  color: var(--muted);
  font-weight: 800;
}

.client-quick-actions {
  margin-top: 14px;
}

.client-profile-card {
  display: grid;
  gap: 18px;
}

.client-profile-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.client-profile-main {
  min-width: 0;
}

.client-profile-main h1 {
  margin-top: 5px;
  font-size: 34px;
}

.client-contact-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 700;
}

.client-contact-line span {
  overflow-wrap: anywhere;
}

.client-profile-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.client-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.client-profile-grid div {
  min-height: 74px;
  padding: 12px 13px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.client-profile-grid span,
.client-profile-grid small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-profile-grid strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 16px;
}

.client-profile-grid small {
  margin-top: 4px;
}

.client-edit-modal {
  width: min(980px, calc(100vw - 28px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.client-edit-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding-bottom: 13px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.client-edit-head h2 {
  margin: 0;
}

.client-edit-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}

.client-edit-section-head h2 {
  margin: 0;
}

.client-edit-tracking-fields.is-locked,
.client-edit-modal textarea[data-client-tracking-input]:disabled {
  opacity: .58;
}

.client-edit-tracking-fields.is-locked input,
.client-edit-tracking-fields.is-locked select,
.client-edit-modal textarea[data-client-tracking-input]:disabled {
  cursor: not-allowed;
  background: var(--panel-soft);
}

.activity-list {
  display: grid;
  gap: 10px;
}

.activity-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 12px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.activity-item p {
  margin: 4px 0 0;
  color: var(--muted);
}

.activity-detail-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #142034;
  box-shadow: none;
  font: inherit;
  font-weight: 950;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  cursor: pointer;
}

.activity-detail-trigger:hover {
  color: var(--accent);
  transform: none;
  box-shadow: none;
}

.activity-detail-modal {
  z-index: 42;
  width: min(620px, calc(100vw - 28px));
  padding: 22px;
}

.activity-detail-backdrop {
  z-index: 41;
}

body.show-activity-detail .activity-detail-backdrop,
body.show-activity-detail .activity-detail-modal {
  display: block;
}

body.show-answer .activity-detail-backdrop,
body.show-answer .activity-detail-modal {
  display: none !important;
}

.activity-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.activity-detail-head h2 {
  margin: 2px 0 0;
}

.activity-detail-body {
  max-height: min(58vh, 560px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-size: 14px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.activity-comment {
  margin-top: 9px;
  padding: 9px 10px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.activity-image-link {
  display: grid;
  gap: 7px;
  width: min(260px, 100%);
  margin-top: 10px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.activity-image-link img {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.activity-document-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin-top: 10px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--accent);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.activity-document-link::before {
  content: "PDF";
  flex: 0 0 auto;
  padding: 3px 6px;
  border-radius: 5px;
  background: #eaf2ff;
  color: #17377d;
  font-size: 11px;
}

.activity-document-link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-item small {
  display: inline-block;
  margin-top: 6px;
  color: var(--accent);
  font-weight: 900;
}

.activity-meta {
  display: grid;
  gap: 6px;
  justify-items: end;
  align-content: start;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.activity-meta a {
  color: var(--accent);
  font-size: 13px;
}

.empty-state {
  grid-column: 1 / -1;
  padding: 24px;
}

.wizard-actions {
  min-height: 46px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}

.page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.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;
}

.mail-layout {
  display: grid;
  grid-template-columns: 210px minmax(300px, 390px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.mail-folders,
.inbox-panel,
.mail-reader {
  margin-top: 0;
}

.mail-reader {
  min-height: 520px;
}

.mail-folders {
  padding: 16px;
  position: sticky;
  top: 18px;
}

.mail-account-card {
  display: grid;
  gap: 4px;
  padding-bottom: 14px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.mail-account-card strong {
  color: var(--text);
  font-size: 16px;
}

.mail-account-card span {
  color: var(--muted);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mail-folder-list {
  display: grid;
  gap: 6px;
}

.mail-folder-list a {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 7px;
  color: var(--text);
  text-decoration: none;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.mail-folder-list a:hover,
.mail-folder-list a.active {
  background: var(--accent-soft);
  color: var(--navy);
}

.mail-folder-list a.active {
  box-shadow: inset 4px 0 0 var(--navy);
}

.mail-folder-list span {
  font-weight: 900;
}

.mail-folder-list small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.mail-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.mail-toolbar h2 {
  margin: 0;
}

.mail-toolbar p {
  margin: 2px 0 0;
}

.mail-search {
  width: 100%;
  margin-bottom: 10px;
  min-height: 42px;
}

.inbox-list {
  display: grid;
  gap: 7px;
  max-height: calc(100vh - 250px);
  overflow: auto;
  padding-right: 4px;
}

.inbox-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.inbox-item:hover,
.inbox-item.active {
  border-color: rgba(36, 143, 211, .62);
  background: var(--accent-soft);
  box-shadow: var(--shadow-sm);
}

.inbox-item.unseen strong {
  font-weight: 900;
}

.inbox-item.seen strong {
  color: var(--text);
}

.inbox-item span,
.inbox-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-item span {
  color: var(--muted);
}

.inbox-item small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.mail-reader-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.mail-reader-head h2 {
  margin: 0 0 6px;
}

.mail-reader-head p {
  margin: 0;
}

.mail-recipients {
  margin-top: 5px !important;
  overflow-wrap: anywhere;
}

.mail-action-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

.mail-action-bar form {
  margin: 0;
}

.mail-action-bar button {
  min-height: 36px;
  padding: 8px 11px;
}

.mail-body-frame {
  width: 100%;
  min-height: 420px;
  margin-top: 16px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}

.reply-box {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.reply-box.collapsed {
  display: none;
}

.hidden {
  display: none !important;
}

.client-match-box {
  margin: 14px 0 4px;
  padding: 12px 13px;
  border: 1px solid rgba(47, 125, 86, .24);
  border-radius: 6px;
  background: var(--success-soft);
}

.client-match-box .checkbox-row {
  margin-top: 0;
  color: var(--text);
}

.client-match-box p {
  margin: 7px 0 0;
  font-size: 13px;
}

.reply-box textarea {
  min-height: 150px;
}

.signature-note {
  margin: 8px 0 0;
}

.profile-panel {
  display: grid;
  gap: 18px;
}

.profile-photo-block {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.profile-photo-preview {
  width: 96px;
  height: 96px;
  font-size: 30px;
}

.profile-photo-block h2,
.profile-password h2 {
  margin-bottom: 6px;
}

.profile-photo-block p {
  margin: 0;
}

.profile-signature-block {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.signature-preview {
  min-height: 120px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  font-weight: 900;
  overflow: hidden;
}

.signature-preview img {
  display: block;
  max-width: 100%;
  max-height: 140px;
  object-fit: contain;
}

.checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: var(--muted);
  font-weight: 800;
}

.checkbox-row input {
  width: auto;
}

.profile-password {
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.dossier-page,
.proposal-page {
  background: #eef3f8;
}

.dossier-shell,
.proposal-shell {
  width: min(1120px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 28px 0 42px;
}

.dossier-cover,
.proposal-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.proposal-hero {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
}

.proposal-hero img {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

.proposal-hero h1,
.dossier-cover h1 {
  margin: 0;
}

.proposal-hero p {
  margin: 8px 0 0;
}

.proposal-contact,
.dossier-facts,
.proposal-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.proposal-contact span,
.dossier-facts span,
.proposal-facts span {
  padding: 5px 9px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dossier-property,
.proposal-property {
  break-inside: avoid;
  overflow: hidden;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.dossier-main-image,
.proposal-media {
  min-height: 230px;
  background: #172331;
}

.dossier-main-image img,
.proposal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dossier-property-body,
.proposal-body {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.dossier-property-body strong,
.proposal-body strong {
  color: #2178a6;
  font-size: 22px;
}

.dossier-property-body small,
.proposal-body small {
  color: var(--muted);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.dossier-print-toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  justify-content: center;
  padding: 12px;
  background: rgba(238, 243, 248, .94);
  backdrop-filter: blur(10px);
}

.dossier-ref-layout {
  width: min(210mm, calc(100vw - 24px));
  padding: 18px 0 34px;
}

.dossier-ref-page {
  position: relative;
  overflow: hidden;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto 22px;
  background: #fff;
  color: #666;
  box-shadow: 0 18px 60px rgba(24, 38, 55, .16);
  break-after: page;
  page-break-after: always;
}

.dossier-ref-page:last-child {
  break-after: auto;
  page-break-after: auto;
}

.dossier-ref-hero {
  position: relative;
  height: 116mm;
  background: #dce5ec;
}

.dossier-ref-hero > img:not(.dossier-ref-logo):not(.dossier-ref-qr) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dossier-ref-no-photo {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #dfeaf2, #f7fbff);
  color: #2f96c8;
  font-size: 34px;
  font-weight: 950;
  letter-spacing: 0;
}

.dossier-ref-logo {
  position: absolute;
  top: 7mm;
  left: 7mm;
  width: 66mm;
  height: 25mm;
  max-height: 25mm;
  padding: 3mm 4mm;
  box-sizing: border-box;
  object-fit: contain;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(219, 229, 237, .92);
  border-radius: 3mm;
  box-shadow: 0 2mm 6mm rgba(22, 34, 49, .14);
}

.dossier-ref-qr {
  position: absolute;
  top: 6mm;
  right: 7mm;
  width: 24mm;
  height: 24mm;
  padding: 2mm;
  object-fit: contain;
  background: #fff;
}

.dossier-ref-band {
  position: relative;
  z-index: 2;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(var(--dossier-fact-count, 4), minmax(0, 1fr)) 54mm;
  align-items: stretch;
  min-height: 26mm;
  margin: -13mm 15mm 0;
  background: #fff;
  border: 1px solid #dbe5ed;
  border-radius: 5mm;
  box-shadow: 0 4mm 10mm rgba(22, 34, 49, .10);
}

.dossier-ref-band div,
.dossier-ref-price {
  display: grid;
  place-items: center;
}

.dossier-ref-band div {
  grid-template-rows: 8mm auto;
  align-content: center;
  gap: 1.5mm;
  min-width: 0;
  padding: 2.5mm 1.5mm;
  border-right: 1px solid #edf1f4;
}

.dossier-ref-band i {
  width: 8mm;
  height: 8mm;
  display: grid;
  place-items: center;
  color: #4f4f4f;
  font-style: normal;
}

.dossier-ref-band svg {
  width: 7.5mm;
  height: 7.5mm;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dossier-ref-band div strong {
  max-width: 100%;
  color: #4d4d4d;
  font-size: 16px;
  line-height: 1.05;
  font-weight: 650;
  text-align: center;
  white-space: nowrap;
}

.dossier-ref-price {
  margin: 0;
  background: #3aa2ce;
  color: #fff;
  font-size: 27px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}

.dossier-ref-content {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 15mm;
  padding: 9mm 12mm 0;
  align-items: start;
}

.dossier-ref-summary h1 {
  margin: 0 0 2mm;
  color: #666;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 500;
}

.dossier-ref-summary p,
.dossier-ref-description p {
  margin: 0 0 2mm;
  color: #666;
  font-size: 16px;
  line-height: 1.48;
}

.dossier-ref-summary b {
  font-weight: 800;
}

.dossier-ref-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2mm 4mm;
  margin: 3mm 0 0;
  padding: 2.5mm 0 0;
  border-top: 1px solid #e1e7ec;
}

.dossier-ref-details > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 1.5mm;
}

.dossier-ref-details dt,
.dossier-ref-details dd {
  min-width: 0;
  margin: 0;
  color: #666;
  font-size: 10.5px;
  line-height: 1.25;
}

.dossier-ref-details dt {
  overflow: hidden;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dossier-ref-details dd {
  font-weight: 500;
  text-align: right;
  white-space: nowrap;
}

.dossier-ref-description h2 {
  margin: 0 0 2mm;
  color: #666;
  font-size: 16px;
  line-height: 1.32;
  font-weight: 750;
  text-transform: uppercase;
}

.dossier-ref-description p {
  font-size: 15px;
}

.dossier-ref-summary,
.dossier-ref-description {
  display: grid;
  grid-template-rows: 62mm auto;
  align-items: start;
}

.dossier-ref-summary.has-details {
  grid-template-rows: 82mm auto;
}

.dossier-ref-summary.has-details .dossier-ref-thumbs div {
  height: 30mm;
  aspect-ratio: auto;
}

.dossier-ref-summary-copy,
.dossier-ref-description-copy {
  min-height: 0;
  overflow: hidden;
}

.dossier-ref-thumbs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2mm;
}

.dossier-ref-thumbs div,
.dossier-ref-map {
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #e8eef4;
  color: #8190a1;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
  border: 1px solid #dbe5ed;
  border-radius: 5mm;
  box-shadow: 0 4mm 10mm rgba(22, 34, 49, .10);
}

.dossier-ref-thumbs div {
  aspect-ratio: 1 / 1;
}

.dossier-ref-thumbs img,
.dossier-ref-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dossier-ref-map {
  height: 81mm;
}

.dossier-energy-card {
  position: relative;
  align-content: start;
  gap: 1mm;
  padding: 3mm;
  background: #f2f2f2 !important;
}

.dossier-energy-card span {
  color: #333;
  font-size: 6px;
  font-weight: 800;
  text-transform: uppercase;
}

.dossier-energy-card i {
  width: 78%;
  min-height: 4.4mm;
  display: flex;
  align-items: center;
  padding-left: 3mm;
  clip-path: polygon(0 0, calc(100% - 4mm) 0, 100% 50%, calc(100% - 4mm) 100%, 0 100%);
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.dossier-energy-card .energy-a { background: #00a64a; }
.dossier-energy-card .energy-b { background: #18bf3f; }
.dossier-energy-card .energy-c { background: #94cf21; }
.dossier-energy-card .energy-d { background: #f2db13; }
.dossier-energy-card .energy-e { background: #f6a016; }
.dossier-energy-card .energy-f { background: #f36b1d; }
.dossier-energy-card .energy-g { background: #f52626; }

.dossier-energy-card strong {
  position: absolute;
  right: 7mm;
  bottom: 12mm;
  color: rgba(100, 100, 100, .7);
  font-size: 20px;
  font-weight: 500;
  transform: rotate(-28deg);
}

.dossier-ref-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 13mm;
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  align-items: center;
  padding: 0 23mm;
  background: #36a0ca;
  color: #fff;
  font-size: 18px;
  letter-spacing: 1.4px;
}

.dossier-showcase-root {
  overflow-x: auto;
  background: #252525;
}

.dossier-showcase-layout {
  width: min(297mm, calc(100vw - 24px));
  min-width: 297mm;
  padding: 18px 0 34px;
}

.dossier-showcase-page {
  position: relative;
  overflow: hidden;
  width: 297mm;
  height: 210mm;
  margin: 0 auto 22px;
  background: #fff;
  color: #151515;
  border: .35mm solid #d7d7d7;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .34);
  break-after: page;
  page-break-after: always;
}

.dossier-showcase-page:last-child {
  break-after: auto;
  page-break-after: auto;
}

.dossier-showcase-hero {
  position: absolute;
  top: 2mm;
  right: 2mm;
  left: 2mm;
  height: 148mm;
  overflow: hidden;
  background: #dce5ec;
}

.dossier-showcase-hero > img:not(.dossier-showcase-logo):not(.dossier-showcase-qr) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dossier-showcase-no-photo {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #dfeaf2, #f7fbff);
  color: #389bc7;
  font-size: 44px;
  font-weight: 950;
}

.dossier-showcase-logo {
  position: absolute;
  top: 2mm;
  left: 2mm;
  width: 58mm;
  height: 24mm;
  padding: 2.5mm 3mm;
  box-sizing: border-box;
  object-fit: contain;
  background: rgba(255, 255, 255, .97);
}

.dossier-showcase-qr {
  position: absolute;
  top: 2mm;
  right: 2mm;
  width: 24mm;
  height: 24mm;
  padding: 2mm;
  box-sizing: border-box;
  object-fit: contain;
  background: #fff;
}

.dossier-showcase-copy {
  position: absolute;
  z-index: 3;
  top: 134mm;
  left: 0;
  width: 145mm;
  min-height: 28mm;
  display: grid;
  place-items: center;
  padding: 3mm 5mm;
  box-sizing: border-box;
  background: #59a7d1;
  color: #fff;
  text-align: center;
}

.dossier-showcase-copy h1 {
  margin: 0;
  max-width: 100%;
  color: inherit;
  font-size: 28px;
  line-height: 1.12;
  font-weight: 500;
  letter-spacing: -.02em;
}

.dossier-showcase-facts {
  position: absolute;
  z-index: 3;
  top: 164mm;
  left: 0;
  width: 145mm;
  height: 13mm;
  display: flex;
  align-items: stretch;
  background: #f4f4f4;
  border-top: .35mm solid #fff;
  border-bottom: .35mm solid #d6d6d6;
}

.dossier-showcase-facts > div {
  min-width: 22mm;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5mm;
  padding: 1.5mm 2mm;
  box-sizing: border-box;
  border-right: .35mm solid #d0d0d0;
  white-space: nowrap;
}

.dossier-showcase-facts > div:last-child {
  border-right: 0;
}

.dossier-showcase-facts .dossier-showcase-reference {
  min-width: 42mm;
  flex-grow: 1.55;
  justify-content: flex-start;
  padding-left: 3mm;
}

.dossier-showcase-facts span,
.dossier-showcase-facts strong {
  color: #111;
  font-size: 19px;
  line-height: 1;
}

.dossier-showcase-facts strong {
  font-weight: 800;
}

.dossier-showcase-facts i {
  width: 7mm;
  height: 7mm;
  display: grid;
  place-items: center;
  color: #222;
  font-style: normal;
}

.dossier-showcase-facts svg {
  width: 7mm;
  height: 7mm;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dossier-showcase-facts .dossier-showcase-pool {
  min-width: 24mm;
}

.dossier-showcase-price {
  position: absolute;
  z-index: 3;
  top: 177mm;
  left: 0;
  width: 145mm;
  height: 23mm;
  display: grid;
  place-items: center;
  background: #f1f1f1;
  color: #55a6d2;
  font-size: 31px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.02em;
}

.dossier-showcase-secondary {
  position: absolute;
  z-index: 4;
  top: 128mm;
  left: 148mm;
  width: 108mm;
  height: 60mm;
  overflow: hidden;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 3mm;
  border-radius: 5mm 5mm 0 0;
  background: #fff;
  color: #7f8c99;
  font-size: 14px;
  font-weight: 800;
}

.dossier-showcase-secondary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2mm 2mm 0 0;
}

.dossier-showcase-energy {
  position: absolute;
  z-index: 5;
  right: 3mm;
  bottom: 21mm;
  width: 34mm;
  height: 35mm;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: 1.2mm;
  padding: 2mm;
  box-sizing: border-box;
  background: rgba(246, 246, 246, .98);
  border: .35mm solid #e2e2e2;
}

.dossier-showcase-energy small {
  color: #333;
  font-size: 6px;
  line-height: 1.1;
  font-weight: 850;
  text-transform: uppercase;
}

.dossier-showcase-energy-scale {
  display: grid;
  align-content: start;
  gap: .45mm;
}

.dossier-showcase-energy-scale span {
  width: var(--energy-width, 58%);
  min-height: 3mm;
  display: flex;
  align-items: center;
  padding-left: 1.2mm;
  box-sizing: border-box;
  clip-path: polygon(0 0, calc(100% - 2.4mm) 0, 100% 50%, calc(100% - 2.4mm) 100%, 0 100%);
  color: #fff;
  font-size: 6px;
  line-height: 1;
  font-weight: 950;
}

.dossier-showcase-energy-scale .energy-a { --energy-width: 50%; background: #169b45; }
.dossier-showcase-energy-scale .energy-b { --energy-width: 57%; background: #46b749; }
.dossier-showcase-energy-scale .energy-c { --energy-width: 64%; background: #a5ca35; }
.dossier-showcase-energy-scale .energy-d { --energy-width: 71%; background: #f0d431; }
.dossier-showcase-energy-scale .energy-e { --energy-width: 78%; background: #f2a52b; }
.dossier-showcase-energy-scale .energy-f { --energy-width: 85%; background: #ec6a2c; }
.dossier-showcase-energy-scale .energy-g { --energy-width: 92%; background: #dc392e; }

.dossier-showcase-energy-scale span.active {
  outline: .8mm solid #333;
  outline-offset: -.5mm;
}

.dossier-showcase-energy > strong {
  position: absolute;
  right: 3mm;
  bottom: 8mm;
  max-width: 24mm;
  color: rgba(82, 82, 82, .74);
  font-size: 12px;
  line-height: 1.05;
  font-weight: 650;
  text-align: center;
  transform: rotate(-28deg);
}

.dossier-showcase-energy.has-rating > strong {
  right: 4mm;
  bottom: 12mm;
  color: #222;
  font-size: 24px;
  font-weight: 900;
  transform: none;
}

.dossier-showcase-contact {
  position: absolute;
  left: 164mm;
  bottom: 5mm;
  width: 76mm;
  display: grid;
  justify-items: center;
  gap: .5mm;
  color: #55a6d2;
  font-size: 12px;
  line-height: 1.1;
  text-align: center;
}

.dossier-showcase-contact strong {
  font-weight: 750;
}

.dossier-showcase-contact span {
  display: block;
}

.internal-property-shell {
  width: min(100%, 1500px);
}

.internal-property-hero {
  margin-bottom: 18px;
}

.internal-property-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.internal-property-meta-row span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.internal-property-meta-row strong {
  margin-left: 4px;
  color: var(--text);
}

.internal-property-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}

.internal-property-main {
  min-width: 0;
}

.internal-property-side {
  display: grid;
  gap: 18px;
}

.internal-property-alerts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.internal-property-alerts div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #f3d19d;
  border-radius: 8px;
  background: #fff8ed;
}

.internal-property-alerts strong {
  color: #8a4b0f;
  font-size: 13px;
}

.internal-property-alerts span {
  color: #6f5a3f;
  font-size: 13px;
  line-height: 1.35;
}

.internal-block {
  margin-bottom: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.internal-side-block {
  padding: 16px;
}

.internal-block-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.internal-side-block > .internal-block-summary {
  min-height: 0;
  padding: 0;
}

.internal-block-summary::-webkit-details-marker {
  display: none;
}

.internal-block-summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--accent);
  font-size: 18px;
  font-weight: 900;
}

.internal-block[open] > .internal-block-summary::after,
.internal-side-block[open] > .internal-block-summary::after {
  content: "-";
}

.internal-block-summary span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.internal-block-summary strong {
  color: var(--text);
  font-size: 17px;
}

.internal-side-block .internal-block-summary strong {
  font-size: 15px;
}

.internal-block-summary small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
}

.internal-block-summary em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

.internal-block-body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.internal-side-block > :not(summary) {
  margin-top: 12px;
}

.external-form-blocks {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.internal-sub-block {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-sub-block summary {
  padding: 12px;
  cursor: pointer;
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
  list-style: none;
}

.internal-sub-block summary::-webkit-details-marker {
  display: none;
}

.internal-sub-block summary::after {
  content: "+";
  float: right;
  color: var(--accent);
}

.internal-sub-block[open] summary {
  border-bottom: 1px solid var(--border);
}

.internal-sub-block[open] summary::after {
  content: "-";
}

.internal-sub-block .form-grid {
  padding: 12px;
}

.internal-property-section {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.internal-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
}

.internal-section-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 18px;
}

.internal-section-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.internal-price-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.internal-price-cards div {
  min-height: 82px;
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-price-cards span,
.internal-origin-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.internal-price-cards strong {
  color: var(--text);
  font-size: 17px;
}

.internal-price-history {
  display: grid;
  gap: 8px;
}

.internal-price-override-note {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(47, 125, 86, .24);
  border-radius: 8px;
  background: var(--success-soft);
}

.internal-price-override-note strong {
  color: var(--success);
  font-size: 13px;
}

.internal-price-override-note span {
  color: #355745;
  font-size: 13px;
  line-height: 1.35;
}

.internal-checklist-box,
.internal-hot-box {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-hot-box label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--text);
  font-weight: 900;
}

.property-portal-publication {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(90, 132, 190, .22);
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 74%);
}

.property-portal-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
}

.property-portal-form {
  display: grid;
  gap: 12px;
}

.property-portal-actions {
  display: flex;
  justify-content: flex-end;
}

.property-portal-toggle {
  min-height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(26, 44, 66, .04);
}

.property-portal-toggle input {
  width: 24px;
  height: 24px;
  accent-color: var(--accent);
}

.property-portal-toggle strong,
.property-portal-toggle small {
  display: block;
}

.property-portal-toggle strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.15;
}

.property-portal-toggle small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.property-portal-toggle:has(input:checked) {
  border-color: rgba(47, 125, 86, .38);
  background: #f3fbf6;
}

body.property-delete-open {
  overflow: hidden;
}

.property-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
}

.property-delete-modal[hidden] {
  display: none;
}

.property-delete-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(4px);
}

.property-delete-dialog {
  position: relative;
  z-index: 1;
  width: min(540px, 100%);
  padding: 30px;
  border: 1px solid rgba(151, 39, 52, .24);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .28);
}

.property-delete-dialog h2 {
  margin: 8px 0 12px;
  color: var(--text);
}

.property-delete-dialog p {
  line-height: 1.6;
}

.property-delete-kicker {
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.property-delete-kicker.danger {
  color: var(--danger);
}

.property-delete-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}

@media (max-width: 640px) {
  .property-delete-modal {
    align-items: end;
    padding: 12px;
  }

  .property-delete-dialog {
    padding: 22px;
    border-radius: 18px 18px 10px 10px;
  }

  .property-delete-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.internal-message-preview {
  margin-top: 10px;
}

.internal-message-preview summary {
  cursor: pointer;
  color: var(--accent);
  font-size: 13px;
  font-weight: 900;
}

.internal-message-preview pre {
  overflow: auto;
  max-height: 220px;
  margin: 10px 0 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
  color: var(--text);
  white-space: pre-wrap;
  font: 13px/1.45 "Segoe UI", sans-serif;
}

.internal-side-form {
  display: grid;
  gap: 8px;
}

.internal-side-form label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.internal-side-form textarea {
  min-height: 78px;
}

.internal-mini-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.internal-mini-list > div {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.internal-mini-list strong {
  color: var(--text);
  font-size: 13px;
}

.internal-mini-list span,
.internal-mini-list p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.internal-mini-list form {
  margin: 0;
}

.internal-comparables {
  display: grid;
  gap: 8px;
}

.internal-comparables a {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  text-decoration: none;
}

.internal-comparables a:hover {
  border-color: rgba(36, 143, 211, .35);
  background: #f8fbff;
}

.internal-comparables strong {
  color: var(--text);
  font-size: 14px;
}

.internal-comparables span,
.internal-comparables small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.internal-price-event {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.internal-price-event > div {
  display: grid;
  gap: 3px;
}

.internal-price-event > div:nth-child(2) {
  grid-auto-flow: column;
  align-items: center;
  justify-content: end;
}

.internal-price-event strong {
  color: var(--text);
  font-size: 14px;
}

.internal-price-event span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.internal-price-event em {
  color: #146c43;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}

.price-arrow {
  color: var(--muted);
  font-weight: 900;
}

.internal-property-map {
  height: 280px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #dbe5ee;
}

.internal-property-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.internal-map-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.internal-map-footer a {
  color: var(--accent);
  text-decoration: none;
}

.internal-origin-list {
  display: grid;
  gap: 8px;
}

.internal-origin-list div {
  display: grid;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

.internal-origin-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.internal-origin-list strong {
  color: var(--text);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.internal-empty-state {
  padding: 14px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
  color: var(--muted);
  font-size: 14px;
  line-height: 1.4;
}

.internal-property-actions {
  display: grid;
  gap: 10px;
}

.internal-property-actions .button {
  justify-content: center;
}

.internal-auto-contact-form {
  margin: 0;
}

.internal-auto-contact-form button {
  width: 100%;
}

.internal-auto-contact-status {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.internal-auto-contact-status div {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-auto-contact-status span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.internal-auto-contact-status strong {
  color: var(--text);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.internal-manual-fallbacks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.internal-manual-fallbacks a {
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.internal-property-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.internal-property-gallery a {
  overflow: hidden;
  display: block;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-property-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .18s ease;
}

.internal-property-gallery a:hover img {
  transform: scale(1.04);
}

.internal-property-summary-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.internal-property-summary-list div {
  min-height: 74px;
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel-soft);
}

.internal-property-summary-list span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.internal-property-summary-list strong {
  color: var(--text);
  font-size: 16px;
}

.property-record-shell {
  width: min(100%, 1980px);
  padding-top: 0;
}

.property-record-toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 66px;
  margin: -24px -18px 22px;
  padding: 12px 24px;
  border-bottom: 1px solid #dce4ec;
  background: #edf5fb;
}

.property-record-titlebar,
.property-toolbar-actions,
.property-side-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.property-back-link {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}

.property-module-title {
  color: #426e9f;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: 0;
}

.property-toolbar-form {
  margin: 0;
}

.property-record-hero {
  position: relative;
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr) 320px;
  gap: 28px;
  min-height: 330px;
  margin-bottom: 26px;
  padding: 24px;
  border-radius: 8px;
  background: #fff;
}

.property-hero-media {
  display: grid;
  grid-template-rows: 225px auto auto;
  gap: 18px;
  align-content: start;
}

.property-hero-media img,
.property-hero-media .captacion-media-empty {
  width: 100%;
  height: 225px;
  border-radius: 8px;
  object-fit: cover;
}

.property-rating {
  color: #f1c933;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 1px;
  text-align: center;
}

.property-reference-pill {
  min-height: 44px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #dff2d5;
  color: #28471d;
  font-size: 18px;
  font-weight: 900;
}

.property-hero-summary {
  align-content: start;
  padding-top: 2px;
}

.property-hero-summary .captacion-badges {
  margin-bottom: 8px;
}

.property-hero-summary h1 {
  margin: 0 0 24px;
  color: #333;
  font-size: 25px;
  line-height: 1.25;
  font-weight: 850;
  letter-spacing: 0;
}

.property-last-update {
  margin: 0 0 12px;
  color: #4f4f4f;
  font-size: 18px;
}

.property-price-card {
  width: min(100%, 265px);
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
  padding: 24px;
  border-radius: 8px;
  background: #eaf2f8;
}

.property-price-card strong {
  color: #426e9f;
  font-size: 25px;
  line-height: 1.1;
}

.property-price-card span {
  color: #1f2937;
  font-size: 17px;
}

.property-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  margin: 0;
  color: #3b3b3b;
}

.property-hero-facts span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 14px;
  border-right: 1px solid #ccd2d8;
  font-size: 18px;
  font-weight: 750;
}

.property-hero-facts span:first-child {
  padding-left: 0;
}

.property-hero-facts span:last-child {
  border-right: 0;
}

.property-hero-side {
  display: grid;
  gap: 22px;
  justify-items: end;
  align-content: start;
}

.property-source-chip {
  display: inline-flex;
  justify-content: center;
  max-width: 260px;
  padding: 10px 16px;
  border-radius: 6px;
  background: #5b8fcb;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

.property-source-chip.muted-chip {
  background: #eef4fb;
  color: #426e9f;
}

.property-record-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4px;
  margin-bottom: 0;
  border-bottom: 1px solid #d5dbe2;
}

.property-record-tabs a {
  min-height: 58px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 0 22px;
  border: 1px solid #d5dbe2;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  background: #fff;
  color: #4f4f4f;
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
}

.property-record-tabs a.active {
  color: #1f2937;
  background: #f7fbff;
  border-color: #c9d8e7;
  box-shadow: inset 0 3px 0 #5b8fcb;
}

.property-record-tabs span {
  min-width: 34px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #d9ebf9;
  color: #426e9f;
  font-size: 13px;
  text-align: center;
}

.property-record-shell .internal-property-grid {
  display: block;
}

.property-record-shell[data-current-page] [data-property-page] {
  display: none;
}

.property-record-shell[data-current-page] [data-property-page].is-active {
  display: block;
}

.property-record-shell[data-current-page] .internal-property-alerts.is-active {
  display: grid;
}

.property-record-shell:not(.is-form-page) #datos-editables {
  display: none;
}

.property-record-shell [data-property-form-actions] {
  display: none;
}

.property-record-shell [data-property-form-actions].is-active {
  display: flex;
}

.property-record-shell .internal-property-main {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.property-record-shell .control-panel-head {
  display: none;
}

.property-record-shell .internal-property-alerts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 20px;
}

.property-record-shell .internal-block,
.property-record-shell .internal-side-block {
  margin-bottom: 24px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

.property-record-shell .internal-side-block {
  padding: 0;
}

.property-record-shell .internal-block-summary,
.property-record-shell .internal-side-block > .internal-block-summary {
  min-height: 0;
  padding: 0 0 14px;
  border: 0;
  cursor: default;
}

.property-record-shell .internal-block-summary::after {
  display: none;
}

.property-record-shell .internal-block-summary strong {
  color: #5486c8;
  font-size: 28px;
  font-weight: 500;
}

.property-record-shell .internal-block-summary small,
.property-record-shell .internal-block-summary em {
  display: none;
}

.property-record-shell .internal-block-body,
.property-record-shell .external-form-blocks,
.property-record-shell .internal-side-block > :not(summary) {
  padding: 0;
}

.property-record-shell .external-form-blocks {
  gap: 22px;
}

.property-record-shell .internal-sub-block {
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.property-record-shell .internal-sub-block summary {
  padding: 0 0 14px;
  color: #5486c8;
  font-size: 28px;
  font-weight: 500;
  cursor: default;
}

.property-record-shell .internal-sub-block summary::after {
  display: none;
}

.property-record-shell .internal-sub-block[open] summary {
  border-bottom: 0;
}

.property-record-shell .internal-sub-block .form-grid {
  padding: 28px 22px;
  border-radius: 8px;
  background: #f5f5f5;
}

.property-record-shell #datos-editables > .internal-block-summary {
  display: none;
}

.property-record-shell #datos-editables {
  padding-top: 0;
}

.property-record-shell .internal-sub-block:first-of-type .form-grid {
  grid-template-columns: minmax(230px, .75fr) repeat(2, minmax(260px, 1fr));
}

.property-record-shell .captacion-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 44px;
}

.property-record-shell .captacion-form-grid label,
.property-record-shell .internal-side-form label {
  color: #222;
  font-size: 17px;
  font-weight: 800;
}

.property-record-shell input,
.property-record-shell select,
.property-record-shell textarea {
  min-height: 52px;
  border-color: #cfd5dc;
  border-radius: 6px;
  background-color: #fff;
  font-size: 17px;
}

.property-record-shell textarea {
  min-height: 130px;
}

.property-record-shell [data-house-panel="vivienda"] .captacion-edit-panel {
  width: min(100%, 1320px);
  margin-inline: auto;
}

.property-record-shell .house-form-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.property-record-shell .house-form-group {
  display: grid;
  gap: 14px;
  padding: 20px 0 22px;
  border: 0;
  border-bottom: 1px solid #dce4ec;
  border-radius: 0;
  background: transparent;
}

.property-record-shell .house-form-group:first-child {
  padding-top: 4px;
}

.property-record-shell .house-form-group:last-child {
  padding-bottom: 4px;
  border-bottom: 0;
}

.property-record-shell .house-form-group-head {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.property-record-shell .house-form-group-head h3,
.property-record-shell .house-form-group-head p {
  margin: 0;
}

.property-record-shell .house-form-group-head h3 {
  color: var(--text);
  font-size: 17px;
}

.property-record-shell .house-form-group-head p {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.property-record-shell .house-form-row,
.property-record-shell .house-form-address-row {
  display: grid;
  gap: 12px;
  align-items: end;
}

.property-record-shell .house-form-main-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.property-record-shell .house-form-commercial-row {
  grid-template-columns: minmax(170px, 1.35fr) minmax(150px, 1.1fr) repeat(2, minmax(125px, .9fr)) repeat(4, minmax(82px, .65fr));
}

.property-record-shell .house-form-address-row {
  grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr);
  align-items: start;
}

.property-record-shell .house-form-address-row > :last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.property-record-shell .house-form-address-row .address-detail-grid {
  grid-column: 1;
}

.property-record-shell .house-form-stack label {
  margin-bottom: 5px;
  color: #28384a;
  font-size: 14px;
  font-weight: 800;
}

.property-record-shell .house-form-stack input,
.property-record-shell .house-form-stack select {
  min-height: 44px;
  font-size: 15px;
}

.property-record-shell .house-form-stack textarea {
  min-height: 116px;
  font-size: 15px;
}

.property-record-shell .house-form-collapsible {
  overflow: hidden;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  background: #fff;
}

.property-record-shell .house-form-collapsible summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

.property-record-shell .house-form-collapsible summary::-webkit-details-marker {
  display: none;
}

.property-record-shell .house-form-collapsible summary span,
.property-record-shell .house-form-collapsible summary strong,
.property-record-shell .house-form-collapsible summary small {
  display: block;
}

.property-record-shell .house-form-collapsible summary strong {
  color: var(--text);
  font-size: 14px;
}

.property-record-shell .house-form-collapsible summary small,
.property-record-shell .house-form-collapsible summary em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.property-record-shell .house-form-collapsible summary::after {
  content: '+';
  order: 3;
  color: var(--accent);
  font-size: 20px;
  font-weight: 900;
}

.property-record-shell .house-form-collapsible[open] summary::after {
  content: '−';
}

.property-record-shell .house-form-collapsible[open] summary {
  border-bottom: 1px solid #e4eaf0;
}

.property-record-shell .house-form-collapsible .property-geo-panel {
  margin: 12px;
}

.property-record-shell .house-form-collapsible-body {
  padding: 14px;
}

@media (max-width: 1180px) {
  .property-record-shell .house-form-commercial-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .property-record-shell .house-form-address-row {
    grid-template-columns: minmax(280px, .85fr) minmax(340px, 1.15fr);
  }
}

@media (max-width: 780px) {
  .property-record-shell .house-form-main-row,
  .property-record-shell .house-form-commercial-row,
  .property-record-shell .house-form-address-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-record-shell .house-form-address-row > :last-child,
  .property-record-shell .house-form-address-row .address-detail-grid {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 520px) {
  .property-record-shell .house-form-main-row,
  .property-record-shell .house-form-commercial-row,
  .property-record-shell .house-form-address-row,
  .property-record-shell .house-form-address-row .address-detail-grid {
    grid-template-columns: 1fr;
  }

  .property-record-shell .house-form-group {
    padding: 16px 0 18px;
  }

  .property-record-shell .house-form-collapsible summary {
    align-items: flex-start;
  }

  .property-record-shell .house-form-collapsible summary em {
    display: none;
  }
}

.property-record-shell .actions {
  position: sticky;
  bottom: 16px;
  z-index: 15;
  justify-content: end;
  padding: 14px 0;
  background: linear-gradient(to top, rgba(255,255,255,.95), rgba(255,255,255,.72));
}

.property-record-shell .internal-property-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 4px;
}

.property-record-shell #mapa-ubicacion,
.property-record-shell #fotos-ficha {
  grid-column: 1 / -1;
}

.property-record-shell .internal-property-map {
  height: 420px;
}

.property-record-shell .internal-origin-list,
.property-record-shell .internal-mini-list,
.property-record-shell .internal-auto-contact-status,
.property-record-shell .internal-comparables {
  gap: 12px;
}

.property-record-shell .internal-origin-list div,
.property-record-shell .internal-mini-list > div,
.property-record-shell .internal-comparables a,
.property-record-shell .internal-auto-contact-status div {
  border-radius: 8px;
  background: #f7f7f7;
}

.property-record-shell .internal-price-cards {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.property-record-shell .internal-price-history {
  margin-top: 14px;
}

.property-record-shell .internal-checklist-box,
.property-record-shell .internal-hot-box {
  background: #fff;
}

.property-record-shell .captacion-checks {
  gap: 12px;
}

.property-record-shell .captacion-checks label {
  font-size: 16px;
}

.property-record-shell input[type="checkbox"] {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  accent-color: var(--accent);
}

.property-record-shell .internal-property-gallery {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.property-record-shell .internal-property-gallery a {
  border-radius: 6px;
}

.proposal-grid {
  display: grid;
  gap: 18px;
}

.proposal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

.proposal-actions form {
  margin: 0;
}

.proposal-page {
  background: #edf2f6;
}

.proposal-shell {
  width: min(1240px, calc(100vw - 40px));
  padding: 28px 0 54px;
}

.proposal-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: stretch;
  gap: 26px;
  min-height: 390px;
  padding: 34px;
  background: #ffffff;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(18, 34, 55, .12);
}

.proposal-hero-main {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 18px;
}

.proposal-brandbar {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 8px;
}

.proposal-brandbar img {
  width: 138px;
  height: auto;
  object-fit: contain;
}

.proposal-brandbar span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid #d7e2ec;
  border-radius: 999px;
  color: #17345a;
  background: #f7fafc;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.proposal-hero .eyebrow {
  margin: 0;
  color: #2778a8;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.proposal-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #0d2238;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: 0;
}

.proposal-message {
  max-width: 920px;
  margin: 0;
  color: #24384f;
  font-size: 20px;
  line-height: 1.5;
}

.proposal-contact {
  margin-top: 6px;
}

.proposal-contact span,
.proposal-facts span {
  min-height: 34px;
  padding: 7px 12px;
  background: #f5f8fb;
  border: 1px solid #d8e3ec;
  color: #52677d;
}

.proposal-agent {
  display: grid;
  grid-template-rows: 180px minmax(0, 1fr);
  overflow: hidden;
  background: #10243a;
  border-radius: 8px;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.proposal-agent-photo {
  min-height: 180px;
  display: grid;
  place-items: center;
  background: #dfe8ef;
}

.proposal-agent-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.proposal-agent-photo span {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #17345a;
  font-size: 34px;
  font-weight: 900;
}

.proposal-agent-body {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
}

.proposal-agent-body small {
  color: #8fd0e8;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.proposal-agent-body h2 {
  margin: 0;
  color: #ffffff;
  font-size: 25px;
}

.proposal-agent-body p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
}

.proposal-agent-links {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}

.proposal-agent-links a {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, .08);
  text-decoration: none;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.proposal-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 22px;
}

.proposal-summary div {
  padding: 18px;
  background: #ffffff;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(18, 34, 55, .07);
}

.proposal-summary span {
  display: block;
  color: #6a7d90;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.proposal-summary strong {
  display: block;
  margin-top: 4px;
  color: #10243a;
  font-size: 22px;
}

.proposal-grid {
  gap: 22px;
}

.proposal-property {
  grid-template-columns: minmax(360px, 42%) minmax(0, 1fr);
  min-height: 430px;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  box-shadow: 0 18px 52px rgba(18, 34, 55, .1);
}

.proposal-media {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: grid;
  place-items: center;
  background: #10243a;
}

.proposal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.proposal-property:hover .proposal-media img {
  transform: scale(1.018);
}

.proposal-media span {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #17345a;
  font-size: 24px;
  font-weight: 900;
}

.proposal-body {
  align-content: start;
  gap: 14px;
  padding: 28px;
}

.proposal-property-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.proposal-property-head small {
  color: #66788b;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.proposal-property-head strong {
  color: #2778a8;
  font-size: 26px;
  white-space: nowrap;
}

.proposal-body h2 {
  margin: 0;
  color: #0d2238;
  font-size: 24px;
  line-height: 1.22;
}

.proposal-location {
  margin: 0;
  color: #5d6f82;
  font-size: 18px;
}

.proposal-description {
  margin: 4px 0 0;
  color: #23364d;
  font-size: 16px;
  line-height: 1.58;
}

.proposal-actions {
  margin-top: 8px;
  padding-top: 16px;
}

.proposal-actions button {
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 8px;
  font-weight: 900;
}

@media print {
  @page {
    size: A4;
    margin: 0;
  }

  body {
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .sidebar,
  .selection-bar,
  .dossier-cover button,
  .dossier-print-toolbar,
  .proposal-actions {
    display: none !important;
  }

  .dossier-shell,
  .proposal-shell {
    width: 100%;
    padding: 0;
  }

  .dossier-property,
  .proposal-property,
  .dossier-cover,
  .proposal-hero {
    box-shadow: none;
  }

  .dossier-ref-layout {
    width: 210mm;
    padding: 0;
  }

  .dossier-ref-page {
    width: 210mm;
    height: 297mm;
    min-height: 297mm;
    margin: 0;
    box-shadow: none;
  }

  .dossier-showcase-layout {
    width: 297mm;
    min-width: 297mm;
    padding: 0;
  }

  .dossier-showcase-page {
    width: 297mm;
    height: 210mm;
    margin: 0;
    border: 0;
    box-shadow: none;
  }
}

@media (max-width: 920px) {
  .grid,
  .mission-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .internal-property-grid,
  .internal-property-summary-list,
  .internal-property-alerts,
  .internal-price-cards {
    grid-template-columns: 1fr;
  }

  .internal-price-event {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .internal-price-event > div:nth-child(2) {
    justify-content: start;
  }

  .control-subtabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .commercial-production-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gerencia-config-subtabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-dashboard {
    grid-template-columns: 1fr;
  }

  .viviendas-filterbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-console {
    grid-template-columns: 1fr;
  }

  .property-filter-panel {
    position: static;
    max-height: none;
  }

  .property-filter-row-primary,
  .property-filter-row-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-filter-pair,
  .property-filter-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-layout,
  .email-layout,
  .mail-layout {
    grid-template-columns: 1fr;
  }

  .mail-folders {
    position: static;
  }

  .mail-folder-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sidebar {
    position: static;
    min-height: auto;
    height: auto;
  }
}

@media (max-width: 760px) {
  .portal-layout {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    min-height: auto;
    height: auto;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .sidebar-user {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .user-avatar {
    width: 56px;
    height: 56px;
    font-size: 18px;
  }

  .side-nav {
    grid-template-columns: 1fr;
  }

  .page-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .visitas-head-actions {
    width: 100%;
  }

  .visitas-head-actions {
    justify-content: space-between;
  }

  .production-status-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .commercial-help-grid {
    grid-template-columns: 1fr;
  }

  .clients-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .client-profile-top,
  .client-profile-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .client-profile-actions .button,
  .client-profile-actions button {
    width: 100%;
  }

  .client-search {
    display: none;
    width: 100%;
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
  }

  body.show-client-search .client-search {
    display: grid;
  }

  .client-search-toggle {
    display: inline-flex;
  }

  .clients-actions,
  .client-tools-row {
    align-items: stretch;
  }

  .client-tools-row {
    flex-direction: column;
  }

  .clients-actions > button,
  .clients-actions > .button {
    min-width: 0;
    width: 100%;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 13px;
    line-height: 1.15;
  }

  .client-advanced-form {
    grid-template-columns: 1fr;
  }

  .gerencia-language-admin-form {
    grid-template-columns: 1fr;
  }

  .client-summary-grid,
  .client-row {
    grid-template-columns: 1fr;
  }

  .client-row-side {
    justify-items: start;
    text-align: left;
  }

  .compact-grid {
    grid-template-columns: 1fr;
  }

  .client-create-modal {
    width: min(100vw - 18px, 880px);
  }

  .client-create-modal .client-create-head {
    align-items: stretch;
    flex-direction: column;
  }

  .client-modal-close {
    width: 100%;
  }

  .profile-photo-block {
    grid-template-columns: 1fr;
  }

  .topbar {
    height: auto;
    align-items: flex-start;
    flex-direction: column;
    padding: 14px 16px;
  }

  .shell { padding: 16px; }

  .login-wrap { padding: 12px; }
  .login-shell {
    width: min(430px, 100%);
    grid-template-columns: 1fr;
    border-radius: 16px;
  }
  .login-box { padding: 18px 18px 16px; }
  .login-logo { width: min(188px, 72%); }
  .login-illustration {
    height: 172px;
    width: 100%;
  }
  .login-bear {
    width: 238px;
    height: 132px;
  }
  .login-bear .head {
    left: 58px;
    top: 17px;
    width: 112px;
    height: 88px;
  }
  .login-bear .body {
    left: 30px;
    height: 88px;
  }
  .login-bear .ear {
    width: 40px;
    height: 40px;
  }
  .login-bear .ear.left { left: 44px; }
  .login-bear .ear.right { right: 56px; }
  .login-bear .nose {
    left: 106px;
    top: 63px;
    width: 38px;
    height: 27px;
  }
  .login-bear .paw {
    width: 56px;
    height: 43px;
  }
  .login-house {
    right: 30px;
    bottom: 42px;
    transform: scale(.82);
  }
  .login-sleep-bubble {
    right: 64px;
    top: 10px;
    transform: rotate(-8deg) scale(.82);
  }
  .login-plant {
    transform: scale(.82);
  }
  .login-plant.right {
    transform: scaleX(-1) scale(.82);
  }
  .login-brand h1 { font-size: 34px; }
  .login-subtitle {
    font-size: 15px;
    gap: 10px;
  }
  .login-subtitle::before,
  .login-subtitle::after {
    width: 58px;
  }
  .login-field {
    min-height: 58px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    margin-top: 12px;
  }
  .login-field-icon {
    width: 36px;
    height: 36px;
  }
  .login-field input {
    min-height: 50px;
    font-size: 16px;
  }
  .login-actions button {
    min-height: 54px;
    font-size: 19px;
  }
  .login-promise {
    grid-template-columns: 62px auto 62px;
    font-size: 14px;
    margin-top: 16px;
  }
  .login-quote {
    min-height: 156px;
    padding: 38px 22px 22px;
  }
  .quote-text { font-size: 20px; }

  .grid,
  .form-grid,
  .mission-facts,
  .control-section-summary,
  .control-kpis,
  .control-subtabs,
  .gerencia-config-subtabs,
  .visitas-filterbar,
  .tabs,
  .provider-options,
  .wizard-steps,
  .profile-signature-block {
    grid-template-columns: 1fr;
  }

  .wizard-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .viviendas-filterbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .property-table-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .property-table-tools,
  .property-table-tools .button,
  .property-table-tools button {
    width: 100%;
  }

  .property-select-menu {
    width: 100%;
  }

  .property-select-options {
    left: 0;
    right: 0;
    width: 100%;
  }

  .property-table-scroll {
    max-height: none;
    min-height: 0;
  }

  .save-search-name-modal {
    width: calc(100vw - 18px);
    gap: 14px;
  }

  .save-search-name-brand {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 18px 0;
  }

  .save-search-name-brand img {
    width: 154px;
    max-width: 72%;
  }

  .save-search-name-content {
    padding: 0 18px;
  }

  .save-search-name-content h2 {
    font-size: 24px;
  }

  .save-search-name-actions {
    grid-template-columns: 1fr;
    display: grid;
    padding: 2px 18px 18px;
  }

  .property-quick-modal {
    width: calc(100vw - 18px);
    height: calc(100vh - 18px);
    max-height: calc(100vh - 18px);
  }

  .property-quick-head {
    padding: 14px;
  }

  .property-quick-head h2 {
    font-size: 20px;
  }

  .property-quick-body {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .property-quick-gallery {
    min-height: 300px;
    padding: 12px;
  }

  .property-quick-media,
  .property-quick-media img,
  .property-quick-placeholder {
    height: 300px;
    min-height: 300px;
  }

  .property-quick-counter {
    right: 18px;
    bottom: 12px;
  }

  .property-quick-thumbs {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  .property-quick-nav {
    width: 36px;
    height: 46px;
  }

  .property-quick-info {
    padding: 14px;
  }

  .property-quick-price {
    font-size: 21px;
  }

  .property-quick-facts {
    grid-template-columns: 1fr;
  }

  .property-filter-row-primary,
  .property-filter-row-secondary,
  .property-filter-pair,
  .property-filter-pair-main,
  .property-filter-actions {
    grid-template-columns: 1fr;
  }

  .filter-field,
  .filter-field.compact,
  .filter-field.search {
    flex-basis: 100%;
  }

  .viviendas-filterbar button,
  .viviendas-filterbar .button,
  .viviendas-head .page-actions,
  .viviendas-head .page-actions button {
    width: 100%;
  }

  .viviendas-status strong {
    width: 100%;
    margin-left: 0;
  }

  .selection-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .selection-bar strong {
    margin-right: 0;
  }

  .selection-client-search {
    grid-template-columns: 1fr;
  }

  .proposal-modal-head {
    flex-direction: column;
  }

  .dossier-cover,
  .proposal-hero,
  .dossier-property,
  .proposal-property {
    grid-template-columns: 1fr;
  }

  .dossier-cover {
    flex-direction: column;
  }

  .proposal-hero {
    display: grid;
  }

  .wizard-actions button {
    width: 100%;
  }

  .property-geo-head,
  .property-geo-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .property-geo-head button,
  .property-geo-footer button {
    width: 100%;
  }

  .property-geo-map {
    min-height: 280px;
    height: 320px;
  }

  .cliente-card { grid-template-columns: 1fr; }
  .cliente-card-actions { justify-items: start; }
  .client-row,
  .client-row-link {
    grid-template-columns: 1fr;
  }
  .client-row-actions {
    justify-content: flex-start;
  }
  .visit-row,
  .visit-loss-fields,
  .house-detail-grid,
  .house-xml-card,
  .commercial-property-showcase,
  .commercial-property-readout,
  .commercial-price-strip,
  .commercial-owner-card {
    grid-template-columns: 1fr;
  }
  .commercial-owner-search > div,
  .commercial-owner-link-form > div {
    grid-template-columns: 1fr;
  }
  .commercial-owner-search .button,
  .commercial-owner-link-form .button {
    width: 100%;
  }
  .commercial-readout-description {
    grid-row: auto;
  }
  .commercial-property-section {
    padding: 14px;
  }
  .address-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .commercial-property-menu {
    gap: 6px;
    padding: 10px;
    overflow-x: auto;
    flex-wrap: nowrap;
  }
  .commercial-property-menu button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
  }
  .commercial-property-photo {
    min-height: 260px;
  }
  .commercial-property-summary h2 {
    font-size: 32px;
  }
  .commercial-property-summary > strong {
    font-size: 28px;
  }
  .commercial-section-head {
    display: grid;
  }
  .visit-card-top,
  .visit-followup-head {
    align-items: stretch;
    flex-direction: column;
  }
  .visit-date-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .visit-date-pill {
    flex: 1 1 auto;
    width: 100%;
    text-align: left;
  }
  .visit-reschedule form {
    left: 0;
    right: auto;
  }
  .visit-meta-grid {
    grid-template-columns: 1fr;
  }
  .visit-close-hero,
  .visit-wizard-actions,
  .visit-callcentre-disabled {
    align-items: stretch;
    flex-direction: column;
  }
  .visit-close-summary {
    grid-template-columns: 1fr;
  }
  .visit-wizard-actions button {
    width: 100%;
  }
  .visit-followup {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--border);
    padding-top: 14px;
  }
  .visitas-filter-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .visitas-filter-actions .button,
  .visitas-filter-actions button,
  .visitas-head button {
    width: 100%;
  }
  .control-panel-head,
  .control-list-card {
    grid-template-columns: 1fr;
  }
  .control-panel-head {
    flex-direction: column;
  }
  .control-card-side {
    justify-items: start;
    text-align: left;
  }
  .control-group summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .mission-top { flex-direction: column; }

  .mission-top,
  .mission-facts,
  .mission-property,
  .mission-action-panel {
    padding-left: 18px;
    padding-right: 18px;
  }

  .mission-property {
    grid-template-columns: 1fr;
  }

  .mission-property-media {
    min-height: 190px;
  }

  .mission-property.is-pending .mission-property-media {
    min-height: 150px;
  }

  .mission-property-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .mission-property,
  .last-note,
  .lead-raw-text {
    margin-left: 18px;
    margin-right: 18px;
  }

  .client-request-property-panel.mission-property,
  .client-request-original-text {
    margin-left: 0;
    margin-right: 0;
  }

  .client-request-card-head {
    grid-template-columns: 1fr;
  }

  .client-request-card-head strong {
    justify-self: start;
  }

  .mission-buttons button,
  .mission-buttons .button,
  .mission-buttons form {
    width: 100%;
  }

  .mission-status-box {
    justify-items: start;
  }

  .mission-top h1 {
    font-size: 24px;
  }

  .mission-objective {
    align-items: flex-start;
  }

  .mission-buttons {
    grid-template-columns: 1fr;
  }

  .mission-buttons button,
  .mission-buttons .button {
    min-height: 58px;
    padding: 11px 14px 11px 60px;
    font-size: 17px;
  }

  .mission-buttons button::before,
  .mission-buttons .button::before {
    left: 18px;
    width: 30px;
    height: 30px;
  }

  .mission-buttons button::after,
  .mission-buttons .button::after {
    left: 60px;
    font-size: 11px;
  }

  .calendar-grid { grid-template-columns: 1fr; }
  .calendar-dow { display: none; }
  .calendar-day.empty { display: none; }
  .calendar-day { min-height: 112px; }
  .calendar-head { flex-direction: column; }
  .calendar-head .button { width: 100%; }
  .gerencia-calendar-head .button { width: auto; }
  .gerencia-visit-modal-grid { grid-template-columns: 1fr; }
  .teamup-week-head {
    align-items: stretch;
  }
  .teamup-week-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .teamup-week-grid {
    min-width: 920px;
    grid-template-columns: 62px repeat(7, minmax(112px, 1fr));
  }

  h1 { font-size: 25px; }
}

@media (max-width: 1100px) {
  .viviendas-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vivienda-media {
    height: clamp(250px, 35vw, 340px);
  }
}

@media (max-width: 760px) {
  .viviendas-grid {
    grid-template-columns: 1fr;
  }

  .vivienda-media {
    height: clamp(285px, 68vw, 430px);
  }
}

@media (max-width: 980px) {
  .proposal-shell {
    width: min(100% - 24px, 1240px);
    padding-top: 16px;
  }

  .proposal-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 22px;
  }

  .proposal-agent {
    grid-template-columns: 150px minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .proposal-agent-photo {
    min-height: 100%;
  }

  .proposal-summary {
    grid-template-columns: 1fr;
  }

  .proposal-property {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .proposal-media {
    min-height: 260px;
  }
}

@media (max-width: 640px) {
  .proposal-brandbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .proposal-brandbar img {
    width: 126px;
  }

  .proposal-hero h1 {
    font-size: 34px;
  }

  .proposal-message {
    font-size: 17px;
  }

  .proposal-agent {
    grid-template-columns: 1fr;
  }

  .proposal-agent-photo {
    min-height: 220px;
  }

  .proposal-property-head {
    flex-direction: column;
    gap: 6px;
  }

  .proposal-property-head strong {
    white-space: normal;
  }

  .proposal-body {
    padding: 20px;
  }

  .proposal-actions,
  .proposal-actions form,
  .proposal-actions button {
    width: 100%;
  }
}

.proposal-agent {
  grid-template-columns: 132px minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: center;
  gap: 22px;
  padding: 22px;
  background: #f8fbfd;
  border: 1px solid #d7e2ec;
  color: #10243a;
  box-shadow: 0 14px 34px rgba(18, 34, 55, .08);
}

.proposal-agent-photo {
  width: 132px;
  height: 132px;
  min-height: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #e5edf3;
  box-shadow: inset 0 0 0 1px rgba(16, 36, 58, .08);
}

.proposal-agent-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.proposal-agent-photo span {
  width: 74px;
  height: 74px;
  font-size: 26px;
}

.proposal-agent-body {
  gap: 8px;
  padding: 0;
  align-content: center;
}

.proposal-agent-body small {
  color: #2778a8;
}

.proposal-agent-body h2 {
  color: #0d2238;
  font-size: 24px;
}

.proposal-agent-body p {
  max-width: 360px;
  color: #52677d;
  font-size: 17px;
  line-height: 1.45;
}

.proposal-agent-links {
  grid-template-columns: minmax(0, 1fr);
  max-width: 340px;
}

.proposal-agent-links a {
  min-height: 36px;
  padding: 7px 10px;
  border-color: #d7e2ec;
  color: #17345a;
  background: #ffffff;
}

@media (max-width: 980px) {
  .proposal-agent {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .proposal-agent-photo {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .proposal-agent {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }

  .proposal-agent-photo {
    width: 96px;
    height: 96px;
  }

  .proposal-agent-body h2 {
    font-size: 20px;
  }
}

.proposal-hero {
  grid-template-columns: minmax(0, 1fr) minmax(500px, 560px);
  align-items: center;
  gap: 34px;
}

.proposal-hero h1 {
  font-size: 58px;
}

.proposal-agent {
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  min-height: 246px;
  padding: 28px;
}

.proposal-agent-photo {
  width: 190px;
  height: 190px;
  align-self: center;
}

.proposal-agent-body {
  min-width: 0;
  gap: 10px;
  text-align: left;
}

.proposal-agent-body small {
  line-height: 1.25;
}

.proposal-agent-body h2 {
  font-size: 30px;
  line-height: 1.1;
}

.proposal-agent-body p {
  max-width: 290px;
}

.proposal-agent-links {
  max-width: 100%;
}

.proposal-agent-links a {
  overflow-wrap: anywhere;
}

.proposal-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.proposal-section-head .eyebrow {
  margin: 0;
  color: #2778a8;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.proposal-section-head h2 {
  margin: 2px 0 0;
  color: #0d2238;
  font-size: 26px;
}

.proposal-compare {
  margin: 0 0 22px;
  padding: 22px;
  background: #ffffff;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18, 34, 55, .08);
}

.proposal-compare-table-wrap {
  overflow-x: auto;
}

.proposal-compare-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.proposal-compare-table th {
  padding: 10px 12px;
  border-bottom: 1px solid #d7e2ec;
  color: #6a7d90;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
  text-transform: uppercase;
}

.proposal-compare-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #edf2f6;
  color: #23364d;
  vertical-align: top;
}

.proposal-compare-table tr:last-child td {
  border-bottom: 0;
}

.proposal-compare-table td:first-child a {
  display: grid;
  gap: 3px;
  color: #0d2238;
  text-decoration: none;
}

.proposal-compare-table td:first-child span {
  color: #6a7d90;
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.proposal-compare-link,
.proposal-advisor-action,
.proposal-detail-action {
  border-radius: 8px;
  text-decoration: none;
  font-weight: 900;
}

.proposal-compare-link {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background: #edf7fb;
  color: #0d5d85;
}

.proposal-advisor-action {
  position: relative;
  width: 54px;
  min-width: 54px;
  height: 54px;
  min-height: 54px;
  display: inline-grid;
  align-items: center;
  justify-content: center;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(36, 76, 173, .34);
  border-radius: 50%;
  background: #eef7ff;
  color: #244cad;
  box-shadow: 0 10px 22px rgba(36, 76, 173, .14);
}

.proposal-advisor-action:hover,
.proposal-advisor-action:focus-visible {
  background: #e2f1ff;
  border-color: rgba(36, 76, 173, .62);
  color: #17377d;
}

.proposal-detail-icon,
.proposal-advisor-icon {
  display: block;
  color: currentColor;
}

.proposal-detail-icon,
.proposal-detail-icon svg,
.proposal-advisor-icon,
.proposal-advisor-icon svg {
  width: 27px;
  height: 27px;
}

.proposal-detail-icon svg,
.proposal-advisor-icon svg {
  display: block;
}

.proposal-detail-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.proposal-advisor-icon svg {
  fill: currentColor;
}

.proposal-detail-label,
.proposal-advisor-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.proposal-detail-action {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid rgba(0, 165, 202, .32);
  background: #f4f8fb;
  color: #123b70;
  box-shadow: 0 10px 22px rgba(14, 39, 62, .08);
}

.proposal-detail-action:hover,
.proposal-detail-action:focus-visible {
  border-color: rgba(0, 165, 202, .58);
  background: #eaf7fb;
  color: #0b5f86;
}

.proposal-gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: #123b70;
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 14px 30px rgba(14, 39, 62, .22);
  transform: translateY(-50%);
}

.proposal-gallery-prev {
  left: 16px;
}

.proposal-gallery-next {
  right: 16px;
}

.proposal-gallery-thumbs {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: flex;
  gap: 8px;
}

.proposal-gallery-thumb {
  width: 62px;
  height: 46px;
  overflow: hidden;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, .78);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(14, 39, 62, .2);
}

.proposal-gallery-thumb.active {
  border-color: #00a5ca;
}

.proposal-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.proposal-floating-cta {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 50;
  width: min(560px, calc(100vw - 28px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px 12px 18px;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #dbe5ee;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(14, 39, 62, .14);
  color: #123b70;
  transform: translateX(-50%);
  backdrop-filter: blur(10px);
}

.proposal-floating-cta span {
  min-width: 0;
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proposal-floating-cta a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  background: #00a5ca;
  border-radius: 8px;
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.proposal-page {
  padding-bottom: 84px;
}

@media (max-width: 1280px) {
  .proposal-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .proposal-agent {
    width: min(100%, 680px);
  }
}

@media (max-width: 980px) {
  .proposal-hero h1 {
    font-size: 42px;
  }

  .proposal-agent {
    grid-template-columns: 170px minmax(0, 1fr);
  }

  .proposal-agent-photo {
    width: 170px;
    height: 170px;
  }
}

@media (max-width: 640px) {
  .proposal-agent {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    min-height: 0;
    padding: 16px;
  }

  .proposal-agent-photo {
    width: 112px;
    height: 112px;
  }

  .proposal-agent-body {
    gap: 7px;
  }

  .proposal-agent-body h2 {
    font-size: 22px;
  }

  .proposal-agent-body p {
    max-width: none;
    font-size: 15px;
  }

  .proposal-agent-links a {
    min-height: 34px;
    font-size: 14px;
  }

  .proposal-compare {
    padding: 16px;
  }

  .proposal-section-head h2 {
    font-size: 22px;
  }

  .proposal-gallery-arrow {
    width: 40px;
    height: 40px;
    font-size: 29px;
  }

  .proposal-gallery-thumbs {
    display: none;
  }

  .proposal-floating-cta {
    bottom: 10px;
    align-items: stretch;
    flex-direction: column;
  }

  .proposal-floating-cta span {
    white-space: normal;
  }

  .proposal-floating-cta a {
    width: 100%;
  }
}

@media print {
  .proposal-floating-cta {
    display: none !important;
  }

  .proposal-page {
    padding-bottom: 0;
  }
}

.proposal-live-status,
.proposal-cart,
.proposal-chat {
  margin: 0 0 22px;
  padding: 18px 22px;
  background: #ffffff;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18, 34, 55, .08);
}

.proposal-live-status {
  display: flex;
  align-items: center;
  gap: 12px;
}

.proposal-live-status strong,
.proposal-chat-head > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0d2238;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.proposal-live-status strong::before,
.proposal-chat-head > span::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #9aa8b5;
}

.proposal-live-status.is-online strong::before,
.proposal-chat-head > span.is-online::before {
  background: #2f9d67;
  box-shadow: 0 0 0 5px rgba(47, 157, 103, .12);
}

.proposal-live-status.is-away strong::before,
.proposal-chat-head > span.is-away::before {
  background: #d99a2b;
  box-shadow: 0 0 0 5px rgba(217, 154, 43, .13);
}

.proposal-live-status span {
  color: #52677d;
  font-weight: 800;
}

.proposal-cart {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.proposal-cart h2,
.proposal-chat h2 {
  margin: 2px 0 0;
  color: #0d2238;
  font-size: 24px;
}

.proposal-cart .eyebrow,
.proposal-chat .eyebrow {
  margin: 0;
  color: #2778a8;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.proposal-cart p {
  max-width: 560px;
  margin: 0;
  color: #52677d;
}

.proposal-cart-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.proposal-cart-list a,
.proposal-compare-link.is-selected {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 11px;
  border-radius: 8px;
  background: #e8f7ef;
  color: #17613c;
  font-weight: 900;
  text-decoration: none;
}

.proposal-property.is-favorite {
  border-color: rgba(47, 157, 103, .42);
  box-shadow: 0 18px 42px rgba(47, 157, 103, .12);
}

.proposal-actions button.selected {
  background: #2f9d67;
  border-color: #2f9d67;
}

.proposal-actions .proposal-favorite-button {
  position: relative;
  width: 54px;
  min-width: 54px;
  height: 54px;
  min-height: 54px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(39, 120, 168, .34);
  border-radius: 50%;
  background: #eef7ff;
  color: #2778d8;
  box-shadow: 0 10px 22px rgba(39, 120, 216, .14);
}

.proposal-actions .proposal-favorite-button,
.proposal-actions .proposal-detail-action,
.proposal-actions .proposal-advisor-action {
  position: relative;
  width: 54px;
  min-width: 54px;
  height: 54px;
  min-height: 54px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(39, 120, 168, .34);
  border-radius: 50%;
  background: #eef7ff;
  color: #2778d8;
  box-shadow: 0 10px 22px rgba(39, 120, 216, .14);
}

.proposal-actions .proposal-favorite-button:hover,
.proposal-actions .proposal-favorite-button:focus-visible,
.proposal-actions .proposal-detail-action:hover,
.proposal-actions .proposal-detail-action:focus-visible,
.proposal-actions .proposal-advisor-action:hover,
.proposal-actions .proposal-advisor-action:focus-visible {
  background: #e2f1ff;
  border-color: rgba(39, 120, 216, .62);
  color: #1768c7;
}

.proposal-actions .proposal-favorite-button.selected {
  background: #eaf4ff;
  border-color: rgba(39, 120, 216, .62);
  color: #1768d8;
}

.proposal-favorite-icon,
.proposal-favorite-icon svg {
  width: 25px;
  height: 25px;
  display: block;
}

.proposal-favorite-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.proposal-favorite-button.selected .proposal-favorite-icon svg {
  fill: currentColor;
}

.proposal-favorite-button.selected .proposal-favorite-icon::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 26px;
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 0 0 1px rgba(23, 104, 216, .24);
  transform: rotate(-38deg);
  transform-origin: center;
}

.proposal-favorite-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.proposal-chat {
  display: grid;
  gap: 14px;
}

.proposal-chat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.proposal-chat-log {
  min-height: 150px;
  max-height: 320px;
  display: grid;
  align-content: start;
  gap: 10px;
  overflow: auto;
  padding: 14px;
  background: #f6f9fc;
  border: 1px solid #d7e2ec;
  border-radius: 8px;
}

.proposal-chat-message {
  max-width: min(78%, 560px);
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #d7e2ec;
}

.proposal-chat-message.from-client {
  justify-self: end;
  background: #10243a;
  border-color: #10243a;
  color: #ffffff;
}

.proposal-chat-message p {
  margin: 0;
  line-height: 1.45;
}

.proposal-chat-message span {
  color: #6a7d90;
  font-size: 12px;
  font-weight: 800;
}

.proposal-chat-message.from-client span {
  color: rgba(255, 255, 255, .7);
}

.proposal-chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.proposal-chat-form textarea {
  min-height: 58px;
  resize: vertical;
}

.panel-head-inline {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.panel-head-inline h2 {
  margin: 2px 0 0;
}

.panel-head-inline strong {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
}

.client-favorite-grid,
.client-chat-list {
  display: grid;
  gap: 12px;
}

.client-favorite-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.client-favorite-card {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 14px;
  padding: 12px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.client-favorite-media {
  min-height: 104px;
  overflow: hidden;
  border-radius: 8px;
  background: #e6edf4;
}

.client-favorite-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.client-favorite-card h3 {
  margin: 3px 0 5px;
  font-size: 17px;
}

.client-favorite-card p {
  margin: 0;
  color: var(--muted);
}

.client-favorite-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.client-favorite-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-selection-panel {
  margin-top: 16px;
}

.client-selection-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

.client-selection-summary::-webkit-details-marker {
  display: none;
}

.client-selection-summary::after {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 2px solid #29458a;
  border-bottom: 2px solid #29458a;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform .18s ease;
}

.client-selection-details[open] .client-selection-summary::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.client-selection-summary:focus-visible {
  outline: 3px solid rgba(41, 69, 138, .22);
  outline-offset: 6px;
  border-radius: 8px;
}

.client-selection-summary h2 {
  margin: 3px 0 0;
}

.client-selection-count {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--panel-soft);
  color: #14213b;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.client-selection-content > p {
  margin: 0;
  color: var(--muted);
}

.client-selection-details[open] .client-selection-content > p {
  margin-top: 16px;
}

.client-selection-grid {
  margin-top: 18px;
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
}

.client-selection-card {
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 188px;
  background: #fbfdff;
}

.client-selection-card .client-favorite-media {
  min-height: 162px;
  height: 162px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #29458a;
  font-size: 30px;
  font-weight: 900;
  text-decoration: none;
}

.client-selection-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.client-selection-topline,
.client-selection-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.client-selection-topline span {
  color: #29458a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.client-selection-topline small {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.client-selection-card h3 {
  margin-top: 7px;
}

.client-selection-note {
  padding: 8px 10px;
  border-left: 3px solid #29458a;
  background: #f2f6fb;
  color: #3f4d61 !important;
  font-size: 13px;
}

.client-selection-footer {
  margin-top: auto;
  padding-top: 8px;
}

.client-selection-footer strong {
  color: #14213b;
  font-size: 16px;
}

.client-selection-footer a {
  color: #29458a;
  font-weight: 900;
}

.client-crm-selection-empty {
  margin-top: 18px;
  padding: 22px;
  border: 1px dashed var(--border);
  border-radius: 12px;
  background: var(--panel-soft);
}

.client-crm-selection-empty strong,
.client-crm-selection-empty p {
  display: block;
  margin: 0;
}

.client-crm-selection-empty p {
  margin-top: 5px;
  color: var(--muted);
}

@media (max-width: 760px) {
  .client-selection-summary {
    grid-template-columns: minmax(0, 1fr) auto 14px;
    gap: 9px;
  }

  .client-selection-count {
    min-height: 34px;
    padding: 6px 9px;
    font-size: 12px;
  }

  .client-selection-grid {
    grid-template-columns: 1fr;
  }

  .client-selection-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .client-selection-card .client-favorite-media {
    min-height: 128px;
    height: 128px;
  }

  .client-selection-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

.client-chat-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: var(--panel-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.client-chat-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-chat-card-head span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-chat-thread {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  padding: 10px;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.client-chat-bubble {
  max-width: min(82%, 620px);
  padding: 9px 11px;
  border-radius: 8px;
  background: #eef5fb;
}

.client-chat-bubble.from-agent {
  justify-self: end;
  background: #10243a;
  color: #ffffff;
}

.client-chat-bubble p {
  margin: 0;
}

.client-chat-bubble span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-chat-bubble.from-agent span {
  color: rgba(255, 255, 255, .68);
}

.client-chat-reply {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

@media (max-width: 640px) {
  .proposal-live-status,
  .proposal-cart,
  .proposal-chat-head,
  .client-chat-card-head,
  .client-chat-reply,
  .proposal-chat-form {
    align-items: stretch;
    flex-direction: column;
    grid-template-columns: 1fr;
  }

  .proposal-cart {
    display: grid;
  }

  .proposal-cart-list {
    justify-content: flex-start;
  }

  .proposal-chat-message,
  .client-chat-bubble {
    max-width: 100%;
  }

  .client-favorite-card {
    grid-template-columns: 92px minmax(0, 1fr);
  }
}

/* Private proposal hero */
.proposal-page .proposal-shell {
  width: min(1460px, calc(100vw - 48px));
}

.proposal-page .proposal-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  gap: 42px;
  min-height: 810px;
  margin: 0 0 26px;
  padding: 64px 70px 184px;
  overflow: hidden;
  border: 1px solid rgba(204, 218, 232, .9);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 31%, rgba(255, 255, 255, .43) 56%, rgba(255, 255, 255, .08) 100%),
    linear-gradient(0deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, 0) 34%),
    url("proposal-hero-office.jpg") center right / cover no-repeat;
  box-shadow: 0 22px 50px rgba(22, 42, 64, .13);
}

.proposal-page .proposal-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 170px;
  background: linear-gradient(0deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.proposal-page .proposal-hero-main,
.proposal-page .proposal-agent,
.proposal-page .proposal-hero-summary {
  position: relative;
  z-index: 1;
}

.proposal-page .proposal-hero-main {
  max-width: 690px;
  display: grid;
  align-content: start;
  gap: 18px;
}

.proposal-page .proposal-brandbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 42px;
}

.proposal-page .proposal-brandbar img {
  width: 170px;
  height: auto;
  object-fit: contain;
}

.proposal-page .proposal-brandbar span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 20px;
  border: 1px solid #cfe0ef;
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  color: #287cc1;
  font-size: 15px;
  font-weight: 950;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(28, 67, 101, .07);
}

.proposal-page .proposal-brandbar svg,
.proposal-page .proposal-agent-links svg,
.proposal-page .proposal-agent-whatsapp svg,
.proposal-page .proposal-hero-points svg,
.proposal-page .proposal-hero-summary svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.proposal-page .proposal-hero .eyebrow {
  margin: 0;
  color: #257bc0;
  font-size: 17px;
  font-weight: 950;
  text-transform: uppercase;
}

.proposal-page .proposal-hero h1 {
  max-width: 650px;
  margin: 0;
  color: #132238;
  font-size: 58px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: 0;
}

.proposal-page .proposal-hero h1 span {
  display: block;
  color: #2f83c8;
}

.proposal-page .proposal-hero h1::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 24px 0 0;
  border-radius: 999px;
  background: #2f83c8;
}

.proposal-page .proposal-message {
  max-width: 540px;
  margin: 0;
  color: #4a5d74;
  font-size: 19px;
  line-height: 1.55;
}

.proposal-page .proposal-hero-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.proposal-page .proposal-hero-points article {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  padding-right: 16px;
  border-right: 1px solid rgba(184, 202, 219, .85);
}

.proposal-page .proposal-hero-points article:last-child {
  border-right: 0;
}

.proposal-page .proposal-hero-points span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #b8d6ef;
  background: rgba(255, 255, 255, .72);
  color: #287cc1;
}

.proposal-page .proposal-hero-points strong,
.proposal-page .proposal-hero-points small {
  display: block;
  min-width: 0;
}

.proposal-page .proposal-hero-points strong {
  color: #132238;
  font-size: 14px;
  font-weight: 950;
}

.proposal-page .proposal-hero-points small {
  margin-top: 3px;
  color: #5a6d83;
  font-size: 14px;
  font-weight: 700;
}

.proposal-page .proposal-agent {
  align-self: start;
  justify-self: end;
  width: min(100%, 330px);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  justify-items: center;
  gap: 14px;
  min-height: 0;
  margin-top: 4px;
  padding: 34px 28px;
  border: 1px solid rgba(213, 225, 236, .9);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  color: #132238;
  box-shadow: 0 22px 46px rgba(23, 42, 63, .18);
  text-align: center;
}

.proposal-page .proposal-agent-kicker {
  color: #586b83;
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
}

.proposal-page .proposal-agent-photo {
  position: relative;
  width: 132px;
  height: 132px;
  min-height: 0;
  overflow: visible;
  border: 1px solid #d9e5ef;
  border-radius: 50%;
  background: #e8eef4;
}

.proposal-page .proposal-agent-photo img,
.proposal-page .proposal-agent-photo > span {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.proposal-page .proposal-agent-photo img {
  display: block;
  object-fit: cover;
  object-position: center top;
}

.proposal-page .proposal-agent-photo > span {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #1f3d86 0%, #2f83c8 100%);
  color: #ffffff;
  font-size: 38px;
  font-weight: 950;
}

.proposal-page .proposal-agent-photo i {
  position: absolute;
  right: 11px;
  bottom: 12px;
  width: 15px;
  height: 15px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: #d99a2b;
  box-shadow: 0 4px 12px rgba(19, 34, 56, .16);
}

.proposal-page .proposal-agent-photo i.is-online {
  background: #45bf75;
}

.proposal-page .proposal-agent-body {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 0;
}

.proposal-page .proposal-agent-body h2 {
  margin: 0;
  color: #132238;
  font-size: 31px;
  line-height: 1.1;
}

.proposal-page .proposal-agent-body p {
  max-width: 270px;
  margin: 0;
  color: #50627a;
  font-size: 16px;
  line-height: 1.55;
}

.proposal-page .proposal-agent-links {
  width: 100%;
  display: grid;
  gap: 7px;
  margin-top: 4px;
}

.proposal-page .proposal-agent-links a,
.proposal-page .proposal-agent-whatsapp {
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.proposal-page .proposal-agent-links a {
  border: 1px solid #d5e1ec;
  background: rgba(255, 255, 255, .88);
  color: #17345a;
}

.proposal-page .proposal-agent-links svg,
.proposal-page .proposal-agent-whatsapp svg {
  width: 19px;
  height: 19px;
  color: #287cc1;
}

.proposal-page .proposal-agent-whatsapp {
  margin-top: 2px;
  border: 1px solid #263f8d;
  background: #263f8d;
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(38, 63, 141, .22);
}

.proposal-page .proposal-agent-whatsapp svg {
  color: #ffffff;
}

.proposal-page .proposal-hero-summary {
  position: absolute;
  left: 58px;
  right: 58px;
  bottom: 38px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 134px;
  overflow: hidden;
  border: 1px solid rgba(218, 229, 239, .9);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 20px 46px rgba(23, 42, 63, .14);
  backdrop-filter: blur(8px);
}

.proposal-page .proposal-hero-summary article {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 24px 28px;
  border-right: 1px solid rgba(203, 216, 229, .9);
}

.proposal-page .proposal-hero-summary article:last-child {
  border-right: 0;
}

.proposal-page .proposal-hero-summary article > span {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.proposal-page .proposal-hero-summary .is-blue {
  background: #eaf3fb;
  color: #287cc1;
}

.proposal-page .proposal-hero-summary .is-rose {
  background: #fae5e8;
  color: #d86168;
}

.proposal-page .proposal-hero-summary .is-green {
  background: #e5f5eb;
  color: #3dac6d;
}

.proposal-page .proposal-hero-summary .is-gold {
  background: #fbf0d8;
  color: #dcae36;
}

.proposal-page .proposal-hero-summary small,
.proposal-page .proposal-hero-summary strong,
.proposal-page .proposal-hero-summary em {
  display: block;
  min-width: 0;
}

.proposal-page .proposal-hero-summary small {
  color: #132238;
  font-size: 15px;
  font-weight: 950;
}

.proposal-page .proposal-hero-summary strong {
  margin-top: 3px;
  color: #132238;
  font-size: 31px;
  line-height: 1.05;
}

.proposal-page .proposal-hero-summary article:nth-child(1) strong,
.proposal-page .proposal-hero-summary article:nth-child(4) strong {
  color: #287cc1;
}

.proposal-page .proposal-hero-summary article:nth-child(3) strong {
  color: #39a66b;
}

.proposal-page .proposal-hero-summary article:nth-child(4) strong {
  color: #dcae36;
  font-size: 25px;
}

.proposal-page .proposal-hero-summary em {
  margin-top: 3px;
  color: #5b6f86;
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 1280px) {
  .proposal-page .proposal-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-bottom: 210px;
  }

  .proposal-page .proposal-agent {
    justify-self: start;
    width: min(100%, 430px);
  }

  .proposal-page .proposal-hero-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proposal-page .proposal-hero-summary article:nth-child(2) {
    border-right: 0;
  }

  .proposal-page .proposal-hero-summary article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(203, 216, 229, .9);
  }
}

@media (max-width: 820px) {
  .proposal-page .proposal-shell {
    width: min(100%, calc(100vw - 24px));
    padding-top: 12px;
  }

  .proposal-page .proposal-hero {
    gap: 26px;
    padding: 28px 22px 26px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 64%, rgba(255, 255, 255, .54) 100%),
      url("proposal-hero-office.jpg") center right / cover no-repeat;
  }

  .proposal-page .proposal-hero::after {
    display: none;
  }

  .proposal-page .proposal-brandbar {
    gap: 14px;
    margin-bottom: 18px;
  }

  .proposal-page .proposal-brandbar img {
    width: 142px;
  }

  .proposal-page .proposal-hero h1 {
    font-size: 40px;
  }

  .proposal-page .proposal-message {
    font-size: 17px;
  }

  .proposal-page .proposal-hero-points,
  .proposal-page .proposal-hero-summary {
    grid-template-columns: 1fr;
  }

  .proposal-page .proposal-hero-points article {
    border-right: 0;
  }

  .proposal-page .proposal-agent {
    width: 100%;
    justify-self: stretch;
  }

  .proposal-page .proposal-hero-summary {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 2px;
  }

  .proposal-page .proposal-hero-summary article,
  .proposal-page .proposal-hero-summary article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid rgba(203, 216, 229, .9);
  }

  .proposal-page .proposal-hero-summary article:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 520px) {
  .proposal-page .proposal-hero {
    border-radius: 16px;
    padding: 24px 16px 18px;
  }

  .proposal-page .proposal-brandbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .proposal-page .proposal-hero h1 {
    font-size: 34px;
  }

  .proposal-page .proposal-agent {
    padding: 24px 18px;
  }

  .proposal-page .proposal-hero-summary article {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
  }

  .proposal-page .proposal-hero-summary article > span {
    width: 54px;
    height: 54px;
  }

  .proposal-page .proposal-hero-summary strong {
    font-size: 28px;
  }

  .proposal-page .proposal-hero-summary article:nth-child(4) strong {
    font-size: 22px;
  }
}

/* Ficha comercial premium refresh */
.client-back-row {
  margin: 0 0 14px;
}

.commercial-client-profile {
  position: relative;
  overflow: visible;
  padding: 24px 28px;
  border: 1px solid rgba(196, 209, 224, .78);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(23, 34, 49, .08);
}

.commercial-client-profile .client-profile-top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.client-identity {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.client-avatar {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #1f3d86 0%, #248fd3 100%);
  color: #fff;
  border: 4px solid #eef5fb;
  box-shadow: 0 14px 30px rgba(36, 63, 134, .18);
  font-size: 21px;
  font-weight: 950;
}

.commercial-client-profile .client-profile-main h1 {
  margin: 3px 0 5px;
  color: #101a2a;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.04;
  letter-spacing: 0;
}

.commercial-client-profile .client-contact-line {
  gap: 6px 12px;
  color: #607287;
  font-size: 14px;
  font-weight: 800;
}

.commercial-client-profile .client-contact-line span + span::before {
  content: "/";
  margin-right: 12px;
  color: #a9b7c7;
}

.commercial-client-profile .chips {
  gap: 7px;
  margin-top: 11px;
}

.commercial-client-profile .chip {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f5f8fb;
  border: 1px solid rgba(215, 225, 235, .86);
  color: #526276;
  font-size: 12px;
}

.commercial-client-profile .client-profile-actions {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .78fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .82);
  border-radius: 12px;
  background: #f8fbff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.commercial-client-profile .client-profile-actions .button,
.commercial-client-profile .client-profile-actions button {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
  box-shadow: none;
}

.commercial-client-profile .client-profile-actions .call {
  background: #17377d;
  border-color: #17377d;
}

.client-action-group {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.client-action-group > span {
  color: #738197;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.client-action-group > div {
  display: grid;
  gap: 7px;
}

.client-action-group .button,
.client-action-group button {
  white-space: nowrap;
}

.client-action-group-contact > div {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-action-group-work > div {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
}

.client-action-group-work .button:first-child {
  background: #17377d;
  border-color: #17377d;
  color: #fff;
}

.client-action-menu {
  position: relative;
  align-self: end;
}

.client-action-menu summary {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 116px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #f8fbff;
  color: #142034;
  font-size: 13px;
  font-weight: 900;
  list-style: none;
  cursor: pointer;
}

.client-action-menu summary::-webkit-details-marker {
  display: none;
}

.client-action-menu summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #6b7a90;
  border-bottom: 2px solid #6b7a90;
  transform: rotate(45deg) translateY(-2px);
}

.client-action-menu[open] summary::after {
  transform: rotate(225deg) translateY(-2px);
}

.client-action-menu > div {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 8;
  width: 220px;
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid rgba(215, 225, 235, .92);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(23, 34, 49, .15);
}

.client-action-menu > div .button,
.client-action-menu > div button {
  width: 100%;
  justify-content: center;
}

.commercial-client-profile .client-profile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(215, 225, 235, .72);
}

.commercial-client-profile .client-stat-card {
  min-height: 76px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  border: 1px solid rgba(215, 225, 235, .72);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(23, 34, 49, .035);
}

.client-stat-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eef6ff;
  color: #17377d;
  font-size: 13px;
  font-weight: 950;
}

.commercial-client-profile .client-stat-card span:not(.client-stat-icon) {
  color: #738197;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.commercial-client-profile .client-stat-card strong {
  margin-top: 3px;
  color: #142034;
  font-size: 16px;
  line-height: 1.25;
}

.commercial-client-profile .client-stat-card small {
  margin-top: 3px;
  color: #6b7a90;
}

.client-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}

.client-landing-window {
  margin-top: 16px;
}

.client-landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 16px;
  align-items: start;
}

.client-created-landing-list {
  display: grid;
  gap: 10px;
}

.client-created-landing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(215, 225, 235, .78);
  border-radius: 14px;
  background: #fbfdff;
}

.client-created-landing-card strong,
.client-created-landing-card span,
.client-created-landing-card p {
  display: block;
}

.client-created-landing-card p {
  margin: 5px 0;
  color: #60758a;
  font-weight: 750;
}

.client-created-landing-card span {
  color: #7a8798;
  font-size: 13px;
}

.client-created-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.client-created-landing-actions form {
  margin: 0;
}

.client-owner-portfolio-panel {
  display: grid;
  gap: 14px;
}

.client-owner-property-list {
  display: grid;
  gap: 10px;
}

.client-owner-property-row {
  display: grid;
  grid-template-columns: 96px minmax(180px, 1fr) minmax(150px, .7fr) minmax(160px, .8fr) minmax(120px, .55fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .82);
  border-radius: 8px;
  background: #fbfdff;
}

.client-owner-property-thumb {
  display: grid;
  place-items: center;
  width: 96px;
  aspect-ratio: 1.45;
  overflow: hidden;
  border-radius: 8px;
  background: #eaf1f8;
  color: #6d7b8e;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.client-owner-property-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.client-owner-property-main,
.client-owner-property-place,
.client-owner-property-facts,
.client-owner-property-price {
  min-width: 0;
}

.client-owner-property-main strong,
.client-owner-property-main span,
.client-owner-property-main small,
.client-owner-property-place strong,
.client-owner-property-place span,
.client-owner-property-facts span,
.client-owner-property-price strong,
.client-owner-property-price span {
  display: block;
}

.client-owner-property-main strong {
  color: var(--primary);
  font-size: 17px;
  font-weight: 950;
}

.client-owner-property-main span,
.client-owner-property-place strong,
.client-owner-property-price strong {
  margin-top: 4px;
  color: var(--text);
  font-weight: 900;
}

.client-owner-property-main small,
.client-owner-property-place span,
.client-owner-property-price span {
  margin-top: 5px;
  color: #6f7f91;
  font-size: 13px;
  font-weight: 800;
}

.client-owner-property-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.client-owner-property-facts span,
.client-owner-property-price span {
  width: fit-content;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf3f8;
  color: #405166;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
}

.client-owner-property-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

button.danger,
.button.danger {
  border-color: rgba(178, 45, 45, .28);
  color: #9f2626;
}

.client-compact-panel,
.client-history-panel {
  border-color: rgba(205, 218, 232, .78);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 36px rgba(23, 34, 49, .07);
}

.client-compact-panel .panel-head-inline,
.client-history-panel .panel-head-inline {
  align-items: center;
  margin-bottom: 12px;
}

.client-compact-panel .panel-head-inline strong {
  min-width: 34px;
  min-height: 34px;
  border-radius: 10px;
  background: #eef6ff;
  border: 0;
  color: #17377d;
}

.client-compact-panel > .muted {
  margin: 0;
  color: #8290a2;
  font-size: 13px;
}

.client-compact-panel .client-favorite-grid {
  grid-template-columns: 1fr;
  gap: 10px;
}

.client-compact-panel .client-favorite-card {
  grid-template-columns: 86px minmax(0, 1fr);
  padding: 12px;
  border-color: rgba(215, 225, 235, .78);
  border-radius: 14px;
  background: #fbfdff;
}

.client-compact-panel .client-favorite-media {
  min-height: 78px;
  border-radius: 10px;
}

.client-compact-panel .client-favorite-card h3 {
  margin: 2px 0 4px;
  font-size: 15px;
}

.client-compact-panel .client-chat-card {
  gap: 10px;
  padding: 12px;
  border-color: rgba(215, 225, 235, .72);
  border-radius: 14px;
  background: #fbfdff;
}

.client-compact-panel .client-chat-thread {
  max-height: 168px;
  border-color: rgba(215, 225, 235, .72);
}

.client-visits-panel {
  margin-top: 16px;
}

.client-visits-list {
  display: grid;
  gap: 10px;
}

.client-visit-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .78);
  border-radius: 12px;
  background: #fbfdff;
}

.client-visit-main {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.client-visit-title {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.client-visit-title strong {
  color: #142034;
  font-size: 15px;
}

.client-visit-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.client-visit-meta span {
  padding: 4px 8px;
  border: 1px solid rgba(202, 218, 238, .9);
  border-radius: 999px;
  background: #fff;
  color: #637186;
  font-size: 12px;
  font-weight: 850;
}

.client-visit-card p {
  margin: 0;
  color: #647187;
  font-size: 13px;
  line-height: 1.45;
}

.client-visits-actions {
  margin-top: 12px;
}

.client-history-panel {
  margin-top: 14px;
}

.client-documents-modal {
  width: min(620px, calc(100vw - 34px));
}

.client-documents-modal > label {
  margin-top: 12px;
}

.client-documents-modal input[type="file"],
.client-documents-modal input[type="text"] {
  width: 100%;
}

.client-timeline {
  position: relative;
  gap: 0;
}

.client-timeline::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 14px;
  width: 2px;
  background: #dbe7f3;
}

.client-timeline-item {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-left: 34px;
  padding: 0 0 16px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.client-timeline-item:last-child {
  padding-bottom: 0;
}

.client-timeline-dot {
  position: absolute;
  left: -27px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #17377d;
  border: 3px solid #eef6ff;
  box-shadow: 0 0 0 1px #bfd4ee;
}

.client-timeline-content {
  min-width: 0;
  padding: 12px 14px;
  background: #fbfdff;
  border: 1px solid rgba(215, 225, 235, .78);
  border-radius: 12px;
}

.client-timeline-content strong {
  color: #142034;
}

.client-timeline-content p {
  color: #5d6d80;
}

.client-timeline .activity-meta {
  padding-top: 12px;
  white-space: nowrap;
}

.client-history-panel .is-hidden-history {
  display: none;
}

body.show-full-client-history .client-history-panel .is-hidden-history {
  display: grid;
}

body.show-full-client-history .client-history-panel .panel-head-inline button {
  display: none;
}

.client-portal-access-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .48fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 16px;
  border-radius: 16px;
  border-color: rgba(205, 218, 232, .78);
  background:
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(247,251,253,.96) 58%, rgba(248,250,244,.96) 100%);
  box-shadow: 0 14px 34px rgba(23, 34, 49, .06);
}

.client-request-property-panel.mission-property {
  margin: 16px 0 0;
  grid-template-columns: 180px minmax(0, 1fr);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(23, 34, 49, .06);
}

.client-request-property-panel .mission-property-media {
  min-height: 118px;
}

.client-request-property-panel .mission-property-kicker {
  color: #193b8f;
}

.client-request-original-text {
  margin: 8px 0 0;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(23, 34, 49, .04);
}

.client-requests-modal {
  width: min(980px, calc(100vw - 34px));
  padding: 20px;
}

.client-requests-list {
  display: grid;
  gap: 12px;
}

.client-request-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(248,251,255,.98), rgba(255,255,255,.96));
}

.client-request-card.is-identified {
  border-color: rgba(47, 125, 86, .24);
  background: #f6fbf8;
}

.client-request-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.client-request-card-head span {
  color: #193b8f;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-request-card-head h3,
.client-request-card-head p {
  margin: 0;
}

.client-request-card-head h3 {
  margin-top: 4px;
  color: #071733;
  font-size: 18px;
  line-height: 1.25;
}

.client-request-card-head p {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
}

.client-request-card-head strong {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.client-request-card.is-identified .client-request-card-head strong {
  background: var(--success-soft);
  color: var(--success);
}

.client-request-facts,
.client-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.client-request-facts span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(202, 221, 245, .92);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
}

.client-request-raw {
  border: 1px solid rgba(202, 221, 245, .86);
  border-radius: 10px;
  background: #fff;
}

.client-request-raw summary {
  cursor: pointer;
  padding: 8px 10px;
  color: #50698c;
  font-weight: 900;
}

.client-request-raw div {
  max-height: 190px;
  overflow: auto;
  padding: 0 10px 10px;
  color: #4f627a;
  font-size: 13px;
  line-height: 1.45;
}

.client-requests-empty {
  padding: 18px;
  border: 1px dashed rgba(185, 211, 246, .95);
  border-radius: 12px;
  background: #f8fbff;
}

.client-requests-empty p {
  margin: 4px 0 0;
}

.client-portal-access-panel h2,
.client-portal-access-panel p {
  margin: 0;
}

.client-portal-access-panel p {
  margin-top: 4px;
  color: var(--muted);
}

.client-portal-access-state {
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid rgba(196, 208, 219, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .78);
}

.client-portal-access-state span,
.client-portal-access-state small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-portal-access-state strong {
  overflow-wrap: anywhere;
}

.client-portal-modal {
  width: min(720px, calc(100vw - 34px));
}

body.show-client-portal .client-portal-backdrop,
body.show-client-portal .client-portal-modal {
  display: block;
}

.client-demand-panel {
  margin-top: 16px;
  border-radius: 16px;
  border-color: rgba(205, 218, 232, .78);
  background: #fff;
  box-shadow: 0 14px 34px rgba(23, 34, 49, .06);
}

.client-demand-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .2fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 14px;
}

.client-demand-head h2,
.client-demand-head p {
  margin: 0;
}

.client-demand-head p {
  margin-top: 4px;
  color: var(--muted);
}

.client-demand-score {
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  border: 1px solid #d4e1ec;
  border-radius: 10px;
  background: #f5f9fc;
  text-align: right;
}

.client-demand-score span,
.client-demand-score small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.client-demand-score strong {
  color: #17377d;
  font-size: 30px;
  line-height: 1;
}

.client-demand-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid #d7e5ef;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbfd 0%, #eef7f3 100%);
}

.client-demand-summary-main {
  min-width: 0;
}

.client-demand-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #dff3ea;
  color: #176b4b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.client-demand-summary h3 {
  margin: 10px 0 4px;
  color: #10213a;
  font-size: 24px;
  line-height: 1.12;
}

.client-demand-summary p {
  margin: 0;
  color: #627187;
  font-size: 15px;
  font-weight: 800;
}

.client-demand-summary-actions {
  display: flex;
  align-items: start;
  justify-content: end;
}

.client-demand-summary-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.client-demand-summary-grid article,
.client-demand-summary-notes > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(199, 215, 229, .86);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
}

.client-demand-summary-grid span,
.client-demand-summary-notes span {
  display: block;
  color: #6b7a8f;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.client-demand-summary-grid strong,
.client-demand-summary-notes strong {
  display: block;
  margin-top: 5px;
  color: #20303a;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 950;
}

.client-demand-summary-notes {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr);
  gap: 10px;
}

.client-demand-editor {
  border: 1px solid #dbe6ef;
  border-radius: 12px;
  background: #fff;
}

.client-demand-editor summary {
  cursor: pointer;
  padding: 12px 14px;
  color: #26384d;
  font-size: 14px;
  font-weight: 950;
  list-style: none;
}

.client-demand-editor summary::-webkit-details-marker {
  display: none;
}

.client-demand-editor summary::after {
  content: "+";
  float: right;
  color: var(--accent);
  font-size: 18px;
  line-height: 1;
}

.client-demand-editor[open] summary {
  border-bottom: 1px solid #e2ebf2;
}

.client-demand-editor[open] summary::after {
  content: "-";
}

.client-demand-editor .client-demand-form {
  padding: 14px;
}

.client-demand-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.client-demand-form .span-2 {
  grid-column: span 2;
}

.client-demand-form label {
  display: block;
  margin-bottom: 6px;
  color: #42576a;
  font-size: 12px;
  font-weight: 900;
}

.client-demand-form .multi-options label {
  display: flex;
  margin-bottom: 0;
  color: #20303a;
  font-size: 13px;
  font-weight: 750;
}

.client-demand-form input,
.client-demand-form select,
.client-demand-form textarea {
  width: 100%;
}

.client-demand-form .multi-options input {
  width: 15px;
}

.client-demand-form textarea {
  min-height: 86px;
}

.client-demand-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.demand-filter-notice {
  margin-top: -2px;
  margin-bottom: 12px;
}

.landing-created {
  display: grid;
  gap: 10px;
}

.landing-created-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.client-login-wrap,
.client-portal-page {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(235, 245, 250, .98) 0%, rgba(249, 252, 254, .94) 44%, rgba(232, 243, 248, .98) 100%);
}

.client-login-wrap {
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 34px);
}

.client-login-shell {
  width: min(1040px, 100%);
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(360px, .86fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(199, 212, 222, .9);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(23, 34, 49, .15);
}

.client-login-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 4vw, 54px);
}

.client-login-brand,
.client-portal-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #152235;
  text-decoration: none;
  font-weight: 950;
}

.client-login-brand img,
.client-portal-brand img {
  height: 38px;
  width: auto;
}

.client-login-panel h1 {
  margin: 34px 0 8px;
  font-size: 34px;
  letter-spacing: 0;
}

.client-login-panel p,
.client-login-panel small {
  color: #687789;
}

.client-login-form {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.client-login-form button {
  margin-top: 8px;
}

.client-login-panel > small {
  display: block;
  margin-top: 18px;
  line-height: 1.45;
}

.client-login-context {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 18px;
  padding: clamp(28px, 5vw, 60px);
  color: #fff;
  background:
    linear-gradient(145deg, rgba(12, 30, 49, .44), rgba(23, 56, 70, .7)),
    url("client-login-villa.png") 54% center / cover;
}

.client-login-context span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
}

.client-login-context > strong {
  max-width: 430px;
  font-size: 38px;
  line-height: 1.08;
  letter-spacing: 0;
}

.client-login-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.client-login-metrics div {
  padding: 14px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 10px;
  background: rgba(255,255,255,.12);
}

.client-login-metrics b,
.client-login-metrics small {
  display: block;
}

.client-portal-topbar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 72px;
  padding: 0 clamp(18px, 4vw, 44px);
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(205, 217, 226, .82);
  box-shadow: 0 12px 32px rgba(18, 59, 112, .07);
  backdrop-filter: blur(14px);
}

.client-portal-topbar nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.client-portal-topbar nav a {
  padding: 9px 12px;
  border-radius: 999px;
  color: #4d5f72;
  text-decoration: none;
  font-weight: 800;
}

.client-portal-topbar nav a:hover {
  background: #edf4f6;
  color: #172231;
}

.client-portal-brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
}

.client-portal-brand img {
  width: clamp(122px, 9vw, 150px);
  height: auto;
  display: block;
}

.client-mobile-menu-toggle,
.client-mobile-menu,
.client-mobile-menu-backdrop {
  display: none;
}

.client-view-nav a.active {
  background: linear-gradient(135deg, #123b70 0%, #248fd3 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(18, 59, 112, .18);
}

.client-portal-shell {
  width: min(1220px, calc(100% - 34px));
  margin: 0 auto;
  padding: 28px 0 44px;
}

/* Buyer portal: the public header remains the single website navigation system. */
.client-account-nav {
  position: relative;
  z-index: 3;
  border-bottom: 1px solid rgba(205, 219, 229, .9);
  background: rgba(249, 252, 254, .98);
  box-shadow: 0 10px 26px rgba(18, 59, 112, .055);
}

.client-account-nav-inner {
  width: min(1220px, calc(100% - 34px));
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 auto;
}

.client-account-nav-context {
  flex: 0 0 auto;
  padding-right: 15px;
  border-right: 1px solid #d8e4ec;
  color: #4c6c89;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}

.client-account-nav .client-view-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 auto;
  overflow-x: auto;
  padding: 8px 2px;
  scrollbar-width: none;
}

.client-account-nav .client-view-nav::-webkit-scrollbar {
  display: none;
}

.client-account-nav .client-view-nav a,
.client-account-logout {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #435a70;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.client-account-nav .client-view-nav a:hover {
  border-color: #d5e4ed;
  background: #fff;
  color: #123b70;
}

.client-account-nav .client-view-nav a.active {
  border-color: rgba(25, 103, 165, .16);
  background: linear-gradient(135deg, #123b70 0%, #248fd3 100%);
  color: #fff;
  box-shadow: 0 9px 20px rgba(18, 59, 112, .16);
}

.client-account-logout {
  margin-left: auto;
  border-color: #d8e3ea;
  background: #fff;
  color: #5b6d7f;
}

.client-account-logout:hover {
  border-color: #bfcfda;
  background: #f3f8fb;
  color: #123b70;
}

.client-account-logout span {
  width: 17px;
  height: 17px;
  display: inline-flex;
}

.client-account-logout svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.client-property-search-panel.is-loading {
  opacity: .72;
  pointer-events: none;
}

/* The shared compact search floats its market selector above the form on
 * desktop. Public listing pages reserve that space in their outer shell; the
 * private buyer panel needs the same reservation so it never covers the
 * heading or explanatory copy. */
@media (min-width: 781px) {
  .client-property-search-panel > .public-search.compact-search {
    margin-top: 72px;
  }

  .client-property-search-panel .hero-market-switch label,
  .client-property-search-panel .hero-market-switch span {
    color: #123b70;
    text-shadow: none;
  }

  .client-property-search-panel .hero-market-switch span::before {
    border-color: #b8ccd9;
    background: #fff;
  }

  .client-property-search-panel .hero-market-switch input:checked + span::before {
    border-color: var(--brand);
    background: var(--brand);
  }
}

@media (max-width: 760px) {
  .client-account-nav-inner {
    width: 100%;
    min-height: 58px;
    gap: 7px;
    padding: 0 12px;
  }

  .client-account-nav-context {
    display: none;
  }

  .client-account-nav .client-view-nav {
    padding-block: 9px;
  }

  .client-account-nav .client-view-nav a,
  .client-account-logout {
    min-height: 40px;
    padding-inline: 11px;
  }

  .client-account-logout {
    width: 42px;
    padding: 0;
    font-size: 0;
  }
}

.client-dashboard-intro {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .38fr);
  gap: 18px;
  align-items: stretch;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(181, 204, 220, .92);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(18, 59, 112, .96) 0%, rgba(21, 92, 127, .93) 62%, rgba(0, 165, 202, .82) 100%);
  color: #fff;
  box-shadow: 0 26px 70px rgba(18, 59, 112, .18);
}

.client-dashboard-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 10%, rgba(146, 233, 255, .2), transparent 30%),
    linear-gradient(90deg, rgba(8, 24, 42, .22), transparent);
  pointer-events: none;
}

.client-dashboard-intro > div,
.client-dashboard-intro aside {
  position: relative;
  z-index: 1;
}

.client-dashboard-intro h1 {
  max-width: 760px;
  margin: 8px 0 0;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.03;
  letter-spacing: 0;
}

.client-dashboard-intro p {
  max-width: 670px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 18px;
}

.client-dashboard-intro aside {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}

.client-dashboard-intro aside span,
.client-dashboard-intro aside small {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 850;
}

.client-dashboard-intro aside span {
  text-transform: uppercase;
  letter-spacing: .08em;
}

.client-dashboard-intro aside strong {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 24px;
}

.client-dashboard-intro aside a {
  color: rgba(255,255,255,.9);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.client-banking-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr);
  gap: 18px;
  align-items: stretch;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid rgba(191, 205, 220, .9);
  border-radius: 18px;
  background: linear-gradient(135deg, #172231 0%, #244c55 54%, #69724f 100%);
  color: #fff;
  box-shadow: 0 22px 58px rgba(23, 34, 49, .18);
}

.client-banking-hero h1,
.client-banking-hero p {
  margin: 0;
}

.client-banking-hero h1 {
  margin-top: 6px;
  font-size: clamp(30px, 5vw, 52px);
  line-height: 1.04;
  letter-spacing: 0;
}

.client-banking-hero p {
  max-width: 650px;
  margin-top: 12px;
  color: rgba(255,255,255,.78);
}

.client-banking-hero aside {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 14px;
  background: rgba(255,255,255,.1);
}

.client-banking-hero aside span,
.client-banking-hero aside a {
  color: rgba(255,255,255,.76);
}

.client-banking-hero aside a {
  overflow-wrap: anywhere;
  text-decoration: none;
}

.client-private-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .38fr);
  gap: 20px;
  align-items: stretch;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid rgba(191, 205, 220, .9);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(16, 34, 55, .96) 0%, rgba(27, 73, 88, .93) 58%, rgba(34, 112, 139, .88) 100%),
    url("client-login-family.png") center / cover;
  color: #fff;
  box-shadow: 0 26px 70px rgba(23, 34, 49, .18);
}

.client-private-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 16%, rgba(146, 233, 255, .18), transparent 30%),
    linear-gradient(90deg, rgba(8, 24, 42, .84), rgba(8, 24, 42, .38));
  pointer-events: none;
}

.client-private-copy,
.client-advisor-card {
  position: relative;
  z-index: 1;
}

.client-private-copy h1 {
  max-width: 760px;
  margin: 8px 0 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.02;
  letter-spacing: 0;
}

.client-private-copy p {
  max-width: 690px;
  margin: 16px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 18px;
}

.client-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.client-advisor-card {
  display: grid;
  align-content: space-between;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}

.client-advisor-card span,
.client-advisor-card small {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 850;
}

.client-advisor-card span {
  text-transform: uppercase;
  letter-spacing: .08em;
}

.client-advisor-card strong {
  display: block;
  margin-top: 6px;
  color: #fff;
  font-size: 24px;
  line-height: 1.16;
}

.client-advisor-card a {
  color: rgba(255,255,255,.86);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.client-buyer-hero {
  margin-bottom: 22px;
  border-color: rgba(180, 209, 230, .78);
  background:
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.2), transparent 28%),
    linear-gradient(135deg, rgba(13, 42, 88, .98) 0%, rgba(25, 74, 130, .96) 48%, rgba(36, 143, 211, .9) 100%);
}

.client-buyer-hero::before {
  background:
    linear-gradient(90deg, rgba(4, 18, 40, .52), rgba(4, 18, 40, .08)),
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.22), transparent 26%),
    radial-gradient(circle at 58% 120%, rgba(89, 184, 228, .26), transparent 38%);
}

.client-buyer-hero .eyebrow {
  color: rgba(255,255,255,.7);
}

.client-buyer-hero .client-private-copy h1 {
  max-width: 700px;
  text-wrap: balance;
}

.client-buyer-hero .client-private-copy p {
  max-width: 720px;
  color: rgba(255,255,255,.86);
}

.client-advisor-profile {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
}

.client-advisor-avatar {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.1));
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 16px 34px rgba(4, 18, 40, .18);
}

.client-advisor-avatar.has-photo {
  background-size: cover;
  background-position: center;
}

.client-advisor-profile small {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.client-advisor-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.client-advisor-actions a:not(.site-button) {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 11px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.client-advisor-actions a:not(.site-button):hover {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.38);
}

.client-portal-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.client-portal-kpis article,
.client-portal-panel {
  border: 1px solid rgba(202, 214, 224, .9);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 34px rgba(23, 34, 49, .06);
}

.client-portal-kpis article {
  display: grid;
  gap: 4px;
  min-height: 116px;
  padding: 18px;
}

.client-portal-kpis span,
.client-portal-kpis small,
.client-proposal-card span,
.client-message-list span,
.client-activity-list span {
  color: #6d7d8d;
  font-size: 12px;
  font-weight: 800;
}

.client-portal-kpis strong {
  font-size: 24px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.client-process-panel {
  margin-top: 16px;
  padding: 22px;
  border: 1px solid rgba(202, 214, 224, .9);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(23, 34, 49, .06);
}

.client-window {
  margin-top: 18px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(181, 204, 220, .95);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,254,.96));
  box-shadow: 0 26px 62px rgba(18, 59, 112, .11);
}

.client-window-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(213, 226, 236, .9);
}

.client-window-head h2 {
  margin: 2px 0 0;
  color: #123b70;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.08;
}

.client-window-head p {
  max-width: 700px;
  margin: 9px 0 0;
  color: #60758a;
  font-size: 16px;
}

.client-window-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .72fr);
  gap: 18px;
}

.client-side-window {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(213, 226, 236, .95);
  border-radius: 18px;
  background: #f8fcff;
}

.client-side-window h3 {
  margin: 3px 0 14px;
  color: #123b70;
  font-size: 22px;
}

.client-overview-windows {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.client-overview-card {
  position: relative;
  overflow: hidden;
  min-height: 174px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 20px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,249,253,.95));
  color: #172231;
  text-decoration: none;
  box-shadow: 0 18px 34px rgba(18, 59, 112, .08);
}

.client-overview-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #123b70, #00a5ca);
}

.client-overview-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 165, 202, .55);
}

.client-overview-card span,
.client-overview-card small {
  color: #60758a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-overview-card strong {
  color: #123b70;
  font-size: 38px;
  line-height: 1;
}

.client-status-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.client-status-strip article {
  min-height: 86px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 16px;
  border: 1px solid rgba(213, 226, 236, .95);
  border-radius: 16px;
  background: #f8fcff;
}

.client-status-strip span {
  color: #60758a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-status-strip strong {
  color: #123b70;
  overflow-wrap: anywhere;
}

.client-summary-editor-window {
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,250,253,.98));
}

.client-completion-ring {
  width: 92px;
  height: 92px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 56%, transparent 58%),
    conic-gradient(#00a5ca 0 var(--completion, 0%), #d9e8f0 0 100%);
  box-shadow: inset 0 0 0 1px rgba(0, 165, 202, .16), 0 14px 30px rgba(18, 59, 112, .1);
}

.client-completion-ring strong,
.client-completion-ring span {
  display: block;
  text-align: center;
}

.client-completion-ring strong {
  color: #123b70;
  font-size: 22px;
  line-height: 1;
}

.client-completion-ring span {
  color: #60758a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-edit-grid {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: 18px;
  align-items: start;
}

.client-edit-card {
  display: grid;
  gap: 13px;
  padding: 18px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 34px rgba(18, 59, 112, .07);
}

.client-edit-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(213, 226, 236, .9);
}

.client-edit-card-head button:not(.site-button),
.client-edit-card button:not(.site-button) {
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, #123b70, #00a5ca);
  color: #fff;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(18, 59, 112, .16);
}

.client-edit-card label {
  display: grid;
  gap: 6px;
  color: #60758a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-edit-card input,
.client-edit-card select,
.client-edit-card textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fbfdff;
  color: #172231;
  font: inherit;
  font-weight: 750;
  outline: none;
}

.client-edit-card textarea {
  min-height: 92px;
  resize: vertical;
}

.client-edit-card[data-buyer-profile-multi-root] > label input,
.client-edit-card[data-buyer-profile-multi-root] .client-form-row input,
.client-edit-card[data-buyer-profile-multi-root] textarea,
.client-edit-card[data-buyer-profile-multi-root] .multi-select summary {
  font-family: var(--site-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

.client-edit-card input:focus,
.client-edit-card select:focus,
.client-edit-card textarea:focus {
  border-color: rgba(0, 165, 202, .72);
  box-shadow: 0 0 0 4px rgba(0, 165, 202, .1);
}

.client-edit-card .multi-options label {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 8px;
  color: #20303a;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
}

.client-edit-card .multi-options input {
  width: 15px;
  height: 15px;
  min-height: 0;
  flex: 0 0 auto;
  padding: 0;
  border-radius: 3px;
  box-shadow: none;
}

.client-edit-card .multi-options span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.client-privacy-note {
  margin: 0;
  color: #60758a;
  font-size: 13px;
}

.client-stage-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf7fb;
  color: #174969;
  font-size: 12px;
  font-weight: 950;
}

.client-section-note {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf7fb;
  color: #174969;
  font-size: 12px;
  font-weight: 950;
}

.client-journey-window {
  padding-bottom: clamp(24px, 3vw, 34px);
}

.client-journey {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.client-journey::before {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  top: 43px;
  height: 2px;
  background: linear-gradient(90deg, rgba(36, 63, 134, .18), rgba(36, 143, 211, .34), rgba(36, 63, 134, .12));
}

.client-journey-step {
  position: relative;
  min-height: 224px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(198, 216, 229, .9);
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 16px 38px rgba(18, 59, 112, .06);
}

.client-journey-marker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.client-step-icon,
.client-journey-marker b {
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.client-step-icon {
  width: 42px;
  height: 42px;
  background: #edf5fb;
  color: #245986;
  font-size: 13px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(36, 143, 211, .14);
}

.client-journey-marker b {
  width: 34px;
  height: 34px;
  background: #f5f8fb;
  color: #60758a;
  font-size: 12px;
}

.client-journey-step small {
  display: inline-flex;
  width: max-content;
  margin-bottom: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f0f5f8;
  color: #60758a;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-journey-step strong {
  display: block;
  color: #123b70;
  font-size: 20px;
  line-height: 1.14;
}

.client-journey-step p {
  margin: 9px 0 0;
  color: #60758a;
  font-size: 14px;
}

.client-journey-step.is-done {
  border-color: rgba(47, 125, 86, .24);
  background: linear-gradient(180deg, #ffffff, #f3fbf7);
}

.client-journey-step.is-done .client-step-icon,
.client-journey-step.is-done .client-journey-marker b {
  background: #2f7d56;
  color: #fff;
}

.client-journey-step.is-done small {
  background: #e6f5ed;
  color: #2f7d56;
}

.client-journey-step.is-current {
  border-color: rgba(36, 143, 211, .48);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(236, 247, 255, .96));
  box-shadow: 0 24px 50px rgba(18, 59, 112, .14);
  transform: translateY(-4px);
}

.client-journey-step.is-current::after {
  content: "";
  position: absolute;
  inset: auto 18px 14px 18px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #123b70, #248fd3);
}

.client-journey-step.is-current .client-step-icon,
.client-journey-step.is-current .client-journey-marker b {
  background: linear-gradient(135deg, #123b70, #248fd3);
  color: #fff;
  box-shadow: 0 14px 26px rgba(36, 143, 211, .22);
}

.client-journey-step.is-current small {
  background: #eaf4fc;
  color: #123b70;
}

.client-now-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid rgba(181, 204, 220, .95);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(241,249,253,.96));
  box-shadow: 0 22px 52px rgba(18, 59, 112, .09);
}

.client-now-card h2 {
  max-width: 850px;
  margin: 4px 0 0;
  color: #123b70;
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.12;
  text-wrap: balance;
}

.client-now-card p {
  max-width: 760px;
  margin: 9px 0 0;
  color: #60758a;
  font-size: 16px;
}

.client-buyer-hero {
  min-height: 360px;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .34fr);
  align-items: center;
  padding: clamp(34px, 5vw, 58px);
  border: 0;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(10, 28, 48, .96) 0%, rgba(10, 30, 52, .89) 52%, rgba(10, 30, 52, .58) 100%),
    url("home-paths/specific-home.jpg") center 45% / cover;
  box-shadow: 0 18px 46px rgba(15, 35, 53, .16);
}

.client-buyer-hero::before {
  background:
    radial-gradient(circle at 16% 8%, rgba(120, 216, 239, .12), transparent 24%),
    linear-gradient(90deg, rgba(7, 20, 34, .28), rgba(7, 20, 34, .04));
}

.client-buyer-hero .eyebrow {
  color: #9ae9f8;
  font-size: 13px;
  letter-spacing: .04em;
}

.client-buyer-hero .client-private-copy h1 {
  max-width: 780px;
  margin-top: 18px;
  font-size: clamp(40px, 5.2vw, 64px);
  line-height: 1.04;
  font-weight: 900;
}

.client-hero-underline {
  display: block;
  width: 68px;
  height: 6px;
  margin-top: 22px;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 10px 24px rgba(0, 165, 202, .22);
}

.client-buyer-hero .client-private-copy p {
  max-width: 520px;
  margin-top: 24px;
  color: rgba(255,255,255,.88);
  font-size: 19px;
  line-height: 1.45;
}

.client-buyer-hero .client-advisor-card {
  min-height: 208px;
  align-content: center;
  padding: 24px;
  border-radius: 8px;
  border-color: rgba(255,255,255,.28);
  background: rgba(17, 35, 52, .9);
  box-shadow: 0 20px 48px rgba(0, 15, 30, .2);
  backdrop-filter: none;
}

.client-buyer-hero .client-advisor-profile {
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 20px;
}

.client-buyer-hero .client-advisor-avatar {
  width: 92px;
  height: 92px;
  border: 2px solid rgba(255,255,255,.68);
  background-color: rgba(255,255,255,.88);
  font-size: 28px;
}

.client-buyer-hero .client-advisor-card span {
  color: #9ae9f8;
  letter-spacing: .04em;
}

.client-buyer-hero .client-advisor-card strong {
  margin-top: 6px;
  font-size: 30px;
}

.client-buyer-hero .client-advisor-card small {
  color: rgba(255,255,255,.92);
  font-size: 17px;
  font-weight: 650;
}

.client-buyer-hero .client-advisor-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.client-buyer-hero .client-advisor-actions .site-button {
  min-height: 48px;
  border-radius: 8px;
  font-size: 15px;
}

.client-journey-reference {
  min-height: 252px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding: 8px 14px 0;
}

.client-journey-reference::before {
  left: 12%;
  right: 12%;
  top: 36px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #39ad62 0 42%, #174da4 42% 56%, #d8dee8 56% 100%);
}

.client-journey-reference .client-journey-step {
  min-height: 238px;
  display: grid;
  grid-template-rows: 58px 56px minmax(0, 1fr);
  justify-items: center;
  gap: 8px;
  padding: 0 16px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
  transform: none;
}

.client-journey-reference .client-journey-step > div:last-child {
  width: 100%;
  display: grid;
  grid-template-rows: minmax(44px, auto) auto minmax(76px, 1fr) 24px;
  justify-items: center;
  align-content: start;
}

.client-journey-reference .client-journey-step::after {
  display: none;
}

.client-journey-reference .client-journey-marker {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: -8px auto 4px;
  border-radius: 50%;
  background: #eef2f7;
  box-shadow: 0 0 0 7px rgba(241,245,250,.92);
}

.client-journey-reference .client-journey-marker b {
  width: 50px;
  height: 50px;
  background: #eef2f7;
  color: #617083;
  font-size: 19px;
  font-weight: 950;
  box-shadow: inset 0 0 0 2px #d0d7e2;
}

.client-journey-reference .is-done .client-journey-marker b {
  background: #41b66a;
  color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.22), 0 10px 20px rgba(37, 143, 78, .22);
}

.client-journey-reference .is-current .client-journey-marker {
  background: #e8f1ff;
  box-shadow: 0 0 0 9px rgba(63, 130, 221, .16);
}

.client-journey-reference .is-current .client-journey-marker b {
  background: #0f449a;
  color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.2), 0 12px 24px rgba(15, 68, 154, .28);
}

.client-step-symbol {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-top: 10px;
  border-radius: 50%;
  background: #eef2f7;
  color: #6b788b;
  box-shadow: inset 0 0 0 2px #d8dee8;
}

.client-step-symbol::before {
  color: currentColor;
  font-size: 30px;
  font-weight: 900;
}

.client-step-symbol-1::before { content: "\263A"; }
.client-step-symbol-2::before { content: "\2302"; }
.client-step-symbol-3::before { content: "\25A3"; }
.client-step-symbol-4::before { content: "\25A4"; }
.client-step-symbol-5::before { content: "\26BF"; }

.client-journey-reference .is-done .client-step-symbol {
  background: #e7f8ee;
  color: #25924e;
  box-shadow: inset 0 0 0 2px #bbe8cc;
}

.client-journey-reference .is-current .client-step-symbol {
  background: #e8f1ff;
  color: #174da4;
  box-shadow: inset 0 0 0 2px #bfd4f8;
}

.client-journey-reference .client-journey-step small {
  display: none;
}

.client-journey-reference .client-journey-step strong {
  margin-top: 0;
  color: #071b3d;
  font-size: 18px;
  font-weight: 950;
}

.client-journey-reference .client-journey-step em {
  display: inline-flex;
  margin-top: 10px;
  padding: 6px 14px;
  border-radius: 7px;
  background: #eef2f7;
  color: #41506a;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}

.client-journey-reference .is-done em {
  background: #e6f8ed;
  color: #167a3d;
}

.client-journey-reference .is-current em {
  background: #e7efff;
  color: #0f449a;
}

.client-journey-reference .client-journey-step p {
  max-width: 210px;
  margin: 14px 0 0;
  color: #56677f;
  font-size: 14px;
  line-height: 1.45;
}

.client-journey-reference .client-journey-step time,
.client-journey-reference .client-journey-step a {
  margin-top: auto;
  color: #5a6b82;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.client-journey-reference .client-journey-step a {
  color: #1b56b1;
}

.client-now-reference {
  position: relative;
  overflow: hidden;
  min-height: 116px;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 22px;
  padding: 22px 30px;
  background: #fff;
}

.client-now-reference::after {
  display: none;
}

.client-now-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eef4fb;
  box-shadow: inset 0 0 0 1px #d3dfed;
}

.client-now-icon::before {
  content: "\25A3";
  color: #174da4;
  font-size: 31px;
}

.client-now-copy h2 {
  max-width: 680px;
  font-size: 19px;
  line-height: 1.3;
}

.client-now-copy p {
  max-width: 620px;
  color: #65758e;
}

.client-now-note {
  position: relative;
  z-index: 1;
  align-self: center;
  padding: 22px 24px;
  border: 1px solid #d9e3f0;
  border-radius: 10px;
  background: rgba(239, 245, 253, .94);
  color: #123b70;
  font-size: 14px;
  line-height: 1.45;
}

.client-now-action {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: end;
}

.client-now-action .site-button {
  min-width: 210px;
}

.client-now-action small {
  color: #65758e;
  font-weight: 800;
}

.client-trust-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 18px;
  padding: 18px 10%;
  border: 1px solid rgba(198, 216, 229, .9);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(18, 59, 112, .06);
}

.client-trust-strip article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
}

.client-trust-strip article + article {
  border-left: 1px solid #d9e3f0;
  padding-left: 20%;
}

.client-trust-strip span {
  grid-row: span 2;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #edf4fb;
  box-shadow: inset 0 0 0 2px #cbd9e8;
}

.client-trust-strip strong,
.client-trust-strip small {
  display: block;
}

.client-trust-strip strong {
  color: #244c86;
  font-size: 13px;
}

.client-trust-strip small {
  color: #65758e;
}

.client-stage-track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.client-stage-track article {
  position: relative;
  min-height: 158px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px;
  border: 1px solid #d5e0ea;
  border-radius: 14px;
  background: #fbfdff;
}

.client-stage-track b {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf3f8;
  color: #60758a;
  font-size: 13px;
}

.client-stage-track strong {
  color: #172231;
}

.client-stage-track p {
  margin: 0;
  color: #6d7d8d;
  font-size: 13px;
}

.client-stage-track .is-done {
  border-color: rgba(47, 125, 86, .26);
  background: #f4fbf7;
}

.client-stage-track .is-done b {
  background: #2f7d56;
  color: #fff;
}

.client-stage-track .is-current {
  border-color: rgba(36, 63, 134, .32);
  background: linear-gradient(180deg, #ffffff, #f2f7ff);
  box-shadow: 0 14px 28px rgba(36, 63, 134, .08);
}

.client-stage-track .is-current b {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #fff;
}

.process-current-window {
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(241,249,253,.98));
}

.client-process-current {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .28fr);
  gap: 18px;
  align-items: stretch;
}

.client-process-current > div {
  display: grid;
  align-content: start;
  gap: 12px;
}

.client-process-current h2 {
  margin: 0;
  color: #123b70;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
}

.client-process-current p {
  max-width: 760px;
  margin: 0;
  color: #60758a;
  font-size: 17px;
}

.client-process-current .site-button {
  width: max-content;
  margin-top: 8px;
}

.client-process-current aside {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #123b70 0%, #00a5ca 100%);
  color: #fff;
  box-shadow: 0 20px 42px rgba(18, 59, 112, .18);
}

.client-process-current aside span,
.client-process-current aside small {
  color: rgba(255,255,255,.74);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-process-current aside strong {
  font-size: 42px;
  line-height: 1;
}

.client-process-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 18px;
  margin-top: 22px;
}

.client-process-detail-grid > section {
  padding: 18px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
}

.client-mini-head h3 {
  margin: 3px 0 14px;
  color: #123b70;
  font-size: 22px;
  line-height: 1.18;
}

.client-process-checklist {
  display: grid;
  gap: 10px;
}

.client-process-checklist article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 12px;
  border: 1px solid rgba(213, 226, 236, .95);
  border-radius: 14px;
  background: #fbfdff;
}

.client-process-checklist article span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf3f8;
  box-shadow: inset 0 0 0 1px rgba(96, 117, 138, .15);
}

.client-process-checklist article span::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #a8b8c7;
}

.client-process-checklist article.is-done {
  border-color: rgba(47, 125, 86, .24);
  background: #f4fbf7;
}

.client-process-checklist article.is-done span {
  background: #2f7d56;
}

.client-process-checklist article.is-done span::before {
  width: 12px;
  height: 7px;
  border-radius: 0;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  background: transparent;
  transform: rotate(-45deg);
}

.client-process-checklist strong {
  color: #172231;
}

.client-mayrasa-does ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.client-mayrasa-does li {
  position: relative;
  padding-left: 22px;
  color: #60758a;
  font-weight: 750;
}

.client-mayrasa-does li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #00a5ca;
  box-shadow: 0 0 0 4px rgba(0, 165, 202, .12);
}

.client-private-grid,
.client-portal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 16px;
  margin-top: 16px;
}

.client-portal-panel {
  min-width: 0;
  padding: 20px;
}

.client-portal-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.client-portal-panel-head h2 {
  margin: 2px 0 0;
}

.client-profile-summary {
  display: grid;
}

.client-preference-list {
  display: grid;
  gap: 9px;
}

.client-preference-list article {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fbfdff;
}

.client-preference-list span,
.client-next-step-card span,
.client-document-list span {
  color: #6d7d8d;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-preference-list strong {
  color: #172231;
  overflow-wrap: anywhere;
}

.client-next-step-card {
  align-self: end;
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #172231, #244c55);
  color: #fff;
}

.client-next-step-card span {
  color: rgba(255,255,255,.68);
}

.client-next-step-card strong {
  color: #fff;
  line-height: 1.28;
}

.client-proposal-list,
.client-message-list,
.client-activity-list,
.client-portal-favorites,
.client-document-list {
  display: grid;
  gap: 10px;
}

.client-proposal-card,
.client-message-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fbfdff;
}

.client-proposal-card strong,
.client-proposal-card span,
.client-proposal-card p,
.client-message-list strong,
.client-message-list span,
.client-message-list p {
  display: block;
}

.client-proposal-card p,
.client-message-list p {
  margin: 5px 0 0;
  color: #6d7d8d;
}

.client-selection-compact {
  padding: clamp(16px, 2vw, 22px);
}

.client-selection-compact .client-window-head {
  margin-bottom: 12px;
  padding-bottom: 12px;
}

.client-selection-compact .client-window-head h2 {
  font-size: clamp(24px, 3vw, 34px);
}

.client-selection-compact .client-window-head p {
  max-width: 850px;
  margin-top: 6px;
}

.client-selection-main {
  display: grid;
  gap: 12px;
}

.client-selection-proposals {
  min-width: 0;
}

.client-selection-empty {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border: 1px solid rgba(198, 216, 229, .88);
  border-radius: 14px;
  background: #f8fcff;
  color: #60758a;
}

.client-selection-empty strong {
  color: #123b70;
}

.client-profile-strip {
  display: grid;
  grid-template-columns: minmax(170px, .22fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid rgba(198, 216, 229, .9);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(248,252,255,.96), rgba(255,255,255,.96));
}

.client-profile-strip > div:first-child {
  display: grid;
  gap: 3px;
}

.client-profile-strip > div:first-child strong {
  color: #123b70;
  font-size: 17px;
  line-height: 1.14;
}

.client-profile-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.client-profile-chips article {
  min-width: 120px;
  max-width: min(100%, 330px);
  display: grid;
  gap: 3px;
  padding: 9px 11px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fff;
}

.client-profile-chips span {
  color: #6d7d8d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-profile-chips strong {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: #172231;
  font-size: 13px;
  line-height: 1.28;
}

.client-property-search-window {
  --brand: #00a5ca;
  --brand-dark: #123b70;
  --ink: #172231;
  --muted: #68788c;
  --line: #dbe5ee;
  --shadow: 0 18px 44px rgba(14, 39, 62, .14);
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,250,253,.98));
}

.client-property-search-window.is-loading {
  opacity: .72;
  pointer-events: none;
}

.client-property-count {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border-radius: 999px;
  background: #edf7fb;
  color: #123b70;
  font-size: 13px;
  white-space: nowrap;
}

.client-property-search-window .public-search {
  display: grid;
  grid-template-columns: minmax(132px, .95fr) minmax(132px, .95fr) minmax(132px, .95fr) minmax(132px, .95fr) minmax(132px, .95fr) minmax(132px, .95fr) minmax(170px, 1.15fr) auto;
  gap: 10px;
  align-items: end;
  padding: 16px;
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(219, 229, 238, .96);
  border-radius: 8px;
  color: var(--ink);
  box-shadow: var(--shadow);
}

.client-property-search-window .public-search-toggle {
  display: none;
}

.client-property-search-window .public-search label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.client-property-search-window .client-location-filter {
  position: relative;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.client-property-search-window .public-search span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.client-property-search-window .public-search select,
.client-property-search-window .public-search input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.client-property-search-window .public-search select:disabled {
  background: #eef3f7;
  color: #7a8796;
  cursor: not-allowed;
}

.client-property-search-window .client-location-filter .multi-select summary {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
  background-image: none;
  background-repeat: no-repeat;
  color: var(--ink);
  font-size: 14px;
  font-weight: 850;
}

.client-property-search-window .client-location-filter .multi-select[open] summary,
.client-property-search-window .client-location-filter .multi-select summary:focus-visible {
  border-color: rgba(0, 165, 202, .55);
  box-shadow: 0 0 0 4px rgba(0, 165, 202, .1);
  outline: none;
}

.client-property-search-window .client-location-filter .multi-select.is-disabled summary {
  background: #eef3f7;
  color: #7a8796;
}

.client-property-search-window .client-location-filter .multi-select-value {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.client-property-search-window .client-location-filter .multi-options {
  z-index: 25;
  width: max(100%, 260px);
  max-height: 300px;
  border-color: var(--line);
  border-radius: 10px;
  box-shadow: 0 20px 44px rgba(14, 39, 62, .18);
}

.client-property-search-window .client-location-filter .multi-options label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 7px 8px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.client-property-search-window .client-location-filter .multi-options label span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.client-property-search-window .client-location-filter .multi-options input[type="checkbox"] {
  width: 17px;
  height: 17px;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.client-property-search-window .public-search button {
  min-width: 104px;
  box-shadow: none;
}

.client-property-search-window .search-actions {
  min-width: 224px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-self: stretch;
}

.client-property-search-window .search-actions button {
  grid-column: auto;
  min-width: 0;
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 11px 17px;
  background: var(--brand);
  color: #fff;
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.client-property-search-window .search-actions button:hover {
  transform: translateY(-1px);
}

.client-property-search-window .public-search .map-submit-button {
  border-color: #c9dce8;
  background: #f3f9fc;
  color: var(--brand-dark);
}

.client-property-search-window .listing-search {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.client-property-search-window .listing-search .search-keyword,
.client-property-search-window .listing-search .search-actions {
  grid-column: span 2;
  min-width: 0;
}

.client-property-search-window .listing-search .search-actions {
  min-height: 78px;
}

.client-property-search-window .listing-search .finance-filter {
  grid-column: span 2;
  align-self: stretch;
}

.client-property-search-window .finance-filter {
  grid-column: 1 / -1;
  border: 1px solid rgba(204, 221, 232, .96);
  border-radius: 12px;
  background: rgba(255, 255, 255, .95);
  color: var(--ink);
  overflow: hidden;
}

.client-property-search-window .finance-filter summary {
  position: relative;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 12px;
  cursor: pointer;
  list-style: none;
}

.client-property-search-window .listing-search .finance-filter summary {
  min-height: 78px;
  padding: 10px 18px;
}

.client-property-search-window .finance-filter summary::-webkit-details-marker {
  display: none;
}

.client-property-search-window .finance-filter summary span {
  color: var(--brand);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-property-search-window .finance-filter summary strong {
  color: #10253b;
  font-size: 16px;
}

.client-property-search-window .finance-filter summary sup {
  color: var(--brand);
  font-size: 13px;
  line-height: 1;
}

.client-property-search-window .finance-filter summary::after {
  content: "+";
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  border: 1px solid #c9dce8;
  border-radius: 50%;
  color: var(--brand-dark);
  background: #f3f9fc;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}

.client-property-search-window .finance-filter[open] {
  grid-column: 1 / -1;
}

.client-property-search-window .finance-filter[open] summary {
  min-height: 48px;
  padding: 10px 12px;
}

.client-property-search-window .finance-filter[open] summary::after {
  content: "-";
}

.client-property-search-window .finance-filter-fields {
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(260px, 1fr);
  gap: 14px;
  align-items: center;
  padding: 0 12px 12px;
}

.client-property-search-window .finance-filter-fields label {
  display: grid;
  gap: 6px;
}

.client-property-search-window .finance-filter-fields label span {
  color: #66788b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.client-property-search-window .finance-filter-fields input {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7e5ec;
  border-radius: 10px;
  padding: 0 12px;
  color: #16263a;
  font: inherit;
  font-weight: 850;
}

.client-property-search-window .finance-filter-fields p {
  margin: 18px 0 0;
  color: #4f6378;
  font-size: 14px;
  line-height: 1.45;
}

@media (min-width: 1101px) {
  .client-property-search-window .listing-search .search-keyword {
    grid-column: span 1;
  }

  .client-property-search-window .listing-search .search-actions {
    min-height: 0;
    align-self: start;
  }

  .client-property-search-window .listing-search .search-actions button {
    min-height: 58px;
    padding-block: 10px;
  }

  .client-property-search-window .listing-search .finance-filter {
    align-self: start;
  }

  .client-property-search-window .listing-search .finance-filter summary {
    min-height: 58px;
    padding: 8px 16px;
  }

  .client-property-search-window .listing-search .finance-filter[open] {
    grid-column: span 2;
  }

  .client-property-search-window .listing-search .finance-filter[open] summary {
    min-height: 42px;
    padding: 8px 14px;
  }

  .client-property-search-window .listing-search .finance-filter-fields {
    grid-template-columns: minmax(130px, 160px) minmax(0, 1fr);
    gap: 10px;
    padding: 0 14px 12px;
  }
}

.client-property-search {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 22px 14px;
  align-items: end;
  padding: 24px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 52px rgba(18, 59, 112, .08);
}

.client-property-search label,
.client-property-filter > label {
  display: grid;
  gap: 8px;
  color: #60758a;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.client-property-search select,
.client-property-search input,
.client-property-search .multi-select summary {
  width: 100%;
  min-height: 64px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 14px;
  padding: 0 16px;
  background: #fbfdff;
  color: #172231;
  font: inherit;
  font-size: 17px;
  font-weight: 850;
}

.client-property-search select:focus,
.client-property-search input:focus,
.client-property-search .multi-select[open] summary,
.client-property-search .multi-select summary:focus-visible {
  border-color: rgba(36, 143, 211, .55);
  box-shadow: 0 0 0 6px rgba(36, 143, 211, .09);
  outline: none;
}

.client-property-search .multi-options {
  width: max(100%, 320px);
  max-height: 320px;
  padding: 10px;
  border-radius: 14px;
}

.client-property-search .multi-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 9px;
  color: #20303a;
  font-size: 14px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}

.client-property-search .multi-options input {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.client-property-keyword {
  grid-column: span 2;
}

.client-property-search > button {
  align-self: end;
  min-height: 64px;
  border-radius: 14px;
  background: linear-gradient(135deg, #123b70, #248fd3);
  font-size: 17px;
  box-shadow: 0 14px 28px rgba(18, 59, 112, .22);
}

.client-clear-filters {
  display: inline-flex;
  margin-top: 12px;
  color: #123b70;
  font-weight: 900;
  text-decoration: none;
}

.client-property-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.client-property-card {
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100%;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 42px rgba(18, 59, 112, .09);
}

.client-property-card.is-muted {
  opacity: .72;
}

.client-property-media {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  aspect-ratio: 1.34;
  background: linear-gradient(135deg, #e8f1f8, #d9e7f2);
  color: #123b70;
  text-decoration: none;
  font-size: 34px;
  font-weight: 950;
}

.client-property-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
}

.client-property-card:hover .client-property-media img {
  transform: scale(1.03);
}

.client-property-media mark {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #123b70;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
}

.client-property-body {
  padding: 16px 16px 10px;
}

.client-property-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.client-property-topline span {
  color: #123b70;
  font-size: 19px;
  font-weight: 950;
}

.client-property-topline small {
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf7fb;
  color: #174969;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.client-property-card h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.18;
}

.client-property-card h3 a {
  color: #172231;
  text-decoration: none;
}

.client-property-card h3 a:hover {
  color: #123b70;
}

.client-property-body p {
  margin: 8px 0 0;
  color: #60758a;
  font-weight: 800;
}

.client-property-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.client-property-facts span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f3f8fb;
  color: #526b80;
  font-size: 12px;
  font-weight: 900;
}

.client-property-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(213, 226, 236, .9);
}

.client-property-actions form {
  margin: 0;
}

.client-property-actions button:not(.site-button) {
  width: 100%;
  min-height: 40px;
  border-radius: 10px;
  padding: 9px 10px;
  font-size: 13px;
  box-shadow: none;
}

.client-property-actions button.secondary:not(.site-button) {
  background: #f8fbfd;
  color: #60758a;
}

.client-property-question {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.client-property-question input {
  min-width: 0;
  min-height: 40px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 10px;
  padding: 9px 11px;
  font: inherit;
}

.client-property-empty {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px dashed rgba(36, 143, 211, .32);
  border-radius: 18px;
  background: #f8fcff;
}

.client-property-empty h3,
.client-property-empty p {
  margin: 0;
}

.client-discard-modal[hidden] {
  display: none;
}

.client-property-listing .property-card-choice-actions .property-favorite-button {
  min-height: 38px;
  padding: 0;
}

.client-discard-modal {
  position: fixed;
  z-index: 1400;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(7, 31, 79, .52);
  backdrop-filter: blur(8px);
}

.client-discard-dialog {
  position: relative;
  width: min(100%, 560px);
  padding: 38px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(7, 31, 79, .28);
  text-align: center;
}

.client-discard-dialog .site-eyebrow {
  margin: 18px 0 8px;
}

.client-discard-dialog h2 {
  margin: 0;
  color: #071f4f;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.08;
}

.client-discard-dialog > p:not(.site-eyebrow) {
  margin: 14px auto 0;
  color: #5c6e87;
  font-size: 17px;
  line-height: 1.55;
}

.client-discard-icon {
  width: 64px;
  height: 64px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #eef8fb;
  color: #123b70;
}

.client-discard-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.client-discard-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #f1f6fa;
  color: #123b70;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.client-discard-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 26px;
}

.client-discard-modal-actions .site-button {
  width: 100%;
  min-height: 52px;
}

body.client-discard-modal-open {
  overflow: hidden;
}

@media (max-width: 640px) {
  .client-discard-modal {
    align-items: end;
    padding: 14px;
  }

  .client-discard-dialog {
    padding: 34px 22px 22px;
    border-radius: 24px;
  }

  .client-discard-modal-actions {
    grid-template-columns: 1fr;
  }
}

.client-property-empty p {
  margin-top: 7px;
  color: #60758a;
}

.client-property-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
  color: #60758a;
  font-weight: 900;
}

.client-property-pager a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border: 1px solid rgba(198, 216, 229, .96);
  border-radius: 999px;
  background: #fff;
  color: #123b70;
  text-decoration: none;
}

.client-portal-favorites article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fbfdff;
}

.client-favorites-window {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-favorites-window article {
  grid-template-columns: 1fr;
}

.client-favorites-window img {
  width: 100%;
  height: 168px;
}

.client-portal-favorites img {
  width: 92px;
  height: 76px;
  object-fit: cover;
  border-radius: 10px;
}

.client-portal-favorites strong,
.client-portal-favorites span,
.client-portal-favorites a {
  display: block;
}

.client-portal-favorites span {
  color: #6d7d8d;
}

.client-document-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 12px 13px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fbfdff;
}

.client-document-list article::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #a9b8c7;
  box-shadow: 0 0 0 4px rgba(169, 184, 199, .14);
}

.client-document-list article {
  grid-template-columns: auto 1fr auto;
}

.client-document-list strong {
  flex: 1;
  color: #172231;
}

.client-document-list .is-done::before {
  background: #2f7d56;
  box-shadow: 0 0 0 4px rgba(47, 125, 86, .14);
}

.client-document-list .is-current::before {
  background: var(--accent-2);
  box-shadow: 0 0 0 4px rgba(36, 143, 211, .16);
}

.client-support-list {
  display: grid;
  gap: 10px;
}

.client-support-list article {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(213, 223, 231, .9);
  border-radius: 12px;
  background: #fbfdff;
}

.client-support-list span {
  color: #6d7d8d;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.client-support-list strong,
.client-support-list a {
  color: #172231;
  font-weight: 900;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.client-activity-list article {
  padding: 0 0 12px 18px;
  border-left: 2px solid #cbd9de;
}

.client-activity-list article:last-child {
  padding-bottom: 0;
}

.client-activity-list strong,
.client-activity-list p {
  display: block;
  margin: 3px 0 0;
}

.client-activity-list p {
  color: #6d7d8d;
}

.client-last-update {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(213, 223, 231, .9);
  color: #6d7d8d;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 980px) {
  .client-login-shell,
  .client-dashboard-intro,
  .client-process-current,
  .client-process-detail-grid,
  .client-private-hero,
  .client-banking-hero,
  .client-now-card,
  .client-window-grid,
  .client-private-grid,
  .client-portal-grid,
  .client-portal-access-panel {
    grid-template-columns: 1fr;
  }

  .client-login-shell {
    min-height: 0;
  }

  .client-login-context {
    min-height: 320px;
  }

  .client-portal-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-property-results,
  .client-property-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-property-search-window .public-search,
  .client-property-search-window .listing-search {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .client-property-search-window .search-keyword {
    grid-column: span 2;
  }

  .client-property-search-window .finance-filter-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-profile-strip {
    grid-template-columns: 1fr;
  }

  .client-stage-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-journey {
    grid-template-columns: 1fr;
  }

  .client-journey::before {
    left: 38px;
    right: auto;
    top: 36px;
    bottom: 36px;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, rgba(36, 63, 134, .16), rgba(36, 143, 211, .32), rgba(36, 63, 134, .12));
  }

  .client-journey-step {
    min-height: 0;
    grid-template-columns: 76px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
  }

  .client-journey-marker {
    flex-direction: column;
    justify-content: flex-start;
  }

  .client-journey-reference {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 4px 0 0;
  }

  .client-journey-reference::before {
    display: none;
  }

  .client-journey-reference .client-journey-step {
    grid-template-columns: 64px 62px minmax(0, 1fr);
    grid-template-rows: auto;
    justify-items: start;
    align-items: start;
    min-height: 0;
    padding: 12px;
    border: 1px solid rgba(198,216,229,.9);
    border-radius: 16px;
    background: #fff;
    text-align: left;
  }

  .client-journey-reference .client-journey-step > div:last-child {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
  }

  .client-journey-reference .client-journey-marker {
    margin: 0;
  }

  .client-journey-reference .client-journey-step p {
    max-width: none;
  }

  .client-journey-reference .client-journey-step time,
  .client-journey-reference .client-journey-step a {
    display: block;
    margin-top: 8px;
  }

  .client-now-reference {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 18px;
    background: #fff;
  }

  .client-now-reference::after {
    display: none;
  }

  .client-now-action {
    grid-column: 1 / -1;
    justify-items: stretch;
  }

  .client-trust-strip {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .client-trust-strip article + article {
    border-left: 0;
    border-top: 1px solid #d9e3f0;
    padding-left: 0;
    padding-top: 14px;
  }

  .client-overview-windows,
  .client-status-strip,
  .client-edit-grid,
  .client-favorites-window {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 995px) {
  .client-portal-page.client-mobile-menu-open {
    overflow: hidden;
  }

  .client-portal-topbar {
    position: sticky;
    min-height: 84px;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 12px max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left));
  }

  .client-mobile-menu-toggle {
    width: 44px;
    height: 44px;
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #31475c;
    cursor: pointer;
  }

  .client-mobile-menu-toggle span {
    width: 26px;
    height: 2.5px;
    display: block;
    border-radius: 999px;
    background: currentColor;
  }

  .client-portal-brand {
    min-width: 0;
  }

  .client-portal-brand img {
    width: clamp(118px, 30vw, 156px);
  }

  .client-portal-topbar .client-view-nav {
    min-width: 0;
    margin-left: auto;
    flex: 1 1 auto;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 7px;
  }

  .client-portal-topbar .client-view-nav a {
    display: none;
  }

  .client-portal-topbar .client-view-nav .client-nav-favoritos,
  .client-portal-topbar .client-view-nav .client-nav-cuenta {
    display: none;
  }

  .client-portal-topbar .client-view-nav .client-nav-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .client-portal-topbar .client-view-nav .client-nav-favoritos {
    max-width: 128px;
    text-transform: uppercase;
  }

  .client-portal-topbar .client-view-nav .client-nav-cuenta {
    max-width: 96px;
  }

  .client-portal-topbar .client-view-nav .client-nav-favoritos.active,
  .client-portal-topbar .client-view-nav .client-nav-cuenta.active {
    background: transparent;
    color: #31475c;
  }

  .client-portal-topbar .client-view-count {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: 6px;
    border-radius: 999px;
    background: #edf5f9;
    color: #163d70;
    font-size: 13px;
    font-weight: 950;
  }

  .client-portal-topbar .client-language-switcher {
    flex: 0 0 auto;
    margin-left: 0;
  }

  .client-portal-topbar .client-language-switcher summary {
    min-width: 56px;
    min-height: 42px;
    border-radius: 14px;
  }

  .client-mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2580;
    display: block;
    background: rgba(9, 24, 42, .52);
    backdrop-filter: blur(5px);
  }

  .client-mobile-menu-backdrop[hidden] {
    display: none;
  }

  .client-mobile-menu {
    position: fixed;
    z-index: 2600;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: min(390px, calc(100vw - 28px));
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    border: 1px solid rgba(205, 221, 235, .9);
    border-radius: 24px;
    background:
      linear-gradient(180deg, #ffffff 0%, #f4f8fc 58%, #eef5fb 100%);
    box-shadow: 24px 18px 70px rgba(8, 22, 38, .28);
    transform: translateX(calc(-100% - 18px));
    transition: transform .24s ease;
  }

  .client-mobile-menu[aria-hidden="false"] {
    transform: translateX(0);
  }

  .client-mobile-menu-head {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: max(16px, env(safe-area-inset-top)) 18px 10px 22px;
  }

  .client-mobile-menu-close {
    width: 44px;
    height: 44px;
    border: 1px solid #cfe0ed;
    border-radius: 14px;
    background: rgba(255, 255, 255, .92);
    color: #123b70;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(18, 59, 112, .08);
  }

  .client-mobile-nav {
    display: grid;
    align-content: start;
    gap: 9px;
    padding: 14px 14px max(16px, env(safe-area-inset-bottom));
    overflow: auto;
  }

  .client-mobile-nav a {
    min-height: 58px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 8px 12px 8px 8px;
    border: 1px solid rgba(211, 224, 235, .86);
    border-radius: 16px;
    background: rgba(255, 255, 255, .76);
    color: #12233a;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(18, 59, 112, .05);
  }

  .client-mobile-nav a i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #eef7ff;
    color: #287cc1;
  }

  .client-mobile-nav a svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .client-mobile-nav .client-nav-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .client-mobile-nav a.active {
    border-color: rgba(40, 124, 193, .36);
    background: #eaf5ff;
    color: #123b70;
    box-shadow: 0 14px 28px rgba(18, 59, 112, .10);
  }

  .client-mobile-nav a.active i {
    background: #123b70;
    color: #ffffff;
  }

  .client-mobile-nav .client-view-count {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(237,245,249,.95);
    color: #163d70;
    font-size: 13px;
  }

  .client-mobile-nav a.active .client-view-count {
    background: #ffffff;
    color: #123b70;
    box-shadow: 0 8px 18px rgba(18, 59, 112, .12);
  }

  .client-mobile-nav b {
    color: #8ba0b4;
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
  }

  .client-mobile-nav .client-nav-logout {
    margin-top: 8px;
    border-color: rgba(201, 73, 73, .18);
    color: #8b2f2f;
  }

  .client-mobile-nav .client-nav-logout i {
    background: #fff1f1;
    color: #c74949;
  }
}

@media (max-width: 640px) {
  .client-portal-shell {
    width: min(100% - 22px, 1220px);
    padding-top: 14px;
  }

  .client-portal-kpis,
  .client-stage-track,
  .client-process-current,
  .client-process-detail-grid,
  .client-overview-windows,
  .client-status-strip,
  .client-edit-grid,
  .client-property-results,
  .client-property-search,
  .client-form-row,
  .client-favorites-window,
  .client-proposal-card,
  .client-message-list article {
    grid-template-columns: 1fr;
  }

  .client-property-search-window .public-search-toggle {
    width: 100%;
    min-height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 14px;
    padding: 11px 17px;
    background: var(--brand);
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.2;
    box-shadow: 0 14px 28px rgba(18, 59, 112, .24);
  }

  .client-property-search-window .public-search-toggle[aria-expanded="true"] {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 8;
    width: 46px;
    min-height: 46px;
    padding: 0;
    border: 1px solid #cfe0ed;
    border-radius: 14px;
    background: #fff;
    color: #123b70;
    font-size: 0;
    box-shadow: 0 12px 28px rgba(16, 38, 62, .08);
  }

  .client-property-search-window .public-search-toggle[aria-expanded="true"]::before {
    content: "\00d7";
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
  }

  .client-property-search-window .public-search,
  .client-property-search-window .listing-search {
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: min(100%, 520px);
    margin: 16px auto 0;
    padding: 76px 14px 18px;
    border: 1px solid rgba(211, 224, 235, .9);
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 251, 254, .98) 100%);
    box-shadow: 0 22px 54px rgba(8, 22, 38, .18);
  }

  .client-property-search-window .public-search.is-open,
  .client-property-search-window .listing-search.is-open {
    display: grid;
  }

  .client-property-search-window .listing-search .search-keyword,
  .client-property-search-window .listing-search .search-actions,
  .client-property-search-window .listing-search .finance-filter {
    grid-column: 1 / -1;
  }

  .client-property-search-window .public-search.is-open label,
  .client-property-search-window .public-search.is-open .client-location-filter,
  .client-property-search-window .public-search.is-open .finance-filter {
    min-height: 58px;
    display: grid;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(207, 221, 234, .92);
    border-radius: 15px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 24px rgba(16, 38, 62, .05);
  }

  .client-property-search-window .public-search.is-open label:nth-of-type(7),
  .client-property-search-window .public-search.is-open .search-keyword,
  .client-property-search-window .public-search.is-open .finance-filter,
  .client-property-search-window .public-search.is-open .search-actions {
    grid-column: 1 / -1;
  }

  .client-property-search-window .public-search.is-open label > span,
  .client-property-search-window .public-search.is-open .client-location-filter > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .client-property-search-window .public-search.is-open select,
  .client-property-search-window .public-search.is-open input {
    min-height: 56px;
    border: 0;
    border-radius: 0;
    padding: 0 8px;
    background-color: transparent;
    color: #152235;
    font-size: 15px;
    font-weight: 850;
    box-shadow: none;
  }

  .client-property-search-window .public-search.is-open .client-location-filter .multi-select summary {
    min-height: 56px;
    border: 0;
    border-radius: 0;
    padding: 0 8px;
    background-color: transparent;
    background-image: none;
    background-repeat: no-repeat;
    color: #152235;
    font-size: 15px;
    font-weight: 850;
    box-shadow: none;
  }

  .client-property-search-window .public-search.is-open .client-location-filter .multi-options {
    top: calc(100% + 8px);
    width: max(100%, 270px);
  }

  .client-property-search-window .public-search.is-open .client-location-filter .multi-options input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 0;
    padding: 0;
  }

  .client-property-search-window .public-search.is-open select:disabled,
  .client-property-search-window .public-search.is-open input::placeholder {
    color: #7a8795;
    opacity: 1;
  }

  .client-property-search-window .public-search.is-open .finance-filter {
    padding: 0;
    overflow: hidden;
  }

  .client-property-search-window .public-search.is-open .finance-filter summary {
    min-height: 58px;
    align-items: center;
    flex-direction: row;
    padding: 0 14px;
  }

  .client-property-search-window .public-search.is-open .finance-filter summary::after {
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
  }

  .client-property-search-window .public-search.is-open .finance-filter-fields {
    grid-template-columns: 1fr;
    padding: 0 12px 14px;
  }

  .client-property-search-window .public-search.is-open .search-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 2px;
  }

  .client-property-search-window .public-search.is-open .search-actions button {
    min-height: 54px;
    border-radius: 15px;
    font-size: 15px;
    box-shadow: 0 12px 24px rgba(18, 59, 112, .18);
  }

  .client-property-search-window .public-search.is-open .map-submit-button {
    min-height: 54px;
    border-color: rgba(39, 120, 168, .28);
    background: #eef7ff;
    color: #123b70;
    box-shadow: none;
  }

  .client-private-hero,
  .client-dashboard-intro,
  .client-now-card,
  .client-window,
  .client-process-panel,
  .client-portal-panel {
    border-radius: 16px;
  }

  .client-advisor-profile {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .client-advisor-avatar {
    width: 62px;
    height: 62px;
    font-size: 19px;
  }

  .client-advisor-actions {
    grid-template-columns: 1fr;
  }

  .client-buyer-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 20px;
    background:
      linear-gradient(90deg, rgba(10, 28, 48, .96), rgba(10, 30, 52, .82)),
      url("home-paths/specific-home.jpg") center 45% / cover;
  }

  .client-buyer-hero .client-private-copy h1 {
    max-width: 300px;
    margin-top: 8px;
    font-size: clamp(28px, 9vw, 38px);
    line-height: 1.02;
  }

  .client-buyer-hero .client-hero-underline {
    width: 48px;
    height: 4px;
    margin-top: 12px;
  }

  .client-buyer-hero .client-private-copy p {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.4;
  }

  .client-buyer-hero .client-advisor-card {
    display: none;
  }

  .client-journey-step {
    padding: 15px;
  }

  .client-journey-step.is-current {
    transform: none;
  }

  .client-now-card .site-button {
    width: 100%;
  }

  .client-property-keyword,
  .client-property-question {
    grid-column: auto;
  }

  .client-landing-grid,
  .client-created-landing-card,
  .client-owner-property-row {
    grid-template-columns: 1fr;
  }

  .client-owner-property-thumb {
    width: 100%;
    max-width: 240px;
  }

  .client-created-landing-actions,
  .client-owner-property-actions {
    justify-content: flex-start;
  }

  .client-property-question {
    grid-template-columns: 1fr;
  }

  .client-login-panel {
    padding: 22px;
  }

  .client-login-context {
    padding: 24px;
  }

  .client-login-context > strong {
    font-size: 30px;
  }
}

@media (max-width: 480px) {
  .client-portal-topbar {
    gap: 8px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .client-portal-topbar > .client-portal-brand {
    display: none;
  }

  .client-portal-topbar .client-view-nav {
    gap: 5px;
  }

  .client-portal-topbar .client-view-nav .client-nav-favoritos {
    max-width: 124px;
    font-size: 12px;
  }

  .client-portal-topbar .client-view-nav .client-nav-cuenta {
    max-width: 86px;
    font-size: 12px;
  }

  .client-portal-topbar .client-language-switcher summary {
    min-width: 52px;
    padding: 0 9px;
  }
}

@media (max-width: 1180px) {
  .commercial-client-profile .client-profile-actions {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .client-action-menu summary {
    width: 100%;
  }

  .client-action-menu > div {
    left: 0;
    right: auto;
  }
}

@media (max-width: 920px) {
  .commercial-client-profile .client-profile-grid,
  .client-insight-grid {
    grid-template-columns: 1fr;
  }

  .client-timeline-item {
    grid-template-columns: 1fr;
  }

  .client-timeline .activity-meta {
    justify-items: start;
    padding-top: 6px;
    padding-left: 14px;
  }

  .client-portal-access-panel {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .client-demand-head,
  .client-demand-form {
    grid-template-columns: 1fr;
  }

  .client-demand-summary,
  .client-demand-summary-notes {
    grid-template-columns: 1fr;
  }

  .client-demand-summary-actions {
    justify-content: start;
  }

  .client-demand-form .span-2 {
    grid-column: 1;
  }

  .demand-property-row {
    grid-template-columns: 34px 110px minmax(0, 1fr);
  }

  .demand-row-facts,
  .demand-row-actions {
    grid-column: 3;
  }

  .demand-row-actions {
    justify-items: start;
    align-content: start;
  }
}

@media (max-width: 640px) {
  .client-identity {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .client-avatar {
    width: 52px;
    height: 52px;
    font-size: 17px;
  }

  .commercial-client-profile .client-contact-line span + span::before {
    content: "";
    margin-right: 0;
  }

  .commercial-client-profile .client-profile-actions .button,
  .commercial-client-profile .client-profile-actions button {
    width: 100%;
  }

  .client-action-group > div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .client-compact-panel .client-favorite-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .client-demand-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .client-demand-actions .button,
  .client-demand-actions button {
    width: 100%;
  }

  .demand-property-row {
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
    padding: 14px;
  }

  .demand-row-media,
  .demand-row-main,
  .demand-row-facts,
  .demand-row-actions {
    grid-column: 2;
  }

  .demand-row-media {
    width: 100%;
    max-width: 180px;
  }

  .demand-row-facts {
    grid-template-columns: 1fr;
  }
}

/* Gerencia usuarios premium */
.button.compact,
button.compact {
  min-height: 34px;
  padding: 7px 13px;
  font-size: 14px;
}

.button.danger-soft,
button.danger-soft {
  color: var(--danger);
  border-color: rgba(169, 50, 56, .24);
  background: var(--danger-soft);
}

.button.danger-soft:hover,
button.danger-soft:hover {
  border-color: rgba(169, 50, 56, .42);
}

.gerencia-user-panel {
  scroll-margin-top: 18px;
  border-color: rgba(36, 63, 134, .14);
  background:
    linear-gradient(135deg, rgba(36, 63, 134, .045), rgba(255, 255, 255, 0) 34%),
    #fff;
}

.gerencia-user-section-head {
  align-items: flex-start;
  gap: 16px;
}

.gerencia-user-create-panel {
  display: grid;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(36, 63, 134, .16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(36, 63, 134, .96), rgba(36, 63, 134, .82)),
    var(--accent);
  box-shadow: 0 18px 42px rgba(36, 63, 134, .13);
}

.gerencia-user-create-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: 10px 12px;
  color: #fff;
}

.gerencia-user-create-copy span {
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gerencia-user-create-copy strong {
  display: block;
  margin-top: 8px;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: 0;
}

.gerencia-user-create-copy small {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, .78);
  font-weight: 700;
}

.gerencia-user-form-premium {
  margin-top: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(14, 25, 50, .13);
}

.gerencia-user-form-premium label {
  margin-top: 0;
}

.user-permission-box {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid rgba(36, 63, 134, .16);
  border-radius: 8px;
  background: #f7f9fc;
}

.user-permission-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.user-permission-head legend {
  padding: 0;
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
}

.user-permission-head small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
}

.user-permission-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.user-permission-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.user-permission-group {
  padding: 10px;
  border: 1px solid rgba(215, 225, 235, .9);
  border-radius: 8px;
  background: #fff;
}

.user-permission-group > strong {
  display: block;
  margin-bottom: 7px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.user-permission-options {
  display: grid;
  gap: 5px;
}

.user-permission-option {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  margin: 0 !important;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--text);
  background: #f8fafc;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.user-permission-option:hover {
  background: #eef3fb;
}

.user-permission-option input {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--accent);
}

@media (max-width: 1080px) {
  .user-permission-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .user-permission-head {
    display: grid;
  }

  .user-permission-groups {
    grid-template-columns: 1fr;
  }

  .user-permission-actions button {
    flex: 1 1 140px;
  }
}

.inline-check {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px !important;
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}

.inline-check input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--accent);
}

.gerencia-user-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.gerencia-user-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 260px;
  padding: 16px;
  border: 1px solid rgba(36, 63, 134, .13);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .98)),
    #fff;
  box-shadow: 0 14px 34px rgba(24, 38, 55, .08);
}

.gerencia-user-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--accent), #b9934f, var(--accent-2));
}

.gerencia-user-card.inactive {
  opacity: .78;
  background: linear-gradient(180deg, #fff, #f6f8fb);
}

.gerencia-user-card-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.gerencia-user-avatar {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0)),
    var(--accent);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22), 0 10px 22px rgba(36, 63, 134, .2);
  font-size: 18px;
  font-weight: 950;
}

.gerencia-user-avatar.accent {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0)),
    #b9934f;
}

.gerencia-user-card-title {
  min-width: 0;
}

.gerencia-user-card-title span {
  display: block;
  color: #9a7536;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gerencia-user-card-title h3 {
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.gerencia-user-card-title small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.gerencia-user-status {
  justify-self: end;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.gerencia-user-status.active {
  color: var(--success);
  background: var(--success-soft);
}

.gerencia-user-status.inactive {
  color: var(--danger);
  background: var(--danger-soft);
}

.gerencia-user-status.blocked {
  color: #9a3412;
  background: #fff7ed;
}

.gerencia-user-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
}

.gerencia-user-facts div {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(215, 225, 235, .86);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}

.gerencia-user-facts span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.gerencia-user-facts strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.gerencia-card-editor {
  margin-top: auto;
  border-top: 1px solid rgba(215, 225, 235, .82);
  padding-top: 12px;
}

.gerencia-card-editor > button {
  width: max-content;
  max-width: 100%;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(36, 63, 134, .18);
  border-radius: 6px;
  color: var(--accent);
  background: #fff;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  font-weight: 900;
}

.gerencia-user-access-modal[hidden] {
  display: none !important;
}

.gerencia-user-access-modal {
  position: fixed;
  inset: 0;
  z-index: 5100;
  display: grid;
  place-items: center;
  padding: 24px;
}

.gerencia-user-access-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(12, 23, 43, .68);
  box-shadow: none;
  cursor: default;
}

.gerencia-user-access-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid rgba(36, 63, 134, .2);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(6, 18, 40, .3);
}

.gerencia-user-access-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(215, 225, 235, .9);
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(12px);
}

.gerencia-user-access-head > div:nth-child(2) {
  min-width: 0;
}

.gerencia-user-access-head span,
.gerencia-permission-user-summary > div:nth-child(2) > span {
  display: block;
  color: #9a7536;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gerencia-user-access-head h2 {
  margin: 2px 0 0;
  font-size: 22px;
  line-height: 1.15;
}

.gerencia-user-access-head small,
.gerencia-permission-user-summary small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
}

.gerencia-user-access-close {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(36, 63, 134, .16);
  border-radius: 50%;
  color: var(--accent);
  background: #f7f9fc;
  box-shadow: none;
  font-size: 28px;
  line-height: 1;
}

.gerencia-user-access-form {
  padding: 20px;
}

.gerencia-user-access-form .compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gerencia-user-modal-actions {
  margin-top: 18px;
}

.gerencia-user-modal-secondary-actions {
  margin: 0;
  padding: 14px 20px 20px;
  border-top: 1px solid rgba(215, 225, 235, .9);
  background: #f8fafc;
}

body.gerencia-user-modal-open {
  overflow: hidden;
}

.gerencia-permission-user-picker {
  display: grid;
  grid-template-columns: minmax(120px, .3fr) minmax(280px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(36, 63, 134, .16);
  border-radius: 8px;
  background: #f7f9fc;
}

.gerencia-permission-user-picker label {
  margin: 0 0 11px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 950;
}

.gerencia-permission-user-summary {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(185, 147, 79, .24);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(185, 147, 79, .09), rgba(255, 255, 255, .96));
}

.gerencia-permission-user-summary strong {
  display: block;
  margin-top: 2px;
  color: var(--text);
  font-size: 18px;
}

.gerencia-permission-editor .user-permission-box {
  margin-top: 14px;
}

.gerencia-permission-editor > .actions {
  margin-top: 14px;
}

.gerencia-absence-panel {
  margin-top: 18px;
}

.gerencia-absence-form {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .86);
  border-radius: 8px;
  background: rgba(255, 255, 255, .74);
}

.gerencia-absence-form .compact-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}

.gerencia-absence-submit {
  display: flex;
  align-items: end;
}

.gerencia-absence-submit button {
  width: 100%;
  min-height: 42px;
}

.gerencia-absence-table {
  margin-top: 14px;
}

.gerencia-absence-table form {
  margin: 0;
}

.gerencia-vacation-panel {
  margin-top: 18px;
}

.gerencia-vacation-form {
  background: #f8fbff;
}

.gerencia-vacation-form .compact-grid {
  grid-template-columns: minmax(180px, 1.2fr) repeat(3, minmax(150px, 1fr)) minmax(150px, .8fr);
}

.gerencia-vacation-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 18px;
  align-items: start;
}

.gerencia-agenda-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.gerencia-agenda-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 88px;
  padding: 12px;
  border: 1px solid rgba(215, 225, 235, .9);
  border-left: 4px solid var(--vacation-user-border, #4b91d2);
  border-radius: 8px;
  background: var(--vacation-user-soft, #fff);
  box-shadow: 0 8px 18px rgba(24, 38, 55, .04);
}

.gerencia-agenda-item.blocked {
  box-shadow: inset 0 0 0 1px rgba(196, 109, 45, .18), 0 8px 18px rgba(24, 38, 55, .04);
}

.gerencia-agenda-item.inactive {
  opacity: .78;
}

.gerencia-agenda-date {
  width: 58px;
  min-height: 58px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 8px;
  color: var(--vacation-user-text, #15294d);
  background: var(--vacation-user-bg, #edf6ff);
}

.gerencia-agenda-date span {
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}

.gerencia-agenda-date strong {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
}

.gerencia-agenda-main {
  min-width: 0;
}

.gerencia-agenda-main > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gerencia-agenda-main h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.2;
}

.gerencia-agenda-main p {
  margin: 6px 0 0;
  color: var(--text);
  font-weight: 850;
}

.gerencia-agenda-main small {
  display: block;
  margin-top: 4px;
}

.gerencia-agenda-item form {
  margin: 0;
}

.gerencia-vacation-totals .control-compact-table {
  margin-top: 12px;
}

.gerencia-vacation-calendar-panel {
  overflow: hidden;
}

.gerencia-vacation-calendar-months {
  margin-top: 14px;
}

.gerencia-vacation-calendar-grid .calendar-day {
  min-height: 112px;
}

.gerencia-vacation-calendar-day.has-vacation {
  border-color: rgba(75, 145, 210, .35);
  background: #fbfdff;
}

.gerencia-vacation-day-items {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.gerencia-vacation-day-chip {
  display: block;
  max-width: 100%;
  min-height: 24px;
  padding: 5px 7px;
  overflow: hidden;
  border: 1px solid var(--vacation-user-border, rgba(75, 145, 210, .25));
  border-radius: 6px;
  color: var(--vacation-user-text, #17377d);
  background: var(--vacation-user-bg, #eaf3ff);
  font-size: 11px;
  line-height: 1.15;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-vacation-day-chip.blocked {
  box-shadow: inset 3px 0 0 rgba(196, 109, 45, .75);
}

.gerencia-vacation-day-chip.inactive {
  opacity: .72;
}

.gerencia-vacation-day-chip strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gerencia-agenda-item.user-color-0,
.gerencia-vacation-day-chip.user-color-0 {
  --vacation-user-bg: #e8f2ff;
  --vacation-user-soft: #fbfdff;
  --vacation-user-border: #7db5f5;
  --vacation-user-text: #17377d;
}

.gerencia-agenda-item.user-color-1,
.gerencia-vacation-day-chip.user-color-1 {
  --vacation-user-bg: #e8f8ef;
  --vacation-user-soft: #fbfffd;
  --vacation-user-border: #69c58f;
  --vacation-user-text: #165b36;
}

.gerencia-agenda-item.user-color-2,
.gerencia-vacation-day-chip.user-color-2 {
  --vacation-user-bg: #fff4dc;
  --vacation-user-soft: #fffdf8;
  --vacation-user-border: #e2aa43;
  --vacation-user-text: #76510e;
}

.gerencia-agenda-item.user-color-3,
.gerencia-vacation-day-chip.user-color-3 {
  --vacation-user-bg: #f4ecff;
  --vacation-user-soft: #fdfbff;
  --vacation-user-border: #aa86e8;
  --vacation-user-text: #56328f;
}

.gerencia-agenda-item.user-color-4,
.gerencia-vacation-day-chip.user-color-4 {
  --vacation-user-bg: #ffecef;
  --vacation-user-soft: #fffbfc;
  --vacation-user-border: #ec8498;
  --vacation-user-text: #8c293c;
}

.gerencia-agenda-item.user-color-5,
.gerencia-vacation-day-chip.user-color-5 {
  --vacation-user-bg: #e4fbfb;
  --vacation-user-soft: #f9ffff;
  --vacation-user-border: #58c7c7;
  --vacation-user-text: #0d6166;
}

.gerencia-agenda-item.user-color-6,
.gerencia-vacation-day-chip.user-color-6 {
  --vacation-user-bg: #edf1ff;
  --vacation-user-soft: #fbfcff;
  --vacation-user-border: #8f9fee;
  --vacation-user-text: #303b87;
}

.gerencia-agenda-item.user-color-7,
.gerencia-vacation-day-chip.user-color-7 {
  --vacation-user-bg: #f1f7df;
  --vacation-user-soft: #fdfff8;
  --vacation-user-border: #9cbe48;
  --vacation-user-text: #526c14;
}

.gerencia-agenda-item.user-color-8,
.gerencia-vacation-day-chip.user-color-8 {
  --vacation-user-bg: #ffeede;
  --vacation-user-soft: #fffaf6;
  --vacation-user-border: #ed9c58;
  --vacation-user-text: #88450d;
}

.gerencia-agenda-item.user-color-9,
.gerencia-vacation-day-chip.user-color-9 {
  --vacation-user-bg: #e8f6ff;
  --vacation-user-soft: #fbfdff;
  --vacation-user-border: #66b9dc;
  --vacation-user-text: #155574;
}

.gerencia-agenda-item.user-color-10,
.gerencia-vacation-day-chip.user-color-10 {
  --vacation-user-bg: #f9edff;
  --vacation-user-soft: #fffbff;
  --vacation-user-border: #ca7be2;
  --vacation-user-text: #74308a;
}

.gerencia-agenda-item.user-color-11,
.gerencia-vacation-day-chip.user-color-11 {
  --vacation-user-bg: #eef2f5;
  --vacation-user-soft: #fbfcfd;
  --vacation-user-border: #8fa3b8;
  --vacation-user-text: #33465b;
}

@media (max-width: 1100px) {
  .gerencia-vacation-form .compact-grid,
  .gerencia-vacation-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .gerencia-agenda-item {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .gerencia-agenda-date {
    width: 52px;
    min-height: 52px;
  }

  .gerencia-agenda-item form {
    grid-column: 2;
  }
}

.gerencia-user-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gerencia-user-lock,
.gerencia-user-empty {
  padding: 13px 14px;
  border: 1px dashed rgba(36, 63, 134, .24);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(234, 244, 252, .56);
  font-weight: 800;
}

.gerencia-user-empty {
  margin-top: 18px;
}

.gerencia-user-empty strong,
.gerencia-user-empty span {
  display: block;
}

.gerencia-user-empty strong {
  color: var(--text);
  font-size: 16px;
}

.gerencia-user-empty span {
  margin-top: 4px;
}

@media (max-width: 980px) {
  .gerencia-user-create-panel {
    grid-template-columns: 1fr;
  }

  .gerencia-permission-user-picker {
    grid-template-columns: 1fr auto;
  }

  .gerencia-permission-user-picker label {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .gerencia-user-create-copy {
    padding: 2px 4px 0;
  }
}

@media (max-width: 640px) {
  .gerencia-user-card-grid,
  .gerencia-user-facts {
    grid-template-columns: 1fr;
  }

  .gerencia-user-card-head {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .gerencia-user-avatar {
    width: 46px;
    height: 46px;
  }

  .gerencia-user-status {
    justify-self: start;
    grid-column: 2;
  }

  .gerencia-user-access-modal {
    align-items: end;
    padding: 10px;
  }

  .gerencia-user-access-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 12px 12px 8px 8px;
  }

  .gerencia-user-access-head {
    grid-template-columns: 46px minmax(0, 1fr) 38px;
    padding: 14px;
  }

  .gerencia-user-access-form {
    padding: 14px;
  }

  .gerencia-user-access-form .compact-grid,
  .gerencia-permission-user-picker {
    grid-template-columns: 1fr;
  }

  .gerencia-permission-user-picker label {
    grid-column: auto;
  }

  .gerencia-permission-user-picker button,
  .gerencia-user-modal-actions button {
    width: 100%;
  }

  .gerencia-permission-user-summary {
    grid-template-columns: 46px minmax(0, 1fr);
  }
}

.gerencia-user-create-dropdown {
  margin-top: 18px;
}

.gerencia-user-create-dropdown > summary {
  width: max-content;
  max-width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #fff;
  background: var(--accent);
  box-shadow: 0 7px 18px rgba(36, 63, 134, .16);
  cursor: pointer;
  font-weight: 900;
  line-height: 1;
  list-style: none;
}

.gerencia-user-create-dropdown > summary::-webkit-details-marker {
  display: none;
}

.gerencia-user-create-dropdown > summary::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border-radius: 999px;
  color: var(--accent);
  background: #fff;
  font-weight: 950;
}

.gerencia-user-create-dropdown[open] > summary::before {
  content: "-";
}

.gerencia-user-create-dropdown[open] > summary {
  margin-bottom: 0;
}

.agent-live-chat {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 120;
  font-family: inherit;
}

.agent-live-chat[hidden],
.agent-live-chat [hidden],
.agent-live-chat-panel[hidden] {
  display: none !important;
}

.agent-live-chat-launcher {
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 50%;
  background: #38405f;
  box-shadow: 0 18px 42px rgba(18, 31, 52, .28);
  cursor: pointer;
  position: relative;
}

.agent-live-chat-launcher-face,
.agent-live-chat-avatar {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #17375f;
  background: linear-gradient(135deg, #eaf7fb 0%, #ffffff 100%);
  font-weight: 950;
  position: relative;
  overflow: hidden;
}

.agent-live-chat-launcher-face {
  position: absolute;
  inset: 8px;
  font-size: 18px;
}

.agent-live-chat-dot {
  position: absolute;
  right: 7px;
  top: 7px;
  width: 14px;
  height: 14px;
  border: 3px solid #38405f;
  border-radius: 50%;
  background: #51c85a;
}

.agent-live-chat.is-unavailable .agent-live-chat-dot {
  background: #c9d3de;
}

.agent-live-chat.is-unavailable .agent-live-chat-launcher {
  opacity: .82;
}

.agent-live-chat.is-unavailable .agent-live-chat-launcher-face::after,
.agent-live-chat.is-unavailable .agent-live-chat-avatar::after {
  content: "";
  position: absolute;
  width: 145%;
  height: 4px;
  border-radius: 999px;
  background: #d75445;
  transform: rotate(-38deg);
  box-shadow: 0 0 0 2px rgba(255,255,255,.72);
}

.agent-live-chat.incoming-call .agent-live-chat-launcher-face,
.agent-live-chat.incoming-call .agent-live-chat-avatar {
  color: transparent;
  background: linear-gradient(135deg, #fff8e8 0%, #ffffff 100%);
}

.agent-live-chat.incoming-call .agent-live-chat-launcher-face::before,
.agent-live-chat.incoming-call .agent-live-chat-avatar::before {
  content: "\260E";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #17375f;
  font-size: 24px;
  animation: agent-phone-ring .72s ease-in-out infinite;
}

.agent-live-chat.incoming-call .agent-live-chat-launcher-face::after,
.agent-live-chat.incoming-call .agent-live-chat-avatar::after {
  display: none;
}

.agent-live-chat-panel {
  width: min(360px, calc(100vw - 28px));
  height: min(560px, calc(100vh - 36px));
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(20, 31, 52, .28);
  display: grid;
  grid-template-rows: auto auto 1fr auto;
}

.agent-live-chat-head {
  min-height: 86px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  color: #fff;
  background: #3b405f;
  position: relative;
}

.agent-live-chat-head::after {
  content: "";
  position: absolute;
  right: -18px;
  top: -18px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #58c953;
}

.agent-live-chat-avatar {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  font-size: 16px;
}

.agent-live-chat-title {
  min-width: 0;
}

.agent-live-chat-panel header strong,
.agent-live-chat-panel header span {
  display: block;
}

.agent-live-chat-panel header strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.agent-live-chat-panel header span {
  margin-top: 4px;
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
}

.agent-live-chat-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 7px;
  position: relative;
  z-index: 2;
}

.agent-live-chat-panel header .agent-live-chat-actions button {
  margin-left: 0;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.14);
  cursor: pointer;
  font-size: 20px;
  position: relative;
  z-index: 1;
}

.agent-live-chat-finish {
  width: auto !important;
  min-width: 0;
  height: 34px;
  border-radius: 8px !important;
  padding: 0 11px;
  font-size: 13px !important;
  font-weight: 850;
  margin-left: 0 !important;
}

.agent-live-chat-availability {
  width: auto !important;
  min-width: 96px;
  height: 34px;
  border-radius: 999px !important;
  padding: 0 10px;
  color: #17375f !important;
  background: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900;
}

.agent-live-chat-close {
  flex: 0 0 34px;
}

.agent-live-chat.is-unavailable .agent-live-chat-availability {
  color: #fff !important;
  background: rgba(255,255,255,.2) !important;
}

.agent-live-chat-finish:disabled {
  opacity: .62;
  cursor: wait;
}

.agent-live-chat-finish + button {
  margin-left: 0;
}

.agent-live-chat-empty {
  margin: 10px;
  padding: 16px;
  border: 1px solid #dfe8f1;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(0, 165, 202, .08), rgba(88, 201, 83, .08)),
    #fff;
  color: var(--text);
}

.agent-live-chat-empty strong,
.agent-live-chat-empty span {
  display: block;
}

.agent-live-chat-empty strong {
  margin-bottom: 5px;
  font-size: 15px;
}

.agent-live-chat-empty span {
  color: var(--muted);
  line-height: 1.4;
}

.agent-live-chat-list {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: #f7fafc;
}

.agent-live-chat-list button {
  min-width: max-content;
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  padding: 8px 11px;
  background: #eef3f8;
  color: var(--text);
  font-weight: 850;
  cursor: pointer;
}

.agent-live-chat-list button.active,
.agent-live-chat-list button:hover {
  color: var(--accent);
  background: #fff;
}

.agent-live-chat-messages {
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  background: #fbfdff;
}

.agent-live-message {
  max-width: 88%;
}

.agent-live-message.from-agent {
  margin-left: auto;
}

.agent-live-message p {
  margin: 0;
  padding: 11px 13px;
  border-radius: 16px;
  background: #eef3f8;
  color: var(--text);
  line-height: 1.35;
}

.agent-live-message.from-agent p {
  color: #fff;
  background: var(--accent);
}

.agent-live-message span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.agent-live-message.from-agent span {
  text-align: right;
}

.agent-live-chat-form {
  display: grid;
  grid-template-columns: 1fr 46px;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid var(--border);
  background: #fff;
}

.agent-live-chat-form input {
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 12px;
  font: inherit;
}

.agent-live-chat-form button {
  width: 46px;
  min-height: 42px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}

.agent-live-chat.attention .agent-live-chat-panel,
.agent-live-chat.attention .agent-live-chat-launcher {
  animation: agent-live-chat-shake .62s ease-in-out 0s 5;
  box-shadow: 0 0 0 4px rgba(88, 201, 83, .18), 0 28px 80px rgba(20, 31, 52, .32);
}

@keyframes agent-live-chat-shake {
  0%, 100% { transform: translate3d(0, 0, 0); }
  12% { transform: translate3d(-5px, 0, 0); }
  24% { transform: translate3d(5px, 0, 0); }
  36% { transform: translate3d(-4px, 0, 0); }
  48% { transform: translate3d(4px, 0, 0); }
  60% { transform: translate3d(-2px, 0, 0); }
  72% { transform: translate3d(2px, 0, 0); }
}

@keyframes agent-phone-ring {
  0%, 100% { transform: rotate(0deg) scale(1); }
  18% { transform: rotate(-14deg) scale(1.04); }
  36% { transform: rotate(12deg) scale(1.04); }
  54% { transform: rotate(-9deg) scale(1.02); }
  72% { transform: rotate(7deg) scale(1.02); }
}

@media (max-width: 720px) {
  .agent-live-chat {
    right: 12px;
    bottom: 12px;
  }

  .agent-live-chat-panel {
    width: calc(100vw - 28px);
    height: min(540px, calc(100vh - 28px));
  }
}

@media (max-width: 1100px) {
  .agency-directory-layout {
    grid-template-columns: 1fr;
  }

  .agency-profile-grid,
  .agency-property-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agency-property-thumb {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .agency-directory-filter,
  .agency-directory-card,
  .agency-directory-stats,
  .agency-profile-grid,
  .agency-property-row,
  .agency-property-facts {
    grid-template-columns: 1fr;
  }

  .agency-property-actions {
    justify-items: start;
  }
}

body.agency-dashboard-mode {
  background: #f4f8fc;
}

body.agency-dashboard-mode .app-shell {
  max-width: none;
  padding: 28px 30px 48px;
  background:
    radial-gradient(circle at 46% 5%, rgba(255,255,255,.96) 0 18%, rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #f9fcff 0%, #eef5fb 100%);
}

.agency-dashboard-head {
  position: relative;
  overflow: hidden;
  min-height: 130px;
  align-items: flex-start;
  margin: -8px 0 10px;
  padding: 18px 10px 8px 4px;
}

.agency-dashboard-head::after {
  content: "";
  position: absolute;
  left: 35%;
  top: -12px;
  width: 360px;
  height: 150px;
  opacity: .12;
  background:
    linear-gradient(90deg, transparent 0 22%, #48638b 22% 24%, transparent 24% 42%, #48638b 42% 44%, transparent 44% 66%, #48638b 66% 68%, transparent 68%),
    linear-gradient(180deg, transparent 0 20%, #48638b 20% 22%, transparent 22% 44%, #48638b 44% 46%, transparent 46% 70%, #48638b 70% 72%, transparent 72%),
    linear-gradient(135deg, transparent 0 22%, #48638b 22% 23%, transparent 23%),
    linear-gradient(180deg, #d4dde8, #edf3fa);
  clip-path: polygon(5% 28%, 45% 0, 96% 24%, 96% 100%, 5% 100%);
  pointer-events: none;
}

.agency-dashboard-head > * {
  position: relative;
  z-index: 1;
}

.agency-dashboard-head h1 {
  margin-top: 6px;
  font-size: 36px;
  letter-spacing: 0;
}

.agency-dashboard-head .muted {
  max-width: 470px;
  color: #516683;
  font-size: 16px;
  line-height: 1.45;
}

.viviendas-view-switch {
  margin-left: auto;
}

@media (min-width: 761px) {
  .viviendas-head .viviendas-view-switch {
    flex-wrap: nowrap;
  }

  .viviendas-view-switch .button {
    white-space: nowrap;
  }
}

.viviendas-view-switch .button {
  min-width: 118px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  color: #092467;
  font-size: 14px;
  font-weight: 950;
  box-shadow: 0 12px 26px rgba(24, 54, 124, .10);
}

.viviendas-view-switch .button svg,
.agency-kpi svg,
.agency-search-control svg,
.agency-directory-filter button svg,
.agency-date-pill svg,
.agency-directory-contact svg,
.agency-directory-stats svg,
.agency-profile-grid svg,
.agency-profile-web svg,
.agency-view-button svg,
.agency-property-row svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.viviendas-view-switch .button.active {
  background: linear-gradient(135deg, #2f54bf, #052a8b);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 18px 34px rgba(17, 52, 145, .32);
}

.agency-kpi {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 92px;
  gap: 18px;
  align-items: center;
  min-height: 124px;
  padding: 24px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  border-color: #d8e3ef;
  box-shadow: 0 16px 34px rgba(31, 50, 82, .08);
}

.agency-kpi::before {
  display: none;
}

.agency-kpi i {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  font-style: normal;
  box-shadow: 0 12px 22px rgba(31, 50, 82, .12);
}

.agency-kpi.blue i { background: linear-gradient(135deg, #65a4ff, #2462dc); }
.agency-kpi.green i { background: linear-gradient(135deg, #55c878, #149553); }
.agency-kpi.purple i { background: linear-gradient(135deg, #9b76f3, #7255dc); }
.agency-kpi.orange i { background: linear-gradient(135deg, #ffbd55, #f28422); }

.agency-kpi span {
  display: block;
  color: #566780;
  font-size: 14px;
  font-weight: 950;
}

.agency-kpi strong {
  display: block;
  margin-top: 6px;
  color: #06183f;
  font-size: 30px;
  line-height: 1;
}

.agency-kpi small {
  display: block;
  margin-top: 12px;
  color: #0a9b59;
  font-size: 12px;
  font-weight: 950;
}

.agency-kpi.orange small {
  color: #566780;
}

.agency-kpi em {
  width: 92px;
  height: 38px;
  justify-self: end;
  border-radius: 8px;
  opacity: .9;
  background:
    linear-gradient(135deg, transparent 0 18%, currentColor 18% 20%, transparent 20% 34%, currentColor 34% 36%, transparent 36% 48%, currentColor 48% 50%, transparent 50% 62%, currentColor 62% 64%, transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(103, 151, 255, .12));
  color: #7ba7ff;
}

.agency-kpi.green em { color: #55bd82; background-color: rgba(85, 189, 130, .10); }
.agency-kpi.purple em { color: #9b7af2; background-color: rgba(155, 122, 242, .10); }
.agency-kpi.orange em { color: #f28b2a; background-color: rgba(242, 139, 42, .10); }

.agency-directory-filter {
  grid-template-columns: minmax(320px, 1fr) 170px minmax(190px, .45fr) minmax(240px, auto);
  gap: 16px;
  align-items: end;
  margin: 16px 0 16px;
  padding: 16px 18px;
  border-radius: 8px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 34px rgba(31, 50, 82, .07);
}

.agency-search-control,
.agency-date-pill {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #d6e2ee;
  border-radius: 8px;
  background: #fff;
  color: #7a8799;
}

.agency-search-control input {
  min-height: 44px;
  padding: 0;
  border: 0;
  color: #17223b;
  font-size: 15px;
  font-weight: 800;
  background: transparent;
}

.agency-directory-filter button[type="submit"] {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(135deg, #294fb9, #0b308e);
  font-weight: 950;
}

.agency-date-pill {
  justify-content: flex-start;
  color: #17223b;
  font-weight: 850;
}

.agency-directory-layout {
  grid-template-columns: 405px minmax(0, 1fr);
  gap: 20px;
}

.agency-directory-list {
  align-content: start;
}

.agency-directory-card {
  grid-template-columns: 58px minmax(0, 1fr) 22px;
  gap: 14px;
  padding: 18px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
}

.agency-directory-card.selected {
  border-color: #6785df;
  box-shadow: 0 12px 30px rgba(36, 76, 173, .16);
}

.agency-directory-card:hover {
  border-color: #8aa2ea;
}

.agency-directory-logo {
  width: 58px;
  border-color: #dce7f2;
  background: #f3f8ff;
  color: #1744ad;
  font-size: 28px;
}

.agency-directory-main h2 {
  margin: 9px 0 4px;
  color: #06183f;
  font-size: 17px;
}

.agency-directory-main p {
  color: #516683;
  font-size: 13px;
}

.agency-directory-contact span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #164da8;
  background: #edf5ff;
}

.agency-directory-contact svg {
  width: 13px;
  height: 13px;
}

.agency-directory-chevron {
  display: grid;
  place-items: center;
  color: #113a91;
  align-self: center;
}

.agency-directory-stats {
  grid-column: 1 / -1;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #edf1f6;
}

.agency-directory-stats div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 0;
  border-left: 1px solid #edf1f6;
  background: transparent;
}

.agency-directory-stats div:first-child {
  border-left: 0;
}

.agency-directory-stats span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #566780;
  font-size: 11px;
}

.agency-directory-stats svg {
  width: 15px;
  height: 15px;
  color: #315bb7;
}

.agency-directory-stats strong {
  color: #06183f;
  font-size: 16px;
}

.agency-directory-detail {
  min-width: 0;
}

.agency-profile-card {
  gap: 18px;
  padding: 18px;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 34px rgba(31, 50, 82, .08);
}

.agency-profile-main {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.agency-profile-logo {
  width: 110px;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #dce7f2;
  border-radius: 8px;
  background: #fff;
  color: #1744ad;
  font-size: 40px;
  font-weight: 950;
}

.agency-profile-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

.agency-profile-main h2 {
  margin: 0 0 6px;
  color: #06183f;
  font-size: 24px;
  line-height: 1.08;
}

.agency-profile-main p {
  margin: 0;
  color: #516683;
  font-weight: 850;
}

.agency-profile-web {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-inline: 16px;
  border-radius: 8px;
  color: #06183f;
  font-weight: 950;
}

.agency-profile-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.agency-profile-grid div {
  padding: 12px;
  border-color: #dce7f2;
  background: #fff;
}

.agency-profile-grid span {
  color: #566780;
}

.agency-profile-grid strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  color: #06183f;
}

.agency-profile-grid svg {
  flex: 0 0 auto;
  color: #406fd7;
}

.agency-profile-grid div:first-child strong svg {
  color: #f39a25;
}

.agency-profile-notes {
  position: relative;
  padding: 14px 46px 14px 14px;
  border-color: #dce7f2;
  background: #f9fcff;
}

.agency-profile-notes i {
  position: absolute;
  right: 18px;
  top: 22px;
  color: #1e4298;
}

.agency-properties-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 14px;
}

.agency-property-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.agency-property-pills span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #eef4ff;
  color: #08276f;
  font-size: 12px;
  font-weight: 950;
}

.agency-property-pills span:first-child {
  background: #294fb9;
  color: #fff;
}

.agency-property-tools {
  display: flex;
  gap: 8px;
  align-items: center;
}

.agency-property-tools label {
  color: #566780;
  font-size: 12px;
  font-weight: 900;
}

.agency-property-tools select {
  min-height: 38px;
  border: 1px solid #d6e2ee;
  border-radius: 8px;
  background: #fff;
}

.agency-view-button {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 8px;
  background: #fff;
  color: #1744ad;
  border: 1px solid #d6e2ee;
  box-shadow: 0 10px 22px rgba(31, 50, 82, .08);
}

.agency-view-button.active {
  background: #294fb9;
  color: #fff;
}

.agency-property-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.agency-property-row {
  overflow: hidden;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  padding: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(31, 50, 82, .10);
}

.agency-property-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(31, 50, 82, .14);
}

.agency-property-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 0;
}

.agency-property-thumb b {
  position: absolute;
  top: 12px;
  left: 14px;
  z-index: 2;
  min-height: 26px;
  display: inline-grid;
  gap: 2px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #08276f;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(20, 33, 56, .12);
}

.agency-property-thumb b small {
  color: #60738a;
  font-size: 9px;
  font-weight: 850;
}

.agency-property-thumb button {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  color: #08276f;
  border: 0;
  box-shadow: 0 8px 18px rgba(20, 33, 56, .12);
}

.agency-property-main {
  padding: 16px 16px 10px;
}

.agency-property-main h3 {
  display: -webkit-box;
  min-height: 42px;
  margin: 0 0 6px;
  overflow: hidden;
  color: #06183f;
  font-size: 16px;
  line-height: 1.25;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.agency-property-main p {
  color: #516683;
  font-size: 13px;
  white-space: nowrap;
}

.agency-property-facts {
  grid-template-columns: repeat(2, minmax(0, auto));
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.agency-property-facts span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f4f8fc;
  color: #516683;
  font-size: 11px;
}

.agency-property-facts svg {
  width: 14px;
  height: 14px;
  color: #5876b8;
}

.agency-property-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px 16px;
}

.agency-property-actions strong {
  color: #08276f;
  font-size: 16px;
}

.agency-property-actions span {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  color: #2c8560;
}

.agency-property-actions span::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #29bc75;
}

@media (max-width: 1320px) {
  .agency-directory-layout {
    grid-template-columns: 360px minmax(0, 1fr);
  }

  .agency-property-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  body.agency-dashboard-mode .app-shell {
    padding-inline: 18px;
  }

  .agency-directory-layout,
  .agency-profile-main,
  .agency-directory-filter {
    grid-template-columns: 1fr;
  }

  .agency-filter-status,
  .agency-filter-date {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .agency-dashboard-head {
    min-height: auto;
  }

  .viviendas-view-switch .button {
    width: 100%;
  }

  .agency-kpi,
  .agency-profile-grid,
  .agency-property-list {
    grid-template-columns: 1fr;
  }

  .agency-property-tools,
  .agency-properties-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}

.commercial-map-panel {
  overflow: hidden;
  border: 1px solid #d6e2ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(24, 38, 55, .08);
}

.commercial-map-head {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #dce7f2;
  background: #f8fbff;
}

.commercial-map-head h2,
.commercial-map-head p {
  margin: 0;
}

.commercial-map-head h2 {
  color: #06183f;
  font-size: 24px;
  line-height: 1.15;
}

.commercial-map-head p {
  margin-top: 5px;
  color: #60738e;
  font-size: 14px;
  font-weight: 800;
}

.commercial-map-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.commercial-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  min-height: 650px;
}

.commercial-map-canvas-shell {
  position: relative;
  min-height: 650px;
  background: #edf3f8;
}

.commercial-property-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.commercial-map-sidebar {
  min-width: 0;
  max-height: 650px;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border-left: 1px solid #dce7f2;
  background: #f9fbfd;
}

.commercial-map-summary {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-bottom: 1px solid #dce7f2;
  background: #fff;
}

.commercial-map-summary strong {
  color: #06183f;
  font-size: 16px;
  font-weight: 950;
}

.commercial-map-summary span {
  color: #60738e;
  font-size: 12px;
  font-weight: 850;
}

.commercial-map-list {
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 12px;
}

.commercial-map-card {
  display: grid;
  grid-template-columns: 26px 88px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid #dbe6f1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(24, 38, 55, .05);
}

.commercial-map-card.selected,
.commercial-map-card.is-focused {
  border-color: #85b7dd;
  box-shadow: 0 0 0 3px rgba(133, 183, 221, .24), 0 14px 28px rgba(24, 38, 55, .08);
}

.commercial-map-check {
  display: grid;
  place-items: center;
}

.commercial-map-check input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.commercial-map-thumb {
  width: 88px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: #edf3f8;
  color: #5b7190;
  cursor: pointer;
}

.commercial-map-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.commercial-map-thumb span {
  font-size: 20px;
  font-weight: 950;
}

.commercial-map-card-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.commercial-map-card-main strong,
.commercial-map-card-side strong {
  color: #244cad;
  font-size: 14px;
  font-weight: 950;
}

.commercial-map-card-main em {
  overflow: hidden;
  color: #60738e;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-map-card-main span,
.commercial-map-card-main small {
  overflow: hidden;
  color: #354258;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-map-card-main small {
  color: #60738e;
}

.commercial-map-card-side {
  grid-column: 2 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 2px;
}

.commercial-map-search-area,
.commercial-map-layer-switch {
  position: absolute;
  z-index: 500;
}

.commercial-map-search-area {
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #c5d7ea;
  background: #fff;
  color: #17377d;
  font-weight: 950;
  box-shadow: 0 14px 34px rgba(24, 38, 55, .18);
}

.commercial-map-layer-switch {
  right: 16px;
  top: 16px;
  display: flex;
  overflow: hidden;
  border: 1px solid #c5d7ea;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(24, 38, 55, .14);
}

.commercial-map-layer-switch button {
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #536783;
  font-size: 12px;
  font-weight: 950;
}

.commercial-map-layer-switch button.is-active {
  background: #17377d;
  color: #fff;
}

.commercial-map-pin {
  background: transparent;
  border: 0;
}

.commercial-map-pin span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #17377d;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgba(24, 38, 55, .22);
}

.commercial-map-pin.is-area span {
  background: #5e7899;
}

.commercial-map-pin span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 10px;
  height: 10px;
  transform: translateX(-50%) rotate(45deg);
  background: inherit;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.commercial-map-popup {
  width: 240px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.commercial-map-popup img {
  width: 82px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 7px;
  background: #edf3f8;
}

.commercial-map-popup div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.commercial-map-popup strong,
.commercial-map-popup span,
.commercial-map-popup small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-map-popup strong {
  color: #06183f;
  font-size: 14px;
}

.commercial-map-popup span,
.commercial-map-popup small {
  color: #60738e;
  font-size: 12px;
  font-weight: 800;
}

.commercial-map-popup a {
  color: #244cad;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

.agency-map-panel {
  overflow: hidden;
  border: 1px solid #d6e2ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(24, 38, 55, .08);
}

.agency-map-head p {
  max-width: 720px;
}

.agency-map-layout {
  grid-template-columns: minmax(0, 1fr) 390px;
}

.agency-map-canvas-shell {
  min-height: 620px;
}

.agency-map-sidebar {
  max-height: 620px;
}

.agency-map-list {
  gap: 10px;
}

.agency-map-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #dbe6f1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(24, 38, 55, .05);
}

.agency-map-card.is-focused {
  border-color: #85b7dd;
  box-shadow: 0 0 0 3px rgba(133, 183, 221, .24), 0 14px 28px rgba(24, 38, 55, .08);
}

.agency-map-card-pin {
  width: 38px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #eef4fb;
  color: #60738e;
  font-weight: 950;
}

.agency-map-card-pin.has-location {
  background: #eaf1ff;
  color: #244cad;
}

.agency-map-card-pin.has-logo {
  padding: 4px;
  background: #fff;
  border: 1px solid #e5edf6;
}

.agency-map-card-pin img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.agency-map-card-pin span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.agency-map-card-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.agency-map-card-main strong,
.agency-map-card-main span,
.agency-map-card-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-map-card-main strong {
  color: #06183f;
  font-size: 14px;
  font-weight: 950;
}

.agency-map-card-main span {
  color: #354258;
  font-size: 12px;
  font-weight: 850;
}

.agency-map-card-main small {
  color: #60738e;
  font-size: 11px;
  font-weight: 850;
}

.agency-map-card .button {
  min-height: 34px;
  padding-inline: 12px;
}

.agency-map-pin .agency-map-logo {
  width: 58px;
  min-height: 42px;
  justify-content: center;
  padding: 4px;
  border-radius: 12px;
  background: #fff;
  color: #244cad;
}

.agency-map-pin .agency-map-logo img {
  width: 100%;
  height: 100%;
  max-height: 34px;
  object-fit: contain;
}

.agency-map-pin .agency-map-logo b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #244cad;
  color: #fff;
  font-size: 16px;
  line-height: 1;
}

.agency-google-logo-marker {
  position: absolute;
  z-index: 2;
  width: 48px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 4px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #244cad;
  box-shadow: 0 5px 14px rgba(23, 38, 76, .18);
  cursor: pointer;
}

.agency-google-logo-marker img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.agency-google-logo-marker b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #244cad;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}

.agency-map-popup {
  width: 250px;
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 1180px) {
  .commercial-map-layout {
    grid-template-columns: 1fr;
  }

  .commercial-map-sidebar {
    max-height: none;
    border-left: 0;
    border-top: 1px solid #dce7f2;
  }

  .commercial-map-canvas-shell {
    min-height: 560px;
  }

  .agency-map-sidebar {
    max-height: none;
  }
}

@media (max-width: 760px) {
  .commercial-map-head {
    align-items: stretch;
    flex-direction: column;
  }

  .commercial-map-actions {
    justify-content: stretch;
  }

  .commercial-map-actions .button {
    flex: 1;
  }

  .commercial-map-card {
    grid-template-columns: 24px 78px minmax(0, 1fr);
  }

  .commercial-map-thumb {
    width: 78px;
  }

  .agency-map-card {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .agency-map-card .button {
    grid-column: 2;
    justify-self: start;
  }
}

.portal-capture-shell {
  max-width: 1280px;
}

.portal-capture-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr);
  gap: 18px;
  align-items: stretch;
}

.portal-capture-form-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.portal-capture-filterbar {
  margin: 18px 0;
}

.portal-capture-searches {
  margin-top: 18px;
}

.portal-capture-search-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(140px, .65fr) minmax(260px, 1.4fr) repeat(3, minmax(150px, .9fr)) repeat(4, minmax(110px, .55fr)) auto;
  gap: 12px;
  align-items: end;
}

.portal-capture-search-form > div {
  min-width: 0;
}

.portal-capture-search-url {
  grid-column: span 2;
}

.portal-capture-search-table {
  margin-top: 16px;
}

.portal-capture-list table td {
  vertical-align: top;
}

.portal-capture-property {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 420px;
}

.portal-capture-thumb {
  width: 132px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef3f8;
  color: #6b7b92;
  font-size: 12px;
  font-weight: 800;
}

.portal-capture-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portal-capture-property strong {
  display: block;
  color: #10213c;
  font-size: 15px;
  line-height: 1.3;
}

.portal-capture-property p {
  margin: 8px 0;
  color: #516683;
  font-size: 13px;
  line-height: 1.45;
}

.portal-capture-facts,
.portal-capture-tags,
.portal-capture-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  align-items: center;
}

.portal-capture-facts {
  margin-top: 8px;
}

.portal-capture-facts span,
.portal-capture-tags b {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f4f8fc;
  color: #516683;
  font-size: 11px;
  font-weight: 850;
}

.portal-capture-import-ok,
.portal-capture-import-error,
.portal-capture-import-pending {
  display: block;
  margin-top: 5px;
}

.portal-capture-import-ok {
  color: #24774e;
}

.portal-capture-import-error {
  color: #b42318;
}

.portal-capture-import-pending {
  color: #8a6414;
}

.portal-capture-auto {
  display: grid;
  gap: 5px;
  min-width: 150px;
}

.portal-capture-auto strong {
  color: #10213c;
  font-size: 18px;
  font-weight: 950;
}

.portal-capture-auto small {
  display: block;
  color: #60738e;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.portal-capture-mission {
  width: fit-content;
  margin-top: 2px;
  color: #244cad;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.portal-capture-status-form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.portal-capture-status-form select {
  min-width: 130px;
}

@media (max-width: 900px) {
  .portal-capture-grid,
  .portal-capture-form-row,
  .portal-capture-search-form {
    grid-template-columns: 1fr;
  }

  .portal-capture-property {
    min-width: 0;
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .portal-capture-thumb {
    width: 96px;
  }

  .portal-capture-status-form,
  .portal-capture-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .portal-capture-search-url {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  body.crm-mobile-menu-open {
    overflow: hidden;
  }

  .portal-layout,
  .email-layout,
  .mail-layout {
    display: block;
    min-height: 100vh;
    padding-top: calc(70px + env(safe-area-inset-top));
  }

  .crm-mobile-menu-toggle {
    position: fixed;
    z-index: 1200;
    top: max(12px, env(safe-area-inset-top));
    left: 12px;
    min-width: 112px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border: 1px solid rgba(196, 216, 235, .94);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    color: #123b70;
    box-shadow: 0 14px 34px rgba(18, 59, 112, .14);
    backdrop-filter: blur(14px);
    cursor: pointer;
  }

  .crm-mobile-menu-toggle span {
    position: relative;
    width: 26px;
    height: 18px;
    display: inline-block;
    border-top: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
  }

  .crm-mobile-menu-toggle span::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 3px solid currentColor;
    transform: translateY(-50%);
  }

  .crm-mobile-menu-toggle strong {
    font-size: 15px;
    font-weight: 950;
  }

  .crm-mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1210;
    display: block;
    background: rgba(9, 24, 42, .52);
    backdrop-filter: blur(5px);
  }

  .crm-mobile-menu-backdrop[hidden] {
    display: none;
  }

  .sidebar {
    position: fixed;
    z-index: 1220;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: min(390px, calc(100vw - 28px));
    min-height: auto;
    height: auto;
    gap: 14px;
    padding: max(16px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom));
    overflow-y: auto;
    border: 1px solid rgba(205, 221, 235, .9);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 58%, #eef5fb 100%);
    box-shadow: 24px 18px 70px rgba(8, 22, 38, .28);
    pointer-events: none;
    transform: translateX(calc(-100% - 18px));
    transition: transform .24s ease;
  }

  .crm-mobile-menu-open .sidebar {
    pointer-events: auto;
    transform: translateX(0);
  }

  .crm-mobile-menu-close {
    position: absolute;
    top: max(14px, env(safe-area-inset-top));
    right: 14px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #cfe0ed;
    border-radius: 14px;
    background: rgba(255, 255, 255, .92);
    color: #123b70;
    box-shadow: 0 10px 22px rgba(18, 59, 112, .08);
    cursor: pointer;
    font: inherit;
    font-size: 30px;
    line-height: 1;
  }

  .sidebar-brand {
    min-height: 54px;
    padding: 0 56px 2px 6px;
  }

  .sidebar-brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #123b70;
    box-shadow: 0 14px 28px rgba(18, 59, 112, .22);
  }

  .sidebar-brand strong {
    color: #123b70;
    font-size: 17px;
  }

  .sidebar-user {
    min-height: 82px;
    grid-template-columns: 54px minmax(0, 1fr);
    padding: 12px 54px 12px 12px;
    border-color: rgba(190, 215, 234, .95);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(237, 248, 255, .98) 0%, rgba(255, 255, 255, .96) 100%);
    box-shadow: 0 16px 34px rgba(18, 59, 112, .10);
  }

  .side-nav,
  .sidebar-footer {
    gap: 9px;
  }

  .sidebar-footer {
    margin-top: 0;
    padding-top: 12px;
    border-top-color: #dbe8f2;
  }

  .side-link {
    min-height: 58px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 8px 12px 8px 8px;
    border: 1px solid rgba(211, 224, 235, .86);
    border-radius: 16px;
    background: rgba(255, 255, 255, .76);
    color: #12233a;
    box-shadow: 0 10px 24px rgba(18, 59, 112, .05);
    font-size: 17px;
  }

  .side-link.active {
    border-color: rgba(40, 124, 193, .36);
    background: #eaf5ff;
    color: #123b70;
    box-shadow: 0 14px 30px rgba(18, 59, 112, .11);
    transform: none;
  }

  .side-link-label {
    white-space: normal;
  }

  .side-link-arrow {
    display: inline-block;
    color: #8ba0b4;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
  }

  .side-link-badge {
    margin-left: 0;
  }

  .side-bear-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eef7ff;
    color: #287cc1;
  }

  .side-link.active .side-bear-icon {
    background: #123b70;
  }

  .shell.app-shell {
    width: 100%;
    padding: 0 14px 34px;
  }

  .commercial-dashboard-head {
    align-items: center;
    flex-direction: row;
    min-height: 0;
    margin-bottom: 14px;
    padding: 0 0 4px;
  }

  .commercial-dashboard-head h1 {
    margin: 0;
    color: #0f223a;
    font-size: 24px;
    line-height: 1.05;
  }

  .commercial-dashboard-head p {
    margin-top: 4px;
    font-size: 13px;
  }

  .commercial-production-strip {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 12px;
  }

  .commercial-production-strip article {
    min-height: 188px;
    padding: 16px;
    border-color: rgba(196, 216, 235, .94);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f9fd 100%);
    box-shadow: 0 14px 34px rgba(18, 59, 112, .09);
  }

  .commercial-production-strip strong {
    font-size: 30px;
  }

  .commercial-results > h2 {
    font-size: 17px;
  }

  .production-status-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .production-status-row em {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .commercial-pocket-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
  }

  .commercial-pocket-actions a {
    min-height: 112px;
    padding: 14px;
    border-radius: 16px;
  }

  .commercial-pocket-actions strong {
    font-size: 19px;
  }

  .lead-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .lead-kpi {
    min-height: 104px;
    border-radius: 16px;
  }

  .lead-kpi strong {
    font-size: 30px;
  }

  .tabs {
    grid-template-columns: 1fr;
    margin-top: 12px;
    border-radius: 16px;
  }

  .mission-stage {
    margin-top: 14px;
  }

  .mission-card {
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(18, 59, 112, .13);
  }

  .mission-top {
    flex-direction: column;
    min-height: 0;
    padding: 16px;
  }

  .mission-top h1 {
    font-size: 28px;
    line-height: 1.04;
  }

  .mission-objective {
    align-items: flex-start;
    flex-wrap: wrap;
    border-radius: 14px;
    white-space: normal;
  }

  .mission-status-box {
    width: 100%;
    justify-items: start;
  }

  .mission-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 14px;
  }

  .mission-property {
    margin: 0 14px 14px;
    border-radius: 18px;
  }

  .mission-property-actions,
  .call-actions,
  .mission-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .mission-property-actions .button,
  .call-actions .button,
  .call-actions button,
  .mission-buttons .button,
  .mission-buttons button {
    width: 100%;
  }

  .mission-action-panel {
    position: sticky;
    bottom: 12px;
    z-index: 30;
    margin: 0 10px 10px;
    border: 1px solid rgba(196, 216, 235, .94);
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(8, 22, 38, .18);
    backdrop-filter: blur(14px);
  }
}

@media (max-width: 1360px) {
  .property-record-hero {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .property-hero-side {
    grid-column: 1 / -1;
    grid-auto-flow: column;
    justify-content: space-between;
    justify-items: start;
  }

  .property-record-shell .internal-price-cards,
  .property-record-shell .internal-property-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .property-record-shell .internal-property-side {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .property-record-toolbar {
    position: static;
    margin: -18px -12px 18px;
    padding: 12px;
  }

  .property-record-hero {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .property-hero-media {
    grid-template-rows: auto auto auto;
  }

  .property-hero-media img,
  .property-hero-media .captacion-media-empty {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .property-hero-summary h1 {
    font-size: 22px;
  }

  .property-hero-facts span {
    width: 100%;
    padding: 6px 0;
    border-right: 0;
    border-bottom: 1px solid #d8dee5;
  }

  .property-record-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .property-record-tabs a {
    min-height: 48px;
    padding: 0 14px;
    white-space: nowrap;
  }

  .property-record-shell .captacion-form-grid,
  .property-record-shell .internal-sub-block:first-of-type .form-grid,
  .property-record-shell .internal-property-alerts,
  .property-record-shell .internal-price-cards,
  .property-record-shell .internal-property-gallery {
    grid-template-columns: 1fr;
  }

  .property-record-shell .internal-sub-block summary,
  .property-record-shell .internal-block-summary strong {
    font-size: 24px;
  }
}

.property-record-hero {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) minmax(240px, 300px);
  gap: 24px;
  min-height: 0;
  border: 1px solid #d8e2ec;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 54%, #f2f7f1 100%);
  box-shadow: 0 18px 42px rgba(27, 48, 73, .1);
}

.property-hero-alerts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 2px;
}

.property-hero-alerts div {
  display: grid;
  gap: 6px;
  padding: 14px 18px;
  border: 1px solid #e8bc68;
  border-radius: 8px;
  background: #fffaf1;
  box-shadow: inset 3px 0 0 #c99637;
}

.property-hero-alerts strong {
  color: #7d470b;
  font-size: 15px;
  font-weight: 950;
}

.property-hero-alerts span {
  color: #4e3f2a;
  font-size: 14px;
  line-height: 1.4;
}

.property-hero-media {
  grid-template-rows: none;
  gap: 12px;
}

.property-media-frame {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 8px;
  background: #dbe6ef;
  box-shadow: 0 12px 28px rgba(20, 34, 52, .14);
}

.property-media-frame img,
.property-media-frame .captacion-media-empty {
  width: 100%;
  height: 100%;
  min-height: 310px;
  border-radius: 0;
  object-fit: cover;
}

.property-media-frame span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(17, 24, 39, .76);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.property-reference-pill {
  min-height: 58px;
  place-items: initial;
  align-content: center;
  gap: 3px;
  padding: 10px 14px;
  border: 1px solid #cde5c1;
  background: #e4f3da;
}

.property-reference-pill span {
  color: #5f7b58;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.property-reference-pill strong {
  color: #27451f;
  font-size: 18px;
  font-weight: 950;
}

.property-hero-summary {
  display: grid;
  gap: 16px;
  align-content: start;
  padding-top: 0;
}

.property-hero-summary .captacion-badges {
  margin-bottom: 0;
}

.property-hero-kicker span {
  border-color: #bfd3e8;
  background: #eff6ff;
  color: #284b7b;
}

.property-hero-summary h1 {
  margin: 0;
  color: #1d2735;
  font-size: clamp(30px, 2.4vw, 44px);
  line-height: 1.06;
  font-weight: 950;
}

.property-hero-location {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #5f6f82;
  font-size: 15px;
}

.property-hero-location span,
.property-hero-location strong {
  font-weight: 850;
}

.property-hero-location strong {
  color: #1f2937;
}

.property-hero-mainline {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(160px, 220px);
  gap: 12px;
  align-items: stretch;
}

.property-price-card,
.property-last-update {
  margin: 0;
  border-radius: 8px;
}

.property-price-card {
  width: auto;
  gap: 8px;
  padding: 20px 22px;
  border: 1px solid #d9e6f2;
  background: #edf5fb;
}

.property-price-card strong {
  font-size: 34px;
  line-height: 1.1;
}

.property-price-card span,
.property-last-update span,
.property-hero-facts small,
.property-side-label {
  color: #697789;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.property-price-card em {
  color: #263241;
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
}

.property-last-update {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 18px;
  border: 1px solid #e1e8ef;
  background: rgba(255, 255, 255, .82);
}

.property-last-update strong {
  color: #1e2a39;
  font-size: 24px;
  font-weight: 950;
}

.property-hero-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.property-hero-facts span {
  display: grid;
  gap: 6px;
  min-height: 74px;
  align-content: center;
  padding: 12px 14px;
  border: 1px solid #dfe7ef;
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
}

.property-hero-facts strong {
  color: #263241;
  font-size: 20px;
  font-weight: 950;
}

.property-hero-description {
  max-width: 880px;
  margin: 0;
  color: #2c3747;
  font-size: 16px;
  line-height: 1.55;
}

.property-hero-side {
  gap: 12px;
  align-content: start;
  justify-items: stretch;
}

.property-side-actions {
  justify-content: flex-end;
}

.property-side-panel {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid #c9daf0;
  border-radius: 8px;
  background: #4d80bf;
  color: #fff;
}

.property-side-panel strong {
  font-size: 22px;
  font-weight: 950;
}

.property-side-panel small {
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  font-weight: 800;
}

.property-side-panel .property-side-label {
  color: rgba(255, 255, 255, .82);
}

.property-side-panel.muted {
  background: #f5f9fd;
  color: #243347;
}

.property-side-panel.muted .property-side-label {
  color: #6b788a;
}

.property-side-panel.muted small {
  color: #5e6f84;
}

.property-commercial-assignment {
  gap: 10px;
}

.property-commercial-assignment select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #c9d7e8;
  border-radius: 7px;
  background: #fff;
  color: #243347;
  font: inherit;
  font-weight: 800;
}

.property-commercial-assignment .button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1360px) {
  .property-record-hero {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  }

  .property-hero-side {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .property-record-hero,
  .property-hero-alerts,
  .property-hero-mainline,
  .property-hero-facts,
  .property-hero-side {
    grid-template-columns: 1fr;
  }

  .property-media-frame,
  .property-media-frame img,
  .property-media-frame .captacion-media-empty {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .property-media-frame img,
  .property-media-frame .captacion-media-empty {
    height: 100%;
  }

  .property-hero-summary h1 {
    font-size: 28px;
  }
}

.property-record-shell[data-current-page="agencia"] .internal-property-side {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

.property-record-shell[data-current-page="agencia"] .agency-confirm-card,
.property-record-shell[data-current-page="agencia"] .agency-check-card,
.property-record-shell[data-current-page="agencia"] .agency-task-card,
.property-record-shell[data-current-page="agencia"] .agency-history-card,
.property-record-shell[data-current-page="agencia"] .agency-actions-card {
  display: none;
}

.property-record-shell .agency-work-card,
.property-record-shell .agency-actions-card {
  overflow: hidden;
  padding: 0;
  border: 1px solid #d9e4ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(29, 51, 76, .07);
}

.property-record-shell .agency-confirm-card { order: 1; }
.property-record-shell .agency-check-card { order: 2; }
.property-record-shell .agency-task-card { order: 3; }
.property-record-shell .agency-history-card { order: 4; }
.property-record-shell .agency-origin-card { order: 5; }
.property-record-shell .agency-actions-card { order: 6; }

.property-record-shell .agency-work-card > .internal-block-summary,
.property-record-shell .agency-actions-card > .internal-block-summary {
  min-height: 86px;
  padding: 18px 20px;
  border-bottom: 1px solid #e2ebf3;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.property-record-shell .agency-work-card > .internal-block-summary::after,
.property-record-shell .agency-actions-card > .internal-block-summary::after {
  display: none;
}

.property-record-shell .agency-work-card .internal-block-summary strong,
.property-record-shell .agency-actions-card .internal-block-summary strong {
  color: #426e9f;
  font-size: 24px;
  font-weight: 850;
}

.property-record-shell .agency-work-card .internal-block-summary small,
.property-record-shell .agency-actions-card .internal-block-summary small {
  color: #687789;
  font-size: 13px;
  font-weight: 800;
}

.property-record-shell .agency-work-card .internal-block-summary em {
  min-width: 34px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e8f1fb;
  color: #426e9f;
  text-align: center;
}

.property-record-shell .agency-work-card > :not(summary),
.property-record-shell .agency-actions-card > :not(summary) {
  margin-top: 0;
  padding: 18px 20px;
}

.agency-confirm-card .internal-auto-contact-status {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.property-record-shell .agency-confirm-card .internal-auto-contact-status div,
.property-record-shell .agency-work-card .internal-mini-list > div,
.property-record-shell .agency-work-card .internal-origin-list div {
  border: 1px solid #e0e8f1;
  border-radius: 8px;
  background: #f8fafc;
}

.property-record-shell .agency-confirm-card .internal-auto-contact-status div {
  min-height: 76px;
  padding: 14px;
}

.property-record-shell .agency-confirm-card .internal-auto-contact-status span,
.property-record-shell .agency-work-card .internal-origin-list span {
  color: #6b7788;
  font-size: 12px;
  letter-spacing: .04em;
}

.property-record-shell .agency-confirm-card .internal-auto-contact-status strong {
  color: #172234;
  font-size: 17px;
  overflow-wrap: anywhere;
}

.agency-soft-note {
  margin-top: 14px;
  border-style: solid;
  background: #f5f9fd;
}

.agency-action-row {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.agency-action-row .internal-auto-contact-form,
.agency-action-row .internal-auto-contact-form button {
  width: 100%;
}

.agency-action-row .internal-auto-contact-form button,
.agency-check-form button,
.agency-task-form button,
.agency-response-form button {
  min-height: 48px;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(36, 63, 134, .14);
}

.agency-action-row .internal-manual-fallbacks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.agency-action-row .internal-manual-fallbacks a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #cddcec;
  border-radius: 8px;
  background: #fff;
  color: #284b7b;
  font-size: 13px;
  font-weight: 900;
}

.property-record-shell .agency-work-card .internal-message-preview {
  margin: 14px 20px 18px;
  padding: 0;
}

.property-record-shell .agency-work-card .internal-message-preview summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 0;
  color: #284b7b;
  font-size: 14px;
}

.agency-check-form {
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  align-items: end;
}

.agency-task-form,
.agency-response-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.agency-field-wide,
.agency-task-form button,
.agency-response-form button {
  grid-column: 1 / -1;
}

.property-record-shell .agency-work-card .internal-side-form label {
  margin-bottom: 6px;
  color: #344153;
  font-size: 14px;
}

.property-record-shell .agency-work-card textarea {
  min-height: 92px;
}

.property-record-shell .agency-work-card .internal-mini-list {
  gap: 10px;
  margin: 16px 20px 20px;
  padding: 0;
}

.property-record-shell .agency-work-card .internal-mini-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  align-items: center;
  padding: 13px 14px;
}

.property-record-shell .agency-work-card .internal-mini-list > div p,
.property-record-shell .agency-work-card .internal-mini-list > div span {
  grid-column: 1 / -1;
}

.property-record-shell .agency-work-card .internal-mini-list strong {
  font-size: 15px;
}

.property-record-shell .agency-work-card .internal-mini-list span,
.property-record-shell .agency-work-card .internal-mini-list p {
  font-size: 13px;
}

.property-record-shell .agency-work-card .internal-empty-state {
  padding: 14px;
  border: 1px dashed #d8e3ee;
  border-radius: 8px;
  background: #fafcff;
  color: #6b788b;
}

.agency-response-panel {
  border-top: 1px solid #e5edf5;
}

.property-record-shell .agency-history-card .agency-response-panel {
  margin: 0;
  padding: 0 20px 20px;
}

.property-record-shell .agency-origin-card .internal-origin-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 18px 20px 20px;
}

.property-record-shell .agency-origin-card .internal-origin-list div {
  min-height: 84px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 12px 14px;
  border-bottom: 0;
}

.property-record-shell[data-current-page="agencia"] .agency-origin-card {
  max-width: 1180px;
}

.property-record-shell[data-current-page="agencia"] .agency-origin-card .internal-block-summary strong {
  font-size: 30px;
}

.property-record-shell[data-current-page="agencia"] .agency-origin-card .internal-origin-list strong {
  font-size: 17px;
}

.property-record-shell .agency-actions-card .internal-property-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 1100px) {
  .property-record-shell[data-current-page="agencia"] .internal-property-side,
  .property-record-shell .agency-origin-card .internal-origin-list,
  .agency-action-row,
  .agency-check-form,
  .agency-task-form,
  .agency-response-form,
  .property-record-shell .agency-actions-card .internal-property-actions {
    grid-template-columns: 1fr;
  }
}

.property-record-hero {
  grid-template-columns: minmax(340px, 460px) minmax(0, 1fr);
  gap: 22px;
  padding: 22px;
  border-color: #d7e3ee;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(248,251,253,.96) 58%, rgba(242,247,242,.92) 100%);
}

.property-hero-alerts {
  grid-template-columns: minmax(280px, 520px);
}

.property-hero-alerts div {
  min-height: 72px;
  padding: 13px 18px 13px 20px;
}

.property-hero-alerts strong {
  font-size: 14px;
}

.property-hero-alerts span {
  font-size: 13px;
}

.property-media-frame {
  min-height: 300px;
  border-color: #c8d9eb;
  background: #e6eef6;
}

.property-media-frame img,
.property-media-frame .captacion-media-empty {
  min-height: 300px;
}

.property-media-frame::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  background: linear-gradient(180deg, rgba(18, 32, 51, 0) 0%, rgba(18, 32, 51, .38) 100%);
  pointer-events: none;
}

.property-media-frame > span {
  z-index: 2;
}

.property-photo-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(17, 24, 39, .58);
  color: #fff;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.property-photo-nav:hover {
  background: rgba(17, 24, 39, .82);
}

.property-photo-nav.prev {
  left: 12px;
}

.property-photo-nav.next {
  right: 12px;
}

.property-photo-count {
  position: absolute;
  right: 13px;
  bottom: 14px;
  z-index: 3;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #243347;
  font-size: 12px;
  font-weight: 900;
}

.property-photo-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 62px;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 6px;
  scrollbar-width: thin;
}

.property-photo-strip button {
  overflow: hidden;
  width: 62px;
  height: 48px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  opacity: .76;
}

.property-photo-strip button.active {
  border-color: #4d80bf;
  opacity: 1;
  box-shadow: 0 8px 16px rgba(36, 63, 134, .14);
}

.property-photo-strip img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.property-reference-pill {
  min-height: 54px;
}

.property-reference-pill strong {
  font-size: 16px;
}

.property-hero-summary {
  gap: 13px;
}

.property-hero-summary h1 {
  max-width: 820px;
  font-size: clamp(27px, 2vw, 38px);
  line-height: 1.08;
}

.property-hero-location {
  font-size: 14px;
}

.property-hero-mainline {
  grid-template-columns: minmax(210px, 330px) minmax(150px, 205px);
  gap: 10px;
}

.property-price-card {
  padding: 18px 20px;
}

.property-price-card strong {
  font-size: clamp(28px, 2.2vw, 36px);
}

.property-last-update {
  padding: 16px;
}

.property-last-update strong {
  font-size: 22px;
}

.property-hero-facts {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 9px;
}

.property-hero-facts span {
  min-height: 66px;
  padding: 10px 12px;
}

.property-hero-facts strong {
  font-size: 18px;
}

.internal-property-meta-row {
  gap: 7px;
}

.internal-property-meta-row span {
  font-size: 12px;
}

.property-hero-description {
  font-size: 14px;
  line-height: 1.5;
}

.property-side-panel {
  padding: 16px;
}

.property-side-panel strong {
  font-size: 20px;
}

.property-hero-side {
  grid-column: 1 / -1;
  grid-template-columns: minmax(180px, .7fr) minmax(180px, .7fr) minmax(430px, 2fr);
  gap: 12px;
  align-items: stretch;
  justify-items: stretch;
  padding-top: 2px;
}

.property-side-panel {
  min-height: 92px;
  align-content: center;
}

.property-commercial-status {
  background: #edf5fb;
  color: #2b4f7c;
}

.property-commercial-status .property-side-label {
  color: #687a91;
}

.property-commercial-assignment {
  grid-template-columns: minmax(145px, .7fr) minmax(0, 1.3fr);
  gap: 14px;
  align-items: center;
}

.property-commercial-heading {
  display: grid;
  gap: 7px;
}

.property-commercial-controls {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.property-commercial-assignment .button {
  width: auto;
  min-width: 160px;
  white-space: nowrap;
}

@media (max-width: 1360px) {
  .property-record-hero {
    grid-template-columns: minmax(270px, 360px) minmax(0, 1fr);
  }

  .property-hero-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .property-commercial-assignment {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .property-record-hero,
  .property-hero-alerts,
  .property-hero-mainline,
  .property-hero-side,
  .property-commercial-assignment,
  .property-commercial-controls {
    grid-template-columns: 1fr;
  }

  .property-commercial-assignment {
    grid-column: auto;
  }

  .property-commercial-assignment .button {
    width: 100%;
  }

  .property-media-frame,
  .property-media-frame img,
  .property-media-frame .captacion-media-empty {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .property-hero-summary h1 {
    font-size: 26px;
  }

  .property-hero-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Commercial offboarding */
.offboarding-wizard{margin:22px 0 28px;padding:24px;border:1px solid #e3d5c2;border-radius:22px;background:linear-gradient(145deg,#fffdfa 0%,#fff 54%,#f6f9fc 100%);box-shadow:0 20px 45px rgba(38,48,67,.09)}
.offboarding-head,.offboarding-section-title,.offboarding-confirmation{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.offboarding-head h2,.offboarding-section h3{margin:5px 0 7px;color:#17233d}
.offboarding-head p,.offboarding-section p{margin:0;color:#667085;line-height:1.55}
.offboarding-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.offboarding-kpis>div{padding:15px 16px;border:1px solid #e5eaf1;border-radius:15px;background:#fff}
.offboarding-kpis span{display:block;color:#718096;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.offboarding-kpis strong{display:block;margin-top:5px;color:#18345b;font-size:24px}
.offboarding-kpis .warn{border-color:#efd2a4;background:#fffaf1}.offboarding-kpis .warn strong{color:#a66516}
.offboarding-kpis .review{border-color:#bfcee8;background:#f4f7fc}.offboarding-kpis .review strong{color:#244f95}
.offboarding-cap-form{display:flex;align-items:end;gap:10px;margin:18px 0;padding:12px 14px;border-radius:14px;background:#f3f6fa}
.offboarding-cap-form label{font-size:13px;font-weight:800}.offboarding-cap-form input{width:90px}
.offboarding-section{margin-top:18px;padding:20px;border:1px solid #e4e9ef;border-radius:18px;background:#fff}
.offboarding-section-title>div>span,.offboarding-confirmation>div>span{color:#3f68a8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.offboarding-section-title label{min-width:240px;font-weight:800}.offboarding-section-title select{margin-top:6px}
.offboarding-review-summary{display:flex;align-items:center;gap:18px;margin-top:16px;padding:14px 16px;border-radius:13px;background:#f4f7fc;color:#53657e}
.offboarding-review-summary strong{white-space:nowrap;color:#244f95;font-size:19px}
.offboarding-live-summary{max-width:46%;padding:10px 12px;border-radius:12px;background:#f3f6fa;color:#40506a;font-size:12px;font-weight:800;line-height:1.5}
.offboarding-table-wrap{margin-top:17px}.offboarding-table{min-width:880px}
.offboarding-table td{vertical-align:middle}.offboarding-table td strong,.offboarding-table td small{display:block}.offboarding-table td small{margin-top:4px;color:#7c879a}
.offboarding-table tr.is-exception{background:#fff9ed}.offboarding-table select{min-width:250px}
.offboarding-table .chip.warning{background:#fff0cf;color:#94600c}.offboarding-table .chip.danger{background:#fbe8e8;color:#a12c35}
.offboarding-confirmation{align-items:end;background:#fffaf5;border-color:#e8cfad}.offboarding-confirmation>div{max-width:44%}.offboarding-confirmation label{flex:1;font-weight:700}.offboarding-confirmation label strong{display:block;margin:3px 0 8px;color:#9a402f}.offboarding-confirmation button.danger{white-space:nowrap;background:#a33b32;border-color:#a33b32;color:#fff}
.offboarding-confirmation button.danger:hover{background:#812c26}.offboarding-confirmation button.danger:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:980px){.offboarding-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.offboarding-head,.offboarding-section-title,.offboarding-confirmation{flex-direction:column}.offboarding-live-summary,.offboarding-confirmation>div{max-width:none;width:100%}.offboarding-section-title label{width:100%}.offboarding-confirmation button.danger{width:100%}}
@media (max-width:620px){.offboarding-wizard{padding:15px;border-radius:17px}.offboarding-kpis{grid-template-columns:1fr 1fr}.offboarding-cap-form{align-items:stretch;flex-direction:column}.offboarding-review-summary{align-items:flex-start;flex-direction:column;gap:5px}}
.offboarding-review-list{display:grid;gap:12px;margin-top:18px}.offboarding-review-card{border:1px solid #dfe6ef;border-radius:16px;background:#fff;overflow:hidden}.offboarding-review-card>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none}.offboarding-review-card>summary::-webkit-details-marker{display:none}.offboarding-review-card>summary div strong,.offboarding-review-card>summary div span{display:block}.offboarding-review-card>summary div span{margin-top:4px;color:#748197;font-size:13px}.offboarding-review-body{padding:0 18px 18px;border-top:1px solid #edf0f5;background:#fbfcfe}.offboarding-review-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 0}.offboarding-review-facts>div{padding:11px;border-radius:11px;background:#fff;border:1px solid #e7ebf1}.offboarding-review-facts span,.offboarding-review-facts strong{display:block}.offboarding-review-facts span{color:#7b879a;font-size:11px;font-weight:800;text-transform:uppercase}.offboarding-review-facts strong{margin-top:4px;color:#263750;font-size:13px}.offboarding-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.offboarding-review-actions form{display:flex;align-items:center;gap:8px;margin:0}.offboarding-review-actions input,.offboarding-review-actions select{min-width:180px}.offboarding-reactivate-form{flex:1}.offboarding-reactivate-form select,.offboarding-reactivate-form input{flex:1}
@media (max-width:900px){.offboarding-review-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.offboarding-review-actions,.offboarding-review-actions form{align-items:stretch;flex-direction:column;width:100%}.offboarding-review-actions input,.offboarding-review-actions select,.offboarding-review-actions button,.offboarding-review-actions a{width:100%}}

/* Marketing para colaboradores */
.marketing-subnav{margin-bottom:22px}
.marketing-subnav a{min-width:190px}
.marketing-subnav a small{display:block;margin-top:3px;color:#7b8797;font-size:11px;font-weight:700}
.marketing-subnav a.active small{color:#dce8ff}
.marketing-collaborator-hero{background:linear-gradient(135deg,#183761 0%,#24558b 55%,#2d88b5 100%)}
.marketing-collaborator-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:20px;align-items:start;margin:22px 0}
.marketing-collaborator-editor,.marketing-collaborator-preview-card{min-width:0}
.marketing-collaborator-form{display:grid;gap:19px}
.marketing-property-picker{display:grid;grid-template-columns:1fr;gap:7px;padding:17px;border:1px solid #dce8f1;border-radius:16px;background:#f7fbfe}
.marketing-property-picker label,.marketing-language-picker legend,.marketing-xml-settings summary{color:#263a55;font-size:13px;font-weight:900}
.marketing-property-picker select{min-height:46px}
.marketing-fees-status{display:grid;gap:4px;min-height:46px;padding:9px 12px;border:1px solid #dce5ed;border-radius:10px;background:#f8fafc}.marketing-fees-status strong{color:#263a55;font-size:14px}.marketing-fees-status small{color:#6f7f92;font-size:11px;line-height:1.35}.marketing-fees-status.is-ready{border-color:#bfe8ce;background:#effaf3}.marketing-fees-status.is-ready strong{color:#26734a}.marketing-fees-status.is-missing{border-color:#efc7c7;background:#fff4f4}.marketing-fees-status.is-missing strong{color:#a53636}.button.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5;filter:grayscale(.2)}
.marketing-language-picker{margin:0;padding:17px;border:1px solid #dce5ef;border-radius:16px;background:#fff}
.marketing-language-picker legend{padding:0 7px}
.marketing-language-picker>p{margin:0 0 12px}
.marketing-language-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.marketing-language-picker label{display:flex;align-items:center;gap:7px;padding:10px 11px;border:1px solid #e3e9f0;border-radius:11px;background:#fbfcfe;color:#42536b;font-size:12px;font-weight:800;cursor:pointer}
.marketing-language-picker label:has(input:checked){border-color:#78c9ec;background:#ecf9ff;color:#155e82}
.marketing-language-picker input{width:auto;margin:0}
.marketing-language-picker span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:21px;border-radius:6px;background:#e5edf5;font-size:10px}
.marketing-xml-settings{padding:14px 16px;border:1px solid #e1e7ee;border-radius:14px;background:#fbfcfd}
.marketing-xml-settings summary{cursor:pointer}
.marketing-xml-settings[open] summary{margin-bottom:15px}
.marketing-xml-settings>label:not(.toggle-line){display:block;margin:12px 0 6px;font-size:12px;font-weight:800}
.marketing-xml-settings textarea{min-height:78px}
.marketing-collaborator-preview-card{position:sticky;top:18px}
.marketing-preview-property{display:grid;grid-template-columns:92px 1fr;gap:13px;align-items:center;padding:13px;border:1px solid #e1e8ef;border-radius:14px;background:#f9fbfd}
.marketing-preview-property img{display:block;width:92px;height:72px;object-fit:cover;border-radius:10px}
.marketing-preview-property strong,.marketing-preview-property span{display:block}
.marketing-preview-property strong{color:#1f6d91;font-size:12px}.marketing-preview-property span{margin-top:5px;color:#24354d;font-weight:800;line-height:1.35}
.marketing-preview-property small{display:block;margin-top:5px;color:#6a7d91;font-size:12px;line-height:1.4}
.marketing-ai-status{display:grid;gap:4px;margin-top:12px;padding:13px 15px;border:1px solid #d8e4ec;border-radius:13px;background:#f8fafc;color:#52677b}
.marketing-ai-status strong{font-size:13px;color:#24354d}.marketing-ai-status span{font-size:12px;line-height:1.45}.marketing-ai-status small{font-size:11px;color:#71869a}
.marketing-ai-status.is-ready{border-color:#bfe8ce;background:#effaf3}.marketing-ai-status.is-ready strong{color:#26734a}
.marketing-ai-status.is-fallback{border-color:#f0d8aa;background:#fff9ed}.marketing-ai-status.is-fallback strong{color:#8b5e13}
.marketing-collaborator-history .actions form{margin:0}
.marketing-subject-copy{display:grid;gap:7px;margin-top:15px;padding:15px;border-radius:14px;background:#eff9fe}
.marketing-subject-copy span{color:#477087;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.marketing-subject-copy strong{color:#1e3850;font-size:14px;line-height:1.5}
.marketing-subject-copy button{justify-self:start;margin-top:4px}
.marketing-preview-actions{display:grid;gap:9px;margin-top:16px}.marketing-preview-actions a,.marketing-preview-actions span{text-align:center}
.marketing-language-downloads{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.marketing-language-downloads a{padding:8px 9px;border:1px solid #dce5ed;border-radius:9px;color:#295c7c;font-size:11px;font-weight:800;text-align:center;text-decoration:none}
.marketing-mailchimp-flow{display:grid;gap:8px;margin-top:17px}
.marketing-mailchimp-flow>div{display:grid;grid-template-columns:30px 1fr;column-gap:9px;padding:11px;border-radius:11px;background:#f7f9fc}
.marketing-mailchimp-flow span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#41bff9;color:#fff;font-size:11px;font-weight:900}
.marketing-mailchimp-flow strong{color:#263a55;font-size:12px}.marketing-mailchimp-flow small{color:#7b8798;font-size:11px}
.marketing-preview-empty{padding:70px 22px;text-align:center}.marketing-preview-empty>span{display:block;color:#41bff9;font-size:50px}.marketing-preview-empty h2{margin:12px 0 7px}.marketing-preview-empty p{margin:0;color:#748197;line-height:1.55}
.marketing-collaborator-history{margin-top:20px}.marketing-collaborator-history table{min-width:850px}.marketing-collaborator-history td{vertical-align:middle}.marketing-collaborator-history td small{display:block;max-width:310px;margin-top:4px;color:#768397}
.marketing-contact-add{margin:4px 0 16px;padding:14px 16px;border:1px solid #d9e6f0;border-radius:14px;background:#f8fbfe}.marketing-contact-add summary{cursor:pointer;color:#213a5b;font-weight:900}.marketing-contact-add-form{display:grid;gap:14px;margin-top:15px}.marketing-contact-search{display:grid;gap:6px;margin:16px 0 4px}.marketing-contact-search>label{color:#263a55;font-size:12px;font-weight:900}.marketing-contact-search>div{display:flex;gap:8px;align-items:center}.marketing-contact-search input{min-width:0;flex:1}.marketing-contact-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.marketing-contact-status.on{color:#17683d;background:#dcf8e8}.marketing-contact-status.off{color:#9b3131;background:#fde2e2}.marketing-contact-unsubscribed{background:#fffafa}.marketing-contact-status-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px;align-items:center}.marketing-contact-status-form input{min-width:120px;padding:7px 9px;font-size:11px}.marketing-contact-list-note{margin:10px 0 0;font-size:11px}
@media (max-width:1120px){.marketing-collaborator-workspace{grid-template-columns:1fr}.marketing-collaborator-preview-card{position:static}.marketing-language-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){.marketing-subnav{display:flex;overflow-x:auto}.marketing-subnav a{min-width:180px}.marketing-language-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-collaborator-workspace{gap:14px}.marketing-preview-property{grid-template-columns:72px 1fr}.marketing-preview-property img{width:72px;height:62px}.marketing-contact-search>div{align-items:stretch;flex-direction:column}.marketing-contact-status-form{grid-template-columns:1fr}.marketing-contact-status-form input{min-width:0}}

/* Buzón Robocito para colaboradores */
.marketing-inbox-hero{background:linear-gradient(135deg,#162d4f 0%,#244f7d 54%,#257d9b 100%)}
.marketing-inbox-block-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.marketing-inbox-block-nav a{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;padding:15px 17px;border:1px solid #dbe5ee;border-radius:14px;background:#fff;color:#253b57;text-decoration:none;box-shadow:0 8px 22px rgba(32,51,77,.05);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.marketing-inbox-block-nav a:hover{transform:translateY(-1px);border-color:#8fcce8;box-shadow:0 11px 26px rgba(31,92,126,.1)}.marketing-inbox-block-nav a.active{border-color:#264b9b;background:#264b9b;color:#fff;box-shadow:0 12px 28px rgba(38,75,155,.2)}.marketing-inbox-block-nav a>span{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#eaf5fb;color:#1d6e96;font-size:11px;font-weight:950}.marketing-inbox-block-nav a.active>span{background:rgba(255,255,255,.16);color:#fff}.marketing-inbox-block-nav strong{font-size:13px}.marketing-inbox-block-nav small{color:#748197;font-size:11px}.marketing-inbox-block-nav a.active small{color:rgba(255,255,255,.76)}
.marketing-inbox-sections{display:grid;gap:20px;margin:0 0 22px}.marketing-inbox-layout{display:contents}
.marketing-inbox-settings,.marketing-inbox-reader{min-width:0}
.marketing-inbox-reader{order:1}.marketing-inbox-history{order:2}.marketing-inbox-settings{order:3;scroll-margin-top:20px}.marketing-inbox-reader,.marketing-inbox-history{scroll-margin-top:20px}
.marketing-inbox-section-head,.marketing-inbox-settings-summary{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid #e3eaf0}.marketing-inbox-section-head{margin-bottom:17px}.marketing-inbox-section-head>div,.marketing-inbox-settings-summary>div{display:grid;gap:3px;min-width:0}.marketing-inbox-section-head strong,.marketing-inbox-settings-summary strong{color:#203650;font-size:17px}.marketing-inbox-section-head small,.marketing-inbox-settings-summary small{color:#748197;font-size:12px;line-height:1.4}.marketing-block-number{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:11px;background:#173f68;color:#fff;font-size:11px;font-weight:950}
.marketing-inbox-empty-form{margin:0 0 0 auto}.marketing-inbox-empty-button{min-height:38px;padding:9px 14px;border:1px solid #c43d48;border-radius:10px;background:#fff;color:#ae2935;font-size:11px;font-weight:950;letter-spacing:.035em;text-transform:uppercase;box-shadow:none}.marketing-inbox-empty-button:hover:not(:disabled){background:#b6313c;color:#fff;border-color:#b6313c}.marketing-inbox-empty-button:disabled{opacity:.4;cursor:not-allowed}
.marketing-webmail-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:620px;overflow:hidden;border:1px solid #dfe7ee;border-radius:15px;background:#fff}.marketing-webmail-list{min-width:0;border-right:1px solid #dfe7ee;background:#f7f9fc}.marketing-webmail-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #dfe7ee;background:#eef3f8}.marketing-webmail-list-head strong{color:#203650;font-size:14px}.marketing-webmail-list-head span{color:#738196;font-size:11px;font-weight:800}.marketing-webmail-message-list{max-height:720px;overflow:auto}.marketing-webmail-message{display:grid;gap:7px;padding:14px 15px;border-bottom:1px solid #e3e9ef;color:#263b56;text-decoration:none;transition:background .15s ease,border-color .15s ease}.marketing-webmail-message:hover{background:#eef7fc}.marketing-webmail-message.is-selected{border-left:4px solid #2f78b7;background:#e8f4fb;padding-left:11px}.marketing-webmail-message-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.marketing-webmail-message-top strong{min-width:0;overflow:hidden;color:#203650;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.marketing-webmail-message-top small{flex:0 0 auto;color:#7c8899;font-size:9px}.marketing-webmail-subject{overflow:hidden;color:#4e6076;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.marketing-webmail-message .marketing-message-status{justify-self:start}.marketing-webmail-list-empty{padding:30px 18px;color:#748197;text-align:center}.marketing-webmail-reading-pane{min-width:0;padding:20px 22px;background:#fff}
.marketing-inbox-settings-summary{padding:0}.marketing-inbox-settings-summary .marketing-mailbox-state{margin-left:auto}.marketing-inbox-settings-body{padding-top:18px}.marketing-inbox-settings-intro{margin:0 0 15px}
.marketing-mailbox-state{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef2f6;color:#66758a;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.marketing-mailbox-state.is-connected{background:#dcf8e8;color:#17683d}.marketing-mailbox-state.is-pending{background:#fff2d6;color:#8a5a10}
.marketing-mailbox-form{display:grid;gap:15px}.marketing-mailbox-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.marketing-monitor-toggle{padding:12px 14px;border:1px solid #cfe0eb;border-radius:13px;background:#f4fbff;color:#23445f;font-weight:850}
.marketing-mailbox-guardrails{display:grid;gap:5px;padding:14px 15px;border-left:4px solid #41bff9;border-radius:4px 12px 12px 4px;background:#eef9fe;color:#53687c;font-size:12px;line-height:1.45}
.marketing-mailbox-guardrails strong{color:#183c58;font-size:13px}.marketing-mailbox-check{margin-top:10px}
.marketing-message-head,.marketing-message-address,.marketing-copy-fixed,.marketing-reply-sent>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.marketing-message-head h2{margin:10px 0 0;color:#20334d;line-height:1.3}.marketing-message-head>span{color:#7b8798;font-size:12px;white-space:nowrap}
.marketing-message-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#5f6f83;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.marketing-message-status.status-draft_ready{background:#dcf8e8;color:#17683d}.marketing-message-status.status-needs_review{background:#fff0d4;color:#8a5810}.marketing-message-status.status-answered{background:#e3efff;color:#24538b}.marketing-message-status.status-unsubscribed{background:#f7e3ef;color:#87385f}
.marketing-message-address{justify-content:flex-start;margin-top:15px;padding:11px 13px;border-radius:11px;background:#f4f7fa}.marketing-message-address strong{color:#263b56}.marketing-message-address span{color:#718096;font-size:12px}
.marketing-message-body{max-height:360px;overflow:auto;margin-top:14px;padding:18px;border:1px solid #e2e8ef;border-radius:14px;background:#fff;color:#33465f;font-size:13px;line-height:1.65;white-space:normal}
.marketing-robocito-review{display:grid;grid-template-columns:150px 1fr;gap:15px;margin-top:15px;padding:14px;border-radius:13px;background:#172f50;color:#e6eef8}.marketing-robocito-review>div span,.marketing-robocito-review>div strong,.marketing-robocito-review>div small{display:block}.marketing-robocito-review>div span{color:#78d5ff;font-size:10px;font-weight:950;text-transform:uppercase}.marketing-robocito-review>div strong{margin-top:4px;color:#fff}.marketing-robocito-review>div small{margin-top:4px;color:#aebed1}.marketing-robocito-review p{margin:0;line-height:1.55}
.marketing-reply-approval{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e4e9ef}.marketing-reply-approval label{color:#263a55;font-size:12px;font-weight:900}.marketing-reply-approval textarea{min-height:190px;line-height:1.55}.marketing-copy-fixed{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;padding:10px 12px;border-radius:10px;background:#f4f7fa}.marketing-copy-fixed span{color:#7b8798;font-size:10px;font-weight:900;text-transform:uppercase}.marketing-copy-fixed strong{color:#2b405a;font-size:11px;overflow-wrap:anywhere}
.marketing-reply-sent{margin-top:16px;padding:15px;border:1px solid #cce6d7;border-radius:13px;background:#f0fbf5}.marketing-reply-sent strong,.marketing-reply-sent span{display:block}.marketing-reply-sent span{margin-top:4px;color:#658071;font-size:11px}.marketing-reply-sent p{margin:13px 0 0;color:#385849;line-height:1.55}
.marketing-inbox-history table{min-width:900px}.marketing-inbox-history td{vertical-align:middle}.marketing-inbox-history tr.is-selected{background:#f1f9fd}
@media (max-width:900px){.marketing-inbox-block-nav{grid-template-columns:1fr}.marketing-webmail-layout{grid-template-columns:1fr}.marketing-webmail-list{border-right:0;border-bottom:1px solid #dfe7ee}.marketing-webmail-message-list{display:flex;max-height:none;overflow-x:auto}.marketing-webmail-message{flex:0 0 260px;border-right:1px solid #e3e9ef;border-bottom:0}}
@media (max-width:700px){.marketing-mailbox-form .form-grid{grid-template-columns:1fr}.marketing-message-head{flex-direction:column}.marketing-robocito-review{grid-template-columns:1fr}.marketing-copy-fixed{grid-template-columns:auto 1fr}.marketing-copy-fixed span:nth-of-type(2){margin-top:5px}.marketing-inbox-settings-summary{align-items:flex-start;flex-wrap:wrap}.marketing-inbox-settings-summary .marketing-mailbox-state{margin-left:49px}.marketing-inbox-section-head{align-items:flex-start;flex-wrap:wrap}.marketing-inbox-empty-form{width:100%;margin-left:49px}.marketing-inbox-empty-button{width:100%}.marketing-webmail-reading-pane{padding:17px 14px}}

/* Cola de envíos para colaboradores */
.marketing-send-panel,.marketing-send-history{margin-top:20px}.marketing-send-state{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.marketing-send-state.ready{background:#dcf8e8;color:#17683d}.marketing-send-state.pending{background:#fff2d6;color:#8a5a10}
.marketing-send-warning{padding:14px 16px;border-left:4px solid #e0a323;border-radius:4px 12px 12px 4px;background:#fff8e7;color:#6f5420;line-height:1.5}.marketing-send-warning a{color:#17658c;font-weight:900}
.marketing-send-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:15px 0}.marketing-send-summary>div{padding:13px 14px;border:1px solid #dfe8ef;border-radius:12px;background:#f8fbfd}.marketing-send-summary span,.marketing-send-summary strong{display:block}.marketing-send-summary span{color:#748197;font-size:10px;font-weight:900;text-transform:uppercase}.marketing-send-summary strong{margin-top:5px;color:#263a55;font-size:13px}
.marketing-send-form{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:10px 18px;align-items:end;padding:17px;border:1px solid #d9e8f1;border-radius:15px;background:#f6fbfe}.marketing-send-form>label:first-of-type{grid-column:1}.marketing-send-form>input{grid-column:1}.marketing-send-confirm{grid-column:2;grid-row:1/3;display:flex;gap:10px;align-items:center;padding:13px;border-radius:12px;background:#fff;color:#2d435d;font-weight:850}.marketing-send-confirm input{width:auto}.marketing-send-form p,.marketing-send-form button{grid-column:1/-1}.marketing-send-form p{margin:2px 0}.marketing-send-form button{justify-self:start}
.marketing-send-progress{display:grid;gap:12px;padding:17px;border:1px solid #d8e8f0;border-radius:15px;background:#f6fbfe}.marketing-send-progress>div:first-child{display:flex;justify-content:space-between;gap:15px}.marketing-send-progress progress{width:100%;height:13px;accent-color:#28a9e5}.marketing-send-progress .actions form{margin:0}.marketing-send-history table{min-width:850px}.marketing-send-history td{vertical-align:middle}.marketing-send-cta{background:#167fae;border-color:#167fae}
@media (max-width:800px){.marketing-send-summary{grid-template-columns:1fr}.marketing-send-form{grid-template-columns:1fr}.marketing-send-form>label:first-of-type,.marketing-send-form>input,.marketing-send-confirm,.marketing-send-form p,.marketing-send-form button{grid-column:1;grid-row:auto}.marketing-send-progress>div:first-child{flex-direction:column}}

/* Reglas de descarte en la importacion de producto */
.product-import-rules-button{white-space:nowrap}
.product-import-rules-button.has-rules{border-color:#23835a;background:#2b9c67;color:#fff;box-shadow:0 8px 20px rgba(43,156,103,.22)}
.product-import-rules-button.has-rules:hover{border-color:#1d714d;background:#23835a;color:#fff;box-shadow:0 11px 25px rgba(43,156,103,.3)}
.product-import-rules-count{display:inline-grid;min-width:24px;height:24px;place-items:center;padding:0 7px;border-radius:999px;background:#fff;color:#1f7a52;font-size:11px;font-weight:950;line-height:1}
.product-import-rules-shell{display:grid;gap:22px}
.product-import-rules-head{padding-bottom:18px;border-bottom:1px solid #e2e8f0}
.product-import-rules-head h2{margin:5px 0 6px}
.product-import-rules-grid{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.18fr);gap:20px;align-items:start}
.product-import-rule-list,.product-import-rule-editor{display:grid;gap:12px;min-width:0}
.product-import-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 2px 8px}
.product-import-section-title>div{display:grid;gap:3px}.product-import-section-title>div>span{color:#728097;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.product-import-section-title>div>strong{color:#213550;font-size:15px}
.product-import-rule-card{display:grid;gap:11px;padding:17px;border:1px solid #dde5ed;border-left:4px solid #b7c3d2;border-radius:15px;background:#fff;box-shadow:0 9px 24px rgba(34,52,77,.05)}
.product-import-rule-card.is-active{border-left-color:#2b9c67;background:linear-gradient(135deg,#fff 0%,#f5fbf8 100%)}
.product-import-rule-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}.product-import-rule-card header h3{margin:6px 0 0;color:#1d304b;font-size:17px}.product-import-rule-card header>strong{display:grid;place-items:center;min-width:39px;height:39px;border-radius:12px;background:#edf3fa;color:#214381;font-size:16px}.product-import-rule-card>p{margin:0;color:#5c6e84;font-size:13px;line-height:1.5}.product-import-rule-card>small{color:#78869a;font-size:11px}
.product-import-rule-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf1f5;color:#65758a;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.product-import-rule-status.active{background:#ddf6e9;color:#177148}
.product-import-rule-meta,.product-import-agency-breakdown{display:flex;flex-wrap:wrap;gap:6px}.product-import-rule-meta span,.product-import-agency-breakdown span{padding:6px 8px;border-radius:8px;background:#f1f5f9;color:#506178;font-size:10px;font-weight:850}.product-import-rule-card ul{display:grid;gap:5px;margin:0;padding-left:19px;color:#364a64;font-size:12px;line-height:1.45}.product-import-rule-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.product-import-rule-card-actions form{margin:0}.product-import-rule-card-actions button:disabled{opacity:.45;cursor:not-allowed}
.product-import-rule-editor{padding:18px;border:1px solid #dce5ef;border-radius:16px;background:#f8fafc}.product-import-rule-form{display:grid;gap:15px}.product-import-rule-form>label,.product-import-rule-options label{display:grid;gap:6px;color:#33465f;font-size:12px;font-weight:850}.product-import-rule-form textarea{min-height:82px}.product-import-rule-options{display:grid;grid-template-columns:1fr 1fr 110px;gap:10px}.product-import-condition-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.product-import-conditions{display:grid;gap:8px}.product-import-condition-row{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(145px,1fr) minmax(180px,1.3fr) auto;gap:7px;align-items:center}.product-import-condition-row select,.product-import-condition-row input{min-width:0;font-size:12px}.product-import-rule-help{margin:0;padding:11px 13px;border-left:3px solid #5b7fc0;border-radius:4px 9px 9px 4px;background:#eef4fb;font-size:11px;line-height:1.5}
.product-import-simulation{display:grid;gap:16px;padding:20px;border:1px solid #bfd9cb;border-radius:16px;background:linear-gradient(135deg,#f8fffb 0%,#f2f8ff 100%)}.product-import-simulation h2{margin:4px 0}.product-import-simulation-kpis{display:flex;gap:9px}.product-import-simulation-kpis>div{display:grid;min-width:135px;padding:11px 13px;border:1px solid #d8e5de;border-radius:11px;background:#fff}.product-import-simulation-kpis span{color:#728097;font-size:10px;font-weight:850;text-transform:uppercase}.product-import-simulation-kpis strong{margin-top:3px;color:#1c6b48;font-size:22px}.product-import-sample-list{display:grid;gap:7px}.product-import-sample-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #e0e8ec;border-radius:10px;background:#fff}.product-import-sample-list article div{display:grid;gap:3px}.product-import-sample-list article div strong{color:#293d58;font-size:13px}.product-import-sample-list article div span{color:#718096;font-size:11px}.product-import-sample-list article>strong{color:#23468e;white-space:nowrap}.product-import-simulation-actions{display:flex;justify-content:flex-end}.product-import-simulation-actions form{margin:0}
.product-import-history{border:1px solid #e0e6ed;border-radius:14px;background:#fff;overflow:hidden}.product-import-history>summary{padding:14px 16px;color:#263b58;font-weight:900;cursor:pointer}.product-import-history .control-compact-table{border-top:1px solid #e7ecf1}.product-import-history table{min-width:720px}
.gerencia-property-state.auto-discarded{background:#f4eafe;color:#7039a2}.product-auto-discard-reason{margin-top:7px!important;padding:7px 9px;border-left:3px solid #8d63b7;border-radius:3px 8px 8px 3px;background:#f8f2fd;color:#62427b!important;font-size:11px!important;line-height:1.4}.product-auto-discard-reason strong{color:#512b74}
@media(max-width:1180px){.product-import-rules-grid{grid-template-columns:1fr}.product-import-rule-editor{order:-1}}
@media(max-width:760px){.product-import-rules-head,.product-import-simulation .control-panel-head{align-items:stretch;flex-direction:column}.product-import-rule-options,.product-import-condition-row{grid-template-columns:1fr}.product-import-condition-row button{justify-self:start}.product-import-simulation-kpis{width:100%}.product-import-simulation-kpis>div{min-width:0;flex:1}.product-import-sample-list article{align-items:flex-start;flex-direction:column}.product-import-simulation-actions button{width:100%}}

/* Mi financiacion: private, personal mortgage preparation workspace. */
.client-finance-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,390px);gap:32px;align-items:center;margin-bottom:20px;padding:clamp(30px,5vw,58px);border-radius:26px;background:linear-gradient(120deg,rgba(9,35,65,.97),rgba(21,91,139,.92)),url("public-hero.jpg") center/cover;color:#fff;box-shadow:0 26px 70px rgba(8,34,62,.18)}
.client-finance-hero::after{position:absolute;right:-90px;bottom:-120px;width:340px;height:340px;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}
.client-finance-hero-copy,.client-finance-hero-status{position:relative;z-index:1}.client-finance-hero .eyebrow{color:#8ce5f5}.client-finance-hero h1{max-width:760px;margin:10px 0 16px;color:#fff;font-family:var(--site-font);font-size:clamp(36px,4.6vw,62px);font-weight:600;line-height:1.04}.client-finance-hero-copy>p{max-width:700px;margin:0;color:rgba(255,255,255,.88);font-size:18px;line-height:1.62}.client-finance-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}.client-finance-hero .site-button{background:#fff;color:#123b70}.client-finance-hero .site-button.ghost{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff}
.client-finance-hero-status{display:grid;grid-template-columns:116px 1fr;gap:20px;align-items:center;padding:24px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.96);color:#1b3552;box-shadow:0 20px 55px rgba(4,23,43,.22)}.client-finance-completion{width:106px;height:106px;display:grid;place-content:center;border-radius:50%;background:conic-gradient(#18a8d2 var(--finance-progress),#dceaf1 0);text-align:center;box-shadow:inset 0 0 0 9px #fff}.client-finance-completion strong,.client-finance-completion span{display:block}.client-finance-completion strong{color:#123b70;font-size:25px}.client-finance-completion span{color:#6a7c8e;font-size:9px;font-weight:950;text-transform:uppercase}.client-finance-hero-status>div:last-child small,.client-finance-hero-status>div:last-child strong{display:block}.client-finance-hero-status>div:last-child small{color:#7890a4;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.client-finance-hero-status>div:last-child strong{margin-top:6px;color:#123b70;font-size:20px}.client-finance-hero-status p{margin:8px 0 0;color:#667b8e;font-size:12px;line-height:1.45}
.client-finance-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.client-finance-trust-grid article{display:grid;gap:5px;padding:20px 22px;border:1px solid #d8e6ee;border-radius:18px;background:linear-gradient(145deg,#fff,#f5fafc);box-shadow:0 12px 34px rgba(18,59,112,.06)}.client-finance-trust-grid span{color:#70879a;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.client-finance-trust-grid strong{color:#123b70;font-size:24px}.client-finance-trust-grid small{color:#63778b;line-height:1.45}
.client-finance-planner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:20px;align-items:start;margin-bottom:20px}.client-finance-profile-form,.client-finance-snapshot{border:1px solid #d8e5ed;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(18,59,112,.08)}.client-finance-profile-form{padding:clamp(22px,4vw,36px)}.client-finance-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.client-finance-section-head h2,.client-finance-snapshot h2{margin:7px 0;color:#19344e;font-family:var(--site-font);font-size:clamp(27px,3vw,39px);font-weight:650}.client-finance-section-head p{max-width:700px;margin:0;color:#65798b;line-height:1.55}
.client-finance-choice-grid,.client-finance-fieldset{margin:0;padding:0;border:0}.client-finance-choice-grid>legend,.client-finance-fieldset>legend{margin-bottom:12px;color:#24415e;font-size:13px;font-weight:950}.client-finance-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.client-finance-choice-grid>legend{grid-column:1/-1}.client-finance-choice-grid>label{position:relative;min-height:96px;display:flex;padding:15px;border:1px solid #d8e5ed;border-radius:15px;background:#f8fbfd;cursor:pointer}.client-finance-choice-grid input{position:absolute;opacity:0}.client-finance-choice-grid label:has(input:checked){border-color:#2399cb;background:#effaff;box-shadow:0 0 0 3px rgba(35,153,203,.11)}.client-finance-choice-grid label span,.client-finance-choice-grid label strong,.client-finance-choice-grid label small{display:block}.client-finance-choice-grid label strong{color:#173b5e}.client-finance-choice-grid label small{margin-top:5px;color:#6d8092;line-height:1.4}
.client-finance-dependent{display:grid;gap:20px;margin-top:24px}.client-finance-dependent[hidden]{display:none!important}.client-finance-fieldset{padding-top:22px;border-top:1px solid #e0e9ef}.client-finance-fieldset>legend{float:left;width:100%;display:flex;align-items:center;gap:9px}.client-finance-fieldset>legend+*{clear:both}.client-finance-fieldset>legend span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e9f6fb;color:#147da9;font-size:11px}.client-finance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.client-finance-fields label{display:grid;gap:7px;color:#36516b;font-size:12px;font-weight:900}.client-finance-fields input,.client-finance-fields select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #cadbe6;border-radius:11px;background:#fbfdff;color:#18334e;font:inherit;font-weight:750}.client-finance-fields input:focus,.client-finance-fields select:focus{outline:3px solid rgba(22,151,200,.13);border-color:#2197c8}.client-finance-money-input{position:relative;display:block}.client-finance-money-input input{padding-right:54px}.client-finance-money-input em{position:absolute;top:50%;right:13px;color:#7b8da0;font-size:11px;font-style:normal;transform:translateY(-50%)}.client-finance-privacy{display:flex;gap:11px;align-items:flex-start;padding:16px;border:1px solid #cde2ec;border-radius:14px;background:#f1f9fc;color:#4f687e;line-height:1.5}.client-finance-privacy input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:#168ab8}.client-finance-privacy strong{display:block;color:#194767}
.client-finance-snapshot{position:sticky;top:108px;padding:28px}.client-finance-result-list{display:grid;gap:8px;margin-top:20px}.client-finance-result-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e5edf2}.client-finance-result-list span{color:#6d8092;font-size:12px;font-weight:850}.client-finance-result-list strong{color:#163c5e;font-size:17px;text-align:right}.client-finance-guidance,.client-finance-no-need{margin:18px 0 0;padding:15px;border-radius:13px;line-height:1.5}.client-finance-guidance.is-review{background:#fff5e5;color:#7e5a1d}.client-finance-guidance.is-ready{background:#eaf8f2;color:#236a4e}.client-finance-no-need{background:#eef8fb;color:#46667c}.client-finance-no-need strong{color:#164a6a}.client-finance-no-need p{margin:5px 0 0}.client-finance-disclaimer{margin:18px 0 0;padding-top:16px;border-top:1px solid #e2ebf0;color:#7a8998;font-size:11px;line-height:1.55}
.client-finance-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.client-finance-home-grid>article{overflow:hidden;border:1px solid #dce6ec;border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(18,59,112,.06)}.client-finance-home-media{position:relative;height:170px;display:block;background:#e7f0f5}.client-finance-home-media img{width:100%;height:100%;object-fit:cover}.client-finance-home-media>span{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:9px;background:rgba(12,38,64,.88);color:#fff;font-size:13px;font-weight:950}.client-finance-home-grid>article>div{padding:17px}.client-finance-home-grid h3{min-height:44px;margin:0;color:#1a3853;font-size:16px;line-height:1.35}.client-finance-home-grid dl{display:grid;gap:6px;margin:14px 0}.client-finance-home-grid dl div{display:flex;justify-content:space-between;gap:10px}.client-finance-home-grid dt{color:#718395;font-size:11px}.client-finance-home-grid dd{margin:0;color:#193e5e;font-size:12px;font-weight:900}.client-finance-home-grid p{margin:12px 0 0;padding:10px;border-radius:10px;font-size:11px;font-weight:850;line-height:1.4}.client-finance-home-grid p.is-ready{background:#e9f8f1;color:#236849}.client-finance-home-grid p.is-review{background:#fff4e1;color:#7d571a}
.client-finance-doc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.client-finance-doc-grid article{display:flex;gap:11px;align-items:center;padding:14px;border:1px solid #dce6ec;border-radius:14px;background:#f8fbfd}.client-finance-doc-grid article>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#e6f4f9;color:#147ca5;font-size:10px;font-weight:950}.client-finance-doc-grid strong,.client-finance-doc-grid small{display:block}.client-finance-doc-grid strong{color:#26465f;font-size:12px}.client-finance-doc-grid small{margin-top:3px;color:#7a8b99;font-size:10px}
.client-finance-timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.client-finance-timeline-grid article{position:relative;padding:19px;border:1px solid #dce6ed;border-radius:15px;background:#f8fafc}.client-finance-timeline-grid article>span{display:inline-grid;width:32px;height:32px;place-items:center;margin-bottom:12px;border-radius:10px;background:#e9eef3;color:#758597;font-size:10px;font-weight:950}.client-finance-timeline-grid article strong{display:block;color:#304b63}.client-finance-timeline-grid article p{margin:7px 0 0;color:#728394;font-size:11px;line-height:1.45}.client-finance-timeline-grid article.is-current{border-color:#5eb9db;background:#effaff;box-shadow:0 0 0 3px rgba(41,155,198,.09)}.client-finance-timeline-grid article.is-current>span{background:#178bb9;color:#fff}.client-finance-timeline-grid article.is-done{border-color:#b8dfcf;background:#f0faf6}.client-finance-timeline-grid article.is-done>span{background:#31976d;color:#fff}.client-finance-advisor-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#123b70,#176d9c);color:#fff}.client-finance-advisor-cta span,.client-finance-advisor-cta strong{display:block}.client-finance-advisor-cta span{color:#9fdff0;font-size:10px;font-weight:950;text-transform:uppercase}.client-finance-advisor-cta strong{margin-top:3px;font-size:19px}.client-finance-advisor-cta p{margin:5px 0 0;color:rgba(255,255,255,.8)}.client-finance-advisor-cta .site-button{background:#fff;color:#123b70}
.client-finance-fields label>small{color:#73889a;font-size:10px;font-weight:650;line-height:1.4}
@media(max-width:1000px){.client-finance-hero,.client-finance-planner{grid-template-columns:1fr}.client-finance-snapshot{position:static}.client-finance-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-finance-doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.client-finance-hero{padding:25px 20px;border-radius:20px}.client-finance-hero-status{grid-template-columns:88px 1fr;padding:18px}.client-finance-completion{width:82px;height:82px;box-shadow:inset 0 0 0 7px #fff}.client-finance-completion strong{font-size:20px}.client-finance-trust-grid,.client-finance-choice-grid,.client-finance-fields,.client-finance-home-grid,.client-finance-doc-grid,.client-finance-timeline-grid{grid-template-columns:1fr}.client-finance-section-head,.client-finance-advisor-cta{align-items:stretch;flex-direction:column}.client-finance-section-head .site-button,.client-finance-advisor-cta .site-button{width:100%}.client-finance-choice-grid>label{min-height:0}.client-finance-profile-form,.client-finance-snapshot{padding:20px;border-radius:18px}.client-finance-home-media{height:200px}}
.idealista-description-score {
  display: block;
  margin-top: 7px;
  color: #1e3a8a;
  font-size: .82rem;
  font-weight: 650;
}

.idealista-description-score.is-earned {
  color: #166534;
}
