/* iSenda · Panel del equipo con el diseño del prototipo de Bolt.
   Solo se aplica cuando el panel está abierto (no cambia el login).
   El doble #dashboard sube la prioridad por encima de las hojas anteriores. */

/* Enlace "Ir al contenido" (se conserva igual que antes, también en el login) */
.skip-to-work{position:fixed;top:10px;left:280px;z-index:100;padding:12px 20px;background:#fff;color:#173c62;border-radius:9px;transform:translateY(-160%)}
.skip-to-work:focus{transform:none}
@media (max-width: 1023px) { body:has(#dashboard#dashboard:not([hidden])) .skip-to-work { left: 16px; } }

/* ---------- Base ---------- */
body:has(#dashboard#dashboard:not([hidden])) {
  --bx-deep: #0b2a4a;
  --bx-ocean-50: #eff5fc; --bx-ocean-100: #d8e6f7; --bx-ocean-200: #b3cdf0; --bx-ocean-400: #4a82d6; --bx-ocean-500: #1e5fab; --bx-ocean-600: #174a8c;
  --bx-sky-50: #f0f9ff; --bx-sky-400: #38bdf8; --bx-sky-500: #0ea5e9; --bx-sky-600: #0284c7; --bx-sky-700: #0369a1;
  --bx-tq-50: #f0fdfa; --bx-tq-100: #ccfbf1; --bx-tq-400: #2dd4bf; --bx-tq-500: #14b8a6; --bx-tq-600: #0d9488;
  --bx-slate-50: #f8fafc; --bx-slate-100: #f1f5f9; --bx-slate-200: #e2e8f0; --bx-slate-300: #cbd5e1; --bx-slate-400: #94a3b8; --bx-slate-500: #64748b; --bx-slate-600: #475569; --bx-slate-700: #334155;
  margin: 0; min-height: 100vh; background: #f0f5fb !important; color: var(--bx-deep);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased;
}
body:has(#dashboard#dashboard:not([hidden])) :is(main, .topbar, dialog) :is(h1, h2, h3, h4, p, strong, small, span, button, input, select, textarea, label, summary, b) { font-family: inherit; letter-spacing: normal; }
body:has(#dashboard#dashboard:not([hidden])) .bx-ic { display: block; flex-shrink: 0; }

/* ---------- Barra lateral ---------- */
body:has(#dashboard#dashboard:not([hidden])) .topbar {
  position: fixed; top: 0; bottom: 0; left: 0; right: auto; z-index: 40;
  width: 260px; height: auto; margin: 0; padding: 0;
  display: flex; flex-direction: column; align-items: stretch; gap: 0;
  background: #fff; border: 0; border-right: 1px solid rgba(226, 232, 240, .8); border-radius: 0; box-shadow: none;
  overflow: visible; color: var(--bx-deep); transform: none;
}
body:has(#dashboard#dashboard:not([hidden])) .topbar::before, body:has(#dashboard#dashboard:not([hidden])) .topbar::after { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .topbar .brand {
  height: 64px; display: flex; align-items: center; gap: 12px; padding: 0 20px; margin: 0;
  border-bottom: 1px solid var(--bx-slate-100); text-decoration: none; color: var(--bx-deep);
}
body:has(#dashboard#dashboard:not([hidden])) .topbar .brand .bx-logo { width: 36px; height: 36px; flex-shrink: 0; }
body:has(#dashboard#dashboard:not([hidden])) .topbar .brand > span { font-size: 20px; line-height: 28px; font-weight: 800; letter-spacing: -.025em; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .topbar .nav-eyebrow, body:has(#dashboard#dashboard:not([hidden])) .topbar .sidebar-senda { display: none; }

body:has(#dashboard#dashboard:not([hidden])) .sidebar-church:not([hidden]) {
  display: block; margin: 16px 16px 8px; padding: 12px 16px; border-radius: 12px;
  background: var(--bx-ocean-50); border: 1px solid var(--bx-ocean-100); box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) .sidebar-church > span { display: block; font-size: 11px; line-height: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .025em; color: var(--bx-ocean-400); }
body:has(#dashboard#dashboard:not([hidden])) .sidebar-church > strong { display: flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--bx-ocean-500); }
body:has(#dashboard#dashboard:not([hidden])) .sidebar-church b { font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

body:has(#dashboard#dashboard:not([hidden])) .dashboard-tabs:not([hidden]) {
  flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 8px 12px; margin: 0;
  background: none; border: 0; box-shadow: none; overflow: visible; position: static; width: auto;
}
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab:not([hidden]) {
  width: 100%; min-height: 0; display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 0;
  padding: 12px; border: 0; border-radius: 12px; background: transparent; box-shadow: none;
  color: var(--bx-slate-600); font-size: 14px; line-height: 20px; font-weight: 600; text-align: left; cursor: pointer;
  transition: all .2s cubic-bezier(.4, 0, .2, 1);
}
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab:hover { background: var(--bx-slate-100); }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .bx-ic { width: 20px; height: 20px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab.is-active {
  background: linear-gradient(to right, var(--bx-ocean-500), var(--bx-sky-500)); color: #fff;
  box-shadow: 0 4px 6px -1px var(--bx-ocean-200), 0 2px 4px -2px var(--bx-ocean-200);
}
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab.is-active .bx-ic { color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .nav-label { display: block; min-width: 0; text-align: left; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab span { display: inline; min-width: 0; height: auto; padding: 0; border-radius: 0; background: none; color: inherit; font-size: inherit; place-items: normal; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .nav-label { display: block; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .nav-label strong { display: block; font: inherit; color: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .nav-label small,
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab #todayTabCount,
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .tab-name-short { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .tab-name-full { display: inline; }

/* Tarjeta de la persona del equipo */
body:has(#dashboard#dashboard:not([hidden])) .top-actions:not([hidden]) {
  position: static; display: grid; grid-template-columns: 36px minmax(0, 1fr); grid-auto-rows: auto;
  column-gap: 12px; row-gap: 0; align-items: center; margin: 0; padding: 12px 15px 12px;
  border: 0; border-top: 1px solid var(--bx-slate-100); border-radius: 0; background: #fff; box-shadow: none; width: auto;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar {
  grid-row: 1 / span 2; grid-column: 1; width: 36px; height: 36px; border-radius: 9999px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(to bottom right, var(--bx-ocean-400), var(--bx-sky-400)); color: #fff; font-size: 13px; font-weight: 700;
}
body:has(#dashboard#dashboard:not([hidden])) #staffEmail { grid-column: 2; grid-row: 1; display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) #staffRole.role-pill { grid-column: 2; grid-row: 2; display: block; padding: 0; margin: 0; background: none; border: 0; border-radius: 0; font-size: 12px; line-height: 16px; font-weight: 400; color: var(--bx-slate-400); text-transform: none; letter-spacing: 0; }
body:has(#dashboard#dashboard:not([hidden])) .top-actions .quiet {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; width: 100%; margin: 4px 0 0; padding: 8px 12px;
  border: 0; border-radius: 12px; background: transparent; box-shadow: none; color: var(--bx-slate-400);
  font-size: 12px; line-height: 16px; font-weight: 500; text-align: left; text-decoration: none; cursor: pointer; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) .top-actions .quiet[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .top-actions #accountAccess { margin-top: 12px; }
body:has(#dashboard#dashboard:not([hidden])) .top-actions .quiet + .quiet { margin-top: 0; }
body:has(#dashboard#dashboard:not([hidden])) .top-actions .quiet:hover { background: var(--bx-slate-100); color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) .studio-mobile-menu { display: none; }

/* ---------- Contenido ---------- */
body:has(#dashboard#dashboard:not([hidden])) main {
  margin: 0 0 0 260px; padding: 0; max-width: none; width: auto; min-height: 100vh; background: transparent; display: block;
}
body:has(#dashboard#dashboard:not([hidden])) #dashboard { padding: 0; margin: 0; max-width: none; width: auto; background: transparent; display: block; }
body:has(#dashboard#dashboard:not([hidden])) .heading-row {
  position: sticky; top: 0; z-index: 30; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 16px; text-align: left; min-height: 0; height: auto;
  margin: 0; padding: 16px 32px; border: 0; border-bottom: 1px solid rgba(226, 232, 240, .8); border-radius: 0;
  background: rgba(255, 255, 255, .8); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-head-left { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-mobile-brand { display: none; font-size: 18px; line-height: 28px; font-weight: 800; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .heading-row h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 800; letter-spacing: -.025em; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; outline: none; }
body:has(#dashboard#dashboard:not([hidden])) .heading-row p { flex-basis: 100%; margin: 2px 0 0; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); max-width: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) .workspace-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) .workspace-context {
  display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 12px; border-radius: 12px;
  background: var(--bx-ocean-50); border: 1px solid var(--bx-ocean-100); color: var(--bx-ocean-500);
}
body:has(#dashboard#dashboard:not([hidden])) .workspace-context #churchName { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bx-ocean-600); text-transform: none; letter-spacing: 0; }
body:has(#dashboard#dashboard:not([hidden])) .workspace-context #workspaceSection { display: none; }

/* Botones (mismas medidas que Bolt) */
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 0; width: auto;
  padding: 12px 20px; border: 0; border-radius: 12px; background: var(--bx-sky-600); color: #fff;
  font-size: 14px; line-height: 20px; font-weight: 600; text-transform: none; letter-spacing: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); cursor: pointer; transition: all .2s cubic-bezier(.4, 0, .2, 1);
}
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .primary:hover { background: var(--bx-sky-700); }
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .primary:active, body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .secondary:active { transform: scale(.98); }
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .primary[hidden], body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .secondary[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 0; width: auto;
  padding: 12px 20px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; color: var(--bx-slate-700);
  font-size: 14px; line-height: 20px; font-weight: 600; box-shadow: none; cursor: pointer; transition: all .2s cubic-bezier(.4, 0, .2, 1);
}
body:has(#dashboard#dashboard:not([hidden])) :is(main, dialog) .secondary:hover { border-color: var(--bx-slate-300); background: var(--bx-slate-50); }
body:has(#dashboard#dashboard:not([hidden])) .heading-row .bx-icon-btn { width: 40px; height: 40px; padding: 0; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) .workspace-register .bx-short { display: none; }

/* ---------- Vistas ---------- */
body:has(#dashboard#dashboard:not([hidden])) .dashboard-view:not([hidden]) { display: block; max-width: 80rem; margin: 0 auto; padding: 24px 32px; background: none; border: 0; box-shadow: none; }
body:has(#dashboard#dashboard:not([hidden])) .dashboard-view[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-card {
  position: relative; margin: 0; padding: 24px; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .7);
  background: #fff; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); color: var(--bx-deep); overflow: visible;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-card h2 { margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-faint { color: var(--bx-slate-300); }
body:has(#dashboard#dashboard:not([hidden])) .bx-muted { margin: 0; font-size: 14px; line-height: 20px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-label { font-size: 14px; line-height: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-fade { animation: bxFadeUp .4s ease-out both; }
body:has(#dashboard#dashboard:not([hidden])) .bx-d1 { animation-delay: .1s; }
body:has(#dashboard#dashboard:not([hidden])) .bx-d2 { animation-delay: .2s; }
body:has(#dashboard#dashboard:not([hidden])) .bx-d3 { animation-delay: .3s; }
@keyframes bxFadeUp { 0% { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Avatares con iniciales */
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar-circle {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 9999px;
  color: #fff; font-weight: 700; --c: 30, 95, 171; background: linear-gradient(135deg, rgb(var(--c)), rgba(var(--c), .8));
}
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar-circle[data-color="1"] { --c: 14, 165, 233; }
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar-circle[data-color="2"] { --c: 45, 212, 191; }
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar-circle[data-color="3"] { --c: 23, 74, 140; }
body:has(#dashboard#dashboard:not([hidden])) .bx-avatar-circle[data-color="4"] { --c: 20, 184, 166; }
body:has(#dashboard#dashboard:not([hidden])) .bx-av-40 { width: 40px; height: 40px; font-size: 14.4px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-av-44 { width: 44px; height: 44px; font-size: 15.84px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-av-32 { width: 32px; height: 32px; font-size: 12px; }

/* Chips y botón fantasma */
body:has(#dashboard#dashboard:not([hidden])) .bx-chip { display: inline-flex; align-items: center; gap: 6px; padding: 2px 12px; border-radius: 9999px; font-size: 10px; line-height: 16px; font-weight: 600; white-space: nowrap; }
body:has(#dashboard#dashboard:not([hidden])) .bx-chip.is-first { background: var(--bx-sky-50); color: var(--bx-sky-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-chip.is-return { background: var(--bx-tq-50); color: var(--bx-tq-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex-shrink: 0;
  padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; box-shadow: none;
  color: var(--bx-slate-600); font-size: 12px; line-height: 16px; font-weight: 500; cursor: pointer; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-ghost:hover { background: var(--bx-slate-100); }

/* ---------- Hoy ---------- */
body:has(#dashboard#dashboard:not([hidden])) .bx-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-grid3:has(#todayRegisterAction[hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut-row { display: flex; align-items: center; gap: 24px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut { position: relative; width: 180px; height: 180px; flex-shrink: 0; margin: 0; padding: 0; border-radius: 0; background: none; box-shadow: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut svg { width: 180px; height: 180px; transform: rotate(-90deg); }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut circle { fill: none; stroke-width: 18; stroke-linecap: round; transition: stroke-dasharray .8s, stroke-dashoffset .8s; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut .bx-donut-track { stroke: #eef2f7; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut .bx-donut-first { stroke: var(--bx-sky-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut .bx-donut-return { stroke: var(--bx-tq-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut.is-empty .bx-donut-first, body:has(#dashboard#dashboard:not([hidden])) .bx-donut.is-empty .bx-donut-return { visibility: hidden; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut-center strong { font-size: 36px; line-height: 40px; font-weight: 800; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-donut-center span { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend { flex: 1; display: flex; flex-direction: column; gap: 12px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend > div { display: flex; align-items: center; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend i { width: 12px; height: 12px; border-radius: 9999px; flex-shrink: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend i.is-first { background: var(--bx-sky-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend i.is-return { background: var(--bx-tq-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend strong { display: block; font-size: 24px; line-height: 32px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-legend small { display: block; font-size: 12px; line-height: 16px; color: var(--bx-slate-500); }

body:has(#dashboard#dashboard:not([hidden])) .bx-next { background: linear-gradient(to bottom right, var(--bx-ocean-50), var(--bx-sky-50)); border-color: var(--bx-ocean-100); }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-icon { width: 32px; height: 32px; border-radius: 8px; background: var(--bx-ocean-500); color: #fff; display: flex; align-items: center; justify-content: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-head h2 { font-size: 14px; line-height: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; color: var(--bx-ocean-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-action { margin: 0 0 12px; font-size: 14px; line-height: 20px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-person { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-person > div { min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-person strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-person small { display: block; font-size: 12px; line-height: 16px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-buttons { display: flex; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-buttons button { padding: 10px 16px; font-size: 12px; line-height: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-next-buttons .primary { flex: 1; }

body:has(#dashboard#dashboard:not([hidden])) .bx-register { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-register-icon {
  width: 64px; height: 64px; margin-bottom: 16px; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #fff;
  background: linear-gradient(to bottom right, var(--bx-ocean-500), var(--bx-sky-400));
  box-shadow: 0 10px 15px -3px var(--bx-ocean-200), 0 4px 6px -4px var(--bx-ocean-200);
}
body:has(#dashboard#dashboard:not([hidden])) .bx-register h2 { margin: 0 0 4px; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-register p { margin: 0 0 16px; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-register .primary { width: 100%; }
body:has(#dashboard#dashboard:not([hidden])) .bx-register:has(#todayRegisterAction[hidden]) { display: none; }

body:has(#dashboard#dashboard:not([hidden])) .today-arrivals { margin-top: 24px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-card-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-card-title h2 { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-card-title p { margin: 0; font-size: 14px; line-height: 20px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-rows > * + * { border-top: 1px solid var(--bx-slate-100); }
body:has(#dashboard#dashboard:not([hidden])) .bx-row { display: flex; align-items: center; gap: 16px; margin: 0 -8px; padding: 14px 8px; border-radius: 8px; transition: background-color .15s; animation: bxFadeUp .4s ease-out both; }
body:has(#dashboard#dashboard:not([hidden])) .bx-row:hover { background: rgba(248, 250, 252, .5); }
body:has(#dashboard#dashboard:not([hidden])) .bx-row-index { width: 24px; text-align: center; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--bx-slate-300); flex-shrink: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-row-copy { flex: 1; min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-row-copy > strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) .bx-row-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-time { display: flex; align-items: center; gap: 4px; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-empty:not([hidden]) { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 40px 16px; text-align: center; color: var(--bx-slate-300); }
body:has(#dashboard#dashboard:not([hidden])) .bx-empty strong { font-size: 15px; line-height: 22px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-empty span { max-width: 28rem; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); }

/* ---------- Celular y tableta ---------- */
@media (max-width: 1023px) {
  body:has(#dashboard#dashboard:not([hidden])) .topbar {
    top: auto; right: 0; width: auto; height: auto; flex-direction: row; justify-content: space-around;
    padding: 6px 8px; border-right: 0; border-top: 1px solid var(--bx-slate-200);
  }
  body:has(#dashboard#dashboard:not([hidden])) .topbar .brand, body:has(#dashboard#dashboard:not([hidden])) .sidebar-church:not([hidden]) { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tabs:not([hidden]) { flex-direction: row; justify-content: space-around; gap: 0; padding: 0; width: 100%; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab:not([hidden]) {
    width: auto; flex-direction: column; justify-content: center; gap: 4px; padding: 6px 8px; border-radius: 8px; background: none; box-shadow: none; color: var(--bx-slate-400);
  }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab:hover { background: none; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .bx-ic { width: 36px; height: 36px; padding: 8px; border-radius: 12px; color: currentColor; transition: all .2s; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab.is-active { background: none; box-shadow: none; color: var(--bx-ocean-500); }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab.is-active .bx-ic { color: #fff; background: linear-gradient(to bottom right, var(--bx-ocean-500), var(--bx-sky-500)); box-shadow: 0 4px 6px -1px var(--bx-ocean-200), 0 2px 4px -2px var(--bx-ocean-200); }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .nav-label strong { font-size: 10px; line-height: 14px; font-weight: 600; max-width: 60px; text-align: center; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .tab-name-full { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-tab .tab-name-short { display: inline; }
  body:has(#dashboard#dashboard:not([hidden])) .studio-mobile-menu {
    position: fixed; top: 16px; left: 16px; z-index: 45; display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; padding: 0; border: 0; border-radius: 12px; background: var(--bx-slate-100); color: var(--bx-slate-600); box-shadow: none;
  }
  body:has(#dashboard#dashboard:not([hidden])) .top-actions:not([hidden]) { display: none !important; }
  body:has(#dashboard#dashboard:not([hidden])) .top-actions.is-open:not([hidden]) > span { display: block !important; }
  body:has(#dashboard#dashboard:not([hidden])) .top-actions.is-open:not([hidden]) > .bx-avatar { display: flex !important; }
  body:has(#dashboard#dashboard:not([hidden])) .top-actions.is-open:not([hidden]) {
    display: grid !important; grid-template-columns: 36px minmax(0, 1fr) !important; width: auto; margin: 0; position: fixed; top: 68px; left: 16px; right: 16px; z-index: 45; max-width: 360px;
    border: 1px solid var(--bx-slate-200); border-radius: 16px; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
  }
  body:has(#dashboard#dashboard:not([hidden])) main { margin-left: 0; padding-bottom: 96px; }
  body:has(#dashboard#dashboard:not([hidden])) .heading-row { padding: 16px 16px 16px 68px; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-mobile-brand { display: inline; }
  body:has(#dashboard#dashboard:not([hidden])) .heading-row h1 { font-size: 20px; line-height: 28px; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-grid3, body:has(#dashboard#dashboard:not([hidden])) .bx-grid3:has(#todayRegisterAction[hidden]) { grid-template-columns: minmax(0, 1fr); }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-view:not([hidden]) { padding: 24px 24px; }
}
@media (max-width: 767px) {
  body:has(#dashboard#dashboard:not([hidden])) .workspace-context { display: none; }
}
@media (max-width: 639px) {
  body:has(#dashboard#dashboard:not([hidden])) .heading-row p { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) .workspace-actions { gap: 8px; }
  body:has(#dashboard#dashboard:not([hidden])) .workspace-register .bx-long { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) .workspace-register .bx-short { display: inline; }
  body:has(#dashboard#dashboard:not([hidden])) .dashboard-view:not([hidden]) { padding: 24px 16px; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-row { gap: 12px; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-row-index, body:has(#dashboard#dashboard:not([hidden])) .bx-ghost span { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-donut-row { gap: 16px; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-donut, body:has(#dashboard#dashboard:not([hidden])) .bx-donut svg { width: 150px; height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(#dashboard#dashboard:not([hidden])) .bx-fade, body:has(#dashboard#dashboard:not([hidden])) .bx-row { animation: none; }
}

/* ---------- Resultados ---------- */
body:has(#dashboard#dashboard:not([hidden])) #resultsView:not([hidden]) > * + * { margin-top: 24px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-ocean-400 { color: var(--bx-ocean-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-title-icon { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-title-icon h2 { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-sub { margin: 0 0 24px; font-size: 14px; line-height: 20px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey { display: flex; flex-direction: column; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-row {
  display: block; width: 100%; margin: 0; padding: 4px 0; border: 0; border-radius: 12px; background: none; box-shadow: none;
  text-align: left; color: inherit; cursor: pointer;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-row + .bx-journey-row { margin-top: 4px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-row:hover .bx-journey-name > span:last-child { color: var(--bx-ocean-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-name { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bx-deep); transition: color .2s; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .is-sky { background: linear-gradient(to bottom right, var(--bx-sky-400), var(--bx-sky-500)); }
body:has(#dashboard#dashboard:not([hidden])) .is-ocean { background: linear-gradient(to bottom right, var(--bx-ocean-400), var(--bx-ocean-500)); }
body:has(#dashboard#dashboard:not([hidden])) .is-tq { background: linear-gradient(to bottom right, var(--bx-tq-400), var(--bx-tq-500)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-num { display: flex; align-items: baseline; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-num strong { font-size: 24px; line-height: 32px; font-weight: 800; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-num small { font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-bar { display: block; height: 12px; border-radius: 9999px; background: var(--bx-slate-100); overflow: hidden; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-fill { display: block; height: 100%; width: var(--journey-progress, 0%); border-radius: 9999px; transition: width .7s ease-out; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-fill.is-sky { background: linear-gradient(to right, var(--bx-sky-400), var(--bx-sky-500)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-fill.is-ocean { background: linear-gradient(to right, var(--bx-ocean-400), var(--bx-ocean-500)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-fill.is-tq { background: linear-gradient(to right, var(--bx-tq-400), var(--bx-tq-500)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey-chev { display: flex; justify-content: center; margin: 4px 0 0; color: var(--bx-slate-300); }

body:has(#dashboard#dashboard:not([hidden])) .bx-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly { background: linear-gradient(to bottom right, #0b2a4a, var(--bx-ocean-500)); border-color: rgba(226, 232, 240, .7); color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-head { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: #7dd3fc; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-head h3 { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; color: #e0f2fe; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-status { font-size: 14px; color: #bae6fd; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-status[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-status.is-error { color: #fecdd3; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-big { margin: 0 0 4px; font-size: 48px; line-height: 1; font-weight: 800; color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-label { margin: 0 0 16px; font-size: 14px; line-height: 20px; color: #e0f2fe; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-label span { color: inherit; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-compare { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 12px; background: rgba(255, 255, 255, .1); }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-arrow { width: 32px; height: 32px; flex-shrink: 0; border-radius: 8px; background: var(--bx-tq-400); color: #fff; display: flex; align-items: center; justify-content: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-compare:has(#monthlyDifference.is-down) .bx-monthly-arrow { background: #fb7185; transform: rotate(90deg); }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-compare p { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-compare small { display: block; font-size: 12px; line-height: 16px; color: #bae6fd; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 16px; font-size: 12px; line-height: 16px; color: #bae6fd; }
body:has(#dashboard#dashboard:not([hidden])) .bx-monthly-foot strong { color: #fff; font-weight: 700; }

body:has(#dashboard#dashboard:not([hidden])) .bx-chart-card { grid-column: span 2; }
body:has(#dashboard#dashboard:not([hidden])) .bx-chart-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-chart-head h3 { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-trend:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 9999px; background: var(--bx-ocean-50); color: var(--bx-ocean-600); border: 1px solid var(--bx-ocean-100); font-size: 12px; line-height: 16px; font-weight: 600; }
body:has(#dashboard#dashboard:not([hidden])) .bx-trend.is-down .bx-ic { transform: scaleY(-1); }
body:has(#dashboard#dashboard:not([hidden])) .bx-bars { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; height: 192px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar-col { flex: 1; height: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar-track { flex: 1; width: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar { width: 100%; height: var(--h, 0%); min-height: 4px; border-radius: 8px 8px 0 0; background: linear-gradient(to top, var(--bx-slate-200), var(--bx-slate-300)); transition: height .7s ease-out; position: relative; }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar.is-last { background: linear-gradient(to top, var(--bx-ocean-500), var(--bx-sky-400)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar span { display: block; padding-top: 6px; text-align: center; font-size: 12px; line-height: 16px; font-weight: 700; color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar.is-low span { position: absolute; left: 0; right: 0; bottom: 100%; padding: 0 0 4px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-bar-col small { font-size: 12px; line-height: 16px; font-weight: 500; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-chart-note { margin: 16px 0 0; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history { margin-top: 12px; border-top: 1px solid var(--bx-slate-100); padding-top: 12px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history summary { display: flex; align-items: center; gap: 6px; list-style: none; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--bx-ocean-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history summary::-webkit-details-marker { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history[open] summary .bx-ic { transform: rotate(180deg); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-history-body { padding: 12px 0 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-row { display: grid; grid-template-columns: 72px 1fr 36px; align-items: center; gap: 4px 12px; padding: 6px 0; font-size: 12px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-track { height: 8px; border-radius: 9999px; background: var(--bx-slate-100); overflow: hidden; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-fill { display: block; height: 100%; border-radius: 9999px; background: linear-gradient(to right, var(--bx-ocean-400), var(--bx-sky-400)); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-row-count { font-weight: 700; color: var(--bx-deep); text-align: right; }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-row-detail { grid-column: 2 / -1; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-history .monthly-best { margin: 8px 0 0; font-size: 12px; color: var(--bx-slate-500); }

body:has(#dashboard#dashboard:not([hidden])) .bx-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat { padding: 20px; transition: all .2s cubic-bezier(.4, 0, .2, 1); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat:hover { border-color: #bae6fd; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon { width: 40px; height: 40px; margin-bottom: 12px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon.is-ocean { background: var(--bx-ocean-50); color: var(--bx-ocean-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon.is-sky { background: var(--bx-sky-50); color: var(--bx-sky-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon.is-amber { background: #fffbeb; color: #f59e0b; }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon.is-tq { background: var(--bx-tq-50); color: var(--bx-tq-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat-icon.is-rose { background: #fff1f2; color: #f43f5e; }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat > strong { display: block; font-size: 30px; line-height: 36px; font-weight: 800; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat > p { margin: 4px 0 0; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-stat > small { display: block; margin-top: 8px; font-size: 11px; line-height: 16px; color: var(--bx-slate-400); }
@media (max-width: 1023px) {
  body:has(#dashboard#dashboard:not([hidden])) .bx-results-grid { grid-template-columns: minmax(0, 1fr); }
  body:has(#dashboard#dashboard:not([hidden])) .bx-chart-card { grid-column: auto; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) { body:has(#dashboard#dashboard:not([hidden])) .bx-bars { gap: 8px; } }

/* ---------- Centro de Seguimiento ---------- */
body:has(#dashboard#dashboard:not([hidden])) #peopleView .followup-hero,
body:has(#dashboard#dashboard:not([hidden])) #peopleView .followup-group-title,
body:has(#dashboard#dashboard:not([hidden])) #peopleView .eyebrow { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .followup-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .followup-group { display: contents; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure {
  margin: 0; padding: 0; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .7); background: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); overflow: hidden; animation: bxFadeUp .4s ease-out both;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure.is-recommended { border-color: var(--bx-ocean-200); box-shadow: 0 0 0 1px var(--bx-ocean-100), 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > summary {
  display: flex; align-items: center; gap: 12px; margin: 0; padding: 20px; list-style: none; cursor: pointer;
  background: none; border: 0; box-shadow: none; transition: background-color .15s;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > summary::-webkit-details-marker { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > summary::after, body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > summary::before { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > summary:hover { background: rgba(248, 250, 252, .5); }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-icon.is-slate { background: var(--bx-slate-100); color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-icon.is-rose { background: #fff1f2; color: #f43f5e; }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-icon.is-rec { background: linear-gradient(to bottom right, var(--bx-ocean-500), var(--bx-sky-400)); color: #fff; box-shadow: 0 4px 6px -1px var(--bx-ocean-200), 0 2px 4px -2px var(--bx-ocean-200); }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-copy { flex: 1; min-width: 0; display: block; }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .bx-group-title h2 { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .bx-group-copy p { margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
body:has(#dashboard#dashboard:not([hidden])) .bx-rec { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 4px 12px; border-radius: 9999px; background: var(--bx-ocean-50); color: var(--bx-ocean-600); border: 1px solid var(--bx-ocean-100); font-size: 12px; line-height: 16px; font-weight: 600; }
body:has(#dashboard#dashboard:not([hidden])) .bx-group-end { display: flex; align-items: center; gap: 8px; flex-shrink: 0; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .bx-group-end .count {
  display: flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 8px; margin: 0;
  border-radius: 9999px; border: 0; background: var(--bx-slate-100); color: var(--bx-slate-600); font-size: 14px; line-height: 20px; font-weight: 700; box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView .is-recommended .bx-group-end .count { background: var(--bx-ocean-500); color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-chev { transition: transform .2s; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView details[open] > summary .bx-chev { transform: rotate(180deg); }

/* Listas dentro de cada tarjeta */
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > :not(summary) { margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure .empty:not([hidden]) { display: block; margin: 0; padding: 16px 20px; border: 0; border-top: 1px solid var(--bx-slate-100); border-radius: 0; background: none; font-size: 13px; color: var(--bx-slate-400); text-align: left; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure .empty[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div:not(.empty):not(:empty) { display: block; padding: 0; border-top: 1px solid var(--bx-slate-100); background: none; gap: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article {
  display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin: 0; padding: 16px; border: 0; border-radius: 0;
  background: #fff; box-shadow: none; transition: background-color .15s; animation: none;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article + article { border-top: 1px solid var(--bx-slate-50); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article:hover { background: rgba(248, 250, 252, .5); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article > div { flex: 1; min-width: 0; display: block; padding: 0; margin: 0; background: none; border: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article :is(span, small):not(.bx-avatar-circle) { display: inline; font-size: 11px; line-height: 16px; font-weight: 400; color: var(--bx-slate-400); background: none; padding: 0; border: 0; text-transform: none; letter-spacing: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article > div > :is(span, small) { display: block; margin-top: 4px; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article p { margin: 4px 0 0; font-size: 13px; line-height: 18px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article h3 { margin: 4px 0 0; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--bx-slate-700); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article :is(.action-queue-priority, .visit-badge, .priority, .return-meta > span, .follow-label):not(.bx-avatar-circle) {
  display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 2px 10px; border-radius: 9999px; border: 1px solid #fde68a;
  background: #fffbeb; color: #b45309; font-size: 11px; line-height: 16px; font-weight: 600; margin: 0 0 4px;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView :is(.action-queue-priority, .visit-badge, .priority, .return-meta > span, .follow-label)::before { content: ""; width: 6px; height: 6px; border-radius: 9999px; background: currentColor; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .visit-badge:not(.bx-avatar-circle) { border-color: var(--bx-ocean-100); background: var(--bx-ocean-50); color: var(--bx-ocean-600); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .visit-badge.reached:not(.bx-avatar-circle) { border-color: #99f6e4; background: var(--bx-tq-50); color: var(--bx-tq-600); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView :is(.return-visit-number, .milestone-icon) { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .return-person { display: block; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .return-meta { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .return-meta small { display: block; margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .contact, body:has(#dashboard#dashboard:not([hidden])) #peopleView article .tags { flex: 1 1 100%; padding-left: 52px; font-size: 11px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .contact strong { display: inline; font-size: 11px; font-weight: 600; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .tags .tag { display: inline-flex; margin: 2px 4px 0 0; padding: 1px 8px; border-radius: 9999px; background: var(--bx-slate-100); color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView article .visitor-action { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) :is(#peopleView, #registrationView, #journeyDialog) :is(.detail-button, .milestone-action, .review-visitor) {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; width: auto; min-height: 0; margin: 0;
  padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; box-shadow: none;
  color: var(--bx-slate-600); font-size: 12px; line-height: 16px; font-weight: 500; cursor: pointer; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) :is(#peopleView, #registrationView, #journeyDialog) :is(.detail-button, .milestone-action, .review-visitor):hover { background: var(--bx-slate-100); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView :is(.detail-button, .review-visitor)::before {
  content: ""; width: 16px; height: 16px; flex-shrink: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
body:has(#dashboard#dashboard:not([hidden])) #peopleView .search { display: block; margin: 0; padding: 16px 20px 8px; border-top: 1px solid var(--bx-slate-100); background: none; }
body:has(#dashboard#dashboard:not([hidden])) :is(#peopleView, #registrationView) input[type="search"] {
  width: 100%; height: auto; margin: 0; padding: 12px 16px 12px 44px; border: 1px solid var(--bx-slate-200); border-radius: 12px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") 14px center no-repeat;
  font: 500 14px/20px 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--bx-deep); box-shadow: none; outline: none; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) :is(#peopleView, #registrationView) input[type="search"]:focus { border-color: var(--bx-sky-400); box-shadow: 0 0 0 3px rgba(56, 189, 248, .2); }
body:has(#dashboard#dashboard:not([hidden])) #peopleView + .footnote, body:has(#dashboard#dashboard:not([hidden])) #dashboard > .footnote { max-width: 80rem; margin: 0 auto; padding: 0 32px 24px; font-size: 12px; color: var(--bx-slate-400); }
@media (max-width: 1023px) {
  body:has(#dashboard#dashboard:not([hidden])) #peopleView .followup-columns { grid-template-columns: minmax(0, 1fr); }
  body:has(#dashboard#dashboard:not([hidden])) #dashboard > .footnote { padding: 0 16px 24px; }
}
@media (max-width: 639px) {
  body:has(#dashboard#dashboard:not([hidden])) #peopleView article .contact, body:has(#dashboard#dashboard:not([hidden])) #peopleView article .tags { padding-left: 0; }
  body:has(#dashboard#dashboard:not([hidden])) .bx-rec { display: none; }
}

/* ---------- Registro ---------- */
body:has(#dashboard#dashboard:not([hidden])) #registrationView:not([hidden]) { max-width: 42rem; }
body:has(#dashboard#dashboard:not([hidden])) .bx-steps { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 24px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-step { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) .bx-step b { width: 28px; height: 28px; border-radius: 9999px; display: flex; align-items: center; justify-content: center; background: var(--bx-slate-100); color: var(--bx-slate-400); font-size: 12px; font-weight: 700; }
body:has(#dashboard#dashboard:not([hidden])) .bx-step.is-on, body:has(#dashboard#dashboard:not([hidden])) #registrationView:has(.registration-person) .bx-step { color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-step.is-on b, body:has(#dashboard#dashboard:not([hidden])) #registrationView:has(.registration-person) .bx-step b { background: var(--bx-ocean-500); color: #fff; }
body:has(#dashboard#dashboard:not([hidden])) .bx-steps i { width: 48px; height: 2px; border-radius: 2px; background: var(--bx-slate-200); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-card {
  margin: 0; padding: 24px; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .7); background: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); animation: bxFadeUp .4s ease-out both;
}
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-card + .registration-card { margin-top: 16px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-search-head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 20px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-search-icon { width: 56px; height: 56px; margin-bottom: 12px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: var(--bx-ocean-50); color: var(--bx-ocean-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-search-head h3 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-search-head p { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-help { margin: 12px 0 0; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); text-align: center; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-results:not(:empty) { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin: 0; padding: 16px; border-radius: 16px;
  background: linear-gradient(to bottom right, var(--bx-ocean-50), var(--bx-sky-50)); border: 1px solid var(--bx-ocean-100); box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person > div:not(.registration-person-actions) { flex: 1; min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person strong { display: block; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person span:not(.bx-avatar-circle) { display: block; font-size: 12px; line-height: 16px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person .bx-avatar-circle { width: 48px; height: 48px; font-size: 16px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person-actions { flex: 1 1 100%; display: flex; flex-direction: column-reverse; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person-actions .primary { width: 100%; padding: 14px 20px; font-size: 15px; background: linear-gradient(to right, var(--bx-ocean-500), var(--bx-sky-500)); box-shadow: 0 4px 6px -1px var(--bx-ocean-200); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person-actions .primary:disabled { opacity: .55; cursor: default; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-person-actions .detail-button { justify-content: center; width: 100%; padding: 12px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; font-size: 14px; font-weight: 600; color: var(--bx-slate-700); }

body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new { padding: 0; overflow: hidden; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new > summary { display: flex; align-items: center; gap: 12px; padding: 20px 24px; list-style: none; cursor: pointer; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new > summary::-webkit-details-marker { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new > summary::after { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-new-icon { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--bx-sky-50); color: var(--bx-sky-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-new-copy { flex: 1; min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) .bx-new-copy strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-new-copy small { display: block; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new[open] > summary .bx-chev { transform: rotate(180deg); }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-new .bx-chev { color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm { display: flex; flex-direction: column; gap: 16px; padding: 4px 24px 24px; border-top: 1px solid var(--bx-slate-100); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm label[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm label span { color: var(--bx-slate-400); font-weight: 500; }
body:has(#dashboard#dashboard:not([hidden])) :is(#registrationForm, dialog) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%; height: auto; margin: 0; padding: 11px 14px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff;
  font: 500 14px/20px 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--bx-deep); box-shadow: none; outline: none; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) :is(#registrationForm, dialog) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus { border-color: var(--bx-sky-400); box-shadow: 0 0 0 3px rgba(56, 189, 248, .2); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-interests { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-interests legend { margin-bottom: 8px; padding: 0; font-size: 13px; font-weight: 600; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-interests label { flex-direction: row; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--bx-slate-200); border-radius: 9999px; background: #fff; font-size: 12px; font-weight: 600; color: var(--bx-slate-600); cursor: pointer; transition: all .2s; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-interests label:has(input:checked) { border-color: var(--bx-ocean-200); background: var(--bx-ocean-50); color: var(--bx-ocean-600); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm input[type="checkbox"] { width: 16px; height: 16px; margin: 0; accent-color: var(--bx-ocean-500); flex-shrink: 0; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-check { flex-direction: row; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 12px; background: var(--bx-slate-50); border: 1px solid var(--bx-slate-100); font-weight: 500; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-check span { color: var(--bx-slate-600); font-weight: 500; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-help { margin: 0; text-align: left; }
body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-submit { width: 100%; padding: 14px 20px; font-size: 15px; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-notice:not([hidden]) { display: block; margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--bx-tq-50); border: 1px solid #99f6e4; color: var(--bx-tq-600); font-size: 14px; font-weight: 600; text-align: center; }
body:has(#dashboard#dashboard:not([hidden])) #registrationView .registration-notice[data-kind="error"] { background: #fff1f2; border-color: #fecdd3; color: #e11d48; }
@media (max-width: 639px) { body:has(#dashboard#dashboard:not([hidden])) #registrationForm .registration-fields { grid-template-columns: minmax(0, 1fr); } }

/* ---------- iSendaRadar ---------- */
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-heading { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-controls { margin: 0 0 8px; padding: 0; background: none; border: 0; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-periods { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; background: none; border: 0; border-radius: 0; box-shadow: none; animation: bxFadeUp .3s ease-out both; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-periods button {
  margin: 0; padding: 8px 16px; min-height: 0; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; box-shadow: none;
  color: var(--bx-slate-600); font-size: 14px; line-height: 20px; font-weight: 600; cursor: pointer; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-periods button:hover { background: var(--bx-slate-50); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-periods button.is-active { border-color: transparent; background: linear-gradient(to right, var(--bx-ocean-500), var(--bx-sky-500)); color: #fff; box-shadow: 0 4px 6px -1px var(--bx-ocean-200), 0 2px 4px -2px var(--bx-ocean-200); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-message { margin: 0 0 16px; padding: 0; background: none; border: 0; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-message[data-kind="error"] { color: #e11d48; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-map-column {
  position: relative; display: block; margin: 0; padding: 32px; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .7); background: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); overflow: hidden; animation: bxFadeUp .4s ease-out both; min-height: 340px;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-map {
  position: relative; width: 100%; aspect-ratio: 8 / 3; height: auto; min-height: 0; margin: 0; padding: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; transition: opacity .4s;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-radar-rings { position: absolute; inset: -32px; width: calc(100% + 64px); height: calc(100% + 64px); opacity: .03; pointer-events: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-radar-rings circle { fill: none; stroke: var(--bx-ocean-500); stroke-width: 1; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route-vertical { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route path { fill: none; stroke-linecap: round; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route .bx-route-base { stroke: #e8f0fa; stroke-width: 12; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route .bx-route-dash { stroke: url(#bxRadarH); stroke-width: 4; stroke-dasharray: 8 6; opacity: .6; animation: bxDash 20s linear infinite; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route-vertical .bx-route-dash { stroke: url(#bxRadarV); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route .radar-route-progress { stroke: url(#bxRadarH); stroke-width: 6; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 1; transition: stroke-dashoffset 1.6s ease-in-out; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route-vertical .radar-route-progress { stroke: url(#bxRadarV); }
@keyframes bxDash { to { stroke-dashoffset: -1000; } }

body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage {
  position: absolute; z-index: 2; width: 140px; margin: 0; padding: 0; transform: translate(-50%, -28px);
  display: flex; flex-direction: column; align-items: center; gap: 6px; border: 0; background: none; box-shadow: none; cursor: pointer; text-align: center; color: var(--bx-deep);
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage:disabled { cursor: default; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-first { left: 7.5%; top: 26.67%; --st: var(--bx-sky-400); --st-soft: #e0f2fe; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-second { left: 50%; top: 73.33%; --st: var(--bx-ocean-500); --st-soft: var(--bx-ocean-100); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-third { left: 92.5%; top: 26.67%; --st: var(--bx-tq-400); --st-soft: var(--bx-tq-100); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-node {
  position: relative; width: 56px; height: 56px; margin: 0; border-radius: 9999px; border: 2px solid var(--st); background: #fff;
  box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 30px var(--st-soft); color: var(--st);
  display: flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1; font-weight: 700; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage:not(:disabled):hover .radar-node { transform: scale(1.06); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage.is-selected .radar-node, body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage.is-reached .radar-node { background: var(--st); color: #fff; box-shadow: 0 0 0 6px var(--st-soft); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage strong { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage .radar-stage-count { display: inline-flex; padding: 2px 10px; border-radius: 9999px; background: var(--st); color: #fff; font-size: 11px; line-height: 16px; font-weight: 700; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage:disabled .radar-stage-count { background: var(--bx-slate-100); color: var(--bx-slate-400); }

/* Botón del radar: orbe antes de escanear, botón secundario después */
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-trigger { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; background: #fff; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanned .radar-trigger { position: static; background: none; margin-top: 24px; }
body:has(#dashboard#dashboard:not([hidden])) #radarView:not(.is-scanned) .radar-map { opacity: 0; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan {
  display: flex; flex-direction: column; align-items: center; gap: 0; margin: 0; padding: 48px 16px; width: auto; height: auto; min-height: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--bx-deep); cursor: pointer; animation: none;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan::before, body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan::after { display: none; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb { position: relative; width: 128px; height: 128px; display: block; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-ring { position: absolute; inset: 0; border-radius: 9999px; background: var(--bx-ocean-400); animation: bxPulseRing 2s cubic-bezier(.4, 0, .6, 1) infinite; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-ring + .bx-orb-ring { animation-delay: 1s; }
@keyframes bxPulseRing { 0% { transform: scale(.8); opacity: .7; } 80%, to { transform: scale(1.6); opacity: 0; } }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-core {
  position: relative; width: 128px; height: 128px; border-radius: 9999px; display: flex; align-items: center; justify-content: center; color: #fff;
  background: linear-gradient(to bottom right, var(--bx-ocean-500), var(--bx-sky-500), var(--bx-tq-400));
  box-shadow: 0 25px 50px -12px var(--bx-ocean-200); transition: transform .3s;
}
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-core i { position: absolute; border-radius: 9999px; border: 2px solid rgba(255, 255, 255, .3); inset: 8px; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-core i + i { inset: 20px; border-width: 1px; border-color: rgba(255, 255, 255, .2); }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-core .bx-ic { stroke-width: 1.5; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan:hover .bx-orb-core { transform: scale(1.05); }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-title { margin-top: 24px; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-text { max-width: 20rem; margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); text-align: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-scanning { display: none; margin-top: 24px; font-size: 18px; line-height: 28px; font-weight: 700; color: var(--bx-deep); text-align: center; }
body:has(#dashboard#dashboard:not([hidden])) .bx-orb-scanning small { display: block; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanning .bx-orb-title, body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanning .bx-orb-text { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanning .bx-orb-scanning { display: block; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanning .bx-orb-core .bx-ic { animation: bxSpin 1.2s linear infinite; }
@keyframes bxSpin { to { transform: rotate(360deg); } }
body:has(#dashboard#dashboard:not([hidden])) .bx-rescan { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanned:not(.is-scanning) .radar-scan { padding: 0; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanned:not(.is-scanning) :is(.bx-orb, .bx-orb-title, .bx-orb-text) { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanned:not(.is-scanning) .bx-rescan {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff;
  color: var(--bx-slate-700); font-size: 14px; line-height: 20px; font-weight: 600; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView.is-scanned .radar-scan:hover .bx-rescan { border-color: var(--bx-slate-300); background: var(--bx-slate-50); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan:disabled { cursor: default; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-scan:disabled:not(:has(~ *)) .bx-orb-core { filter: none; }

/* Resultado del radar */
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-result {
  display: block; margin: 0; padding: 24px; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .7); background: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); position: static; color: var(--bx-deep); animation: bxFadeUp .4s ease-out both;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView:not(.is-scanned) .radar-result { display: none; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-result .eyebrow { display: block; font-size: 11px; line-height: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--bx-ocean-400); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-result h3 { margin: 4px 0 0; font-size: 16px; line-height: 24px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-result p { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-result > small { display: block; margin-top: 4px; font-size: 12px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-list:not(:empty) { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-top: 16px; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-person {
  display: block; width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; box-shadow: none;
  text-align: left; cursor: pointer; transition: all .2s;
}
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-person:hover { border-color: #bae6fd; background: var(--bx-sky-50); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-person.is-selected { border-color: var(--bx-ocean-200); background: var(--bx-ocean-50); box-shadow: 0 0 0 1px var(--bx-ocean-100); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-person strong { display: block; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-person small { display: block; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-list-empty { margin: 16px 0 0; font-size: 13px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-detail:not([hidden]) { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 20px; border: 0; border-radius: 12px; background: var(--bx-sky-600); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-detail:hover { background: var(--bx-sky-700); }
body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-footnote { margin: 16px 0 0; font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
@media (max-width: 767px) {
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-map { aspect-ratio: 3 / 4; max-width: 320px; margin: 0 auto; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route-horizontal { display: none; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route-vertical { display: block; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage { width: 110px; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-first { left: 26.67%; top: 10%; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-second { left: 73.33%; top: 50%; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-stage-third { left: 26.67%; top: 90%; }
  body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-map-column { padding: 24px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(#dashboard#dashboard:not([hidden])) .bx-orb-ring, body:has(#dashboard#dashboard:not([hidden])) #radarView .radar-route .bx-route-dash { animation: none; }
}

/* ---------- Ventanas (ficha de la persona, personas por etapa, contraseña) ---------- */
body:has(#dashboard#dashboard:not([hidden])) dialog {
  width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 48px); margin: auto; padding: 0;
  border: 1px solid rgba(226, 232, 240, .8); border-radius: 24px; background: #fff; color: var(--bx-deep);
  box-shadow: 0 25px 50px -12px rgba(11, 42, 74, .25); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; overflow: auto;
}
body:has(#dashboard#dashboard:not([hidden])) dialog#passwordDialog { width: min(480px, calc(100vw - 32px)); }
body:has(#dashboard#dashboard:not([hidden])) dialog[open] { animation: bxScaleIn .25s ease-out both; }
@keyframes bxScaleIn { 0% { opacity: 0; transform: scale(.95); } to { opacity: 1; transform: scale(1); } }
body:has(#dashboard#dashboard:not([hidden])) dialog::backdrop { background: rgba(11, 42, 74, .35); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body:has(#dashboard#dashboard:not([hidden])) dialog > * { padding: 24px; margin: 0; }
body:has(#dashboard#dashboard:not([hidden])) dialog .dialog-heading {
  position: sticky; top: -24px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin: -24px -24px 20px; padding: 20px 24px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--bx-slate-100);
}
body:has(#dashboard#dashboard:not([hidden])) dialog .eyebrow { display: block; font-size: 11px; line-height: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--bx-ocean-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .dialog-heading h2 { margin: 2px 0 0; font-size: 20px; line-height: 28px; font-weight: 800; letter-spacing: -.025em; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog .dialog-close {
  width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0;
  border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; color: var(--bx-slate-500); font-size: 22px; line-height: 1; cursor: pointer; box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) dialog .dialog-close:hover { background: var(--bx-slate-50); color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog p { font-size: 14px; line-height: 20px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) dialog .muted { color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-loading { padding: 24px 0; font-size: 14px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-summary article { margin: 0; padding: 16px; border-radius: 16px; background: linear-gradient(to bottom right, var(--bx-ocean-50), var(--bx-sky-50)); border: 1px solid var(--bx-ocean-100); box-shadow: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-summary span { display: block; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-summary strong { display: block; margin-top: 4px; font-size: 22px; line-height: 28px; font-weight: 800; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-section { margin: 0 0 12px; padding: 18px 20px; border-radius: 16px; border: 1px solid rgba(226, 232, 240, .8); background: #fff; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .04); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-section h3 { margin: 0 0 8px; font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog .detail-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body:has(#dashboard#dashboard:not([hidden])) dialog .viewer-note, body:has(#dashboard#dashboard:not([hidden])) dialog .section-help, body:has(#dashboard#dashboard:not([hidden])) dialog .contact-help { font-size: 12px; line-height: 16px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .tags { display: flex; flex-wrap: wrap; gap: 6px; }
body:has(#dashboard#dashboard:not([hidden])) dialog .tag { display: inline-flex; padding: 4px 12px; border-radius: 9999px; background: var(--bx-ocean-50); border: 1px solid var(--bx-ocean-100); color: var(--bx-ocean-600); font-size: 12px; font-weight: 600; }
body:has(#dashboard#dashboard:not([hidden])) dialog .visit-timeline { display: flex; flex-direction: column; gap: 0; }
body:has(#dashboard#dashboard:not([hidden])) dialog .visit-timeline article { display: flex; gap: 12px; padding: 8px 0; margin: 0; background: none; border: 0; box-shadow: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog .timeline-dot { width: 10px; height: 10px; margin-top: 5px; flex-shrink: 0; border-radius: 9999px; background: var(--bx-sky-400); box-shadow: 0 0 0 4px var(--bx-sky-50); }
body:has(#dashboard#dashboard:not([hidden])) dialog .visit-timeline strong { display: block; font-size: 14px; font-weight: 700; color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog .visit-timeline small { display: block; font-size: 12px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.general-follow-up-card, .detail-request, .contact-action, .email-sender, .message-history, .contact-events, .follow-up-note) {
  margin: 8px 0 0; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--bx-slate-100); background: var(--bx-slate-50); box-shadow: none;
}
body:has(#dashboard#dashboard:not([hidden])) dialog .is-overdue { border-color: #fecdd3; background: #fff1f2; }
body:has(#dashboard#dashboard:not([hidden])) dialog .request-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) dialog strong { color: var(--bx-deep); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.status, .overdue-badge, .message-status) { display: inline-flex; padding: 2px 10px; border-radius: 9999px; font-size: 11px; line-height: 16px; font-weight: 600; background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.status-in_progress, .message-pending) { background: var(--bx-ocean-50); color: var(--bx-ocean-600); border-color: var(--bx-ocean-100); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.status-completed, .message-sent) { background: var(--bx-tq-50); color: var(--bx-tq-600); border-color: #99f6e4; }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.overdue-badge, .message-failed) { background: #fff1f2; color: #e11d48; border-color: #fecdd3; }
body:has(#dashboard#dashboard:not([hidden])) dialog .request-follow-up-summary { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; font-size: 12px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.request-controls, .manual-contact, .email-sender) { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; align-items: end; margin-top: 12px; }
body:has(#dashboard#dashboard:not([hidden])) dialog label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.detail-button, .save-follow-up, .record-contact, .send-email) {
  justify-content: center; padding: 11px 16px; border: 0; border-radius: 12px; background: var(--bx-sky-600); color: #fff; font-size: 13px; font-weight: 600;
}
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.detail-button, .save-follow-up, .record-contact, .send-email):hover { background: var(--bx-sky-700); }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.detail-button, .send-email):disabled { background: var(--bx-slate-200); color: var(--bx-slate-500); cursor: default; }
body:has(#dashboard#dashboard:not([hidden])) dialog .email-sender > div { grid-column: 1 / -1; }
body:has(#dashboard#dashboard:not([hidden])) dialog .email-sender span, body:has(#dashboard#dashboard:not([hidden])) dialog .contact-action span { display: block; font-size: 12px; color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) dialog .message-history ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
body:has(#dashboard#dashboard:not([hidden])) dialog .message-history li { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) dialog .contact-events > div { display: flex; justify-content: space-between; gap: 8px; margin-top: 6px; font-size: 12px; color: var(--bx-slate-600); }
body:has(#dashboard#dashboard:not([hidden])) dialog .follow-up-form { background: none; border: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; margin: 8px 0 0; }
body:has(#dashboard#dashboard:not([hidden])) dialog .follow-up-form[hidden] { display: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog .form-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .follow-up-note small { display: block; font-size: 12px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .notice:not([hidden]) { display: block; margin: 12px 24px 24px; padding: 12px 16px; border-radius: 12px; background: var(--bx-tq-50); color: var(--bx-tq-600); font-size: 14px; font-weight: 600; }
body:has(#dashboard#dashboard:not([hidden])) dialog .notice[data-kind="error"] { background: #fff1f2; color: #e11d48; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-intro { margin: 0 0 12px; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-people { display: flex; flex-direction: column; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person { display: flex; align-items: center; gap: 12px; padding: 12px 0; margin: 0; border: 0; border-top: 1px solid var(--bx-slate-100); background: none; box-shadow: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person > div { flex: 1; min-width: 0; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person strong { display: block; font-size: 14px; font-weight: 700; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person span:not(.bx-avatar-circle) { display: block; font-size: 12px; color: var(--bx-slate-400); }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person .detail-button { background: transparent; color: var(--bx-slate-600); padding: 8px 12px; }
body:has(#dashboard#dashboard:not([hidden])) dialog .journey-person .detail-button:hover { background: var(--bx-slate-100); }
body:has(#dashboard#dashboard:not([hidden])) #passwordForm { display: flex; flex-direction: column; gap: 10px; }
body:has(#dashboard#dashboard:not([hidden])) #passwordForm .password-field { display: flex; gap: 8px; }
body:has(#dashboard#dashboard:not([hidden])) #passwordForm .reveal { flex-shrink: 0; padding: 0 14px; border: 1px solid var(--bx-slate-200); border-radius: 12px; background: #fff; color: var(--bx-ocean-500); font-size: 12px; font-weight: 600; cursor: pointer; }
body:has(#dashboard#dashboard:not([hidden])) #passwordForm .primary { margin-top: 8px; width: 100%; }
@media (max-width: 639px) {
  body:has(#dashboard#dashboard:not([hidden])) dialog .detail-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body:has(#dashboard#dashboard:not([hidden])) dialog { max-height: calc(100vh - 24px); border-radius: 20px; }
}

body:has(#dashboard#dashboard:not([hidden])) #peopleView .milestone-action { padding: 8px 12px !important; color: var(--bx-slate-600) !important; background: transparent; border-radius: 8px; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .follow-label { padding: 2px 10px !important; color: #b45309 !important; }
body:has(#dashboard#dashboard:not([hidden])) .heading-row::before, body:has(#dashboard#dashboard:not([hidden])) .heading-row::after { display: none; content: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.general-follow-up-card, .detail-request) { display: block; grid-template-columns: none; }
body:has(#dashboard#dashboard:not([hidden])) dialog :is(.general-follow-up-card, .detail-request) > * { max-width: none; width: auto; }
body:has(#dashboard#dashboard:not([hidden])) #visitorDialog :is(.detail-button, .save-follow-up, .record-contact, .send-email) { display: inline-flex; align-items: center; justify-content: center; min-height: 0; border: 0; border-radius: 12px; background: var(--bx-sky-600); color: #fff; padding: 11px 16px; font-size: 13px; font-weight: 600; cursor: pointer; }
body:has(#dashboard#dashboard:not([hidden])) #visitorDialog :is(.detail-button, .save-follow-up, .record-contact, .send-email):hover { background: var(--bx-sky-700); }
body:has(#dashboard#dashboard:not([hidden])) #visitorDialog :is(.detail-button, .send-email):disabled { background: var(--bx-slate-200); color: var(--bx-slate-500); }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey.return-funnel { display: flex; flex-direction: column; grid-template-columns: none; gap: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
body:has(#dashboard#dashboard:not([hidden])) .bx-journey.return-funnel::before, body:has(#dashboard#dashboard:not([hidden])) .bx-journey.return-funnel::after { display: none; content: none; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article { flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; grid-template-columns: none !important; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article > * { margin-left: 0; margin-right: 0; justify-self: auto; align-self: center; }
body:has(#dashboard#dashboard:not([hidden])) #peopleView .panel-disclosure > div > article > div:not(.return-meta):not(.visitor-action) { flex: 1 1 0; min-width: 0; }
@media (max-width: 639px) { body:has(#dashboard#dashboard:not([hidden])) #peopleView .return-meta { flex: 1 1 100% !important; flex-direction: row !important; align-items: center !important; justify-content: space-between; padding-left: 52px; } }
