/**
 * Condor Design System — componentes app (compactos, alta densidad).
 */

.font-display {
  font-family: var(--condor-font-display);
}

.condor-body {
  font-family: var(--condor-font-body);
  color: var(--condor-on-surface, var(--condor-azul));
  background-color: var(--role-bg, var(--condor-gris-claro));
  background-image: var(--role-bg-gradient, none);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
}

/* —— App chrome (header + subnav) —— */
.condor-app-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-top: 3px solid var(--role-accent, var(--condor-azul-vivo));
  background: var(--condor-surface-raised, #fff);
  box-shadow: 0 1px 0 var(--condor-outline-variant, #b8c5d4),
    0 8px 24px rgb(15 23 42 / 0.05);
}

.condor-nav {
  background: transparent;
  backdrop-filter: none;
  border-bottom: none;
  box-shadow: none;
}

.condor-nav-top {
  min-height: var(--condor-nav-h);
}

.condor-nav-row {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-height: var(--condor-nav-h);
  border-bottom: 1px solid var(--condor-outline, #cfd8e3);
}

@media (min-width: 1024px) {
  .condor-nav-row {
    gap: 0.625rem;
  }
}

.condor-nav-brand {
  display: flex;
  min-width: 0;
  flex-shrink: 0;
  align-items: center;
}

.condor-nav-inline-subnav {
  display: none;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.25rem;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.condor-nav-inline-subnav::-webkit-scrollbar {
  display: none;
}

@media (min-width: 768px) {
  .condor-nav--with-subnav .condor-nav-inline-subnav {
    display: flex;
  }
}

.condor-nav-inline-subnav > .condor-subnav {
  flex: 0 0 auto;
  width: auto;
}

.condor-nav-inline-subnav .condor-subnav-scroll {
  overflow: visible;
}

.condor-nav--with-subnav .condor-nav-session {
  flex-shrink: 0;
  margin-left: auto;
}

@media (min-width: 1024px) {
  .condor-nav--with-subnav .condor-nav-brand-text {
    display: none;
  }

  .condor-nav--with-subnav .condor-logo-link {
    gap: 0.375rem;
  }
}

.condor-nav-session {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: auto;
}

.condor-nav--with-subnav .condor-nav-session {
  margin-left: 0;
}

.condor-logo {
  display: block;
  height: 1.875rem;
  width: auto;
  max-width: min(140px, 38vw);
  object-fit: contain;
}

@media (min-width: 640px) {
  .condor-logo {
    height: 2rem;
    max-width: min(152px, 40vw);
  }
}

.condor-nav--with-subnav .condor-logo {
  height: 1.75rem;
}

.condor-logo-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  text-decoration: none;
}

.condor-brand-title {
  font-family: var(--condor-font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--condor-azul);
  line-height: 1.15;
}

@media (min-width: 640px) {
  .condor-brand-title {
    font-size: var(--condor-fs-base);
  }
}

.condor-brand-sub {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--condor-on-surface-muted, var(--condor-gris-texto));
}

.condor-brand-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  border: 1px solid color-mix(in srgb, var(--role-accent) 22%, var(--condor-outline));
  background: color-mix(in srgb, var(--role-accent-muted) 55%, #fff);
  padding: 0.125rem 0.5rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--role-accent-text);
}

.condor-nav-user {
  display: inline-flex;
  max-width: 11rem;
  align-items: center;
  gap: 0.5rem;
  border-radius: 9999px;
  border: 1px solid var(--condor-outline);
  background: var(--condor-surface-container);
  padding: 0.1875rem 0.625rem 0.1875rem 0.1875rem;
}

.condor-nav-user-avatar {
  display: inline-flex;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: var(--role-accent);
  font-size: 0.625rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}

.condor-nav-user-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--condor-on-surface, var(--condor-azul));
}

@media (min-width: 768px) and (max-width: 1279px) {
  .condor-nav--with-subnav .condor-nav-user-name {
    display: none;
  }

  .condor-nav--with-subnav .condor-nav-user {
    max-width: none;
    padding-right: 0.1875rem;
  }
}

