:root {
  --bg: #091120;
  --card: rgba(13, 24, 42, 0.84);
  --card-strong: rgba(10, 19, 35, 0.92);
  --border: rgba(148, 163, 184, 0.16);
  --text: #edf5ff;
  --muted: #9db0c9;
  --success: #22c55e;
  --danger: #ef4444;
  --warning: #f59e0b;
  --shadow: 0 18px 40px rgba(2, 8, 23, 0.38);
  --radius: 22px;
  --accent: #22c55e;
  --accent-2: #0ea5e9;
  --accent-soft: rgba(34, 197, 94, 0.18);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100%; }
body {
  font-family: Arial, Helvetica, sans-serif;
  background: radial-gradient(circle at top left, rgba(14, 165, 233, 0.16), transparent 30%), linear-gradient(180deg, #07111f 0%, #0b1426 100%);
  color: var(--text);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
input, select, textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.72);
  color: var(--text);
  border-radius: 16px;
  padding: 14px 16px;
  outline: none;
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(59, 130, 246, 0.55);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}
textarea { resize: vertical; }
label { display: grid; gap: 8px; }
label span { color: var(--muted); font-size: 13px; }

.btn {
  border: 0;
  border-radius: 16px;
  padding: 14px 18px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow: var(--shadow);
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: white; }
.btn-secondary { background: linear-gradient(135deg, #2563eb, #0ea5e9); color: white; }
.btn-block { width: 100%; }

.bg-orb {
  position: fixed;
  border-radius: 999px;
  filter: blur(80px);
  z-index: 0;
  pointer-events: none;
  opacity: .6;
}
.orb-a { width: 280px; height: 280px; left: -60px; top: -80px; background: rgba(34, 197, 94, 0.28); }
.orb-b { width: 320px; height: 320px; right: -80px; top: 10%; background: rgba(14, 165, 233, 0.26); }
.bg-grid {
  position: fixed;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(180deg, rgba(255,255,255,0.7), transparent 90%);
  pointer-events: none;
}

.login-body { display: flex; align-items: center; justify-content: center; padding: 32px; min-height: 100vh; }
.login-wrapper {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 24px;
}
.login-hero, .login-card, .panel-card, .kpi-card, .result-card, .mini-card, .action-card, .sidebar-pwa-card {
  background: var(--card);
  border: 1px solid var(--border);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}
.login-hero, .login-card, .panel-card { border-radius: 28px; padding: 28px; }
.login-logo { width: min(500px, 100%); margin-bottom: 10px; }
.hero-badge {
  display: inline-flex; padding: 8px 14px; border-radius: 999px; background: rgba(34, 197, 94, 0.14); color: #b8ffd5; font-size: 13px; font-weight: 700; margin-bottom: 18px;
}
.login-hero h1 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 52px); line-height: 1.02; }
.login-hero p { margin: 0 0 24px; color: var(--muted); font-size: 16px; }
.hero-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hero-grid article { padding: 16px; border-radius: 20px; background: rgba(15, 23, 42, 0.65); border: 1px solid rgba(148, 163, 184, 0.14); display: grid; gap: 6px; }
.hero-grid article strong { font-size: 18px; }
.hero-grid article span { color: var(--muted); font-size: 14px; }
.login-card { align-self: center; }
.login-card-header h2 { margin: 0 0 6px; font-size: 28px; }
.login-card-header p { margin: 0 0 18px; color: var(--muted); }
.demo-box { margin-top: 22px; padding: 16px; border-radius: 20px; background: rgba(15, 23, 42, 0.66); }
.demo-box h3 { margin: 0 0 12px; font-size: 16px; }
.demo-box ul { padding-left: 18px; margin: 0; display: grid; gap: 8px; color: var(--muted); }
.flash { padding: 14px 16px; border-radius: 16px; margin-bottom: 18px; font-weight: 700; }
.flash-success { background: rgba(34, 197, 94, 0.12); border: 1px solid rgba(34, 197, 94, 0.28); color: #b9ffd4; }
.flash-error { background: rgba(239, 68, 68, 0.12); border: 1px solid rgba(239, 68, 68, 0.28); color: #ffd0d0; }
.flash-warning { background: rgba(245, 158, 11, 0.14); border: 1px solid rgba(245, 158, 11, 0.3); color: #ffe2aa; }

.layout { position: relative; display: grid; grid-template-columns: 310px 1fr; min-height: 100vh; }
.sidebar {
  position: sticky; top: 0; align-self: start; height: 100vh; padding: 22px; background: rgba(7, 16, 30, 0.88); border-right: 1px solid var(--border); backdrop-filter: blur(18px);
}
.sidebar-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.sidebar-logo { width: 74px; border-radius: 18px; background: rgba(255,255,255,0.06); padding: 8px; }
.sidebar-brand strong { display: block; font-size: 20px; }
.sidebar-brand span { color: var(--muted); font-size: 13px; }
.sidebar-nav { display: grid; gap: 10px; }
.sidebar-link { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 18px; color: var(--muted); transition: .2s ease; }
.sidebar-link:hover, .sidebar-link.is-active { color: white; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); }
.danger-link:hover { background: rgba(239, 68, 68, 0.15); }
.icon-wrap, .kpi-icon, .search-icon {
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
}
.icon-wrap svg, .kpi-icon svg, .search-icon svg, .action-card svg { width: 100%; height: 100%; fill: currentColor; }
.sidebar-pwa-card { margin-top: 18px; padding: 16px; border-radius: 20px; }
.sidebar-pwa-card h4 { margin: 0 0 10px; }
.sidebar-pwa-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.content { padding: 24px; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.topbar h1 { margin: 0 0 4px; font-size: clamp(28px, 4vw, 38px); }
.topbar p { margin: 0; color: var(--muted); }
.user-chip {
  width: 46px; height: 46px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--accent), var(--accent-2)); font-weight: 700;
}
.menu-toggle {
  display: none; border: 1px solid var(--border); background: rgba(255,255,255,0.04); color: white; width: 44px; height: 44px; border-radius: 14px; cursor: pointer;
}

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 18px; }
.mobile-kpi-grid { grid-template-columns: repeat(3, 1fr); }
.kpi-card { border-radius: 24px; padding: 18px; display: flex; gap: 14px; align-items: center; }
.kpi-card span { display: block; color: var(--muted); font-size: 13px; margin-bottom: 6px; }
.kpi-card strong { font-size: clamp(20px, 2vw, 28px); }
.kpi-icon {
  width: 54px; height: 54px; min-width: 54px; border-radius: 18px; background: var(--accent-soft); color: white; padding: 14px;
}
.highlight-kpi { background: linear-gradient(135deg, rgba(34, 197, 94, 0.22), rgba(14, 165, 233, 0.14)); }
.quick-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 18px; }
.action-card { border-radius: 24px; padding: 22px; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 20px; font-weight: 800; min-height: 90px; }
.action-card svg { width: 28px; height: 28px; fill: white; }
.action-card-primary { background: linear-gradient(135deg, #2563eb, #0ea5e9); }
.action-card-success { background: linear-gradient(135deg, #16a34a, #22c55e); }

.panel-grid { display: grid; gap: 18px; margin-bottom: 18px; }
.panel-grid-2 { grid-template-columns: repeat(2, 1fr); }
.panel-grid-3 { grid-template-columns: repeat(3, 1fr); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.panel-header h2 { margin: 0; font-size: 22px; }
.panel-header span { color: var(--muted); font-size: 13px; }
.metrics-list { display: grid; gap: 14px; }
.metrics-list > div {
  display: flex; justify-content: space-between; gap: 16px; padding: 14px 16px; background: rgba(15, 23, 42, 0.58); border: 1px solid rgba(148,163,184,.11); border-radius: 18px;
}
.metrics-list span { color: var(--muted); }
.spotlight-card { background: linear-gradient(135deg, rgba(34, 197, 94, 0.16), rgba(14, 165, 233, 0.12)), var(--card-strong); }
.hierarchy-boxes { display: grid; gap: 14px; }
.hierarchy-boxes > div { padding: 16px; border-radius: 18px; background: rgba(15,23,42,.62); border: 1px solid rgba(148,163,184,.12); display: grid; gap: 5px; }
.hierarchy-boxes strong { font-size: 18px; }
.hierarchy-boxes span { color: var(--muted); }
.table-wrap { overflow: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 780px; }
.data-table th, .data-table td { text-align: left; padding: 14px 12px; border-bottom: 1px solid rgba(148,163,184,.1); }
.data-table th { color: var(--muted); font-size: 13px; font-weight: 700; }
.data-table td { font-size: 14px; }
.form-grid { display: grid; gap: 14px; }
.form-grid-2 { grid-template-columns: repeat(2, 1fr); }
.span-2 { grid-column: 1 / -1; }
.list-cards { display: grid; gap: 12px; }
.mini-card, .result-card, .empty-box { border-radius: 20px; padding: 16px; }
.mini-card { display: grid; gap: 6px; }
.mini-card span { color: var(--muted); font-size: 14px; }
.empty-box { background: rgba(15,23,42,.55); border: 1px dashed rgba(148,163,184,.2); color: var(--muted); }
.loan-grid { align-items: start; }
.sticky-card { position: sticky; top: 24px; }
.info-note { margin-top: 16px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.04); color: var(--muted); line-height: 1.55; }
.search-bar { display: flex; gap: 12px; align-items: center; }
.search-input-wrap { flex: 1; position: relative; }
.search-input-wrap input { padding-left: 52px; }
.search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.results-grid { display: grid; gap: 16px; }
.result-card-top { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.result-card-top h3 { margin: 0 0 6px; }
.result-card-top p { margin: 0; color: var(--muted); }
.result-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.result-metrics > div { background: rgba(15,23,42,.58); border-radius: 16px; padding: 12px; }
.result-metrics span { display: block; color: var(--muted); font-size: 13px; margin-bottom: 6px; }
.status-pill { padding: 8px 12px; border-radius: 999px; background: rgba(34,197,94,.14); color: #bcffd8; font-size: 12px; font-weight: 700; height: fit-content; }
.bullet-list { margin: 0; padding-left: 18px; color: var(--muted); display: grid; gap: 10px; }

.theme-owner { --accent: #22c55e; --accent-2: #0ea5e9; --accent-soft: rgba(34, 197, 94, 0.18); --card: #ffffff; --card-strong: #ffffff; --border: #d7e1ee; --text: #17324a; --muted: #62778d; --shadow: 0 18px 40px rgba(15, 23, 42, 0.08); }
.theme-supervisor { --accent: #8b5cf6; --accent-2: #f59e0b; --accent-soft: rgba(139, 92, 246, 0.18); }
.theme-collector { --accent: #16a34a; --accent-2: #0ea5e9; --accent-soft: rgba(14, 165, 233, 0.18); }

body.theme-owner {
  background: linear-gradient(180deg, #eef3fb 0%, #f6f8fc 100%);
  color: var(--text);
}
.theme-owner .bg-grid { background-image: linear-gradient(rgba(15,23,42,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,0.03) 1px, transparent 1px); }
.theme-owner .orb-a { background: rgba(59, 130, 246, 0.12); }
.theme-owner .orb-b { background: rgba(34, 197, 94, 0.12); }
.theme-owner .sidebar { background: rgba(11, 20, 38, 0.96); border-right: 1px solid rgba(255,255,255,0.08); }
.theme-owner .topbar h1,
.theme-owner .topbar p,
.theme-owner .menu-toggle { color: #17324a; }
.theme-owner .menu-toggle { background: #ffffff; border-color: #d7e1ee; }
.theme-owner .sidebar-link:hover, .theme-owner .sidebar-link.is-active { color: #ffffff; }
.theme-owner input, .theme-owner select, .theme-owner textarea { background: #f8fafc; color: #17324a; border-color: #d7e1ee; }
.theme-owner .panel-card, .theme-owner .sidebar-pwa-card, .theme-owner .mini-card, .theme-owner .result-card, .theme-owner .empty-box { backdrop-filter: none; }

@media (max-width: 1100px) {
  .layout { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; width: min(310px, 84vw); transform: translateX(-100%); transition: transform .25s ease; z-index: 20;
  }
  .sidebar.is-open { transform: translateX(0); }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .kpi-grid, .mobile-kpi-grid, .panel-grid-2, .panel-grid-3, .hero-grid, .login-wrapper, .result-metrics { grid-template-columns: 1fr; }
  .content { padding: 18px; }
  .sticky-card { position: static; }
  .form-grid-2 { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .login-body { padding: 18px; }
  .login-hero, .login-card, .panel-card { padding: 20px; }
  .topbar { align-items: flex-start; }
  .quick-actions { grid-template-columns: 1fr 1fr; }
  .search-bar { flex-direction: column; }
}


/* ===== Ajuste visual PWA móvil estilo limpio ===== */
.sidebar-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 35;
}
.sidebar-backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.content-inner { display: grid; gap: 16px; }
.mobile-appbar { display: none; }
.screen-heading { display: none; }

.is-mobile-module {
  background: #f3f5f7;
  color: #12344d;
}
.is-mobile-module .bg-orb,
.is-mobile-module .bg-grid { display: none; }
.is-mobile-module .layout { display: block; min-height: 100vh; }
.is-mobile-module .sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: min(320px, 86vw);
  transform: translateX(-100%);
  transition: transform .25s ease;
  z-index: 80;
  height: 100vh;
  background: #ffffff;
  border-right: 1px solid #dde5ed;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
  pointer-events: none;
}
.is-mobile-module .sidebar.is-open { transform: translateX(0); pointer-events: auto; }
.is-mobile-module .sidebar-brand { margin-bottom: 18px; }
.is-mobile-module .sidebar-logo {
  width: 60px;
  background: #eef6ff;
  padding: 6px;
  border-radius: 16px;
}
.is-mobile-module .sidebar-brand strong,
.is-mobile-module .sidebar-link,
.is-mobile-module .sidebar-pwa-card h4,
.is-mobile-module .panel-header h2,
.is-mobile-module .result-card-top h3,
.is-mobile-module .stack-card strong,
.is-mobile-module .collector-card strong,
.is-mobile-module .section-block-head h2,
.is-mobile-module .mobile-brand strong,
.is-mobile-module .screen-heading h1,
.is-mobile-module .focus-card h2,
.is-mobile-module .summary-tile strong,
.is-mobile-module .collector-total,
.is-mobile-module .collector-stats strong,
.is-mobile-module .metrics-list strong,
.is-mobile-module .result-metrics strong {
  color: #12344d;
}
.is-mobile-module .sidebar-brand span,
.is-mobile-module .sidebar-pwa-card p,
.is-mobile-module .sidebar-link span:last-child,
.is-mobile-module .panel-header span,
.is-mobile-module .mini-card span,
.is-mobile-module .empty-box,
.is-mobile-module .screen-heading p,
.is-mobile-module .summary-tile span,
.is-mobile-module .focus-card p,
.is-mobile-module .stack-card p,
.is-mobile-module .collector-card p,
.is-mobile-module .collector-stats span,
.is-mobile-module .result-card-top p,
.is-mobile-module .result-metrics span,
.is-mobile-module label span,
.is-mobile-module .info-note,
.is-mobile-module .search-icon,
.is-mobile-module .topbar p {
  color: #6b7b8d;
}
.is-mobile-module .sidebar-link {
  color: #35516b;
  border: 1px solid transparent;
}
.is-mobile-module .sidebar-link:hover,
.is-mobile-module .sidebar-link.is-active {
  color: #1d4ed8;
  background: #f4f8ff;
  border-color: #dce8ff;
}
.is-mobile-module .danger-link:hover { background: #fff1f1; color: #c0392b; }
.is-mobile-module .content {
  padding: 14px 14px 24px;
  max-width: 980px;
  margin: 0 auto;
}
.is-mobile-module .content-inner { max-width: 720px; margin: 0 auto; }
.is-mobile-module .mobile-appbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #fff;
  padding: 12px 14px;
  border-radius: 20px;
  border: 1px solid #e4e9ef;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  margin-bottom: 14px;
}
.is-mobile-module .mobile-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.is-mobile-module .mobile-brand-logo {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.is-mobile-module .menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid #e3e8ee;
  background: #fff;
  color: #445b74;
}
.is-mobile-module .menu-toggle svg { width: 18px; height: 18px; fill: currentColor; }
.is-mobile-module .screen-heading {
  display: block;
  text-align: center;
  margin: 4px 0 10px;
}
.is-mobile-module .screen-heading h1 {
  margin: 0 0 6px;
  font-size: clamp(26px, 5vw, 36px);
  font-weight: 800;
}
.is-mobile-module .screen-heading p {
  margin: 0;
  font-size: 15px;
}
.is-mobile-module .topbar { display: none; }
.is-mobile-module .flash {
  background: #fff;
  color: #12344d;
  border: 1px solid #e4e9ef;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .06);
}
.is-mobile-module .panel-card,
.is-mobile-module .kpi-card,
.is-mobile-module .result-card,
.is-mobile-module .mini-card,
.is-mobile-module .sidebar-pwa-card,
.is-mobile-module .action-card,
.is-mobile-module .empty-box {
  background: #fff;
  border-color: #e4e9ef;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  backdrop-filter: none;
}
.is-mobile-module input,
.is-mobile-module select,
.is-mobile-module textarea {
  background: #fff;
  color: #12344d;
  border-color: #d8e1ea;
}
.is-mobile-module .btn { box-shadow: none; }
.is-mobile-module .btn-primary { background: linear-gradient(135deg, #0f62fe, #2a7fff); }
.is-mobile-module .btn-secondary { background: linear-gradient(135deg, #16a34a, #2fb85f); }
.is-mobile-module .search-input-wrap input { background: #fff; }
.is-mobile-module .result-metrics > div,
.is-mobile-module .metrics-list > div,
.is-mobile-module .info-note,
.is-mobile-module .empty-box {
  background: #f8fafc;
  border: 1px solid #e4ebf2;
}
.mobile-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.summary-tile {
  background: #fff;
  border: 1px solid #e1e7ee;
  border-radius: 18px;
  padding: 16px;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.summary-tile span { font-size: 14px; margin-bottom: 8px; }
.summary-tile strong { font-size: clamp(22px, 5vw, 34px); }
.success-number strong { color: #16a34a !important; }
.primary-number strong { color: #0f62fe !important; }
.warning-number strong { color: #ff6f00 !important; }
.focus-card {
  background: #fff;
  border-radius: 18px;
  border: 1px solid #dfe7ef;
  padding: 18px 18px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.focus-card h2 { margin: 0 0 6px; font-size: 26px; }
.focus-card p { margin: 0; line-height: 1.35; }
.focus-card strong { font-size: clamp(26px, 6vw, 44px); white-space: nowrap; }
.focus-card-success {
  background: #eaf8ee;
  border-color: #bfe7c6;
}
.focus-card-success strong,
.focus-card-success h2,
.focus-card-success p { color: #16803c !important; }
.focus-card-info {
  background: #eef4ff;
  border-color: #cfe0ff;
}
.focus-card-info strong,
.focus-card-info h2,
.focus-card-info p { color: #1d4ed8 !important; }
.focus-card-violet {
  background: #f3edff;
  border-color: #dbc8ff;
}
.focus-card-violet strong,
.focus-card-violet h2,
.focus-card-violet p { color: #6d28d9 !important; }
.action-pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.action-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 16px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.1);
}
.action-pill-icon { width: 20px; height: 20px; display: inline-flex; }
.action-pill-icon svg { width: 20px; height: 20px; fill: currentColor; }
.action-pill-blue { background: linear-gradient(135deg, #0f62fe, #3b82f6); }
.action-pill-green { background: linear-gradient(135deg, #169c46, #23b95a); }
.segment-control {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  background: transparent;
  border-radius: 18px;
  padding: 0;
}
.segment-button {
  border: 0;
  background: linear-gradient(135deg, #64748b, #94a3b8);
  color: #ffffff;
  padding: 13px 10px;
  border-radius: 14px;
  font-weight: 800;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease, filter .18s ease;
}
.segment-button:hover,
.segment-button:focus-visible,
.segment-button:active {
  color: #ffffff;
  filter: brightness(1.03);
  outline: none;
}
.segment-button.is-active {
  color: #ffffff;
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.14);
  transform: translateY(-1px);
}
.stack-list { display: grid; gap: 10px; }
.stack-card,
.collector-card {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 16px;
  padding: 15px 16px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.stack-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.stack-card p,
.collector-card p { margin: 4px 0 0; }
.stack-card strong:last-child { color: #12344d; }

.inline-form { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.btn-sm { padding: 10px 14px; border-radius: 12px; font-size: 13px; box-shadow: none; }
.btn-outline { background: #fff; color: #12344d; border: 1px solid #dbe4ee; }
.lock-banner {
  display: grid;
  gap: 8px;
  background: linear-gradient(180deg, #fff8e8 0%, #fffdf7 100%);
  border: 1px solid #f4ddb1;
  border-radius: 18px;
  padding: 16px 18px;
  color: #8a5a00;
}
.lock-banner strong { color: #7a4f00; font-size: 16px; }
.status-inline-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.closure-status-card { display: grid; gap: 12px; }
.closure-stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.closure-stats-grid > div {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.closure-stats-grid span { display: block; color: #6b7b8d; font-size: 13px; margin-bottom: 6px; }
.closure-stats-grid strong { color: #12344d; font-size: 22px; line-height: 1.1; overflow-wrap: anywhere; }
.clients-grid { display: grid; gap: 12px; }
.client-card-top { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.client-card-top h3 { margin: 0 0 6px; }
.client-card-top p { margin: 0; color: #6b7b8d; }
.client-finance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.client-finance-grid > div { background: #f8fafc; border: 1px solid #e8edf3; border-radius: 14px; padding: 12px; }
.client-finance-grid span { display: block; color: #6b7b8d; font-size: 12px; margin-bottom: 6px; }
.client-finance-grid strong { color: #12344d; font-size: 15px; }
.empty-state {
  text-align: center;
  color: #7b8b9d;
  padding: 28px 12px;
}
.section-block { display: grid; gap: 12px; }
.section-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.section-block-head h2 { margin: 0; font-size: 22px; }
.section-block-head a {
  color: #1d4ed8;
  font-weight: 700;
  font-size: 14px;
}
.collector-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.collector-total {
  font-size: 18px;
  font-weight: 800;
  color: #0f62fe !important;
}
.collector-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.collector-stats > div {
  background: #f8fafc;
  border: 1px solid #e5ebf2;
  border-radius: 12px;
  padding: 10px 12px;
}
.collector-stats span { display: block; font-size: 12px; margin-bottom: 5px; }
.collector-stats strong { font-size: 15px; }
.supervisor-grid .summary-tile strong { font-size: clamp(20px, 4.6vw, 30px); }
.supervisor-grid .metric-value {
  font-size: clamp(17px, 4.2vw, 26px);
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 1100px) {
  .is-mobile-module .content { padding: 12px 12px 24px; }
}

@media (max-width: 720px) {
  .focus-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .focus-card strong { white-space: normal; }
  .panel-grid-2,
  .panel-grid-3,
  .form-grid-2,
  .result-metrics { grid-template-columns: 1fr; }
}


/* ===== Rediseño iconográfico claro para PWA supervisor/cobrador ===== */
.icon-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.icon-summary-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  min-height: 110px;
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.icon-summary-card {
  min-width: 0;
}
.metric-icon-badge {
  width: 58px;
  height: 58px;
  min-width: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8fafc;
  border: 1px solid #edf1f5;
}
.metric-icon-badge img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}
.metric-label {
  display: block;
  font-size: 13px;
  color: #66778a;
  margin-bottom: 6px;
}
.metric-value {
  display: block;
  font-size: clamp(19px, 4.2vw, 28px);
  line-height: 1.1;
  color: #12344d;
}
.card-base .metric-icon-badge { background: #f1f5f9; }
.card-collect .metric-icon-badge { background: #edf8ee; }
.card-loan .metric-icon-badge { background: #eff6ff; }
.card-expense .metric-icon-badge { background: #fff3eb; }
.card-base .metric-value { color: #0f172a; }
.card-collect .metric-value { color: #16a34a; }
.card-loan .metric-value { color: #2563eb; }
.card-expense .metric-value { color: #ea580c; }

.focus-card-soft {
  background: #fff;
  border-radius: 20px;
  border: 1px solid #e1e8ef;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  padding: 16px 18px;
}
.is-mobile-module .focus-card-soft {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
}
.focus-card-icon {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf1f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.focus-card-icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.focus-card-content { display: grid; gap: 3px; }
.focus-overline {
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6b7b8d;
}
.focus-card-soft h2 {
  margin: 0;
  font-size: clamp(21px, 4.3vw, 30px);
  color: #12344d;
}
.focus-helper {
  font-size: 13px;
  line-height: 1.35;
  color: #6b7b8d;
}
.focus-card-soft strong {
  font-size: clamp(24px, 5.6vw, 40px);
  color: #12344d;
}
.focus-card-cash {
  background: linear-gradient(180deg, #ffffff 0%, #f0faf2 100%);
  border-color: #cfead4;
}
.focus-card-cash .focus-card-icon { background: #edf8ee; }
.focus-card-cash strong,
.focus-card-cash h2 { color: #15803d; }
.focus-card-paper {
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fb 100%);
  border-color: #dde4ec;
}
.focus-card-paper .focus-card-icon { background: #f7f8fb; }
.focus-card-paper strong,
.focus-card-paper h2 { color: #334155; }

.icon-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.icon-action-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 1px solid #e1e8ef;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.icon-action-card strong {
  display: block;
  color: #12344d;
  font-size: 18px;
  margin-bottom: 4px;
}
.icon-action-card span {
  color: #6b7b8d;
  font-size: 13px;
  line-height: 1.3;
}
.icon-action-figure {
  width: 62px;
  height: 62px;
  min-width: 62px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf1f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-action-figure img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

@media (max-width: 720px) {
  .is-mobile-module .focus-card-soft {
    grid-template-columns: auto 1fr;
  }
  .focus-card-soft strong {
    grid-column: 1 / -1;
    padding-left: 4px;
  }
}

/* ===== Ajustes fase collector UI v4 ===== */
body.sidebar-open { overflow: hidden; }
.sidebar { overflow-y: auto; }
.sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}
.sidebar-head .sidebar-brand { margin-bottom: 0; }
.sidebar-close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  color: #334155;
  cursor: pointer;
}
.mobile-brand-copy {
  display: grid;
  gap: 2px;
}
.mobile-brand-copy span {
  font-size: 12px;
  color: #6b7b8d;
}
.sidebar-backdrop {
  background: rgba(15, 23, 42, 0.26);
  z-index: 60;
  visibility: hidden;
}
.sidebar-backdrop.is-visible {
  visibility: visible;
}
.is-mobile-module .sidebar { z-index: 90; }
.is-mobile-module .sidebar-link { position: relative; z-index: 6; pointer-events: auto; }

.is-mobile-module .sidebar-nav,
.is-mobile-module .sidebar-head,
.is-mobile-module .sidebar-pwa-card {
  position: relative;
  z-index: 2;
}
.is-mobile-module .menu-toggle,
.is-mobile-module .sidebar-close {
  -webkit-tap-highlight-color: transparent;
}
.is-mobile-module .sidebar-close {
  display: inline-flex;
}
.is-mobile-module .menu-toggle svg { pointer-events: none; }
.is-mobile-module .content-inner {
  gap: 14px;
}
.collector-greeting-card {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
  align-items: center;
  background: #ffffff;
  border: 1px solid #e3e8ee;
  border-radius: 22px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  padding: 16px 18px;
}
.collector-greeting-copy h2 {
  margin: 0 0 6px;
  color: #12344d;
  font-size: clamp(20px, 4.2vw, 30px);
}
.collector-greeting-copy span {
  color: #6b7b8d;
  line-height: 1.45;
  font-size: 14px;
}
.collector-greeting-eyebrow {
  margin: 0 0 8px;
  color: #0f62fe;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.collector-live-box {
  display: grid;
  gap: 6px;
  text-align: center;
  background: linear-gradient(180deg, #f7f9fc 0%, #eef5ff 100%);
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  padding: 14px 12px;
}
.collector-live-date {
  color: #6b7b8d;
  font-size: 13px;
  line-height: 1.35;
}
.collector-live-time {
  color: #12344d;
  font-size: clamp(22px, 5vw, 32px);
  line-height: 1;
}
.metric-card-center {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 0;
}
.metric-card-center > div:last-child {
  min-width: 0;
  width: 100%;
}
.metric-card-center .metric-label,
.metric-card-center .metric-value {
  text-align: center;
}
.metric-card-center .metric-value {
  font-size: clamp(18px, 4.6vw, 28px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.icon-summary-link {
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.icon-summary-link:hover,
.icon-summary-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.08);
  border-color: #cfd9e4;
}
.focus-card-link {
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.focus-card-link:hover,
.focus-card-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.08);
}
.is-disabled-card {
  opacity: .72;
  cursor: default;
}
.focus-card-center {
  justify-items: center;
  text-align: center;
}
.is-mobile-module .focus-card-center {
  grid-template-columns: 1fr;
  justify-items: center;
}
.focus-card-center .focus-card-content {
  text-align: center;
  justify-items: center;
}
.focus-card-center .focus-card-soft strong,
.focus-card-center strong {
  grid-column: auto;
  white-space: normal;
  text-align: center;
}
.segment-control-color {
  gap: 10px;
}
.segment-control-color .segment-button {
  --segment-bg: linear-gradient(135deg, #64748b, #94a3b8);
  background: var(--segment-bg) !important;
  color: #ffffff !important;
  border-radius: 14px;
  border: 0;
  opacity: .92;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}
.segment-control-color .segment-button:hover,
.segment-control-color .segment-button:focus-visible,
.segment-control-color .segment-button:active {
  background: var(--segment-bg) !important;
  color: #ffffff !important;
  filter: brightness(1.02);
}
.segment-button-success { --segment-bg: linear-gradient(135deg, #16a34a, #22c55e); }
.segment-button-primary { --segment-bg: linear-gradient(135deg, #2563eb, #3b82f6); }
.segment-button-warning { --segment-bg: linear-gradient(135deg, #f59e0b, #fbbf24); }
.segment-control-color .segment-button:not(.is-active) {
  opacity: 1;
}
.segment-control-color .segment-button.is-active,
.segment-control-color .segment-button.is-active:hover,
.segment-control-color .segment-button.is-active:focus-visible,
.segment-control-color .segment-button.is-active:active {
  opacity: 1;
  background: linear-gradient(135deg, #475569, #334155) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.16);
  filter: none;
}
.stack-card-status {
  align-items: center;
  gap: 14px;
}
.stack-main {
  min-width: 0;
  flex: 1;
}
.stack-side {
  display: grid;
  gap: 8px;
  justify-items: end;
  text-align: right;
}
.list-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
}
.list-badge-success,
.status-pill-success {
  background: #eaf8ee;
  color: #15803d;
  border: 1px solid #bfe7c6;
}
.list-badge-danger,
.status-pill-danger {
  background: #fff1f1;
  color: #dc2626;
  border: 1px solid #fecaca;
}
.list-badge-warning,
.status-pill-warning {
  background: #fff6e8;
  color: #d97706;
  border: 1px solid #fed7aa;
}
.list-badge-primary,
.status-pill-primary {
  background: #eef4ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.stack-card-success {
  border-color: #caebd2;
  background: linear-gradient(180deg, #ffffff 0%, #f4fcf6 100%);
}
.stack-card-danger {
  border-color: #f6d2d2;
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}
.stack-card-warning {
  border-color: #fde1b5;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf1 100%);
}
.result-card-light {
  background: #fff;
  border: 1px solid #e3e8ee;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.result-card-success {
  border-color: #caebd2;
  background: linear-gradient(180deg, #ffffff 0%, #f4fcf6 100%);
}
.result-card-danger {
  border-color: #f6d2d2;
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}
.result-metrics-light > div {
  background: #f8fafc;
  border: 1px solid #e4ebf2;
}
.status-pill {
  background: #eef2f7;
  color: #12344d;
  border: 1px solid #d9e2ec;
}
.mini-card-success {
  border-color: #caebd2;
  background: linear-gradient(180deg, #ffffff 0%, #f4fcf6 100%);
}
.mini-card-warning {
  border-color: #fde1b5;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf1 100%);
}
.mini-card-danger {
  border-color: #f6d2d2;
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}
.info-note {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px;
  color: #64748b;
}
@media (max-width: 720px) {
  .collector-greeting-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .collector-greeting-copy {
    justify-items: center;
  }
  .mobile-summary-grid,
  .icon-summary-grid,
  .icon-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stack-card-status {
    flex-direction: column;
    align-items: stretch;
  }
  .stack-side {
    justify-items: stretch;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .closure-stats-grid,
  .client-finance-grid { grid-template-columns: 1fr; }
  .client-card-top { flex-direction: column; }
}


.route-card-light {
  background: #fff;
  border: 1px solid #e3e8ee;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.panel-header-center {
  text-align: center;
  justify-items: center;
}
.route-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.route-kpis > div {
  background: #f8fafc;
  border: 1px solid #e4ebf2;
  border-radius: 16px;
  padding: 14px;
  text-align: center;
}
.route-kpis span {
  display: block;
  font-size: 13px;
  color: #6b7b8d;
  margin-bottom: 6px;
}
.route-kpis strong {
  font-size: 26px;
  color: #12344d;
}
.text-success { color: #15803d !important; }
.text-danger { color: #dc2626 !important; }
.route-list {
  display: grid;
  gap: 12px;
}
.route-item {
  background: #fff;
  border: 1px solid #e3e8ee;
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}
.route-item-success {
  border-color: #caebd2;
  background: linear-gradient(180deg, #ffffff 0%, #f4fcf6 100%);
}
.route-item-danger {
  border-color: #f6d2d2;
  background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%);
}
.route-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  cursor: pointer;
}
.route-item summary::-webkit-details-marker { display: none; }
.route-summary-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.route-summary-main span {
  color: #6b7b8d;
  font-size: 13px;
}
.route-summary-side {
  display: grid;
  gap: 8px;
  justify-items: end;
  text-align: right;
}
.route-item-body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}
.route-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 720px) {
  .route-kpis { grid-template-columns: 1fr; }
  .route-item summary {
    flex-direction: column;
    align-items: stretch;
  }
  .route-summary-side {
    justify-items: stretch;
    text-align: left;
  }
}


.owner-dashboard-shell {
  display: grid;
  gap: 18px;
}
.owner-hero {
  text-align: center;
  padding: 26px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.16), rgba(14, 165, 233, 0.16)), var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.owner-hero::before,
.owner-hero::after {
  content: '';
  position: absolute;
  border-radius: 999px;
  opacity: .25;
  pointer-events: none;
}
.owner-hero::before {
  width: 180px;
  height: 180px;
  background: rgba(34, 197, 94, 0.35);
  top: -70px;
  left: -50px;
  filter: blur(12px);
}
.owner-hero::after {
  width: 220px;
  height: 220px;
  background: rgba(14, 165, 233, 0.28);
  right: -70px;
  bottom: -90px;
  filter: blur(18px);
}
.owner-hero > * { position: relative; z-index: 1; }
.owner-hero-logo {
  width: 90px;
  margin: 0 auto 14px;
  padding: 10px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 22px rgba(2, 8, 23, 0.16);
}
.owner-eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  margin-bottom: 12px;
}
.owner-hero h2 {
  margin: 0 0 8px;
  font-size: clamp(30px, 4vw, 44px);
}
.owner-hero p {
  margin: 0 auto;
  max-width: 780px;
  color: var(--muted);
  line-height: 1.7;
}
.owner-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.owner-kpi-card {
  text-align: center;
  padding: 22px 18px;
  border-radius: 24px;
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  display: grid;
  gap: 12px;
  justify-items: center;
  transition: transform .22s ease, box-shadow .22s ease;
}
.owner-kpi-card:hover {
  transform: translateY(-2px);
}
.owner-kpi-icon {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
}
.owner-kpi-icon img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
.owner-kpi-card span {
  color: var(--muted);
  font-size: 14px;
}
.owner-kpi-card strong {
  font-size: clamp(22px, 2.4vw, 32px);
}
.owner-kpi-card.card-collect strong,
.owner-kpi-card.card-collect h3 { color: #22c55e; }
.owner-kpi-card.card-loan strong,
.owner-kpi-card.card-loan h3 { color: #60a5fa; }
.owner-kpi-card.card-paper strong,
.owner-kpi-card.card-paper h3 { color: #facc15; }
.owner-kpi-card.card-expense strong,
.owner-kpi-card.card-expense h3 { color: #fb923c; }
.owner-double-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.owner-focus-card,
.owner-info-card,
.owner-collector-card,
.owner-closure-card {
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 26px;
  padding: 24px;
}
.owner-focus-card {
  display: grid;
  gap: 18px;
  text-align: center;
  justify-items: center;
}
.owner-focus-card .owner-kpi-icon {
  width: 88px;
  height: 88px;
}
.owner-focus-card h3,
.owner-info-card h3,
.owner-collector-card h3,
.owner-closure-card h3 {
  margin: 0;
  font-size: 26px;
}
.owner-focus-card p,
.owner-info-card p,
.owner-collector-card p,
.owner-closure-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}
.owner-focus-card strong {
  font-size: clamp(28px, 3.2vw, 46px);
  color: #b8ffd5;
}
.owner-focus-card .metrics-list,
.owner-info-card .hierarchy-boxes {
  width: 100%;
}
.owner-section-title {
  text-align: center;
  display: grid;
  gap: 6px;
  margin-top: 6px;
}
.owner-section-title h2 {
  margin: 0;
  font-size: 30px;
}
.owner-section-title p {
  margin: 0;
  color: var(--muted);
}
.owner-collector-grid,
.owner-closure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.owner-collector-card,
.owner-closure-card {
  text-align: center;
  display: grid;
  gap: 14px;
  justify-items: center;
}
.owner-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.owner-collector-stats {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.owner-collector-stats article {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 20px;
  padding: 14px 12px;
  display: grid;
  gap: 8px;
}
.owner-collector-stats span {
  color: var(--muted);
  font-size: 13px;
}
.owner-total-deliver {
  width: 100%;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(14, 165, 233, 0.08));
  border: 1px solid rgba(34, 197, 94, .24);
}
.owner-total-deliver span {
  display: block;
  color: var(--muted);
  margin-bottom: 6px;
}
.owner-total-deliver strong {
  font-size: clamp(28px, 3vw, 40px);
  color: #b8ffd5;
}
.owner-closure-card .list-badge {
  margin-inline: auto;
}
.owner-closure-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.owner-empty {
  text-align: center;
  padding: 26px;
  color: var(--muted);
  background: rgba(255,255,255,.04);
  border: 1px dashed rgba(148,163,184,.18);
  border-radius: 22px;
}
@media (max-width: 1120px) {
  .owner-kpi-grid,
  .owner-collector-grid,
  .owner-closure-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .owner-double-grid,
  .owner-kpi-grid,
  .owner-collector-grid,
  .owner-closure-grid,
  .owner-collector-stats {
    grid-template-columns: 1fr;
  }
  .owner-focus-card strong,
  .owner-total-deliver strong {
    white-space: normal;
  }
}



.form-grid-3 { grid-template-columns: repeat(3, 1fr); }
.owner-hero-light {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.10), rgba(34, 197, 94, 0.10)), #ffffff;
}
.owner-kpi-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.owner-kpi-link { text-decoration: none; color: inherit; }
.owner-kpi-icon-sm {
  width: 64px;
  height: 64px;
  border-radius: 20px;
}
.owner-kpi-icon-sm img {
  width: 36px;
  height: 36px;
}
.owner-kpi-card.card-cash strong,
.owner-kpi-card.card-cash h3 { color: #0f766e; }
.owner-mini-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.owner-mini-stats-grid-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.owner-mini-stat,
.owner-filter-card,
.owner-detail-card,
.owner-history-card,
.owner-supervisor-card,
.owner-subcollector-card,
.owner-detail-hero {
  background: #ffffff;
  border: 1px solid #d7e1ee;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07);
  border-radius: 24px;
}
.owner-mini-stat {
  padding: 18px 16px;
  text-align: center;
  display: grid;
  gap: 8px;
}
.owner-mini-stat span {
  color: var(--muted);
  font-size: 14px;
}
.owner-mini-stat strong {
  font-size: clamp(20px, 2vw, 28px);
}
.owner-double-grid-soft {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.owner-focus-card-light strong {
  color: #17324a;
}
.owner-detail-shell,
.owner-detail-list {
  display: grid;
  gap: 16px;
}
.owner-back-link {
  display: inline-flex;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 700;
}
.owner-detail-hero {
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}
.owner-detail-hero h2 {
  margin: 0 0 6px;
  font-size: clamp(28px, 3.2vw, 40px);
}
.owner-detail-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}
.owner-detail-hero strong {
  font-size: clamp(26px, 3vw, 42px);
  color: #0f766e;
  white-space: nowrap;
}
.owner-detail-card,
.owner-supervisor-card,
.owner-history-card,
.owner-filter-card {
  padding: 22px;
}
.owner-history-card {
  display: grid;
  gap: 14px;
  color: inherit;
}
.owner-history-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.owner-detail-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.owner-detail-top-center {
  align-items: center;
}
.owner-detail-top strong {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
}
.owner-detail-top p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.owner-detail-metrics {
  display: grid;
  gap: 12px;
}
.owner-detail-metrics-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.owner-detail-metrics-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.owner-detail-metrics-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.owner-detail-metrics > div {
  background: #f8fafc;
  border: 1px solid #e3ebf5;
  border-radius: 18px;
  padding: 14px 12px;
  text-align: center;
  display: grid;
  gap: 6px;
}
.owner-detail-metrics span {
  color: var(--muted);
  font-size: 13px;
}
.owner-detail-metrics strong {
  font-size: 18px;
}
.owner-supervisor-total {
  font-size: 26px !important;
  color: #0f766e;
}
.owner-subcollector-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.owner-subcollector-card {
  padding: 18px;
  display: grid;
  gap: 12px;
  text-align: center;
}
.owner-subcollector-card > strong {
  font-size: 20px;
}
.owner-filter-grid button {
  align-self: end;
}
.theme-owner .owner-kpi-card,
.theme-owner .owner-focus-card,
.theme-owner .owner-info-card,
.theme-owner .owner-collector-card,
.theme-owner .owner-closure-card,
.theme-owner .owner-detail-card,
.theme-owner .owner-history-card,
.theme-owner .owner-supervisor-card,
.theme-owner .owner-subcollector-card,
.theme-owner .owner-mini-stat,
.theme-owner .owner-filter-card,
.theme-owner .owner-detail-hero {
  background: #ffffff;
  border-color: #d7e1ee;
}
.theme-owner .owner-chip {
  background: #eef4fb;
  color: #486074;
}
.theme-owner .owner-collector-stats article,
.theme-owner .metrics-list > div,
.theme-owner .owner-detail-metrics > div {
  background: #f8fafc;
  border-color: #e3ebf5;
}
.theme-owner .owner-total-deliver {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.14), rgba(14, 165, 233, 0.10));
  border-color: rgba(34, 197, 94, 0.22);
}
.theme-owner .owner-total-deliver strong,
.theme-owner .owner-focus-card strong,
.theme-owner .owner-kpi-card strong,
.theme-owner .owner-hero h2,
.theme-owner .owner-section-title h2,
.theme-owner .owner-collector-card h3,
.theme-owner .owner-closure-card h3,
.theme-owner .owner-focus-card h3,
.theme-owner .owner-info-card h3 {
  color: #17324a;
}
.theme-owner .owner-hero-logo {
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}
.theme-owner .owner-eyebrow {
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
}
.theme-owner .owner-empty {
  background: #ffffff;
  border-color: #d7e1ee;
}
@media (max-width: 1180px) {
  .owner-kpi-grid-five,
  .owner-mini-stats-grid,
  .owner-mini-stats-grid-5,
  .owner-history-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 920px) {
  .owner-detail-metrics-3,
  .owner-detail-metrics-4,
  .owner-subcollector-grid,
  .form-grid-3 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px) {
  .owner-detail-hero,
  .owner-detail-top,
  .owner-double-grid-soft,
  .owner-mini-stats-grid,
  .owner-mini-stats-grid-5,
  .owner-history-grid,
  .owner-kpi-grid-five {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .owner-detail-hero {
    align-items: flex-start;
  }
  .owner-detail-hero strong {
    white-space: normal;
  }
  .owner-detail-metrics-2 {
    grid-template-columns: 1fr;
  }
}

.theme-owner .owner-kpi-card.card-paper strong,
.theme-owner .owner-kpi-card.card-paper h3 { color: #ca8a04; }
.theme-owner .owner-kpi-card.card-expense strong,
.theme-owner .owner-kpi-card.card-expense h3 { color: #ea580c; }
.theme-owner .owner-kpi-card.card-loan strong,
.theme-owner .owner-kpi-card.card-loan h3 { color: #2563eb; }
.theme-owner .owner-kpi-card.card-collect strong,
.theme-owner .owner-kpi-card.card-collect h3 { color: #16a34a; }


.loan-preview-available { margin-bottom: 14px; }
.loan-preview-available > div { background: linear-gradient(180deg, #eef7ff 0%, #f8fbff 100%); border-color: #d7e6fb; }
.loan-preview-available strong { color: #0f62fe; }

/* ===== Ajustes fase v11 ===== */
.sidebar-logo,
.mobile-brand-logo {
  width: var(--brand-logo-width, 60px);
  height: var(--brand-logo-height, 60px);
  object-fit: contain;
}

body.theme-owner {
  background: linear-gradient(180deg, #edf3f8 0%, #f5f8fc 100%);
}
.theme-owner .content {
  padding: 20px;
}
.theme-owner .sidebar {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 88px;
  box-sizing: border-box;
  background: linear-gradient(180deg, #0f2740 0%, #13385a 55%, #0f2740 100%);
}
.theme-owner .sidebar-nav {
  padding-bottom: 22px;
}
.theme-owner .sidebar::before,
.theme-owner .sidebar::after {
  content: '';
  position: absolute;
  inset: auto -20% -10% auto;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(34,197,94,0.18) 0%, rgba(34,197,94,0) 70%);
  animation: ownerFloat 14s linear infinite;
  pointer-events: none;
}
.theme-owner .sidebar::after {
  inset: 8% auto auto -18%;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(59,130,246,0.20) 0%, rgba(59,130,246,0) 70%);
  animation-duration: 18s;
}
@keyframes ownerFloat {
  0% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(10px,-18px,0) scale(1.08); }
  100% { transform: translate3d(0,0,0) scale(1); }
}
.theme-owner .sidebar-brand strong,
.theme-owner .sidebar-brand span,
.theme-owner .sidebar-link,
.theme-owner .sidebar-pwa-card h4,
.theme-owner .sidebar-pwa-card p,
.theme-owner .danger-link {
  color: #f8fbff;
}
.theme-owner .sidebar-link { border-color: rgba(255,255,255,0.08); background: rgba(255,255,255,0.04); }
.theme-owner .sidebar-link:hover,
.theme-owner .sidebar-link.is-active,
.theme-owner .danger-link:hover { background: rgba(255,255,255,0.12); color: #ffffff; }
.theme-owner .icon-wrap { color: #d6e7f6; }
.theme-owner .sidebar-pwa-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.09); }

.owner-dashboard-shell-compact,
.owner-dashboard-compact .owner-dashboard-shell {
  max-width: 1180px;
  margin: 0 auto;
}
.owner-dashboard-compact .owner-hero {
  padding: 24px 26px;
}
.owner-hero-compact h2 { font-size: 30px; }
.owner-dashboard-compact .owner-kpi-card {
  padding: 16px;
  min-height: 132px;
}
.owner-kpi-grid-compact { gap: 14px; }
.owner-kpi-card-compact span { font-size: 13px; }
.owner-kpi-card-compact strong { font-size: 23px; }
.owner-kpi-icon-compact {
  width: 52px;
  height: 52px;
  min-width: 52px;
}
.owner-kpi-icon-compact img { width: 34px; height: 34px; }
.owner-section-title-compact { margin-top: 4px; }
.owner-collapsible-grid {
  display: grid;
  gap: 14px;
}
.owner-collapsible-card {
  background: #ffffff;
  border: 1px solid #dbe6f0;
  border-radius: 22px;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.owner-collapsible-card summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
}
.owner-collapsible-card summary::-webkit-details-marker { display: none; }
.owner-collapsible-card summary strong { display: block; color: #12344d; font-size: 18px; }
.owner-collapsible-card summary span { color: #6b7b8d; font-size: 13px; }
.owner-collapsible-card summary b { color: #0f766e; font-size: 18px; }
.owner-collapsible-body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}
.owner-detail-card-compact { padding: 16px; }
.owner-detail-card-compact .owner-detail-metrics > div { padding: 12px; }
.owner-search-card { background: #ffffff; }
.owner-client-card { background: #ffffff; }
.owner-client-finance-grid { grid-template-columns: repeat(3, 1fr); }
.owner-settings-grid .panel-card,
.owner-user-card {
  background: #ffffff;
  border: 1px solid #dbe6f0;
}
.owner-logo-preview-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 140px;
  margin-bottom: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, #f7fafc 0%, #edf4fb 100%);
  border: 1px dashed #d4deea;
}
.owner-user-grid {
  display: grid;
  gap: 16px;
}
.owner-user-card {
  padding: 18px;
  border-radius: 22px;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.05);
}
.owner-user-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.owner-user-head strong { color: #12344d; font-size: 18px; }
.owner-user-head p { margin: 4px 0 0; color: #6b7b8d; }
.owner-user-avatar,
.owner-user-avatar-placeholder {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  object-fit: cover;
  border: 1px solid #dde6f0;
  background: #eef5ff;
}
.owner-user-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0f62fe;
  font-weight: 800;
  font-size: 24px;
}
.owner-delete-form { margin-top: 10px; }
.owner-user-actions { display: flex; justify-content: flex-start; }

.renewal-grid {
  display: grid;
  gap: 16px;
}
.renewal-card {
  background: #ffffff;
  border: 1px solid #dde6ef;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}
.renewal-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.renewal-top strong { color: #12344d; font-size: 18px; }
.renewal-top p { margin: 4px 0 0; color: #6b7b8d; }
.renewal-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.renewal-metrics > div,
.renewal-option-card {
  background: #f8fafc;
  border: 1px solid #e5edf4;
  border-radius: 16px;
  padding: 12px;
}
.renewal-metrics span { display: block; color: #6b7b8d; font-size: 12px; margin-bottom: 6px; }
.renewal-metrics strong { color: #12344d; font-size: 16px; }
.renewal-options-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.renewal-option-card h3 { margin: 0 0 6px; color: #12344d; }
.renewal-option-card p { margin: 0 0 12px; color: #6b7b8d; line-height: 1.45; }
.renewal-option-card-soft { background: #f6fbff; }

.is-mobile-module .segment-control-color .segment-button.segment-button-success:not(.is-active),
.is-mobile-module .segment-control-color .segment-button.segment-button-success:not(.is-active):hover,
.is-mobile-module .segment-control-color .segment-button.segment-button-success:not(.is-active):focus-visible,
.is-mobile-module .segment-control-color .segment-button.segment-button-success:not(.is-active):active {
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  color: #ffffff !important;
}
.is-mobile-module .segment-control-color .segment-button.segment-button-primary:not(.is-active),
.is-mobile-module .segment-control-color .segment-button.segment-button-primary:not(.is-active):hover,
.is-mobile-module .segment-control-color .segment-button.segment-button-primary:not(.is-active):focus-visible,
.is-mobile-module .segment-control-color .segment-button.segment-button-primary:not(.is-active):active {
  background: linear-gradient(135deg, #2563eb, #3b82f6) !important;
  color: #ffffff !important;
}
.is-mobile-module .segment-control-color .segment-button.segment-button-warning:not(.is-active),
.is-mobile-module .segment-control-color .segment-button.segment-button-warning:not(.is-active):hover,
.is-mobile-module .segment-control-color .segment-button.segment-button-warning:not(.is-active):focus-visible,
.is-mobile-module .segment-control-color .segment-button.segment-button-warning:not(.is-active):active {
  background: linear-gradient(135deg, #f59e0b, #fbbf24) !important;
  color: #ffffff !important;
}
.is-mobile-module .segment-control-color .segment-button.is-active,
.is-mobile-module .segment-control-color .segment-button.is-active:hover,
.is-mobile-module .segment-control-color .segment-button.is-active:focus-visible,
.is-mobile-module .segment-control-color .segment-button.is-active:active {
  background: linear-gradient(135deg, #475569, #334155) !important;
  color: #ffffff !important;
}

@media (max-width: 980px) {
  .renewal-metrics,
  .renewal-options-grid,
  .owner-client-finance-grid,
  .owner-kpi-grid-five {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px) {
  .renewal-metrics,
  .renewal-options-grid,
  .owner-client-finance-grid,
  .owner-kpi-grid-five {
    grid-template-columns: 1fr;
  }
  .owner-collapsible-card summary,
  .renewal-top {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ===== Ajuste visual v12: mejor contraste en panel del dueño ===== */
.theme-owner .flash {
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}
.theme-owner .flash-success {
  background: linear-gradient(180deg, #ecfdf3 0%, #f6fff9 100%);
  border: 1px solid #a7f3c1;
  color: #166534;
}
.theme-owner .flash-error {
  background: linear-gradient(180deg, #fff1f2 0%, #fff7f7 100%);
  border: 1px solid #fecdd3;
  color: #b42318;
}
.theme-owner .flash-success strong,
.theme-owner .flash-error strong {
  color: inherit;
}
.theme-owner .empty-box {
  background: linear-gradient(180deg, #f8fbff 0%, #f3f7fb 100%);
  border: 1px dashed #cdd9e6;
  color: #4f657a;
}
.theme-owner .lock-banner {
  background: linear-gradient(180deg, #fff8e8 0%, #fffdf5 100%);
  border: 1px solid #ead49a;
  color: #7a4f00;
}
.theme-owner .lock-banner strong,
.theme-owner .lock-banner span {
  color: #7a4f00;
}
.theme-owner .status-pill {
  color: #14532d;
}
.theme-owner .status-pill-danger {
  background: #fee2e2;
  color: #b91c1c;
}
.theme-owner .status-pill-warning {
  background: #fef3c7;
  color: #92400e;
}
.theme-owner .status-pill-info {
  background: #dbeafe;
  color: #1d4ed8;
}


/* ===== Ajustes v16: paneles completos y responsive ===== */
.topbar-actions { display:flex; align-items:center; }
.user-photo-chip {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  object-fit: cover;
  border: 1px solid #d8e3ee;
  background: #eef5ff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.owner-detail-metrics > div strong,
.client-finance-grid strong { overflow-wrap:anywhere; }
.theme-owner .client-finance-grid > div {
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
  border: 1px solid #dde8f2;
}
.theme-owner .status-pill-danger { background: #fff1f1; color: #c0392b; }
.theme-owner .status-pill-success { background: #eefbf1; color: #1d7a38; }

.list-badge-finalized,
.status-pill-finalized {
  background: #fde68a !important;
  color: #111827 !important;
  border-color: rgba(17,24,39,.18) !important;
}
.theme-owner .status-pill-neutral { background: #f4f6fb; color: #425466; }
.owner-mobile-compact .content { max-width: 100%; }

@media (max-width: 900px) {
  body.theme-owner .bg-orb,
  body.theme-owner .bg-grid { display:none; }
  body.theme-owner { background: #eef3f9; }
  .theme-owner .content { padding: 12px; }
  .theme-owner .topbar {
    background: #ffffff;
    border: 1px solid #d9e4ee;
    border-radius: 22px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    align-items: center;
    margin-bottom: 14px;
  }
  .theme-owner .topbar h1 { font-size: 22px; line-height: 1.08; margin:0 0 6px; }
  .theme-owner .topbar p { font-size: 15px; line-height: 1.25; }
  .theme-owner .user-photo-chip { width: 76px; height: 76px; border-radius: 22px; }
  .theme-owner .user-chip { width: 56px; height: 56px; }
  .theme-owner .owner-hero { padding: 18px; }
  .theme-owner .owner-hero h2 { font-size: 24px; }
  .theme-owner .owner-dashboard-shell,
  .owner-dashboard-shell-compact,
  .owner-dashboard-compact .owner-dashboard-shell { max-width: 100%; }
  .theme-owner .owner-kpi-grid-five,
  .theme-owner .owner-client-finance-grid,
  .theme-owner .owner-detail-metrics-2,
  .theme-owner .owner-detail-metrics-3,
  .theme-owner .owner-detail-metrics-4,
  .theme-owner .owner-subcollector-grid,
  .theme-owner .owner-double-grid-soft,
  .theme-owner .panel-grid-2,
  .theme-owner .panel-grid-3 { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .collector-stats,
  .closure-stats-grid,
  .mobile-summary-grid,
  .icon-summary-grid,
  .action-pills,
  .form-grid-2 { grid-template-columns: 1fr; }
  .collector-card,
  .stack-card,
  .owner-client-card,
  .panel-card { padding: 16px; }
  .collector-card-top,
  .client-card-top,
  .owner-detail-top,
  .renewal-top,
  .topbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .theme-owner .topbar { gap: 12px; }
}


/* ===== Ajustes v18: móvil dueño, resumen supervisor y detalle de cuotas ===== */
.owner-mobile-appbar {
  display: none;
}
.stack-card-link {
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stack-card-link:hover,
.stack-card-link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
  border-color: #c9d7e5;
  outline: none;
}
.client-detail-shell {
  display: grid;
  gap: 18px;
}
.client-detail-metrics-grid > div strong {
  overflow-wrap: anywhere;
}
.client-payment-note {
  margin: 0;
}
.client-payment-note-warning {
  background: #fff8e8;
  color: #8a5a00;
  border: 1px solid #f2d48d;
}
.client-payment-note-success {
  background: #eefbf1;
  color: #1d7a38;
  border: 1px solid #bfe7c6;
}
.supervisor-grid .icon-summary-card {
  align-items: flex-start;
  min-height: 118px;
}
.supervisor-grid .icon-summary-card > div:last-child {
  min-width: 0;
  flex: 1;
}
.supervisor-grid .metric-label {
  line-height: 1.22;
  min-height: 2.45em;
  overflow-wrap: anywhere;
}
.supervisor-grid .metric-value {
  font-size: clamp(17px, 4.8vw, 27px);
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .theme-owner .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(320px, 84vw);
    transform: translateX(-100%);
    transition: transform .25s ease;
    z-index: 90;
    height: 100vh;
  }
  .theme-owner .sidebar.is-open {
    transform: translateX(0);
  }
  .theme-owner .sidebar-head,
  .theme-owner .sidebar-nav,
  .theme-owner .sidebar-pwa-card {
    position: relative;
    z-index: 2;
  }
  .theme-owner .sidebar-close,
  .owner-mobile-appbar {
    display: flex;
  }
  .theme-owner .topbar {
    display: none;
  }
  .owner-mobile-appbar {
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid #d9e4ee;
    border-radius: 22px;
    padding: 12px 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    margin-bottom: 14px;
  }
  .owner-mobile-appbar .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid #d7e1ee;
    background: #ffffff;
    color: #17324a;
    flex: 0 0 auto;
  }
  .owner-mobile-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
  }
  .owner-mobile-brand-logo {
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 auto;
  }
  .owner-mobile-brand strong {
    display: block;
    color: #17324a;
    font-size: 19px;
    line-height: 1.08;
  }
  .owner-mobile-brand span {
    display: block;
    color: #62778d;
    font-size: 13px;
    line-height: 1.2;
    margin-top: 3px;
  }
  .owner-mobile-photo,
  .owner-mobile-fallback {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    object-fit: cover;
    flex: 0 0 auto;
    border: 1px solid #d8e3ee;
    background: #eef5ff;
  }
  .theme-owner .content {
    padding: 12px;
  }
  .theme-owner .content-inner {
    max-width: 100%;
    gap: 14px;
  }
  .theme-owner .owner-hero {
    padding: 18px;
    border-radius: 22px;
  }
  .theme-owner .owner-eyebrow {
    margin-bottom: 10px;
  }
  .theme-owner .owner-hero h2 {
    font-size: 24px;
    line-height: 1.15;
  }
  .theme-owner .owner-hero p,
  .theme-owner .owner-section-title p {
    font-size: 14px;
    line-height: 1.55;
  }
  .theme-owner .owner-kpi-card {
    min-width: 0;
    min-height: 118px;
  }
  .theme-owner .owner-kpi-card strong,
  .theme-owner .owner-total-deliver strong,
  .theme-owner .owner-detail-metrics strong {
    overflow-wrap: anywhere;
  }
}
@media (max-width: 640px) {
  .supervisor-grid {
    grid-template-columns: 1fr;
  }
  .supervisor-grid .metric-label {
    min-height: 0;
  }
}


/* ===== Ajuste v20: tarjetas del resumen en 2 columnas y contenido centrado en móvil ===== */
.mobile-summary-grid.icon-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
.icon-summary-card.metric-card-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 150px;
}
.icon-summary-card.metric-card-center > div:last-child {
  width: 100%;
}
.icon-summary-card.metric-card-center .metric-label {
  display: block;
  min-height: 34px;
  line-height: 1.2;
  text-align: center;
}
.icon-summary-card.metric-card-center .metric-value {
  display: block;
  width: 100%;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.icon-summary-link {
  cursor: pointer;
}

@media (max-width: 900px) {
  .mobile-summary-grid.icon-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .icon-summary-card.metric-card-center {
    padding: 16px 12px;
    min-height: 154px;
  }
}

@media (max-width: 520px) {
  .mobile-summary-grid.icon-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }
  .icon-summary-card.metric-card-center {
    padding: 14px 10px;
    min-height: 146px;
    gap: 8px;
  }
  .metric-icon-badge {
    width: 54px;
    height: 54px;
    min-width: 54px;
  }
  .metric-icon-badge img {
    width: 34px;
    height: 34px;
  }
  .icon-summary-card.metric-card-center .metric-label {
    min-height: 32px;
    font-size: 12px;
  }
  .icon-summary-card.metric-card-center .metric-value {
    font-size: clamp(16px, 5.4vw, 24px);
  }
}

.owner-route-summary-card,
.owner-client-toggle,
.owner-client-payment-box {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}

.owner-client-toggle,
.owner-client-payment-box {
  margin-top: 0.85rem;
}

.owner-client-toggle > summary,
.owner-client-payment-box > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.1rem;
  font-weight: 700;
}

.owner-client-toggle > summary::-webkit-details-marker,
.owner-client-payment-box > summary::-webkit-details-marker {
  display: none;
}

.owner-client-toggle > summary span,
.owner-client-payment-box > summary {
  color: #64748b;
  font-weight: 600;
}

.owner-client-toggle-body {
  padding: 0 1rem 1rem;
}

.owner-route-clients {
  display: grid;
  gap: 0.9rem;
}

.owner-clients-collapsible-grid {
  display: grid;
  gap: 1rem;
}

.owner-client-toggle-large > summary {
  background: rgba(248, 250, 252, 0.9);
}

.owner-client-toggle-large > .owner-collapsible-body {
  padding: 1rem;
}


.text-primary { color: #2563eb !important; }
.result-card-primary {
  border-color: #bfd7ff;
  background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}
.stack-card-primary {
  border-color: #cfe1ff;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}
.btn-danger {
  background: #c0392b;
  color: #fff;
  border: 1px solid #c0392b;
}
.btn-danger:hover { filter: brightness(.96); }

.owner-summary-status {
  display: grid;
  gap: .4rem;
  justify-items: end;
  text-align: right;
}
.owner-client-toggle-success {
  border-color: #caebd2;
  background: linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(244,252,246,.9) 100%);
}
.owner-client-toggle-primary {
  border-color: #cfe1ff;
  background: linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(244,249,255,.92) 100%);
}
.owner-client-toggle-danger {
  border-color: #f6d2d2;
  background: linear-gradient(180deg, rgba(255,255,255,.85) 0%, rgba(255,246,246,.92) 100%);
}

.owner-collapsible-card-sage { background: linear-gradient(180deg, #ffffff 0%, #f6fbf8 100%); border-color: #dbece1; }
.owner-collapsible-card-sky { background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%); border-color: #d8e7fa; }
.owner-collapsible-card-sand { background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%); border-color: #f2e5ce; }
.owner-collapsible-card-mint { background: linear-gradient(180deg, #ffffff 0%, #f4fffb 100%); border-color: #d3ece5; }
.owner-collapsible-card-lavender { background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%); border-color: #e4dcf7; }

.route-item-primary {
  border-color: #cfe1ff;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}
.route-item-tone-sage { background: linear-gradient(180deg, #ffffff 0%, #f6fbf8 100%); border-color: #dbece1; }
.route-item-tone-sky { background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%); border-color: #d8e7fa; }
.route-item-tone-sand { background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%); border-color: #f2e5ce; }
.route-item-tone-mint { background: linear-gradient(180deg, #ffffff 0%, #f4fffb 100%); border-color: #d3ece5; }
.route-item-tone-lavender { background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%); border-color: #e4dcf7; }

.route-sort-list {
  display: grid;
  gap: 12px;
}
.route-client-card[draggable="true"] summary {
  cursor: grab;
}
.route-client-card.is-dragging {
  opacity: .45;
  transform: scale(.99);
}
.route-order-form,
.route-place-form,
.inline-form {
  display: contents;
}
.route-place-form {
  margin-top: 10px;
}
.route-confirm-check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff9ea;
  border: 1px solid #f6df9c;
  color: #8a6112;
}
.route-confirm-check input {
  margin-top: 2px;
}
.owner-delete-loan-form {
  margin-top: 14px;
}
.renewal-card-success { border: 1px solid #caebd2; background: linear-gradient(180deg, #ffffff 0%, #f4fcf6 100%); }
.renewal-card-primary { border: 1px solid #cfe1ff; background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%); }
.renewal-card-danger { border: 1px solid #f6d2d2; background: linear-gradient(180deg, #ffffff 0%, #fff6f6 100%); }

@media (max-width: 720px) {
  .owner-summary-status {
    justify-items: start;
    text-align: left;
  }
}

.theme-owner .flash-warning { background: #fff8e8; border-color: #f5d89b; color: #8a6112; }

.owner-history-total {
  display: block;
  text-align: center;
  font-size: 1.35rem;
  color: #0f172a;
  margin-top: 4px;
  padding: 6px 10px;
  border-radius: 14px;
  background: linear-gradient(135deg, #eef4ff, #f5f9ff);
}
.owner-detail-card-collapsible {
  padding: 0;
}
.owner-detail-summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 16px 18px;
  cursor: pointer;
}
.owner-detail-summary::-webkit-details-marker { display: none; }
.owner-detail-summary p { margin: 4px 0 0; color: #64748b; }
.owner-collapsible-card-sage { background: linear-gradient(180deg, #ffffff 0%, #ebf8f1 100%); border-color: #cfe8d8; }
.owner-collapsible-card-sky { background: linear-gradient(180deg, #ffffff 0%, #ebf4ff 100%); border-color: #c8ddfb; }
.owner-collapsible-card-sand { background: linear-gradient(180deg, #ffffff 0%, #fff4e5 100%); border-color: #f1d7ae; }
.owner-collapsible-card-mint { background: linear-gradient(180deg, #ffffff 0%, #e9fff7 100%); border-color: #c3ecde; }
.owner-collapsible-card-lavender { background: linear-gradient(180deg, #ffffff 0%, #f1ebff 100%); border-color: #d8c9fb; }
.owner-client-toggle-success { border-color: #82d89b; background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(227,250,235,.98) 100%); }
.owner-client-toggle-primary { border-color: #93bafc; background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(229,240,255,.98) 100%); }
.owner-client-toggle-danger { border-color: #f0abab; background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,232,232,.98) 100%); }
.owner-route-clients .owner-client-alt-a > summary,
.route-client-alt-a > summary { background: rgba(114, 93, 196, 0.10); }
.owner-route-clients .owner-client-alt-b > summary,
.route-client-alt-b > summary { background: rgba(148, 163, 184, 0.14); }
.route-client-alt-a { border-color: rgba(114, 93, 196, 0.18); }
.route-client-alt-b { border-color: rgba(148, 163, 184, 0.22); }
.owner-history-card { text-decoration: none; }
.owner-history-card strong { text-align: center; }


.collector-clients-list {
  display: grid;
  gap: 14px;
}
.renewal-grid-collapsible {
  display: grid;
  gap: 14px;
}
.collector-client-card summary strong,
.renewal-toggle-card summary strong {
  font-size: 1rem;
}
.collector-client-card .route-item-body,
.renewal-toggle-card .route-item-body {
  display: grid;
  gap: 14px;
}
.result-card-danger,
.stack-card-danger,
.mini-card-danger,
.route-item-danger,
.renewal-card-danger,
.owner-client-toggle-danger {
  background: linear-gradient(180deg, #d7263d 0%, #b91c1c 100%) !important;
  border-color: #991b1b !important;
  color: #ffffff !important;
}
.result-card-danger h1,
.result-card-danger h2,
.result-card-danger h3,
.result-card-danger strong,
.result-card-danger p,
.result-card-danger span,
.stack-card-danger strong,
.stack-card-danger p,
.stack-card-danger span,
.mini-card-danger strong,
.mini-card-danger p,
.mini-card-danger span,
.route-item-danger strong,
.route-item-danger p,
.route-item-danger span,
.renewal-card-danger strong,
.renewal-card-danger p,
.renewal-card-danger span,
.owner-client-toggle-danger strong,
.owner-client-toggle-danger p,
.owner-client-toggle-danger span {
  color: inherit;
}
.result-card-danger .result-metrics-light > div,
.route-item-danger .client-finance-grid > div,
.renewal-card-danger .renewal-metrics > div,
.owner-client-toggle-danger .client-finance-grid > div,
.owner-client-toggle-danger .stack-card,
.route-item-danger .info-note,
.renewal-card-danger .info-note,
.result-card-danger .info-note {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}
.result-card-danger .status-pill-danger,
.route-item-danger .status-pill-danger,
.renewal-card-danger .status-pill-danger,
.owner-client-toggle-danger .status-pill-danger,
.route-item-danger .list-badge-danger,
.renewal-card-danger .list-badge-danger,
.owner-client-toggle-danger .list-badge-danger {
  background: rgba(255,255,255,0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.24) !important;
}
.result-card-danger .btn,
.route-item-danger .btn,
.renewal-card-danger .btn,
.owner-client-toggle-danger .btn {
  border-color: rgba(255,255,255,0.24);
}
.route-item-danger summary,
.owner-client-toggle-danger > summary {
  background: rgba(255,255,255,0.08) !important;
}
.result-card-success,
.stack-card-success,
.mini-card-success,
.route-item-success,
.renewal-card-success,
.owner-client-toggle-success {
  background: linear-gradient(180deg, #1fa44a 0%, #15803d 100%) !important;
  border-color: #166534 !important;
  color: #ffffff !important;
}
.result-card-primary,
.stack-card-primary,
.mini-card-primary,
.route-item-primary,
.renewal-card-primary,
.owner-client-toggle-primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
}
.result-card-success h1,
.result-card-success h2,
.result-card-success h3,
.result-card-success strong,
.result-card-success p,
.result-card-success span,
.stack-card-success strong,
.stack-card-success p,
.stack-card-success span,
.mini-card-success strong,
.mini-card-success p,
.mini-card-success span,
.route-item-success strong,
.route-item-success p,
.route-item-success span,
.renewal-card-success strong,
.renewal-card-success p,
.renewal-card-success span,
.owner-client-toggle-success strong,
.owner-client-toggle-success p,
.owner-client-toggle-success span,
.result-card-primary h1,
.result-card-primary h2,
.result-card-primary h3,
.result-card-primary strong,
.result-card-primary p,
.result-card-primary span,
.stack-card-primary strong,
.stack-card-primary p,
.stack-card-primary span,
.mini-card-primary strong,
.mini-card-primary p,
.mini-card-primary span,
.route-item-primary strong,
.route-item-primary p,
.route-item-primary span,
.renewal-card-primary strong,
.renewal-card-primary p,
.renewal-card-primary span,
.owner-client-toggle-primary strong,
.owner-client-toggle-primary p,
.owner-client-toggle-primary span {
  color: inherit;
}
.result-card-success .result-metrics-light > div,
.route-item-success .client-finance-grid > div,
.renewal-card-success .renewal-metrics > div,
.owner-client-toggle-success .client-finance-grid > div,
.owner-client-toggle-success .stack-card,
.route-item-success .info-note,
.renewal-card-success .info-note,
.result-card-success .info-note,
.result-card-primary .result-metrics-light > div,
.route-item-primary .client-finance-grid > div,
.renewal-card-primary .renewal-metrics > div,
.owner-client-toggle-primary .client-finance-grid > div,
.owner-client-toggle-primary .stack-card,
.route-item-primary .info-note,
.renewal-card-primary .info-note,
.result-card-primary .info-note {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}
.result-card-success .status-pill-success,
.route-item-success .status-pill-success,
.renewal-card-success .status-pill-success,
.owner-client-toggle-success .status-pill-success,
.route-item-success .list-badge-success,
.renewal-card-success .list-badge-success,
.owner-client-toggle-success .list-badge-success,
.result-card-primary .status-pill-primary,
.route-item-primary .status-pill-primary,
.renewal-card-primary .status-pill-primary,
.owner-client-toggle-primary .status-pill-primary,
.route-item-primary .list-badge-primary,
.renewal-card-primary .list-badge-primary,
.owner-client-toggle-primary .list-badge-primary {
  background: rgba(255,255,255,0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.24) !important;
}
.result-card-success .btn,
.route-item-success .btn,
.renewal-card-success .btn,
.owner-client-toggle-success .btn,
.result-card-primary .btn,
.route-item-primary .btn,
.renewal-card-primary .btn,
.owner-client-toggle-primary .btn {
  border-color: rgba(255,255,255,0.24);
}
.route-item-success summary,
.owner-client-toggle-success > summary,
.route-item-primary summary,
.owner-client-toggle-primary > summary {
  background: rgba(255,255,255,0.08) !important;
}

.result-card-danger b,
.stack-card-danger b,
.mini-card-danger b,
.route-item-danger b,
.renewal-card-danger b,
.owner-client-toggle-danger b,
.result-card-success b,
.stack-card-success b,
.mini-card-success b,
.route-item-success b,
.renewal-card-success b,
.owner-client-toggle-success b,
.result-card-primary b,
.stack-card-primary b,
.mini-card-primary b,
.route-item-primary b,
.renewal-card-primary b,
.owner-client-toggle-primary b {
  color: inherit !important;
}


/* === Contraste fuerte para tarjetas por estado (v23) === */
.route-item-danger > summary,
.route-item-danger > summary *,
.route-item-success > summary,
.route-item-success > summary *,
.route-item-primary > summary,
.route-item-primary > summary *,
.owner-client-toggle-danger > summary,
.owner-client-toggle-danger > summary *,
.owner-client-toggle-success > summary,
.owner-client-toggle-success > summary *,
.owner-client-toggle-primary > summary,
.owner-client-toggle-primary > summary *,
.result-card-danger,
.result-card-danger *,
.result-card-success,
.result-card-success *,
.result-card-primary,
.result-card-primary *,
.stack-card-danger,
.stack-card-danger *,
.stack-card-success,
.stack-card-success *,
.stack-card-primary,
.stack-card-primary *,
.renewal-card-danger,
.renewal-card-danger *,
.renewal-card-success,
.renewal-card-success *,
.renewal-card-primary,
.renewal-card-primary * {
  color: #ffffff !important;
}

.route-item-danger > summary .route-summary-main span,
.route-item-success > summary .route-summary-main span,
.route-item-primary > summary .route-summary-main span,
.owner-client-toggle-danger > summary span,
.owner-client-toggle-success > summary span,
.owner-client-toggle-primary > summary span,
.result-card-danger .muted,
.result-card-success .muted,
.result-card-primary .muted,
.stack-card-danger .muted,
.stack-card-success .muted,
.stack-card-primary .muted,
.renewal-card-danger .muted,
.renewal-card-success .muted,
.renewal-card-primary .muted {
  color: rgba(255,255,255,0.92) !important;
}

.route-item-danger > summary,
.route-item-success > summary,
.route-item-primary > summary,
.owner-client-toggle-danger > summary,
.owner-client-toggle-success > summary,
.owner-client-toggle-primary > summary {
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.route-item-danger .client-finance-grid > div span,
.route-item-success .client-finance-grid > div span,
.route-item-primary .client-finance-grid > div span,
.owner-client-toggle-danger .client-finance-grid > div span,
.owner-client-toggle-success .client-finance-grid > div span,
.owner-client-toggle-primary .client-finance-grid > div span,
.renewal-card-danger .renewal-metrics span,
.renewal-card-success .renewal-metrics span,
.renewal-card-primary .renewal-metrics span,
.result-card-danger .result-metrics-light span,
.result-card-success .result-metrics-light span,
.result-card-primary .result-metrics-light span {
  color: rgba(255,255,255,0.88) !important;
}

.route-item-danger .client-finance-grid strong,
.route-item-success .client-finance-grid strong,
.route-item-primary .client-finance-grid strong,
.owner-client-toggle-danger .client-finance-grid strong,
.owner-client-toggle-success .client-finance-grid strong,
.owner-client-toggle-primary .client-finance-grid strong,
.renewal-card-danger .renewal-metrics strong,
.renewal-card-success .renewal-metrics strong,
.renewal-card-primary .renewal-metrics strong,
.result-card-danger .result-metrics-light strong,
.result-card-success .result-metrics-light strong,
.result-card-primary .result-metrics-light strong {
  color: #ffffff !important;
}

.route-item-danger .info-note,
.route-item-success .info-note,
.route-item-primary .info-note,
.owner-client-toggle-danger .info-note,
.owner-client-toggle-success .info-note,
.owner-client-toggle-primary .info-note,
.renewal-card-danger .info-note,
.renewal-card-success .info-note,
.renewal-card-primary .info-note {
  color: #ffffff !important;
}

.route-item-danger .btn-outline,
.route-item-success .btn-outline,
.route-item-primary .btn-outline,
.owner-client-toggle-danger .btn-outline,
.owner-client-toggle-success .btn-outline,
.owner-client-toggle-primary .btn-outline,
.renewal-card-danger .btn-outline,
.renewal-card-success .btn-outline,
.renewal-card-primary .btn-outline {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.32) !important;
}

.route-item-danger .btn-outline:hover,
.route-item-success .btn-outline:hover,
.route-item-primary .btn-outline:hover,
.owner-client-toggle-danger .btn-outline:hover,
.owner-client-toggle-success .btn-outline:hover,
.owner-client-toggle-primary .btn-outline:hover,
.renewal-card-danger .btn-outline:hover,
.renewal-card-success .btn-outline:hover,
.renewal-card-primary .btn-outline:hover {
  background: rgba(255,255,255,0.12) !important;
}

/* === Auditoría de contraste global en tarjetas por estado (v24) === */
.route-item-danger,
.route-item-success,
.route-item-primary,
.owner-client-toggle-danger,
.owner-client-toggle-success,
.owner-client-toggle-primary,
.result-card-danger,
.result-card-success,
.result-card-primary,
.renewal-card-danger,
.renewal-card-success,
.renewal-card-primary,
.stack-card-danger,
.stack-card-success,
.stack-card-primary {
  color: #ffffff !important;
}

.route-item-danger h1,
.route-item-danger h2,
.route-item-danger h3,
.route-item-danger h4,
.route-item-danger p,
.route-item-danger span,
.route-item-danger strong,
.route-item-danger b,
.route-item-success h1,
.route-item-success h2,
.route-item-success h3,
.route-item-success h4,
.route-item-success p,
.route-item-success span,
.route-item-success strong,
.route-item-success b,
.route-item-primary h1,
.route-item-primary h2,
.route-item-primary h3,
.route-item-primary h4,
.route-item-primary p,
.route-item-primary span,
.route-item-primary strong,
.route-item-primary b,
.owner-client-toggle-danger h1,
.owner-client-toggle-danger h2,
.owner-client-toggle-danger h3,
.owner-client-toggle-danger h4,
.owner-client-toggle-danger p,
.owner-client-toggle-danger span,
.owner-client-toggle-danger strong,
.owner-client-toggle-danger b,
.owner-client-toggle-success h1,
.owner-client-toggle-success h2,
.owner-client-toggle-success h3,
.owner-client-toggle-success h4,
.owner-client-toggle-success p,
.owner-client-toggle-success span,
.owner-client-toggle-success strong,
.owner-client-toggle-success b,
.owner-client-toggle-primary h1,
.owner-client-toggle-primary h2,
.owner-client-toggle-primary h3,
.owner-client-toggle-primary h4,
.owner-client-toggle-primary p,
.owner-client-toggle-primary span,
.owner-client-toggle-primary strong,
.owner-client-toggle-primary b,
.result-card-danger h1,
.result-card-danger h2,
.result-card-danger h3,
.result-card-danger h4,
.result-card-danger p,
.result-card-danger span,
.result-card-danger strong,
.result-card-danger b,
.result-card-success h1,
.result-card-success h2,
.result-card-success h3,
.result-card-success h4,
.result-card-success p,
.result-card-success span,
.result-card-success strong,
.result-card-success b,
.result-card-primary h1,
.result-card-primary h2,
.result-card-primary h3,
.result-card-primary h4,
.result-card-primary p,
.result-card-primary span,
.result-card-primary strong,
.result-card-primary b,
.renewal-card-danger h1,
.renewal-card-danger h2,
.renewal-card-danger h3,
.renewal-card-danger h4,
.renewal-card-danger p,
.renewal-card-danger span,
.renewal-card-danger strong,
.renewal-card-danger b,
.renewal-card-success h1,
.renewal-card-success h2,
.renewal-card-success h3,
.renewal-card-success h4,
.renewal-card-success p,
.renewal-card-success span,
.renewal-card-success strong,
.renewal-card-success b,
.renewal-card-primary h1,
.renewal-card-primary h2,
.renewal-card-primary h3,
.renewal-card-primary h4,
.renewal-card-primary p,
.renewal-card-primary span,
.renewal-card-primary strong,
.renewal-card-primary b,
.stack-card-danger h1,
.stack-card-danger h2,
.stack-card-danger h3,
.stack-card-danger h4,
.stack-card-danger p,
.stack-card-danger span,
.stack-card-danger strong,
.stack-card-danger b,
.stack-card-success h1,
.stack-card-success h2,
.stack-card-success h3,
.stack-card-success h4,
.stack-card-success p,
.stack-card-success span,
.stack-card-success strong,
.stack-card-success b,
.stack-card-primary h1,
.stack-card-primary h2,
.stack-card-primary h3,
.stack-card-primary h4,
.stack-card-primary p,
.stack-card-primary span,
.stack-card-primary strong,
.stack-card-primary b {
  color: inherit !important;
}

.route-item-danger .route-summary-main span,
.route-item-success .route-summary-main span,
.route-item-primary .route-summary-main span,
.owner-client-toggle-danger > summary span,
.owner-client-toggle-success > summary span,
.owner-client-toggle-primary > summary span,
.result-card-danger .muted,
.result-card-success .muted,
.result-card-primary .muted,
.renewal-card-danger .muted,
.renewal-card-success .muted,
.renewal-card-primary .muted,
.stack-card-danger .muted,
.stack-card-success .muted,
.stack-card-primary .muted {
  color: rgba(255,255,255,0.92) !important;
}

.route-item-danger .client-finance-grid > div,
.route-item-success .client-finance-grid > div,
.route-item-primary .client-finance-grid > div,
.owner-client-toggle-danger .client-finance-grid > div,
.owner-client-toggle-success .client-finance-grid > div,
.owner-client-toggle-primary .client-finance-grid > div,
.owner-client-toggle-danger .owner-detail-metrics > div,
.owner-client-toggle-success .owner-detail-metrics > div,
.owner-client-toggle-primary .owner-detail-metrics > div,
.result-card-danger .result-metrics-light > div,
.result-card-success .result-metrics-light > div,
.result-card-primary .result-metrics-light > div,
.renewal-card-danger .renewal-metrics > div,
.renewal-card-success .renewal-metrics > div,
.renewal-card-primary .renewal-metrics > div,
.route-item-danger .info-note,
.route-item-success .info-note,
.route-item-primary .info-note,
.owner-client-toggle-danger .info-note,
.owner-client-toggle-success .info-note,
.owner-client-toggle-primary .info-note,
.result-card-danger .info-note,
.result-card-success .info-note,
.result-card-primary .info-note,
.renewal-card-danger .info-note,
.renewal-card-success .info-note,
.renewal-card-primary .info-note,
.owner-client-toggle-danger .owner-client-payment-box,
.owner-client-toggle-success .owner-client-payment-box,
.owner-client-toggle-primary .owner-client-payment-box,
.owner-client-toggle-danger .owner-client-payment-box > summary,
.owner-client-toggle-success .owner-client-payment-box > summary,
.owner-client-toggle-primary .owner-client-payment-box > summary,
.route-item-danger .route-place-form,
.route-item-success .route-place-form,
.route-item-primary .route-place-form {
  background: rgba(0,0,0,0.12) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.route-item-danger .client-finance-grid > div span,
.route-item-success .client-finance-grid > div span,
.route-item-primary .client-finance-grid > div span,
.owner-client-toggle-danger .client-finance-grid > div span,
.owner-client-toggle-success .client-finance-grid > div span,
.owner-client-toggle-primary .client-finance-grid > div span,
.owner-client-toggle-danger .owner-detail-metrics span,
.owner-client-toggle-success .owner-detail-metrics span,
.owner-client-toggle-primary .owner-detail-metrics span,
.result-card-danger .result-metrics-light span,
.result-card-success .result-metrics-light span,
.result-card-primary .result-metrics-light span,
.renewal-card-danger .renewal-metrics span,
.renewal-card-success .renewal-metrics span,
.renewal-card-primary .renewal-metrics span,
.route-item-danger .info-note,
.route-item-success .info-note,
.route-item-primary .info-note,
.owner-client-toggle-danger .info-note,
.owner-client-toggle-success .info-note,
.owner-client-toggle-primary .info-note,
.result-card-danger .info-note,
.result-card-success .info-note,
.result-card-primary .info-note,
.renewal-card-danger .info-note,
.renewal-card-success .info-note,
.renewal-card-primary .info-note,
.owner-client-toggle-danger .owner-client-payment-box > summary,
.owner-client-toggle-success .owner-client-payment-box > summary,
.owner-client-toggle-primary .owner-client-payment-box > summary {
  color: rgba(255,255,255,0.94) !important;
}

.route-item-danger .client-finance-grid > div strong,
.route-item-success .client-finance-grid > div strong,
.route-item-primary .client-finance-grid > div strong,
.owner-client-toggle-danger .client-finance-grid > div strong,
.owner-client-toggle-success .client-finance-grid > div strong,
.owner-client-toggle-primary .client-finance-grid > div strong,
.owner-client-toggle-danger .owner-detail-metrics strong,
.owner-client-toggle-success .owner-detail-metrics strong,
.owner-client-toggle-primary .owner-detail-metrics strong,
.result-card-danger .result-metrics-light strong,
.result-card-success .result-metrics-light strong,
.result-card-primary .result-metrics-light strong,
.renewal-card-danger .renewal-metrics strong,
.renewal-card-success .renewal-metrics strong,
.renewal-card-primary .renewal-metrics strong {
  color: #ffffff !important;
}

.route-item-danger .btn-outline,
.route-item-success .btn-outline,
.route-item-primary .btn-outline,
.owner-client-toggle-danger .btn-outline,
.owner-client-toggle-success .btn-outline,
.owner-client-toggle-primary .btn-outline,
.result-card-danger .btn-outline,
.result-card-success .btn-outline,
.result-card-primary .btn-outline,
.renewal-card-danger .btn-outline,
.renewal-card-success .btn-outline,
.renewal-card-primary .btn-outline {
  background: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.34) !important;
}

.route-item-danger .btn-outline:hover,
.route-item-success .btn-outline:hover,
.route-item-primary .btn-outline:hover,
.owner-client-toggle-danger .btn-outline:hover,
.owner-client-toggle-success .btn-outline:hover,
.owner-client-toggle-primary .btn-outline:hover,
.result-card-danger .btn-outline:hover,
.result-card-success .btn-outline:hover,
.result-card-primary .btn-outline:hover,
.renewal-card-danger .btn-outline:hover,
.renewal-card-success .btn-outline:hover,
.renewal-card-primary .btn-outline:hover {
  background: rgba(255,255,255,0.14) !important;
}

.route-item-danger input,
.route-item-success input,
.route-item-primary input,
.route-item-danger select,
.route-item-success select,
.route-item-primary select,
.result-card-danger input,
.result-card-success input,
.result-card-primary input,
.result-card-danger select,
.result-card-success select,
.result-card-primary select,
.renewal-card-danger input,
.renewal-card-success input,
.renewal-card-primary input,
.renewal-card-danger select,
.renewal-card-success select,
.renewal-card-primary select {
  background: rgba(255,255,255,0.96) !important;
  color: #12344d !important;
  border-color: rgba(255,255,255,0.28) !important;
}

.route-item-danger label > span,
.route-item-success label > span,
.route-item-primary label > span,
.result-card-danger label > span,
.result-card-success label > span,
.result-card-primary label > span,
.renewal-card-danger label > span,
.renewal-card-success label > span,
.renewal-card-primary label > span {
  color: #ffffff !important;
}

.owner-client-toggle-danger .stack-card-success,
.owner-client-toggle-success .stack-card-success,
.owner-client-toggle-primary .stack-card-success {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

.owner-client-toggle-danger .stack-card-success *,
.owner-client-toggle-success .stack-card-success *,
.owner-client-toggle-primary .stack-card-success * {
  color: #ffffff !important;
}

.owner-client-toggle-danger .list-badge,
.owner-client-toggle-success .list-badge,
.owner-client-toggle-primary .list-badge,
.route-item-danger .list-badge,
.route-item-success .list-badge,
.route-item-primary .list-badge,
.result-card-danger .list-badge,
.result-card-success .list-badge,
.result-card-primary .list-badge,
.renewal-card-danger .list-badge,
.renewal-card-success .list-badge,
.renewal-card-primary .list-badge,
.owner-client-toggle-danger .status-pill,
.owner-client-toggle-success .status-pill,
.owner-client-toggle-primary .status-pill,
.route-item-danger .status-pill,
.route-item-success .status-pill,
.route-item-primary .status-pill,
.result-card-danger .status-pill,
.result-card-success .status-pill,
.result-card-primary .status-pill,
.renewal-card-danger .status-pill,
.renewal-card-success .status-pill,
.renewal-card-primary .status-pill {
  background: rgba(255,255,255,0.16) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.24) !important;
}

/* ===== Auditoría final de contraste v22 ===== */
.loan-preview-available > div {
  background: linear-gradient(180deg, #dff7e7 0%, #c6f0d3 100%) !important;
  border: 1px solid #8fd0a3 !important;
}
.loan-preview-available > div span {
  color: #166534 !important;
}
.loan-preview-available > div strong {
  color: #14532d !important;
}

.collector-summary-accordion {
  display: grid;
  gap: 14px;
}
.collector-summary-card {
  background: #ffffff;
  border: 1px solid #d7e1ee;
  border-radius: 24px;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}
.collector-summary-card > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
}
.collector-summary-card > summary::-webkit-details-marker { display: none; }
.collector-summary-head strong {
  display: block;
  color: #12344d;
  font-size: 19px;
  margin-bottom: 4px;
}
.collector-summary-head span {
  color: #64748b;
  font-size: 13px;
}
.collector-summary-body {
  padding: 0 18px 18px;
  display: grid;
  gap: 12px;
}

.list-badge-critical,
.status-pill-critical {
  background: #fecaca;
  color: #7f1d1d;
  border: 1px solid #f87171;
}

.result-card-danger,
.stack-card-danger,
.mini-card-danger,
.route-item-danger,
.renewal-card-danger,
.owner-client-toggle-danger {
  background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
}

.result-card-critical,
.stack-card-critical,
.mini-card-critical,
.route-item-critical,
.renewal-card-critical,
.owner-client-toggle-critical {
  background: linear-gradient(180deg, #991b1b 0%, #7f1d1d 100%) !important;
  border-color: #661010 !important;
  color: #ffffff !important;
}

.result-card-success,
.stack-card-success,
.mini-card-success,
.route-item-success,
.renewal-card-success,
.owner-client-toggle-success {
  background: linear-gradient(180deg, #16a34a 0%, #15803d 100%) !important;
  border-color: #166534 !important;
  color: #ffffff !important;
}

.result-card-primary,
.stack-card-primary,
.mini-card-primary,
.route-item-primary,
.renewal-card-primary,
.owner-client-toggle-primary {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
}

.result-card-danger h1,
.result-card-danger h2,
.result-card-danger h3,
.result-card-danger h4,
.result-card-danger p,
.result-card-danger span,
.result-card-danger strong,
.result-card-danger b,
.result-card-danger small,
.result-card-critical h1,
.result-card-critical h2,
.result-card-critical h3,
.result-card-critical h4,
.result-card-critical p,
.result-card-critical span,
.result-card-critical strong,
.result-card-critical b,
.result-card-critical small,
.result-card-success h1,
.result-card-success h2,
.result-card-success h3,
.result-card-success h4,
.result-card-success p,
.result-card-success span,
.result-card-success strong,
.result-card-success b,
.result-card-success small,
.result-card-primary h1,
.result-card-primary h2,
.result-card-primary h3,
.result-card-primary h4,
.result-card-primary p,
.result-card-primary span,
.result-card-primary strong,
.result-card-primary b,
.result-card-primary small,
.stack-card-danger h1,
.stack-card-danger h2,
.stack-card-danger h3,
.stack-card-danger h4,
.stack-card-danger p,
.stack-card-danger span,
.stack-card-danger strong,
.stack-card-danger b,
.stack-card-danger small,
.stack-card-critical h1,
.stack-card-critical h2,
.stack-card-critical h3,
.stack-card-critical h4,
.stack-card-critical p,
.stack-card-critical span,
.stack-card-critical strong,
.stack-card-critical b,
.stack-card-critical small,
.stack-card-success h1,
.stack-card-success h2,
.stack-card-success h3,
.stack-card-success h4,
.stack-card-success p,
.stack-card-success span,
.stack-card-success strong,
.stack-card-success b,
.stack-card-success small,
.stack-card-primary h1,
.stack-card-primary h2,
.stack-card-primary h3,
.stack-card-primary h4,
.stack-card-primary p,
.stack-card-primary span,
.stack-card-primary strong,
.stack-card-primary b,
.stack-card-primary small,
.mini-card-danger h1,
.mini-card-danger h2,
.mini-card-danger h3,
.mini-card-danger h4,
.mini-card-danger p,
.mini-card-danger span,
.mini-card-danger strong,
.mini-card-danger b,
.mini-card-danger small,
.mini-card-critical h1,
.mini-card-critical h2,
.mini-card-critical h3,
.mini-card-critical h4,
.mini-card-critical p,
.mini-card-critical span,
.mini-card-critical strong,
.mini-card-critical b,
.mini-card-critical small,
.mini-card-success h1,
.mini-card-success h2,
.mini-card-success h3,
.mini-card-success h4,
.mini-card-success p,
.mini-card-success span,
.mini-card-success strong,
.mini-card-success b,
.mini-card-success small,
.mini-card-primary h1,
.mini-card-primary h2,
.mini-card-primary h3,
.mini-card-primary h4,
.mini-card-primary p,
.mini-card-primary span,
.mini-card-primary strong,
.mini-card-primary b,
.mini-card-primary small,
.route-item-danger h1,
.route-item-danger h2,
.route-item-danger h3,
.route-item-danger h4,
.route-item-danger p,
.route-item-danger span,
.route-item-danger strong,
.route-item-danger b,
.route-item-danger small,
.route-item-critical h1,
.route-item-critical h2,
.route-item-critical h3,
.route-item-critical h4,
.route-item-critical p,
.route-item-critical span,
.route-item-critical strong,
.route-item-critical b,
.route-item-critical small,
.route-item-success h1,
.route-item-success h2,
.route-item-success h3,
.route-item-success h4,
.route-item-success p,
.route-item-success span,
.route-item-success strong,
.route-item-success b,
.route-item-success small,
.route-item-primary h1,
.route-item-primary h2,
.route-item-primary h3,
.route-item-primary h4,
.route-item-primary p,
.route-item-primary span,
.route-item-primary strong,
.route-item-primary b,
.route-item-primary small,
.renewal-card-danger h1,
.renewal-card-danger h2,
.renewal-card-danger h3,
.renewal-card-danger h4,
.renewal-card-danger p,
.renewal-card-danger span,
.renewal-card-danger strong,
.renewal-card-danger b,
.renewal-card-danger small,
.renewal-card-critical h1,
.renewal-card-critical h2,
.renewal-card-critical h3,
.renewal-card-critical h4,
.renewal-card-critical p,
.renewal-card-critical span,
.renewal-card-critical strong,
.renewal-card-critical b,
.renewal-card-critical small,
.renewal-card-success h1,
.renewal-card-success h2,
.renewal-card-success h3,
.renewal-card-success h4,
.renewal-card-success p,
.renewal-card-success span,
.renewal-card-success strong,
.renewal-card-success b,
.renewal-card-success small,
.renewal-card-primary h1,
.renewal-card-primary h2,
.renewal-card-primary h3,
.renewal-card-primary h4,
.renewal-card-primary p,
.renewal-card-primary span,
.renewal-card-primary strong,
.renewal-card-primary b,
.renewal-card-primary small,
.owner-client-toggle-danger h1,
.owner-client-toggle-danger h2,
.owner-client-toggle-danger h3,
.owner-client-toggle-danger h4,
.owner-client-toggle-danger p,
.owner-client-toggle-danger span,
.owner-client-toggle-danger strong,
.owner-client-toggle-danger b,
.owner-client-toggle-danger small,
.owner-client-toggle-critical h1,
.owner-client-toggle-critical h2,
.owner-client-toggle-critical h3,
.owner-client-toggle-critical h4,
.owner-client-toggle-critical p,
.owner-client-toggle-critical span,
.owner-client-toggle-critical strong,
.owner-client-toggle-critical b,
.owner-client-toggle-critical small,
.owner-client-toggle-success h1,
.owner-client-toggle-success h2,
.owner-client-toggle-success h3,
.owner-client-toggle-success h4,
.owner-client-toggle-success p,
.owner-client-toggle-success span,
.owner-client-toggle-success strong,
.owner-client-toggle-success b,
.owner-client-toggle-success small,
.owner-client-toggle-primary h1,
.owner-client-toggle-primary h2,
.owner-client-toggle-primary h3,
.owner-client-toggle-primary h4,
.owner-client-toggle-primary p,
.owner-client-toggle-primary span,
.owner-client-toggle-primary strong,
.owner-client-toggle-primary b,
.owner-client-toggle-primary small {
  color: inherit !important;
}

.route-item-danger .route-summary-main span,
.route-item-critical .route-summary-main span,
.route-item-success .route-summary-main span,
.route-item-primary .route-summary-main span,
.owner-client-toggle-danger > summary span,
.owner-client-toggle-critical > summary span,
.owner-client-toggle-success > summary span,
.owner-client-toggle-primary > summary span,
.result-card-danger .muted,
.result-card-critical .muted,
.result-card-success .muted,
.result-card-primary .muted,
.renewal-card-danger .muted,
.renewal-card-critical .muted,
.renewal-card-success .muted,
.renewal-card-primary .muted,
.stack-card-danger .muted,
.stack-card-critical .muted,
.stack-card-success .muted,
.stack-card-primary .muted,
.mini-card-danger .muted,
.mini-card-critical .muted,
.mini-card-success .muted,
.mini-card-primary .muted {
  color: rgba(255,255,255,0.94) !important;
}

.route-item-danger .client-finance-grid > div,
.route-item-critical .client-finance-grid > div,
.route-item-success .client-finance-grid > div,
.route-item-primary .client-finance-grid > div,
.owner-client-toggle-danger .client-finance-grid > div,
.owner-client-toggle-critical .client-finance-grid > div,
.owner-client-toggle-success .client-finance-grid > div,
.owner-client-toggle-primary .client-finance-grid > div,
.owner-client-toggle-danger .owner-detail-metrics > div,
.owner-client-toggle-critical .owner-detail-metrics > div,
.owner-client-toggle-success .owner-detail-metrics > div,
.owner-client-toggle-primary .owner-detail-metrics > div,
.result-card-danger .result-metrics-light > div,
.result-card-critical .result-metrics-light > div,
.result-card-success .result-metrics-light > div,
.result-card-primary .result-metrics-light > div,
.renewal-card-danger .renewal-metrics > div,
.renewal-card-critical .renewal-metrics > div,
.renewal-card-success .renewal-metrics > div,
.renewal-card-primary .renewal-metrics > div,
.route-item-danger .info-note,
.route-item-critical .info-note,
.route-item-success .info-note,
.route-item-primary .info-note,
.owner-client-toggle-danger .info-note,
.owner-client-toggle-critical .info-note,
.owner-client-toggle-success .info-note,
.owner-client-toggle-primary .info-note,
.result-card-danger .info-note,
.result-card-critical .info-note,
.result-card-success .info-note,
.result-card-primary .info-note,
.renewal-card-danger .info-note,
.renewal-card-critical .info-note,
.renewal-card-success .info-note,
.renewal-card-primary .info-note,
.owner-client-toggle-danger .owner-client-payment-box,
.owner-client-toggle-critical .owner-client-payment-box,
.owner-client-toggle-success .owner-client-payment-box,
.owner-client-toggle-primary .owner-client-payment-box,
.owner-client-toggle-danger .owner-client-payment-box > summary,
.owner-client-toggle-critical .owner-client-payment-box > summary,
.owner-client-toggle-success .owner-client-payment-box > summary,
.owner-client-toggle-primary .owner-client-payment-box > summary,
.route-item-danger .route-place-form,
.route-item-critical .route-place-form,
.route-item-success .route-place-form,
.route-item-primary .route-place-form {
  background: rgba(0,0,0,0.14) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.route-item-danger .client-finance-grid > div span,
.route-item-critical .client-finance-grid > div span,
.route-item-success .client-finance-grid > div span,
.route-item-primary .client-finance-grid > div span,
.owner-client-toggle-danger .client-finance-grid > div span,
.owner-client-toggle-critical .client-finance-grid > div span,
.owner-client-toggle-success .client-finance-grid > div span,
.owner-client-toggle-primary .client-finance-grid > div span,
.owner-client-toggle-danger .owner-detail-metrics span,
.owner-client-toggle-critical .owner-detail-metrics span,
.owner-client-toggle-success .owner-detail-metrics span,
.owner-client-toggle-primary .owner-detail-metrics span,
.result-card-danger .result-metrics-light span,
.result-card-critical .result-metrics-light span,
.result-card-success .result-metrics-light span,
.result-card-primary .result-metrics-light span,
.renewal-card-danger .renewal-metrics span,
.renewal-card-critical .renewal-metrics span,
.renewal-card-success .renewal-metrics span,
.renewal-card-primary .renewal-metrics span,
.route-item-danger .info-note,
.route-item-critical .info-note,
.route-item-success .info-note,
.route-item-primary .info-note,
.owner-client-toggle-danger .info-note,
.owner-client-toggle-critical .info-note,
.owner-client-toggle-success .info-note,
.owner-client-toggle-primary .info-note,
.result-card-danger .info-note,
.result-card-critical .info-note,
.result-card-success .info-note,
.result-card-primary .info-note,
.renewal-card-danger .info-note,
.renewal-card-critical .info-note,
.renewal-card-success .info-note,
.renewal-card-primary .info-note,
.owner-client-toggle-danger .owner-client-payment-box > summary,
.owner-client-toggle-critical .owner-client-payment-box > summary,
.owner-client-toggle-success .owner-client-payment-box > summary,
.owner-client-toggle-primary .owner-client-payment-box > summary {
  color: rgba(255,255,255,0.94) !important;
}

.route-item-danger .client-finance-grid > div strong,
.route-item-critical .client-finance-grid > div strong,
.route-item-success .client-finance-grid > div strong,
.route-item-primary .client-finance-grid > div strong,
.owner-client-toggle-danger .client-finance-grid > div strong,
.owner-client-toggle-critical .client-finance-grid > div strong,
.owner-client-toggle-success .client-finance-grid > div strong,
.owner-client-toggle-primary .client-finance-grid > div strong,
.owner-client-toggle-danger .owner-detail-metrics strong,
.owner-client-toggle-critical .owner-detail-metrics strong,
.owner-client-toggle-success .owner-detail-metrics strong,
.owner-client-toggle-primary .owner-detail-metrics strong,
.result-card-danger .result-metrics-light strong,
.result-card-critical .result-metrics-light strong,
.result-card-success .result-metrics-light strong,
.result-card-primary .result-metrics-light strong,
.renewal-card-danger .renewal-metrics strong,
.renewal-card-critical .renewal-metrics strong,
.renewal-card-success .renewal-metrics strong,
.renewal-card-primary .renewal-metrics strong {
  color: #ffffff !important;
}

.route-item-danger .list-badge,
.route-item-danger .status-pill,
.result-card-danger .list-badge,
.result-card-danger .status-pill,
.stack-card-danger .list-badge,
.stack-card-danger .status-pill,
.mini-card-danger .list-badge,
.mini-card-danger .status-pill,
.renewal-card-danger .list-badge,
.renewal-card-danger .status-pill,
.owner-client-toggle-danger .list-badge,
.owner-client-toggle-danger .status-pill {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border-color: #fca5a5 !important;
}

.route-item-critical .list-badge,
.route-item-critical .status-pill,
.result-card-critical .list-badge,
.result-card-critical .status-pill,
.stack-card-critical .list-badge,
.stack-card-critical .status-pill,
.mini-card-critical .list-badge,
.mini-card-critical .status-pill,
.renewal-card-critical .list-badge,
.renewal-card-critical .status-pill,
.owner-client-toggle-critical .list-badge,
.owner-client-toggle-critical .status-pill {
  background: #fecaca !important;
  color: #7f1d1d !important;
  border-color: #f87171 !important;
}

.route-item-success .list-badge,
.route-item-success .status-pill,
.result-card-success .list-badge,
.result-card-success .status-pill,
.stack-card-success .list-badge,
.stack-card-success .status-pill,
.mini-card-success .list-badge,
.mini-card-success .status-pill,
.renewal-card-success .list-badge,
.renewal-card-success .status-pill,
.owner-client-toggle-success .list-badge,
.owner-client-toggle-success .status-pill {
  background: #dcfce7 !important;
  color: #166534 !important;
  border-color: #86efac !important;
}

.route-item-primary .list-badge,
.route-item-primary .status-pill,
.result-card-primary .list-badge,
.result-card-primary .status-pill,
.stack-card-primary .list-badge,
.stack-card-primary .status-pill,
.mini-card-primary .list-badge,
.mini-card-primary .status-pill,
.renewal-card-primary .list-badge,
.renewal-card-primary .status-pill,
.owner-client-toggle-primary .list-badge,
.owner-client-toggle-primary .status-pill {
  background: #dbeafe !important;
  color: #1e3a8a !important;
  border-color: #93c5fd !important;
}

.route-item-danger input,
.route-item-critical input,
.route-item-success input,
.route-item-primary input,
.route-item-danger select,
.route-item-critical select,
.route-item-success select,
.route-item-primary select,
.result-card-danger input,
.result-card-critical input,
.result-card-success input,
.result-card-primary input,
.result-card-danger select,
.result-card-critical select,
.result-card-success select,
.result-card-primary select,
.renewal-card-danger input,
.renewal-card-critical input,
.renewal-card-success input,
.renewal-card-primary input,
.renewal-card-danger select,
.renewal-card-critical select,
.renewal-card-success select,
.renewal-card-primary select,
.owner-client-toggle-danger input,
.owner-client-toggle-critical input,
.owner-client-toggle-success input,
.owner-client-toggle-primary input,
.owner-client-toggle-danger select,
.owner-client-toggle-critical select,
.owner-client-toggle-success select,
.owner-client-toggle-primary select {
  background: rgba(255,255,255,0.98) !important;
  color: #12344d !important;
  border-color: rgba(255,255,255,0.28) !important;
}

.route-item-danger label > span,
.route-item-critical label > span,
.route-item-success label > span,
.route-item-primary label > span,
.result-card-danger label > span,
.result-card-critical label > span,
.result-card-success label > span,
.result-card-primary label > span,
.renewal-card-danger label > span,
.renewal-card-critical label > span,
.renewal-card-success label > span,
.renewal-card-primary label > span,
.owner-client-toggle-danger label > span,
.owner-client-toggle-critical label > span,
.owner-client-toggle-success label > span,
.owner-client-toggle-primary label > span {
  color: #ffffff !important;
}


/* ===== Blindaje v23: Renovaciones con contraste real dentro de tarjetas de estado ===== */
.renewal-card-danger .renewal-option-card,
.renewal-card-critical .renewal-option-card,
.renewal-card-success .renewal-option-card,
.renewal-card-primary .renewal-option-card {
  background: rgba(255,255,255,0.98) !important;
  border: 1px solid #d7e1ee !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

.renewal-card-danger .renewal-option-card h1,
.renewal-card-danger .renewal-option-card h2,
.renewal-card-danger .renewal-option-card h3,
.renewal-card-danger .renewal-option-card h4,
.renewal-card-danger .renewal-option-card p,
.renewal-card-danger .renewal-option-card span,
.renewal-card-danger .renewal-option-card strong,
.renewal-card-danger .renewal-option-card b,
.renewal-card-danger .renewal-option-card small,
.renewal-card-critical .renewal-option-card h1,
.renewal-card-critical .renewal-option-card h2,
.renewal-card-critical .renewal-option-card h3,
.renewal-card-critical .renewal-option-card h4,
.renewal-card-critical .renewal-option-card p,
.renewal-card-critical .renewal-option-card span,
.renewal-card-critical .renewal-option-card strong,
.renewal-card-critical .renewal-option-card b,
.renewal-card-critical .renewal-option-card small,
.renewal-card-success .renewal-option-card h1,
.renewal-card-success .renewal-option-card h2,
.renewal-card-success .renewal-option-card h3,
.renewal-card-success .renewal-option-card h4,
.renewal-card-success .renewal-option-card p,
.renewal-card-success .renewal-option-card span,
.renewal-card-success .renewal-option-card strong,
.renewal-card-success .renewal-option-card b,
.renewal-card-success .renewal-option-card small,
.renewal-card-primary .renewal-option-card h1,
.renewal-card-primary .renewal-option-card h2,
.renewal-card-primary .renewal-option-card h3,
.renewal-card-primary .renewal-option-card h4,
.renewal-card-primary .renewal-option-card p,
.renewal-card-primary .renewal-option-card span,
.renewal-card-primary .renewal-option-card strong,
.renewal-card-primary .renewal-option-card b,
.renewal-card-primary .renewal-option-card small {
  color: #12344d !important;
}

.renewal-card-danger .renewal-option-card p,
.renewal-card-critical .renewal-option-card p,
.renewal-card-success .renewal-option-card p,
.renewal-card-primary .renewal-option-card p {
  color: #5b6b7f !important;
}

.renewal-card-danger .renewal-option-card label,
.renewal-card-critical .renewal-option-card label,
.renewal-card-success .renewal-option-card label,
.renewal-card-primary .renewal-option-card label {
  color: #12344d !important;
}

.renewal-card-danger .renewal-option-card label > span,
.renewal-card-critical .renewal-option-card label > span,
.renewal-card-success .renewal-option-card label > span,
.renewal-card-primary .renewal-option-card label > span {
  color: #475569 !important;
}

.renewal-card-danger .renewal-option-card input,
.renewal-card-critical .renewal-option-card input,
.renewal-card-success .renewal-option-card input,
.renewal-card-primary .renewal-option-card input,
.renewal-card-danger .renewal-option-card select,
.renewal-card-critical .renewal-option-card select,
.renewal-card-success .renewal-option-card select,
.renewal-card-primary .renewal-option-card select {
  background: #ffffff !important;
  color: #12344d !important;
  border: 1px solid #d7e1ee !important;
}

.renewal-card-danger .renewal-option-card input::placeholder,
.renewal-card-critical .renewal-option-card input::placeholder,
.renewal-card-success .renewal-option-card input::placeholder,
.renewal-card-primary .renewal-option-card input::placeholder {
  color: #94a3b8 !important;
}

/* ===== v24 blindado: ruta home, cierres y validaciones ===== */
.route-more-wrap {
  display: grid;
  gap: 12px;
}

.route-more-button {
  justify-self: center;
  min-width: 220px;
}

.route-actions-split {
  align-items: center;
}

.route-order-arrows {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

.owner-closure-panel {
  margin-bottom: 18px;
}

.owner-closure-card {
  border-width: 1px;
}

.owner-closure-card-warning {
  background: rgba(245, 158, 11, 0.10);
}

.owner-closure-card-success {
  background: rgba(34, 197, 94, 0.10);
}

.owner-approval-form {
  margin-top: 14px;
}

.owner-withdraw-field[hidden] {
  display: none !important;
}

.license-wrapper {
  max-width: 1280px;
}

.license-hero,
.license-card {
  min-height: auto;
}

.license-install-data {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f8fafc;
  display: grid;
  gap: 8px;
}

.license-alert {
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  font-weight: 600;
}

.license-alert-danger {
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.22);
  color: #991b1b;
}

.theme-owner .license-alert-danger,
.theme-collector .license-alert-danger,
.login-body .license-alert-danger {
  color: #7f1d1d;
}

.license-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  color: #64748b;
  font-weight: 700;
}

.license-divider::before,
.license-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(148, 163, 184, 0.35);
}

.license-help-box p {
  margin: 0;
}

.license-list {
  display: grid;
  gap: 14px;
}

.license-item-card {
  border-radius: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: #ffffff;
  color: #0f172a;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.license-item-card p,
.license-item-card small {
  color: #334155;
}

.license-item-meta {
  display: grid;
  gap: 8px;
  justify-items: end;
  text-align: right;
}

.license-list-head {
  margin: 24px 0 12px;
}

@media (max-width: 768px) {
  .license-item-card {
    flex-direction: column;
  }

  .license-item-meta {
    justify-items: start;
    text-align: left;
  }
}

.license-user-banner {
  border-radius: 20px;
  padding: 16px 18px;
  margin-bottom: 16px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}
.license-user-banner strong {
  display: block;
  font-size: 15px;
  margin-bottom: 6px;
}
.license-user-banner p {
  margin: 0;
  line-height: 1.55;
  font-size: 14px;
}
.license-user-banner-trial {
  background: #fff4db;
  border-color: #f2d08c;
  color: #6f4b00;
}
.license-user-banner-permanent {
  background: #e9fff2;
  border-color: #9ad4ad;
  color: #165b2d;
}
.theme-owner .license-user-banner-trial {
  background: #fff4db;
  border-color: #f2d08c;
  color: #6f4b00;
}
.theme-owner .license-user-banner-permanent {
  background: #e9fff2;
  border-color: #9ad4ad;
  color: #165b2d;
}
.license-status-box {
  margin-top: 18px;
}
.license-status-box h3 {
  margin-bottom: 8px;
}
.license-status-box p {
  margin: 0;
  line-height: 1.55;
}
.license-status-box-trial {
  background: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(245, 158, 11, 0.32);
}
.license-status-box-permanent {
  background: rgba(34, 197, 94, 0.14);
  border: 1px solid rgba(34, 197, 94, 0.28);
}
.is-mobile-module .license-user-banner,
.owner-dashboard-compact .license-user-banner {
  border-radius: 18px;
}


.client-name-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.client-name-inline h3,
.client-name-inline strong {
  margin: 0;
}

.client-contact-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  vertical-align: middle;
}

.client-contact-button {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.30);
  box-shadow: 0 6px 12px rgba(15, 23, 42, 0.12);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.client-contact-button:hover,
.client-contact-button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.16);
  background: rgba(255, 255, 255, 0.28);
}

.client-contact-button img {
  width: 20px;
  height: 20px;
  display: block;
}

.result-card-light .client-contact-button,
.panel-card .client-contact-button,
.mini-card .client-contact-button,
.route-item .client-contact-button,
.stack-card .client-contact-button {
  background: rgba(255, 255, 255, 0.18);
}

.route-summary-main .client-name-inline {
  margin-bottom: 2px;
}

@media (max-width: 640px) {
  .client-contact-button {
    width: 32px;
    height: 32px;
  }

  .client-contact-button img {
    width: 18px;
    height: 18px;
  }
}

.list-badge-critical,
.status-pill-critical {
  background: #ede9fe;
  color: #5b21b6;
  border: 1px solid #8b5cf6;
}

.result-card-critical,
.stack-card-critical,
.mini-card-critical,
.route-item-critical,
.renewal-card-critical,
.owner-client-toggle-critical {
  background: linear-gradient(180deg, #7c3aed 0%, #5b21b6 100%) !important;
  border-color: #4c1d95 !important;
  color: #ffffff !important;
}

.owner-route-switcher {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.owner-route-button {
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.owner-route-focus-card,
.owner-route-picker-card,
.owner-route-daily-card,
.owner-closure-panel-route {
  margin-bottom: 18px;
}

.owner-closure-segments {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}

.owner-route-day-panel {
  display: grid;
  gap: 14px;
}

.owner-route-day-panel[hidden] {
  display: none !important;
}

.closure-action-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  margin-top: 12px;
}

.closure-icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 16px;
  font-weight: 800;
}

.closure-icon-btn img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.closure-icon-btn-danger {
  border-color: rgba(185, 28, 28, 0.24);
}

.closure-icon-btn-success {
  border-color: rgba(22, 163, 74, 0.24);
}

.closure-enabled-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(22, 163, 74, 0.12);
  border: 1px solid rgba(22, 163, 74, 0.2);
  color: #166534;
}

.closure-enabled-chip img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.closure-enabled-chip strong,
.closure-enabled-chip span {
  display: block;
  color: inherit;
}

.closure-enabled-chip span {
  font-size: 12px;
}

.stack-side-right {
  align-items: flex-end;
  text-align: right;
}

@media (max-width: 820px) {
  .owner-closure-segments {
    grid-template-columns: 1fr 1fr;
  }

  .closure-action-toolbar {
    flex-direction: column;
  }

  .closure-icon-btn,
  .closure-enabled-chip {
    width: 100%;
    justify-content: flex-start;
  }
}


.license-item-card-admin {
  display: grid;
  gap: 14px;
}

.license-item-card-admin form {
  margin: 0;
}

.license-item-card-admin .owner-delete-form {
  margin-top: 0;
}

.license-item-card-admin .info-note {
  margin-bottom: 0;
}

/* ===== Compactado visual v31 ===== */
body.compact-design-v31 .stack-list,
body.compact-design-v31 .route-sort-list,
body.compact-design-v31 .collector-clients-list,
body.compact-design-v31 .renewal-grid-collapsible,
body.compact-design-v31 .results-grid,
body.compact-design-v31 .owner-route-clients,
body.compact-design-v31 .owner-clients-collapsible-grid,
body.compact-design-v31 .collector-summary-accordion {
  gap: 10px;
}

body.compact-design-v31 .route-item,
body.compact-design-v31 .result-card,
body.compact-design-v31 .collector-summary-card,
body.compact-design-v31 .owner-client-toggle,
body.compact-design-v31 .owner-client-payment-box {
  border-radius: 16px;
}

body.compact-design-v31 .route-item summary,
body.compact-design-v31 .collector-summary-card > summary,
body.compact-design-v31 .owner-client-toggle > summary,
body.compact-design-v31 .owner-client-payment-box > summary {
  padding: 12px 14px;
  gap: 10px;
}

body.compact-design-v31 .route-summary-main,
body.compact-design-v31 .collector-summary-head {
  gap: 2px;
}

body.compact-design-v31 .route-summary-main strong,
body.compact-design-v31 .collector-summary-head strong,
body.compact-design-v31 .owner-collapsible-summary strong,
body.compact-design-v31 .owner-detail-summary strong {
  font-size: 1rem;
  line-height: 1.2;
}

body.compact-design-v31 .route-summary-main span,
body.compact-design-v31 .collector-summary-head span,
body.compact-design-v31 .result-card-top p,
body.compact-design-v31 .owner-client-toggle > summary span,
body.compact-design-v31 .owner-client-payment-box > summary {
  font-size: 12px;
  line-height: 1.3;
}

body.compact-design-v31 .route-summary-side,
body.compact-design-v31 .owner-summary-status {
  gap: 6px;
}

body.compact-design-v31 .route-item-body,
body.compact-design-v31 .collector-summary-body,
body.compact-design-v31 .owner-client-toggle-body,
body.compact-design-v31 .owner-collapsible-body {
  gap: 10px;
}

body.compact-design-v31 .route-item-body {
  padding: 0 14px 12px;
}

body.compact-design-v31 .collector-summary-body,
body.compact-design-v31 .owner-client-toggle-body,
body.compact-design-v31 .owner-collapsible-body {
  padding: 0 14px 12px;
}

body.compact-design-v31 .client-finance-grid,
body.compact-design-v31 .owner-detail-metrics,
body.compact-design-v31 .result-metrics {
  gap: 8px;
  margin-bottom: 10px;
}

body.compact-design-v31 .client-finance-grid > div,
body.compact-design-v31 .owner-detail-metrics > div,
body.compact-design-v31 .result-metrics > div,
body.compact-design-v31 .collector-summary-body .stack-card,
body.compact-design-v31 .owner-client-payment-box,
body.compact-design-v31 .mini-card {
  padding: 10px 11px;
  border-radius: 12px;
}

body.compact-design-v31 .client-finance-grid span,
body.compact-design-v31 .owner-detail-metrics span,
body.compact-design-v31 .result-metrics span,
body.compact-design-v31 .mini-card span {
  font-size: 11px;
  margin-bottom: 4px;
}

body.compact-design-v31 .client-finance-grid strong,
body.compact-design-v31 .owner-detail-metrics strong,
body.compact-design-v31 .result-metrics strong,
body.compact-design-v31 .mini-card strong,
body.compact-design-v31 .owner-history-total {
  font-size: 14px;
  line-height: 1.2;
}

body.compact-design-v31 .info-note {
  margin-top: 0;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.4;
}

body.compact-design-v31 .route-actions,
body.compact-design-v31 .route-order-arrows,
body.compact-design-v31 .owner-detail-actions,
body.compact-design-v31 .owner-route-filter-actions {
  gap: 6px;
}

body.compact-design-v31 .btn-sm {
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 12px;
}

body.compact-design-v31 .client-name-inline {
  gap: 6px;
}

body.compact-design-v31 .client-contact-actions {
  gap: 6px;
}

body.compact-design-v31 .client-contact-button {
  width: 30px;
  height: 30px;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.10);
}

body.compact-design-v31 .client-contact-button img {
  width: 16px;
  height: 16px;
}

body.compact-design-v31 .list-badge,
body.compact-design-v31 .status-pill {
  padding: 5px 10px;
  font-size: 11px;
}

body.compact-design-v31.is-mobile-module .panel-card,
body.compact-design-v31.is-mobile-module .result-card,
body.compact-design-v31.is-mobile-module .mini-card,
body.compact-design-v31.is-mobile-module .empty-box,
body.compact-design-v31.is-mobile-module .sidebar-pwa-card,
body.compact-design-v31.is-mobile-module .action-card {
  border-radius: 16px;
}

body.compact-design-v31.is-mobile-module .route-item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 12px 14px;
}

body.compact-design-v31.is-mobile-module .route-summary-side {
  justify-items: end;
  text-align: right;
}

body.compact-design-v31.is-mobile-module .route-summary-main strong,
body.compact-design-v31.is-mobile-module .result-card-top h3 {
  font-size: 16px;
  line-height: 1.18;
}

body.compact-design-v31.is-mobile-module .route-summary-main span,
body.compact-design-v31.is-mobile-module .result-card-top p {
  font-size: 11px;
  line-height: 1.28;
}

body.compact-design-v31.is-mobile-module .client-finance-grid,
body.compact-design-v31.is-mobile-module .result-metrics,
body.compact-design-v31.is-mobile-module .owner-client-finance-grid,
body.compact-design-v31.is-mobile-module .owner-detail-metrics-2,
body.compact-design-v31.is-mobile-module .owner-detail-metrics-3,
body.compact-design-v31.is-mobile-module .owner-detail-metrics-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.compact-design-v31.is-mobile-module .result-card-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  margin-bottom: 10px;
}

body.compact-design-v31.is-mobile-module .result-card {
  padding: 12px;
}

body.compact-design-v31.is-mobile-module .result-metrics > div,
body.compact-design-v31.is-mobile-module .client-finance-grid > div,
body.compact-design-v31.is-mobile-module .owner-detail-metrics > div,
body.compact-design-v31.is-mobile-module .owner-client-finance-grid > div {
  padding: 9px 10px;
}

body.compact-design-v31.is-mobile-module .result-metrics span,
body.compact-design-v31.is-mobile-module .client-finance-grid span,
body.compact-design-v31.is-mobile-module .owner-detail-metrics span,
body.compact-design-v31.is-mobile-module .owner-client-finance-grid span {
  font-size: 10.5px;
}

body.compact-design-v31.is-mobile-module .result-metrics strong,
body.compact-design-v31.is-mobile-module .client-finance-grid strong,
body.compact-design-v31.is-mobile-module .owner-detail-metrics strong,
body.compact-design-v31.is-mobile-module .owner-client-finance-grid strong {
  font-size: 13px;
}

body.compact-design-v31.is-mobile-module .route-item-body,
body.compact-design-v31.is-mobile-module .collector-summary-body,
body.compact-design-v31.is-mobile-module .owner-client-toggle-body {
  padding: 0 12px 12px;
}

body.compact-design-v31.is-mobile-module .route-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.compact-design-v31.is-mobile-module .route-actions > * {
  min-width: 0;
}

body.compact-design-v31.is-mobile-module .route-actions .btn,
body.compact-design-v31.is-mobile-module .route-actions button {
  width: 100%;
}

body.compact-design-v31.is-mobile-module .collector-summary-card > summary {
  padding: 12px 14px;
}

body.compact-design-v31.is-mobile-module .client-contact-button {
  width: 28px;
  height: 28px;
}

body.compact-design-v31.is-mobile-module .client-contact-button img {
  width: 15px;
  height: 15px;
}

body.compact-design-v31.is-mobile-module .list-badge,
body.compact-design-v31.is-mobile-module .status-pill {
  padding: 4px 9px;
  font-size: 10.5px;
}

body.compact-design-v31.theme-owner .owner-client-toggle > summary,
body.compact-design-v31.theme-owner .owner-client-payment-box > summary,
body.compact-design-v31.theme-owner .owner-detail-summary {
  padding: 12px 14px;
}

body.compact-design-v31.theme-owner .owner-client-toggle-large > .owner-collapsible-body {
  padding: 12px 14px;
}

body.compact-design-v31.theme-owner .owner-history-total {
  padding: 5px 8px;
  border-radius: 12px;
}

@media (max-width: 420px) {
  body.compact-design-v31.is-mobile-module .route-summary-main strong,
  body.compact-design-v31.is-mobile-module .result-card-top h3 {
    font-size: 15px;
  }

  body.compact-design-v31.is-mobile-module .route-summary-main span,
  body.compact-design-v31.is-mobile-module .result-card-top p {
    font-size: 10.5px;
  }
}


/* ===== Compactado visual v32 fase 2 ===== */
body.compact-design-v32 .content-inner,
body.compact-design-v32 .panel-grid,
body.compact-design-v32 .panel-grid-2,
body.compact-design-v32 .panel-grid-3 {
  gap: 12px;
}

body.compact-design-v32 .panel-card {
  padding: 18px;
  border-radius: 20px;
}

body.compact-design-v32 .panel-header {
  margin-bottom: 12px;
  gap: 10px;
}

body.compact-design-v32 .panel-header h2 {
  font-size: 20px;
}

body.compact-design-v32 .panel-header span {
  font-size: 12px;
  line-height: 1.35;
}

body.compact-design-v32 label {
  gap: 5px;
}

body.compact-design-v32 label span {
  font-size: 12px;
}

body.compact-design-v32 input,
body.compact-design-v32 select,
body.compact-design-v32 textarea {
  border-radius: 13px;
  padding: 11px 13px;
}

body.compact-design-v32 textarea {
  min-height: 92px;
}

body.compact-design-v32 .btn {
  padding: 11px 14px;
  border-radius: 13px;
}

body.compact-design-v32 .btn-sm {
  padding: 7px 11px;
  border-radius: 10px;
  font-size: 11.5px;
}

body.compact-design-v32 .form-grid {
  gap: 10px;
}

body.compact-design-v32 .search-bar {
  gap: 8px;
}

body.compact-design-v32 .search-input-wrap input {
  padding-left: 44px;
}

body.compact-design-v32 .search-icon {
  left: 13px;
  width: 18px;
  height: 18px;
}

body.compact-design-v32 .inline-form {
  gap: 6px;
}

body.compact-design-v32 .closure-stats-grid,
body.compact-design-v32 .mobile-summary-grid,
body.compact-design-v32 .icon-summary-grid,
body.compact-design-v32 .quick-actions {
  gap: 10px;
}

body.compact-design-v32 .closure-stats-grid > div,
body.compact-design-v32 .summary-tile,
body.compact-design-v32 .icon-summary-card,
body.compact-design-v32 .focus-card-soft,
body.compact-design-v32 .stack-card,
body.compact-design-v32 .collector-card,
body.compact-design-v32 .mini-card,
body.compact-design-v32 .result-card,
body.compact-design-v32 .renewal-option-card,
body.compact-design-v32 .renewal-metrics > div {
  border-radius: 14px;
}

body.compact-design-v32 .closure-stats-grid > div {
  padding: 11px 12px;
}

body.compact-design-v32 .closure-stats-grid span {
  font-size: 11.5px;
  margin-bottom: 4px;
}

body.compact-design-v32 .closure-stats-grid strong {
  font-size: 18px;
}

body.compact-design-v32 .collector-greeting-card {
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
}

body.compact-design-v32 .collector-greeting-copy h2 {
  font-size: clamp(18px, 3.6vw, 26px);
  margin-bottom: 4px;
}

body.compact-design-v32 .collector-greeting-copy span,
body.compact-design-v32 .collector-live-date {
  font-size: 12px;
  line-height: 1.35;
}

body.compact-design-v32 .collector-live-box {
  padding: 11px 10px;
  border-radius: 14px;
}

body.compact-design-v32 .collector-live-time {
  font-size: clamp(19px, 4.6vw, 28px);
}

body.compact-design-v32 .icon-summary-card {
  min-height: 88px;
  padding: 12px;
  gap: 10px;
}

body.compact-design-v32 .metric-icon-badge {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 14px;
}

body.compact-design-v32 .metric-icon-badge img {
  width: 31px;
  height: 31px;
}

body.compact-design-v32 .metric-label {
  font-size: 11.5px;
  margin-bottom: 4px;
}

body.compact-design-v32 .metric-value {
  font-size: clamp(17px, 4vw, 24px);
}

body.compact-design-v32 .focus-card-soft {
  padding: 13px 14px;
}

body.compact-design-v32 .focus-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 14px;
}

body.compact-design-v32 .focus-card-icon img {
  width: 34px;
  height: 34px;
}

body.compact-design-v32 .focus-overline,
body.compact-design-v32 .focus-helper {
  font-size: 11px;
}

body.compact-design-v32 .focus-card-soft h2 {
  font-size: clamp(18px, 4vw, 24px);
}

body.compact-design-v32 .focus-card-soft strong {
  font-size: clamp(20px, 5vw, 30px);
}

body.compact-design-v32 .segment-control {
  gap: 8px;
}

body.compact-design-v32 .segment-button {
  padding: 10px 8px;
  border-radius: 12px;
  font-size: 14px;
}

body.compact-design-v32 .stack-list,
body.compact-design-v32 .route-sort-list,
body.compact-design-v32 .collector-clients-list,
body.compact-design-v32 .renewal-grid-collapsible,
body.compact-design-v32 .results-grid,
body.compact-design-v32 .owner-route-clients,
body.compact-design-v32 .owner-clients-collapsible-grid,
body.compact-design-v32 .collector-summary-accordion {
  gap: 8px;
}

body.compact-design-v32 .stack-card,
body.compact-design-v32 .collector-card {
  padding: 11px 12px;
  gap: 10px;
}

body.compact-design-v32 .stack-main p,
body.compact-design-v32 .stack-card p,
body.compact-design-v32 .collector-card p {
  margin-top: 2px;
  font-size: 11.5px;
  line-height: 1.3;
}

body.compact-design-v32 .stack-main strong,
body.compact-design-v32 .stack-side strong,
body.compact-design-v32 .collector-card strong {
  font-size: 14px;
  line-height: 1.2;
}

body.compact-design-v32 .route-item,
body.compact-design-v32 .collector-summary-card,
body.compact-design-v32 .owner-client-toggle,
body.compact-design-v32 .owner-client-payment-box {
  border-radius: 14px;
}

body.compact-design-v32 .route-item summary,
body.compact-design-v32 .collector-summary-card > summary,
body.compact-design-v32 .owner-client-toggle > summary,
body.compact-design-v32 .owner-client-payment-box > summary {
  padding: 10px 12px;
  gap: 8px;
}

body.compact-design-v32 .route-summary-main,
body.compact-design-v32 .collector-summary-head {
  gap: 2px;
}

body.compact-design-v32 .route-summary-main strong,
body.compact-design-v32 .collector-summary-head strong,
body.compact-design-v32 .owner-collapsible-summary strong,
body.compact-design-v32 .owner-detail-summary strong,
body.compact-design-v32 .result-card-top h3 {
  font-size: 15px;
  line-height: 1.18;
}

body.compact-design-v32 .route-summary-main span,
body.compact-design-v32 .collector-summary-head span,
body.compact-design-v32 .result-card-top p,
body.compact-design-v32 .owner-client-toggle > summary span,
body.compact-design-v32 .owner-client-payment-box > summary,
body.compact-design-v32 .mini-card span {
  font-size: 10.8px;
  line-height: 1.28;
}

body.compact-design-v32 .route-summary-side,
body.compact-design-v32 .owner-summary-status {
  gap: 4px;
}

body.compact-design-v32 .route-item-body,
body.compact-design-v32 .collector-summary-body,
body.compact-design-v32 .owner-client-toggle-body,
body.compact-design-v32 .owner-collapsible-body {
  gap: 8px;
}

body.compact-design-v32 .route-item-body,
body.compact-design-v32 .collector-summary-body,
body.compact-design-v32 .owner-client-toggle-body,
body.compact-design-v32 .owner-collapsible-body {
  padding: 0 12px 10px;
}

body.compact-design-v32 .client-finance-grid,
body.compact-design-v32 .owner-detail-metrics,
body.compact-design-v32 .result-metrics,
body.compact-design-v32 .renewal-metrics,
body.compact-design-v32 .collector-stats {
  gap: 6px;
  margin-bottom: 8px;
}

body.compact-design-v32 .client-finance-grid > div,
body.compact-design-v32 .owner-detail-metrics > div,
body.compact-design-v32 .result-metrics > div,
body.compact-design-v32 .renewal-metrics > div,
body.compact-design-v32 .collector-summary-body .stack-card,
body.compact-design-v32 .owner-client-payment-box,
body.compact-design-v32 .mini-card,
body.compact-design-v32 .collector-stats > div {
  padding: 8px 9px;
  border-radius: 10px;
}

body.compact-design-v32 .client-finance-grid span,
body.compact-design-v32 .owner-detail-metrics span,
body.compact-design-v32 .result-metrics span,
body.compact-design-v32 .renewal-metrics span,
body.compact-design-v32 .mini-card span,
body.compact-design-v32 .collector-stats span {
  font-size: 10px;
  margin-bottom: 3px;
}

body.compact-design-v32 .client-finance-grid strong,
body.compact-design-v32 .owner-detail-metrics strong,
body.compact-design-v32 .result-metrics strong,
body.compact-design-v32 .renewal-metrics strong,
body.compact-design-v32 .mini-card strong,
body.compact-design-v32 .collector-stats strong,
body.compact-design-v32 .owner-history-total {
  font-size: 12.5px;
  line-height: 1.16;
}

body.compact-design-v32 .result-card {
  padding: 11px;
}

body.compact-design-v32 .result-card-top {
  margin-bottom: 8px;
  gap: 10px;
}

body.compact-design-v32 .renewal-options-grid {
  gap: 8px;
}

body.compact-design-v32 .renewal-option-card {
  padding: 10px;
}

body.compact-design-v32 .renewal-option-card h3 {
  margin-bottom: 4px;
  font-size: 15px;
}

body.compact-design-v32 .renewal-option-card p {
  margin-bottom: 8px;
  font-size: 11px;
  line-height: 1.35;
}

body.compact-design-v32 .renewal-option-card form,
body.compact-design-v32 .renewal-option-card {
  gap: 8px;
}

body.compact-design-v32 .info-note {
  margin-top: 0;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 11px;
  line-height: 1.35;
}

body.compact-design-v32 .list-badge,
body.compact-design-v32 .status-pill {
  padding: 3px 8px;
  font-size: 10px;
}

body.compact-design-v32 .client-name-inline {
  gap: 5px;
}

body.compact-design-v32 .client-contact-actions {
  gap: 5px;
}

body.compact-design-v32 .client-contact-button {
  width: 26px;
  height: 26px;
}

body.compact-design-v32 .client-contact-button img {
  width: 14px;
  height: 14px;
}

body.compact-design-v32 .route-actions,
body.compact-design-v32 .route-order-arrows,
body.compact-design-v32 .owner-detail-actions,
body.compact-design-v32 .owner-route-filter-actions {
  gap: 5px;
}

body.compact-design-v32 .loan-form,
body.compact-design-v32 .closure-form,
body.compact-design-v32 .owner-form-compact,
body.compact-design-v32 .result-card form {
  gap: 8px;
}

body.compact-design-v32 .loan-preview .metrics-list > div,
body.compact-design-v32 .metrics-list > div {
  padding: 10px 12px;
  border-radius: 12px;
}

body.compact-design-v32 .loan-preview .metrics-list strong,
body.compact-design-v32 .metrics-list strong {
  font-size: 14px;
}

body.compact-design-v32 .loan-preview .metrics-list span,
body.compact-design-v32 .metrics-list span {
  font-size: 11px;
}

body.compact-design-v32 .loan-preview {
  gap: 8px;
}

body.compact-design-v32 .loan-form .info-note,
body.compact-design-v32 .result-card .info-note,
body.compact-design-v32 .renewal-option-card .info-note {
  margin-top: 0;
}

body.compact-design-v32 .owner-mobile-appbar,
body.compact-design-v32 .mobile-appbar {
  border-radius: 16px;
  padding: 10px 12px;
}

body.compact-design-v32 .screen-heading {
  margin-bottom: 10px;
}

body.compact-design-v32 .screen-heading h1 {
  font-size: 22px;
  margin-bottom: 2px;
}

body.compact-design-v32 .screen-heading p {
  font-size: 11.5px;
}

@media (max-width: 720px) {
  body.compact-design-v32.is-mobile-module .content {
    padding: 10px 10px 20px;
  }

  body.compact-design-v32.is-mobile-module .content-inner {
    gap: 10px;
  }

  body.compact-design-v32.is-mobile-module .panel-card,
  body.compact-design-v32.is-mobile-module .result-card,
  body.compact-design-v32.is-mobile-module .mini-card,
  body.compact-design-v32.is-mobile-module .empty-box,
  body.compact-design-v32.is-mobile-module .sidebar-pwa-card,
  body.compact-design-v32.is-mobile-module .action-card {
    border-radius: 14px;
  }

  body.compact-design-v32.is-mobile-module .panel-card {
    padding: 12px;
  }

  body.compact-design-v32.is-mobile-module input,
  body.compact-design-v32.is-mobile-module select,
  body.compact-design-v32.is-mobile-module textarea {
    padding: 10px 12px;
    border-radius: 12px;
  }

  body.compact-design-v32.is-mobile-module label span,
  body.compact-design-v32.is-mobile-module .panel-header span,
  body.compact-design-v32.is-mobile-module .route-summary-main span,
  body.compact-design-v32.is-mobile-module .result-card-top p,
  body.compact-design-v32.is-mobile-module .mini-card span,
  body.compact-design-v32.is-mobile-module .focus-helper,
  body.compact-design-v32.is-mobile-module .info-note {
    font-size: 10.5px;
  }

  body.compact-design-v32.is-mobile-module .route-item summary,
  body.compact-design-v32.is-mobile-module .collector-summary-card > summary {
    padding: 9px 10px;
    gap: 8px;
  }

  body.compact-design-v32.is-mobile-module .route-summary-main strong,
  body.compact-design-v32.is-mobile-module .result-card-top h3,
  body.compact-design-v32.is-mobile-module .collector-summary-head strong {
    font-size: 14px;
  }

  body.compact-design-v32.is-mobile-module .route-item-body,
  body.compact-design-v32.is-mobile-module .collector-summary-body,
  body.compact-design-v32.is-mobile-module .owner-client-toggle-body {
    padding: 0 10px 10px;
  }

  body.compact-design-v32.is-mobile-module .client-finance-grid,
  body.compact-design-v32.is-mobile-module .result-metrics,
  body.compact-design-v32.is-mobile-module .owner-client-finance-grid,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics-2,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics-3,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics-4,
  body.compact-design-v32.is-mobile-module .renewal-metrics,
  body.compact-design-v32.is-mobile-module .collector-stats,
  body.compact-design-v32.is-mobile-module .closure-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.compact-design-v32.is-mobile-module .result-metrics > div,
  body.compact-design-v32.is-mobile-module .client-finance-grid > div,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics > div,
  body.compact-design-v32.is-mobile-module .owner-client-finance-grid > div,
  body.compact-design-v32.is-mobile-module .renewal-metrics > div,
  body.compact-design-v32.is-mobile-module .collector-stats > div,
  body.compact-design-v32.is-mobile-module .closure-stats-grid > div {
    padding: 8px;
  }

  body.compact-design-v32.is-mobile-module .result-metrics span,
  body.compact-design-v32.is-mobile-module .client-finance-grid span,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics span,
  body.compact-design-v32.is-mobile-module .owner-client-finance-grid span,
  body.compact-design-v32.is-mobile-module .renewal-metrics span,
  body.compact-design-v32.is-mobile-module .collector-stats span,
  body.compact-design-v32.is-mobile-module .closure-stats-grid span {
    font-size: 9.8px;
  }

  body.compact-design-v32.is-mobile-module .result-metrics strong,
  body.compact-design-v32.is-mobile-module .client-finance-grid strong,
  body.compact-design-v32.is-mobile-module .owner-detail-metrics strong,
  body.compact-design-v32.is-mobile-module .owner-client-finance-grid strong,
  body.compact-design-v32.is-mobile-module .renewal-metrics strong,
  body.compact-design-v32.is-mobile-module .collector-stats strong,
  body.compact-design-v32.is-mobile-module .closure-stats-grid strong {
    font-size: 12px;
  }

  body.compact-design-v32.is-mobile-module .route-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  body.compact-design-v32.is-mobile-module .route-actions .btn,
  body.compact-design-v32.is-mobile-module .route-actions button,
  body.compact-design-v32.is-mobile-module .inline-form .btn {
    width: 100%;
  }

  body.compact-design-v32.is-mobile-module .client-contact-button {
    width: 25px;
    height: 25px;
  }

  body.compact-design-v32.is-mobile-module .client-contact-button img {
    width: 13px;
    height: 13px;
  }

  body.compact-design-v32.is-mobile-module .list-badge,
  body.compact-design-v32.is-mobile-module .status-pill {
    padding: 3px 7px;
    font-size: 9.8px;
  }

  body.compact-design-v32.is-mobile-module .segment-button {
    padding: 9px 8px;
    font-size: 13px;
  }
}

@media (max-width: 420px) {
  body.compact-design-v32.is-mobile-module .route-summary-main strong,
  body.compact-design-v32.is-mobile-module .result-card-top h3,
  body.compact-design-v32.is-mobile-module .collector-summary-head strong {
    font-size: 13.5px;
  }

  body.compact-design-v32.is-mobile-module .route-summary-main span,
  body.compact-design-v32.is-mobile-module .result-card-top p,
  body.compact-design-v32.is-mobile-module .panel-header span,
  body.compact-design-v32.is-mobile-module .mini-card span,
  body.compact-design-v32.is-mobile-module .info-note {
    font-size: 10px;
  }
}

/* ===== v33 General del cobrador ===== */
.panel-card-tight {
  padding: 14px 14px;
  border-radius: 20px;
}
.panel-header-tight {
  gap: 4px;
  margin-bottom: 10px;
}
.panel-header-tight h2 {
  font-size: 19px;
  margin: 0;
}
.panel-header-tight span {
  font-size: 12px;
}
.search-bar-tight {
  gap: 8px;
}
.search-bar-tight .search-input-wrap input {
  min-height: 44px;
}
.collector-general-hero {
  display: grid;
  gap: 10px;
}
.collector-general-kpis {
  margin-top: 4px;
}
.route-kpis-compact > div {
  padding: 10px 12px;
  border-radius: 14px;
}
.route-kpis-compact span {
  font-size: 12px;
  margin-bottom: 4px;
}
.route-kpis-compact strong {
  font-size: 22px;
}
.collector-general-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scroll-snap-type: x proximity;
}
.collector-general-tabs .segment-button {
  min-width: 148px;
  flex: 1 0 auto;
  scroll-snap-align: start;
}
.general-filter-rail {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 2px;
}
.general-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid #d8e3ef;
  background: #f8fbff;
  color: #12344d;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.general-filter-chip strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #e5eef9;
  color: #12344d;
  font-size: 12px;
}
.general-filter-chip.is-active {
  background: linear-gradient(135deg, #334155, #475569);
  border-color: #334155;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}
.general-filter-chip.is-active strong {
  background: rgba(255,255,255,0.16);
  color: #ffffff;
}
.general-card-list {
  gap: 8px;
}
.general-compact-card {
  padding: 12px 14px;
  border-radius: 18px;
  align-items: center;
}
.general-card-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.general-card-main strong {
  font-size: 18px;
  line-height: 1.1;
}
.general-card-main p {
  margin: 0;
  font-size: 12px;
}
.general-card-main .muted {
  font-size: 11px;
  line-height: 1.25;
  opacity: .92;
}
.general-card-side {
  gap: 6px;
}
.general-card-side strong {
  font-size: 18px;
  line-height: 1;
}
.payment-history-card .general-card-main strong {
  font-size: 17px;
}
.general-route-sort-list {
  display: grid;
  gap: 8px;
}
.general-route-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid #dce5ef;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
.general-route-row.is-dragging {
  opacity: .55;
}
.general-route-row-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.general-route-row-main strong {
  font-size: 16px;
  line-height: 1.1;
  color: #12344d;
}
.general-route-row-main span {
  font-size: 12px;
  color: #5f7287;
}
.general-route-row-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #d6e5ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.compact-design-v33 .sidebar {
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}
.compact-design-v33 .sidebar-nav {
  padding-bottom: 18px;
}

@media (max-width: 720px) {
  .panel-card-tight {
    padding: 12px 12px;
    border-radius: 18px;
  }
  .collector-general-tabs {
    gap: 8px;
  }
  .collector-general-tabs .segment-button {
    min-width: 132px;
    padding: 12px 12px;
    font-size: 14px;
  }
  .general-compact-card {
    flex-direction: row;
    align-items: center;
    padding: 12px;
    gap: 10px;
  }
  .general-card-main strong {
    font-size: 16px;
  }
  .general-card-side {
    justify-items: end;
    text-align: right;
    min-width: 86px;
  }
  .general-card-side .list-badge {
    padding: 6px 10px;
    min-height: 28px;
    font-size: 11px;
  }
  .general-card-side strong {
    font-size: 17px;
  }
  .general-route-row {
    padding: 11px 12px;
  }
  .general-route-row-badge {
    max-width: 104px;
    white-space: normal;
    line-height: 1.15;
  }
}

/* ===== v34: General del cobrador responsive real ===== */
body.compact-design-v34,
body.compact-design-v34 * {
  box-sizing: border-box;
}
body.compact-design-v34,
body.compact-design-v34 .content,
body.compact-design-v34 .content-inner,
body.compact-design-v34 .collector-general-shell-v34 {
  overflow-x: hidden;
}
body.compact-design-v34 .collector-general-shell-v34 {
  display: grid;
  gap: 12px;
  width: 100%;
}
body.compact-design-v34 .collector-general-hero-v34 {
  display: grid;
  gap: 12px;
}
body.compact-design-v34 .collector-general-overline-v34 {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #5f7287;
}
body.compact-design-v34 .collector-general-hero-copy-v34 h2 {
  margin: 0 0 6px;
  color: #12344d;
  font-size: clamp(22px, 4vw, 30px);
  line-height: 1.1;
}
body.compact-design-v34 .collector-general-hero-copy-v34 span {
  display: block;
  color: #62778d;
  line-height: 1.45;
}
body.compact-design-v34 .collector-general-kpis-v34 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.compact-design-v34 .collector-general-kpis-v34 > div {
  min-width: 0;
  background: #f8fafc;
  border: 1px solid #e3eaf2;
  border-radius: 16px;
  padding: 12px 12px;
}
body.compact-design-v34 .collector-general-kpis-v34 span {
  display: block;
  color: #62778d;
  font-size: 12px;
  margin-bottom: 4px;
}
body.compact-design-v34 .collector-general-kpis-v34 strong {
  display: block;
  font-size: 24px;
  line-height: 1;
}

body.compact-design-v34 .collector-general-tabs-v34 {
  display: flex;
  gap: 8px;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  padding: 2px 1px 6px;
  scrollbar-width: none;
}
body.compact-design-v34 .collector-general-tabs-v34::-webkit-scrollbar {
  display: none;
}
body.compact-design-v34 .collector-general-tab-v34 {
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap;
  padding: 13px 16px;
  border-radius: 18px;
  color: #ffffff;
  font-weight: 800;
  border: 1px solid transparent;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}
body.compact-design-v34 .collector-general-tab-v34.is-active {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.14);
}
body.compact-design-v34 .collector-general-tab-v34.tab-theme-general { background: linear-gradient(135deg, #334155, #475569); }
body.compact-design-v34 .collector-general-tab-v34.tab-theme-cobros { background: linear-gradient(135deg, #2563eb, #3b82f6); }
body.compact-design-v34 .collector-general-tab-v34.tab-theme-faltantes { background: linear-gradient(135deg, #d97706, #f59e0b); }
body.compact-design-v34 .collector-general-tab-v34.tab-theme-ruta { background: linear-gradient(135deg, #0f766e, #14b8a6); }
body.compact-design-v34 .collector-general-tab-v34:not(.is-active) { opacity: .92; }

body.compact-design-v34 .collector-panel-v34 {
  display: grid;
  gap: 10px;
}
body.compact-design-v34 .collector-panel-head-v34 {
  margin-bottom: 0;
}
body.compact-design-v34 .collector-general-search-v34 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  width: 100%;
}
body.compact-design-v34 .collector-general-search-v34 .search-input-wrap,
body.compact-design-v34 .collector-general-search-v34 input,
body.compact-design-v34 .collector-general-search-v34 .btn {
  min-width: 0;
}
body.compact-design-v34 .collector-general-search-v34 .btn {
  min-height: 44px;
  padding-inline: 16px;
}
body.compact-design-v34 .collector-chip-rail-v34 {
  display: flex;
  gap: 8px;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  padding: 2px 1px 2px;
  scrollbar-width: none;
}
body.compact-design-v34 .collector-chip-rail-v34::-webkit-scrollbar {
  display: none;
}
body.compact-design-v34 .collector-chip-v34 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: max-content;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid #d7e3ef;
  background: #f8fbff;
  color: #12344d;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
body.compact-design-v34 .collector-chip-v34 strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e7eef7;
  color: #12344d;
  font-size: 12px;
}
body.compact-design-v34 .collector-chip-v34.is-active {
  background: linear-gradient(135deg, #1e293b, #334155);
  border-color: #1e293b;
  color: #ffffff;
}
body.compact-design-v34 .collector-chip-v34.is-active strong {
  background: rgba(255,255,255,.16);
  color: #ffffff;
}

body.compact-design-v34 .collector-card-list-v34 {
  display: grid;
  gap: 10px;
  width: 100%;
}
body.compact-design-v34 .collector-card-v34 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  border-radius: 20px;
  border: 1px solid #dde6ef;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
body.compact-design-v34 .collector-card-v34.state-primary { background: linear-gradient(135deg, #3b82f6, #3466df); color: #ffffff; border-color: rgba(255,255,255,.18); }
body.compact-design-v34 .collector-card-v34.state-danger { background: linear-gradient(135deg, #ef4444, #f43f5e); color: #ffffff; border-color: rgba(255,255,255,.18); }
body.compact-design-v34 .collector-card-v34.state-critical { background: linear-gradient(135deg, #7c3aed, #8b5cf6); color: #ffffff; border-color: rgba(255,255,255,.18); }
body.compact-design-v34 .collector-card-v34.state-success { background: linear-gradient(135deg, #16a34a, #22c55e); color: #ffffff; border-color: rgba(255,255,255,.18); }
body.compact-design-v34 .collector-card-main-v34 {
  min-width: 0;
  display: grid;
  gap: 4px;
}
body.compact-design-v34 .collector-card-title-v34,
body.compact-design-v34 .collector-card-main-v34 .client-name-inline {
  min-width: 0;
}
body.compact-design-v34 .collector-card-main-v34 strong {
  display: block;
  min-width: 0;
  font-size: 17px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
body.compact-design-v34 .collector-card-main-v34 p,
body.compact-design-v34 .collector-card-main-v34 small {
  display: block;
  min-width: 0;
  margin: 0;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
body.compact-design-v34 .collector-card-main-v34 p { font-size: 13px; }
body.compact-design-v34 .collector-card-main-v34 small { font-size: 12px; opacity: .96; }
body.compact-design-v34 .collector-card-v34.state-primary p,
body.compact-design-v34 .collector-card-v34.state-primary small,
body.compact-design-v34 .collector-card-v34.state-danger p,
body.compact-design-v34 .collector-card-v34.state-danger small,
body.compact-design-v34 .collector-card-v34.state-critical p,
body.compact-design-v34 .collector-card-v34.state-critical small,
body.compact-design-v34 .collector-card-v34.state-success p,
body.compact-design-v34 .collector-card-v34.state-success small {
  color: rgba(255,255,255,.92);
}
body.compact-design-v34 .collector-card-v34 .client-contact-actions {
  flex: 0 0 auto;
}
body.compact-design-v34 .collector-card-side-v34 {
  display: grid;
  justify-items: end;
  gap: 8px;
  min-width: 88px;
}
body.compact-design-v34 .collector-card-side-v34 strong {
  font-size: 17px;
  line-height: 1;
  color: inherit;
}
body.compact-design-v34 .collector-card-v34.state-primary .list-badge,
body.compact-design-v34 .collector-card-v34.state-danger .list-badge,
body.compact-design-v34 .collector-card-v34.state-critical .list-badge,
body.compact-design-v34 .collector-card-v34.state-success .list-badge {
  background: rgba(255,255,255,.88);
  color: #12344d;
  border-color: rgba(255,255,255,.55);
}

body.compact-design-v34 .collector-route-list-v34 {
  display: grid;
  gap: 8px;
}
body.compact-design-v34 .collector-route-row-v34 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid #dce5ef;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}
body.compact-design-v34 .collector-route-row-v34.is-dragging { opacity: .55; }
body.compact-design-v34 .collector-route-row-main-v34 {
  min-width: 0;
  display: grid;
  gap: 3px;
}
body.compact-design-v34 .collector-route-row-main-v34 strong,
body.compact-design-v34 .collector-route-row-main-v34 span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}
body.compact-design-v34 .collector-route-row-main-v34 strong {
  color: #12344d;
  font-size: 16px;
  line-height: 1.15;
}
body.compact-design-v34 .collector-route-row-main-v34 span {
  color: #5f7287;
  font-size: 12px;
}
body.compact-design-v34 .collector-route-row-badge-v34 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  min-height: 30px;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #d6e5ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}
body.compact-design-v34 .collector-route-submit-v34 {
  margin-top: 10px;
}

@media (max-width: 900px) {
  body.compact-design-v34 .collector-general-kpis-v34 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.compact-design-v34 .panel-card-tight {
    padding: 14px 14px;
  }
  body.compact-design-v34 .collector-general-kpis-v34 {
    grid-template-columns: 1fr;
  }
  body.compact-design-v34 .collector-general-search-v34 {
    grid-template-columns: 1fr;
  }
  body.compact-design-v34 .collector-general-search-v34 .btn {
    width: 100%;
  }
  body.compact-design-v34 .collector-card-v34,
  body.compact-design-v34 .collector-route-row-v34 {
    grid-template-columns: 1fr;
  }
  body.compact-design-v34 .collector-card-side-v34,
  body.compact-design-v34 .collector-route-row-badge-v34 {
    justify-items: start;
    text-align: left;
  }
  body.compact-design-v34 .collector-card-side-v34 {
    min-width: 0;
  }
  body.compact-design-v34 .collector-card-main-v34 strong {
    font-size: 16px;
  }
  body.compact-design-v34 .collector-card-v34 .client-name-inline {
    gap: 8px;
  }
  body.compact-design-v34 .collector-general-tab-v34 {
    padding: 12px 14px;
    font-size: 14px;
  }
}

/* ===== v35 general cobrador: compacto + rápido + solo ruta actual ===== */
body.general-fast-v35 .collector-general-shell-v34 {
  gap: 10px;
}
body.general-fast-v35 .collector-general-hero-v35 {
  gap: 10px;
  align-items: start;
}
body.general-fast-v35 .collector-general-hero-copy-v35 {
  text-align: center;
}
body.general-fast-v35 .collector-general-overline-v34 {
  margin-bottom: 4px;
  font-size: 11px;
}
body.general-fast-v35 .collector-general-hero-copy-v35 h2 {
  margin-bottom: 4px;
  font-size: clamp(20px, 4vw, 28px);
}
body.general-fast-v35 .collector-general-hero-copy-v35 span {
  font-size: 13px;
  line-height: 1.35;
}
body.general-fast-v35 .collector-general-kpis-v35 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
body.general-fast-v35 .collector-general-kpis-v35 > div {
  padding: 9px 10px;
  border-radius: 14px;
}
body.general-fast-v35 .collector-general-kpis-v35 span {
  font-size: 11px;
  line-height: 1.2;
  margin-bottom: 3px;
}
body.general-fast-v35 .collector-general-kpis-v35 strong {
  font-size: 21px;
}
body.general-fast-v35 .collector-general-tabs-v35 {
  gap: 6px;
  padding-bottom: 4px;
}
body.general-fast-v35 .collector-general-tab-v35 {
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
}
body.general-fast-v35 .collector-panel-v35 {
  gap: 8px;
}
body.general-fast-v35 .collector-panel-head-v35 h2 {
  font-size: 18px;
}
body.general-fast-v35 .collector-panel-head-v35 span {
  font-size: 12px;
}
body.general-fast-v35 .collector-general-search-v35 {
  grid-template-columns: 1fr;
  gap: 6px;
}
body.general-fast-v35 .collector-general-search-v35 .search-input-wrap {
  min-height: 44px;
}
body.general-fast-v35 .collector-chip-rail-v35 {
  gap: 6px;
}
body.general-fast-v35 .collector-chip-v35 {
  padding: 8px 11px;
  font-size: 12px;
  gap: 6px;
}
body.general-fast-v35 .collector-chip-v35 strong {
  min-width: 22px;
  height: 22px;
  font-size: 11px;
}
body.general-fast-v35 .collector-card-list-v35 {
  gap: 8px;
}
body.general-fast-v35 .collector-card-v35 {
  padding: 11px 12px;
  border-radius: 18px;
  gap: 10px;
}
body.general-fast-v35 .collector-card-main-v35 {
  gap: 3px;
}
body.general-fast-v35 .collector-card-main-v35 strong {
  font-size: 16px;
}
body.general-fast-v35 .collector-card-main-v35 p {
  font-size: 12px;
}
body.general-fast-v35 .collector-card-main-v35 small {
  font-size: 11px;
  line-height: 1.3;
}
body.general-fast-v35 .collector-card-side-v35 {
  min-width: 80px;
  gap: 6px;
}
body.general-fast-v35 .collector-card-side-v35 strong {
  font-size: 16px;
}
body.general-fast-v35 .collector-card-v35 .client-contact-actions {
  gap: 6px;
}
body.general-fast-v35 .collector-card-v35 .client-contact-button {
  width: 34px;
  height: 34px;
}
body.general-fast-v35 .collector-route-list-v35 {
  gap: 6px;
}
body.general-fast-v35 .collector-route-row-v35 {
  padding: 10px 11px;
  border-radius: 15px;
  gap: 8px;
}
body.general-fast-v35 .collector-route-row-main-v34 strong {
  font-size: 15px;
}
body.general-fast-v35 .collector-route-row-main-v34 span {
  font-size: 11px;
}
body.general-fast-v35 .collector-route-row-badge-v34 {
  padding: 6px 9px;
  min-height: 28px;
  font-size: 11px;
}
body.general-fast-v35 .collector-general-panel-wrap-v35 > [data-general-panel][hidden] {
  display: none !important;
}
body.general-fast-v35 [data-general-results] > [data-filter-item][hidden] {
  display: none !important;
}

@media (max-width: 640px) {
  body.general-fast-v35 .collector-general-kpis-v35 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.general-fast-v35 .collector-general-kpis-v35 > div {
    padding: 8px 8px;
  }
  body.general-fast-v35 .collector-general-kpis-v35 strong {
    font-size: 19px;
  }
  body.general-fast-v35 .collector-general-kpis-v35 span {
    font-size: 10.5px;
  }
  body.general-fast-v35 .collector-general-tab-v35 {
    padding: 9px 12px;
    font-size: 12px;
  }
  body.general-fast-v35 .collector-card-v35,
  body.general-fast-v35 .collector-route-row-v35 {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.general-fast-v35 .collector-card-side-v35,
  body.general-fast-v35 .collector-route-row-badge-v34 {
    justify-items: end;
    text-align: right;
  }
  body.general-fast-v35 .collector-card-main-v35 strong {
    font-size: 15px;
  }
  body.general-fast-v35 .collector-card-main-v35 p {
    font-size: 11.5px;
  }
  body.general-fast-v35 .collector-card-main-v35 small {
    font-size: 10.5px;
  }
}

@media (max-width: 420px) {
  body.general-fast-v35 .collector-card-v35,
  body.general-fast-v35 .collector-route-row-v35 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v35 .collector-card-side-v35,
  body.general-fast-v35 .collector-route-row-badge-v34 {
    justify-items: start;
    text-align: left;
  }
}

/* ===== v36 general cobrador: ruta real + detalles compactos ===== */
body.general-fast-v36 .collector-general-hero-v36 {
  gap: 8px;
}
body.general-fast-v36 .collector-general-hero-copy-v36 h2 {
  margin-bottom: 2px;
}
body.general-fast-v36 .collector-general-kpis-v36 {
  gap: 6px;
}
body.general-fast-v36 .collector-general-kpis-v36 > div {
  padding: 8px 9px;
  border-radius: 13px;
}
body.general-fast-v36 .collector-general-kpis-v36 strong {
  font-size: 20px;
}
body.general-fast-v36 .collector-general-tabs-v36 {
  gap: 6px;
}
body.general-fast-v36 .collector-general-tab-v36 {
  padding: 9px 13px;
}
body.general-fast-v36 .collector-panel-v36 {
  gap: 7px;
}
body.general-fast-v36 .collector-card-list-v36 {
  display: grid;
  gap: 8px;
}
body.general-fast-v36 .collector-general-loan-v36 {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}
body.general-fast-v36 .collector-general-loan-v36 summary {
  list-style: none;
  cursor: pointer;
}
body.general-fast-v36 .collector-general-loan-v36 summary::-webkit-details-marker {
  display: none;
}
body.general-fast-v36 .collector-general-loan-v36.state-primary {
  background: linear-gradient(135deg, #3b82f6, #3466df);
  color: #ffffff;
}
body.general-fast-v36 .collector-general-loan-v36.state-danger {
  background: linear-gradient(135deg, #ef4444, #f43f5e);
  color: #ffffff;
}
body.general-fast-v36 .collector-general-loan-v36.state-critical {
  background: linear-gradient(135deg, #7c3aed, #8b5cf6);
  color: #ffffff;
}
body.general-fast-v36 .collector-general-loan-v36.state-success {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #ffffff;
}
body.general-fast-v36 .collector-general-loan-summary-v36 {
  padding: 11px 12px;
  display: grid;
  gap: 8px;
}
body.general-fast-v36 .collector-general-loan-head-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}
body.general-fast-v36 .collector-general-loan-head-v36 .client-name-inline {
  align-items: center;
  gap: 8px;
}
body.general-fast-v36 .collector-general-loan-head-v36 strong {
  font-size: 17px;
  line-height: 1.2;
}
body.general-fast-v36 .collector-general-loan-v36 .client-contact-actions {
  gap: 6px;
}
body.general-fast-v36 .collector-general-loan-v36 .client-contact-button {
  width: 34px;
  height: 34px;
}
body.general-fast-v36 .collector-general-loan-v36 .list-badge {
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.82);
  color: #1f3a8a;
}
body.general-fast-v36 .collector-general-loan-meta-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
body.general-fast-v36 .collector-general-loan-meta-v36 p {
  margin: 0;
  font-size: 11.5px;
  color: rgba(255,255,255,.9);
}
body.general-fast-v36 .collector-general-loan-meta-v36 strong {
  font-size: 17px;
  line-height: 1;
}
body.general-fast-v36 .collector-general-loan-body-v36 {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}
body.general-fast-v36 .collector-general-metrics-v36 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body.general-fast-v36 .collector-general-metrics-v36 > div {
  background: rgba(17, 24, 39, 0.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 9px 10px;
  display: grid;
  gap: 4px;
}
body.general-fast-v36 .collector-general-metrics-v36 span {
  font-size: 11px;
  color: rgba(255,255,255,.85);
}
body.general-fast-v36 .collector-general-metrics-v36 strong {
  font-size: 14px;
  line-height: 1.2;
}
body.general-fast-v36 .info-note-compact-v36 {
  padding: 8px 10px;
  border-radius: 16px;
  margin: 0;
  background: rgba(17, 24, 39, 0.10);
  border: 1px solid rgba(255,255,255,.18);
  color: #ffffff;
  font-size: 12px;
  line-height: 1.35;
}
body.general-fast-v36 .collector-general-pay-form-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}
body.general-fast-v36 .collector-general-pay-form-v36 label {
  margin: 0;
}
body.general-fast-v36 .collector-general-pay-form-v36 span {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  color: rgba(255,255,255,.9);
}
body.general-fast-v36 .collector-general-pay-form-v36 input {
  min-height: 42px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.95);
  color: #0f172a;
  padding: 10px 12px;
}
body.general-fast-v36 .collector-general-pay-form-v36 .btn {
  min-height: 42px;
  white-space: nowrap;
}
body.general-fast-v36 .collector-general-actions-v36 {
  display: flex;
  justify-content: flex-start;
}
body.general-fast-v36 .collector-general-actions-v36 .btn {
  min-height: 40px;
}
body.general-fast-v36 .collector-route-list-v36 {
  display: grid;
  gap: 6px;
}
body.general-fast-v36 .collector-route-row-v36 {
  padding: 9px 10px;
  border-radius: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(148, 163, 184, 0.28);
}
body.general-fast-v36 .collector-route-controls-v36 {
  display: flex;
  gap: 6px;
}
body.general-fast-v36 .route-arrow-btn-v36 {
  min-width: 38px;
  min-height: 34px;
  padding: 0 8px;
}
body.general-fast-v36 .collector-route-row-main-v34 strong {
  font-size: 15px;
}
body.general-fast-v36 .collector-route-row-main-v34 span {
  font-size: 11px;
}
body.general-fast-v36 .collector-general-panel-wrap-v35 > [data-general-panel][hidden] {
  display: none !important;
}
body.general-fast-v36 [data-general-results] > [data-filter-item][hidden] {
  display: none !important;
}

@media (max-width: 640px) {
  body.general-fast-v36 .collector-general-kpis-v36 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.general-fast-v36 .collector-general-kpis-v36 > div {
    padding: 7px 8px;
  }
  body.general-fast-v36 .collector-general-kpis-v36 strong {
    font-size: 18px;
  }
  body.general-fast-v36 .collector-general-kpis-v36 span {
    font-size: 10.5px;
  }
  body.general-fast-v36 .collector-general-tab-v36 {
    padding: 8px 12px;
    font-size: 12px;
  }
  body.general-fast-v36 .collector-general-loan-head-v36,
  body.general-fast-v36 .collector-general-loan-meta-v36,
  body.general-fast-v36 .collector-route-row-v36 {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.general-fast-v36 .collector-general-pay-form-v36 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v36 .collector-general-pay-form-v36 .btn {
    width: 100%;
  }
}

@media (max-width: 420px) {
  body.general-fast-v36 .collector-general-loan-head-v36,
  body.general-fast-v36 .collector-general-loan-meta-v36,
  body.general-fast-v36 .collector-route-row-v36 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v36 .collector-general-loan-meta-v36 strong {
    justify-self: start;
  }
  body.general-fast-v36 .collector-general-metrics-v36 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v36 .collector-route-controls-v36 {
    justify-content: flex-start;
  }
}


/* ===== v37 general cobrador: compactación fuerte sin perder legibilidad ===== */
body.general-fast-v37 .collector-general-hero-v36 {
  gap: 6px;
  padding: 12px 13px;
}
body.general-fast-v37 .collector-general-hero-copy-v36 h2 {
  margin-bottom: 1px;
  font-size: 20px;
}
body.general-fast-v37 .collector-general-hero-copy-v36 span {
  font-size: 12px;
}
body.general-fast-v37 .collector-general-kpis-v36 {
  gap: 5px;
}
body.general-fast-v37 .collector-general-kpis-v36 > div {
  padding: 7px 8px;
  border-radius: 12px;
}
body.general-fast-v37 .collector-general-kpis-v36 span {
  font-size: 10.8px;
}
body.general-fast-v37 .collector-general-kpis-v36 strong {
  font-size: 18px;
  line-height: 1.05;
}
body.general-fast-v37 .collector-general-tabs-v36 {
  gap: 5px;
  padding-bottom: 2px;
}
body.general-fast-v37 .collector-general-tab-v36 {
  padding: 7px 11px;
  border-radius: 15px;
  font-size: 12px;
  min-height: 0;
}
body.general-fast-v37 .collector-panel-v36 {
  gap: 6px;
  padding: 11px 12px;
}
body.general-fast-v37 .collector-panel-head-v35 h2 {
  font-size: 17px;
}
body.general-fast-v37 .collector-panel-head-v35 span {
  font-size: 11.5px;
}
body.general-fast-v37 .collector-general-search-v35 .search-input-wrap {
  min-height: 40px;
}
body.general-fast-v37 .collector-general-search-v35 input {
  font-size: 13px;
}
body.general-fast-v37 .collector-chip-rail-v35 {
  gap: 5px;
}
body.general-fast-v37 .collector-chip-v35 {
  padding: 7px 10px;
  gap: 5px;
  font-size: 11.5px;
  min-height: 34px;
}
body.general-fast-v37 .collector-chip-v35 strong {
  min-width: 20px;
  height: 20px;
  font-size: 10px;
}
body.general-fast-v37 .collector-card-list-v35,
body.general-fast-v37 .collector-card-list-v36,
body.general-fast-v37 .collector-route-list-v36 {
  gap: 6px;
}
body.general-fast-v37 .collector-card-v35 {
  padding: 9px 10px;
  border-radius: 16px;
  gap: 8px;
}
body.general-fast-v37 .collector-card-main-v35 {
  gap: 2px;
}
body.general-fast-v37 .collector-card-main-v35 strong {
  font-size: 15px;
  line-height: 1.18;
}
body.general-fast-v37 .collector-card-main-v35 p {
  font-size: 11.5px;
  line-height: 1.2;
}
body.general-fast-v37 .collector-card-main-v35 small {
  font-size: 10.2px;
  line-height: 1.2;
}
body.general-fast-v37 .collector-card-side-v35 {
  min-width: 70px;
  gap: 4px;
}
body.general-fast-v37 .collector-card-side-v35 strong {
  font-size: 15px;
  line-height: 1;
}
body.general-fast-v37 .collector-card-v35 .client-contact-actions,
body.general-fast-v37 .collector-general-loan-v36 .client-contact-actions {
  gap: 5px;
}
body.general-fast-v37 .collector-card-v35 .client-contact-button,
body.general-fast-v37 .collector-general-loan-v36 .client-contact-button {
  width: 30px;
  height: 30px;
}
body.general-fast-v37 .collector-general-loan-v36 {
  border-radius: 18px;
}
body.general-fast-v37 .collector-general-loan-summary-v36 {
  padding: 8px 10px;
  gap: 5px;
}
body.general-fast-v37 .collector-general-loan-head-v36 {
  gap: 8px;
  align-items: center;
}
body.general-fast-v37 .collector-general-loan-head-v36 .client-name-inline {
  gap: 6px;
}
body.general-fast-v37 .collector-general-loan-head-v36 strong {
  font-size: 16px;
  line-height: 1.15;
}
body.general-fast-v37 .collector-general-loan-v36 .list-badge,
body.general-fast-v37 .collector-card-v35 .list-badge {
  padding: 5px 8px;
  min-height: 28px;
  font-size: 11px;
}
body.general-fast-v37 .collector-general-loan-meta-v36 {
  gap: 8px;
  align-items: center;
}
body.general-fast-v37 .collector-general-loan-meta-v36 p {
  font-size: 11px;
  line-height: 1.15;
}
body.general-fast-v37 .collector-general-loan-meta-v36 strong {
  font-size: 15px;
}
body.general-fast-v37 .collector-general-loan-body-v36 {
  gap: 6px;
  padding: 0 10px 10px;
}
body.general-fast-v37 .collector-general-metrics-v36 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
body.general-fast-v37 .collector-general-metrics-v36 > div {
  padding: 7px 8px;
  border-radius: 14px;
  gap: 3px;
}
body.general-fast-v37 .collector-general-metrics-v36 span {
  font-size: 10.5px;
}
body.general-fast-v37 .collector-general-metrics-v36 strong {
  font-size: 13px;
  line-height: 1.14;
}
body.general-fast-v37 .info-note-compact-v36 {
  padding: 6px 8px;
  border-radius: 13px;
  font-size: 11.2px;
  line-height: 1.28;
}
body.general-fast-v37 .collector-general-pay-form-v36 {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) auto;
  gap: 6px;
}
body.general-fast-v37 .collector-general-pay-form-v36 span {
  margin-bottom: 3px;
  font-size: 10.5px;
}
body.general-fast-v37 .collector-general-pay-form-v36 input {
  min-height: 38px;
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 13px;
}
body.general-fast-v37 .collector-general-pay-form-v36 .btn,
body.general-fast-v37 .collector-general-actions-v36 .btn {
  min-height: 38px;
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 12px;
}
body.general-fast-v37 .collector-general-actions-v36 {
  gap: 6px;
}
body.general-fast-v37 .collector-route-row-v36 {
  padding: 8px 9px;
  border-radius: 14px;
  gap: 8px;
}
body.general-fast-v37 .collector-route-row-main-v34 strong {
  font-size: 14px;
  line-height: 1.15;
}
body.general-fast-v37 .collector-route-row-main-v34 span {
  font-size: 10.5px;
}
body.general-fast-v37 .collector-route-controls-v36 {
  gap: 5px;
}
body.general-fast-v37 .route-arrow-btn-v36 {
  min-width: 34px;
  min-height: 30px;
}
body.general-fast-v37 .empty-state {
  padding: 12px 10px;
  font-size: 12px;
}

@media (max-width: 640px) {
  body.general-fast-v37 .collector-general-hero-v36 {
    padding: 10px 11px;
  }
  body.general-fast-v37 .collector-general-hero-copy-v36 h2 {
    font-size: 18px;
  }
  body.general-fast-v37 .collector-general-kpis-v36 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.general-fast-v37 .collector-general-kpis-v36 > div {
    padding: 6px 7px;
  }
  body.general-fast-v37 .collector-general-kpis-v36 strong {
    font-size: 17px;
  }
  body.general-fast-v37 .collector-general-kpis-v36 span {
    font-size: 10px;
  }
  body.general-fast-v37 .collector-general-tab-v36 {
    padding: 7px 10px;
    font-size: 11.5px;
  }
  body.general-fast-v37 .collector-card-v35,
  body.general-fast-v37 .collector-route-row-v36,
  body.general-fast-v37 .collector-general-loan-head-v36,
  body.general-fast-v37 .collector-general-loan-meta-v36 {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.general-fast-v37 .collector-card-main-v35 strong,
  body.general-fast-v37 .collector-general-loan-head-v36 strong {
    font-size: 14.5px;
  }
  body.general-fast-v37 .collector-general-pay-form-v36 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v37 .collector-general-pay-form-v36 .btn {
    width: 100%;
  }
}

@media (max-width: 420px) {
  body.general-fast-v37 .collector-general-loan-head-v36,
  body.general-fast-v37 .collector-general-loan-meta-v36,
  body.general-fast-v37 .collector-card-v35 {
    grid-template-columns: 1fr;
  }
  body.general-fast-v37 .collector-general-loan-meta-v36 strong,
  body.general-fast-v37 .collector-card-side-v35 {
    justify-self: start;
    text-align: left;
  }
  body.general-fast-v37 .collector-general-metrics-v36 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* === Ajustes compactos cobrador v38 === */
body.collector-dashboard-v38 .collector-greeting-card {
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
}
body.collector-dashboard-v38 .collector-greeting-copy h2 {
  font-size: clamp(17px, 3.6vw, 24px);
  margin-bottom: 4px;
}
body.collector-dashboard-v38 .collector-greeting-copy span {
  font-size: 12.5px;
  line-height: 1.34;
}
body.collector-dashboard-v38 .collector-greeting-eyebrow {
  margin-bottom: 5px;
  font-size: 11.5px;
}
body.collector-dashboard-v38 .collector-live-box {
  gap: 4px;
  padding: 10px 10px;
  border-radius: 15px;
}
body.collector-dashboard-v38 .collector-live-date,
body.collector-dashboard-v38 .collector-live-box small {
  font-size: 11.5px;
}
body.collector-dashboard-v38 .collector-live-time {
  font-size: clamp(18px, 4.2vw, 25px);
}
body.collector-dashboard-v38 .mobile-summary-grid.icon-summary-grid,
body.collector-dashboard-v38 .segment-control-color,
body.collector-dashboard-v38 .stack-list,
body.collector-dashboard-v38 .route-list {
  gap: 8px;
}
body.collector-dashboard-v38 .icon-summary-card.metric-card-center {
  padding: 12px 10px;
  border-radius: 16px;
  min-height: 0;
  gap: 8px;
}
body.collector-dashboard-v38 .metric-icon-badge {
  width: 40px;
  height: 40px;
}
body.collector-dashboard-v38 .icon-summary-card.metric-card-center .metric-label {
  font-size: 11.5px;
}
body.collector-dashboard-v38 .icon-summary-card.metric-card-center .metric-value {
  font-size: clamp(16px, 4vw, 22px);
}
body.collector-dashboard-v38 .focus-card-soft {
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
}
body.collector-dashboard-v38 .focus-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
}
body.collector-dashboard-v38 .focus-card-icon img {
  width: 22px;
  height: 22px;
}
body.collector-dashboard-v38 .focus-overline,
body.collector-dashboard-v38 .focus-helper {
  font-size: 11.5px;
}
body.collector-dashboard-v38 .focus-card-soft h2 {
  font-size: clamp(16px, 3.6vw, 22px);
  margin: 0;
}
body.collector-dashboard-v38 .focus-card-soft strong,
body.collector-dashboard-v38 .focus-card strong {
  font-size: clamp(19px, 4.6vw, 28px);
}
body.collector-dashboard-v38 .segment-control-color .segment-button {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 12.5px;
}
body.collector-dashboard-v38 .route-item {
  border-radius: 16px;
}
body.collector-dashboard-v38 .route-item summary {
  padding: 12px 13px;
}
body.collector-dashboard-v38 .route-item-body {
  padding: 0 13px 13px;
  gap: 10px;
}
body.collector-dashboard-v38 .route-summary-main strong,
body.collector-dashboard-v38 .stack-main strong {
  font-size: 16px;
  line-height: 1.12;
}
body.collector-dashboard-v38 .route-summary-main span,
body.collector-dashboard-v38 .stack-main p,
body.collector-dashboard-v38 .stack-card-status p {
  font-size: 12px;
  line-height: 1.28;
}
body.collector-dashboard-v38 .route-summary-side {
  gap: 6px;
}
body.collector-dashboard-v38 .route-summary-side strong,
body.collector-dashboard-v38 .stack-side strong {
  font-size: 16px;
}
body.collector-dashboard-v38 .client-finance-grid {
  gap: 8px;
}
body.collector-dashboard-v38 .client-finance-grid > div {
  padding: 10px 11px;
  border-radius: 14px;
}
body.collector-dashboard-v38 .client-finance-grid span {
  font-size: 11px;
  margin-bottom: 4px;
}
body.collector-dashboard-v38 .client-finance-grid strong {
  font-size: 13.5px;
  line-height: 1.14;
}
body.collector-dashboard-v38 .info-note {
  padding: 9px 11px;
  border-radius: 14px;
  font-size: 12px;
  line-height: 1.32;
}
body.collector-dashboard-v38 .route-actions,
body.collector-dashboard-v38 .inline-form {
  gap: 6px;
}
body.collector-dashboard-v38 .btn,
body.collector-renewals-v38 .btn,
body.collector-expense-v38 .btn,
body.collector-summaries-v38 .btn {
  border-radius: 12px;
}
body.collector-dashboard-v38 .btn-sm {
  padding: 8px 11px;
  font-size: 12px;
}
body.collector-dashboard-v38 .list-badge,
body.collector-dashboard-v38 .status-pill {
  padding: 5px 10px;
  font-size: 11.5px;
}
body.collector-dashboard-v38 .client-contact-button,
body.collector-renewals-v38 .client-contact-button,
body.collector-summaries-v38 .client-contact-button {
  width: 28px;
  height: 28px;
}
body.collector-dashboard-v38 .client-contact-button img,
body.collector-renewals-v38 .client-contact-button img,
body.collector-summaries-v38 .client-contact-button img {
  width: 14px;
  height: 14px;
}
body.collector-dashboard-v38 .client-name-inline,
body.collector-renewals-v38 .client-name-inline,
body.collector-summaries-v38 .client-name-inline {
  gap: 6px;
}

body.collector-renewals-v38 .panel-card,
body.collector-expense-v38 .panel-card,
body.collector-summaries-v38 .panel-card {
  padding: 18px;
  border-radius: 20px;
}
body.collector-renewals-v38 .panel-header,
body.collector-expense-v38 .panel-header,
body.collector-summaries-v38 .panel-header {
  margin-bottom: 12px;
}
body.collector-renewals-v38 .panel-header h2,
body.collector-expense-v38 .panel-header h2,
body.collector-summaries-v38 .panel-header h2 {
  font-size: 18px;
}
body.collector-renewals-v38 .panel-header span,
body.collector-expense-v38 .panel-header span,
body.collector-summaries-v38 .panel-header span {
  font-size: 12px;
  line-height: 1.3;
}
body.collector-renewals-v38 .search-bar,
body.collector-expense-v38 .form-grid,
body.collector-summaries-v38 .collector-summary-accordion {
  gap: 10px;
}
body.collector-renewals-v38 .search-input-wrap input,
body.collector-expense-v38 input,
body.collector-expense-v38 select,
body.collector-expense-v38 textarea,
body.collector-renewals-v38 input,
body.collector-renewals-v38 select,
body.collector-renewals-v38 textarea {
  padding: 10px 12px;
  border-radius: 12px;
}
body.collector-renewals-v38 label > span,
body.collector-expense-v38 label > span {
  font-size: 11.5px;
}
body.collector-expense-v38 .closure-stats-grid {
  gap: 8px;
}
body.collector-expense-v38 .closure-stats-grid > div {
  padding: 10px 11px;
  border-radius: 14px;
}
body.collector-expense-v38 .closure-stats-grid span {
  font-size: 11.5px;
  margin-bottom: 4px;
}
body.collector-expense-v38 .closure-stats-grid strong {
  font-size: 17px;
}
body.collector-expense-v38 .info-note {
  padding: 9px 11px;
  font-size: 12px;
  border-radius: 13px;
}
body.collector-expense-v38 .mini-card,
body.collector-summaries-v38 .mini-card {
  padding: 11px 12px;
  border-radius: 15px;
}
body.collector-expense-v38 .mini-card span,
body.collector-summaries-v38 .mini-card span {
  font-size: 11.5px;
  line-height: 1.25;
}
body.collector-expense-v38 .mini-card strong,
body.collector-summaries-v38 .mini-card strong {
  font-size: 14px;
  line-height: 1.14;
}
body.collector-renewals-v38 .route-item,
body.collector-summaries-v38 .collector-summary-card {
  border-radius: 16px;
}
body.collector-renewals-v38 .route-item summary,
body.collector-summaries-v38 .collector-summary-head {
  padding: 12px 13px;
}
body.collector-renewals-v38 .route-item-body,
body.collector-summaries-v38 .collector-summary-body {
  padding: 0 13px 13px;
  gap: 10px;
}
body.collector-renewals-v38 .route-summary-main strong,
body.collector-summaries-v38 .collector-summary-head strong {
  font-size: 15px;
}
body.collector-renewals-v38 .route-summary-main span,
body.collector-summaries-v38 .collector-summary-head span {
  font-size: 11.5px;
}
body.collector-renewals-v38 .route-summary-side strong {
  font-size: 15px;
}
body.collector-renewals-v38 .renewal-metrics {
  gap: 8px;
  margin-bottom: 10px;
}
body.collector-renewals-v38 .renewal-metrics > div,
body.collector-renewals-v38 .renewal-option-card {
  padding: 10px 11px;
  border-radius: 14px;
}
body.collector-renewals-v38 .renewal-metrics span {
  font-size: 11px;
  margin-bottom: 4px;
}
body.collector-renewals-v38 .renewal-metrics strong {
  font-size: 13.5px;
}
body.collector-renewals-v38 .renewal-options-grid {
  gap: 10px;
}
body.collector-renewals-v38 .renewal-option-card h3 {
  margin-bottom: 4px;
  font-size: 15px;
}
body.collector-renewals-v38 .renewal-option-card p {
  margin-bottom: 10px;
  font-size: 11.5px;
  line-height: 1.3;
}
body.collector-renewals-v38 .renewal-option-card label {
  margin-bottom: 8px;
}
body.collector-renewals-v38 .renewal-option-card .btn {
  padding: 10px 12px;
  font-size: 12px;
}
body.collector-summaries-v38 .collector-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
body.collector-summaries-v38 .collector-summary-head > div {
  display: grid;
  gap: 3px;
}
body.collector-summaries-v38 .collector-summary-head strong {
  font-size: 15px;
}
body.collector-summaries-v38 .collector-summary-head span {
  font-size: 11.5px;
}
body.collector-summaries-v38 .list-cards {
  gap: 8px;
}
body.collector-summaries-v38 .list-badge,
body.collector-renewals-v38 .list-badge {
  padding: 4px 9px;
  font-size: 11px;
}

@media (max-width: 720px) {
  body.collector-dashboard-v38 .collector-greeting-card {
    grid-template-columns: 1fr;
  }
  body.collector-dashboard-v38 .collector-live-box {
    justify-items: center;
  }
  body.collector-dashboard-v38 .mobile-summary-grid.icon-summary-grid,
  body.collector-dashboard-v38 .client-finance-grid,
  body.collector-expense-v38 .closure-stats-grid,
  body.collector-renewals-v38 .renewal-metrics,
  body.collector-renewals-v38 .renewal-options-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.collector-dashboard-v38 .route-item summary,
  body.collector-renewals-v38 .route-item summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }
}

@media (max-width: 560px) {
  body.collector-dashboard-v38 .mobile-summary-grid.icon-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.collector-dashboard-v38 .client-finance-grid,
  body.collector-expense-v38 .closure-stats-grid,
  body.collector-renewals-v38 .renewal-metrics,
  body.collector-renewals-v38 .renewal-options-grid {
    grid-template-columns: 1fr;
  }
  body.collector-dashboard-v38 .segment-control-color .segment-button {
    padding: 8px 10px;
    font-size: 11.5px;
  }
  body.collector-dashboard-v38 .route-item summary,
  body.collector-renewals-v38 .route-item summary {
    grid-template-columns: 1fr;
  }
  body.collector-dashboard-v38 .route-summary-side,
  body.collector-renewals-v38 .route-summary-side {
    justify-items: start;
    text-align: left;
  }
  body.collector-summaries-v38 .collector-summary-head {
    align-items: flex-start;
  }
}

body.general-fast-v37 .collector-general-tab-v36.tab-theme-prestamos-hoy {
  background: linear-gradient(135deg, #0f766e, #10b981);
}
body.general-fast-v37 .collector-general-tab-v36.tab-theme-prestamos-hoy.is-active {
  box-shadow: 0 10px 20px rgba(16, 185, 129, 0.28);
}
body.general-fast-v37 .collector-card-v35.state-primary .list-badge-primary {
  background: rgba(255,255,255,.9);
  color: #12344d;
  border-color: rgba(255,255,255,.5);
}


/* ===== v42 paperwork + general compact fixes ===== */
body.owner-paperwork-v42 .paperwork-panel-v42 {
  overflow: hidden;
}

.paperwork-pending-list-v42 {
  display: grid;
  gap: 16px;
}

.paperwork-pending-card-v42 {
  border-radius: 24px;
  border: 1px solid rgba(44, 94, 255, 0.28);
  background: linear-gradient(180deg, rgba(47, 102, 241, 0.96), rgba(36, 80, 211, 0.98));
  box-shadow: 0 16px 34px rgba(22, 54, 140, 0.18);
  padding: 18px;
  color: #fff;
}

.paperwork-pending-head-v42 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.paperwork-pending-client-v42 strong {
  display: block;
  font-size: 1.28rem;
  line-height: 1.2;
  margin-bottom: 6px;
}

.paperwork-pending-client-v42 p {
  margin: 0 0 4px;
  color: rgba(255,255,255,0.94);
  line-height: 1.35;
}

.paperwork-pending-side-v42 {
  min-width: 148px;
  display: grid;
  justify-items: end;
  gap: 10px;
}

.paperwork-pending-side-v42 strong {
  font-size: 1.7rem;
  line-height: 1;
  color: #fff;
}

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

.paperwork-form-v42 label,
.paperwork-form-v42 .paperwork-help-v42,
.paperwork-form-v42 .paperwork-submit-v42 {
  min-width: 0;
}

.paperwork-form-v42 label span {
  display: block;
  margin-bottom: 7px;
  font-size: 0.94rem;
  font-weight: 700;
  color: rgba(255,255,255,0.96);
}

.paperwork-form-v42 input {
  width: 100%;
  min-height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.96);
  color: #24364f;
  padding: 12px 16px;
  font-size: 1rem;
}

.paperwork-form-v42 input:disabled {
  opacity: 1;
  color: #24364f;
}

.paperwork-note-v42 {
  grid-column: span 2;
}

.paperwork-help-v42 {
  border-radius: 18px;
  border: 1px dashed rgba(255,255,255,0.26);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
  padding: 14px 16px;
  font-size: 0.94rem;
  line-height: 1.45;
}

.paperwork-submit-v42 {
  min-height: 52px;
  border-radius: 18px;
  font-size: 1rem;
  align-self: end;
}

body.general-fast-v42 .collector-general-loan-v36 {
  border-radius: 22px;
}

body.general-fast-v42 .collector-general-loan-summary-v36 {
  padding: 14px 18px;
}

body.general-fast-v42 .collector-general-loan-head-v36 strong {
  font-size: 1.15rem;
}

body.general-fast-v42 .collector-general-loan-meta-v36 p {
  font-size: 0.96rem;
}

body.general-fast-v42 .collector-general-loan-meta-v36 strong {
  font-size: 1.1rem;
}

body.general-fast-v42 .collector-general-loan-body-v36 {
  padding: 14px 18px 18px;
  gap: 12px;
}

body.general-fast-v42 .collector-general-metrics-v36 {
  gap: 10px;
}

body.general-fast-v42 .collector-general-metrics-v36 > div {
  padding: 12px 14px;
  min-height: 82px;
}

body.general-fast-v42 .collector-general-metrics-v36 span {
  font-size: 0.9rem;
}

body.general-fast-v42 .collector-general-metrics-v36 strong {
  font-size: 1rem;
}

body.general-fast-v42 .collector-general-pay-form-v36 {
  gap: 10px;
}

body.general-fast-v42 .collector-general-pay-form-v36 input {
  min-height: 44px;
  padding: 10px 12px;
}

body.general-fast-v42 .collector-history-box-v42 {
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
}

body.general-fast-v42 .collector-history-box-v42 > summary {
  list-style: none;
  cursor: pointer;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.general-fast-v42 .collector-history-box-v42 > summary::-webkit-details-marker {
  display: none;
}

body.general-fast-v42 .collector-history-box-v42[open] > summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

body.general-fast-v42 .collector-history-list-v42 {
  display: grid;
  gap: 8px;
  padding: 12px;
}

body.general-fast-v42 .collector-history-item-v42 {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(7, 16, 40, 0.16);
  border: 1px solid rgba(255,255,255,0.08);
}

body.general-fast-v42 .collector-history-item-v42 > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.general-fast-v42 .collector-history-item-v42 strong,
body.general-fast-v42 .collector-history-item-v42 b {
  font-size: 0.98rem;
  color: #fff;
}

body.general-fast-v42 .collector-history-item-v42 span,
body.general-fast-v42 .collector-history-item-v42 small {
  color: rgba(255,255,255,0.86);
  font-size: 0.86rem;
  line-height: 1.35;
}

body.general-fast-v42 .collector-general-actions-v42 {
  margin-top: 2px;
}

.empty-state-inline-v42 {
  padding: 8px 10px;
  border-radius: 12px;
}

@media (max-width: 980px) {
  .paperwork-form-v42 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .paperwork-note-v42,
  .paperwork-help-v42,
  .paperwork-submit-v42 {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .paperwork-pending-card-v42 {
    padding: 14px;
    border-radius: 20px;
  }
  .paperwork-pending-head-v42 {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .paperwork-pending-side-v42 {
    min-width: 0;
    justify-items: start;
  }
  .paperwork-pending-side-v42 strong {
    font-size: 1.4rem;
  }
  .paperwork-form-v42 {
    grid-template-columns: 1fr;
  }
  .paperwork-note-v42,
  .paperwork-help-v42,
  .paperwork-submit-v42 {
    grid-column: span 1;
  }
  body.general-fast-v42 .collector-general-loan-summary-v36,
  body.general-fast-v42 .collector-general-loan-body-v36 {
    padding-left: 14px;
    padding-right: 14px;
  }
  body.general-fast-v42 .collector-general-metrics-v36 {
    grid-template-columns: 1fr 1fr;
  }
  body.general-fast-v42 .collector-general-metrics-v36 > div {
    min-height: 74px;
  }
  body.general-fast-v42 .collector-history-item-v42 > div {
    flex-direction: row;
  }
}


/* ===== v43 general compact + stronger flash feedback ===== */
body.flash-strong-v43 .flash {
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.10);
  border-width: 1px;
  border-style: solid;
}

body.flash-strong-v43 .flash::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: currentColor;
  opacity: 0.9;
}

body.flash-strong-v43 .flash-success {
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.20), rgba(34, 197, 94, 0.12));
  border-color: rgba(34, 197, 94, 0.38);
  color: #d9ffe8;
}

body.flash-strong-v43.theme-owner .flash-success {
  background: linear-gradient(180deg, #dcfce7 0%, #f0fdf4 100%);
  border-color: #86efac;
  color: #166534;
}

body.flash-strong-v43 .flash-error {
  background: linear-gradient(180deg, rgba(239, 68, 68, 0.20), rgba(239, 68, 68, 0.12));
  border-color: rgba(239, 68, 68, 0.36);
}

body.flash-strong-v43.theme-owner .flash-error {
  background: linear-gradient(180deg, #fee2e2 0%, #fff1f2 100%);
  border-color: #fda4af;
  color: #b42318;
}

body.flash-strong-v43 .flash-warning {
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.20), rgba(245, 158, 11, 0.12));
  border-color: rgba(245, 158, 11, 0.34);
}

body.general-fast-v43 .collector-general-hero-v36 {
  gap: 8px;
  padding: 14px 16px;
  border-radius: 20px;
}

body.general-fast-v43 .collector-general-hero-copy-v36 h2 {
  margin-bottom: 2px;
  font-size: clamp(17px, 4vw, 24px);
}

body.general-fast-v43 .collector-general-hero-copy-v36 span,
body.general-fast-v43 .collector-general-overline-v34 {
  font-size: 11.5px;
  line-height: 1.3;
}

body.general-fast-v43 .collector-general-kpis-v36,
body.general-fast-v43 .collector-general-kpis-v35 {
  gap: 6px;
}

body.general-fast-v43 .collector-general-kpis-v36 > div,
body.general-fast-v43 .collector-general-kpis-v35 > div {
  padding: 7px 9px;
  border-radius: 14px;
}

body.general-fast-v43 .collector-general-kpis-v36 span,
body.general-fast-v43 .collector-general-kpis-v35 span {
  font-size: 10.5px;
  line-height: 1.2;
}

body.general-fast-v43 .collector-general-kpis-v36 strong,
body.general-fast-v43 .collector-general-kpis-v35 strong {
  font-size: 18px;
  line-height: 1;
}

body.general-fast-v43 .collector-general-tabs-v36,
body.general-fast-v43 .collector-general-tabs-v35,
body.general-fast-v43 .collector-general-tabs-v34 {
  gap: 6px;
  padding-bottom: 2px;
}

body.general-fast-v43 .collector-general-tab-v36,
body.general-fast-v43 .collector-general-tab-v35,
body.general-fast-v43 .collector-general-tab-v34 {
  padding: 8px 12px;
  border-radius: 15px;
  font-size: 12px;
  line-height: 1.1;
}

body.general-fast-v43 .collector-panel-v36,
body.general-fast-v43 .collector-panel-v35 {
  gap: 6px;
  padding: 14px 15px;
  border-radius: 18px;
}

body.general-fast-v43 .collector-panel-head-v35 h2 {
  font-size: 17px;
}

body.general-fast-v43 .collector-panel-head-v35 span {
  font-size: 11.5px;
  line-height: 1.28;
}

body.general-fast-v43 .collector-general-search-v35 .search-input-wrap {
  min-height: 42px;
}

body.general-fast-v43 .collector-general-search-v35 input {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 12.5px;
}

body.general-fast-v43 .collector-chip-rail-v35 {
  gap: 5px;
}

body.general-fast-v43 .collector-chip-v35 {
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  gap: 5px;
}

body.general-fast-v43 .collector-chip-v35 strong {
  min-width: 20px;
  height: 20px;
  font-size: 10.5px;
}

body.general-fast-v43 .collector-card-list-v35,
body.general-fast-v43 .collector-card-list-v36,
body.general-fast-v43 .collector-route-list-v36 {
  gap: 5px;
}

body.general-fast-v43 .collector-card-v35 {
  padding: 8px 10px;
  border-radius: 16px;
  gap: 8px;
}

body.general-fast-v43 .collector-card-main-v35 {
  gap: 2px;
}

body.general-fast-v43 .collector-card-main-v35 strong {
  font-size: 15px;
  line-height: 1.15;
}

body.general-fast-v43 .collector-card-main-v35 p {
  font-size: 11.2px;
  line-height: 1.18;
}

body.general-fast-v43 .collector-card-main-v35 small {
  font-size: 10.2px;
  line-height: 1.18;
}

body.general-fast-v43 .collector-card-side-v35 {
  min-width: 66px;
  gap: 4px;
}

body.general-fast-v43 .collector-card-side-v35 strong {
  font-size: 15px;
  line-height: 1;
}

body.general-fast-v43 .collector-card-v35 .client-contact-actions,
body.general-fast-v43 .collector-general-loan-v36 .client-contact-actions {
  gap: 4px;
}

body.general-fast-v43 .collector-card-v35 .client-contact-button,
body.general-fast-v43 .collector-general-loan-v36 .client-contact-button {
  width: 28px;
  height: 28px;
}

body.general-fast-v43 .collector-card-v35 .client-contact-button img,
body.general-fast-v43 .collector-general-loan-v36 .client-contact-button img {
  width: 14px;
  height: 14px;
}

body.general-fast-v43 .collector-card-v35 .list-badge,
body.general-fast-v43 .collector-general-loan-v36 .list-badge {
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10.8px;
}

body.general-fast-v43 .collector-general-loan-v36 {
  border-radius: 18px;
}

body.general-fast-v43 .collector-general-loan-summary-v36 {
  padding: 8px 10px;
  gap: 5px;
}

body.general-fast-v43 .collector-general-loan-head-v36 {
  gap: 6px;
  align-items: center;
}

body.general-fast-v43 .collector-general-loan-head-v36 strong {
  font-size: 15.5px;
  line-height: 1.15;
}

body.general-fast-v43 .collector-general-loan-meta-v36 {
  gap: 6px;
  align-items: center;
}

body.general-fast-v43 .collector-general-loan-meta-v36 p {
  font-size: 11px;
  line-height: 1.16;
}

body.general-fast-v43 .collector-general-loan-meta-v36 strong {
  font-size: 15px;
  line-height: 1;
}

body.general-fast-v43 .collector-general-loan-body-v36 {
  padding: 0 10px 10px;
  gap: 6px;
}

body.general-fast-v43 .collector-general-metrics-v36 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

body.general-fast-v43 .collector-general-metrics-v36 > div {
  padding: 7px 8px;
  min-height: 0;
  border-radius: 13px;
  gap: 2px;
}

body.general-fast-v43 .collector-general-metrics-v36 span {
  font-size: 10.2px;
  line-height: 1.2;
}

body.general-fast-v43 .collector-general-metrics-v36 strong {
  font-size: 12.8px;
  line-height: 1.12;
}

body.general-fast-v43 .info-note-compact-v36,
body.general-fast-v43 .empty-state-inline-v42 {
  padding: 6px 8px;
  border-radius: 12px;
  font-size: 10.8px;
  line-height: 1.26;
}

body.general-fast-v43 .collector-general-pay-form-v36 {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr) auto;
  gap: 6px;
}

body.general-fast-v43 .collector-general-pay-form-v36 label {
  gap: 0;
}

body.general-fast-v43 .collector-general-pay-form-v36 span {
  margin-bottom: 3px;
  font-size: 10.2px;
}

body.general-fast-v43 .collector-general-pay-form-v36 input {
  min-height: 36px;
  border-radius: 11px;
  padding: 7px 9px;
  font-size: 12px;
}

body.general-fast-v43 .collector-general-pay-form-v36 .btn,
body.general-fast-v43 .collector-general-actions-v36 .btn,
body.general-fast-v43 .collector-history-box-v42 > summary.btn {
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 11px;
  font-size: 11.5px;
}

body.general-fast-v43 .collector-history-list-v42 {
  gap: 6px;
  padding: 10px;
}

body.general-fast-v43 .collector-history-item-v42 {
  gap: 3px;
  padding: 8px 10px;
  border-radius: 12px;
}

body.general-fast-v43 .collector-history-item-v42 > div {
  gap: 8px;
}

body.general-fast-v43 .collector-history-item-v42 strong,
body.general-fast-v43 .collector-history-item-v42 b {
  font-size: 12.2px;
}

body.general-fast-v43 .collector-history-item-v42 span,
body.general-fast-v43 .collector-history-item-v42 small {
  font-size: 10.3px;
  line-height: 1.24;
}

body.general-fast-v43 .collector-general-actions-v42 {
  margin-top: 0;
}

body.general-fast-v43 .collector-general-actions-v36 {
  gap: 5px;
}

body.general-fast-v43 .collector-route-row-v36 {
  padding: 8px 9px;
  border-radius: 13px;
  gap: 8px;
}

body.general-fast-v43 .collector-route-row-main-v34 strong {
  font-size: 14px;
  line-height: 1.12;
}

body.general-fast-v43 .collector-route-row-main-v34 span {
  font-size: 10.3px;
}

body.general-fast-v43 .collector-route-controls-v36 {
  gap: 4px;
}

body.general-fast-v43 .route-arrow-btn-v36 {
  min-width: 30px;
  min-height: 28px;
  font-size: 12px;
}

body.general-fast-v43 .empty-state {
  padding: 10px 9px;
  border-radius: 12px;
  font-size: 11.5px;
}

@media (max-width: 640px) {
  body.general-fast-v43 .collector-general-hero-v36 {
    padding: 10px 11px;
  }

  body.general-fast-v43 .collector-general-kpis-v36,
  body.general-fast-v43 .collector-general-kpis-v35 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.general-fast-v43 .collector-general-kpis-v36 > div,
  body.general-fast-v43 .collector-general-kpis-v35 > div {
    padding: 6px 7px;
  }

  body.general-fast-v43 .collector-general-kpis-v36 strong,
  body.general-fast-v43 .collector-general-kpis-v35 strong {
    font-size: 17px;
  }

  body.general-fast-v43 .collector-general-kpis-v36 span,
  body.general-fast-v43 .collector-general-kpis-v35 span {
    font-size: 9.8px;
  }

  body.general-fast-v43 .collector-general-tab-v36,
  body.general-fast-v43 .collector-general-tab-v35,
  body.general-fast-v43 .collector-general-tab-v34 {
    padding: 7px 10px;
    font-size: 11.2px;
  }

  body.general-fast-v43 .collector-card-v35,
  body.general-fast-v43 .collector-route-row-v36,
  body.general-fast-v43 .collector-general-loan-head-v36,
  body.general-fast-v43 .collector-general-loan-meta-v36 {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.general-fast-v43 .collector-general-pay-form-v36 {
    grid-template-columns: 1fr;
  }

  body.general-fast-v43 .collector-general-pay-form-v36 .btn,
  body.general-fast-v43 .collector-history-box-v42 > summary.btn {
    width: 100%;
  }
}

@media (max-width: 420px) {
  body.general-fast-v43 .collector-card-v35,
  body.general-fast-v43 .collector-general-loan-head-v36,
  body.general-fast-v43 .collector-general-loan-meta-v36 {
    grid-template-columns: 1fr;
  }

  body.general-fast-v43 .collector-card-side-v35,
  body.general-fast-v43 .collector-general-loan-meta-v36 strong {
    justify-self: start;
    text-align: left;
  }

  body.general-fast-v43 .collector-general-metrics-v36 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ===== v44 company name + reduced amounts + stronger success contrast ===== */
body.flash-strong-v43 .flash-success {
  background: linear-gradient(180deg, #128a4a 0%, #0f6f3d 100%);
  border-color: #0f6f3d;
  color: #f4fff8;
  box-shadow: 0 14px 28px rgba(15, 111, 61, 0.26);
}

body.flash-strong-v43 .flash-success::before {
  background: rgba(255,255,255,0.92);
}

body.flash-strong-v43 .flash-error {
  color: #fff3f2;
}

body.flash-strong-v43 .flash-warning {
  color: #fff6df;
}

body.owner-paperwork-v42 .paperwork-form-v42 input[disabled],
body.owner-paperwork-v42 .paperwork-form-v42 input[readonly] {
  font-weight: 800;
  letter-spacing: 0.01em;
}

body.owner-paperwork-v42 .paperwork-pending-side-v42 strong,
body.owner-paperwork-v42 .paperwork-form-v42 label span {
  text-shadow: none;
}

.owner-delete-page {
  display: grid;
  gap: 1rem;
}
.owner-delete-segments {
  margin-top: .25rem;
}
.owner-delete-panel {
  display: grid;
  gap: .9rem;
}
.owner-delete-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: center;
}
.owner-delete-route-groups,
.owner-delete-list {
  display: grid;
  gap: .85rem;
}
.owner-delete-route-group {
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(15, 35, 60, .08);
  border-radius: 1.25rem;
  padding: .9rem;
  box-shadow: 0 14px 30px rgba(15, 35, 60, .08);
}
.owner-delete-route-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .8rem;
}
.owner-delete-route-head h3 {
  margin: 0;
  font-size: 1rem;
  color: #17314b;
}
.owner-delete-route-head span {
  font-size: .85rem;
  color: #5b7390;
}
.owner-delete-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: .85rem;
  align-items: center;
  padding: .75rem .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(26, 46, 79, .08);
  background: #fff;
}
.owner-delete-main {
  min-width: 0;
}
.owner-delete-main strong {
  display: block;
  font-size: .98rem;
  color: #183551;
  margin-bottom: .15rem;
}
.owner-delete-main p,
.owner-delete-main small {
  display: block;
  margin: 0;
  color: #5a6f88;
  line-height: 1.35;
}
.owner-delete-main p {
  font-size: .93rem;
}
.owner-delete-main small {
  font-size: .8rem;
}
.owner-delete-side {
  display: grid;
  gap: .3rem;
  justify-items: end;
  text-align: right;
}
.owner-delete-side strong {
  font-size: 1rem;
  color: #17314b;
}
.owner-delete-form {
  margin: 0;
}
.owner-delete-btn {
  white-space: nowrap;
}
.owner-delete-btn-danger {
  border-color: rgba(196, 49, 49, .25);
  color: #9f1f1f;
}
.owner-delete-list-clients .owner-delete-item {
  grid-template-columns: minmax(0,1fr) auto;
}
@media (max-width: 860px) {
  .owner-delete-search-form {
    grid-template-columns: 1fr;
  }
  .owner-delete-item {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .owner-delete-side {
    justify-items: start;
    text-align: left;
  }
  .owner-delete-form .btn,
  .owner-delete-search-form .btn {
    width: 100%;
  }
}


/* ===== v46 paperwork grouped by route + compact ===== */
body.owner-paperwork-v46 .paperwork-summary-grid-v46,
body.owner-paperwork-v46 .paperwork-actions-grid-v46,
body.owner-paperwork-v46 .paperwork-history-grid-v46 {
  gap: 14px;
}
body.owner-paperwork-v46 .paperwork-summary-card-v46 .owner-detail-metrics {
  gap: 10px;
}
body.owner-paperwork-v46 .paperwork-metrics-v46 > div {
  min-height: 78px;
}
body.owner-paperwork-v46 .paperwork-reserve-highlight-v46 {
  background: linear-gradient(135deg, rgba(19, 114, 78, 0.98), rgba(22, 163, 74, 0.96));
  color: #fff;
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 18px 36px rgba(16, 185, 129, 0.18);
  display: grid;
  gap: 8px;
  align-content: center;
}
body.owner-paperwork-v46 .paperwork-reserve-label-v46 {
  font-size: 0.94rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.86);
}
body.owner-paperwork-v46 .paperwork-reserve-highlight-v46 strong {
  font-size: clamp(2rem, 3.4vw, 2.7rem);
  line-height: 1;
  color: #fff;
}
body.owner-paperwork-v46 .paperwork-reserve-highlight-v46 p {
  margin: 0;
  color: rgba(255,255,255,0.92);
  line-height: 1.45;
}
body.owner-paperwork-v46 .paperwork-pending-list-v46 {
  gap: 12px;
}
body.owner-paperwork-v46 .paperwork-pending-card-v46 {
  padding: 14px 16px;
  border-radius: 20px;
}
body.owner-paperwork-v46 .paperwork-pending-head-v46 {
  margin-bottom: 10px;
  gap: 10px;
}
body.owner-paperwork-v46 .paperwork-pending-client-v46 strong {
  font-size: 1.15rem;
  margin-bottom: 4px;
}
body.owner-paperwork-v46 .paperwork-pending-client-v46 p {
  margin-bottom: 2px;
  font-size: 0.95rem;
}
body.owner-paperwork-v46 .paperwork-pending-side-v46 {
  min-width: 120px;
  gap: 6px;
}
body.owner-paperwork-v46 .paperwork-pending-side-v46 strong {
  font-size: 1.4rem;
}
body.owner-paperwork-v46 .paperwork-form-v46 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.owner-paperwork-v46 .paperwork-form-v46 label span {
  margin-bottom: 5px;
  font-size: 0.86rem;
}
body.owner-paperwork-v46 .paperwork-form-v46 input,
body.owner-paperwork-v46 .paperwork-form-v46 select,
body.owner-paperwork-v46 .paperwork-apply-form-v46 input,
body.owner-paperwork-v46 .paperwork-apply-form-v46 select,
body.owner-paperwork-v46 .paperwork-withdraw-form-v46 input {
  min-height: 44px;
  border-radius: 14px;
  padding: 10px 14px;
  font-size: 0.96rem;
}
body.owner-paperwork-v46 .paperwork-note-v46 {
  grid-column: span 2;
}
body.owner-paperwork-v46 .paperwork-help-v46 {
  padding: 12px 14px;
  font-size: 0.88rem;
  line-height: 1.4;
}
body.owner-paperwork-v46 .paperwork-submit-v46 {
  min-height: 44px;
}
body.owner-paperwork-v46 .paperwork-inline-note-v46 {
  min-height: 44px;
  display: flex;
  align-items: center;
  margin: 0;
}
body.owner-paperwork-v46 .paperwork-action-card-v46 .panel-header {
  margin-bottom: 12px;
}
body.owner-paperwork-v46 .paperwork-action-card-v46 .form-grid {
  gap: 10px;
}
body.owner-paperwork-v46 .stack-list-compact-v46 {
  gap: 10px;
}
body.owner-paperwork-v46 .stack-card-compact-v46 {
  padding: 12px 14px;
  border-radius: 16px;
}
body.owner-paperwork-v46 .stack-card-compact-v46 .stack-main strong {
  font-size: 1rem;
}
body.owner-paperwork-v46 .stack-card-compact-v46 .stack-main p {
  margin: 2px 0;
}
body.owner-paperwork-v46 .stack-card-compact-v46 .stack-side strong {
  font-size: 1.1rem;
}
@media (max-width: 980px) {
  body.owner-paperwork-v46 .paperwork-form-v46 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.owner-paperwork-v46 .paperwork-note-v46,
  body.owner-paperwork-v46 .paperwork-help-v46,
  body.owner-paperwork-v46 .paperwork-submit-v46 {
    grid-column: span 2;
  }
}
@media (max-width: 640px) {
  body.owner-paperwork-v46 .paperwork-summary-grid-v46,
  body.owner-paperwork-v46 .paperwork-actions-grid-v46,
  body.owner-paperwork-v46 .paperwork-history-grid-v46 {
    gap: 12px;
  }
  body.owner-paperwork-v46 .paperwork-reserve-highlight-v46 strong {
    font-size: 1.9rem;
  }
  body.owner-paperwork-v46 .paperwork-pending-card-v46 {
    padding: 12px;
    border-radius: 18px;
  }
  body.owner-paperwork-v46 .paperwork-pending-head-v46 {
    flex-direction: column;
    align-items: stretch;
  }
  body.owner-paperwork-v46 .paperwork-pending-side-v46 {
    min-width: 0;
    justify-items: start;
  }
  body.owner-paperwork-v46 .paperwork-form-v46 {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  body.owner-paperwork-v46 .paperwork-note-v46,
  body.owner-paperwork-v46 .paperwork-help-v46,
  body.owner-paperwork-v46 .paperwork-submit-v46 {
    grid-column: span 1;
  }
  body.owner-paperwork-v46 .paperwork-metrics-v46 {
    grid-template-columns: 1fr 1fr;
  }
  body.owner-paperwork-v46 .paperwork-metrics-v46 > div {
    min-height: 70px;
  }
}


/* ===== v47 collectors fixes: faltantes, compact payments, stronger success flash ===== */
body.flash-strong-v43 .flash-success {
  background: linear-gradient(135deg, #15803d 0%, #16a34a 100%) !important;
  border: 1px solid #0f7a35 !important;
  color: #f4fff7 !important;
  box-shadow: 0 10px 24px rgba(21, 128, 61, 0.22);
}
body.flash-strong-v43 .flash-success *,
body.flash-strong-v43 .flash-success strong,
body.flash-strong-v43 .flash-success span {
  color: #f4fff7 !important;
}
body.flash-strong-v43 .flash-success::before {
  background: rgba(255,255,255,0.18) !important;
}
body.collector-clients-compact-v47 .owner-client-payment-box {
  margin-top: 10px;
  border-radius: 14px;
}
body.collector-clients-compact-v47 .owner-client-payment-box > summary {
  padding: 10px 12px;
  font-size: 0.92rem;
}
body.collector-clients-compact-v47 .owner-client-payment-box .owner-collapsible-body {
  padding: 8px 10px 10px;
}
body.collector-clients-compact-v47 .owner-client-payment-box .stack-list {
  gap: 8px;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 {
  padding: 10px 12px;
  border-radius: 14px;
  min-height: auto;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-main strong {
  font-size: 0.95rem;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-main p {
  margin-top: 2px;
  font-size: 0.78rem;
  line-height: 1.35;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-side {
  gap: 6px;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-side strong {
  font-size: 0.94rem;
}
body.collector-clients-compact-v47 .stack-card-compact-v47 .list-badge {
  padding: 5px 9px;
  font-size: 0.7rem;
}
@media (max-width: 640px) {
  body.collector-clients-compact-v47 .stack-card-compact-v47 {
    padding: 9px 10px;
  }
  body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-main strong {
    font-size: 0.9rem;
  }
  body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-main p {
    font-size: 0.74rem;
  }
  body.collector-clients-compact-v47 .stack-card-compact-v47 .stack-side strong {
    font-size: 0.88rem;
  }
}

/* v48 owner day summary + password */
.owner-day-summary-v48 .content-inner,
.collector-password-card {
  max-width: 1100px;
}

.owner-route-selector-v48 .form-grid,
.collector-password-card .form-grid {
  align-items: end;
}

.owner-route-selector-v48 input[readonly] {
  background: rgba(237, 242, 247, 0.95);
  color: #234;
}

.owner-summary-body-v48 .collector-general-metrics-v36 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.owner-client-payment-box-compact-v48 .owner-collapsible-body {
  padding-top: 10px;
}

.stack-list-compact-v48 {
  gap: 8px;
}

.stack-list-compact-v48 .stack-card {
  padding: 10px 12px;
}

.stack-list-compact-v48 .stack-main p {
  font-size: 0.8rem;
}

@media (max-width: 720px) {
  .owner-route-selector-v48 .form-grid,
  .collector-password-card .form-grid {
    grid-template-columns: 1fr;
  }

  .owner-summary-body-v48 .collector-general-metrics-v36 {
    grid-template-columns: 1fr;
  }
}

/* ===== v49 owner day summary contrast + clearer client separation ===== */
body.owner-day-summary-v49 .content-inner {
  max-width: 1320px;
}

body.owner-day-summary-v49 .collector-general-tabs-v36 {
  gap: 10px;
  margin: 6px 0 14px;
  padding-bottom: 4px;
}

body.owner-day-summary-v49 .collector-general-tab-v36 {
  border: 0;
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
  opacity: 0.97;
}

body.owner-day-summary-v49 .collector-general-tab-v36.tab-theme-general {
  background: linear-gradient(135deg, #1f3754, #334155);
}

body.owner-day-summary-v49 .collector-general-tab-v36.tab-theme-prestamos-hoy {
  background: linear-gradient(135deg, #166534, #15803d);
}

body.owner-day-summary-v49 .collector-general-tab-v36.tab-theme-cobros {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
}

body.owner-day-summary-v49 .collector-general-tab-v36:hover,
body.owner-day-summary-v49 .collector-general-tab-v36.is-active {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}

body.owner-day-summary-v49 .collector-card-list-v35,
body.owner-day-summary-v49 .collector-card-list-v36 {
  gap: 14px;
}

body.owner-day-summary-v49 .collector-general-loan-v36 {
  background: #ffffff;
  color: #17324a;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

body.owner-day-summary-v49 .collector-general-loan-v36.state-primary,
body.owner-day-summary-v49 .collector-general-loan-v36.state-danger,
body.owner-day-summary-v49 .collector-general-loan-v36.state-critical,
body.owner-day-summary-v49 .collector-general-loan-v36.state-success {
  background: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-summary-v36 {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

body.owner-day-summary-v49 .collector-general-loan-v36.state-primary .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  color: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-v36.state-danger .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #b91c1c, #dc2626);
  color: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-v36.state-critical .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #5b21b6, #7c3aed);
  color: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-v36.state-success .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #166534, #16a34a);
  color: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-head-v36,
body.owner-day-summary-v49 .collector-general-loan-meta-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

body.owner-day-summary-v49 .collector-general-loan-head-v36 strong {
  color: #ffffff;
}

body.owner-day-summary-v49 .collector-general-loan-meta-v36 p,
body.owner-day-summary-v49 .collector-general-loan-meta-v36 strong {
  color: #f8fbff;
}

body.owner-day-summary-v49 .collector-general-loan-v36 .client-contact-button {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

body.owner-day-summary-v49 .collector-general-loan-v36 .client-contact-button img {
  filter: brightness(0) invert(1);
}

body.owner-day-summary-v49 .collector-general-loan-v36 .list-badge {
  background: rgba(255, 255, 255, 0.92);
  color: #17324a;
  border-color: rgba(255, 255, 255, 0.55);
  font-weight: 800;
}

body.owner-day-summary-v49 .owner-summary-body-v48 {
  background: linear-gradient(180deg, #fff7d6 0%, #f8fafc 100%);
  color: #17324a;
  padding: 14px 16px 16px;
  display: grid;
  gap: 10px;
}

body.owner-day-summary-v49 .owner-summary-body-v48 .collector-general-metrics-v36 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.owner-day-summary-v49 .owner-summary-body-v48 .collector-general-metrics-v36 > div {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(191, 219, 254, 0.62);
  border-radius: 16px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

body.owner-day-summary-v49 .owner-summary-body-v48 .collector-general-metrics-v36 span {
  color: #5f7084;
  font-size: 11px;
  line-height: 1.2;
}

body.owner-day-summary-v49 .owner-summary-body-v48 .collector-general-metrics-v36 strong {
  color: #18324b;
  font-size: 1.05rem;
  line-height: 1.2;
  font-weight: 800;
  word-break: break-word;
}

body.owner-day-summary-v49 .owner-summary-body-v48 .info-note-compact-v36 {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.94);
  color: #475569;
  padding: 8px 10px;
}

body.owner-day-summary-v49 .owner-client-payment-box-compact-v48 {
  border-radius: 16px;
  border: 1px solid rgba(191, 219, 254, 0.6);
  background: rgba(255, 255, 255, 0.75);
}

body.owner-day-summary-v49 .owner-client-payment-box-compact-v48 > summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 800;
  color: #234161;
}

body.owner-day-summary-v49 .owner-client-payment-box-compact-v48 > summary::-webkit-details-marker {
  display: none;
}

body.owner-day-summary-v49 .stack-list-compact-v48 .stack-card {
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.92);
}

body.owner-day-summary-v49 .collector-card-v35 {
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
}

body.owner-day-summary-v49 .collector-card-v35.state-primary {
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

body.owner-day-summary-v49 .collector-card-v35.state-success {
  background: linear-gradient(135deg, #dcfce7, #f0fdf4);
}

body.owner-day-summary-v49 .collector-card-v35 .list-badge-primary,
body.owner-day-summary-v49 .collector-card-v35 .list-badge-success {
  color: #17324a;
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(148, 163, 184, 0.24);
}

@media (max-width: 900px) {
  body.owner-day-summary-v49 .owner-summary-body-v48 .collector-general-metrics-v36 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.owner-day-summary-v49 .collector-general-tabs-v36 {
    gap: 8px;
  }

  body.owner-day-summary-v49 .collector-general-tab-v36 {
    padding: 8px 11px;
    font-size: 11.5px;
  }

  body.owner-day-summary-v49 .collector-general-loan-summary-v36 {
    padding: 12px 12px;
  }

  body.owner-day-summary-v49 .collector-general-loan-head-v36,
  body.owner-day-summary-v49 .collector-general-loan-meta-v36 {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.owner-day-summary-v49 .collector-general-loan-meta-v36 strong {
    justify-self: start;
    text-align: left;
  }

  body.owner-day-summary-v49 .owner-summary-body-v48 {
    padding: 12px 12px 14px;
  }
}


/* ===== v50 owner day summary: compact layout + strong contrast ===== */
body.owner-day-summary-v50 .content-inner {
  max-width: 1280px;
}

body.owner-day-summary-v50 .collector-general-tabs-v36 {
  gap: 8px;
  margin: 4px 0 12px;
}

body.owner-day-summary-v50 .collector-general-tab-v36 {
  border: 1px solid rgba(15, 23, 42, 0.10);
  color: #ffffff;
  font-weight: 800;
  opacity: 1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
}

body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-general,
body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-general.is-active {
  background: linear-gradient(135deg, #24364f, #334155);
}

body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-prestamos-hoy,
body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-prestamos-hoy.is-active {
  background: linear-gradient(135deg, #166534, #15803d);
}

body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-cobros,
body.owner-day-summary-v50 .collector-general-tab-v36.tab-theme-cobros.is-active {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
}

body.owner-day-summary-v50 .collector-general-tab-v36:hover,
body.owner-day-summary-v50 .collector-general-tab-v36.is-active {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.18);
}

body.owner-day-summary-v50 .collector-card-list-v35,
body.owner-day-summary-v50 .collector-card-list-v36 {
  gap: 10px;
}

body.owner-day-summary-v50 .collector-card-v35 {
  padding: 10px 12px;
  border-radius: 16px;
  gap: 10px;
  border: 1px solid rgba(148, 163, 184, 0.20);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
}

body.owner-day-summary-v50 .collector-card-v35.state-primary {
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
}

body.owner-day-summary-v50 .collector-card-v35.state-success {
  background: linear-gradient(135deg, #dcfce7, #f0fdf4);
}

body.owner-day-summary-v50 .collector-card-main-v35 {
  gap: 3px;
}

body.owner-day-summary-v50 .collector-card-main-v35 strong,
body.owner-day-summary-v50 .collector-card-main-v35 p,
body.owner-day-summary-v50 .collector-card-main-v35 small,
body.owner-day-summary-v50 .collector-card-side-v35 strong {
  color: #16324a;
}

body.owner-day-summary-v50 .collector-card-main-v35 strong {
  font-size: 15px;
  line-height: 1.2;
}

body.owner-day-summary-v50 .collector-card-main-v35 p {
  font-size: 11.5px;
  line-height: 1.3;
}

body.owner-day-summary-v50 .collector-card-main-v35 small {
  font-size: 10.5px;
  line-height: 1.3;
  color: #4f647a;
}

body.owner-day-summary-v50 .collector-card-side-v35 {
  min-width: 72px;
  gap: 4px;
}

body.owner-day-summary-v50 .collector-card-side-v35 strong {
  font-size: 15px;
}

body.owner-day-summary-v50 .collector-card-v35 .list-badge {
  background: rgba(255, 255, 255, 0.96);
  color: #16324a;
  border-color: rgba(148, 163, 184, 0.24);
  font-weight: 800;
}

body.owner-day-summary-v50 .collector-general-loan-v36 {
  background: #ffffff;
  color: #17324a;
  border: 1px solid rgba(148, 163, 184, 0.20);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

body.owner-day-summary-v50 .collector-general-loan-summary-v36 {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

body.owner-day-summary-v50 .collector-general-loan-v36.state-primary .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  color: #ffffff;
}

body.owner-day-summary-v50 .collector-general-loan-v36.state-danger .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #b91c1c, #dc2626);
  color: #ffffff;
}

body.owner-day-summary-v50 .collector-general-loan-v36.state-critical .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #5b21b6, #7c3aed);
  color: #ffffff;
}

body.owner-day-summary-v50 .collector-general-loan-v36.state-success .collector-general-loan-summary-v36 {
  background: linear-gradient(135deg, #166534, #16a34a);
  color: #ffffff;
}

body.owner-day-summary-v50 .collector-general-loan-head-v36,
body.owner-day-summary-v50 .collector-general-loan-meta-v36 {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

body.owner-day-summary-v50 .collector-general-loan-head-v36 .client-name-inline {
  gap: 8px;
  align-items: center;
}

body.owner-day-summary-v50 .collector-general-loan-head-v36 strong {
  color: #ffffff;
  font-size: 15px;
  line-height: 1.2;
}

body.owner-day-summary-v50 .collector-general-loan-meta-v36 p {
  color: rgba(248, 250, 252, 0.96);
  font-size: 11px;
  margin: 0;
}

body.owner-day-summary-v50 .collector-general-loan-meta-v36 strong {
  color: #ffffff;
  font-size: 15px;
  line-height: 1;
}

body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-actions {
  gap: 6px;
}

body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-button,
body.owner-day-summary-v50 .collector-card-v35 .client-contact-button {
  width: 31px;
  height: 31px;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.30);
  box-shadow: none;
}

body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-button:hover,
body.owner-day-summary-v50 .collector-card-v35 .client-contact-button:hover {
  background: rgba(255, 255, 255, 0.30);
}

body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-button img,
body.owner-day-summary-v50 .collector-card-v35 .client-contact-button img {
  width: 18px;
  height: 18px;
  filter: none;
}

body.owner-day-summary-v50 .collector-general-loan-v36 .list-badge {
  background: rgba(255, 255, 255, 0.95);
  color: #17324a;
  border-color: rgba(255, 255, 255, 0.65);
  font-weight: 800;
}

body.owner-day-summary-v50 .owner-summary-body-v48 {
  background: linear-gradient(180deg, #fff9dd 0%, #f8fafc 100%);
  color: #17324a;
  padding: 10px 12px 12px;
  display: grid;
  gap: 8px;
}

body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 > div {
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(191, 219, 254, 0.70);
  border-radius: 14px;
  padding: 8px 10px;
  gap: 3px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 span {
  color: #5a6d83;
  font-size: 10.5px;
  line-height: 1.2;
}

body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 strong {
  color: #17324a;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}

body.owner-day-summary-v50 .owner-summary-body-v48 .info-note-compact-v36 {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: #475569;
  padding: 7px 10px;
  font-size: 11px;
  line-height: 1.35;
}

body.owner-day-summary-v50 .owner-client-payment-box-compact-v48 {
  border-radius: 14px;
  border: 1px solid rgba(191, 219, 254, 0.55);
  background: rgba(255,255,255,0.82);
}

body.owner-day-summary-v50 .owner-client-payment-box-compact-v48 > summary {
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
  color: #234161;
}

body.owner-day-summary-v50 .stack-list-compact-v48 .stack-card {
  border-radius: 12px;
  border: 1px solid rgba(226,232,240,0.92);
}

body.owner-day-summary-v50 .stack-list-compact-v48 .stack-main strong,
body.owner-day-summary-v50 .stack-list-compact-v48 .stack-main p,
body.owner-day-summary-v50 .stack-list-compact-v48 .stack-side strong {
  color: #17324a;
}

body.owner-day-summary-v50 .stack-list-compact-v48 .stack-main strong {
  font-size: 12px;
}

body.owner-day-summary-v50 .stack-list-compact-v48 .stack-main p {
  font-size: 10.5px;
}

body.owner-day-summary-v50 .stack-list-compact-v48 .stack-side strong {
  font-size: 12px;
}

@media (max-width: 1024px) {
  body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.owner-day-summary-v50 .collector-general-tabs-v36 {
    gap: 7px;
  }

  body.owner-day-summary-v50 .collector-general-tab-v36 {
    padding: 8px 11px;
    font-size: 11px;
  }

  body.owner-day-summary-v50 .collector-general-loan-summary-v36 {
    padding: 9px 10px;
  }

  body.owner-day-summary-v50 .collector-general-loan-head-v36,
  body.owner-day-summary-v50 .collector-general-loan-meta-v36 {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.owner-day-summary-v50 .collector-general-loan-meta-v36 strong {
    justify-self: start;
    text-align: left;
  }

  body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-button,
  body.owner-day-summary-v50 .collector-card-v35 .client-contact-button {
    width: 29px;
    height: 29px;
  }

  body.owner-day-summary-v50 .collector-general-loan-v36 .client-contact-button img,
  body.owner-day-summary-v50 .collector-card-v35 .client-contact-button img {
    width: 17px;
    height: 17px;
  }

  body.owner-day-summary-v50 .owner-summary-body-v48 {
    padding: 9px 10px 11px;
  }

  body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  body.owner-day-summary-v50 .owner-summary-body-v48 .collector-general-metrics-v36 > div {
    padding: 7px 9px;
  }
}


/* ===== v51 owner day summary contrast emergency fix ===== */
body.owner-day-summary-v50 .collector-card-v35.state-primary {
  background: linear-gradient(135deg, #d7e9ff, #cfe3ff) !important;
}

body.owner-day-summary-v50 .collector-card-v35.state-success {
  background: linear-gradient(135deg, #d8f6df, #cef0d8) !important;
}

body.owner-day-summary-v50 .collector-card-v35,
body.owner-day-summary-v50 .collector-card-v35 * {
  text-shadow: none !important;
}

body.owner-day-summary-v50 .collector-card-v35 .collector-card-main-v35,
body.owner-day-summary-v50 .collector-card-v35 .collector-card-side-v35 {
  color: #17324a !important;
}

body.owner-day-summary-v50 .collector-card-v35 .collector-card-main-v35 strong,
body.owner-day-summary-v50 .collector-card-v35 .collector-card-main-v35 p,
body.owner-day-summary-v50 .collector-card-v35 .collector-card-main-v35 small,
body.owner-day-summary-v50 .collector-card-v35 .collector-card-side-v35 strong,
body.owner-day-summary-v50 .collector-card-v35 .collector-card-side-v35 span,
body.owner-day-summary-v50 .collector-card-v35 .client-name-inline strong,
body.owner-day-summary-v50 .collector-card-v35 .client-name-inline p,
body.owner-day-summary-v50 .collector-card-v35 .client-name-inline small {
  color: #17324a !important;
}

body.owner-day-summary-v50 .collector-card-v35 .collector-card-main-v35 small {
  color: #44586f !important;
  font-weight: 600;
}

body.owner-day-summary-v50 .collector-card-v35 .list-badge,
body.owner-day-summary-v50 .collector-card-v35 .list-badge-primary,
body.owner-day-summary-v50 .collector-card-v35 .list-badge-success {
  background: #ffffff !important;
  color: #17324a !important;
  border-color: rgba(148, 163, 184, 0.4) !important;
}

body.owner-day-summary-v50 .collector-card-v35 .client-contact-button {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(148, 163, 184, 0.34) !important;
}

body.owner-day-summary-v50 .collector-card-v35 .client-contact-button img {
  filter: none !important;
}

body.owner-day-summary-v50 .collector-card-v35 .client-contact-button:hover {
  background: #ffffff !important;
}

/* ===== v52 owner paperwork by route + closure drilldown compact ===== */
body.owner-paperwork-v52 .paperwork-route-picker-v52 {
  border: 1px solid rgba(107, 33, 168, 0.18);
  box-shadow: 0 18px 40px rgba(107, 33, 168, 0.08);
}
body.owner-paperwork-v52 .paperwork-route-switcher-v52 {
  gap: 10px;
  margin-bottom: 12px;
}
body.owner-paperwork-v52 .paperwork-route-switcher-v52 .segment-button {
  min-height: 44px;
  font-weight: 800;
}
body.owner-paperwork-v52 .paperwork-route-active-v52 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(88, 28, 135, 0.96), rgba(126, 34, 206, 0.92));
  color: #fff;
}
body.owner-paperwork-v52 .paperwork-route-active-v52 span {
  font-size: 0.86rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.86);
}
body.owner-paperwork-v52 .paperwork-route-active-v52 strong {
  font-size: 1.08rem;
  color: #fff;
}
body.owner-paperwork-v52 .paperwork-pending-list-v52 {
  display: grid;
  gap: 12px;
}
body.owner-paperwork-v52 .paperwork-route-card-v52 {
  border: 1px solid rgba(107, 33, 168, 0.15);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}
body.owner-paperwork-v52 .paperwork-route-summary-v52 {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: linear-gradient(135deg, rgba(76, 29, 149, 0.98), rgba(88, 28, 135, 0.96));
  color: #fff;
}
body.owner-paperwork-v52 .paperwork-route-summary-v52::-webkit-details-marker {
  display: none;
}
body.owner-paperwork-v52 .paperwork-route-kicker-v52 {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}
body.owner-paperwork-v52 .paperwork-route-summary-main-v52 strong,
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 strong {
  color: #fff;
}
body.owner-paperwork-v52 .paperwork-route-summary-main-v52 strong {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 4px;
}
body.owner-paperwork-v52 .paperwork-route-summary-main-v52 small {
  color: rgba(255,255,255,0.88);
}
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 {
  min-width: 148px;
  display: grid;
  gap: 4px;
  justify-items: end;
}
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 span {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,255,255,0.86);
}
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 strong {
  font-size: 1.45rem;
}
body.owner-paperwork-v52 .paperwork-route-body-v52 {
  padding: 14px 16px 16px;
  display: grid;
  gap: 12px;
  background: #ffffff;
}
body.owner-paperwork-v52 .paperwork-route-clients-v52 {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #dbeafe;
}
body.owner-paperwork-v52 .paperwork-route-clients-title-v52 {
  font-size: 0.9rem;
  font-weight: 800;
  color: #1e293b;
}
body.owner-paperwork-v52 .paperwork-route-client-list-v52 {
  display: grid;
  gap: 8px;
}
body.owner-paperwork-v52 .paperwork-route-client-line-v52 {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(120px, .9fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
}
body.owner-paperwork-v52 .paperwork-route-client-line-v52 strong,
body.owner-paperwork-v52 .paperwork-route-client-line-v52 span,
body.owner-paperwork-v52 .paperwork-route-client-line-v52 small {
  color: #1e293b;
}
body.owner-paperwork-v52 .paperwork-route-client-line-v52 span,
body.owner-paperwork-v52 .paperwork-route-client-line-v52 small {
  font-size: 0.9rem;
}
body.owner-paperwork-v52 .paperwork-form-v52 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.owner-paperwork-v52 .paperwork-note-v52,
body.owner-paperwork-v52 .paperwork-help-v52,
body.owner-paperwork-v52 .paperwork-submit-v52 {
  grid-column: span 3;
}

.owner-closure-summary-v52 strong {
  display: block;
  font-size: 1.12rem;
}
.owner-closure-route-focus-v52 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(30, 64, 175, 0.08), rgba(37, 99, 235, 0.16));
  border: 1px solid rgba(59, 130, 246, 0.18);
  margin-bottom: 12px;
}
.owner-closure-route-focus-v52 strong {
  color: #1e3a8a;
  font-size: 1.05rem;
}
.owner-closure-route-focus-v52 span {
  color: #334155;
  font-weight: 700;
}
.owner-closure-metrics-v52 {
  margin-bottom: 12px;
}
.owner-closure-segments-v52 {
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.owner-closure-segments-v52 .segment-button {
  min-height: 42px;
  font-weight: 800;
}
.owner-closure-inline-panel-v52 {
  margin-bottom: 14px;
}
.owner-closure-mini-list-v52 {
  display: grid;
  gap: 8px;
}
.owner-closure-mini-item-v52 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid transparent;
}
.owner-closure-mini-item-success-v52 {
  background: #dcfce7;
  border-color: #86efac;
}
.owner-closure-mini-item-primary-v52 {
  background: #dbeafe;
  border-color: #93c5fd;
}
.owner-closure-mini-item-warning-v52 {
  background: #fef3c7;
  border-color: #fcd34d;
}
.owner-closure-mini-main-v52 {
  display: grid;
  gap: 2px;
}
.owner-closure-mini-main-v52 strong,
.owner-closure-mini-main-v52 span,
.owner-closure-mini-main-v52 small,
.owner-closure-mini-amount-v52 {
  color: #111827;
}
.owner-closure-mini-main-v52 strong {
  font-size: 0.98rem;
}
.owner-closure-mini-main-v52 span,
.owner-closure-mini-main-v52 small {
  font-size: 0.85rem;
}
.owner-closure-mini-amount-v52 {
  font-size: 1.05rem;
  font-weight: 900;
}

.owner-closure-total-boxes-v53 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.owner-closure-total-box-v53 {
  padding: 10px 12px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #bfdbfe;
  display: grid;
  gap: 4px;
  text-align: center;
}
.owner-closure-total-box-v53 span {
  color: #475569;
  font-size: 0.86rem;
  font-weight: 700;
}
.owner-closure-total-box-v53 strong {
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
}
.owner-closure-total-box-paper-v53 {
  background: #fff7ed;
  border-color: #fdba74;
}
.owner-closure-mini-item-paper-v53 {
  background: #f5e8ff;
  border-color: #c084fc;
}
.owner-closure-panel-total-v53 {
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 16px;
  background: #334155;
  color: #fff;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.owner-closure-panel-total-primary-v53 {
  background: #1d4ed8;
}
.owner-closure-panel-total-warning-v53 {
  background: #b45309;
}
.owner-closure-panel-total-paper-v53 {
  background: #6d28d9;
}
.owner-withdraw-question-v53 {
  display: block;
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff7ed;
  border: 1px solid #fdba74;
  color: #9a3412;
  font-weight: 900;
}

@media (max-width: 900px) {
  body.owner-paperwork-v52 .paperwork-form-v52 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.owner-paperwork-v52 .paperwork-note-v52,
  body.owner-paperwork-v52 .paperwork-help-v52,
  body.owner-paperwork-v52 .paperwork-submit-v52 {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  body.owner-paperwork-v52 .paperwork-route-active-v52,
  body.owner-paperwork-v52 .paperwork-route-summary-v52,
  .owner-closure-route-focus-v52,
  .owner-closure-mini-item-v52,
  body.owner-paperwork-v52 .paperwork-route-client-line-v52,
  .owner-closure-total-boxes-v53 {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  body.owner-paperwork-v52 .paperwork-form-v52 {
    grid-template-columns: 1fr;
  }
  body.owner-paperwork-v52 .paperwork-note-v52,
  body.owner-paperwork-v52 .paperwork-help-v52,
  body.owner-paperwork-v52 .paperwork-submit-v52 {
    grid-column: span 1;
  }
  body.owner-paperwork-v52 .paperwork-route-summary-side-v52,
  .owner-closure-mini-amount-v52 {
    justify-self: start;
  }
}

/* ===== v54 owner paperwork contrast + mobile owner menu without inner scrollbar ===== */
body.owner-paperwork-v52 .paperwork-route-picker-v52 {
  border-color: rgba(30, 64, 175, 0.14);
  box-shadow: 0 18px 40px rgba(30, 64, 175, 0.08);
}
body.owner-paperwork-v52 .paperwork-route-active-v52 {
  background: linear-gradient(135deg, #123a72, #1d4f91);
  color: #ffffff;
}
body.owner-paperwork-v52 .paperwork-route-active-v52 span,
body.owner-paperwork-v52 .paperwork-route-active-v52 strong {
  color: #ffffff;
}
body.owner-paperwork-v52 .paperwork-route-card-v52 {
  border-color: rgba(29, 78, 216, 0.14);
}
body.owner-paperwork-v52 .paperwork-route-summary-v52 {
  background: linear-gradient(135deg, #123a72, #1d4f91);
  color: #ffffff;
  position: relative;
}
body.owner-paperwork-v52 .paperwork-route-summary-v52::after {
  content: 'Tocar para ver detalle';
  position: absolute;
  right: 18px;
  bottom: 12px;
  font-size: 0.76rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
}
body.owner-paperwork-v52 details[open] > .paperwork-route-summary-v52::after {
  content: 'Tocar para ocultar detalle';
}
body.owner-paperwork-v52 .paperwork-route-kicker-v52,
body.owner-paperwork-v52 .paperwork-route-summary-main-v52 strong,
body.owner-paperwork-v52 .paperwork-route-summary-main-v52 small,
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 span,
body.owner-paperwork-v52 .paperwork-route-summary-side-v52 strong {
  color: #ffffff;
}
body.owner-paperwork-v52 .paperwork-route-body-v52 {
  background: #f8fafc;
}
body.owner-paperwork-v52 .paperwork-route-clients-v52 {
  background: #ffffff;
  border-color: #dbeafe;
}
body.owner-paperwork-v52 .paperwork-route-clients-title-v52 {
  color: #0f172a;
}
body.owner-paperwork-v52 .paperwork-route-client-line-v52 {
  background: #eff6ff;
  border-color: #bfdbfe;
}
body.owner-paperwork-v52 .paperwork-route-client-line-v52 strong,
body.owner-paperwork-v52 .paperwork-route-client-line-v52 span,
body.owner-paperwork-v52 .paperwork-route-client-line-v52 small {
  color: #0f172a;
}
body.owner-paperwork-v52 .paperwork-form-v52 label span,
body.owner-paperwork-v52 .paperwork-help-v52,
body.owner-paperwork-v52 .paperwork-panel-v42 .panel-header span,
body.owner-paperwork-v52 .paperwork-action-card-v46 .panel-header span,
body.owner-paperwork-v52 .paperwork-inline-note-v46,
body.owner-paperwork-v52 .stack-card-compact-v46 .stack-main p,
body.owner-paperwork-v52 .stack-card-compact-v46 .stack-side small {
  color: #334155;
}
body.owner-paperwork-v52 .paperwork-form-v52 input,
body.owner-paperwork-v52 .paperwork-apply-form-v46 input,
body.owner-paperwork-v52 .paperwork-apply-form-v46 select,
body.owner-paperwork-v52 .paperwork-withdraw-form-v46 input {
  background: #ffffff;
  color: #0f172a;
  border-color: #cbd5e1;
}
body.owner-paperwork-v52 .paperwork-form-v52 input[disabled],
body.owner-paperwork-v52 .paperwork-form-v52 input[readonly] {
  background: #e2e8f0;
  color: #0f172a;
  border-color: #cbd5e1;
  -webkit-text-fill-color: #0f172a;
  opacity: 1;
}
body.owner-paperwork-v52 .paperwork-help-v52 {
  background: #e0f2fe;
  border: 1px solid #93c5fd;
  border-radius: 14px;
  padding: 12px 14px;
}
body.owner-paperwork-v52 .paperwork-submit-v52 {
  min-height: 46px;
}
body.owner-paperwork-v52 .stack-card-compact-v46 {
  background: #ffffff;
  border-color: #dbeafe;
}

body.owner-paperwork-v52 .paperwork-reserve-highlight-v46 {
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
  border-color: #60a5fa;
  color: #0f172a;
}
body.owner-paperwork-v52 .paperwork-reserve-highlight-v46 .paperwork-reserve-label-v46,
body.owner-paperwork-v52 .paperwork-reserve-highlight-v46 strong,
body.owner-paperwork-v52 .paperwork-reserve-highlight-v46 p {
  color: #0f172a;
}
body.owner-paperwork-v52 .paperwork-reserve-highlight-v46 .paperwork-reserve-label-v46 {
  color: #1e3a8a;
}
@media (max-width: 900px) {
  body.theme-owner.sidebar-open {
    overflow: auto;
  }
  .theme-owner .sidebar-backdrop {
    display: none !important;
  }
  .theme-owner .sidebar {
    position: static;
    inset: auto;
    width: 100%;
    height: auto;
    max-height: none;
    overflow: visible;
    transform: none;
    display: none;
    margin: 0 0 14px;
    border-radius: 24px;
  }
  .theme-owner .sidebar.is-open {
    display: block;
  }
  .theme-owner .sidebar-close {
    display: none !important;
  }
}

/* ===== v57 licenses + paperwork route actions ===== */
body.owner-paperwork-v52 .paperwork-form-v57 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.owner-paperwork-v52 .paperwork-action-buttons-v57 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.owner-paperwork-v52 .paperwork-action-buttons-v57 .btn {
  min-height: 44px;
}
body.owner-paperwork-v52 .paperwork-withdraw-all-v57 {
  margin-top: 12px;
}
.btn-danger-soft-v57 {
  border-color: rgba(185, 28, 28, 0.25);
  color: #991b1b;
  background: #fee2e2;
}
.btn-danger-soft-v57:hover {
  background: #fecaca;
  color: #7f1d1d;
}
.owner-paperwork-inline-box-v57 {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  display: grid;
  gap: 10px;
}
.owner-paperwork-inline-head-v57 {
  display: grid;
  gap: 2px;
}
.owner-paperwork-inline-head-v57 strong {
  color: #1e3a8a;
}
.owner-paperwork-inline-head-v57 span {
  color: #334155;
  font-size: 0.9rem;
}
.owner-paperwork-inline-list-v57 {
  display: grid;
  gap: 8px;
}
.owner-paperwork-inline-line-v57 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
}
.owner-paperwork-inline-line-v57 span,
.owner-paperwork-inline-line-v57 strong {
  color: #0f172a;
  font-size: 0.92rem;
}
.owner-paperwork-total-actions-v57 {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #bfdbfe;
  background: #ffffff;
}
.owner-paperwork-total-actions-v57 summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  background: #1d4ed8;
  color: #ffffff;
  font-weight: 900;
  text-align: center;
}
.owner-paperwork-total-actions-v57 summary::-webkit-details-marker {
  display: none;
}
.owner-paperwork-total-actions-body-v57 {
  padding: 14px;
  background: #ffffff;
}
.owner-paperwork-action-form-v57 {
  display: grid;
  gap: 10px;
}
.owner-paperwork-action-form-v57 label {
  display: grid;
  gap: 6px;
}
.owner-paperwork-action-form-v57 label span {
  color: #334155;
  font-weight: 700;
}
.owner-paperwork-action-buttons-v57 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.owner-paperwork-action-buttons-v57 .btn {
  min-height: 44px;
}

.paperwork-correct-link-v60 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}
.paperwork-correct-link-v60:hover {
  background: #dbeafe;
}
.paperwork-managed-note-v60 {
  margin-top: 12px;
}
.paperwork-managed-list-v60 {
  margin-top: 10px;
}
.paperwork-managed-line-v60 {
  background: #eff6ff;
}
.license-item-card-admin .license-reactivate-note-v57 {
  margin: 0;
  color: #334155;
  font-size: 0.88rem;
}
@media (max-width: 900px) {
  body.owner-paperwork-v52 .paperwork-form-v57,
  .owner-paperwork-action-buttons-v57 {
    grid-template-columns: 1fr;
  }
}

/* ===== v51 general cobrador: mi ruta hoy + mora con abono ===== */
body.general-fast-v36 .collector-general-loan-v36.state-split-danger-success {
  background: linear-gradient(135deg, #ef4444 0 49.5%, #16a34a 50% 100%);
  color: #ffffff;
}

body.general-fast-v36 .collector-general-loan-v36.state-split-critical-success {
  background: linear-gradient(135deg, #7c3aed 0 49.5%, #16a34a 50% 100%);
  color: #ffffff;
}

body.general-fast-v36 .list-badge-split-danger-success,
body.general-fast-v43 .list-badge-split-danger-success {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.92) 0 49.5%, rgba(34, 197, 94, 0.92) 50% 100%);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.28);
}

body.general-fast-v36 .list-badge-split-critical-success,
body.general-fast-v43 .list-badge-split-critical-success {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.92) 0 49.5%, rgba(34, 197, 94, 0.92) 50% 100%);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.28);
}


/* ===== v44 general cobrador: detalle de cliente más compacto y completo ===== */
body.general-fast-v44 .collector-general-loan-summary-v36 {
  padding: 10px 11px;
  gap: 7px;
}
body.general-fast-v44 .collector-general-loan-head-v36 strong {
  font-size: 15.5px;
}
body.general-fast-v44 .collector-general-loan-meta-v36 p {
  font-size: 10.8px;
}
body.general-fast-v44 .collector-general-loan-amount-v44 {
  display: grid;
  justify-items: end;
  gap: 2px;
}
body.general-fast-v44 .collector-general-loan-amount-v44 strong {
  font-size: 16px;
  line-height: 1;
}
body.general-fast-v44 .collector-general-loan-amount-v44 small {
  font-size: 10px;
  color: rgba(255,255,255,.88);
}
body.general-fast-v44 .collector-general-loan-body-v44 {
  gap: 7px;
  padding: 0 11px 11px;
}
body.general-fast-v44 .collector-general-metrics-v44 {
  gap: 7px;
}
body.general-fast-v44 .collector-general-metrics-v44 > div {
  border-radius: 15px;
  padding: 7px 9px;
  gap: 3px;
}
body.general-fast-v44 .collector-general-metrics-v44 span {
  font-size: 10.2px;
}
body.general-fast-v44 .collector-general-metrics-v44 strong {
  font-size: 12.8px;
  line-height: 1.18;
}
body.general-fast-v44 .collector-general-metrics-v44 > div.is-span-2 {
  grid-column: 1 / -1;
}
body.general-fast-v44 .collector-general-pay-form-v36 span {
  font-size: 10.5px;
}
body.general-fast-v44 .collector-general-pay-form-v36 input {
  min-height: 40px;
  padding: 9px 11px;
}
body.general-fast-v44 .info-note-compact-v36 {
  padding: 7px 9px;
  font-size: 11.4px;
}
@media (max-width: 420px) {
  body.general-fast-v44 .collector-general-loan-amount-v44 {
    justify-items: start;
  }
  body.general-fast-v44 .collector-general-loan-amount-v44 strong {
    font-size: 15px;
  }
}


.owner-detail-metrics-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.owner-route-summary-amount {
  display: grid;
  gap: 4px;
  text-align: right;
}
.owner-route-summary-amount span {
  font-size: 12px;
  color: #4b5563;
}
.owner-route-summary-amount b {
  color: #0f766e;
  font-size: 18px;
}
.owner-route-summary-metrics > div {
  background: #eaf9ee;
  border-color: #cfe8d5;
}
.owner-route-summary-metrics span,
.owner-route-summary-metrics strong {
  color: #111827;
}
@media (max-width: 1100px) {
  .owner-detail-metrics-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .owner-detail-metrics-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-route-summary-amount {
    text-align: left;
  }
}


body.general-fast-v44 .info-note-partial-strong-v45 {
  background: #146c43;
  color: #fff;
  border-color: rgba(20, 108, 67, 0.7);
}

body.general-fast-v44 .collector-btn-pay-v45,
body.general-fast-v43 .collector-btn-pay-v45 {
  background: linear-gradient(135deg, #123a7a, #1d4fa3);
  color: #fff;
  border-color: rgba(18, 58, 122, 0.95);
}

body.general-fast-v44 .collector-btn-pay-v45:hover,
body.general-fast-v43 .collector-btn-pay-v45:hover {
  filter: brightness(1.05);
}

body.general-fast-v44 .collector-card-amount-label-v45,
body.general-fast-v43 .collector-card-amount-label-v45 {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.78rem;
  line-height: 1.25;
  color: rgba(255,255,255,0.9);
  text-align: right;
}

body.general-fast-v44 .state-primary .collector-card-amount-label-v45,
body.general-fast-v43 .state-primary .collector-card-amount-label-v45 {
  color: rgba(15, 23, 42, 0.76);
}


body.general-fast-v44 .collector-general-actions-v61 {
  display: grid;
  gap: 0.8rem;
}
body.general-fast-v44 .collector-renew-box-v61 {
  display: block;
}
body.general-fast-v44 .collector-renew-trigger-v61 {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  background: #eef4ff;
  color: #12344d;
  border-color: #c8d7f2;
}
body.general-fast-v44 .collector-renew-box-v61[open] .collector-renew-trigger-v61 {
  margin-bottom: 0.75rem;
}
body.general-fast-v44 .collector-renew-box-v61 > summary { list-style: none; }
body.general-fast-v44 .collector-renew-box-v61 > summary::-webkit-details-marker { display:none; }
body.general-fast-v44 .collector-renew-body-v61 {
  border: 1px solid rgba(191, 219, 254, 0.9);
  background: rgba(248, 250, 252, 0.82);
  border-radius: 18px;
  padding: 0.9rem;
}
body.general-fast-v44 .collector-renew-grid-v61 {
  gap: 0.7rem;
}
body.general-fast-v44 .collector-renew-grid-v61 label {
  display: grid;
  gap: 0.35rem;
}
body.general-fast-v44 .collector-renew-grid-v61 label > span {
  font-size: 0.82rem;
  color: #334155;
  font-weight: 700;
}
body.general-fast-v44 .collector-renew-grid-v61 input,
body.general-fast-v44 .collector-renew-grid-v61 select {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(191, 219, 254, 0.95);
  background: #fff;
  color: #0f172a;
  padding: 0.72rem 0.85rem;
  width: 100%;
}
body.general-fast-v44 .collector-renew-grid-v61 input[readonly] {
  background: #eef6ff;
  color: #0f172a;
}
body.general-fast-v44 .collector-renew-submit-v61 {
  width: 100%;
  margin-top: 0.8rem;
}

/* ===== v64 collector general polish: no-select, route summary, full buttons ===== */
body[data-user-role="collector"] {
  -webkit-user-select: none;
  user-select: none;
}
body[data-user-role="collector"] input,
body[data-user-role="collector"] textarea,
body[data-user-role="collector"] select,
body[data-user-role="collector"] option {
  -webkit-user-select: text;
  user-select: text;
}

body.theme-collector.flash-strong-v43 .flash-error {
  background: linear-gradient(135deg, #14532d 0%, #166534 100%) !important;
  border: 1px solid #0f4d29 !important;
  color: #f4fff7 !important;
  box-shadow: 0 10px 24px rgba(20, 83, 45, 0.22);
}
body.theme-collector.flash-strong-v43 .flash-error *,
body.theme-collector.flash-strong-v43 .flash-error strong,
body.theme-collector.flash-strong-v43 .flash-error span {
  color: #f4fff7 !important;
}
body.theme-collector.flash-strong-v43 .flash-error::before {
  background: rgba(255,255,255,0.18) !important;
}

body.general-fast-v44 .collector-general-kpis-v64 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
body.general-fast-v44 .collector-general-kpis-v64 > div {
  background: #eaf9ee;
  border: 1px solid #cbe8d2;
  border-radius: 16px;
  padding: 8px 10px;
}
body.general-fast-v44 .collector-general-kpis-v64 span,
body.general-fast-v44 .collector-general-kpis-v64 strong {
  color: #111827;
}
body.general-fast-v44 .collector-general-kpis-v64 span {
  font-size: 10.5px;
  line-height: 1.2;
}
body.general-fast-v44 .collector-general-kpis-v64 strong {
  font-size: 15px;
  line-height: 1.15;
}

body.general-fast-v44 .collector-general-pay-form-v64 {
  grid-template-columns: 1fr;
}
body.general-fast-v44 .collector-general-pay-form-v64 .btn {
  width: 100%;
}

body.general-fast-v44 .collector-inline-status-v64 {
  display: flex;
  justify-content: flex-start;
}
body.general-fast-v44 .collector-inline-status-v64 .list-badge {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 12px;
}

body.general-fast-v44 .collector-general-actions-v61 > .collector-action-form-v64,
body.general-fast-v44 .collector-general-actions-v61 > .collector-renew-box-v61,
body.general-fast-v44 .collector-general-actions-v61 > .collector-history-box-v42 {
  width: 100%;
}
body.general-fast-v44 .collector-action-form-v64 .collector-action-btn-v64,
body.general-fast-v44 .collector-history-box-v42 > summary.btn,
body.general-fast-v44 .collector-renew-trigger-v61 {
  width: 100%;
  display: inline-flex;
  justify-content: center;
}
body.general-fast-v44 .collector-action-form-v64 .collector-action-btn-v64 {
  min-height: 40px;
}
body.general-fast-v44 .collector-renew-trigger-v61 {
  background: linear-gradient(135deg, #14532d 0%, #166534 100%);
  color: #fff;
  border-color: #0f4d29;
}
body.general-fast-v44 .collector-renew-trigger-v61:hover,
body.general-fast-v44 .collector-renew-trigger-v61:focus {
  filter: brightness(1.04);
}
body.general-fast-v44 .collector-renew-box-v61[open] .collector-renew-trigger-v61 {
  margin-bottom: 0.75rem;
}

@media (max-width: 780px) {
  body.general-fast-v44 .collector-general-kpis-v64 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 460px) {
  body.general-fast-v44 .collector-general-kpis-v64 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  body.general-fast-v44 .collector-general-kpis-v64 > div {
    padding: 7px 8px;
    border-radius: 14px;
  }
  body.general-fast-v44 .collector-general-kpis-v64 strong {
    font-size: 13.5px;
  }
}

/* ===== v65 collector general actions: stacked full-width buttons and finalized renewal ===== */
body.general-fast-v44 .collector-general-actions-v61 {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
body.general-fast-v44 .collector-general-actions-v61 > * {
  width: 100%;
}
body.general-fast-v44 .collector-action-form-v64 {
  display: block !important;
  width: 100%;
}
body.general-fast-v44 .collector-action-form-v64 .collector-action-btn-v64,
body.general-fast-v44 .collector-history-box-v42 > summary.btn,
body.general-fast-v44 .collector-renew-trigger-v61,
body.general-fast-v44 .collector-inline-status-v64--full .collector-renew-box-v61,
body.general-fast-v44 .collector-inline-status-v64--full .collector-renew-trigger-v61 {
  width: 100%;
  display: flex;
  justify-content: center;
}
body.general-fast-v44 .collector-inline-status-v64--full {
  display: block;
  width: 100%;
}
body.general-fast-v44 .collector-inline-status-v64--full .collector-renew-box-v61 {
  display: block;
}

.owner-route-live-shell {
  display: grid;
  gap: 12px;
}
.owner-route-summary-card-live {
  gap: 12px;
}
.owner-route-summary-top-live {
  align-items: center;
}
.owner-route-summary-metrics-live {
  gap: 10px;
}
.owner-route-summary-box {
  width: 100%;
  min-height: 86px;
  border-radius: 16px;
  border: 1px solid #cfe8d5;
  background: #effaf1;
  padding: 12px 14px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  text-align: left;
}
.owner-route-summary-box span {
  font-size: 12.5px;
  color: #334155;
}
.owner-route-summary-box strong {
  font-size: 22px;
  line-height: 1.1;
  color: #0f172a;
}
button.owner-route-summary-box {
  appearance: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
button.owner-route-summary-box:hover,
button.owner-route-summary-box:focus-visible {
  transform: translateY(-1px);
  border-color: #7fb48a;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
}
.owner-route-summary-box-cash {
  background: #e8f7ec;
  border-color: #b8e1c0;
}
.owner-route-panel-toolbar {
  display: flex;
  justify-content: flex-start;
  margin-top: 2px;
}
.owner-route-live-panel {
  display: grid;
  gap: 10px;
}
.owner-route-clients-compact {
  gap: 0.65rem;
}
.owner-client-toggle-compact > summary,
.owner-client-payment-box-compact > summary {
  padding: 0.8rem 0.9rem;
  gap: 0.8rem;
}
.owner-client-toggle-compact > summary strong {
  font-size: 15.5px;
}
.owner-client-toggle-compact > summary span {
  font-size: 12.25px;
}
.owner-client-toggle-compact .owner-summary-status b {
  font-size: 16px;
}
.owner-client-toggle-compact .owner-client-toggle-body {
  padding: 0 0.9rem 0.9rem;
}
.owner-detail-metrics-compact-grid {
  gap: 8px;
}
.owner-detail-metrics-compact-grid > div {
  padding: 10px 12px;
}
.info-note-tight {
  padding: 8px 10px;
  font-size: 12.5px;
}
.stack-list-tight {
  gap: 8px;
}
.stack-card-tight {
  padding: 10px 12px;
  border-radius: 14px;
}
.owner-paperwork-note-managed {
  background: #e8f7ec;
  border-color: #b7dfc2;
  color: #14532d;
}
.owner-paperwork-note-pending {
  background: #fff8e8;
  border-color: #f0db9a;
  color: #7c4a03;
}

@media (max-width: 820px) {
  .owner-dashboard-compact .owner-kpi-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .owner-dashboard-compact .owner-kpi-card {
    min-height: 110px;
    padding: 14px 12px;
    border-radius: 20px;
  }
  .owner-dashboard-compact .owner-kpi-card strong {
    font-size: 20px;
  }
  .owner-dashboard-compact .owner-kpi-card span {
    font-size: 12px;
  }
  .owner-dashboard-compact .owner-kpi-icon-compact {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }
  .owner-dashboard-compact .owner-kpi-icon-compact img {
    width: 28px;
    height: 28px;
  }
  .owner-route-summary-box {
    min-height: 78px;
    padding: 10px 12px;
  }
  .owner-route-summary-box strong {
    font-size: 18px;
  }
}

@media (max-width: 540px) {
  .owner-route-summary-metrics-live,
  .owner-detail-metrics-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-route-summary-top-live {
    align-items: flex-start;
  }
}
.owner-route-summary-box-action.is-active {
  background: #dff4e4;
  border-color: #7fb48a;
  box-shadow: inset 0 0 0 1px rgba(34, 94, 46, 0.05);
}
.owner-route-summary-box-action.is-active strong,
.owner-route-summary-box-action.is-active span {
  color: #111827;
}

/* v13 owner dashboard route filters and compact cards */
.owner-detail-metrics-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.owner-route-summary-metrics-live-wide {
  gap: 8px;
}
.owner-route-summary-metrics-live-wide .owner-route-summary-box {
  min-height: 72px;
  padding: 10px 11px;
  border-radius: 14px;
}
.owner-route-summary-metrics-live-wide .owner-route-summary-box span {
  font-size: 11.2px;
  line-height: 1.15;
}
.owner-route-summary-metrics-live-wide .owner-route-summary-box strong {
  font-size: 17px;
}
.owner-route-summary-box-action.is-active,
.owner-route-summary-box-action.is-active:hover,
.owner-route-summary-box-action.is-active:focus-visible {
  background: linear-gradient(135deg, #14532d, #166534);
  border-color: #14532d;
  box-shadow: 0 10px 22px rgba(20, 83, 45, 0.16);
}
.owner-route-summary-box-action.is-active strong,
.owner-route-summary-box-action.is-active span {
  color: #ffffff;
}
.owner-route-live-panel {
  margin-top: 4px;
}
.owner-route-live-panel[hidden] {
  display: none !important;
}
.owner-closure-inline-panel-v52[hidden] {
  display: none !important;
}
.owner-route-clients-compact {
  gap: 0.45rem;
}
.owner-client-toggle-compact > summary,
.owner-client-payment-box-compact > summary {
  padding: 0.58rem 0.72rem;
  gap: 0.58rem;
}
.owner-client-toggle-compact > summary strong {
  font-size: 14px;
  line-height: 1.08;
}
.owner-client-toggle-compact > summary span {
  font-size: 11px;
  line-height: 1.1;
}
.owner-client-toggle-compact .owner-summary-status {
  gap: 4px;
}
.owner-client-toggle-compact .owner-summary-status b {
  font-size: 14px;
}
.owner-client-toggle-compact .owner-client-toggle-body {
  padding: 0 0.72rem 0.72rem;
}
.owner-detail-metrics-compact-grid {
  gap: 6px;
}
.owner-detail-metrics-compact-grid > div {
  padding: 8px 10px;
}
.owner-detail-metrics-compact-grid > div span {
  font-size: 10.5px;
}
.owner-detail-metrics-compact-grid > div strong {
  font-size: 13.5px;
}
.owner-route-summary-amount b {
  font-size: 17px;
}
.owner-dashboard-compact .owner-kpi-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.owner-dashboard-compact .owner-kpi-card {
  min-height: 100px;
  padding: 12px 10px;
  border-radius: 18px;
}
.owner-dashboard-compact .owner-kpi-card span {
  font-size: 12px;
  line-height: 1.15;
}
.owner-dashboard-compact .owner-kpi-card strong {
  font-size: 18px;
}
.owner-dashboard-compact .owner-kpi-icon-compact {
  width: 40px;
  height: 40px;
  min-width: 40px;
}
.owner-dashboard-compact .owner-kpi-icon-compact img {
  width: 24px;
  height: 24px;
}
@media (max-width: 1320px) {
  .owner-detail-metrics-7 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .owner-detail-metrics-7 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .owner-dashboard-compact .owner-kpi-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
  .owner-dashboard-compact .owner-kpi-card {
    min-height: 92px;
    padding: 11px 10px;
  }
}
@media (max-width: 720px) {
  .owner-detail-metrics-7,
  .owner-route-summary-metrics-live,
  .owner-detail-metrics-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-route-summary-metrics-live-wide .owner-route-summary-box {
    min-height: 66px;
    padding: 9px 10px;
  }
  .owner-route-summary-metrics-live-wide .owner-route-summary-box span {
    font-size: 10.4px;
  }
  .owner-route-summary-metrics-live-wide .owner-route-summary-box strong {
    font-size: 15px;
  }
  .owner-dashboard-compact .owner-kpi-grid-five {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .owner-dashboard-compact .owner-kpi-card {
    min-height: 82px;
    padding: 10px 9px;
  }
  .owner-dashboard-compact .owner-kpi-card span {
    font-size: 11px;
  }
  .owner-dashboard-compact .owner-kpi-card strong {
    font-size: 16px;
  }
  .owner-dashboard-compact .owner-kpi-icon-compact {
    width: 34px;
    height: 34px;
    min-width: 34px;
  }
  .owner-dashboard-compact .owner-kpi-icon-compact img {
    width: 20px;
    height: 20px;
  }
}

.sidebar-group { margin: 0; }
.sidebar-group > summary { list-style: none; cursor: pointer; }
.sidebar-group > summary::-webkit-details-marker { display: none; }
.sidebar-submenu { display: grid; gap: 8px; padding: 6px 0 8px 16px; }
.sidebar-sublink { font-size: .93rem; background: rgba(255,255,255,.03); }
.sidebar-link-group { justify-content: space-between; }
.sidebar-link-group span:last-child { flex: 1; }

.menu-manager-list { display: grid; gap: 12px; }
.menu-manager-item {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(41, 61, 92, .12);
  border-radius: 18px;
  background: #f8fbff;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}
.menu-manager-item small { grid-column: 2; color: #64748b; }
.menu-manager-item.is-hold-ready { border-color: #0f766e; background: #ecfdf5; }
.menu-manager-item.is-dragging { opacity: .45; }
.menu-manager-item.is-drop-target { border-color: #1d4ed8; }
.menu-manager-icon svg { width: 18px; height: 18px; }
.menu-manager-status { margin-top: 10px; color: #0f766e; font-weight: 700; }

.humberto-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.owner-compact-list { display: grid; gap: 10px; }
.owner-compact-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(41,61,92,.12);
  border-radius: 16px;
  background: #fff;
}
.owner-compact-row small { display: block; color: #64748b; }
.owner-compact-row.is-danger { border-color: rgba(220,38,38,.26); background: #fef2f2; }
.owner-compact-row.is-success { border-color: rgba(22,163,74,.26); background: #f0fdf4; }
.humberto-filter-tabs { margin-top: 12px; margin-bottom: 18px; }

@media (max-width: 900px) {
  .humberto-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .humberto-summary-grid { grid-template-columns: 1fr; }
  .owner-compact-row { grid-template-columns: 1fr; }
}


.sidebar-link-humberto,
.theme-owner .sidebar-link-humberto,
.sidebar-link-humberto:hover,
.sidebar-link-humberto.is-active {
  background: #ffffff !important;
  color: #17335c !important;
  border: 1px solid rgba(23,51,92,.16) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
}
.sidebar-link-humberto .icon-wrap svg { color: #17335c; }

.menu-manager-card .panel-header h2 { font-size: 1rem; }
.menu-manager-card .panel-header span,
.menu-manager-item small { font-size: .78rem; }
.menu-manager-accordion {
  border: 1px solid rgba(41,61,92,.10);
  border-radius: 20px;
  background: #fff;
}
.menu-manager-accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
}
.menu-manager-accordion summary::-webkit-details-marker { display: none; }
.menu-manager-accordion[open] summary { border-bottom: 1px solid rgba(41,61,92,.08); }
.menu-manager-accordion .menu-manager-list,
.menu-manager-accordion .info-note { margin: 12px 14px 14px; }
.menu-manager-list { gap: 8px; }
.menu-manager-item { padding: 10px 12px; border-radius: 14px; font-size: .9rem; }
.menu-manager-item .menu-manager-label { font-size: .9rem; }

.humberto-module .humberto-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.humberto-module .humberto-stat-card {
  min-height: 110px;
  border-radius: 22px;
  border: 1px solid rgba(37,99,235,.12);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 18px 32px rgba(15,23,42,.06);
  padding: 18px 20px;
}
.humberto-module .humberto-stat-card span { color: #4f6b95; font-weight: 700; }
.humberto-module .humberto-stat-card strong { color: #0f172a; font-size: 1.45rem; }
.humberto-module .humberto-main-panel { border-radius: 24px; }
.humberto-module .humberto-main-tabs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.humberto-module .humberto-main-tabs .segmented-tab {
  justify-content: center;
  border-radius: 18px;
  min-height: 52px;
  font-weight: 800;
  border: 1px solid rgba(23,51,92,.12);
  background: #f8fbff;
  color: #1e3a5f;
  box-shadow: 0 12px 24px rgba(15,23,42,.05);
}
.humberto-module .humberto-main-tabs .segmented-tab.is-active {
  background: linear-gradient(135deg, #0f3c78 0%, #2563eb 100%);
  color: #fff;
  border-color: transparent;
}
.humberto-module .owner-compact-row { border-radius: 18px; padding: 14px 16px; }
.humberto-module .owner-compact-list { gap: 12px; }
.humberto-module .owner-compact-row strong { color: #0f172a; }
.humberto-module .owner-compact-row small { color: #526581; }
.humberto-module .empty-box { border-radius: 18px; }
@media (max-width: 900px) {
  .humberto-module .humberto-main-tabs { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .humberto-module .humberto-summary-grid,
  .humberto-module .humberto-main-tabs { grid-template-columns: 1fr 1fr; }
  .humberto-module .humberto-stat-card { min-height: 96px; padding: 14px 16px; }
}

/* ===== Sistema alterno / Clientes Humberto v18 ===== */
.humberto-module .humberto-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.humberto-module .humberto-stat-card {
  min-height: 78px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(23, 51, 92, 0.12);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.05);
}

.humberto-module .humberto-stat-card span {
  font-size: 0.9rem;
  margin-bottom: 5px;
}

.humberto-module .humberto-stat-card strong {
  font-size: 1.15rem;
}

.humberto-module .panel-header h2 {
  font-size: 1.05rem;
}

.humberto-module .panel-header span {
  font-size: 0.84rem;
}

.humberto-module [data-segment="humberto-clients-tabs"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.humberto-module [data-segment="humberto-clients-tabs"] .segmented-tab {
  min-height: 44px;
  border-radius: 16px;
  font-weight: 800;
  color: #fff;
  border: none;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}

.humberto-module [data-segment="humberto-clients-tabs"] .segmented-tab[data-tab-target="clients"] {
  background: linear-gradient(135deg, #111827 0%, #000000 100%);
}

.humberto-module [data-segment="humberto-clients-tabs"] .segmented-tab[data-tab-target="loans_today"] {
  background: linear-gradient(135deg, #c2410c 0%, #9a3412 100%);
}

.humberto-module [data-segment="humberto-clients-tabs"] .segmented-tab[data-tab-target="recaudos_today"] {
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
}

.humberto-module .humberto-filter-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
  margin-bottom: 12px;
}

.humberto-module .humberto-filter-tabs .segmented-tab {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 14px;
  font-size: 0.94rem;
  font-weight: 800;
}

.humberto-module .owner-compact-list {
  gap: 8px;
}

.humberto-module .owner-compact-row {
  padding: 10px 12px;
  border-radius: 14px;
}

.humberto-module .owner-compact-row strong {
  font-size: 0.96rem;
}

.humberto-module .owner-compact-row small {
  font-size: 0.8rem;
  line-height: 1.3;
}

.humberto-loan-card {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  margin-bottom: 12px;
}

.humberto-loan-card summary {
  list-style: none;
  cursor: pointer;
}

.humberto-loan-card summary::-webkit-details-marker {
  display: none;
}

.humberto-loan-card-primary .humberto-loan-summary {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.humberto-loan-card-danger .humberto-loan-summary {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.humberto-loan-card-success .humberto-loan-summary {
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
}

.humberto-loan-summary {
  padding: 12px 14px;
  color: #fff;
}

.humberto-loan-summary-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.humberto-loan-identity strong {
  display: block;
  font-size: 1.22rem;
  line-height: 1.1;
  color: #fff;
}

.humberto-loan-identity small {
  display: block;
  margin-top: 4px;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.92);
}

.humberto-loan-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.96);
  color: #17335c;
  font-size: 0.92rem;
  font-weight: 800;
}

.humberto-loan-summary-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.humberto-loan-summary-box {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.08);
  padding: 9px 11px;
}

.humberto-loan-summary-box span,
.humberto-loan-summary-box small {
  display: block;
}

.humberto-loan-summary-box span {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.84);
}

.humberto-loan-summary-box strong {
  display: block;
  margin-top: 4px;
  font-size: 1.08rem;
  line-height: 1.15;
  color: #fff;
}

.humberto-loan-summary-box small {
  margin-top: 4px;
  font-size: 0.8rem;
  line-height: 1.3;
  color: rgba(255,255,255,0.88);
}

.humberto-loan-body {
  background: #f8fafc;
  padding: 12px;
}

.humberto-loan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.humberto-loan-metric,
.humberto-loan-note,
.humberto-loan-partial {
  border-radius: 15px;
  padding: 9px 11px;
}

.humberto-loan-metric {
  border: 1px solid #111827;
  background: #fff;
}

.humberto-loan-metric span {
  display: block;
  font-size: 0.82rem;
  color: #526581;
  line-height: 1.2;
}

.humberto-loan-metric strong {
  display: block;
  margin-top: 4px;
  font-size: 0.95rem;
  line-height: 1.3;
  color: #18314f;
}

.humberto-loan-metric-full,
.humberto-loan-note,
.humberto-loan-partial {
  grid-column: 1 / -1;
}

.humberto-loan-note {
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: #fff;
  color: #526581;
  font-size: 0.88rem;
}

.humberto-loan-partial {
  margin-top: 10px;
  border: 1px solid rgba(22, 163, 74, 0.22);
  background: #ecfdf5;
  color: #166534;
  font-size: 0.88rem;
  font-weight: 700;
}

.humberto-payment-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}

.humberto-payment-form label span {
  display: block;
  margin-bottom: 6px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #475569;
}

.humberto-payment-form input {
  width: 100%;
}

.humberto-history-box,
.humberto-renew-box {
  margin-top: 10px;
}

.humberto-module .collector-history-box-v42 > summary,
.humberto-module .collector-renew-box-v61 > summary {
  width: 100%;
  justify-content: center;
}

@media (max-width: 860px) {
  .humberto-module [data-segment="humberto-clients-tabs"],
  .humberto-module .humberto-summary-grid,
  .humberto-module .humberto-filter-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .humberto-module [data-segment="humberto-clients-tabs"],
  .humberto-module .humberto-summary-grid,
  .humberto-module .humberto-filter-tabs,
  .humberto-loan-grid,
  .humberto-loan-summary-bottom,
  .humberto-payment-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .humberto-module .humberto-stat-card {
    min-height: 68px;
    padding: 10px 12px;
  }

  .humberto-module .humberto-stat-card span {
    font-size: 0.82rem;
  }

  .humberto-module .humberto-stat-card strong {
    font-size: 1rem;
  }

  .humberto-loan-summary {
    padding: 11px 12px;
  }

  .humberto-loan-identity strong {
    font-size: 1.08rem;
  }

  .humberto-loan-identity small,
  .humberto-loan-summary-box small,
  .humberto-loan-summary-box span,
  .humberto-loan-metric span,
  .humberto-loan-note,
  .humberto-loan-partial,
  .humberto-payment-form label span,
  .humberto-module .owner-compact-row small {
    font-size: 0.78rem;
  }

  .humberto-loan-summary-box strong {
    font-size: 1rem;
  }

  .humberto-loan-metric strong {
    font-size: 0.9rem;
  }

  .humberto-loan-body {
    padding: 10px;
  }

  .humberto-loan-badge {
    min-width: 92px;
    padding: 7px 10px;
    font-size: 0.84rem;
  }
}

/* ===== Clientes antiguos dueño v19 ===== */
.old-clients-module .old-client-grid {
  align-items: start;
}
.old-clients-module .old-client-form-card {
  border-radius: 24px;
}
.old-clients-module .mini-panel-header {
  margin-bottom: 10px;
}
.old-clients-module .mini-panel-header h3 {
  margin: 0;
  font-size: 1rem;
  color: #17335c;
}
.old-clients-module .old-loan-preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}
.old-clients-module .old-loan-preview div {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
}
.old-clients-module .old-loan-preview span {
  display: block;
  font-size: 0.78rem;
  color: #526581;
  font-weight: 700;
}
.old-clients-module .old-loan-preview strong {
  display: block;
  margin-top: 4px;
  font-size: 1rem;
  color: #0f172a;
}
.old-clients-module .old-payments-box {
  border: 1px solid rgba(41,61,92,.12);
  border-radius: 20px;
  padding: 14px;
  background: #f8fbff;
}
.old-clients-module .old-paid-count-label {
  max-width: 260px;
  margin-bottom: 12px;
}
.old-clients-module .old-payment-rows {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.old-clients-module .old-payment-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
}
.old-clients-module .old-client-help-card {
  top: 18px;
}
.old-clients-module .owner-compact-row {
  border-radius: 16px;
}
.sidebar-group .sidebar-sublink.is-active {
  background: #ffffff;
  color: #17335c;
}
@media (max-width: 980px) {
  .old-clients-module .old-loan-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .old-clients-module .old-loan-preview,
  .old-clients-module .old-payment-row {
    grid-template-columns: 1fr;
  }
  .old-clients-module .old-paid-count-label {
    max-width: none;
  }
}

/* ===== Owner route client compact cards v20 ===== */
.owner-route-client-card-v20 {
  margin-top: 0;
  border-radius: 22px;
  overflow: hidden;
}

.owner-route-client-card-v20 > summary.owner-route-client-summary-v20 {
  display: block;
  padding: 14px 16px 12px;
}

.owner-route-client-head-v20 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.owner-route-client-card-v20 > summary .client-name-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.owner-route-client-card-v20 > summary .client-name-inline strong {
  font-size: 1rem;
  line-height: 1.08;
  color: #fff;
}

.owner-route-client-card-v20 > summary .client-contact-actions {
  margin-left: 2px;
}

.owner-route-client-card-v20 > summary .client-contact-button {
  width: 34px;
  height: 34px;
  min-width: 34px;
}

.owner-route-client-card-v20 > summary .client-contact-button img {
  width: 18px;
  height: 18px;
}

.owner-route-client-meta-v20 {
  margin-top: 8px;
  color: rgba(255,255,255,0.95);
  font-size: 0.88rem;
  line-height: 1.25;
}

.owner-route-client-amount-v20 {
  margin-top: 8px;
}

.owner-route-client-amount-v20 strong {
  display: block;
  color: #fff;
  font-size: 1.12rem;
  line-height: 1.1;
}

.owner-route-client-amount-v20 small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,0.92);
  font-size: 0.86rem;
  line-height: 1.25;
}

.owner-route-client-pill-v20 {
  padding-inline: 14px;
  min-width: 112px;
  justify-content: center;
  text-align: center;
  background: rgba(255,255,255,0.92);
}

.owner-client-toggle-compact.owner-route-client-card-v20 > summary {
  gap: 0;
}

.owner-client-toggle-compact.owner-route-client-card-v20 > summary span {
  font-size: inherit;
  line-height: inherit;
}

.owner-client-toggle-compact.owner-route-client-card-v20 > summary strong {
  font-size: inherit;
}

.owner-client-toggle-compact.owner-route-client-card-v20 .owner-client-toggle-body {
  padding: 0 14px 14px;
  background: rgba(255,255,255,0.98);
}

.owner-client-toggle-primary.owner-route-client-card-v20 {
  border-color: #1d4ed8;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
}

.owner-client-toggle-danger.owner-route-client-card-v20,
.owner-client-toggle-critical.owner-route-client-card-v20 {
  border-color: #b91c1c;
  background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%);
}

.owner-client-toggle-success.owner-route-client-card-v20 {
  border-color: #15803d;
  background: linear-gradient(180deg, #16a34a 0%, #15803d 100%);
}

.owner-client-toggle-danger.owner-route-client-card-v20 .status-pill,
.owner-client-toggle-primary.owner-route-client-card-v20 .status-pill,
.owner-client-toggle-success.owner-route-client-card-v20 .status-pill,
.owner-client-toggle-critical.owner-route-client-card-v20 .status-pill {
  border-color: transparent;
}

.owner-route-clients-compact {
  gap: 10px;
}

@media (max-width: 640px) {
  .owner-route-client-card-v20 > summary.owner-route-client-summary-v20 {
    padding: 12px 14px 10px;
  }

  .owner-route-client-head-v20 {
    align-items: flex-start;
    gap: 8px;
  }

  .owner-route-client-card-v20 > summary .client-name-inline strong {
    font-size: 0.96rem;
  }

  .owner-route-client-pill-v20 {
    min-width: 104px;
    padding: 7px 12px;
    font-size: 0.88rem;
  }

  .owner-route-client-meta-v20 {
    font-size: 0.82rem;
  }

  .owner-route-client-amount-v20 strong {
    font-size: 1.02rem;
  }

  .owner-route-client-amount-v20 small {
    font-size: 0.82rem;
  }

  .owner-client-toggle-compact.owner-route-client-card-v20 .owner-client-toggle-body {
    padding: 0 12px 12px;
  }
}

/* ===== v21 license + owner route client detail corrections ===== */
.owner-route-client-body-v21 {
  padding: 14px 16px 16px !important;
  background: #f8fafc;
}

.owner-route-client-detail-grid-v21 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.owner-route-client-detail-grid-v21 > div {
  padding: 12px 14px !important;
  border-radius: 16px;
  background: #ffffff !important;
  border: 1.5px solid #111827 !important;
  box-shadow: none !important;
}

.owner-route-client-detail-grid-v21 > div span {
  color: #475569 !important;
  font-size: 0.82rem !important;
  line-height: 1.2;
}

.owner-route-client-detail-grid-v21 > div strong {
  color: #111827 !important;
  font-size: 1rem !important;
  line-height: 1.3;
}

.owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 {
  grid-column: span 2;
}

.owner-client-payment-box-v21 {
  margin-top: 12px;
  border-radius: 16px;
  background: #ffffff;
  border: 1.5px solid #111827;
  overflow: hidden;
}

.owner-client-payment-box-v21 > summary {
  padding: 12px 14px !important;
  background: #ffffff;
  color: #111827;
  font-weight: 800;
}

.owner-client-payment-box-v21 > .owner-collapsible-body {
  padding: 0 12px 12px;
  background: #ffffff;
}

@media (max-width: 980px) {
  .owner-route-client-detail-grid-v21 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .owner-route-client-card-v20 {
    margin-left: 2px;
    margin-right: 2px;
  }

  .owner-route-client-body-v21 {
    padding: 12px 12px 14px !important;
  }

  .owner-route-client-detail-grid-v21 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .owner-route-client-detail-grid-v21 > div {
    padding: 10px 11px !important;
  }

  .owner-route-client-detail-grid-v21 > div span {
    font-size: 0.74rem !important;
  }

  .owner-route-client-detail-grid-v21 > div strong {
    font-size: 0.9rem !important;
  }

  .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  .theme-owner .sidebar {
    overflow: hidden;
    padding-bottom: 16px;
    margin: 0 0 16px;
  }

  .theme-owner .sidebar::before,
  .theme-owner .sidebar::after {
    inset: auto -18% -18% auto;
  }
}

/* ===== v22 owner route cards + mobile sidebar hard fix ===== */
.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 {
  background: #ffffff !important;
  border: 2px solid #111827 !important;
  color: #111827 !important;
  box-shadow: none !important;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div span,
.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 span {
  color: #111827 !important;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div strong,
.owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 strong {
  color: #111827 !important;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21,
.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #ffffff !important;
  border-color: #111827 !important;
  color: #111827 !important;
  box-shadow: none !important;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary {
  border: 2px solid #111827 !important;
  border-radius: 14px;
  margin: 0;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 {
  border: 2px solid #111827 !important;
}

.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary span,
.owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary strong {
  color: #111827 !important;
}

@media (max-width: 900px) {
  body.theme-owner.sidebar-open {
    overflow: hidden !important;
    height: 100dvh;
  }

  .theme-owner .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    inset: 0 auto 0 0 !important;
    width: min(320px, 84vw) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 14px 14px 24px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 0 0 28px 0 !important;
    display: none;
    z-index: 95 !important;
  }

  .theme-owner .sidebar.is-open {
    display: block !important;
  }

  .theme-owner .sidebar::before,
  .theme-owner .sidebar::after {
    inset: auto -18% -12% auto !important;
  }

  .theme-owner .sidebar-nav,
  .theme-owner .sidebar-head,
  .theme-owner .sidebar-pwa-card {
    position: relative;
    z-index: 2;
  }
}

/* ===== v65 owner rutas del día: sincronización con lógica del cobrador ===== */
body.owner-route-sync-v65 .owner-client-toggle-critical.owner-route-client-card-v20 {
  border-color: #6d28d9;
  background: linear-gradient(180deg, #7c3aed 0%, #5b21b6 100%);
  color: #ffffff;
}

body.owner-route-sync-v65 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 {
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(135deg, #dc2626 0 49.5%, #16a34a 50% 100%);
  color: #ffffff;
}

body.owner-route-sync-v65 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 {
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(135deg, #7c3aed 0 49.5%, #16a34a 50% 100%);
  color: #ffffff;
}

body.owner-route-sync-v65 .owner-route-client-pill-split-danger-success,
body.owner-route-sync-v65 .owner-route-client-pill-split-critical-success {
  background: rgba(255,255,255,.92);
  color: #0f172a;
  border-color: rgba(15,23,42,.12);
}

body.owner-route-sync-v65 .owner-route-client-pill-critical,
body.owner-route-sync-v65 .owner-client-toggle-critical.owner-route-client-card-v20 .status-pill {
  background: rgba(255,255,255,.92);
  color: #4c1d95;
  border-color: rgba(255,255,255,.24);
}

body.owner-route-sync-v65 .owner-payment-chip-list-v65 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, .28);
}

body.owner-route-sync-v65 .owner-payment-chip-v65 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #dcfce7;
  color: #14532d;
  border: 1px solid rgba(22, 163, 74, .22);
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
}

body.owner-route-sync-v65 .owner-payment-chip-v65 b {
  font-size: 11px;
  color: #166534;
}

/* ===== v66 cuotas adelantadas y mora con abono en Mis Clientes ===== */
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success.collector-client-card {
  background: linear-gradient(135deg, #dc2626 0 49.5%, #16a34a 50% 100%);
  border-color: rgba(255,255,255,.28);
  color: #ffffff;
}
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success.collector-client-card {
  background: linear-gradient(135deg, #7c3aed 0 49.5%, #16a34a 50% 100%);
  border-color: rgba(255,255,255,.28);
  color: #ffffff;
}
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success.collector-client-card *,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success.collector-client-card * {
  color: #ffffff;
}
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success .list-badge,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success .list-badge,
body.collector-clients-pay-ahead-v66 .list-badge-split-danger-success,
body.collector-clients-pay-ahead-v66 .list-badge-split-critical-success {
  background: rgba(255,255,255,.93);
  color: #0f172a;
  border-color: rgba(15,23,42,.14);
}
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success .client-finance-grid > div,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success .client-finance-grid > div,
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success .info-note,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success .info-note {
  background: rgba(255,255,255,.92);
  color: #0f172a;
  border-color: rgba(255,255,255,.42);
}
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success .client-finance-grid > div *,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success .client-finance-grid > div *,
body.collector-clients-pay-ahead-v66 .route-item-split-danger-success .info-note *,
body.collector-clients-pay-ahead-v66 .route-item-split-critical-success .info-note * {
  color: #0f172a;
}
.info-note-success {
  background: #dcfce7;
  border-color: #86efac;
  color: #14532d;
}

/* ===== v66 split global para ruta/home cuando hay mora con abono ===== */
.route-item-split-danger-success {
  background: linear-gradient(135deg, #dc2626 0 49.5%, #16a34a 50% 100%);
  border-color: rgba(255,255,255,.28);
  color: #ffffff;
}
.route-item-split-critical-success {
  background: linear-gradient(135deg, #7c3aed 0 49.5%, #16a34a 50% 100%);
  border-color: rgba(255,255,255,.28);
  color: #ffffff;
}
.route-item-split-danger-success > summary *,
.route-item-split-critical-success > summary * {
  color: #ffffff;
}
.route-item-split-danger-success .list-badge,
.route-item-split-critical-success .list-badge,
.list-badge-split-danger-success,
.list-badge-split-critical-success {
  background: rgba(255,255,255,.94);
  color: #0f172a;
  border-color: rgba(15,23,42,.14);
}
.route-item-split-danger-success .route-item-body .client-finance-grid > div,
.route-item-split-critical-success .route-item-body .client-finance-grid > div,
.route-item-split-danger-success .route-item-body .info-note,
.route-item-split-critical-success .route-item-body .info-note {
  background: rgba(255,255,255,.92);
  color: #0f172a;
  border-color: rgba(255,255,255,.42);
}
.route-item-split-danger-success .route-item-body .client-finance-grid > div *,
.route-item-split-critical-success .route-item-body .client-finance-grid > div *,
.route-item-split-danger-success .route-item-body .info-note *,
.route-item-split-critical-success .route-item-body .info-note * {
  color: #0f172a;
}


/* ===== v67 owner rutas del día + cierres visuales ===== */
body.owner-route-ui-v67 .owner-route-client-amount-v20 {
  position: relative;
  padding-right: 170px;
  min-height: 56px;
}

body.owner-route-ui-v67 .owner-route-client-mode-v67 {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  max-width: 165px;
  color: #ffffff;
  font-size: 0.96rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: right;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

body.owner-route-ui-v67 .owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  transition: background-color .18s ease, border-color .18s ease;
}

body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #eff6ff !important;
}

body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #ecfdf3 !important;
}

body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #fff1f2 !important;
}

body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #f5f3ff !important;
}

body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: linear-gradient(135deg, #fff1f2 0 49.5%, #ecfdf3 50% 100%) !important;
}

body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: linear-gradient(135deg, #f5f3ff 0 49.5%, #ecfdf3 50% 100%) !important;
}

body.owner-closure-ui-v67 .owner-closure-card {
  border-width: 1.5px;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-pending {
  background: #fff4e5;
  border-color: #fdba74;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-awaiting_enable,
body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-enabled {
  background: #ffffff;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-awaiting_enable {
  border-color: rgba(245, 158, 11, 0.24);
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-enabled {
  border-color: rgba(34, 197, 94, 0.18);
}

@media (max-width: 640px) {
  body.owner-route-ui-v67 .owner-route-client-amount-v20 {
    padding-right: 0;
    min-height: 0;
  }

  body.owner-route-ui-v67 .owner-route-client-mode-v67 {
    position: static;
    display: block;
    max-width: none;
    margin-top: 8px;
    text-align: left;
    font-size: 0.88rem;
  }
}

/* ===== v68 etiquetas de pago, cierres y colores más visibles ===== */
.collector-payment-mode-v67 {
  display: block;
  margin-top: 2px;
  font-size: 0.96rem;
  font-weight: 900;
  line-height: 1.1;
  color: inherit;
  text-align: right;
  white-space: nowrap;
}

.collector-payment-mode-dark-v67 {
  color: #111827 !important;
  text-align: left;
}

.route-summary-side .collector-payment-mode-v67,
.stack-side .collector-payment-mode-v67,
.collector-card-side-v35 .collector-payment-mode-v67,
.collector-general-loan-amount-v44 .collector-payment-mode-v67 {
  justify-self: end;
}

.collector-general-loan-amount-v44 .collector-payment-mode-v67 {
  color: #ffffff;
  text-shadow: 0 1px 0 rgba(0,0,0,.12);
}

.collector-card-side-v35 .collector-payment-mode-v67 {
  color: inherit;
}

.collector-result-status-v67 {
  display: grid;
  justify-items: end;
  gap: 6px;
  text-align: right;
}

body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-primary.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #dbeafe !important;
}

body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #bbf7d0 !important;
}

body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-danger.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #fecdd3 !important;
}

body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-critical.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: #ddd6fe !important;
}

body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-split-danger-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: linear-gradient(135deg, #fecdd3 0 49.5%, #bbf7d0 50% 100%) !important;
}

body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > div,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > summary,
body.owner-route-ui-v67 .owner-client-toggle-split-critical-success.owner-route-client-card-v20 .owner-client-payment-box-v21 > .owner-collapsible-body {
  background: linear-gradient(135deg, #ddd6fe 0 49.5%, #bbf7d0 50% 100%) !important;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-pending {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-awaiting_enable {
  background: #ffedd5 !important;
  border-color: #fdba74 !important;
}

body.owner-closure-ui-v67 .owner-closure-card.owner-closure-state-enabled {
  background: #dcfce7 !important;
  border-color: #86efac !important;
}

body.owner-closure-ui-v67 .owner-closure-card .list-badge,
body.owner-closure-ui-v67 .owner-closure-card .list-badge-danger,
body.owner-closure-ui-v67 .owner-closure-card .list-badge-warning,
body.owner-closure-ui-v67 .owner-closure-card .list-badge-success {
  color: #111827 !important;
}

body.owner-closure-ui-v67 .owner-closure-card .list-badge-danger {
  background: #fecaca !important;
  border-color: #f87171 !important;
}

body.owner-closure-ui-v67 .owner-closure-card .list-badge-warning {
  background: #fed7aa !important;
  border-color: #fb923c !important;
}

body.owner-closure-ui-v67 .owner-closure-card .list-badge-success {
  background: #bbf7d0 !important;
  border-color: #4ade80 !important;
}

@media (max-width: 640px) {
  .collector-payment-mode-v67 {
    font-size: 0.86rem;
    white-space: normal;
  }

  .collector-result-status-v67 {
    justify-items: start;
    text-align: left;
  }
}

/* ===== v69 fase app dueño: cierres, tarjetas compactas, búsqueda por ruta ===== */
body.owner-phase-v69 .status-pill-finalized,
body.owner-phase-v69 .list-badge-finalized,
body.owner-route-ui-v67 .owner-route-client-pill-v20.status-pill-finalized {
  background: #facc15 !important;
  color: #111827 !important;
  border-color: #ca8a04 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}

body.owner-phase-v69 .owner-route-client-search-v69 {
  margin: 0 0 10px;
}
body.owner-phase-v69 .owner-route-client-search-v69 input {
  width: 100%;
  min-height: 42px;
  border: 1.5px solid rgba(37, 99, 235, .22);
  border-radius: 16px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
  padding: 10px 14px;
  outline: none;
}
body.owner-phase-v69 .owner-route-client-search-v69 input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.10);
}

body.owner-phase-v69 .owner-closure-mini-item-v52,
body.owner-phase-v69 .stack-card.stack-card-tight {
  position: relative;
}
body.owner-phase-v69 .owner-closure-mini-side-v69 {
  display: grid;
  justify-items: end;
  gap: 4px;
  min-width: 92px;
  text-align: right;
}
body.owner-phase-v69 .owner-mini-payment-mode-v69 {
  display: block;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1.05;
  color: #111827;
  white-space: nowrap;
  text-align: right;
}
body.owner-phase-v69 .stack-side .owner-mini-payment-mode-v69 {
  margin-top: 3px;
}

body.owner-phase-v69 .owner-withdraw-question-v53 {
  display: block;
  padding: 13px 14px;
  border-radius: 14px;
  background: #facc15 !important;
  color: #7f1d1d !important;
  border: 2px solid #b45309;
  font-weight: 950 !important;
  font-size: 1.08em !important;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 8px 18px rgba(180,83,9,.16);
}

body.owner-phase-v69 .owner-closure-card.owner-closure-state-pending {
  background: #fee2e2 !important;
  border-color: #f87171 !important;
}
body.owner-phase-v69 .owner-closure-card.owner-closure-state-awaiting_enable {
  background: #ffedd5 !important;
  border-color: #fb923c !important;
}
body.owner-phase-v69 .owner-closure-card.owner-closure-state-enabled {
  background: #dcfce7 !important;
  border-color: #4ade80 !important;
}
body.owner-phase-v69 .owner-closure-card .list-badge,
body.owner-phase-v69 .owner-closure-card .list-badge-danger,
body.owner-phase-v69 .owner-closure-card .list-badge-warning,
body.owner-phase-v69 .owner-closure-card .list-badge-success {
  color: #111827 !important;
  font-weight: 950;
}

@media (max-width: 720px) {
  body.owner-phase-v69 .owner-closure-total-boxes-v53 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  body.owner-phase-v69 .owner-closure-total-box-v53 {
    width: 100% !important;
    min-height: 82px !important;
    padding: 12px 10px !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
  }
  body.owner-phase-v69 .owner-closure-total-box-v53 span {
    font-size: .82rem !important;
  }
  body.owner-phase-v69 .owner-closure-total-box-v53 strong {
    font-size: 1.15rem !important;
  }
  body.owner-phase-v69 .owner-closure-segments-v52 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  body.owner-phase-v69 .owner-closure-segments-v52 .segment-button {
    min-height: 48px !important;
    padding: 9px 10px !important;
    font-size: .9rem !important;
  }
  body.owner-phase-v69 .owner-closure-summary-v52 {
    padding: 12px 14px !important;
    gap: 8px !important;
  }
  body.owner-phase-v69 .owner-closure-summary-v52 strong {
    font-size: .96rem !important;
  }
  body.owner-phase-v69 .owner-closure-summary-v52 p {
    font-size: .86rem !important;
    line-height: 1.25 !important;
  }
  body.owner-phase-v69 .owner-collapsible-body,
  body.owner-phase-v69 .owner-route-live-shell,
  body.owner-phase-v69 .owner-route-live-panel {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  body.owner-phase-v69 .owner-closure-route-focus-v52 {
    padding: 10px 12px !important;
    border-radius: 16px !important;
    gap: 6px !important;
  }
  body.owner-phase-v69 .owner-closure-metrics-v52 {
    gap: 8px !important;
  }
  body.owner-phase-v69 .owner-closure-metrics-v52 > div,
  body.owner-phase-v69 .owner-route-client-detail-grid-v21 > div {
    padding: 9px 10px !important;
    border-radius: 13px !important;
    min-height: auto !important;
  }
  body.owner-phase-v69 .owner-closure-metrics-v52 span,
  body.owner-phase-v69 .owner-route-client-detail-grid-v21 > div span {
    font-size: .72rem !important;
  }
  body.owner-phase-v69 .owner-closure-metrics-v52 strong,
  body.owner-phase-v69 .owner-route-client-detail-grid-v21 > div strong {
    font-size: .88rem !important;
  }
  body.owner-phase-v69 .owner-route-client-card-v20 > summary.owner-route-client-summary-v20 {
    padding: 10px 12px 9px !important;
  }
  body.owner-phase-v69 .owner-route-client-card-v20 > summary .client-name-inline strong {
    font-size: .92rem !important;
  }
  body.owner-phase-v69 .owner-route-client-meta-v20 {
    margin-top: 6px !important;
    font-size: .78rem !important;
  }
  body.owner-phase-v69 .owner-route-client-amount-v20 strong {
    font-size: .98rem !important;
  }
  body.owner-phase-v69 .owner-route-client-amount-v20 small {
    font-size: .76rem !important;
  }
  body.owner-phase-v69 .owner-route-client-mode-v67 {
    font-size: .82rem !important;
    margin-top: 5px !important;
  }
  body.owner-phase-v69 .owner-route-client-pill-v20 {
    min-width: 92px !important;
    padding: 6px 10px !important;
    font-size: .78rem !important;
  }
  body.owner-phase-v69 .owner-closure-mini-item-v52,
  body.owner-phase-v69 .stack-card.stack-card-tight {
    padding: 10px 12px !important;
    border-radius: 15px !important;
    gap: 8px !important;
  }
  body.owner-phase-v69 .owner-closure-mini-main-v52 strong,
  body.owner-phase-v69 .stack-card.stack-card-tight .stack-main strong {
    font-size: .9rem !important;
  }
  body.owner-phase-v69 .owner-closure-mini-main-v52 span,
  body.owner-phase-v69 .owner-closure-mini-main-v52 small,
  body.owner-phase-v69 .stack-card.stack-card-tight .stack-main p {
    font-size: .74rem !important;
    line-height: 1.18 !important;
  }
  body.owner-phase-v69 .owner-closure-mini-side-v69,
  body.owner-phase-v69 .stack-card.stack-card-tight .stack-side {
    min-width: 76px !important;
  }
  body.owner-phase-v69 .owner-closure-mini-amount-v52,
  body.owner-phase-v69 .stack-card.stack-card-tight .stack-side strong {
    font-size: .96rem !important;
  }
  body.owner-phase-v69 .owner-mini-payment-mode-v69 {
    font-size: .72rem !important;
    white-space: normal !important;
  }
  body.owner-phase-v69 .owner-route-client-search-v69 input {
    min-height: 38px;
    padding: 9px 12px;
    font-size: .86rem;
    border-radius: 14px;
  }
}

/* ===== v70 dueño APP: ancho restaurado, compactación vertical y cierres limitados ===== */
body.owner-phase-v70 .owner-route-client-pill-v20.status-pill-finalized,
body.owner-phase-v70 .status-pill-finalized,
body.owner-phase-v70 .list-badge-finalized {
  background: #facc15 !important;
  color: #111827 !important;
  border-color: #ca8a04 !important;
}

@media (max-width: 720px) {
  body.owner-phase-v70.theme-owner .content,
  body.owner-phase-v70.theme-owner.is-mobile-module .content {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.owner-phase-v70 .content-inner,
  body.owner-phase-v70 .owner-dashboard-shell,
  body.owner-phase-v70 .owner-dashboard-shell-compact,
  body.owner-phase-v70.owner-dashboard-compact .owner-dashboard-shell {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.owner-phase-v70 .panel-card,
  body.owner-phase-v70 .owner-collapsible-card,
  body.owner-phase-v70 .owner-detail-card,
  body.owner-phase-v70 .owner-route-live-shell,
  body.owner-phase-v70 .owner-route-live-panel,
  body.owner-phase-v70 .owner-route-clients,
  body.owner-phase-v70 .owner-client-toggle.owner-route-client-card-v20 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.owner-phase-v70 .owner-collapsible-card > summary {
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  body.owner-phase-v70 .owner-collapsible-body,
  body.owner-phase-v70 .owner-route-live-shell,
  body.owner-phase-v70 .owner-route-live-panel {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.owner-phase-v70 .owner-route-clients-compact {
    gap: 7px !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 {
    border-radius: 18px !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 > summary.owner-route-client-summary-v20 {
    padding: 8px 10px 7px !important;
  }

  body.owner-phase-v70 .owner-route-client-head-v20 {
    align-items: flex-start !important;
    gap: 6px !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 > summary .client-name-inline {
    gap: 5px !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 > summary .client-name-inline strong {
    font-size: .95rem !important;
    line-height: 1.05 !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 > summary .client-contact-button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }

  body.owner-phase-v70 .owner-route-client-card-v20 > summary .client-contact-button img {
    width: 16px !important;
    height: 16px !important;
  }

  body.owner-phase-v70 .owner-route-client-pill-v20 {
    min-width: 92px !important;
    padding: 6px 10px !important;
    font-size: .78rem !important;
    line-height: 1.08 !important;
  }

  body.owner-phase-v70 .owner-route-client-meta-v20 {
    margin-top: 5px !important;
    font-size: .82rem !important;
    line-height: 1.15 !important;
  }

  body.owner-phase-v70 .owner-route-client-amount-v20 {
    margin-top: 5px !important;
    min-height: 0 !important;
    padding-right: 0 !important;
  }

  body.owner-phase-v70 .owner-route-client-amount-v20 strong {
    font-size: 1rem !important;
    line-height: 1.05 !important;
  }

  body.owner-phase-v70 .owner-route-client-amount-v20 small {
    margin-top: 2px !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
  }

  body.owner-phase-v70 .owner-route-client-mode-v67 {
    position: static !important;
    display: block !important;
    margin-top: 5px !important;
    max-width: none !important;
    text-align: left !important;
    font-size: .86rem !important;
    line-height: 1.05 !important;
  }

  body.owner-phase-v70 .owner-route-client-body-v21 {
    padding: 8px 10px 10px !important;
  }

  body.owner-phase-v70 .owner-route-client-detail-grid-v21 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.owner-phase-v70 .owner-route-client-detail-grid-v21 > div {
    padding: 8px 9px !important;
    border-radius: 13px !important;
    min-height: 76px !important;
  }

  body.owner-phase-v70 .owner-route-client-detail-grid-v21 > div span {
    font-size: .75rem !important;
    line-height: 1.12 !important;
  }

  body.owner-phase-v70 .owner-route-client-detail-grid-v21 > div strong {
    margin-top: 4px !important;
    font-size: .92rem !important;
    line-height: 1.12 !important;
  }

  body.owner-phase-v70 .owner-route-client-detail-grid-v21 > .owner-route-client-detail-wide-v21 {
    grid-column: span 2 !important;
    min-height: 68px !important;
  }

  body.owner-phase-v70 .owner-client-payment-box-v21 {
    margin-top: 8px !important;
    border-radius: 14px !important;
  }

  body.owner-phase-v70 .owner-client-payment-box-v21 > summary {
    padding: 9px 10px !important;
    font-size: .82rem !important;
  }

  body.owner-phase-v70 .owner-closure-total-boxes-v53 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.owner-phase-v70 .owner-closure-total-box-v53 {
    min-height: 72px !important;
    padding: 9px 8px !important;
    border-radius: 16px !important;
  }

  body.owner-phase-v70 .owner-closure-total-box-v53 span {
    font-size: .78rem !important;
  }

  body.owner-phase-v70 .owner-closure-total-box-v53 strong {
    font-size: 1.05rem !important;
  }
}

/* ===== v71 optimización: carga ligera y feedback visual ===== */
.owner-lazy-placeholder-v71 {
  border-style: dashed !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-weight: 800;
  text-align: center;
}

body.owner-speed-v71 .owner-closure-inline-panel-v52[hidden] {
  display: none !important;
}

body.owner-speed-v71 .owner-closure-inline-panel-v52 {
  min-height: 42px;
}

body.owner-speed-v71 .owner-client-payment-box-v21[data-owner-lazy-details] > .owner-collapsible-body {
  min-height: 42px;
}

body.owner-speed-v71 .owner-payment-chip-list-v65 {
  content-visibility: auto;
  contain-intrinsic-size: 180px;
}


/* ===== v70 dueño entra como cobrador ===== */
.owner-collector-access-card-v70 {
  margin: 18px 0;
}

.owner-collector-access-warning-v70 {
  background: #fef08a !important;
  border-color: #facc15 !important;
  color: #111827 !important;
  font-weight: 800;
}

.owner-collector-access-grid-v70 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.owner-collector-access-item-v70 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #ffffff;
}

.owner-collector-access-item-v70 strong,
.owner-collector-access-item-v70 span,
.owner-collector-access-item-v70 small {
  display: block;
}

.owner-collector-access-item-v70 strong {
  color: #0f172a;
  font-size: 1rem;
}

.owner-collector-access-item-v70 span {
  color: #334155;
  font-size: .9rem;
  font-weight: 700;
  margin-top: 3px;
}

.owner-collector-access-item-v70 small {
  color: #64748b;
  font-size: .82rem;
  margin-top: 3px;
}

.owner-collector-access-btn-v70 {
  background: #facc15 !important;
  color: #111827 !important;
  border: 1px solid #ca8a04 !important;
  box-shadow: none !important;
  white-space: nowrap;
}

.owner-impersonation-banner-v70 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border-radius: 18px;
  background: #fef08a;
  border: 2px solid #ca8a04;
  color: #111827;
  box-shadow: 0 12px 28px rgba(202, 138, 4, .18);
}

.owner-impersonation-banner-v70 strong,
.owner-impersonation-banner-v70 span {
  display: block;
  color: #111827;
}

.owner-impersonation-banner-v70 strong {
  font-size: 1rem;
  font-weight: 900;
}

.owner-impersonation-banner-v70 span {
  margin-top: 2px;
  font-size: .88rem;
  font-weight: 800;
}

.owner-impersonation-banner-v70 form {
  margin: 0;
}

.owner-impersonation-banner-v70 button {
  border: 0;
  border-radius: 999px;
  padding: 9px 14px;
  background: #111827;
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .owner-collector-access-item-v70,
  .owner-impersonation-banner-v70 {
    align-items: stretch;
    flex-direction: column;
  }

  .owner-collector-access-item-v70 form,
  .owner-collector-access-item-v70 button,
  .owner-impersonation-banner-v70 form,
  .owner-impersonation-banner-v70 button {
    width: 100%;
  }
}


/* ===== Fase 8 refinanciar cliente y estados ajustados ===== */
.collector-refinance-btn-v68 {
  background: #dc2626 !important;
  color: #ffffff !important;
  border-color: #991b1b !important;
  font-weight: 900;
  text-align: center;
}
.collector-refinance-btn-v68:hover {
  background: #b91c1c !important;
  color: #ffffff !important;
}

/* ===== Fase 8 corrección: login limpio y buscadores sin punto/ícono sobre el texto ===== */
.login-hero .login-logo {
  margin-bottom: 0;
}

.search-input-wrap .search-icon {
  display: none !important;
}

.search-input-wrap input {
  padding-left: 16px !important;
}

body.general-fast-v37 .collector-general-search-v35 .search-input-wrap input,
body.general-fast-v43 .collector-general-search-v35 .search-input-wrap input,
body.collector-renewals-v38 .search-input-wrap input,
body.compact-design-v32 .search-input-wrap input,
body.owner-phase-v70 .search-input-wrap input,
body.owner-speed-v71 .search-input-wrap input {
  padding-left: 16px !important;
}

/* ===== v70 resumen cobrador: conteo y total de renovaciones ===== */
body.general-fast-v44 .collector-general-kpis-v64 > div.collector-general-kpi-renewal-v70 {
  background: #bfdbfe !important;
  border-color: #60a5fa !important;
}
body.general-fast-v44 .collector-general-kpis-v64 > div.collector-general-kpi-renewal-v70 span,
body.general-fast-v44 .collector-general-kpis-v64 > div.collector-general-kpi-renewal-v70 strong {
  color: #111827 !important;
}

/* ===== v71 bitácora de cobradores ===== */
.owner-bitacora-summary-v71 {
  margin-bottom: 14px;
}

.owner-bitacora-summary-v71 > div {
  background: #eff6ff !important;
  border: 1.5px solid #93c5fd !important;
}

.owner-bitacora-summary-v71 span,
.owner-bitacora-summary-v71 strong {
  color: #111827 !important;
}

.owner-bitacora-list-v71 {
  display: grid;
  gap: 10px;
}

.owner-bitacora-item-v71 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  border: 1.5px solid rgba(15,23,42,.14);
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15,23,42,.06);
}

.owner-bitacora-type-prestamo { background: #eff6ff; border-color: #93c5fd; }
.owner-bitacora-type-cobro { background: #ecfdf3; border-color: #86efac; }
.owner-bitacora-type-gasto { background: #fff7ed; border-color: #fdba74; }
.owner-bitacora-type-renovacion,
.owner-bitacora-type-refinanciacion { background: #f5f3ff; border-color: #c4b5fd; }
.owner-bitacora-type-cierre-caja { background: #fefce8; border-color: #fde047; }

.owner-bitacora-top-v71 {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.owner-bitacora-top-v71 strong {
  color: #111827;
  font-size: 1rem;
}

.owner-bitacora-top-v71 span,
.owner-bitacora-main-v71 p,
.owner-bitacora-meta-v71 span {
  color: #111827;
}

.owner-bitacora-main-v71 p {
  margin: 6px 0 8px;
  line-height: 1.35;
}

.owner-bitacora-meta-v71 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: .86rem;
}

.owner-bitacora-meta-v71 span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(15,23,42,.10);
}

.owner-bitacora-side-v71 {
  min-width: 130px;
  display: grid;
  gap: 4px;
  text-align: right;
}

.owner-bitacora-side-v71 span {
  color: #374151;
  font-weight: 800;
  font-size: .8rem;
}

.owner-bitacora-side-v71 strong {
  color: #111827;
  font-size: 1.02rem;
}

@media (max-width: 700px) {
  .owner-bitacora-item-v71 {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .owner-bitacora-top-v71 {
    display: grid;
  }

  .owner-bitacora-side-v71 {
    min-width: 0;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid rgba(15,23,42,.10);
  }
}

/* ===== v72 créditos renovados y ajustes de historial ===== */
.owner-route-summary-box-cancelled-v72 {
  background: #bfdbfe !important;
  border-color: #60a5fa !important;
}
.owner-route-summary-box-cancelled-v72 span,
.owner-route-summary-box-cancelled-v72 strong {
  color: #111827 !important;
}
.owner-client-history-v72 .owner-compact-row {
  align-items: center;
}

/* ===== v73: papelería gestionada, no selección de texto y ajustes finales ===== */
body, body * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

input, textarea, select, option, [contenteditable="true"] {
  -webkit-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default !important;
}

body.owner-phase-v73 .owner-closure-total-box-paper-managed-v73,
body.owner-phase-v73 .owner-route-summary-box-paper-managed-v73,
.collector-general-kpi-paper-managed-v73,
.collector-paper-managed-v73 {
  background: #bbf7d0 !important;
  border-color: #22c55e !important;
  color: #111827 !important;
}

body.owner-phase-v73 .owner-closure-total-box-paper-managed-v73 span,
body.owner-phase-v73 .owner-closure-total-box-paper-managed-v73 strong,
body.owner-phase-v73 .owner-route-summary-box-paper-managed-v73 span,
body.owner-phase-v73 .owner-route-summary-box-paper-managed-v73 strong,
.collector-general-kpi-paper-managed-v73 span,
.collector-general-kpi-paper-managed-v73 strong,
.collector-paper-managed-v73 span,
.collector-paper-managed-v73 strong,
.collector-paper-managed-v73 h2,
.collector-paper-managed-v73 p {
  color: #111827 !important;
}

body.owner-phase-v73 .owner-route-summary-box-paper-managed-v73 img,
.collector-paper-managed-v73 img {
  filter: none !important;
}

/* ===== v74: créditos renovados, renovación sin efectivo y carga ligera de rutas ===== */
body.owner-phase-v74 .owner-route-summary-box-refinanced-v74 {
  background: #a7f3d0 !important;
  border-color: #34d399 !important;
}
body.owner-phase-v74 .owner-route-summary-box-refinanced-v74 span,
body.owner-phase-v74 .owner-route-summary-box-refinanced-v74 strong {
  color: #111827 !important;
}
body.owner-phase-v74 .owner-refinanced-row-v74 {
  border-color: #6ee7b7 !important;
  background: #ecfdf5 !important;
}
body.owner-phase-v74 .owner-route-summary-metrics-live-wide {
  grid-template-columns: repeat(auto-fit, minmax(152px, 1fr));
}
body.owner-phase-v74 .owner-route-summary-box {
  min-height: 76px;
}
body.owner-phase-v74 .owner-lazy-placeholder-v71 {
  border: 1px dashed rgba(37, 99, 235, .22);
  background: #f8fafc;
}
@media (max-width: 700px) {
  body.owner-phase-v74 .owner-route-summary-metrics-live-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.owner-phase-v74 .owner-route-summary-box {
    min-height: 64px !important;
    padding: 10px 12px !important;
  }
  body.owner-phase-v74 .owner-route-summary-box span {
    font-size: .76rem !important;
  }
  body.owner-phase-v74 .owner-route-summary-box strong {
    font-size: 1rem !important;
  }
}

/* ===== v74.1: contraste en lista de Renovación sin Efectivo ===== */
body.owner-phase-v74 .owner-refinanced-row-v74,
body.owner-phase-v74 .owner-refinanced-row-v74 * {
  color: #111827 !important;
}
body.owner-phase-v74 .owner-refinanced-row-v74 .list-badge,
body.owner-phase-v74 .owner-refinanced-row-v74 .status-pill {
  background: #bbf7d0 !important;
  border-color: #34d399 !important;
  color: #111827 !important;
}
body.owner-phase-v74 .owner-refinanced-row-v74 .stack-side small,
body.owner-phase-v74 .owner-refinanced-row-v74 .stack-main p {
  color: #111827 !important;
}

/* ===== V76: ubicación delante/detrás y mensual capital ===== */
.collector-route-place-v76 {
  display: grid;
  grid-template-columns: minmax(110px, 150px) 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(239, 246, 255, .86);
  border: 1px solid rgba(37, 99, 235, .18);
}
.collector-route-place-v76 select,
.collector-route-place-v76 input {
  min-height: 38px;
  border-radius: 12px;
}
.route-place-form select {
  min-height: 40px;
}
@media (max-width: 680px) {
  .collector-route-place-v76 {
    grid-template-columns: 1fr;
  }
}

/* ===== v77 owner finalización manual de créditos ===== */
.owner-finish-loan-form-v77 {
  margin-top: 12px;
  display: grid;
}

.owner-finish-loan-btn-v77,
.owner-finish-loan-btn-v77:visited {
  background: #050505 !important;
  color: #ffffff !important;
  border: 1.5px solid #050505 !important;
  box-shadow: none !important;
  width: 100%;
  justify-content: center;
  font-weight: 900;
}

.owner-finish-loan-btn-v77:hover,
.owner-finish-loan-btn-v77:focus {
  background: #111827 !important;
  color: #ffffff !important;
}