.condor-nav-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  padding: 0.4375rem;
  color: var(--condor-on-surface-muted, #52657a);
  transition: background 0.15s ease, color 0.15s ease;
}

.condor-nav-icon-btn:hover {
  background: var(--condor-surface-container);
  color: var(--role-accent);
}

.condor-nav-logout {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding: 0.4375rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--condor-on-surface-muted, #52657a);
  transition: background 0.15s ease, color 0.15s ease;
}

.condor-nav-logout:hover {
  background: var(--condor-danger-bg);
  color: var(--condor-danger-solid);
}

.condor-nav-logout svg {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

.condor-subnav-shell {
  min-width: 0;
  padding: 0;
  background: transparent;
}

.condor-nav-inline-subnav .condor-subnav {
  width: 100%;
}

.condor-nav-inline-subnav .condor-subnav-track {
  width: max-content;
  max-width: 100%;
}

.condor-nav-inline-subnav .condor-subnav--secondary {
  display: inline-block;
  margin-top: 0;
  margin-left: 0.25rem;
  vertical-align: middle;
}

.condor-nav-inline-subnav .condor-subnav--secondary .condor-subnav-track {
  padding: 0.125rem;
}

.condor-nav-inline-subnav .condor-subnav-scroll {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  overflow-x: auto;
}

.condor-app-header:has(.condor-nav--with-subnav) {
  --condor-chrome-h: var(--condor-nav-h);
}

.condor-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--condor-on-surface-muted, var(--condor-gris-texto));
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
}

.condor-nav-link:hover {
  color: var(--role-accent, var(--condor-azul-vivo));
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 45%, transparent);
}

.condor-nav-link svg {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: #94a3b8;
  transition: color 0.2s;
}

.condor-nav-link:hover svg {
  color: var(--role-accent, var(--condor-azul-vivo));
}

.condor-nav--impersonating {
  border-top: 2px solid var(--condor-naranja, #ea580c);
}

.condor-impersonation-dot {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: var(--condor-naranja, #ea580c);
  flex-shrink: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .condor-impersonation-dot--pulse {
    animation: condor-impersonation-pulse 2.4s ease-in-out infinite;
  }
}

@keyframes condor-impersonation-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.45;
  }
}

.condor-nav-exit-impersonation {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  border: 1px solid var(--role-subnav-border, #e2e8f0);
  background: #fff;
  padding: 0.375rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--role-accent-text, #1e3a8a);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.condor-nav-exit-impersonation:hover:not(:disabled) {
  background: var(--role-subnav-bg, #f8fafc);
  border-color: #cbd5e1;
}

.condor-nav-exit-impersonation:disabled {
  opacity: 0.6;
  cursor: wait;
}

/* Subnav CRM (vendedor / gerencia) — segmented pills */
.condor-subnav {
  background: transparent;
  border: none;
}

.condor-subnav--secondary {
  margin-top: 0.25rem;
}

.condor-subnav-scroll {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.condor-subnav-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.condor-subnav-track {
  display: inline-flex;
  align-items: center;
  gap: 0.0625rem;
  min-width: max-content;
  padding: 0.125rem;
  border-radius: 0.5rem;
  border: 1px solid var(--condor-outline);
  background: var(--condor-surface-container);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.65);
}

.condor-subnav--secondary .condor-subnav-track {
  padding: 0.125rem;
  border-radius: 0.5rem;
  border-style: dashed;
  background: color-mix(in srgb, var(--condor-surface-container) 80%, transparent);
}

.condor-subnav-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: var(--condor-subnav-h);
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--condor-on-surface-muted, #52657a);
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  scroll-snap-align: start;
  transition: color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

@media (min-width: 1280px) {
  .condor-subnav-tab {
    padding: 0.3125rem 0.625rem;
    font-size: 0.75rem;
  }
}

.condor-subnav--secondary .condor-subnav-tab {
  min-height: 1.875rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
}

.condor-subnav-tab:hover {
  color: var(--role-accent-text);
  background: color-mix(in srgb, var(--role-accent-muted) 45%, #fff);
}

.condor-subnav-tab--active,
.role-subnav-tab-active.condor-subnav-tab {
  color: var(--role-accent-text);
  border-color: var(--condor-outline-variant);
  background: var(--condor-surface-raised, #fff);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.07);
}

.condor-subnav-divider {
  align-self: stretch;
  width: 1px;
  flex-shrink: 0;
  margin: 0.3125rem 0.125rem;
  background: var(--condor-outline);
}

.condor-subnav-label {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0 0.3125rem;
  font-family: var(--condor-font-mono);
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--condor-on-surface-muted, #94a3b8);
  white-space: nowrap;
}

.condor-subnav-badge {
  display: inline-flex;
  min-height: 1.125rem;
  min-width: 1.125rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: #dc2626;
  padding: 0 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.condor-mobile-nav-section {
  padding: 0.625rem 0.75rem 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--condor-on-surface-muted, #94a3b8);
}

.condor-mobile-nav-link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  border-radius: 0.5rem;
  padding: 0.625rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--condor-on-surface, #334155);
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.condor-mobile-nav-link:hover {
  background: var(--condor-surface-raised, #fff);
  color: var(--role-accent);
}

.condor-mobile-nav-link--active {
  background: var(--condor-surface-raised, #fff);
  color: var(--role-accent-text);
  box-shadow: inset 3px 0 0 var(--role-accent);
  border: 1px solid var(--condor-outline, #cfd8e3);
  border-left: none;
}

/* Botones */
.condor-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: none;
  border-radius: var(--condor-radius-md);
  padding: 0.625rem 1.25rem;
  font-family: var(--condor-font-body);
  font-size: var(--condor-fs-base);
  font-weight: 700;
  color: #fff;
  background: var(--role-accent, var(--condor-celeste));
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}

.condor-btn-primary:hover {
  background: var(--role-accent-hover, #2563eb);
  transform: translateY(-1px);
}

.condor-btn-primary:focus-visible {
  outline: 2px solid var(--role-accent, var(--condor-azul-vivo));
  outline-offset: 2px;
}

/* Éxito — CTA sólido y superficie muted (DS-TOKENS) */
.condor-btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--condor-radius-sm);
  background-color: var(--condor-success-solid);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.condor-btn-success:hover:not(:disabled) {
  background-color: var(--condor-success-solid-hover);
}

.condor-btn-success:active:not(:disabled) {
  transform: scale(0.97);
}

.condor-btn-success:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.condor-btn-success--route {
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  font-size: var(--condor-fs-sm);
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--condor-success-solid) 25%, transparent);
}

.condor-btn-success--route:hover:not(:disabled) {
  box-shadow: 0 4px 12px color-mix(in srgb, var(--condor-success-solid) 30%, transparent);
}

.condor-route-visit-toggle {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 9999px;
  border: 2px solid #cbd5e1;
  background: transparent;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    transform 0.15s ease;
}

.condor-route-visit-toggle:hover {
  border-color: var(--condor-success-solid);
  transform: scale(1.08);
}

.condor-route-visit-toggle:active {
  transform: scale(0.95);
}

.condor-route-visit-toggle--done {
  border-color: var(--condor-success-solid);
  background-color: var(--condor-success-solid);
}

.condor-route-row {
  transition: background-color 0.15s ease;
}

.condor-route-row:hover {
  background-color: color-mix(in srgb, #fff 70%, transparent);
}

.condor-surface-success-muted {
  background-color: var(--condor-success-muted);
  color: var(--condor-success-text);
}

/* Icon buttons — filas de agenda (DASH-TASK-ROW) */
.condor-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 2rem;
  width: 2rem;
  border: none;
  border-radius: var(--condor-radius-sm);
  background: transparent;
  color: #64748b;
  cursor: pointer;
  text-decoration: none;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease,
    opacity 0.15s ease;
}

.condor-icon-btn:hover:not(:disabled) {
  transform: scale(1.05);
}

.condor-icon-btn:active:not(:disabled) {
  transform: scale(0.97);
}

.condor-icon-btn:disabled {
  opacity: 0.45;
  cursor: wait;
}

.condor-icon-btn:focus-visible {
  outline: 2px solid var(--condor-success-solid);
  outline-offset: 2px;
}

.condor-icon-btn--success:hover:not(:disabled) {
  background-color: var(--condor-success-muted);
  color: var(--condor-success-solid);
}

.condor-icon-btn--neutral:hover:not(:disabled) {
  background-color: var(--condor-gris-claro);
  color: var(--condor-azul);
}

.condor-task-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.125rem;
}

@media (min-width: 640px) {
  .condor-task-row-actions {
    opacity: 0.4;
    transition: opacity 0.15s ease;
  }

  tr.group:hover .condor-task-row-actions,
  tr.group:focus-within .condor-task-row-actions {
    opacity: 1;
  }
}

/* Animación markDone — DASH-TASK-DONE */
.condor-task-row-animate {
  transition:
    transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 150ms ease,
    max-height 200ms ease,
    margin 200ms ease,
    border-color 200ms ease,
    background-color 150ms ease;
  transform-origin: center center;
}

.condor-task-row--optimistic {
  transform: scale(0.99);
  opacity: 0.9;
}

.condor-task-row--success {
  transform: scale(1);
  opacity: 1;
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: var(--condor-success-solid);
  background-color: color-mix(in srgb, var(--condor-success-muted) 55%, white);
}

.condor-task-row--exit {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-width: 0 !important;
  overflow: hidden;
  pointer-events: none;
}

.condor-section--exit {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden;
  pointer-events: none;
  transition:
    max-height 250ms ease,
    opacity 200ms ease,
    margin 200ms ease;
}

/* Cards / paneles */
.condor-card {
  border-radius: var(--condor-radius-lg);
  border: 1px solid var(--condor-border);
  background: var(--condor-blanco);
  box-shadow: var(--condor-shadow-card);
}

.condor-label {
  font-size: var(--condor-fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--condor-gris-texto);
}

/* Alerts */
.condor-alert {
  border-radius: var(--condor-radius-md);
  padding: 0.625rem 0.875rem;
  font-size: var(--condor-fs-sm);
  font-weight: 600;
  line-height: 1.45;
}

.condor-alert--info {
  background: var(--condor-info-bg);
  border: 1px solid var(--condor-info-border);
  color: #1e40af;
}

.condor-alert--success {
  background: var(--condor-success-bg);
  border: 1px solid var(--condor-success-border);
  color: var(--condor-success);
}

.condor-alert--danger {
  background: var(--condor-danger-bg);
  border: 1px solid var(--condor-danger-border);
  color: var(--condor-danger);
}

/* Login */
.condor-login-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: linear-gradient(
    165deg,
    var(--condor-gris-claro) 0%,
    #fff 45%,
    color-mix(in srgb, var(--condor-azul-vivo) 6%, #fff) 100%
  );
}

.condor-login-card {
  width: 100%;
  max-width: 26rem;
  padding: 2rem;
  text-align: center;
}

.condor-login-logo {
  height: 3rem;
  width: auto;
  margin: 0 auto 1.25rem;
  object-fit: contain;
}

.condor-login-title {
  font-family: var(--condor-font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--condor-azul);
  margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}

.condor-field-label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: var(--condor-fs-sm);
  font-weight: 600;
  color: var(--condor-gris-texto);
  text-align: left;
}

.condor-input {
  width: 100%;
  border-radius: var(--condor-radius-md);
  border: 1px solid var(--condor-outline-variant, #b8c5d4);
  padding: 0.5rem 0.75rem;
  font-size: var(--condor-fs-base);
  color: var(--condor-on-surface, var(--condor-azul));
  background: var(--condor-surface-raised, var(--condor-blanco));
  transition: border-color 0.2s, box-shadow 0.2s;
}

.condor-input:focus {
  border-color: var(--role-accent, var(--condor-azul-vivo));
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 25%, transparent);
}

.role-input.condor-input,
.condor-input.role-input {
  box-shadow: var(--condor-shadow-card);
}

/* Badge contador carrito */
.condor-cart-badge {
  background: var(--role-accent, var(--condor-azul-vivo));
  color: #fff;
}

/* Focus ring por rol (sustituye focus:ring-condor-*) */
.role-focus-ring:focus,
.role-focus-ring:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 45%, transparent);
}

/* Empty states — iconos semánticos */
.condor-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  height: 3rem;
  width: 3rem;
}

.condor-empty-icon--accent {
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 55%, white);
  color: var(--role-accent, var(--condor-azul-vivo));
}

.condor-empty-icon--info {
  background: var(--condor-info-bg);
  color: #1d4ed8;
}

.condor-empty-icon--warn {
  background: #fffbeb;
  color: #b45309;
}

.condor-empty-icon--neutral {
  background: var(--condor-gris-claro);
  color: var(--condor-gris-texto);
}

/* Picker tipo interacción */
.condor-picker-btn--selected {
  border-color: var(--role-accent, var(--condor-azul-vivo)) !important;
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 55%, white) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 22%, transparent);
}

/* Agenda — día actual */
.condor-route-day--today {
  border-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 35%, white);
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 18%, white);
}

.condor-route-day--today .condor-route-day-head {
  border-bottom-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 20%, white);
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 45%, white);
}

.condor-badge-today {
  display: inline-flex;
  margin-left: 0.5rem;
  border-radius: 9999px;
  background: var(--role-accent, var(--condor-azul-vivo));
  padding: 0.125rem 0.5rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff;
}

/* Agenda semanal Lun–Dom */
.condor-week-agenda-day {
  border: 1px solid var(--condor-outline, #e2e8f0);
  border-radius: var(--condor-radius-md, 0.75rem);
  background: var(--condor-surface-card, #fff);
  box-shadow: var(--condor-shadow-xs, 0 1px 2px rgb(15 23 42 / 0.04));
}

.condor-week-agenda-day--today {
  border-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 40%, white);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 15%, transparent);
}

.condor-week-agenda-day-head {
  border-bottom: 1px solid var(--condor-outline, #e2e8f0);
  background: var(--condor-surface-container, #f8fafc);
}

.condor-week-agenda-day--today .condor-week-agenda-day-head {
  border-bottom-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 22%, white);
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 50%, white);
}

.condor-week-agenda-day-body {
  max-height: min(18rem, 45vh);
}

.condor-week-agenda-day-empty {
  background: color-mix(in srgb, var(--condor-surface-container, #f8fafc) 60%, white);
}

/* Agenda semanal — gerencia (tablas por día) */
.condor-week-agenda-gerencia-day--today {
  border-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 35%, white);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 12%, transparent);
}

.condor-week-agenda-gerencia-chip--today {
  border-color: color-mix(in srgb, var(--role-accent, var(--condor-azul-vivo)) 40%, white);
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 55%, white);
  color: var(--role-accent-text, var(--condor-azul));
}

.condor-week-agenda-gerencia .gerencia-panel-head {
  cursor: pointer;
  user-select: none;
}

.condor-promo-badge {
  display: inline-block;
  border-radius: var(--condor-radius-sm);
  background: color-mix(in srgb, var(--role-accent-muted, #eff6ff) 55%, white);
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--role-accent-text, var(--condor-azul));
}

/* Enterprise DS — tipografía y superficies */
.condor-label-caps {
  font-family: var(--condor-font-mono);
  font-size: var(--condor-label-caps-size);
  font-weight: 500;
  line-height: 1rem;
  letter-spacing: var(--condor-label-caps-tracking);
  text-transform: uppercase;
  color: var(--condor-on-surface-muted);
}

.condor-data-mono {
  font-family: var(--condor-font-mono);
  font-variant-numeric: tabular-nums;
}

.condor-tabular {
  font-variant-numeric: tabular-nums;
}

.condor-surface-card {
  border: 1px solid var(--condor-outline-variant, var(--condor-outline));
  border-radius: var(--condor-radius-md);
  background: var(--condor-surface-raised, var(--condor-surface));
  box-shadow: var(--condor-shadow-raised);
}

.condor-bento-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.condor-bento-cell {
  padding: 0.75rem;
  border: 1px solid var(--condor-outline-variant, var(--condor-outline));
  border-radius: var(--condor-radius-sm);
  background: var(--condor-surface-container);
}

/* Fase 2 — señalización de riesgo en filas */
.condor-risk-row--danger {
  border-left: 4px solid var(--condor-danger-solid);
  background: color-mix(in srgb, var(--condor-danger-bg) 45%, white);
}

.condor-risk-row--warn {
  border-left: 4px solid var(--condor-warning-solid);
  background: color-mix(in srgb, var(--condor-warning-muted) 50%, white);
}

.condor-risk-row--ok {
  border-left: 4px solid color-mix(in srgb, var(--condor-success-solid) 35%, transparent);
}

.condor-risk-border-danger {
  border-left: 4px solid var(--condor-danger-solid);
}

.condor-risk-border-warn {
  border-left: 4px solid var(--condor-warning-solid);
}

.condor-risk-border-ok {
  border-left: 4px solid color-mix(in srgb, var(--condor-success-solid) 35%, transparent);
}

/* DASH-KPI — tarjetas analíticas dashboard vendedor */
.condor-kpi-hero {
  border: 1px solid var(--condor-outline-variant, rgb(226 232 240 / 0.9));
  background: linear-gradient(
    to bottom right,
    var(--condor-surface-raised, #fff),
    color-mix(in srgb, var(--role-accent-muted, #eff6ff) 42%, var(--condor-surface-raised, #fff))
  );
  box-shadow: var(--condor-shadow-card);
}

.condor-kpi-hero:hover {
  box-shadow: 0 4px 12px rgb(15 23 42 / 0.06);
  background: linear-gradient(
    to bottom right,
    white,
    color-mix(in srgb, var(--role-accent-muted, #eff6ff) 42%, transparent)
  );
}

.condor-kpi-sparkline-bar {
  min-height: 3px;
  background: color-mix(in srgb, var(--role-accent, var(--condor-azul)) 22%, transparent);
  transition: background-color 0.15s ease;
}

.condor-kpi-hero:hover .condor-kpi-sparkline-bar {
  background: color-mix(in srgb, var(--role-accent, var(--condor-azul)) 38%, transparent);
}

.condor-pipeline-stage-seg {
  min-width: 0;
  transition: opacity 0.15s ease;
}

.condor-pipeline-stage-seg--prospecting {
  background: color-mix(in srgb, var(--role-accent) 35%, #fff);
}

.condor-pipeline-stage-seg--negotiation {
  background: var(--role-accent);
}

.condor-kpi-hero:hover .condor-pipeline-stage-seg--prospecting {
  background: color-mix(in srgb, var(--role-accent) 48%, #fff);
}

.condor-kpi-compact {
  border: 1px solid rgb(226 232 240 / 0.6);
  background: white;
  box-shadow: none;
}

.condor-kpi-compact:hover {
  background: rgb(248 250 252 / 0.85);
  box-shadow: 0 1px 3px rgb(15 23 42 / 0.05);
}

.condor-kpi-chevron {
  opacity: 0;
}

.condor-kpi-compact:hover .condor-kpi-chevron,
.condor-kpi-compact:focus-visible .condor-kpi-chevron {
  opacity: 1;
}

/* Accesibilidad — respetar preferencia de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .condor-body {
    background-attachment: scroll;
  }

  .condor-logo-link:hover,
  .crm-compact a.condor-kpi:hover,
  .gerencia-compact a.condor-kpi:hover {
    transform: none;
  }
}
