@import url("metalconf-spinner.css");

:root {
  --mc-primary: #58af91;
  --mc-primary-dark: #12876f;
  --mc-conflex: #2563eb;
  --mc-conflex-bg: #dbeafe;
  --mc-conflex-fg: #1e40af;
  --mc-conflex-border: #93c5fd;
  --mc-cortinas: #ea580c;
  --mc-cortinas-bg: #ffedd5;
  --mc-cortinas-fg: #c2410c;
  --mc-cortinas-border: #fdba74;
  --mc-navy: #192f3f;
  --mc-navy-light: #243d4f;
  --mc-accent: #e79f4b;
  --mc-charcoal: #313131;
  --mc-surface: #f0f3f5;
  --mc-white: #ffffff;
  --mc-border: #dde3e8;
  --mc-text: #2c3e50;
  --mc-text-muted: #6b7c8f;
  --mc-danger: #dc3545;
  --mc-warning: #f0ad4e;
  --mc-success: #28a745;
  --mc-sidebar-bg: #192f3f;
  --mc-sidebar-fg: #ffffff;
  --mc-heading: #192f3f;
  --mc-on-primary: #ffffff;
  --mc-combobox-hover: #f0f7f4;
  --mc-combobox-clear-bg: #eef2f6;
  --mc-combobox-avatar-bg: var(--mc-sidebar-bg);
  --mc-combobox-avatar-fg: #ffffff;
  --mc-bg-hover: #e2e8f0;
  --mc-input-bg: #ffffff;
  --mc-bg-inset: #f8fafc;
  --mc-bg-empty: #fafbfc;
  --mc-bg-gradient-a: #f0f3f5;
  --mc-bg-gradient-b: #e6ebf0;
  --mc-banner-tint: #f0f7ff;
  --mc-banner-border: #dbeafe;
  --mc-code-badge-bg: #e8f4ff;
  --mc-table-hover: #f8fafc;
  --mc-line-divider: #eef2f6;
  --mc-bg-warm: #fffbf5;
  --mc-border-warm: #f0c987;
  --mc-banner-warn-bg: #fef9ee;
  --mc-banner-warn-border: #f5e6c8;
  --sidebar-w: 260px;
  --topbar-h: 64px;
  --radius: 12px;
  --shadow: 0 4px 24px rgba(25, 47, 63, 0.08);
  --shadow-lg: 0 12px 48px rgba(25, 47, 63, 0.14);
  --font: "Inter", system-ui, -apple-system, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.5;
  color: var(--mc-text);
  background: var(--mc-surface);
  -webkit-font-smoothing: antialiased;
}

.hidden { display: none !important; }

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.35rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
  text-decoration: none;
}
.btn:hover { transform: translateY(-1px); }
.btn--primary {
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  box-shadow: 0 4px 16px rgba(88, 175, 145, 0.35);
}
.btn--primary:hover { background: var(--mc-primary-dark); }
.btn--ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.35);
}
.btn--ghost:hover { background: rgba(255,255,255,0.08); }
/* Ghost en contenido/topbar: legible sobre cards (no sidebar navy) */
.content .btn--ghost,
.topbar .btn--ghost,
.ventas-modal .btn--ghost {
  color: var(--mc-text-muted);
  border-color: var(--mc-border);
}
.content .btn--ghost:hover,
.topbar .btn--ghost:hover,
.ventas-modal .btn--ghost:hover {
  background: var(--mc-bg-hover);
  color: var(--mc-heading);
}
.content .radar-item__action .btn--sm {
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  border: none;
}
.mc-banner-warn {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  background: var(--mc-banner-warn-bg);
  border-radius: 8px;
  border: 1px solid var(--mc-banner-warn-border);
  font-size: 0.82rem;
  color: var(--mc-text);
  line-height: 1.45;
}
.mc-banner-warn.ficha-muted {
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.75rem;
  border-radius: 6px;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.btn--accent {
  background: var(--mc-accent);
  color: var(--mc-navy);
}
.mini-radar-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  font-size: 0.82rem;
  border-left: 3px solid;
}
.mini-radar-item--crit { background: #fef2f2; border-color: var(--mc-danger); }
.mini-radar-item--warn { background: #fff8eb; border-color: var(--mc-warning); }
.mini-radar-item--ok { background: #f0faf4; border-color: var(--mc-success); }

/* ─── Login ─── */
.login {
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  background: var(--mc-surface);
}
.login__brand {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.5rem 3rem 2rem;
  color: #fff;
  background:
    radial-gradient(circle at 20% 80%, rgba(88, 175, 145, 0.35) 0%, transparent 50%),
    radial-gradient(circle at 90% 10%, rgba(231, 159, 75, 0.15) 0%, transparent 40%),
    linear-gradient(155deg, var(--mc-navy) 0%, #0d1922 55%, #122636 100%);
  overflow: hidden;
}
.login__brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.login__brand-inner { position: relative; z-index: 1; max-width: 28rem; }
.login__logo { height: 48px; width: auto; margin-bottom: 2rem; }
.login__brand-title {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 1rem;
}
.login__brand-title span { color: var(--mc-primary); }
.login__brand-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  opacity: 0.88;
  margin: 0 0 2.5rem;
}
.login__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}
.login__features li {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  font-size: 0.92rem;
  opacity: 0.92;
  line-height: 1.45;
}
.login__feature-icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(88, 175, 145, 0.18);
  color: var(--mc-primary);
}
.login__brand-footer {
  position: relative;
  z-index: 1;
  font-size: 0.78rem;
  opacity: 0.5;
  margin: 2rem 0 0;
}
.login__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: safe center;
  padding: 2rem 2.5rem;
  position: relative;
  min-height: min(100%, 100dvh);
}
.login__back {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  background: none;
  border: none;
  color: var(--mc-text-muted);
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  padding: 0.35rem 0.5rem;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}
.login__back:hover {
  color: var(--mc-text);
  background: rgba(25, 47, 63, 0.06);
}
.login__card {
  width: 100%;
  max-width: 420px;
  background: var(--mc-white);
  border-radius: 20px;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--mc-border);
  padding: 2.25rem 2rem 1.75rem;
  animation: loginFadeIn 0.45s ease-out;
}
@keyframes loginFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.login__card--shake { animation: loginShake 0.45s ease; }
@keyframes loginShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-8px); }
  40%, 80% { transform: translateX(8px); }
}
.login__card-head { text-align: center; margin-bottom: 1.75rem; }
.login__lock {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(88, 175, 145, 0.15), rgba(88, 175, 145, 0.05));
  color: var(--mc-primary-dark);
  border: 1px solid rgba(88, 175, 145, 0.25);
}
.login__card-head h2 {
  margin: 0 0 0.35rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--mc-navy);
}
.login__card-head p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--mc-text-muted);
}
.login__form { display: flex; flex-direction: column; gap: 1.1rem; }
.login__field label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--mc-text);
  margin-bottom: 0.4rem;
}
.login__field-hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--mc-text-muted);
}
.login__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.login__input-icon {
  position: absolute;
  left: 0.85rem;
  color: var(--mc-text-muted);
  pointer-events: none;
  display: flex;
}
.login__input-wrap input {
  width: 100%;
  padding: 0.72rem 2.75rem 0.72rem 2.65rem;
  border: 1.5px solid var(--mc-border);
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--mc-text);
  background: var(--mc-surface);
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.login__input-wrap input::placeholder { color: #a0adb8; }
.login__input-wrap input:hover { border-color: #c5d0d9; }
.login__input-wrap input:focus {
  outline: none;
  border-color: var(--mc-primary);
  background: var(--mc-white);
  box-shadow: 0 0 0 3px rgba(88, 175, 145, 0.18);
}
.login__toggle-pass {
  position: absolute;
  right: 0.5rem;
  background: none;
  border: none;
  padding: 0.35rem;
  cursor: pointer;
  color: var(--mc-text-muted);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s, background 0.15s;
}
.login__toggle-pass:hover {
  color: var(--mc-text);
  background: rgba(25, 47, 63, 0.06);
}
.login__options { margin-top: -0.25rem; }
.login__forgot-link {
  display: inline-block;
  margin-top: 0.55rem;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 0.82rem;
  color: var(--mc-primary-dark);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.login__forgot-link:hover { color: var(--mc-primary); }
.login__remember {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  cursor: pointer;
  user-select: none;
}
.login__remember input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--mc-primary);
}
.login__error {
  margin: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.82rem;
  color: var(--mc-danger);
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
}
.login__success {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.82rem;
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  line-height: 1.45;
}
.login__notice {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.82rem;
  border-radius: 8px;
  line-height: 1.45;
}
.login__notice--success {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}
.login__notice--error {
  color: var(--mc-danger);
  background: #fef2f2;
  border: 1px solid #fecaca;
}
.login__secondary {
  width: 100%;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  margin-top: 0.35rem;
  font-size: 0.95rem;
  border-radius: 10px;
  background: transparent;
  color: var(--mc-text-muted);
  border: 1px solid var(--mc-border);
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
}
.login__secondary:hover {
  background: #f8fafb;
  border-color: #c5d0d9;
}
.login__submit {
  width: 100%;
  justify-content: center;
  padding: 0.85rem 1.25rem;
  margin-top: 0.25rem;
  font-size: 1rem;
  border-radius: 10px;
}
.login__submit:disabled {
  opacity: 0.75;
  cursor: wait;
  transform: none;
}
.login__hint {
  margin-top: 1.5rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  background: linear-gradient(135deg, #f0faf4 0%, #f8fbfd 100%);
  border: 1px dashed rgba(88, 175, 145, 0.45);
  text-align: center;
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  line-height: 1.5;
}
.login__hint strong {
  display: block;
  color: var(--mc-primary-dark);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.35rem;
}
.login__hint code {
  font-family: ui-monospace, "Cascadia Code", monospace;
  font-size: 0.82rem;
  color: var(--mc-navy);
  background: rgba(255, 255, 255, 0.8);
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
}
.login__legal {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  opacity: 0.75;
}
@media (max-width: 900px) {
  .login { grid-template-columns: 1fr; }
  .login__brand { padding: 2rem 1.5rem; min-height: auto; }
  .login__brand-lead { margin-bottom: 1.5rem; }
  .login__features { display: none; }
  .login__panel { padding: 1.25rem 1.25rem 2rem; justify-content: flex-start; }
}
@media (max-height: 760px) {
  .login__brand { padding: 1.5rem 2rem 1rem; }
  .login__logo { height: 40px; margin-bottom: 1.25rem; }
  .login__brand-lead { margin-bottom: 1rem; font-size: 0.95rem; }
  .login__panel { padding-top: 1.25rem; padding-bottom: 1.25rem; justify-content: flex-start; }
  .login__card-head { margin-bottom: 1.25rem; }
}

/* ─── App shell ─── */
.app {
  display: flex;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
}
.sidebar {
  width: var(--sidebar-w);
  background: var(--mc-sidebar-bg);
  color: var(--mc-sidebar-fg);
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  transform: translateX(0);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s ease;
  will-change: transform;
}
.sidebar__brand {
  padding: 1.25rem 1.25rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.sidebar__brand img { height: 36px; width: auto; display: block; margin-bottom: 0.35rem; }
.sidebar__brand small {
  font-size: 0.7rem;
  opacity: 0.55;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.sidebar__nav { flex: 1; padding: 0.5rem 0.65rem; overflow-y: auto; min-height: 0; }
.nav-item.hidden { display: none; }
.nav-divider.hidden { display: none; }
.role-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  padding: 0.65rem 0.75rem 0.55rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.role-switch__btn {
  min-width: 0;
  padding: 0.5rem 0.45rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.15);
  background: transparent;
  color: rgba(255,255,255,0.65);
  font-family: inherit;
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
.role-switch__btn:hover { background: rgba(255,255,255,0.06); }
.role-switch__btn--active {
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  border-color: var(--mc-primary);
}
.linea-switch {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem 0.65rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.linea-switch.hidden { display: none; }
.linea-switch__btn {
  min-width: 0;
  padding: 0.42rem 0.35rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.14);
  background: transparent;
  color: rgba(255,255,255,0.62);
  font-family: inherit;
  font-size: 0.68rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.2;
  text-align: center;
}
.linea-switch__btn:hover { background: rgba(255,255,255,0.06); }
.linea-switch__btn--conf:not(.linea-switch__btn--active) {
  border-color: rgba(37, 99, 235, 0.42);
  color: rgba(147, 197, 253, 0.92);
}
.linea-switch__btn--cort:not(.linea-switch__btn--active) {
  border-color: rgba(234, 88, 12, 0.42);
  color: rgba(253, 186, 116, 0.95);
}
.linea-switch__btn--active.linea-switch__btn--conf {
  background: var(--mc-conflex-bg);
  color: var(--mc-conflex-fg);
  border-color: var(--mc-conflex-border);
}
.linea-switch__btn--active.linea-switch__btn--cort {
  background: var(--mc-cortinas-bg);
  color: var(--mc-cortinas-fg);
  border-color: var(--mc-cortinas-border);
}
.linea-switch__btn--active.linea-switch__btn--all {
  background: rgba(255,255,255,0.14);
  color: #fff;
  border-color: rgba(255,255,255,0.28);
}
.topbar__actions .line-badge { margin-right: 0.35rem; }
.sidebar__nav::-webkit-scrollbar { width: 5px; }
.sidebar__nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 4px; }
.nav-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.52rem 0.75rem;
  border: none;
  background: transparent;
  color: rgba(255,255,255,0.68);
  font-family: inherit;
  font-size: 0.84rem;
  font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  margin-bottom: 0.1rem;
  transition: background 0.15s, color 0.15s;
  -webkit-appearance: none;
  appearance: none;
}
.nav-item:hover {
  background: rgba(255,255,255,0.07);
  color: var(--mc-sidebar-fg);
}
.nav-item.active {
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  font-weight: 600;
}
.nav-item.active svg { opacity: 1; }
.nav-item svg { flex-shrink: 0; opacity: 0.75; width: 17px; height: 17px; }
.sidebar__hint {
  margin: 0;
  padding: 0.5rem 1rem 0.75rem;
  font-size: 0.68rem;
  line-height: 1.35;
  color: rgba(255,255,255,0.38);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.sidebar__user {
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--mc-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
}
.sidebar__user-info { flex: 1; min-width: 0; }
.sidebar__user-info strong { display: block; font-size: 0.85rem; }
.sidebar__user-info span { display: block; font-size: 0.75rem; opacity: 0.6; }
.sidebar__logout {
  margin-top: 0.35rem;
  padding: 0;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s;
}
.sidebar__logout:hover { color: rgba(255, 255, 255, 0.85); }

.main {
  flex: 1;
  margin-left: var(--sidebar-w);
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100vh;
  overflow: hidden;
  transition: margin-left 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
#app.sidebar-collapsed .sidebar {
  transform: translateX(-100%);
}
#app.sidebar-collapsed .main {
  margin-left: 0;
}
.sidebar-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  border: none;
  padding: 0;
  margin: 0;
  background: rgba(15, 23, 42, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
  cursor: default;
}
#app.sidebar-overlay-open .sidebar-backdrop {
  opacity: 1;
  pointer-events: auto;
}
.topbar__lead {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}
.topbar__headings {
  min-width: 0;
}
.topbar__menu-btn {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-surface);
  color: var(--mc-heading);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  -webkit-appearance: none;
  appearance: none;
}
.topbar__menu-btn:hover {
  background: var(--mc-bg-hover);
  border-color: #cbd5e1;
}
.topbar__menu-btn:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: 2px;
}
.topbar__menu-icon {
  display: block;
  flex-shrink: 0;
}
.topbar__fullscreen-btn .topbar__fullscreen-icon {
  position: absolute;
}
.topbar__fullscreen-btn {
  position: relative;
}
.topbar {
  height: var(--topbar-h);
  background: var(--mc-white);
  border-bottom: 1px solid var(--mc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.75rem;
  position: sticky;
  top: 0;
  z-index: 50;
}
.topbar__title { font-size: 1.15rem; font-weight: 700; margin: 0; color: var(--mc-heading); }
.topbar__subtitle { font-size: 0.8rem; color: var(--mc-text-muted); margin: 0; }
.topbar__actions { display: flex; align-items: center; gap: 0.75rem; }
.topbar__sync-btn {
  font-size: 0.78rem;
  padding: 0.25rem 0.55rem;
  min-height: 0;
  line-height: 1.2;
}
.topbar__sync-btn.is-loading {
  opacity: 0.65;
  pointer-events: none;
}
.topbar__sync {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.sync-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mc-success);
  animation: pulse 2s infinite;
  flex-shrink: 0;
}
.sync-dot--off {
  background: var(--mc-text-muted);
  animation: none;
  opacity: 0.55;
}
.sync-dot--error {
  background: var(--mc-danger);
  animation: none;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
.btn--sm {
  padding: 0.45rem 0.9rem;
  font-size: 0.82rem;
  background: var(--mc-surface);
  color: var(--mc-navy);
  border: 1px solid var(--mc-border);
}
.btn--sm:hover { background: var(--mc-border); }
.content {
  padding: 1.5rem 1.75rem 6rem;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  -webkit-overflow-scrolling: touch;
}
.content::-webkit-scrollbar { width: 8px; }
.content::-webkit-scrollbar-thumb { background: #c5cdd8; border-radius: 4px; }

/* ─── Screens ─── */
.screen { display: none; animation: fadeIn 0.35s ease; }
.screen.active { display: block; }

/* ─── Gerencia · dashboard embebido ─── */
.content:has(.screen--embed.active) {
  padding: 0;
  overflow: hidden;
}
.gerencia-embed {
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--topbar-h));
  min-height: 420px;
}
.gerencia-embed__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.65rem 1.25rem;
  background: linear-gradient(135deg, #192f3f 0%, #243d4f 55%, #1e3a8a 100%);
  border-bottom: 2px solid #2563eb;
}
.gerencia-embed__note {
  margin: 0;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.82);
}
.gerencia-embed__actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}
.content .gerencia-embed__toolbar .btn--ghost {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.62);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  font-weight: 600;
}
.content .gerencia-embed__toolbar .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.26);
  border-color: #fff;
  color: #fff;
}
.gerencia-embed__frame {
  flex: 1;
  width: 100%;
  border: none;
  background: #f4f6f9;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* KPI row */
.kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.kpi {
  background: var(--mc-white);
  border-radius: var(--radius);
  padding: 1.15rem 1.25rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--mc-border);
}
.kpi__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
  margin-bottom: 0.35rem;
}
.kpi__value { font-size: 1.65rem; font-weight: 700; color: var(--mc-heading); line-height: 1.1; }
.kpi__delta { font-size: 0.78rem; margin-top: 0.35rem; }
.kpi__delta--up { color: var(--mc-success); }
.kpi__delta--down { color: var(--mc-danger); }
.kpi__delta--neutral { color: var(--mc-text-muted); }
.kpi__delta--warn { color: var(--mc-warning); }

.grid-2 { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 1.25rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

.card {
  background: var(--mc-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid var(--mc-border);
  overflow: hidden;
}
.card__head {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--mc-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.card__head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.card__body { padding: 1rem 1.25rem; }
.card__body:has(> .radar-list) { padding: 0.5rem; }

.badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
}
.badge--crit { background: #fde8ea; color: var(--mc-danger); }
.badge--warn { background: #fff3cd; color: #856404; }
.badge--ok { background: #d4edda; color: #155724; }
.badge--info { background: #e8f4fd; color: #0c5460; }
.badge--accent { background: #fef3e2; color: #b45309; }
.badge--erp { background: #eef1f4; color: var(--mc-text-muted); }
.badge--muted { background: #eef2f6; color: #5a6b7d; }

/* Radar / alertas — mismo aire que ventas en curso */
.radar-item {
  display: block;
  border-left: 3px solid transparent;
}
.radar-item--board {
  display: grid;
  grid-template-columns: auto minmax(0, 1.15fr) minmax(9.5rem, 0.95fr) minmax(5.5rem, auto);
  gap: 0.45rem 0.85rem;
  align-items: center;
}
.radar-item--board.radar-item--gerente {
  grid-template-columns: auto minmax(0, 1.1fr) minmax(9.5rem, 0.95fr) minmax(5.5rem, auto) minmax(0, 0.7fr);
}
.radar-item--board.radar-item--plain {
  grid-template-columns: minmax(0, 1.15fr) minmax(9.5rem, 0.95fr) minmax(5.5rem, auto);
}
.radar-item--board.radar-item--plain.radar-item--gerente {
  grid-template-columns: minmax(0, 1.1fr) minmax(9.5rem, 0.95fr) minmax(5.5rem, auto) minmax(0, 0.7fr);
}
.radar-item--crit { border-left-color: var(--mc-danger); }
.radar-item--warn { border-left-color: #d4a017; }
.radar-item--info { border-left-color: #3b82c4; }
.radar-item--info .radar-item__monto { color: var(--mc-navy, #1e3a5f); }
.radar-item__col { min-width: 0; }
.radar-item__col--estado {
  display: flex;
  align-items: center;
}
.radar-item__col--estado .badge {
  font-size: 0.62rem;
  line-height: 1.25;
}
.radar-item__col--cliente {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.radar-item__client {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.25;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.radar-item__sub {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.radar-item__col--pago {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.radar-item__pago-label {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  line-height: 1;
}
.radar-item__pago {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-heading);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.radar-item__col--money {
  text-align: right;
  justify-self: end;
}
.radar-item__monto {
  font-weight: 700;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  color: var(--mc-navy);
  white-space: nowrap;
}
.radar-item__monto--muted { color: var(--mc-text-muted); font-weight: 600; }
.radar-item--crit .radar-item__monto { color: var(--mc-danger); }
.radar-item__col--vendedor {
  text-align: right;
  justify-self: end;
}
.radar-item__vendedor {
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.radar-item__docs {
  list-style: none;
  margin: 0.15rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.65rem;
  align-items: baseline;
}
.radar-item__doc {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  font-size: 0.68rem;
  color: var(--mc-text-muted);
  line-height: 1.2;
  white-space: nowrap;
}
.radar-item__doc-num {
  font-weight: 600;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.radar-item__doc-saldo {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--mc-navy);
}
.radar-item--crit .radar-item__doc-saldo { color: var(--mc-danger); }
.radar-item__doc--more { font-style: italic; }
.radar-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.45rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.radar-item__chip + .radar-item__chip::before {
  content: "·";
  margin-right: 0.4rem;
  opacity: 0.55;
}
.radar-item__icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}
.radar-item__icon--crit { background: #fde8ea; }
.radar-item__icon--warn { background: #fff8eb; }
.radar-item__icon--hot { background: #fef3e2; }
.radar-item__icon--ok { background: #e8f8ef; }
.radar-item__title { font-weight: 600; font-size: 0.92rem; margin-bottom: 0.15rem; }
.radar-item__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.35rem;
}
.radar-item__action .btn--sm { background: var(--mc-navy); color: white; border: none; }
.radar-empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--mc-text-muted);
  font-size: 0.92rem;
}
.radar-empty--loading { opacity: 0.85; }
.ventas-filters-bar__summary.mc-loading {
  display: inline-flex;
  align-items: center;
}
.clientes-loading.mc-loading {
  padding: 1rem 0;
}
.radar-empty--error { color: var(--mc-danger); }

/* Loading global (spinner reutilizable) */
.mc-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: var(--mc-text-muted);
  font-size: 0.92rem;
}
.mc-loading--inline {
  flex-direction: row;
  gap: 0.5rem;
  padding: 0;
  font-size: 0.88rem;
}
.mc-loading--list,
.mc-loading--ficha {
  gap: 0.75rem;
}
.mc-loading--ficha .mc-loading__spinner {
  width: 56px;
  height: 56px;
}
.mc-loading--table {
  padding: 1.1rem 0.5rem;
}
.mc-loading__spinner {
  display: inline-block;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  line-height: 0;
}
.mc-loading__spinner--sm {
  width: 28px;
  height: 28px;
}
.mc-loading__text {
  line-height: 1.35;
}
@keyframes mc-spin {
  to { transform: rotate(360deg); }
}
.radar-footnote {
  margin: 1rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.radar-kpi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
.radar-kpi__inner { text-align: center; padding: 0.65rem 0.75rem !important; }
.radar-kpi__val { font-size: 1.45rem; font-weight: 700; margin-top: 0.25rem; color: var(--mc-navy); line-height: 1.15; }
.radar-kpi__val--crit { color: var(--mc-danger); }
.radar-kpi__val--warn { color: #856404; }
.radar-kpi__sub { font-size: 0.72rem; color: var(--mc-text-muted); margin-top: 0.1rem; line-height: 1.25; }
.radar-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 0.55rem;
  margin-bottom: 0.75rem;
  padding: 0.55rem 0.7rem;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  overflow-x: auto;
}
.radar-toolbar__search {
  flex: 1 1 12rem;
  min-width: 10rem;
  max-width: 18rem;
  height: 2rem;
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  padding: 0 0.65rem;
  font-size: 0.8rem;
  background: var(--mc-bg-subtle);
  color: var(--mc-charcoal);
}
.radar-toolbar__search:focus {
  outline: none;
  border-color: var(--mc-primary);
  background: var(--mc-white);
}
.radar-toolbar__field {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 0 0 auto;
  min-width: 0;
}
.radar-toolbar__field span {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  line-height: 1;
}
.radar-toolbar__select {
  height: 2rem;
  min-width: 7.5rem;
  max-width: 11rem;
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  padding: 0 0.5rem;
  font-size: 0.78rem;
  background: var(--mc-white);
  color: var(--mc-charcoal);
}
.radar-toolbar__field--vend .radar-toolbar__select { min-width: 9rem; max-width: 13rem; }
.radar-toolbar__count {
  margin-left: auto;
  flex-shrink: 0;
  align-self: center;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  padding-bottom: 0.15rem;
}
.radar-kpi .card:has(#kpi-radar-crit),
.radar-kpi .card:has(#kpi-radar-atencion) {
  cursor: pointer;
}
.radar-kpi .card:has(#kpi-radar-crit):hover,
.radar-kpi .card:has(#kpi-radar-atencion):hover {
  border-color: var(--mc-primary);
}
@media (max-width: 900px) {
  .radar-toolbar { flex-wrap: wrap; align-items: stretch; }
  .radar-toolbar__search { max-width: none; flex: 1 1 100%; }
  .radar-toolbar__count { margin-left: 0; width: 100%; text-align: right; }
}
.card--flat { box-shadow: none; border: 1px solid var(--mc-border); }

/* Team table */
.table-wrap { overflow-x: auto; }
table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
table.data th {
  text-align: left;
  padding: 0.65rem 0.75rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  border-bottom: 2px solid var(--mc-border);
}
.cc-fac-hint {
  margin: -0.35rem 0 0.65rem;
  font-size: 0.78rem;
}
.cc-fac-link {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 650;
  color: var(--mc-primary);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.cc-fac-link:hover,
.cc-fac-link:focus-visible {
  color: var(--mc-navy);
  outline: none;
}
.cc-fac-link.is-open {
  color: var(--mc-navy);
  text-decoration: none;
}
.cc-fac-detail-row td {
  background: var(--mc-bg-subtle);
  padding: 0.55rem 0.75rem 0.75rem !important;
  border-top: none;
}
.cc-fac-detail__table {
  margin: 0;
  width: 100%;
}
.cc-fac-detail__table th {
  font-size: 0.68rem;
}
.cc-fac-detail__code {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}
.cc-fac-detail__empty {
  margin: 0.15rem 0;
}
table.data td {
  padding: 0.75rem;
  border-bottom: 1px solid var(--mc-border);
  vertical-align: middle;
}
table.data tr:hover td { background: var(--mc-table-hover); }
.bar-inline {
  height: 6px;
  background: var(--mc-border);
  border-radius: 999px;
  overflow: hidden;
  min-width: 80px;
}
.bar-inline span {
  display: block;
  height: 100%;
  background: var(--mc-primary);
  border-radius: 999px;
}

/* Client header */
.client-header {
  background: var(--mc-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid var(--mc-border);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
}
.client-header__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.client-header h1 { margin: 0 0 0.25rem; font-size: 1.35rem; color: var(--mc-navy); }
.client-header__code { font-size: 0.82rem; color: var(--mc-text-muted); }
.client-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--mc-border);
}
.client-kpi__label { font-size: 0.72rem; text-transform: uppercase; color: var(--mc-text-muted); }
.client-kpi__val { font-weight: 700; font-size: 0.95rem; }

.tabs {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid var(--mc-border);
}
.tab {
  padding: 0.65rem 1.1rem;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.15s;
}
.tab:hover { color: var(--mc-navy); }
.tab.active { color: var(--mc-primary-dark); border-bottom-color: var(--mc-primary); }

/* Timeline */
.timeline { position: relative; padding-left: 1.5rem; }
.timeline::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: var(--mc-border);
}
.tl-group { margin-bottom: 1.5rem; }
.tl-group__label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mc-text-muted);
  margin-bottom: 0.75rem;
  padding-left: 1.25rem;
}
.tl-item {
  position: relative;
  padding: 0 0 1rem 1.25rem;
}
.tl-item::before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--mc-white);
  box-shadow: 0 0 0 2px var(--mc-border);
  background: var(--mc-text-muted);
}
.tl-item--erp::before { background: #6b7c8f; }
.tl-item--pago::before { background: var(--mc-success); }
.tl-item--cred::before { background: #8b6bb8; }
.tl-item--crm::before { background: var(--mc-primary); }
.tl-item--radar::before { background: var(--mc-accent); }
.tl-item--crit::before { background: var(--mc-danger); }
.tl-card {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  padding: 0.85rem 1rem;
}
.tl-card__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
.tl-card__title { font-weight: 600; font-size: 0.9rem; }
.tl-card__text { font-size: 0.85rem; color: var(--mc-text-muted); margin: 0; }
.tl-card__amount { font-weight: 700; color: var(--mc-navy); font-size: 0.9rem; margin-top: 0.35rem; }

/* Cuenta comercial */
.cc-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
.semaforo {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  line-height: 1.2;
}
.semaforo--warn { background: #fff3cd; color: #856404; border: 3px solid #f0ad4e; }
.semaforo--ok { background: #d4edda; color: #155724; border: 3px solid var(--mc-success); }
.cc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.cc-stat {
  background: var(--mc-surface);
  border-radius: 8px;
  padding: 0.85rem 1rem;
}
.cc-stat__label { font-size: 0.72rem; color: var(--mc-text-muted); text-transform: uppercase; }
.cc-stat__val { font-size: 1.2rem; font-weight: 700; color: var(--mc-navy); }

/* Pipeline kanban */
.kanban {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  min-height: 420px;
}
.kanban-col {
  background: var(--mc-surface);
  border-radius: var(--radius);
  padding: 0.75rem;
  border: 1px solid var(--mc-border);
}
.kanban-col__head {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.75rem;
  display: flex;
  justify-content: space-between;
}
.kanban-col__count {
  background: var(--mc-white);
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  font-size: 0.7rem;
}
.kanban-card {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  cursor: pointer;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.kanban-card:hover {
  box-shadow: var(--shadow);
  border-color: var(--mc-primary);
}
.kanban-card strong { display: block; font-size: 0.85rem; margin-bottom: 0.25rem; }
.kanban-card span { font-size: 0.78rem; color: var(--mc-text-muted); }
.kanban-card__amt { font-weight: 700; color: var(--mc-primary-dark); font-size: 0.85rem; margin-top: 0.35rem; }

/* Avatares de cliente (pastel, compartido cartera / ventas) */
.mc-avatar {
  --avatar-bg: hsl(var(--avatar-hue, 200) 58% 91%);
  --avatar-fg: hsl(var(--avatar-hue, 200) 32% 38%);
  --avatar-border: hsl(var(--avatar-hue, 200) 42% 84%);
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 9px;
  background: var(--avatar-bg);
  color: var(--avatar-fg);
  border: 1px solid var(--avatar-border);
  font-size: 0.68rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}
.mc-avatar--sm {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 7px;
  font-size: 0.62rem;
}
.mc-avatar--md {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  font-size: 0.72rem;
}
.mc-avatar--board { align-self: center; }

/* Filas tipo tarjeta (ventas, clientes, acopios, alertas, logística) */
.mc-list-cards,
.ventas-board__list--cards,
.cartera-list,
.acopio-list,
.radar-list {
  padding: 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  background: var(--mc-bg-subtle);
}
.radar-list { list-style: none; margin: 0; }
.mc-list-card,
.ventas-card,
.cartera-row,
.acopio-row,
.radar-item,
.logistics-card {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  padding: 0.72rem 0.85rem;
  min-height: 3.35rem;
  font-size: 0.82rem;
  cursor: pointer;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
}
/* Alertas: misma altura/aire que ventas en curso */
.radar-list > .radar-item {
  padding: 0.72rem 0.85rem;
  min-height: 3.35rem;
  border-radius: 8px;
}
.radar-list {
  gap: 0.4rem;
}
.mc-list-card:hover,
.mc-list-card:focus-visible,
.ventas-card--board:hover,
.ventas-card--board:focus-visible,
.cartera-row:hover,
.cartera-row:focus-visible,
.acopio-row:hover,
.acopio-row:focus-visible,
.radar-item:hover,
.radar-item:focus-visible,
.logistics-card--board:hover,
.logistics-card--board:focus-visible {
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 1px rgba(0, 72, 135, 0.1);
  outline: none;
}
.mc-list-card--urgent,
.ventas-card--urgent,
.logistics-card--urgent {
  border-color: #f5c6cb;
  background: #fffbfb;
}
.mc-chip,
.ventas-chip {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
  line-height: 1.2;
}
.mc-chip--muted,
.ventas-chip--muted {
  background: transparent;
  border-color: transparent;
  font-weight: 500;
}

/* Ventas en curso */
.ventas-filters-bar {
  margin-bottom: 0.85rem;
  padding: 0.65rem 0.85rem;
}
.ventas-filters-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}
.ventas-filters-bar__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.ventas-filters-bar__group {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.ventas-filters-bar__summary {
  margin: 0;
  flex: 1 1 12rem;
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.ventas-banner {
  margin: -0.35rem 0 0.85rem;
  padding: 0.55rem 0.75rem;
  border-radius: 8px;
  font-size: 0.82rem;
  background: #fff3cd;
  border: 1px solid #ffc107;
  color: var(--mc-heading);
}
.ventas-banner.hidden { display: none; }
.ventas-kpi { margin-bottom: 0.75rem; gap: 0.65rem; }
.ventas-kpi .kpi { padding: 0.7rem 1rem; }
.ventas-kpi .kpi__value { font-size: 1.4rem; }
.ventas-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1rem;
}
.ventas-filters__label { font-size: 0.78rem; color: var(--mc-text-muted); margin-right: 0.25rem; }
.chip {
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  font-size: 0.75rem;
  cursor: pointer;
  color: var(--mc-charcoal);
}
.chip--active { background: var(--mc-navy); color: #fff; border-color: var(--mc-navy); }
.ventas-grupo-badge {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  padding: 0.08rem 0.35rem;
  border-radius: 4px;
  background: var(--mc-bg-inset);
  color: var(--mc-heading);
  vertical-align: middle;
  margin-right: 0.2rem;
}
.ventas-filter-fecha {
  font: inherit;
  font-size: 0.82rem;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  background: var(--mc-bg);
  color: var(--mc-text);
}
.ventas-fase-badge { font-size: 0.62rem; vertical-align: middle; margin-right: 0.25rem; }
.ventas-view-toggle {
  display: inline-flex;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  overflow: hidden;
  margin-left: auto;
}
.ventas-view-toggle__btn {
  border: none;
  background: var(--mc-white);
  padding: 0.4rem 0.75rem;
  font-size: 0.78rem;
  cursor: pointer;
  color: var(--mc-text-muted);
}
.ventas-view-toggle__btn--active { background: var(--mc-bg-inset); font-weight: 700; color: var(--mc-heading); }
.ventas-view-toggle__btn:hover:not(.ventas-view-toggle__btn--active) { background: var(--mc-table-hover); }
.ventas-board {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.ventas-board__section {
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: var(--radius);
  overflow: hidden;
}
.ventas-board__section--cotizacion {
  border-color: var(--mc-border);
  background: var(--mc-bg-subtle);
}
.ventas-board__section--pedido { border-color: #c5d9f0; }
.ventas-board__section--armado { border-color: #b8d4e8; }
.ventas-board__section--entrega { border-color: #f0d4a8; background: var(--mc-bg-warm); }
.ventas-board__section--reciente {
  border-color: var(--mc-border-warm);
  background: var(--mc-bg-warm);
}
.ventas-board__section--closed { opacity: 0.92; }
.ventas-board__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.5rem;
  padding: 0.55rem 0.85rem;
  border-bottom: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
}
.ventas-board__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ventas-board__dot--entrega { background: #e8a838; }
.ventas-board__dot--armado { background: #4a90c4; }
.ventas-board__dot--pedido { background: #7c6cf0; }
.ventas-board__dot--cotizacion { background: #94a3b8; }
.ventas-board__title {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--mc-heading);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.ventas-board__hint {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.ventas-board__count {
  margin-left: auto;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.ventas-board__section--fria .ventas-board__list--cards,
.ventas-board__section--cotizacion .ventas-board__list--cards {
  max-height: min(480px, 50vh);
  overflow-y: auto;
}
.ventas-board__section--fria .ventas-board__list--cards::-webkit-scrollbar,
.ventas-board__section--cotizacion .ventas-board__list--cards::-webkit-scrollbar { width: 6px; }
.ventas-board__section--fria .ventas-board__list--cards::-webkit-scrollbar-thumb,
.ventas-board__section--cotizacion .ventas-board__list--cards::-webkit-scrollbar-thumb { background: #c5cdd8; border-radius: 3px; }
.ventas-card--board {
  display: grid;
  grid-template-columns: auto minmax(0, 1.1fr) minmax(19rem, 1.4fr) minmax(4.5rem, auto);
  gap: 0.55rem 0.85rem;
  align-items: center;
  cursor: pointer;
  transition: border-color 0.12s, box-shadow 0.12s, background 0.12s;
}
.ventas-card--board.ventas-card--gerente {
  grid-template-columns: auto minmax(0, 1fr) minmax(18rem, 1.3fr) minmax(4.5rem, auto) minmax(0, 0.72fr);
}
.ventas-card__col { min-width: 0; }
.ventas-card__col--cliente {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.ventas-card__col--tags {
  min-width: 0;
}
.ventas-card__tags-grid {
  display: grid;
  grid-template-columns: 3.5rem 4.35rem 4.85rem minmax(0, 1fr);
  align-items: center;
  column-gap: 0.4rem;
  row-gap: 0;
  width: 100%;
}
.ventas-card__tags-grid .ventas-chip--slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  padding: 0.1rem 0.35rem;
  font-size: 0.65rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  min-height: 1.35rem;
}
.ventas-chip--empty {
  visibility: hidden;
  pointer-events: none;
}
.ventas-card__estado {
  min-width: 0;
  justify-self: start;
  display: flex;
  align-items: center;
}
.ventas-card__estado .badge {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.62rem;
  line-height: 1.25;
}
.ventas-card__col--tags .badge { font-size: 0.62rem; }
.ventas-card__col--money {
  text-align: right;
  justify-self: end;
}
.ventas-card__col--vendedor {
  text-align: right;
  justify-self: end;
}
.ventas-card__vendedor {
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ventas-card__cliente {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.25;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ventas-card__money {
  font-weight: 700;
  color: var(--mc-primary-dark);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 0.82rem;
}
.ventas-card__money--muted { color: var(--mc-text-muted); font-weight: 600; }
.ventas-card__ref {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.2;
  white-space: nowrap;
}
.ventas-lista-row__identity {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}
.ventas-lista-row__identity strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ventas-lista-card .card__body { padding: 0; }
.ventas-lista-table tbody tr.ventas-lista-row { cursor: pointer; transition: background 0.12s; }
.ventas-lista-table tbody tr.ventas-lista-row:hover { background: var(--mc-table-hover); }
.ventas-lista-table tbody tr.ventas-lista-row:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: -2px;
}
.ventas-lista-row__cliente strong { color: var(--mc-heading); }
.ventas-lista-row__ref { display: block; font-weight: 600; color: var(--mc-heading); }
.ventas-lista-row__sub { display: block; font-size: 0.72rem; color: var(--mc-text-muted); margin-top: 0.1rem; }
.ventas-lista-row__money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.ventas-lista-row__qty { font-weight: 700; color: var(--mc-heading); }
.ventas-lista-row__vendedor { font-size: 0.78rem; color: var(--mc-text-muted); }
.ventas-board__section--reciente .ventas-board__head { background: var(--mc-bg-warm); }
.ventas-board__section--entrega .ventas-board__head { background: rgba(240, 212, 168, 0.22); }
.ventas-board-row__qty { font-weight: 700; color: var(--mc-heading); font-variant-numeric: tabular-nums; }
.ventas-board__empty {
  margin: 0;
  padding: 0.85rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  text-align: center;
  background: var(--mc-bg-subtle);
}
.ventas-board__empty--all {
  border: 1px dashed var(--mc-border);
  border-radius: var(--radius);
  padding: 1.25rem;
}
@media (max-width: 900px) {
  .ventas-card--board,
  .ventas-card--board.ventas-card--gerente {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "av cliente money"
      "av tags vendedor";
    row-gap: 0.35rem;
  }
  .ventas-card--board .mc-avatar { grid-area: av; }
  .ventas-card__col--cliente { grid-area: cliente; }
  .ventas-card__col--tags { grid-area: tags; }
  .ventas-card__tags-grid {
    grid-template-columns: 3.25rem 4rem 4.5rem minmax(0, 1fr);
    column-gap: 0.35rem;
  }
  .ventas-card__col--money { grid-area: money; }
  .ventas-card__col--vendedor { grid-area: vendedor; }
  .ventas-card--board:not(.ventas-card--gerente) .ventas-card__col--vendedor { display: none; }
}
.kanban-col--office { border-color: var(--mc-accent); background: var(--mc-bg-warm); }
.kanban-col--closed { opacity: 0.85; }
.kanban-col__hint { font-size: 0.68rem; color: var(--mc-text-muted); margin: -0.35rem 0 0.65rem; line-height: 1.3; }
.kanban-card__tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.35rem 0; }
.kanban-card__next, .kanban-card__meta { font-size: 0.72rem; margin-top: 0.35rem; color: var(--mc-text-muted); }
.kanban-card__meta--warn { color: var(--mc-warning); }
.kanban-card__meta--danger { color: var(--mc-danger); font-weight: 600; }
.kanban-card--alert { border-color: #f5c6cb; }
.circuit-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.circuit-badge--a { background: #e8eef3; color: var(--mc-navy); }
.circuit-badge--z { background: #fef3e2; color: #b45309; }
.ventas-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.ventas-modal.hidden { display: none; }
.ventas-modal__backdrop { position: absolute; inset: 0; background: rgba(25, 47, 63, 0.45); }
.ventas-modal__panel { position: relative; width: min(520px, 100%); max-height: 90vh; overflow: auto; z-index: 1; }
/* Modal genérico (rutas CRM, etc.) — mismo patrón que ventas-modal */
.modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.modal.hidden { display: none; }
.modal--mapa-fullscreen {
  z-index: 2147483646;
}
.modal__backdrop { position: absolute; inset: 0; background: rgba(25, 47, 63, 0.45); }
.modal__panel {
  position: relative;
  width: min(520px, 100%);
  max-height: 90vh;
  overflow: auto;
  z-index: 1;
  background: var(--mc-white);
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  box-shadow: 0 12px 40px rgba(25, 47, 63, 0.18);
}
.modal__panel--sm { width: min(440px, 100%); }
.modal__panel--fac {
  width: min(960px, 100%);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  box-shadow: 0 18px 48px rgba(25, 47, 63, 0.22);
}
.modal__head--fac {
  padding: 1.1rem 1.25rem 1rem;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mc-primary) 8%, var(--mc-white)) 0%, var(--mc-white) 100%);
  border-bottom: 1px solid var(--mc-border);
}
.modal__head--fac h2 {
  font-size: 1.12rem;
  color: var(--mc-navy);
  letter-spacing: -0.01em;
}
.modal__foot--fac {
  border-top: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
}
.modal__panel--fac .modal__body.cc-fac-split {
  overflow: hidden;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
}
.cc-fac-split {
  display: grid;
  grid-template-columns: minmax(240px, 32%) 1fr;
  gap: 0;
  min-height: min(56vh, 460px);
}
.cc-fac-split__list {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-right: 1px solid var(--mc-border);
  background: linear-gradient(180deg, #f4f7f8 0%, #eef2f5 100%);
}
.cc-fac-split__list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.7rem 0.9rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.cc-fac-split__list-head span:last-child {
  min-width: 1.4rem;
  height: 1.4rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-primary) 18%, var(--mc-white));
  color: var(--mc-primary-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.cc-fac-split__list-body {
  overflow: auto;
  padding: 0 0.55rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.cc-fac-split__more {
  margin: 0.15rem 0.25rem 0;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  font-style: italic;
}
.cc-fac-split__detail {
  overflow: auto;
  padding: 1rem 1.15rem 1.15rem;
  background: var(--mc-white);
}
.cc-fac-empty {
  margin: 1.5rem 0.25rem;
  text-align: center;
  color: var(--mc-text-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}
.cc-fac-pick {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  padding: 0.65rem 0.75rem;
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}
.cc-fac-pick:hover {
  background: var(--mc-white);
  border-color: var(--mc-border);
}
.cc-fac-pick.is-active {
  background: var(--mc-white);
  border-color: color-mix(in srgb, var(--mc-primary) 55%, var(--mc-border));
  box-shadow: 0 4px 14px rgba(25, 47, 63, 0.08);
  position: relative;
}
.cc-fac-pick.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: var(--mc-primary);
}
.cc-fac-pick__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}
.cc-fac-pick__num {
  font-weight: 700;
  color: var(--mc-navy);
  font-variant-numeric: tabular-nums;
  font-size: 0.86rem;
}
.cc-fac-pick.is-active .cc-fac-pick__num { color: var(--mc-primary-dark); }
.cc-fac-pick__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.cc-fac-pick__saldo {
  font-size: 0.84rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--mc-danger);
  white-space: nowrap;
}
.cc-fac-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: #eef2f6;
  color: var(--mc-navy);
  font-size: 0.68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.cc-fac-chip--late {
  background: #fde8ea;
  color: #b42318;
}
.cc-fac-detail__hero {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--mc-navy) 92%, #000) 0%, var(--mc-navy-light) 100%);
  color: #fff;
}
.cc-fac-detail__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 0.2rem;
}
.cc-fac-detail__numero {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  word-break: break-all;
}
.cc-fac-detail__eq {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  opacity: 0.85;
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
}
.cc-fac-detail__eq-src {
  opacity: 0.65;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.cc-fac-detail__hint {
  margin: 0.45rem 0 0;
  font-size: 0.72rem;
  color: var(--mc-muted, #6b7280);
}
.cc-fac-detail__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.cc-fac-stat {
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.cc-fac-stat__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-bottom: 0.2rem;
}
.cc-fac-stat__value {
  display: block;
  font-size: 0.9rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.cc-fac-stat__value--money {
  color: #ffb4b4;
  font-size: 1rem;
  font-weight: 750;
}
.cc-fac-stat .cc-fac-chip {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.cc-fac-stat .cc-fac-chip--late {
  background: rgba(220, 53, 69, 0.35);
  color: #ffe0e3;
}
.cc-fac-detail__section {
  margin-bottom: 1rem;
}
.cc-fac-detail__section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}
.cc-fac-empty--inline {
  margin: 0.35rem 0 0;
  text-align: left;
  font-size: 0.82rem;
}
.cc-fac-empty--warn {
  color: #8a5a12;
  background: #fff7e8;
  border: 1px solid #f0d7a8;
  border-radius: 8px;
  padding: 0.55rem 0.7rem;
}
.cc-fac-cobro__doc {
  display: block;
  font-size: 0.84rem;
  color: var(--mc-navy);
  font-variant-numeric: tabular-nums;
}
.cc-fac-cobro__tipo {
  display: block;
  font-size: 0.7rem;
  color: var(--mc-text-muted);
  margin-top: 0.1rem;
}
.cc-fac-cobro__medio {
  display: block;
  font-size: 0.84rem;
  color: var(--mc-text);
  font-weight: 650;
}
.cc-fac-cobro__grupo {
  display: block;
  font-size: 0.7rem;
  color: var(--mc-text-muted);
  margin-top: 0.1rem;
}
.cc-fac-detail__section-head h3 {
  margin: 0;
  font-size: 0.92rem;
  color: var(--mc-navy);
}
.cc-fac-detail__section-head span {
  font-size: 0.75rem;
  color: var(--mc-text-muted);
}
.cc-fac-detail__table-wrap {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--mc-white);
}
.cc-fac-detail__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.cc-fac-detail__table th {
  text-align: left;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--mc-border);
}
.cc-fac-detail__table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--mc-line-divider);
  vertical-align: top;
  font-size: 0.86rem;
}
.cc-fac-detail__table tr:last-child td { border-bottom: 0; }
.cc-fac-detail__table tbody tr:hover td {
  background: color-mix(in srgb, var(--mc-primary) 6%, var(--mc-white));
}
.cc-fac-detail__code code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--mc-navy);
  background: #eef2f6;
  padding: 0.12rem 0.35rem;
  border-radius: 5px;
}
.cc-fac-detail__desc { color: var(--mc-text); line-height: 1.35; }
.cc-fac-detail__qty,
.cc-fac-detail__imp {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cc-fac-detail__imp { font-weight: 650; color: var(--mc-navy); }
.cc-fac-detail__table tfoot td {
  background: var(--mc-bg-inset);
  font-weight: 700;
  color: var(--mc-navy);
  border-top: 1px solid var(--mc-border);
  border-bottom: 0;
  padding: 0.7rem 0.75rem;
}
.cc-fac-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 45%, transparent);
  background: color-mix(in srgb, var(--mc-primary) 14%, var(--mc-white));
  color: var(--mc-primary-dark);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
  width: fit-content;
}
.cc-fac-btn:hover,
.cc-fac-btn:focus-visible {
  background: var(--mc-primary);
  border-color: var(--mc-primary);
  color: var(--mc-on-primary);
  outline: none;
}
@media (max-width: 720px) {
  .cc-fac-split {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .cc-fac-split__list {
    border-right: 0;
    border-bottom: 1px solid var(--mc-border);
    max-height: 38vh;
  }
  .cc-fac-detail__stats {
    grid-template-columns: 1fr;
  }
}

.modal__panel--cotiz {
  width: min(820px, 100%);
}
.cotiz-modal__body {
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
  padding: 1rem 1.15rem 1.15rem;
  background: var(--mc-white);
}
.radar-item--cotiz {
  cursor: pointer;
}
.radar-item--cotiz:hover {
  background: color-mix(in srgb, var(--mc-primary) 6%, var(--mc-white));
}

.modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--mc-border);
}
.modal__head h2 { margin: 0; font-size: 1.05rem; }
.modal__close {
  border: none;
  background: transparent;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  color: var(--mc-text-muted);
  padding: 0.15rem 0.35rem;
}
.modal__close:hover { color: var(--mc-heading); }
.modal__body { padding: 1rem 1.15rem; }
.modal__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.85rem 1.15rem;
  border-top: 1px solid var(--mc-border);
}
/* Modal rutas CRM — formulario operador */
.modal__panel--rutas {
  width: min(480px, 100%);
  overflow: visible;
  border: none;
  box-shadow: 0 20px 50px rgba(25, 47, 63, 0.22);
}
.modal__panel--rutas::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--mc-primary) 0%, #3d9a8b 100%);
}
.modal__head--rutas {
  padding: 1.15rem 1.35rem 1rem;
  border-bottom: none;
  background: linear-gradient(180deg, var(--mc-bg-inset) 0%, var(--mc-white) 100%);
}
.modal__head-text { min-width: 0; }
.modal__head--rutas h2 {
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--mc-heading);
  letter-spacing: -0.01em;
}
.modal__sub {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--mc-text-muted);
  font-weight: 400;
}
.modal__sub.hidden { display: none; }
.modal__body--rutas {
  padding: 0.35rem 1.35rem 1.25rem;
  overflow: visible;
}
.modal__foot--rutas {
  padding: 1rem 1.35rem 1.15rem;
  background: var(--mc-bg-inset);
  border-top: 1px solid var(--mc-border);
}
.modal__foot--rutas .btn--primary { min-width: 7.5rem; }
.logistica-rutas-form.logistica-op-grid {
  gap: 0.85rem 1rem;
  margin: 0;
}
.logistica-rutas-form .logistica-op-input {
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  font-size: 0.88rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.logistica-rutas-form .logistica-op-input:focus {
  outline: none;
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(45, 157, 143, 0.15);
}
.logistica-rutas-form .logistica-op-field span:first-child {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.logistica-rutas-modal-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 2rem 1rem;
  color: var(--mc-text-muted);
  font-size: 0.88rem;
}
.logistica-rutas-modal-loading__spinner {
  width: 1.1rem;
  height: 1.1rem;
  border: 2px solid var(--mc-border);
  border-top-color: var(--mc-primary);
  border-radius: 50%;
  animation: logistica-rutas-spin 0.7s linear infinite;
}
@keyframes logistica-rutas-spin {
  to { transform: rotate(360deg); }
}
.logistica-rutas-modal-alert {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(234, 179, 8, 0.35);
  background: rgba(254, 243, 199, 0.45);
}
.logistica-rutas-modal-alert p { margin: 0 0 0.5rem; font-size: 0.88rem; line-height: 1.45; }
.logistica-rutas-modal-alert p:last-child { margin-bottom: 0; }
.ventas-detalle__panel.ventas-modal__panel { width: min(920px, 96vw); }
.entrega-detalle-modal.ventas-detalle__panel { width: min(1000px, 97vw); }
.ventas-detalle__body { max-height: calc(90vh - 5rem); overflow-y: auto; padding: 0 1rem 1rem; }
.ventas-detalle .entrega-detalle { gap: 0.85rem; }
.ventas-detalle__section-card {
  padding: 0.85rem 0.95rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
}
.ventas-detalle__section-card .ventas-detalle__section-title { margin-top: 0; }
.ventas-detalle__section-card .ventas-detalle__items { margin-bottom: 0; }
.ventas-detalle__resumen {
  margin: 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.ventas-hero__money {
  display: block;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--mc-primary-dark);
  font-variant-numeric: tabular-nums;
}
.ventas-detalle__note {
  margin: 0;
  padding: 0.65rem 0.8rem;
  border-radius: 8px;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
}
.ventas-detalle__chips .badge { font-size: 0.68rem; }
.data--compact { font-size: 0.78rem; }
.ventas-detalle__head { align-items: flex-start; gap: 1rem; }
.ventas-detalle__subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  font-weight: 400;
}

/* —— Detalle entrega logística —— */
.entrega-detalle { display: flex; flex-direction: column; gap: 1rem; }
.entrega-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 1.25rem;
  align-items: start;
  padding: 1rem 1.05rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: linear-gradient(135deg, var(--mc-bg-inset) 0%, var(--mc-white) 100%);
}
.entrega-hero--ok { border-color: #c3e6cb; background: linear-gradient(135deg, #edf7f0 0%, var(--mc-white) 100%); }
.entrega-hero--warn { border-color: #f0d58c; background: linear-gradient(135deg, #fff8e6 0%, var(--mc-white) 100%); }
.entrega-hero--info { border-color: #b8d4f0; background: linear-gradient(135deg, #eef5fc 0%, var(--mc-white) 100%); }
.entrega-hero__main { min-width: 0; }
.entrega-hero__badge { font-size: 0.78rem; margin-bottom: 0.45rem; }
.entrega-hero__fecha {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.3;
}
.entrega-hero__pedido {
  text-align: right;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  min-width: 7rem;
}
.entrega-hero__pedido-label {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.15rem;
}
.entrega-hero__pedido strong {
  font-size: 0.92rem;
  color: var(--mc-heading);
  word-break: break-all;
}
.entrega-hero__pedido-sub {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--mc-text-muted);
}
.entrega-chip-row { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.entrega-chip {
  display: inline-block;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
}
.entrega-destino {
  padding: 0.85rem 0.95rem;
  border-radius: 10px;
  border-left: 3px solid var(--mc-primary);
  background: var(--mc-bg-inset);
}
.entrega-destino__addr {
  margin: 0 0 0.25rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--mc-heading);
  line-height: 1.4;
}
.entrega-destino__addr--muted { font-weight: 500; color: var(--mc-text-muted); }
.entrega-destino__meta { margin: 0; font-size: 0.78rem; color: var(--mc-text-muted); }
.entrega-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}
.entrega-meta-item {
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
}
.entrega-meta-item--wide { grid-column: 1 / -1; }
.entrega-meta-item__label {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.12rem;
}
.entrega-meta-item__value {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.entrega-nota {
  padding: 0.7rem 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--mc-banner-warn-border);
  background: var(--mc-banner-warn-bg);
}
.entrega-nota__label {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.25rem;
}
.entrega-nota p { margin: 0; font-size: 0.84rem; line-height: 1.45; color: var(--mc-text); }
.entrega-section { margin: 0; }
.entrega-section__head { margin-bottom: 0.55rem; }
.entrega-section__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.entrega-section__hint {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.entrega-lineas-hint {
  margin: 0 0 0.5rem;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.entrega-lineas-wrap { margin-bottom: 0; }
.entrega-lineas .entrega-corte-cell {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
}
.entrega-corte-pill {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--mc-primary-dark);
  background: rgba(0, 102, 153, 0.08);
  border: 1px solid rgba(0, 102, 153, 0.15);
}
.entrega-corte-badge { font-size: 0.68rem; vertical-align: middle; }
.entrega-corte-confirmed {
  display: inline-block;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #1b5e20;
  background: #e8f5e9;
  border: 1px solid #c8e6c9;
}
.entrega-corte-confirmed--inline { font-size: 0.68rem; vertical-align: baseline; }
.entrega-callout {
  margin: 0.65rem 0 0;
  padding: 0.6rem 0.75rem;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.45;
}
.entrega-callout--info {
  background: #eef5fc;
  border: 1px solid #b8d4f0;
  color: var(--mc-text);
}
.entrega-callout--muted {
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
}
.entrega-callout--warn {
  background: #fff8e6;
  border: 1px solid #f0d58c;
  color: var(--mc-text);
}
.logistica-remito-block {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.logistica-remito-row {
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
}
.logistica-remito-row--sellado {
  border-style: dashed;
  background: var(--mc-bg-inset);
}
.logistica-remito-row--sellado-ok {
  border-style: solid;
  border-color: color-mix(in srgb, var(--mc-success, #2e7d32) 35%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-success, #2e7d32) 6%, var(--mc-bg-inset));
}
.logistica-remito-sellado-check {
  margin: 0.35rem 0 0.2rem;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--mc-text);
}
.logistica-remito-row--sellado .logistica-op-field-help {
  display: block;
  margin-top: 0.25rem;
}
.logistica-remito-val--ok { color: var(--mc-success, #2e7d32); }
.logistica-remito-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.25rem;
}
.logistica-remito-val { margin: 0; font-size: 0.88rem; line-height: 1.4; }
.transporte-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mc-icon {
  display: block;
  flex-shrink: 0;
  color: var(--mc-primary-dark);
}
.mc-icon--intro { color: var(--mc-navy); }
.mc-icon--empty {
  color: var(--mc-text-muted);
  opacity: 0.75;
  margin: 0 auto;
}
.mc-icon--vehiculo { color: var(--mc-navy); }
.mc-icon--context { color: var(--mc-primary-dark); }
.mc-icon--radar { color: inherit; }
.radar-item__icon--crit .mc-icon { color: #c62828; }
.radar-item__icon--warn .mc-icon { color: #9a5b00; }
.radar-item__icon--ok .mc-icon { color: #2e7d4f; }
.radar-item__icon--hot .mc-icon { color: #e65100; }
.transporte-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
.transporte-stat {
  padding: 1rem 1.1rem !important;
  border-top: 3px solid var(--mc-primary);
}
.transporte-stat--warn { border-top-color: var(--mc-warning, #e6a817); }
.transporte-stat__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
  margin-bottom: 0.35rem;
}
.transporte-stat__val {
  display: block;
  font-size: 1.85rem;
  line-height: 1.1;
  color: var(--mc-navy);
  margin-bottom: 0.2rem;
}
.transporte-stat__sub {
  display: block;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.transporte-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}
.transporte-intro__card {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 1rem 1.05rem;
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  background: linear-gradient(180deg, var(--mc-surface) 0%, var(--mc-bg-subtle) 100%);
}
.transporte-intro__card--tango { border-left: 4px solid #4a7fd4; }
.transporte-intro__card--flota { border-left: 4px solid #3d9a5f; }
.transporte-intro__icon {
  flex: 0 0 2.2rem;
  width: 2.2rem;
  height: 2.2rem;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--mc-bg-inset);
}
.transporte-intro__icon .mc-icon { width: 1.15rem; height: 1.15rem; }
.transporte-intro__title {
  margin: 0 0 0.25rem;
  font-size: 0.92rem;
  color: var(--mc-heading);
}
.transporte-intro__card p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--mc-text-muted);
}
.transporte-aviso { margin: 0; }
.transporte-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.transporte-toolbar__left {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.transporte-toolbar__actions { margin-left: auto; }
.transporte-view-toggle {
  display: inline-flex;
  gap: 0.2rem;
  padding: 0.2rem;
  border-radius: 9px;
  border: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
}
.transporte-view-btn {
  padding: 0.38rem 0.72rem;
  border: none;
  border-radius: 7px;
  background: transparent;
  font-size: 0.78rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  color: var(--mc-text-muted);
  transition: background 0.15s, color 0.15s;
}
.transporte-view-btn:hover { color: var(--mc-heading); }
.transporte-view-btn--active {
  background: var(--mc-surface);
  color: var(--mc-navy);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.transporte-list-wrap {
  padding: 0 !important;
  overflow: hidden;
}
.transporte-list-wrap .table-wrap { margin: 0; }
.transporte-list th {
  font-size: 0.68rem;
  white-space: nowrap;
}
.transporte-list td { vertical-align: middle; font-size: 0.84rem; }
.transporte-list-row--warn { background: #fffdf8; }
.transporte-list-row:hover { background: var(--mc-table-hover, #f8fafc); }
.transporte-list-name {
  display: block;
  font-size: 0.88rem;
  color: var(--mc-heading);
}
.transporte-list-sub {
  display: block;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  margin-top: 0.12rem;
}
.transporte-list-person {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.transporte-list-avatar {
  flex: 0 0 1.85rem;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mc-primary-dark);
  background: rgba(74, 127, 212, 0.12);
}
.transporte-patente {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: var(--mc-bg-inset);
}
.transporte-estado {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  white-space: nowrap;
}
.transporte-estado--ok { background: #e6f4ea; color: #1e6b3a; }
.transporte-estado--warn { background: #fff3e0; color: #9a5b00; }
.transporte-list-actions {
  white-space: nowrap;
  width: 1%;
  text-align: right;
}
.transporte-tabs {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.25rem;
  border-radius: 10px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
}
.transporte-tab {
  padding: 0.45rem 0.95rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--mc-text-muted);
  transition: background 0.15s, color 0.15s;
}
.transporte-tab:hover { color: var(--mc-heading); }
.transporte-tab--active {
  background: var(--mc-surface);
  color: var(--mc-navy);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.transporte-fletes-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.25rem;
  padding: 1rem 1.1rem;
  margin-bottom: 0.75rem;
}
.transporte-fletes-search {
  flex: 1 1 14rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.transporte-fletes-filter {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.84rem;
  padding-bottom: 0.35rem;
}
.transporte-fletes-meta {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.78rem;
}
.transporte-flete-cod {
  font-size: 0.78rem;
  background: var(--mc-bg-inset);
  padding: 0.12rem 0.35rem;
  border-radius: 4px;
}
.transporte-list--fletes td:nth-child(3) {
  max-width: 22rem;
  white-space: normal;
  line-height: 1.35;
}
.logistics-chip--flete {
  background: #eef6ff;
  color: #1e4f8a;
  border: 1px solid #c5ddf5;
}
.logistica-asignar-resumen {
  margin-bottom: 0.85rem;
}
.entrega-destino__sub {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
}
.transporte-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0.85rem;
}
.transporte-grid--choferes {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.transporte-card {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr auto;
  gap: 0 0.85rem;
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.15s, border-color 0.15s;
}
.transporte-card:hover {
  border-color: rgba(74, 127, 212, 0.35);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
}
.transporte-card--incomplete {
  border-color: rgba(230, 168, 23, 0.45);
  background: linear-gradient(180deg, #fffdf8 0%, var(--mc-surface) 100%);
}
.transporte-card__visual,
.transporte-card__avatar {
  grid-row: 1 / span 2;
  align-self: start;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--mc-bg-inset);
}
.transporte-card__visual .mc-icon { width: 1.35rem; height: 1.35rem; }
.vehiculo-icon-img {
  display: block;
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}
.vehiculo-icon-img--card { width: 2.5rem; height: 2.5rem; }
.vehiculo-icon-img--list { width: 2.35rem; height: 2.35rem; margin: 0 auto; }
.vehiculo-icon-img--empty { width: 3.5rem; height: 3.5rem; opacity: 0.9; }
.transporte-list-icon { width: 3rem; text-align: center; }
.vehiculo-icon-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: 0.55rem;
  margin-top: 0.35rem;
}
.vehiculo-icon-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 0.45rem 0.35rem 0.5rem;
  border: 2px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-surface);
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
  text-align: center;
}
.vehiculo-icon-option input { position: absolute; opacity: 0; pointer-events: none; }
.vehiculo-icon-option--active,
.vehiculo-icon-option:hover {
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 1px rgba(74, 127, 212, 0.25);
}
.vehiculo-icon-option__thumb {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
}
.vehiculo-icon-option__thumb img { width: 3rem; height: 3rem; object-fit: contain; }
.vehiculo-icon-option__label {
  font-size: 0.62rem;
  line-height: 1.25;
  color: var(--mc-text-muted);
  font-weight: 600;
}
.transporte-card__avatar {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--mc-primary-dark);
  background: rgba(74, 127, 212, 0.12);
}
.transporte-card--semi .transporte-card__visual { background: rgba(61, 154, 95, 0.12); }
.transporte-card--flete .transporte-card__visual { background: rgba(230, 168, 23, 0.12); }
.transporte-card--retira_cliente .transporte-card__visual { background: rgba(156, 39, 176, 0.1); }
.transporte-card--especial .transporte-card__visual { background: rgba(233, 30, 99, 0.1); }
.transporte-card__main { min-width: 0; }
.transporte-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}
.transporte-card__titles { min-width: 0; }
.transporte-card__title {
  margin: 0 0 0.25rem;
  font-size: 0.98rem;
  line-height: 1.25;
  color: var(--mc-heading);
}
.transporte-card__pill {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  color: var(--mc-text-muted);
}
.transporte-card__pill--soft {
  background: rgba(74, 127, 212, 0.1);
  color: var(--mc-primary-dark);
}
.transporte-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.75rem;
  margin: 0;
}
.transporte-card__grid--chofer { grid-template-columns: 1fr; }
.transporte-card__field { margin: 0; }
.transporte-card__field dt {
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.1rem;
}
.transporte-card__field dd {
  margin: 0;
  font-size: 0.84rem;
  color: var(--mc-heading);
  line-height: 1.35;
}
.transporte-card__sub {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.transporte-card__alert,
.transporte-card__ok {
  margin: 0.55rem 0 0;
  font-size: 0.74rem;
  line-height: 1.35;
}
.transporte-card__alert { color: #9a5b00; font-weight: 600; }
.transporte-card__ok { color: #2e7d4f; }
.transporte-card__actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.35rem;
  padding-top: 0.65rem;
  margin-top: 0.15rem;
  border-top: 1px solid var(--mc-border);
}
.transporte-btn-muted { color: var(--mc-text-muted) !important; }
.transporte-missing { color: var(--mc-text-muted); font-style: italic; }
.transporte-link { color: var(--mc-primary-dark); text-decoration: none; }
.transporte-link:hover { text-decoration: underline; }
.transporte-tipo {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  color: var(--mc-text-muted);
  white-space: nowrap;
}
.transporte-tipo--semi { background: #e6f4ea; color: #1e6b3a; }
.transporte-tipo--flete { background: #fff3e0; color: #9a5b00; }
.transporte-tipo--retira { background: #f3e5f5; color: #6a1b9a; }
.transporte-tipo--especial { background: #fce4ec; color: #ad1457; }
.transporte-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2.5rem 1.5rem !important;
}
.transporte-empty__icon {
  margin-bottom: 0.65rem;
  display: flex;
  justify-content: center;
}
.transporte-empty h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  color: var(--mc-heading);
}
.transporte-empty p {
  margin: 0 0 1rem;
  color: var(--mc-text-muted);
  font-size: 0.85rem;
}
.transporte-form-card {
  margin-bottom: 0.25rem;
  border: 1px solid rgba(74, 127, 212, 0.35);
  box-shadow: 0 8px 24px rgba(74, 127, 212, 0.08);
}
.transporte-form-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.1rem 0;
}
.transporte-form-card__head h2 {
  margin: 0 0 0.2rem;
  font-size: 1.02rem;
}
.transporte-form-card__head p { margin: 0; }
.transporte-form-card__body { padding: 0.85rem 1.1rem 1.1rem; }
.transporte-form-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.85rem;
  align-items: center;
}
.logistica-tango-callout {
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  border: 1px dashed var(--mc-border);
  background: var(--mc-bg-inset);
}
.logistica-tango-callout__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.2rem;
}
.logistica-tango-callout__val {
  margin: 0 0 0.25rem;
  font-size: 0.88rem;
  line-height: 1.35;
}
.transporte-km-panel { margin-top: 0.25rem; display: flex; flex-direction: column; gap: 1.25rem; }

/* Date / month inputs — calendario en español */
.mc-date-wrap {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  z-index: 1;
}
.mc-date-wrap:has(.mc-date-pop:not(.hidden)) {
  z-index: 30;
}
.mc-date-wrap .mc-date-display {
  flex: 1 1 auto;
  min-width: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.mc-date-wrap .mc-date-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.65rem;
  border: 1px solid var(--mc-border);
  border-left: none;
  border-radius: 0 var(--mc-radius-sm, 6px) var(--mc-radius-sm, 6px) 0;
  background: var(--mc-bg-inset);
  color: var(--mc-text-muted);
  cursor: pointer;
}
.mc-date-wrap .mc-date-trigger:hover { color: var(--mc-text); background: var(--mc-bg); }
.mc-date-display--invalid { border-color: var(--mc-warning) !important; }
.mc-date-pop {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 40;
  min-width: 16.5rem;
  padding: 0.65rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-md, 10px);
  background: var(--mc-white);
  color: var(--mc-text);
  box-shadow: var(--shadow-lg, 0 12px 48px rgba(25, 47, 63, 0.18));
  isolation: isolate;
}
.mc-date-pop__head,
.mc-date-pop__grid,
.mc-date-pop__foot {
  background: var(--mc-white);
}
.mc-date-pop--month { min-width: 14rem; }
.mc-date-pop__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.mc-date-pop__title {
  font-size: 0.88rem;
  text-transform: capitalize;
  font-weight: 600;
}
.mc-date-pop__nav {
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm, 6px);
  background: var(--mc-bg-inset);
  cursor: pointer;
  line-height: 1;
}
.mc-date-pop__nav:hover { background: var(--mc-bg); }
.mc-date-pop__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.15rem;
}
.mc-date-pop__grid--days { margin-bottom: 0.15rem; }
.mc-date-pop__grid--months { grid-template-columns: repeat(3, 1fr); gap: 0.35rem; }
.mc-date-pop__dow {
  font-size: 0.68rem;
  text-align: center;
  color: var(--mc-text-muted);
  font-weight: 600;
}
.mc-date-pop__cell {
  border: none;
  background: var(--mc-white);
  border-radius: var(--mc-radius-sm, 6px);
  font: inherit;
  font-size: 0.82rem;
  padding: 0.35rem 0;
  cursor: pointer;
}
.mc-date-pop__cell--day:hover,
.mc-date-pop__cell--month:hover { background: color-mix(in srgb, var(--mc-accent) 10%, transparent); }
.mc-date-pop__cell--selected {
  background: var(--mc-accent) !important;
  color: #fff;
  font-weight: 600;
}
.mc-date-pop__cell--today:not(.mc-date-pop__cell--selected) {
  box-shadow: inset 0 0 0 1px var(--mc-accent);
}
.mc-date-pop__cell--empty { pointer-events: none; }
.mc-date-pop__foot {
  display: flex;
  justify-content: space-between;
  margin-top: 0.55rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--mc-border);
}
.mc-date-pop__link {
  border: none;
  background: none;
  color: var(--mc-accent);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.15rem 0.25rem;
}
.mc-date-pop__link:hover { text-decoration: underline; }

.transporte-km-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}
.transporte-km-period {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.transporte-km-period input { min-width: 10rem; }
.transporte-km-help { margin: 0; font-size: 0.78rem; max-width: 32rem; line-height: 1.45; }
.transporte-km-hero {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
.transporte-km-card {
  padding: 1rem 1.1rem;
  border-radius: var(--mc-radius-md, 10px);
  border: 1px solid var(--mc-border);
  background: var(--mc-bg-elevated, var(--mc-bg));
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 5.5rem;
}
.transporte-km-card--primary { border-color: color-mix(in srgb, var(--mc-accent) 35%, var(--mc-border)); }
.transporte-km-card--success { border-color: color-mix(in srgb, var(--mc-success, #2e7d4f) 35%, var(--mc-border)); }
.transporte-km-card--warn { border-color: color-mix(in srgb, var(--mc-warning) 40%, var(--mc-border)); }
.transporte-km-card__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
}
.transporte-km-card__val {
  font-size: 1.35rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.transporte-km-card__sub { font-size: 0.76rem; color: var(--mc-text-muted); line-height: 1.35; }
.transporte-km-empty { padding: 2rem 1.25rem; text-align: center; }
.transporte-km-table-wrap { overflow-x: auto; padding: 0; }
.transporte-km-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}
.transporte-km-table th,
.transporte-km-table td {
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid var(--mc-border);
  text-align: left;
  vertical-align: middle;
}
.transporte-km-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  white-space: nowrap;
}
.transporte-km-table tbody tr:hover { background: color-mix(in srgb, var(--mc-accent) 4%, transparent); }
.transporte-km-row--warn { background: color-mix(in srgb, var(--mc-warning) 6%, transparent); }
.transporte-km-table tfoot td {
  border-bottom: none;
  background: var(--mc-bg-inset);
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.transporte-km-num { text-align: right; white-space: nowrap; }
.transporte-km-importe { font-variant-numeric: tabular-nums; color: var(--mc-text); }
.transporte-km-veh { display: flex; flex-direction: column; gap: 0.15rem; }
.transporte-km-veh__code { font-size: 0.74rem; color: var(--mc-text-muted); }
.transporte-km-warn { font-size: 0.72rem; color: var(--mc-warning); font-weight: 500; }
.transporte-tarifas-panel { padding: 1rem 1.15rem; }
.transporte-tarifas-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.transporte-tarifas-panel__head h3 { margin: 0 0 0.2rem; font-size: 1rem; }
.transporte-tarifas-panel__head p { margin: 0; font-size: 0.78rem; max-width: 36rem; }
.transporte-tarifas-empty {
  margin: 0;
  padding: 1rem;
  border-radius: var(--mc-radius-sm, 8px);
  background: var(--mc-bg-inset);
  font-size: 0.84rem;
  color: var(--mc-text-muted);
}
.transporte-tarifas-list { display: flex; flex-direction: column; gap: 0.5rem; }
.transporte-tarifa-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm, 8px);
  background: var(--mc-bg-inset);
}
.transporte-tarifa-row__main {
  flex: 1 1 12rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
}
.transporte-tarifa-row__tipo {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: var(--mc-bg);
  border: 1px solid var(--mc-border);
}
.transporte-tarifa-row__price {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  min-width: 6rem;
  text-align: right;
}
.transporte-tarifa-form {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px dashed var(--mc-border);
  background: color-mix(in srgb, var(--mc-accent) 3%, var(--mc-bg));
}
.transporte-tarifa-form__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.85rem;
}
.transporte-tarifa-form__head h3 { margin: 0; font-size: 0.95rem; }
@media (max-width: 1100px) {
  .transporte-km-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .transporte-km-hero { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .transporte-stats { grid-template-columns: 1fr; }
  .transporte-intro { grid-template-columns: 1fr; }
  .transporte-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .transporte-card { grid-template-columns: 1fr; }
  .transporte-card__visual,
  .transporte-card__avatar { grid-row: auto; }
  .transporte-card__grid { grid-template-columns: 1fr; }
  .transporte-toolbar { flex-direction: column; align-items: stretch; }
  .transporte-toolbar__left { flex-direction: column; align-items: stretch; }
  .transporte-toolbar__actions { margin-left: 0; }
  .transporte-toolbar__actions .btn { width: 100%; }
  .transporte-view-toggle { width: 100%; }
  .transporte-view-btn { flex: 1; }
}
.entrega-empty {
  margin: 0;
  padding: 0.85rem;
  border-radius: 8px;
  background: var(--mc-bg-inset);
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  text-align: center;
}
.entrega-tango-detail {
  margin-top: 0.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  border: 1px dashed var(--mc-border);
  background: var(--mc-bg-inset);
  font-size: 0.78rem;
}
.entrega-tango-detail summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--mc-text-muted);
}
.entrega-tango-detail__hint {
  margin: 0.45rem 0 0.35rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.entrega-tango-detail__list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--mc-text-muted);
}
.entrega-tango-detail__list code {
  font-size: 0.76rem;
  color: var(--mc-heading);
}
@media (max-width: 720px) {
  .entrega-hero { grid-template-columns: 1fr; }
  .entrega-hero__pedido { text-align: left; }
  .entrega-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .entrega-meta-grid { grid-template-columns: 1fr; }
}

.ventas-detalle__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin-bottom: 1rem;
}
.ventas-detalle__stat-label {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.15rem;
}
.ventas-detalle__stat-val {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.ventas-detalle__stat-val--money { color: var(--mc-primary-dark); font-size: 1.05rem; }
.ventas-detalle__avance {
  margin: 0 0 1rem;
  padding: 0.75rem 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
  font-size: 0.84rem;
  line-height: 1.45;
}
.ventas-detalle__avance--ok { background: #edf7f0; border-color: #c3e6cb; }
.ventas-detalle__avance--warn { background: #fff8e6; border-color: #f0d58c; }
.ventas-detalle__avance--muted { background: var(--mc-bg-inset); }
.ventas-detalle__section-title {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
}
.ventas-detalle__timeline { margin-bottom: 1rem; }
.ventas-detalle__timeline-row {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--mc-border);
  font-size: 0.8rem;
}
.ventas-detalle__timeline-row:last-child { border-bottom: none; }
.ventas-detalle__timeline-row--current {
  background: var(--mc-bg-warm);
  margin: 0 -0.85rem;
  padding-inline: 0.85rem;
  border-radius: 6px;
}
.ventas-detalle__timeline-fecha { color: var(--mc-text-muted); font-variant-numeric: tabular-nums; }
.ventas-detalle__timeline-importe {
  font-weight: 600;
  color: var(--mc-primary-dark);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.ventas-detalle__note {
  margin: 0 0 1rem;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  background: var(--mc-banner-warn-bg);
  border: 1px solid var(--mc-banner-warn-border);
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.ventas-detalle__items { margin-bottom: 1rem; overflow-x: auto; }
.ventas-detalle__items .data { font-size: 0.78rem; min-width: 640px; }
.ventas-detalle__items .data th:first-child,
.ventas-detalle__items .data--con-pedido td:first-child {
  white-space: nowrap;
  font-size: 0.72rem;
}
.ventas-detalle__num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ventas-detalle__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.form-field { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.82rem; }
.form-field--full { grid-column: 1 / -1; }
.form-field select, .form-field input, .form-field textarea {
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  padding: 0.45rem 0.5rem;
  font: inherit;
}
.ventas-lista.hidden { display: none; }

/* Agenda */
.agenda-toolbar {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0.85rem;
}
.agenda-kpis {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1rem;
}
.agenda-kpi .kpi__value--warn { color: var(--mc-warning, #d97706); }
.agenda-layout { align-items: start; }
.agenda-main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
.agenda-panel {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 40, 71, 0.04);
}
.agenda-panel__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--mc-border);
  background: linear-gradient(180deg, rgba(15, 40, 71, 0.03), transparent);
}
.agenda-panel__head h2 {
  margin: 0;
  font-size: 0.95rem;
  color: var(--mc-navy);
}
.agenda-panel__body { padding: 0.85rem 1rem 1rem; }
.agenda-side__foot { display: flex; flex-direction: column; gap: 0.5rem; }
.agenda-day { margin-bottom: 1.15rem; }
.agenda-day:last-child { margin-bottom: 0; }
.agenda-day__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mc-navy);
  margin-bottom: 0.65rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--mc-primary);
  display: inline-block;
  letter-spacing: 0.02em;
}
.agenda-day__title--late { border-bottom-color: var(--mc-danger); color: var(--mc-danger); }
.agenda-item {
  display: flex;
  gap: 0.85rem;
  padding: 0.85rem;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  margin-bottom: 0.5rem;
  align-items: flex-start;
  transition: border-color 0.15s, box-shadow 0.15s, opacity 0.15s;
}
.agenda-item--clickable {
  cursor: pointer;
}
.agenda-item--clickable:hover,
.agenda-item--clickable:focus-visible {
  border-color: var(--mc-primary);
  box-shadow: 0 2px 10px rgba(15, 40, 71, 0.08);
  outline: none;
}
.agenda-item--crit { border-left: 3px solid var(--mc-danger); }
.agenda-item--warn { border-left: 3px solid var(--mc-warning, #d97706); }
.agenda-item--ok { border-left: 3px solid var(--mc-success); }
.agenda-item--muted { opacity: 0.72; }
.agenda-item--programada { padding-left: 0.65rem; }
.agenda-item__time {
  font-weight: 700;
  font-size: 0.84rem;
  color: var(--mc-primary-dark);
  min-width: 3.25rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}
.agenda-item__time--late { color: var(--mc-danger); }
.agenda-item__body { min-width: 0; flex: 1; }
.agenda-item__type {
  font-size: 0.66rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.18rem;
}
.agenda-item__detail { color: var(--mc-text-muted); font-weight: 500; font-size: 0.86rem; }
.agenda-item__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  flex-shrink: 0;
}
.agenda-item__check {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  border: 2px solid var(--mc-border);
  background: var(--mc-white);
  color: var(--mc-success);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.agenda-item__check:hover { border-color: var(--mc-success); background: rgba(22, 163, 74, 0.08); }
.agenda-item__check svg { width: 0.85rem; height: 0.85rem; }
.agenda-item__mini {
  font-size: 0.68rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  background: rgba(15, 40, 71, 0.06);
  color: var(--mc-navy);
}
.agenda-item__mini:hover { background: rgba(15, 40, 71, 0.1); }
.agenda-tipo {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-primary-dark);
  margin-bottom: 0.15rem;
}
.agenda-tipo svg { width: 0.85rem; height: 0.85rem; opacity: 0.85; }
.agenda-resumen__hint {
  margin-top: 0.85rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.45;
}
.agenda-resumen__stat {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px dashed var(--mc-border);
  font-size: 0.88rem;
}
.agenda-resumen__stat:last-of-type { border-bottom: none; }
.agenda-form__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 0.85fr;
  gap: 0.75rem;
}
.agenda-form .field { display: block; margin-bottom: 0.85rem; }
.agenda-form .field__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin-bottom: 0.35rem;
}
.agenda-form .field__optional { font-weight: 500; text-transform: none; letter-spacing: 0; }
.agenda-form__notas { min-height: 4.5rem; resize: vertical; }
@media (max-width: 900px) {
  .agenda-kpis { grid-template-columns: repeat(2, 1fr); }
  .agenda-form__grid { grid-template-columns: 1fr; }
}

/* Client list */
.client-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--mc-border);
  cursor: pointer;
}
.client-row:hover { background: var(--mc-table-hover); margin: 0 -1.25rem; padding-left: 1.25rem; padding-right: 1.25rem; }
.client-row__name { flex: 1; font-weight: 600; font-size: 0.92rem; }
.client-row__meta { font-size: 0.8rem; color: var(--mc-text-muted); }

/* Cartera comercial */
.cartera-card .card__head { align-items: flex-start; overflow: visible; }
.cartera-card:has(.search-combobox--open) {
  overflow: visible;
  position: relative;
  z-index: 25;
}
.cartera-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}
.cartera-head__sub {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.cartera-filters {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.65rem;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
}
.cartera-filters .cartera-select,
.cartera-filters .filter-dropdown {
  flex: 0 0 auto;
}
.cartera-filters .cartera-select {
  max-width: 11.5rem;
}
.cartera-search {
  padding: 0.5rem 0.85rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  font-family: inherit;
  min-width: min(240px, 100%);
}
.cartera-card .search-combobox {
  flex: 1 1 200px;
  min-width: min(240px, 100%);
  max-width: 360px;
}

/* ─── Buscador desplegable ─── */
.search-combobox {
  position: relative;
  flex: 1 1 auto;
  min-width: min(260px, 100%);
  max-width: 420px;
}
.search-combobox__control {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0 0.55rem 0 0.65rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-white);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.search-combobox--open .search-combobox__control,
.search-combobox__control:focus-within {
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(88, 175, 145, 0.18);
}
.search-combobox__icon {
  color: var(--mc-text-muted);
  display: flex;
  flex-shrink: 0;
}
.search-combobox__input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0.62rem 0.15rem;
  font: inherit;
  font-size: 0.9rem;
  outline: none;
}
.search-combobox__input::placeholder {
  color: var(--mc-text-muted);
  opacity: 0.85;
}
.search-combobox__input::-webkit-search-cancel-button { display: none; }
.search-combobox__clear {
  border: none;
  background: var(--mc-combobox-clear-bg);
  color: var(--mc-text-muted);
  width: 22px;
  height: 22px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
.search-combobox__clear:hover { background: var(--mc-bg-hover, #e2e8f0); color: var(--mc-heading); }
.search-combobox__chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mc-text-muted);
  cursor: pointer;
  padding: 0.15rem;
  transition: transform 0.15s;
  flex-shrink: 0;
  border: none;
  background: transparent;
  font: inherit;
  line-height: 1;
}
.search-combobox__chevron:hover { color: var(--mc-heading); }
.search-combobox__chevron--up { transform: rotate(180deg); }
.search-combobox__panel {
  position: absolute;
  z-index: 60;
  left: 0;
  right: 0;
  top: calc(100% + 0.35rem);
  max-height: calc(var(--search-combobox-visible-rows, 5) * 3.35rem + 0.7rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.35rem 0.35rem 0.2rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-white);
  box-shadow: var(--shadow-lg);
  scrollbar-width: thin;
  scrollbar-color: var(--mc-border) transparent;
}
.search-combobox__panel--dropup {
  top: auto;
  bottom: calc(100% + 0.35rem);
}
.search-combobox__panel::-webkit-scrollbar { width: 7px; }
.search-combobox__panel::-webkit-scrollbar-thumb {
  background: var(--mc-border);
  border-radius: 999px;
}
.search-combobox__panel::-webkit-scrollbar-thumb:hover { background: var(--mc-text-muted); }
.search-combobox__panel.hidden { display: none; }
.search-combobox__hint {
  margin: 0;
  padding: 0.65rem 0.75rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.search-combobox__hint--loading { color: var(--mc-primary); }
.search-combobox__footer--loading { color: var(--mc-primary); }
.search-combobox__footer {
  margin: 0.15rem 0 0;
  padding: 0.5rem 0.65rem 0.55rem;
  border-top: 1px solid var(--mc-border);
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  text-align: center;
  position: sticky;
  bottom: 0;
  background: linear-gradient(transparent, var(--mc-white) 30%);
}
.search-combobox__option {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.65rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--mc-text);
  cursor: pointer;
  font: inherit;
  transition: background 0.12s, color 0.12s;
}
.search-combobox__option:hover,
.search-combobox__option--active {
  background: var(--mc-combobox-hover);
}
.search-combobox__avatar {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--mc-combobox-avatar-bg);
  color: var(--mc-combobox-avatar-fg);
  font-size: 0.72rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.search-combobox__option-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.search-combobox__option-body strong {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mc-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-combobox__option-sub {
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-combobox__option-meta {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-heading);
  white-space: nowrap;
  flex-shrink: 0;
}
.search-combobox__option-aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.12rem;
  flex-shrink: 0;
  max-width: 11rem;
  text-align: right;
}
.search-combobox__option-price {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.2;
}
.search-combobox__option-stock {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--mc-text-muted);
  line-height: 1.25;
  white-space: normal;
}
.search-combobox__option-details {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.35rem;
  margin-top: 0.2rem;
}
.search-combobox__chip {
  display: inline-block;
  padding: 0.08rem 0.4rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  line-height: 1.3;
}
.search-combobox__option--rich {
  align-items: flex-start;
}
.search-combobox__option--rich .search-combobox__avatar {
  margin-top: 0.05rem;
}
.search-combobox__mark {
  background: rgba(88, 175, 145, 0.28);
  color: var(--mc-text);
  border-radius: 2px;
  padding: 0 0.05em;
}

/* ─── Select filtros desplegable ─── */
.filter-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.filter-dropdown::after {
  content: "";
  position: absolute;
  right: 0.65rem;
  top: 50%;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--mc-text-muted);
  border-bottom: 2px solid var(--mc-text-muted);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.filter-dropdown .cartera-select {
  appearance: none;
  padding-right: 2rem;
  min-width: 140px;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.filter-dropdown .cartera-select:focus {
  outline: none;
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(88, 175, 145, 0.18);
}
.cartera-select {
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.85rem;
  background: var(--mc-white);
  max-width: 220px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.cartera-table-head {
  display: grid;
  grid-template-columns: 1.45fr 0.85fr 0.75fr 0.9fr 0.65fr;
  gap: 0.75rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  border-bottom: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
}
.cartera-table-head--gerente.hidden { display: none; }
.cartera-table-head--right { text-align: right; }
.cartera-row {
  display: grid;
  grid-template-columns: 1.45fr 0.85fr 0.75fr 0.9fr 0.65fr;
  gap: 0.75rem;
  align-items: center;
}
.cartera-row__main {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.cartera-row__avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 0.75rem;
}
.cartera-row__info { min-width: 0; }
.cartera-row__name {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--mc-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cartera-row__code {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cartera-row__vendedor,
.cartera-row__localidad,
.cartera-row__contacto {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cartera-row__contacto--empty {
  color: var(--mc-text-muted);
  opacity: 0.55;
}
.cartera-row__wa {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  color: #128c7e;
  font-weight: 600;
  text-decoration: none;
}
.cartera-row__wa:hover .cartera-row__wa-tel { text-decoration: underline; }
.cartera-row__wa-icon {
  flex-shrink: 0;
  color: #25d366;
}
.cartera-row__wa-tel {
  overflow: hidden;
  text-overflow: ellipsis;
}
.cartera-row__tel {
  color: var(--mc-primary-dark);
  font-weight: 600;
  text-decoration: none;
}
.cartera-row__tel:hover { text-decoration: underline; }
.cartera-col--gerente.hidden { display: none; }
.cartera-row:has(.cartera-col--gerente.hidden) {
  grid-template-columns: 1.45fr 0.75fr 0.9fr 0.65fr;
}
.cartera-table-head:has(.cartera-table-head--gerente.hidden) {
  grid-template-columns: 1.45fr 0.75fr 0.9fr 0.65fr;
}
.cartera-row__saldo {
  text-align: right;
  font-weight: 600;
  font-size: 0.88rem;
}
.cartera-row__saldo--ok { color: var(--mc-success); }
.cartera-row__saldo--warn { color: var(--mc-warning); }
.cartera-row__saldo--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.28rem;
}
.cartera-estado {
  font-size: 0.65rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.cartera-row__saldo-amt {
  font-variant-numeric: tabular-nums;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.2;
}
.cartera-row__saldo-lbl {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  line-height: 1;
  margin-top: -0.12rem;
}
.cartera-row__saldo-sub {
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--mc-text-muted);
  line-height: 1.2;
  max-width: 10.5rem;
  text-align: right;
}
.cartera-cc--ok { color: var(--mc-success); }
.cartera-cc--warn { color: var(--mc-warning, #d97706); }
.cartera-cc--crit { color: var(--mc-danger); }
.cartera-cc--muted { color: var(--mc-text-muted); font-weight: 500; }
.cartera-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem 1.25rem 1.15rem;
  border-top: 1px solid var(--mc-border);
  background: linear-gradient(180deg, #fafbfc 0%, var(--mc-white) 100%);
}
.cartera-footer__count {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin: 0;
}
.cartera-load-more {
  min-width: min(100%, 360px);
  padding: 0.6rem 1.25rem !important;
}
.cartera-load-more:disabled {
  opacity: 0.7;
  cursor: wait;
}
.clientes-empty {
  margin: 0;
  padding: 1.5rem 0;
  text-align: center;
  color: var(--mc-text-muted);
  font-size: 0.9rem;
}
.clientes-empty--error { color: var(--mc-danger); }

.mock-data-banner {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: #fffbeb;
  border: 1px dashed #fbbf24;
  border-radius: 10px;
  font-size: 0.85rem;
  color: #92400e;
}
.mock-data-banner strong { color: #78350f; }

/* Presentation toolbar */
.app-toolbar {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 200;
  display: flex;
  gap: 0.5rem;
  background: var(--mc-navy);
  padding: 0.5rem;
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
}
.app-toolbar .btn { font-size: 0.8rem; padding: 0.5rem 0.85rem; }
.app-toolbar .btn--ghost { border-color: rgba(255,255,255,0.2); }

/* Mobile preview frame */
.mobile-frame {
  max-width: 375px;
  margin: 0 auto;
  border: 8px solid var(--mc-navy);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.mobile-frame__screen {
  background: var(--mc-surface);
  min-height: 640px;
  padding: 1rem;
}
.mobile-nav {
  display: flex;
  justify-content: space-around;
  background: var(--mc-white);
  border-top: 1px solid var(--mc-border);
  padding: 0.65rem 0;
  margin: 0 -1rem -1rem;
}
.mobile-nav span { font-size: 0.65rem; color: var(--mc-text-muted); text-align: center; }
.mobile-nav .active { color: var(--mc-primary-dark); font-weight: 700; }

@media (max-width: 1100px) {
  .kpi-row { grid-template-columns: repeat(2, 1fr); }
  .cartera-table-head { display: none; }
  .cartera-row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "main saldo"
      "meta meta";
    gap: 0.35rem 0.75rem;
  }
  .cartera-row__main { grid-area: main; }
  .cartera-row__saldo { grid-area: saldo; }
  .cartera-row__vendedor,
  .cartera-row__localidad,
  .cartera-row__contacto {
    grid-area: meta;
    display: inline !important;
  }
  .cartera-row__localidad::before { content: " · "; }
  .cartera-row__contacto::before { content: " · "; }
  .cartera-row__contacto--empty { display: none !important; }
  .cartera-filters {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .cartera-card .search-combobox {
    flex: 1 1 100%;
    max-width: none;
  }
  .cartera-select { max-width: none; flex: 1; }
  .grid-2 { grid-template-columns: 1fr; }
  .kanban { grid-template-columns: repeat(3, 1fr); }
  .ventas-board__cols,
  .ventas-board-row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "cliente importe"
      "cotiz meta";
    gap: 0.2rem 0.75rem;
    padding: 0.65rem 0.85rem;
  }
  .ventas-board__cols { display: none; }
  .ventas-board-row__cliente { grid-area: cliente; white-space: normal; }
  .ventas-board-row__importe { grid-area: importe; justify-self: end; }
  .ventas-board-row__cotiz { grid-area: cotiz; }
  .ventas-board-row__meta { grid-area: meta; }
  .ventas-board-row__vendedor {
    grid-column: 1 / -1;
    font-size: 0.72rem;
  }
  .ventas-board__section--fria .ventas-board__list { max-height: none; }
}
@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    box-shadow: none;
  }
  .main { margin-left: 0; }
  .sidebar.open {
    transform: none;
    box-shadow: 4px 0 28px rgba(15, 23, 42, 0.22);
  }
  #app.sidebar-collapsed .sidebar {
    transform: translateX(-100%);
  }
  #app.sidebar-collapsed .main {
    margin-left: 0;
  }
  .topbar {
    padding: 0 1rem;
  }
  .topbar__title {
    font-size: 1.05rem;
  }
  .kpi-row { grid-template-columns: 1fr; }
  .kanban { grid-template-columns: 1fr 1fr; }
  .cc-summary { grid-template-columns: 1fr; text-align: center; }
  .cc-stats { grid-template-columns: 1fr; }
}

@media print {
  .sidebar, .app-toolbar, .topbar__actions { display: none !important; }
  .main { margin-left: 0; }
  .logistica-rutas-toolbar,
  .logistica-rutas-tabs,
  .logistica-hoja-dia__toolbar,
  .logistica-hoja-viaje__actions { display: none !important; }

  body.pedido-nota-printing {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.pedido-nota-printing #app,
  body.pedido-nota-printing #login,
  body.pedido-nota-printing .sidebar,
  body.pedido-nota-printing .app-toolbar,
  body.pedido-nota-printing .topbar,
  body.pedido-nota-printing .main,
  body.pedido-nota-printing .ventas-modal,
  body.pedido-nota-printing .mc-dialog,
  body.pedido-nota-printing .mc-toast-stack,
  body.pedido-nota-printing .login-screen {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.pedido-nota-printing .pedido-nota-print-root {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.pedido-nota-printing .pedido-nota {
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.pedido-nota-printing .pedido-nota__head-band {
    margin: 0 0 0.5rem !important;
    padding: 0.65rem 1.25rem !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }

  body.pedido-nota-printing .pedido-nota__accent {
    margin-bottom: 0.65rem !important;
  }

  body.pedido-nota-printing .pedido-nota__foot {
    margin-top: 0.5rem !important;
  }

  body.pedido-nota-printing .pedido-nota__table-wrap {
    flex: 0 1 auto !important;
  }

  body.pedido-nota-printing .pedido-nota__head {
    margin-top: 0.65rem !important;
    margin-bottom: 0.45rem !important;
  }

  body.pedido-nota-printing .pedido-nota__cards {
    margin-bottom: 0.65rem !important;
  }

  body.pedido-nota-printing .pedido-nota__table thead {
    display: table-header-group;
  }

  body.pedido-nota-printing .pedido-nota--compact {
    --pedido-nota-font: 8.25pt;
    --pedido-nota-row-pad: 0.2rem 0.38rem;
  }

  body.pedido-nota-printing .pedido-nota--dense {
    --pedido-nota-font: 7.25pt;
    --pedido-nota-row-pad: 0.12rem 0.3rem;
  }

  body.pedido-nota-printing .pedido-nota--compact .pedido-nota__head-band,
  body.pedido-nota-printing .pedido-nota--dense .pedido-nota__head-band {
    padding: 0.55rem 1.1rem !important;
  }

  body.pedido-nota-printing .pedido-nota--compact .pedido-nota__logo,
  body.pedido-nota-printing .pedido-nota--dense .pedido-nota__logo {
    height: 28px !important;
  }

  body.pedido-nota-printing .pedido-nota--compact .pedido-nota__logo--conflex,
  body.pedido-nota-printing .pedido-nota--dense .pedido-nota__logo--conflex {
    height: 26px !important;
    max-width: 180px !important;
  }

  body.pedido-nota-printing .pedido-nota--z {
    border-top: none !important;
    padding-top: 0 !important;
  }

  body.pedido-nota-printing .pedido-nota--z .pedido-nota__head {
    margin-top: 0 !important;
  }

  @page {
    size: A4 portrait;
    margin: 8mm;
  }
}

/* ─── Jul 2026 — pantallas ampliadas ─── */
.nav-divider {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.42;
  padding: 0.85rem 0.75rem 0.3rem;
  margin-top: 0.15rem;
  color: rgba(255,255,255,0.55);
}
.nav-phase {
  font-size: 0.58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.5;
  padding: 0.55rem 0.75rem 0.15rem;
  margin-top: 0.05rem;
  color: rgba(255,255,255,0.48);
}
.nav-phase--muted {
  opacity: 0.38;
  margin-top: 0.35rem;
}
.nav-phase.hidden {
  display: none;
}

.screen-intro {
  color: var(--mc-text-muted);
  font-size: 0.9rem;
  margin: 0 0 1.25rem;
  max-width: 52rem;
}

.line-badge {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  flex-shrink: 0;
}
.line-badge--cort { background: var(--mc-cortinas-bg); color: var(--mc-cortinas-fg); }
.line-badge--conf { background: var(--mc-conflex-bg); color: var(--mc-conflex-fg); }
.line-badge--mix { background: #eee8f6; color: #5b21b6; }
.circuito-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  vertical-align: middle;
}
.circuito-badge--a {
  background: var(--mc-conflex-bg);
  color: var(--mc-conflex-fg);
}
.circuito-badge--z {
  background: #ede9fe;
  color: #5b21b6;
}

.tl-item--log::before { background: #5a9fd4; }
.tl-item--acopio::before { background: var(--mc-success); }

/* ─── Acopios — listado global ─── */
#screen-acopios .acopios-filters {
  display: grid;
  grid-template-columns: minmax(12rem, 1.4fr) repeat(4, minmax(8.5rem, auto));
  gap: 0.5rem 0.65rem;
  align-items: center;
  margin-bottom: 1rem;
  justify-content: stretch;
}
#screen-acopios .acopios-filters .cartera-search,
#screen-acopios .acopios-filters .search-combobox {
  grid-column: 1 / -1;
  max-width: none;
}
@media (min-width: 900px) {
  #screen-acopios .acopios-filters .cartera-search,
  #screen-acopios .acopios-filters .search-combobox {
    grid-column: 1;
  }
}
#screen-acopios .acopios-filters .cartera-select {
  max-width: none;
  width: 100%;
}
.acopios-list-wrap {
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--mc-white);
}
.acopio-table-head,
.acopio-row {
  display: grid;
  gap: 0.65rem 1.25rem;
  align-items: center;
}
.acopio-table-head {
  grid-template-columns: minmax(0, 1.85fr) minmax(0, 0.75fr) minmax(0, 1.1fr) minmax(0, 0.95fr);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  border-bottom: 1px solid var(--mc-border);
  padding: 0.55rem 0.85rem;
}
.acopio-table-head__saldo { text-align: right; }
.acopio-row {
  grid-template-columns: minmax(0, 1.85fr) minmax(0, 0.75fr) minmax(0, 1.1fr) minmax(0, 0.95fr);
}
.acopios-list-wrap:not(.acopios-list-wrap--gerente) .acopio-col--gerente { display: none; }
.acopios-list-wrap:not(.acopios-list-wrap--gerente) .acopio-table-head,
.acopios-list-wrap:not(.acopios-list-wrap--gerente) .acopio-row {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.15fr) minmax(0, 1fr);
}
.acopio-row__client {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.acopio-row__avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  font-size: 0.72rem;
}
.acopio-row__client-text { min-width: 0; }
.acopio-row__name {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--mc-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}
.acopio-row__codes {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.15rem;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.acopio-code--a {
  font-weight: 700;
  color: var(--mc-primary-dark, #2d7a5f);
}
.acopio-code-arrow { opacity: 0.45; font-size: 0.7rem; }
.acopio-row__vend {
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.acopio-row__act {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}
.acopio-row__act-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  font-size: 0.8rem;
  line-height: 1.2;
}
.acopio-stat strong {
  font-weight: 700;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.acopio-stat--money {
  font-weight: 600;
  color: var(--mc-text);
  font-variant-numeric: tabular-nums;
}
.acopio-stat--money::before {
  content: "últ. ";
  font-weight: 400;
  color: var(--mc-text-muted);
}
.acopio-stat--muted { color: var(--mc-text-muted); font-size: 0.78rem; }
.acopio-row__act-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}
.acopio-row__fecha {
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.acopio-row__saldo {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
  min-width: 0;
}
.acopio-row__saldo-main {
  font-size: 0.95rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.acopio-row__saldo-main--ok { color: var(--mc-success); }
.acopio-row__saldo-main--warn { color: var(--mc-warning, #d97706); }
.acopio-row__saldo-main--muted { color: var(--mc-text-muted); font-weight: 600; }
.acopio-row__saldo-sub {
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.acopio-row__saldo-sub--muted { font-style: italic; }
.acopio-row__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25rem;
  margin-top: 0.1rem;
}
.mc-tip-anchor {
  cursor: help;
  position: relative;
}
.mc-tip {
  position: fixed;
  z-index: 9999;
  max-width: min(280px, calc(100vw - 1.25rem));
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #0f172a;
  color: #f8fafc;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.06);
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.12s ease, transform 0.12s ease;
}
.mc-tip--visible {
  opacity: 1;
  transform: translateY(0);
}
.mc-tip::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  background: #0f172a;
  transform: rotate(45deg);
  border-radius: 2px;
}
.mc-tip--below::after {
  top: -5px;
  bottom: auto;
}

.acopio-tag {
  font-size: 0.62rem;
  padding: 0.12rem 0.45rem;
  letter-spacing: 0.03em;
}
#screen-acopios .clientes-empty {
  padding: 2rem 1.25rem;
  text-align: center;
  color: var(--mc-text-muted);
}
@media (max-width: 960px) {
  #screen-acopios .acopios-filters {
    grid-template-columns: 1fr 1fr;
  }
  .acopio-table-head { display: none; }
  .acopio-row,
  .acopios-list-wrap--gerente .acopio-row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "client saldo"
      "act act"
      "vend vend";
    gap: 0.45rem 0.75rem;
    padding: 0.85rem 1rem;
  }
  .acopio-row__client { grid-area: client; }
  .acopio-row__saldo { grid-area: saldo; }
  .acopio-row__act { grid-area: act; }
  .acopio-row__vend {
    grid-area: vend;
    display: block !important;
    font-size: 0.75rem;
  }
  .acopios-list-wrap:not(.acopios-list-wrap--gerente) .acopio-row {
    grid-template-areas:
      "client saldo"
      "act act";
  }
}

.acopio-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 1rem;
}

/* ── Ficha acopio (cliente) ── */
.acopio-ficha {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.acopio-ficha__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  padding: 1.15rem 1.35rem;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-bottom: 1px solid var(--mc-border);
}
.acopio-ficha__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.acopio-ficha__codes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.65rem;
}
.acopio-code-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 650;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  border: 1px solid transparent;
}
.acopio-code-chip--p { background: #fff; border-color: #cbd5e1; color: #1e293b; }
.acopio-code-chip--a { background: #ecfdf5; border-color: #6ee7b7; color: #065f46; }
.acopio-code-chip--z { background: #eff6ff; border-color: #93c5fd; color: #1e40af; }
.acopio-code-chip__arrow { color: #94a3b8; font-size: 0.85rem; }
.acopio-ficha__status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.acopio-ficha__status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}
.acopio-ficha__status-pill--ok { background: #dcfce7; color: #166534; }
.acopio-ficha__status-pill--warn { background: #fef3c7; color: #92400e; }
.acopio-ficha__status-pill--crit { background: #fee2e2; color: #991b1b; }
.acopio-ficha__status-pill--muted { background: #f1f5f9; color: #64748b; }
.acopio-ficha__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.acopio-ficha__bpc-link { white-space: nowrap; }
.acopio-ficha__body {
  padding: 1.25rem 1.35rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.acopio-ficha__saldo { display: flex; flex-direction: column; gap: 0.85rem; }
.acopio-ficha__hero-metric {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1.1rem 1.15rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #1e40af 0%, #2563eb 55%, #3b82f6 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.22);
}
.acopio-ficha__hero-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 0.35rem;
}
.acopio-ficha__hero-val {
  display: block;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
}
.acopio-ficha__hero-val--ok { color: #bbf7d0; }
.acopio-ficha__hero-val--warn { color: #fecaca; }
.acopio-ficha__hero-sub {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.82);
}
.acopio-ficha__hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: flex-start;
}
.acopio-ficha__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.28);
}
.acopio-ficha__pill--ok { background: rgba(34, 197, 94, 0.22); border-color: rgba(134, 239, 172, 0.45); }
.acopio-ficha__pill--brand { background: rgba(255, 255, 255, 0.22); }
.acopio-ficha__pill--muted { opacity: 0.85; }
.acopio-ficha__sync {
  margin: 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.acopio-ficha__kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.65rem;
}
.acopio-ficha__kpi {
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.acopio-ficha__kpi-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.25rem;
}
.acopio-ficha__kpi-val {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #1e293b;
}
.acopio-ficha__kpi-sub {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #64748b;
}
.acopio-callout {
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #78350f;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-left: 4px solid #f59e0b;
}
.acopio-ficha__section-title {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.acopio-insights__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.65rem;
}
.acopio-insight {
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.acopio-insight__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  margin-bottom: 0.2rem;
}
.acopio-insight__val {
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
}
.acopio-insight__sub {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #64748b;
}
.acopio-cuentas__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.acopio-cuenta-card {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.acopio-cuenta-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.82rem;
}
.acopio-cuenta-card__badge {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
}
.acopio-cuenta-card__badge--p { background: #e0e7ff; color: #3730a3; }
.acopio-cuenta-card__badge--a { background: #d1fae5; color: #065f46; }
.acopio-cuenta-card__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.acopio-cuenta-stat {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid #f1f5f9;
  border-right: 1px solid #f1f5f9;
}
.acopio-cuenta-stat:nth-child(2n) { border-right: none; }
.acopio-cuenta-stat:nth-last-child(-n+2) { border-bottom: none; }
.acopio-cuenta-stat__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
  margin-bottom: 0.15rem;
}
.acopio-cuenta-stat__val {
  display: block;
  font-size: 0.88rem;
  font-weight: 650;
  color: #1e293b;
}
.acopio-cuenta-stat__val--money { font-variant-numeric: tabular-nums; }
.acopio-cuenta-stat__warn {
  font-size: 0.72rem;
  font-weight: 600;
  color: #d97706;
}
.acopio-cuentas-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.acopio-cuentas-detail h4 {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 650;
  color: #475569;
}
.acopio-ficha__footnote {
  margin: 0.65rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.acopio-ficha__footer {
  padding: 0.65rem 1.35rem;
  font-size: 0.75rem;
  color: #94a3b8;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
.acopio-circuito__intro {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #475569;
}
.acopio-circuito__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #eff6ff;
  color: #1e40af;
  margin-bottom: 0.75rem;
}
.acopio-circuito__tag--muted { background: #f1f5f9; color: #64748b; }
.acopio-circuito__tag code { font-size: 0.72rem; }
.acopio-circuito__subtitle {
  margin: 1rem 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}
.acopio-circuito-table { font-size: 0.82rem; }
.acopio-circuito-table .num { text-align: right; white-space: nowrap; }
.acopio-circuito-table code { font-size: 0.78rem; }

.acopio-saldo {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius);
  background: var(--mc-bg-inset);
}
.acopio-saldo__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.acopio-saldo__head h3 {
  margin: 0 0 0.2rem;
  font-size: 0.95rem;
}
.acopio-saldo__subhead {
  margin: 0 0 0.5rem;
  font-size: 0.88rem;
  font-weight: 600;
}
.acopio-saldo-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.acopio-saldo-kpi {
  padding: 0.65rem 0.75rem;
  border-radius: var(--mc-radius-sm);
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
}
.acopio-saldo-kpi--total {
  border-color: var(--mc-primary-muted, var(--mc-border));
}
.acopio-saldo-kpi__label {
  display: block;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  margin-bottom: 0.25rem;
}
.acopio-saldo-kpi__val {
  display: block;
  font-size: 1.05rem;
}
.acopio-saldo-kpi__val--ok { color: var(--mc-success); }
.acopio-saldo-kpi__val--warn { color: var(--mc-warning); }
.acopio-saldo-table-wrap {
  margin-top: 0.75rem;
  overflow-x: auto;
}
.acopio-saldo-table { font-size: 0.82rem; }
.acopio-saldo-table .num { text-align: right; white-space: nowrap; }

.acopio-disclosure {
  margin-top: 0.85rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-bg-inset);
  overflow: hidden;
}
.acopio-disclosure__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.65rem 0.85rem;
  cursor: pointer;
  list-style: none;
  font-size: 0.84rem;
  user-select: none;
}
.acopio-disclosure__summary::-webkit-details-marker { display: none; }
.acopio-disclosure__summary::before {
  content: "▸";
  margin-right: 0.45rem;
  color: var(--mc-text-muted);
  transition: transform 0.15s ease;
}
.acopio-disclosure[open] > .acopio-disclosure__summary::before {
  transform: rotate(90deg);
}
.acopio-disclosure__title {
  font-weight: 650;
  color: var(--mc-heading);
}
.acopio-disclosure__meta {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.acopio-disclosure__body {
  padding: 0 0.85rem 0.85rem;
  border-top: 1px solid var(--mc-border);
  background: var(--mc-white);
}
.acopio-disclosure__body .acopio-saldo-table-wrap { margin-top: 0.65rem; }
.acopio-disclosure__hint { margin: 0.5rem 0 0; font-size: 0.78rem; }

.acopio-pendientes {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-white);
  padding: 0.85rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.acopio-pendientes--empty { background: var(--mc-bg-inset); }
.acopio-pendientes__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
}
.acopio-pendientes__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.acopio-pendientes__meta {
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.acopio-pendientes__hint { margin: 0; font-size: 0.78rem; }
.acopio-refs {
  margin: 0.65rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.82rem;
  color: var(--mc-text);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* Despacho por artículo — vista compacta */
.acopio-articulos { display: flex; flex-direction: column; gap: 0.85rem; }
.acopio-articulos__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.acopio-articulos__stat {
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  text-align: center;
}
.acopio-articulos__stat--accent {
  background: #eff6ff;
  border-color: #bfdbfe;
}
.acopio-articulos__stat-val {
  display: block;
  font-size: 1.05rem;
  font-weight: 750;
  color: #1e293b;
  line-height: 1.2;
}
.acopio-articulos__stat--accent .acopio-articulos__stat-val { color: #1e40af; }
.acopio-articulos__stat-label {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.65rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}
.acopio-articulos__top-title {
  margin: 0 0 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}
.acopio-art-row {
  padding: 0.55rem 0;
  border-bottom: 1px solid #f1f5f9;
}
.acopio-art-row:last-child { border-bottom: none; }
.acopio-art-row__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.15rem;
}
.acopio-art-row__code {
  flex: 1;
  min-width: 0;
  font-size: 0.84rem;
  font-weight: 700;
  color: #1e40af;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.acopio-art-row__qty {
  font-size: 0.88rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #1e293b;
  white-space: nowrap;
}
.acopio-art-row__pct {
  font-size: 0.72rem;
  font-weight: 650;
  color: #64748b;
  font-variant-numeric: tabular-nums;
  min-width: 2.75rem;
  text-align: right;
}
.acopio-art-row__desc {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.35;
  margin-bottom: 0.35rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.acopio-art-row__bar {
  height: 4px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.acopio-art-row__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.acopio-art-row__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-bottom: 0.35rem;
}
.acopio-art-chip {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
}
.acopio-art-chip--saldo { background: #ecfdf5; color: #065f46; }
.acopio-articulos__rest {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: #fafbfd;
}
.acopio-articulos__rest-summary {
  padding: 0.6rem 0.85rem;
  font-size: 0.82rem;
  font-weight: 650;
  color: #475569;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.acopio-articulos__rest-summary::-webkit-details-marker { display: none; }
.acopio-articulos__rest-summary::before {
  content: "▸ ";
  color: #94a3b8;
}
.acopio-articulos__rest[open] > .acopio-articulos__rest-summary::before { content: "▾ "; }
.acopio-articulos__rest-body {
  padding: 0 0.85rem 0.85rem;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}
.acopio-articulos__search-wrap { display: block; margin: 0.65rem 0 0.5rem; }
.acopio-articulos__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.acopio-articulos__search {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.82rem;
  background: #fff;
}
.acopio-articulos__search:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.acopio-articulos__list {
  max-height: 16rem;
  overflow-y: auto;
  padding-right: 0.15rem;
}
.acopio-art-row--list { padding: 0.45rem 0; }
.acopio-articulos__empty {
  margin: 0.5rem 0 0;
  font-size: 0.78rem;
  color: #64748b;
  text-align: center;
}
.acopio-articulos__empty.hidden { display: none; }

.acopio-gestion__intro {
  margin: 0 0 1rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.acopio-gestion-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.acopio-gestion-form__block {
  margin: 0;
  padding: 0.85rem 1rem 1rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-bg-inset);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.75rem 1rem;
  align-items: end;
}
.acopio-gestion-form__block legend {
  grid-column: 1 / -1;
  padding: 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.acopio-gestion-form .field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0;
  min-width: 0;
}
.acopio-gestion-form .field--full { grid-column: 1 / -1; }
.acopio-gestion-form .field--wide { grid-column: span 2; }
@media (max-width: 640px) {
  .acopio-gestion-form .field--wide { grid-column: 1 / -1; }
}
.acopio-gestion-form .field__label {
  font-size: 0.72rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
}
.acopio-gestion-form .field__hint {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.acopio-gestion-form textarea,
.acopio-gestion-form input,
.acopio-gestion-form select {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  font: inherit;
  font-size: 0.88rem;
  background: var(--mc-white);
  color: var(--mc-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.acopio-gestion-form textarea {
  min-height: 4.5rem;
  resize: vertical;
  line-height: 1.45;
}
.acopio-gestion-form textarea:focus,
.acopio-gestion-form input:focus,
.acopio-gestion-form select:focus {
  outline: none;
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-primary) 18%, transparent);
}
.acopio-gestion-form__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.15rem;
}
.acopio-saldo-kpis--inline { margin-top: 0.5rem; }

.card--nested {
  border: 1px solid var(--mc-border);
  box-shadow: none;
}
.card--nested .card__head {
  padding: 0.65rem 1rem;
  background: var(--mc-bg-inset);
}
.card--nested .card__head h3 {
  margin: 0;
  font-size: 0.88rem;
}
.ficha-dl--compact .ficha-dl__row { padding: 0.35rem 0; }

.compose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.compose-panel {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: var(--radius);
  padding: 1rem 1.15rem;
  box-shadow: var(--shadow);
}
.compose-panel--full { grid-column: 1 / -1; }
.compose-panel--actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.compose-panel__label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mc-text-muted);
  margin-bottom: 0.65rem;
}
.compose-panel--fin { border-top: 3px solid #6b7c8f; }
.compose-panel--aco { border-top: 3px solid var(--mc-success); }

/* ─── Armar pedido ─── */
.pedido-screen { width: 100%; max-width: none; }
.pedido-screen .content {
  background: color-mix(in srgb, var(--mc-primary) 3%, var(--mc-surface));
}
.pedido-top {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
  align-items: stretch;
}
.pedido-top__hint {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.84rem;
  color: var(--mc-text-muted);
}
.pedido-search-card {
  --pedido-accent: var(--mc-primary);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--pedido-accent) 11%, var(--mc-white)), var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 26%, var(--mc-border));
  border-radius: 12px;
  padding: 0.85rem 1rem 1rem;
  box-shadow: var(--shadow), inset 3px 0 0 var(--pedido-accent);
}
.pedido-search-card__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mc-text-muted);
  margin-bottom: 0.45rem;
}
.pedido-search-card .search-combobox { max-width: none; width: 100%; }
.pedido-client-banner {
  --pedido-accent: var(--mc-primary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-top: 0;
  padding: 0.75rem 1rem;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pedido-accent) 10%, var(--mc-banner-tint)) 0%, var(--mc-bg-inset) 100%);
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 28%, var(--mc-banner-border));
  border-radius: 10px;
  height: 100%;
  box-sizing: border-box;
  box-shadow: var(--shadow), inset 3px 0 0 var(--pedido-accent);
}
.pedido-client-banner.hidden { display: none; }
.pedido-client-banner__main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 0;
}
.pedido-client-banner__main strong {
  font-size: 0.95rem;
  color: var(--mc-heading);
}
.pedido-client-banner__code {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mc-primary);
  background: var(--mc-code-badge-bg);
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
}
.pedido-client-banner__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.pedido-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--mc-combobox-clear-bg);
  color: var(--mc-heading);
}
.pedido-pill--muted { background: transparent; color: var(--mc-text-muted); font-weight: 500; }
.pedido-pill--draft { background: #fef3c7; color: #92400e; }

.pedido-empty,
.pedido-loading {
  text-align: center;
  padding: 2.5rem 1.5rem;
  background: var(--mc-white);
  border: 1px dashed var(--mc-border);
  border-radius: 12px;
  color: var(--mc-text-muted);
}
.pedido-empty__icon {
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: center;
}
.pedido-empty__icon .mc-icon { opacity: 0.75; }
.pedido-empty__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.pedido-empty__text { margin: 0; font-size: 0.85rem; max-width: 28rem; margin-inline: auto; }
.pedido-loading { font-size: 0.88rem; }
.pedido-loading__spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #cbd5e1;
  border-top-color: var(--mc-primary);
  border-radius: 50%;
  margin-right: 0.45rem;
  vertical-align: -2px;
  animation: pedido-spin 0.7s linear infinite;
}
@keyframes pedido-spin { to { transform: rotate(360deg); } }

.pedido-layout {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  width: 100%;
}
.pedido-context-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.pedido-context {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pedido-context-card {
  --pedido-accent: #6b7c8f;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--pedido-accent) 9%, var(--mc-white)), var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 22%, var(--mc-border));
  border-radius: 10px;
  padding: 0.42rem 0.6rem 0.45rem;
  box-shadow: var(--shadow), inset 3px 0 0 var(--pedido-accent);
}
.pedido-context-card--fin { --pedido-accent: #6b7c8f; }
.pedido-context-card--aco { --pedido-accent: var(--mc-success); }
.pedido-context-card--log { --pedido-accent: #5a9fd4; }
.pedido-context-card__head {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.25rem;
  min-width: 0;
}
.pedido-context-card__icon {
  display: flex;
  align-items: center;
  line-height: 1;
  flex-shrink: 0;
  color: var(--mc-primary-dark);
}
.pedido-context-card__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.2;
}
.pedido-semaforo-pill {
  display: inline-block;
  margin: 0;
  padding: 0.08rem 0.38rem;
  border-radius: 999px;
  font-size: 0.56rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-width: 1px;
  border-style: solid;
  width: auto;
  height: auto;
  flex-shrink: 0;
  line-height: 1.25;
}
.pedido-semaforo-pill.semaforo--ok { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.pedido-semaforo-pill.semaforo--warn { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.pedido-semaforo-pill.semaforo--crit { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.pedido-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.18rem 0.45rem;
  margin: 0;
}
.pedido-stat-grid--row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pedido-stat { min-width: 0; }
.pedido-stat dt {
  margin: 0;
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  line-height: 1.15;
}
.pedido-stat dd {
  margin: 0.02rem 0 0;
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.pedido-context-card__body {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.25;
  color: var(--mc-text);
  min-width: 0;
}
.pedido-context-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  min-width: 0;
}
.pedido-context-card__row .pedido-context-card__body {
  flex: 1 1 auto;
}
.pedido-context-card__row .btn--sm {
  flex-shrink: 0;
  padding: 0.18rem 0.42rem;
  font-size: 0.66rem;
  line-height: 1.2;
  min-height: 0;
}
.pedido-context-card__foot,
.pedido-context-card__note {
  margin: 0.18rem 0 0;
  font-size: 0.66rem;
  color: var(--mc-text-muted);
  line-height: 1.2;
}
.pedido-context-card--fin .pedido-context-card__foot {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pedido-context-card--placeholder .pedido-context-card__note {
  margin-top: 0.15rem;
}
.pedido-context-card--placeholder {
  opacity: 0.92;
}
.pedido-layout--skeleton .pedido-context-card--placeholder dd,
.pedido-layout--skeleton .pedido-semaforo-pill.semaforo--muted {
  color: var(--mc-text-muted);
}
.pedido-tango-summary--placeholder .pedido-tango-summary__hint {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
}
.pedido-historial--skeleton .pedido-historial__empty {
  margin: 0;
}
.pedido-layout--loading .pedido-main {
  opacity: 1;
}
.pedido-context-strip--loading {
  position: relative;
  opacity: 0.55;
  pointer-events: none;
}
.pedido-layout--loading #pedido-historial-host {
  opacity: 0.7;
}

.pedido-main {
  --pedido-accent: var(--mc-primary);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pedido-accent) 7%, var(--mc-white)) 0%, var(--mc-white) 4rem);
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 30%, var(--mc-border));
  border-radius: 12px;
  padding: 0.85rem 1rem 0;
  box-shadow: var(--shadow), inset 4px 0 0 var(--pedido-accent);
  min-width: 0;
  width: 100%;
  overflow: visible;
}
.pedido-crm-edit-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  margin: -0.35rem 0 0.65rem;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--mc-accent) 12%, var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--mc-accent) 28%, var(--mc-border));
  font-size: 0.8125rem;
  color: var(--mc-text);
}
.pedido-crm-edit-banner strong {
  font-weight: 600;
}
.pedido-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
  margin-bottom: 0.75rem;
  overflow: visible;
}
.pedido-toolbar__cond-row {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
  min-width: 0;
}
.pedido-toolbar .pedido-draft-meta {
  margin-bottom: 0;
  flex: 1.45 1 26rem;
  min-width: min(100%, 22rem);
  flex-wrap: wrap;
  padding: 0.55rem 0.7rem 0.65rem;
  align-content: flex-start;
  gap: 0.5rem 0.55rem;
}
.pedido-toolbar .pedido-draft-dto {
  margin-bottom: 0;
  flex: 0.95 1 15rem;
  min-width: min(100%, 13.5rem);
  max-width: 100%;
  align-self: stretch;
  overflow: hidden;
}
/* Flex item real = #pedido-tango-summary (wrapper); el aside va adentro */
.pedido-toolbar #pedido-tango-summary {
  flex: 0.85 1 10.5rem;
  margin: 0;
  min-width: min(100%, 9.25rem);
  max-width: 100%;
  align-self: stretch;
  display: flex;
}
.pedido-toolbar #pedido-tango-summary .pedido-tango-summary {
  flex: 1 1 auto;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.pedido-toolbar__search {
  flex: 1 1 100%;
  max-width: none;
  min-width: min(100%, 18rem);
  align-self: flex-end;
  overflow: visible;
  padding: 0.55rem 0.65rem 0.65rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--mc-primary) 5%, var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 20%, var(--mc-border));
  box-shadow: inset 0 3px 0 var(--mc-primary);
}
.pedido-art-search-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
}
.pedido-art-search-row .pedido-field--search {
  flex: 1 1 16rem;
  min-width: min(100%, 14rem);
  max-width: 28rem;
}
.pedido-art-filters {
  flex: 1 1 12rem;
  min-width: min(100%, 11rem);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.pedido-art-filters__label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.pedido-art-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.pedido-art-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.55rem 0.28rem 0.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
  background: var(--mc-white);
  color: var(--mc-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}
.pedido-art-filter:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--mc-primary) 45%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-primary) 6%, var(--mc-white));
}
.pedido-art-filter:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.pedido-art-filter__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, var(--mc-text-muted) 45%, var(--mc-border));
  color: transparent;
  flex-shrink: 0;
  transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}
.pedido-art-filter--on {
  border-color: color-mix(in srgb, var(--mc-primary) 55%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-primary) 10%, var(--mc-white));
  color: var(--mc-heading);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--mc-primary) 12%, transparent);
}
.pedido-art-filter--on .pedido-art-filter__check {
  border-color: var(--mc-primary);
  background: var(--mc-primary);
  color: #fff;
}
.pedido-art-filter__label {
  white-space: nowrap;
}
.pedido-toolbar__search .search-combobox,
.pedido-search-card .search-combobox,
.pedido-field .search-combobox {
  flex: none;
  width: 100%;
  max-width: none;
  height: auto;
}
.pedido-field--search {
  width: 100%;
  margin-bottom: 0;
}
.pedido-main__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.65rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
}
.pedido-main__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.pedido-main__sub {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.pedido-main__head-meta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}
.pedido-tc-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: min(100%, 24rem);
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  font-size: 0.72rem;
  line-height: 1.25;
  color: var(--mc-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pedido-tc-chip__label {
  font-weight: 600;
  color: var(--mc-text-muted);
  flex-shrink: 0;
}
.pedido-tc-chip__val {
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pedido-field {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 0;
}
.pedido-field--wide { grid-column: span 2; }
.pedido-field--search { margin-bottom: 0; }
.pedido-field__label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
}
.pedido-field__input,
.pedido-lines__select,
.pedido-lines__cell-input {
  width: 100%;
  min-width: 0;
  padding: 0.42rem 0.55rem;
  font: inherit;
  font-size: 0.82rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-input-bg);
  color: var(--mc-text);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pedido-field__input--num {
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pedido-field__input--num::-webkit-inner-spin-button,
.pedido-field__input--num::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pedido-field__input--precio-neto {
  text-align: right;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
.pedido-field__input:focus,
.pedido-lines__select:focus {
  outline: none;
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(46, 125, 95, 0.12);
}
.pedido-field__input--readonly {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-bg-inset);
  color: var(--mc-heading);
  cursor: help;
  border-color: var(--mc-border);
  box-shadow: none;
}
.pedido-field__input--invalid {
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.15);
}
.pedido-field__corte-na {
  color: var(--mc-text-faint, #cbd5e1);
  font-weight: 500;
}
.pedido-field__um {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.pedido-art-search-wrap { margin-bottom: 0; max-width: 100%; }
.pedido-toolbar .pedido-art-search-wrap { margin-bottom: 0; }
.pedido-art-search-wrap .search-combobox { max-width: 100%; width: 100%; }
.pedido-art-search-wrap .search-combobox__panel {
  --search-combobox-visible-rows: 6;
}
.pedido-art-search-wrap .search-combobox__option-sub {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.25;
}
.pedido-art-search-wrap .search-combobox__option-stock {
  white-space: pre-line;
  text-align: right;
}

.pedido-items-body {
  margin-top: 0.35rem;
  padding: 0.55rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 14%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-primary) 3%, var(--mc-bg-inset));
}

.pedido-draft-meta {
  --pedido-accent: var(--mc-primary);
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  padding: 0.65rem 0.75rem;
  background: color-mix(in srgb, var(--pedido-accent) 6%, var(--mc-bg-inset));
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 22%, var(--mc-border));
  box-shadow: inset 3px 0 0 var(--pedido-accent);
}
.pedido-draft-meta__title {
  flex: 1 1 100%;
  margin: 0 0 0.1rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mc-text-muted);
}
.pedido-draft-meta .pedido-field {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}
.pedido-draft-meta .pedido-field__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
  line-height: 1.2;
}
.pedido-draft-meta__field {
  min-width: 6.5rem;
  flex: 1 1 6.5rem;
  max-width: 11.5rem;
}
.pedido-draft-meta__field--tipo {
  flex: 0.9 1 6.25rem;
  min-width: 6rem;
  max-width: 9.5rem;
}
.pedido-draft-meta__field--cond {
  flex: 1.05 1 7rem;
  min-width: 6.75rem;
  max-width: 10.5rem;
}
.pedido-draft-meta__field--cond .pedido-field__label {
  white-space: nowrap;
}
.pedido-draft-meta__field--lista {
  flex: 1.15 1 8.5rem;
  min-width: 7.5rem;
  max-width: 13rem;
}
.pedido-lista-select--grouped optgroup {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  letter-spacing: 0.02em;
}
.pedido-lista-select--grouped option.pedido-lista-opt--otra {
  color: var(--mc-text-muted);
  font-weight: 400;
}
.pedido-lista-select--grouped option:not(.pedido-lista-opt--otra) {
  color: var(--mc-text);
  font-weight: 500;
}
.pedido-draft-meta__field--fecha {
  flex: 1.1 1 8rem;
  min-width: 7.75rem;
  max-width: 12rem;
}
.pedido-draft-meta .pedido-field__input--readonly {
  display: block;
  justify-content: flex-start;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
  min-height: 2.35rem;
}
.pedido-draft-meta .pedido-lines__select {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pedido-draft-meta__field--fc-acopio {
  flex: 1.5 1 12rem;
  min-width: 10rem;
  max-width: 18rem;
}
.pedido-draft-meta__field--fc-acopio .pedido-field__input--readonly {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.pedido-draft-meta__field--transporte {
  flex: 0 1 auto;
  min-width: 5.5rem;
  max-width: 13rem;
  width: max-content;
}
.pedido-draft-meta__field--transporte .pedido-field__input--readonly {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  min-height: 2.35rem;
  max-width: 13rem;
  display: flex;
  align-items: center;
  width: max-content;
  min-width: 4.5rem;
}
.pedido-lines__total-usd {
  display: block;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  margin-bottom: 0.15rem;
}
.pedido-draft-meta__field input[type="date"] {
  min-width: 0;
  width: 100%;
}

.pedido-draft-dto {
  --pedido-accent: var(--mc-accent);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.55rem 0.65rem 0.65rem;
  background: color-mix(in srgb, var(--pedido-accent) 7%, var(--mc-bg-inset));
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 24%, var(--mc-border));
  box-shadow: inset 3px 0 0 var(--pedido-accent);
  min-width: 0;
}
.pedido-draft-dto__head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  min-width: 0;
}
.pedido-draft-dto__head-text {
  min-width: 0;
  flex: 0 1 auto;
}
.pedido-draft-dto__title {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mc-text-muted);
}
.pedido-draft-dto__hint {
  margin: 0.1rem 0 0;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.25;
}
.pedido-draft-dto__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.4rem 0.5rem;
  min-width: 0;
}
.pedido-dto-chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.3rem;
  align-items: center;
  flex: 0 0 auto;
}
.pedido-dto-chip {
  min-width: 2.85rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-input-bg);
  color: var(--mc-text-muted);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: lowercase;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}
.pedido-dto-chip:hover {
  border-color: var(--mc-primary);
  color: var(--mc-heading);
}
.pedido-dto-chip--on {
  background: var(--mc-primary);
  border-color: var(--mc-primary);
  color: var(--mc-on-primary);
  box-shadow: 0 4px 14px rgba(88, 175, 145, 0.35);
}
.pedido-dto-chip--on:hover {
  background: var(--mc-primary-dark);
  border-color: var(--mc-primary-dark);
  color: var(--mc-on-primary);
}
.pedido-draft-dto--busy {
  opacity: 0.72;
  pointer-events: none;
}
.pedido-draft-dto--busy .pedido-dto-chip,
.pedido-draft-dto--busy #pedido-dto-extra,
.pedido-draft-dto--busy #pedido-dto-general {
  cursor: wait;
}
.pedido-draft-dto__extra {
  width: 4.25rem;
  flex: 0 0 auto;
}
.pedido-draft-dto__general {
  width: 6.5rem;
  flex: 0 0 auto;
}
.pedido-draft-dto__total {
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--mc-primary-dark);
  padding: 0.4rem 0.1rem;
  white-space: nowrap;
}
.pedido-dto-edit-btn {
  flex: 0 0 auto;
  margin: 0;
  margin-left: 0.15rem;
  padding: 0.28rem 0.42rem;
  border: 1px solid rgba(88, 175, 145, 0.45);
  border-radius: 8px;
  background: rgba(88, 175, 145, 0.08);
  color: var(--mc-primary-dark);
  font: inherit;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.pedido-draft-dto__head .pedido-dto-edit-btn {
  margin-top: 0;
}
.pedido-dto-edit-btn:hover {
  background: rgba(88, 175, 145, 0.16);
  border-color: var(--mc-primary);
  color: var(--mc-heading);
}
.pedido-field__input--dto-manual {
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.12);
}

/* Modal editar descuentos (cascada + subnegocio) */
.pedido-dto-edit-panel {
  width: min(640px, 100%);
  max-height: min(92vh, 820px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.pedido-dto-edit-tabs {
  display: flex;
  gap: 0.15rem;
  padding: 0 1.25rem;
  border-bottom: 1px solid var(--mc-border);
  flex-shrink: 0;
}
.pedido-dto-edit-tabs .tab {
  border: none;
  background: transparent;
  padding: 0.65rem 0.85rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.pedido-dto-edit-tabs .tab:hover { color: var(--mc-heading); }
.pedido-dto-edit-tabs .tab.active {
  color: var(--mc-primary-dark);
  border-bottom-color: var(--mc-primary);
}
.pedido-dto-edit-panel-hint {
  margin: 0 0 0.85rem;
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.pedido-dto-edit-panel-hint--muted { margin-top: 0.75rem; margin-bottom: 0; font-size: 0.75rem; }
.pedido-dto-subnego-table-wrap {
  max-height: min(48vh, 360px);
  overflow: auto;
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-white);
}
.pedido-dto-subnego-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.pedido-dto-subnego-table th,
.pedido-dto-subnego-table td {
  padding: 0.55rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--mc-border);
}
.pedido-dto-subnego-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  position: sticky;
  top: 0;
  z-index: 1;
}
.pedido-dto-subnego-table__pct { width: 7.5rem; text-align: right; }
.pedido-dto-subnego-table td.pedido-dto-subnego-table__pct { text-align: right; }
.pedido-dto-subnego-table tbody tr:last-child td { border-bottom: none; }
.pedido-dto-subnego-table__label {
  font-weight: 600;
  color: var(--mc-heading);
}
.pedido-dto-subnego-table__key {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--mc-text-muted);
}
.pedido-dto-subnego-table__input {
  width: 5.5rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pedido-dto-edit-head {
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(88, 175, 145, 0.1), transparent 90%);
}
.pedido-dto-edit-head__text { min-width: 0; }
.pedido-dto-edit-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mc-primary-dark);
}
.pedido-dto-edit-head h2 {
  margin: 0;
  font-size: 1.12rem;
  color: var(--mc-heading);
}
.pedido-dto-edit-sub {
  margin: 0.3rem 0 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.pedido-dto-edit-body {
  padding-top: 1rem;
  flex: 1 1 auto;
  overflow: auto;
  min-height: 0;
}
.pedido-dto-edit-slots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.pedido-dto-edit-slot {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.7rem 0.65rem 0.75rem;
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-bg-inset);
  cursor: text;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pedido-dto-edit-slot:focus-within {
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(46, 125, 95, 0.12);
  background: var(--mc-white);
}
.pedido-dto-edit-slot__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  font-size: 0.72rem;
  font-weight: 700;
}
.pedido-dto-edit-slot__label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-text-muted);
}
.pedido-dto-edit-slot__input-wrap {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.pedido-dto-edit-slot__input-wrap .pedido-field__input {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.05rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: center;
  padding: 0.45rem 0.35rem;
}
.pedido-dto-edit-slot__suffix {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--mc-primary-dark);
}
.pedido-dto-edit-preview-card {
  margin-top: 0.9rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(88, 175, 145, 0.35);
  background: linear-gradient(135deg, rgba(88, 175, 145, 0.12), rgba(88, 175, 145, 0.04));
}
.pedido-dto-edit-preview-card__main {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}
.pedido-dto-edit-preview-card__label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-text-muted);
}
.pedido-dto-edit-preview-card__value {
  font-size: 1.35rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--mc-primary-dark);
  letter-spacing: -0.02em;
}
.pedido-dto-edit-preview-card__formula {
  margin: 0.4rem 0 0;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
  word-break: break-word;
}
.pedido-dto-edit-foot {
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.pedido-dto-edit-foot__actions {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}
.btn--ghost-light {
  background: transparent;
  color: var(--mc-text-muted);
  border: 1px solid var(--mc-border);
}
.btn--ghost-light:hover {
  background: var(--mc-bg-hover);
  color: var(--mc-heading);
  border-color: var(--mc-border);
}
@media (max-width: 520px) {
  .pedido-dto-edit-slots { grid-template-columns: 1fr; }
  .pedido-draft-dto__row { flex-wrap: wrap; }
}

.pedido-tango-summary {
  --pedido-accent: var(--mc-navy);
  box-sizing: border-box;
  padding: 0.55rem 0.75rem 0.65rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 18%, var(--mc-border));
  background: color-mix(in srgb, var(--pedido-accent) 4%, var(--mc-bg-inset));
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--pedido-accent) 72%, #5a9fd4);
  min-width: 0;
}
.pedido-tango-summary__title {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mc-text-muted);
}
.pedido-tango-summary__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  align-items: center;
}
.pedido-tango-legend-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.pedido-tango-legend-item code {
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.06rem 0.32rem;
  border-radius: 4px;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  color: var(--mc-heading);
}
.pedido-tango-legend-item em {
  font-style: normal;
  font-size: 0.68rem;
  opacity: 0.72;
}
.pedido-tango-legend-item--z code {
  border-color: rgba(0, 72, 135, 0.18);
  color: var(--mc-primary);
}
.pedido-tango-legend-item--acopio code {
  border-color: rgba(180, 83, 9, 0.28);
  color: #9a5b00;
}
.pedido-tango-summary__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.pedido-tango-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.pedido-tango-chip--acopio {
  border-color: rgba(180, 83, 9, 0.35);
  background: #fff8eb;
  color: #9a5b00;
}
.pedido-tango-chip--z {
  border-color: rgba(0, 72, 135, 0.2);
  background: rgba(0, 72, 135, 0.06);
  color: var(--mc-primary);
}
.pedido-tango-summary__warn {
  margin: 0.45rem 0 0;
  font-size: 0.74rem;
  color: var(--mc-warning, #b45309);
  line-height: 1.35;
}
.pedido-field--cuenta { min-width: 0; }
.pedido-line-card__cuenta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.45rem;
  min-width: 3.15rem;
  padding: 0 0.32rem;
  border-radius: 6px;
  border: 1px solid var(--mc-border);
  background: var(--mc-bg-subtle);
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: 0.01em;
  box-sizing: border-box;
}
.pedido-line-card__end {
  grid-area: total;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  min-width: 0;
}
.pedido-line-card__cuenta-col {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.pedido-line-card__cuenta--acopio {
  border-color: rgba(180, 83, 9, 0.35);
  background: #fff8eb;
  color: #9a5b00;
}
.pedido-line-card__cuenta--z {
  border-color: rgba(0, 72, 135, 0.2);
  background: rgba(0, 72, 135, 0.06);
  color: var(--mc-primary);
}
.pedido-line-card__cuenta--warn {
  border-color: rgba(217, 119, 6, 0.35);
  color: var(--mc-warning, #b45309);
}

.pedido-lines-table-scroll {
  min-width: 0;
}

.pedido-line-card__art-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  width: 100%;
}

.pedido-lines-head {
  display: none;
}
.pedido-lines-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.pedido-line-card {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  padding: 0.75rem 0.85rem;
  background: var(--mc-white);
  transition: border-color 0.15s, box-shadow 0.15s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "art total"
    "fields fields"
    "stock stock";
  gap: 0.55rem 0.65rem;
}
.pedido-line-card:hover {
  border-color: var(--mc-border);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.pedido-line-card__art { grid-area: art; min-width: 0; }
.pedido-line-card__total {
  grid-area: total;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.35rem;
}
.pedido-line-card__fields {
  grid-area: fields;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem 0.65rem;
}
.pedido-line-card__stock {
  grid-area: stock;
  align-self: center;
  color: var(--mc-text-muted);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}
.pedido-line-card__stock--empty {
  color: var(--mc-text-faint, #cbd5e1);
  text-align: center;
}
.pedido-line-card__stock::before {
  content: "Stock · ";
  font-weight: 600;
}
.pedido-line-card__sub {
  align-self: center;
  font-size: 0.92rem;
  color: var(--mc-navy);
  white-space: nowrap;
}
.pedido-line-card__code {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.pedido-line-card__desc {
  display: block;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--mc-navy);
  line-height: 1.35;
}
.pedido-line-card__subnego {
  display: inline-block;
  margin-top: 0.28rem;
  padding: 0.12rem 0.4rem;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--mc-text-muted);
  background: rgba(15, 23, 42, 0.05);
  border: 1px solid var(--mc-border, #e2e8f0);
}
.pedido-line-card__subnego--dto {
  color: #9a3412;
  background: rgba(234, 88, 12, 0.1);
  border-color: rgba(234, 88, 12, 0.28);
}
.pedido-line-card__remove {
  border: none;
  background: var(--mc-combobox-clear-bg);
  color: var(--mc-text-muted);
  width: 28px;
  height: 28px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  flex-shrink: 0;
}
.pedido-line-card__remove:hover { background: #fee2e2; color: #b91c1c; }
.pedido-line-card__lista {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  color: var(--mc-text-muted);
}

.pedido-lines-empty {
  padding: 0.75rem 1rem;
  text-align: center;
  border: 1px dashed var(--mc-border);
  border-radius: 10px;
  background: var(--mc-bg-empty);
}
.pedido-lines-empty p { margin: 0 0 0.35rem; font-size: 0.88rem; color: var(--mc-heading); }
.pedido-lines-empty .ficha-muted { font-size: 0.78rem; }

.pedido-lines__total {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
  padding: 0.75rem 0.85rem;
  background: color-mix(in srgb, var(--mc-primary) 7%, var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
  border-radius: 10px;
  box-shadow: inset 3px 0 0 var(--mc-primary);
}
.pedido-lines__total-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.35rem 1.25rem;
}
.pedido-lines__total-inner--iva,
.pedido-lines__total-inner--flete {
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem 0.75rem;
}
.pedido-lines__total-breakdown {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
  width: 100%;
  max-width: 280px;
  padding-top: 0.15rem;
  border-top: 1px dashed var(--mc-border);
}
.pedido-lines__total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}
.pedido-lines__total-sub {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.pedido-lines__total-main {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.pedido-lines__desc-total { font-size: 0.78rem; color: var(--mc-text-muted); }
.pedido-lines__desc-total strong { font-weight: 600; color: var(--mc-heading); }
.pedido-lines__total-label { font-size: 0.82rem; color: var(--mc-text-muted); }
.pedido-lines__total-val { font-size: 1.15rem; color: var(--mc-heading); }
.pedido-lines__total-note { font-size: 0.72rem; color: var(--mc-text-muted); }

/* Notebook + PC: líneas en tabla de ancho completo (desde ~1000px viewport) */
@media (min-width: 1000px) {
  .pedido-top {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  }
  .pedido-context-strip {
    grid-template-columns: 1.15fr 0.95fr 0.9fr;
    gap: 0.65rem;
  }

  .pedido-lines-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--mc-border);
    border-radius: 10px;
    background: var(--mc-white);
  }

  .pedido-lines-table {
    --pedido-line-min-w: 1080px;
    --pedido-line-cols:
      minmax(118px, 1.55fr)
      minmax(68px, 0.5fr)
      minmax(70px, 0.46fr)
      minmax(52px, 0.34fr)
      minmax(36px, 0.22fr)
      minmax(44px, 0.28fr)
      minmax(78px, 0.54fr)
      minmax(76px, 0.48fr)
      minmax(52px, 0.3fr)
      minmax(98px, 0.66fr);
  }
  .pedido-lines-table--sin-corte {
    --pedido-line-min-w: 980px;
    --pedido-line-cols:
      minmax(118px, 1.65fr)
      minmax(70px, 0.46fr)
      minmax(52px, 0.34fr)
      minmax(36px, 0.22fr)
      minmax(44px, 0.28fr)
      minmax(78px, 0.54fr)
      minmax(76px, 0.48fr)
      minmax(52px, 0.3fr)
      minmax(98px, 0.66fr);
  }
  .pedido-lines-table--sin-corte .pedido-field--origen { grid-column: 2; }
  .pedido-lines-table--sin-corte .pedido-field--qty { grid-column: 3; }
  .pedido-lines-table--sin-corte .pedido-field--um { grid-column: 4; }
  .pedido-lines-table--sin-corte .pedido-field--desc { grid-column: 5; }
  .pedido-lines-table--sin-corte .pedido-field--precio { grid-column: 6; }
  .pedido-lines-table--sin-corte .pedido-line-card__stock { grid-column: 7; }
  .pedido-lines-table--sin-corte .pedido-line-card__cuenta-col { grid-column: 8; }
  .pedido-lines-table--sin-corte .pedido-line-card__total { grid-column: 9; }

  /* A / Z comercial: sin columna Origen (siempre venta). */
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) {
    --pedido-line-min-w: 1010px;
    --pedido-line-cols:
      minmax(118px, 1.6fr)
      minmax(68px, 0.5fr)
      minmax(52px, 0.34fr)
      minmax(36px, 0.22fr)
      minmax(44px, 0.28fr)
      minmax(78px, 0.54fr)
      minmax(76px, 0.48fr)
      minmax(52px, 0.3fr)
      minmax(98px, 0.66fr);
  }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-field--corte { grid-column: 2; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-field--qty { grid-column: 3; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-field--um { grid-column: 4; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-field--desc { grid-column: 5; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-field--precio { grid-column: 6; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-line-card__stock { grid-column: 7; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-line-card__cuenta-col { grid-column: 8; }
  .pedido-lines-table--sin-origen:not(.pedido-lines-table--sin-corte) .pedido-line-card__total { grid-column: 9; }

  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte {
    --pedido-line-min-w: 900px;
    --pedido-line-cols:
      minmax(118px, 1.75fr)
      minmax(52px, 0.34fr)
      minmax(36px, 0.22fr)
      minmax(44px, 0.28fr)
      minmax(78px, 0.54fr)
      minmax(76px, 0.48fr)
      minmax(52px, 0.3fr)
      minmax(98px, 0.66fr);
  }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-field--qty { grid-column: 2; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-field--um { grid-column: 3; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-field--desc { grid-column: 4; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-field--precio { grid-column: 5; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-line-card__stock { grid-column: 6; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-line-card__cuenta-col { grid-column: 7; }
  .pedido-lines-table--sin-origen.pedido-lines-table--sin-corte .pedido-line-card__total { grid-column: 8; }

  .pedido-lines__origen-readonly {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    font-weight: 600;
    text-align: center;
  }

  .pedido-desacopio-saldo-warn {
    margin: 0.65rem 0 0;
    padding: 0.65rem 0.85rem;
    border-radius: 8px;
    font-size: 0.82rem;
    line-height: 1.45;
  }
  .pedido-desacopio-saldo-warn p { margin: 0; }
  .pedido-desacopio-saldo-warn p + p { margin-top: 0.35rem; }

  .pedido-lines-head {
    display: grid;
    grid-template-columns: var(--pedido-line-cols);
    gap: 0 0.5rem;
    min-width: var(--pedido-line-min-w);
    padding: 0.35rem 0.75rem;
    font-size: 0.64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mc-text-muted);
    background: var(--mc-bg-inset);
    border: none;
    border-bottom: 1px solid var(--mc-border);
    border-radius: 0;
  }
  .pedido-lines-head__col--art { text-align: left; }
  .pedido-lines-head__col--corte { text-align: left; }
  .pedido-lines-head__col--origen { text-align: left; }
  .pedido-lines-head__col--num { text-align: center; }
  .pedido-lines-head__col--money { text-align: right; }
  .pedido-lines-head__col--stock {
    text-align: right;
    padding-inline-end: 0.25rem;
  }
  .pedido-lines-head__col--cuenta {
    text-align: center;
    font-size: 0.62rem;
    letter-spacing: 0.02em;
  }
  .pedido-lines-head__col--money:last-child {
    padding-inline-start: 0.35rem;
  }

  .pedido-lines-list {
    gap: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
  }
  .pedido-line-card {
    grid-template-columns: var(--pedido-line-cols);
    grid-template-areas: none;
    grid-template-rows: auto;
    align-items: center;
    gap: 0 0.5rem;
    min-width: var(--pedido-line-min-w);
    padding: 0.45rem 0.75rem;
    min-height: 2.5rem;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid var(--mc-line-divider);
    box-shadow: none;
  }
  .pedido-line-card:last-child { border-bottom: none; }
  .pedido-line-card:hover {
    background: var(--mc-table-hover);
    box-shadow: none;
  }
  .pedido-line-card__fields { display: contents; }
  .pedido-line-card__art {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    min-width: 0;
    overflow: hidden;
    line-height: 1.15;
  }
  .pedido-line-card__art-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-width: 0;
    width: 100%;
    overflow: hidden;
  }
  .pedido-line-card__desc {
    display: block;
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
    width: 100%;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--mc-navy);
  }
  .pedido-line-card__desc::before {
    content: none;
  }
  .pedido-line-card__code {
    flex: 0 0 auto;
    font-size: 0.71rem;
    font-weight: 500;
    color: var(--mc-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .pedido-line-card__subnego {
    margin-top: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pedido-field--corte .pedido-field__input--corte {
    max-width: 5.75rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
  }
  .pedido-field--corte .pedido-field__corte-na {
    max-width: 5.75rem;
    min-height: 1.85rem;
    font-size: 0.85rem;
  }
  .pedido-field--corte { grid-column: 2; grid-row: 1; }
  .pedido-field--origen { grid-column: 3; grid-row: 1; }
  .pedido-field--qty { grid-column: 4; grid-row: 1; }
  .pedido-field--um { grid-column: 5; grid-row: 1; }
  .pedido-field--desc { grid-column: 6; grid-row: 1; }
  .pedido-field--precio { grid-column: 7; grid-row: 1; }
  .pedido-line-card__stock {
    grid-column: 8;
    grid-row: 1;
    justify-self: stretch;
    align-self: center;
    text-align: right;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: help;
    padding-inline-end: 0.15rem;
  }
  .pedido-line-card__stock--empty {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--mc-text-faint, #cbd5e1);
  }
  .pedido-line-card__stock:not(.pedido-line-card__stock--empty) {
    color: var(--mc-heading);
    font-variant-numeric: tabular-nums;
  }
  .pedido-line-card__end { display: contents; }
  .pedido-line-card__cuenta-col {
    grid-column: 9;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }
  .pedido-line-card__total {
    grid-column: 10;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    padding-inline-start: 0.15rem;
    min-width: 0;
    flex-wrap: nowrap;
  }
  .pedido-field {
    margin: 0;
    min-width: 0;
    align-self: center;
  }
  .pedido-line-card .pedido-field__label { display: none; }
  .pedido-field__input,
  .pedido-lines__select {
    height: 1.85rem;
    min-height: 1.85rem;
    padding: 0.2rem 0.45rem;
    font-size: 0.78rem;
    line-height: 1.2;
  }
  .pedido-field--qty .pedido-field__input,
  .pedido-field--um .pedido-field__input,
  .pedido-field--desc .pedido-field__input {
    text-align: center;
    padding-inline: 0.3rem;
  }
  .pedido-field--desc .pedido-field__input {
    padding-inline-end: 0.35rem;
  }
  .pedido-field--precio .pedido-field__input {
    text-align: right;
  }
  .pedido-field--origen .pedido-lines__select--origen {
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.15rem 1.25rem 0.15rem 0.4rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2394a3b8'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.24a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.2rem center;
    background-size: 0.8rem;
    cursor: pointer;
  }
  .pedido-field--origen .pedido-lines__select--origen:hover {
    border-color: #cbd5e1;
  }
  .pedido-field--precio .pedido-line-card__lista { display: none; }
  .pedido-line-card__stock::before { content: none; }
  .pedido-line-card__sub {
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 1.5rem);
  }
  .pedido-line-card__remove {
    width: 22px;
    height: 22px;
    font-size: 0.95rem;
    flex-shrink: 0;
  }
}

@media (min-width: 1000px) and (max-width: 1399px) {
  .pedido-lines-table {
    --pedido-line-min-w: 1020px;
  }
  .pedido-lines-table--sin-corte {
    --pedido-line-min-w: 940px;
  }
  .pedido-lines-head {
    font-size: 0.6rem;
    padding: 0.32rem 0.65rem;
    gap: 0 0.42rem;
  }
  .pedido-line-card {
    gap: 0 0.42rem;
    padding: 0.4rem 0.65rem;
    min-height: 2.35rem;
  }
  .pedido-field__input,
  .pedido-lines__select {
    height: 1.75rem;
    min-height: 1.75rem;
    font-size: 0.74rem;
  }
  .pedido-line-card__sub {
    font-size: 0.76rem;
  }
}

@media (min-width: 1400px) {
  .pedido-lines-table {
    --pedido-line-min-w: 1120px;
  }
  .pedido-lines-table--sin-corte {
    --pedido-line-min-w: 1020px;
  }
}

.pedido-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0.85rem -1rem 0;
  padding: 0.85rem 1rem;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mc-primary) 8%, var(--mc-surface-muted, #f9fafb)), var(--mc-surface-muted, #f9fafb));
  border-top: 1px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
  box-shadow: inset 0 3px 0 color-mix(in srgb, var(--mc-primary) 40%, transparent);
  border-radius: 0 0 12px 12px;
  width: auto;
}
.pedido-footer__client {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem;
  min-width: 0;
}
.pedido-footer__client strong { font-size: 0.9rem; color: var(--mc-heading); }
.pedido-footer__client span { font-size: 0.78rem; color: var(--mc-text-muted); }
.pedido-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

/* Nota de pedido — vista previa e impresión */
.pedido-nota-modal__panel {
  width: min(920px, 96vw);
  max-height: 94vh;
  overflow: auto;
}
.pedido-nota-modal__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}
.pedido-nota-modal__sub {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  font-weight: 400;
}
.pedido-nota-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.pedido-nota-preview-wrap {
  padding: 1rem;
  background: #e8ecef;
}
.pedido-nota-print-root {
  position: fixed;
  left: -9999px;
  top: 0;
  width: 210mm;
  pointer-events: none;
  opacity: 0;
}

body.pedido-nota-capturing .pedido-nota-print-root {
  left: 0;
  opacity: 1;
  box-shadow: none;
}
body.pedido-nota-capturing .pedido-nota-print-root .pedido-nota {
  box-shadow: none;
}

.pedido-nota {
  --pedido-nota-pad-y: 12mm;
  --pedido-nota-pad-x: 14mm;
  --pedido-nota-font: 9.5pt;
  --pedido-nota-row-pad: 0.42rem 0.55rem;
  --mc-nota-navy: #192f3f;
  --mc-nota-green: #58af91;
  width: 210mm;
  max-width: 100%;
  margin: 0 auto;
  padding: var(--pedido-nota-pad-y) var(--pedido-nota-pad-x);
  background: #fff;
  color: #24303a;
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  font-size: var(--pedido-nota-font);
  line-height: 1.35;
  box-shadow: 0 4px 24px rgba(25, 47, 63, 0.1);
  box-sizing: border-box;
}
.pedido-nota--compact {
  --pedido-nota-font: 8.75pt;
  --pedido-nota-row-pad: 0.28rem 0.45rem;
  --pedido-nota-pad-y: 10mm;
  --pedido-nota-pad-x: 12mm;
}
.pedido-nota--dense {
  --pedido-nota-font: 8pt;
  --pedido-nota-row-pad: 0.18rem 0.38rem;
  --pedido-nota-pad-y: 8mm;
  --pedido-nota-pad-x: 10mm;
}
.pedido-nota--dense .pedido-nota__logo { height: 30px; }
.pedido-nota--dense .pedido-nota__logo--conflex { height: 28px; max-width: 190px; }

/* Circuito Z — comprobante neutro, sin marca Metalconf / Conflex */
.pedido-nota--z {
  --mc-nota-navy: #2d3748;
  --mc-nota-green: #718096;
  border-top: 3px solid #4a5568;
}
.pedido-nota--z .pedido-nota__head {
  margin-top: 0.85rem;
  justify-content: flex-start;
}
.pedido-nota--z .pedido-nota__head-doc {
  text-align: left;
  width: 100%;
}
.pedido-nota--z .pedido-nota__doc-label {
  color: #718096;
  letter-spacing: 0.12em;
}
.pedido-nota--z .pedido-nota__title {
  color: #1a202c;
  font-size: 1.45em;
  letter-spacing: 0.02em;
}
.pedido-nota--z .pedido-nota__accent {
  background: #cbd5e0;
  height: 2px;
  margin-bottom: 0.85rem;
}
.pedido-nota--z .pedido-nota__th {
  background: #4a5568;
}
.pedido-nota--z .pedido-nota__client-name,
.pedido-nota--z .pedido-nota__td--sub {
  color: #2d3748;
}
.pedido-nota--z .pedido-nota__total-row--grand {
  border-top-color: #cbd5e0;
}
.pedido-nota--z .pedido-nota__total-row--grand dt,
.pedido-nota--z .pedido-nota__total-row--grand dd {
  color: #1a202c;
}

.pedido-nota__head-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: calc(-1 * var(--pedido-nota-pad-y)) calc(-1 * var(--pedido-nota-pad-x)) 0;
  padding: 0.9rem 1.15rem;
  background: var(--mc-nota-navy);
  color: #fff;
  border-radius: 0;
}
.pedido-nota__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1rem;
  margin-bottom: 0.65rem;
}
.pedido-nota__logo {
  display: block;
  height: 38px;
  width: auto;
}
.pedido-nota__logo--conflex {
  height: 36px;
  max-width: min(220px, 50vw);
  object-fit: contain;
  object-position: left center;
}
.pedido-nota__tagline {
  margin: 0;
  font-size: 0.82em;
  opacity: 0.92;
  letter-spacing: 0.02em;
  font-weight: 600;
  text-align: right;
}
.pedido-nota__head-doc { text-align: right; width: 100%; }
.pedido-nota__doc-label {
  margin: 0 0 0.15rem;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--mc-nota-green);
  font-weight: 700;
}
.pedido-nota__title {
  margin: 0;
  font-size: 1.55em;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mc-nota-navy);
  line-height: 1.15;
}
.pedido-nota__fecha {
  margin: 0.35rem 0 0;
  font-size: 0.92em;
  color: #5a6a78;
}

.pedido-nota__accent {
  height: 3px;
  border-radius: 2px;
  margin-bottom: 1rem;
  background: linear-gradient(90deg, var(--mc-nota-green) 0%, var(--mc-nota-navy) 100%);
}

.pedido-nota__cards {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.pedido-nota__card {
  padding: 0.75rem 0.85rem;
  border-radius: 8px;
  background: #f7f9fb;
  border: 1px solid #e4eaef;
}
.pedido-nota__card--muted {
  background: #fff;
}
.pedido-nota__card-title {
  margin: 0 0 0.45rem;
  font-size: 0.68em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #7a8794;
  font-weight: 700;
}
.pedido-nota__client-name {
  margin: 0 0 0.45rem;
  font-size: 1.08em;
  font-weight: 700;
  color: var(--mc-nota-navy);
  line-height: 1.25;
}
.pedido-nota__meta-grid {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.75rem;
}
.pedido-nota__meta-grid dt {
  margin: 0;
  font-size: 0.78em;
  color: #7a8794;
  font-weight: 500;
}
.pedido-nota__meta-grid dd {
  margin: 0;
  font-size: 0.92em;
  font-weight: 600;
  color: #24303a;
}
.pedido-nota__meta-grid--cond {
  grid-template-columns: 1fr 1fr;
}
.pedido-nota__meta-grid--wide {
  grid-column: 1 / -1;
}

.pedido-nota__table-wrap {
  margin-bottom: 0.85rem;
  border: 1px solid #e4eaef;
  border-radius: 8px;
  overflow: hidden;
}
.pedido-nota__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.pedido-nota__th,
.pedido-nota__td {
  padding: var(--pedido-nota-row-pad);
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #e8edf2;
}
.pedido-nota__th {
  background: var(--mc-nota-navy);
  color: #fff;
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: none;
}
.pedido-nota__th--num,
.pedido-nota__td--num { width: 2rem; text-align: center; }
.pedido-nota__th--code,
.pedido-nota__td--code { width: 5.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.pedido-nota__th--desc,
.pedido-nota__td--desc { min-width: 8rem; }
.pedido-nota__th--qty,
.pedido-nota__td--qty { width: 3.25rem; text-align: right; white-space: nowrap; }
.pedido-nota__th--um,
.pedido-nota__td--um { width: 2.75rem; text-align: center; white-space: nowrap; }
.pedido-nota__th--corte,
.pedido-nota__td--corte { width: 4.5rem; }
.pedido-nota__th--money,
.pedido-nota__td--money { width: 5.75rem; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pedido-nota__corte-inline { color: #5a6a78; font-size: 0.92em; }
.pedido-nota__td--sub { font-weight: 700; color: var(--mc-nota-navy); }
.pedido-nota tbody tr:nth-child(even) { background: #fafbfc; }
.pedido-nota tbody tr:last-child td { border-bottom: none; }
.pedido-nota tbody tr { break-inside: avoid; page-break-inside: avoid; }

.pedido-nota__foot {
  padding-top: 0.25rem;
}
.pedido-nota__totals {
  margin: 0 0 0.85rem;
  margin-left: auto;
  width: min(100%, 16rem);
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  background: #f7f9fb;
  border: 1px solid #e4eaef;
}
.pedido-nota__total-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.15rem 0;
  font-size: 0.95em;
}
.pedido-nota__total-row dt { margin: 0; font-weight: 500; color: #5a6a78; }
.pedido-nota__total-row dd { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.pedido-nota__total-row--grand {
  margin-top: 0.35rem;
  padding-top: 0.45rem;
  border-top: 2px solid var(--mc-nota-green);
  font-size: 1.12em;
}
.pedido-nota__total-row--grand dt { color: var(--mc-nota-navy); font-weight: 700; }
.pedido-nota__total-row--grand dd { color: var(--mc-nota-navy); font-weight: 800; }

.pedido-nota__legal {
  margin: 0;
  font-size: 0.72em;
  color: #8a959e;
  text-align: center;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .pedido-nota__cards { grid-template-columns: 1fr; }
  .pedido-nota__head-doc { text-align: left; width: 100%; }
}

.pedido-historial {
  --pedido-accent: var(--mc-navy);
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--pedido-accent) 5%, var(--mc-white)), var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--pedido-accent) 16%, var(--mc-border));
  border-radius: 12px;
  padding: 0.85rem 1rem 1rem;
  box-shadow: var(--shadow), inset 3px 0 0 color-mix(in srgb, var(--pedido-accent) 75%, #5a9fd4);
  min-width: 0;
  width: 100%;
}
.pedido-historial__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.65rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid color-mix(in srgb, var(--pedido-accent) 14%, var(--mc-border));
}
.pedido-historial__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.pedido-historial__sub {
  margin: 0.15rem 0 0;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.pedido-historial__body--loading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.pedido-historial__empty {
  margin: 0 0 0.75rem;
  padding: 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.pedido-historial__accordions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.pedido-historial__group {
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-surface-muted, #fafafa);
  overflow: hidden;
}
.pedido-historial__group--vacío {
  opacity: 0.72;
}
.pedido-historial__group-toggle,
.pedido-historial__item-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: none;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--mc-heading);
  transition: background 0.15s ease;
}
.pedido-historial__group-toggle:hover:not(:disabled),
.pedido-historial__item-toggle:hover {
  background: rgba(0, 0, 0, 0.03);
}
.pedido-historial__group-toggle:disabled {
  cursor: default;
}
.pedido-historial__group-leading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}
.pedido-historial__group-count {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  font-weight: 600;
}
.pedido-historial__group-panel {
  border-top: 1px solid var(--mc-border);
  background: var(--mc-white);
  padding: 0.65rem 0.75rem 0.75rem;
}
.pedido-historial__group-hint {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.pedido-historial__group-empty {
  margin: 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  font-style: italic;
}
.pedido-historial__items {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.pedido-historial__item {
  border: 1px solid var(--mc-border);
  border-radius: 7px;
  background: var(--mc-surface-muted, #f9fafb);
  overflow: hidden;
}
.pedido-historial__item-toggle {
  padding: 0.55rem 0.65rem;
  font-size: 0.8rem;
}
.pedido-historial__item-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  min-width: 0;
  flex: 1;
}
.pedido-historial__item-fecha {
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
}
.pedido-historial__item-num {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--mc-heading);
}
.pedido-historial__item-resumen {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  white-space: nowrap;
  margin-right: 0.15rem;
}
.pedido-historial__item-panel {
  border-top: 1px solid var(--mc-border);
  background: var(--mc-white);
}
.pedido-historial__item-body {
  padding: 0.65rem 0.65rem 0.5rem;
}
.pedido-historial__item-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  padding: 0 0.65rem 0.65rem;
}
.pedido-historial__delete {
  color: var(--mc-danger, #b42318);
}
.pedido-historial__delete:hover:not(:disabled) {
  color: var(--mc-danger, #b42318);
  background: color-mix(in srgb, var(--mc-danger, #b42318) 10%, transparent);
}
.pedido-historial__chevron {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--mc-text-muted);
  transition: transform 0.2s ease;
}
.pedido-historial__group.is-open > .pedido-historial__group-toggle .pedido-historial__chevron,
.pedido-historial__item.is-open > .pedido-historial__item-toggle .pedido-historial__chevron {
  transform: rotate(180deg);
}
.pedido-historial__meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.45rem 0.75rem;
  margin-bottom: 0.55rem;
}
.pedido-historial__meta-cell {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.pedido-historial__meta-label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
}
.pedido-historial__meta-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.pedido-historial__expand-loading,
.pedido-historial__expand-empty {
  margin: 0;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.pedido-historial__lines-wrap {
  overflow-x: auto;
  margin: 0 -0.15rem;
}
.pedido-historial__chip {
  display: inline-block;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.pedido-historial__chip--cot {
  background: #eff6ff;
  color: #1d4ed8;
}
.pedido-historial__chip--tango {
  background: #f3f4f6;
  color: #4b5563;
}
.pedido-historial__chip--crm {
  background: #f5f3ff;
  color: #6d28d9;
}
.pedido-historial__chip--fac {
  background: #f3f4f6;
  color: #374151;
}
.pedido-historial__chip--ped {
  background: #ecfdf5;
  color: #047857;
}
.pedido-historial__chip--rem {
  background: #fff7ed;
  color: #c2410c;
}
.pedido-historial__chip--otro {
  background: #fef3c7;
  color: #92400e;
}

.pedido-historial__lines {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
}
.pedido-historial__lines th {
  text-align: left;
  padding: 0.25rem 0.4rem;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  border-bottom: 1px solid var(--mc-border);
}
.pedido-historial__lines td {
  padding: 0.35rem 0.4rem;
  border-bottom: 1px solid var(--mc-border);
  vertical-align: top;
}
.pedido-historial__lines tbody tr:last-child td {
  border-bottom: none;
}
.pedido-historial__line-code {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.pedido-historial__line-desc {
  max-width: 240px;
}
.pedido-historial__line-qty,
.pedido-historial__line-importe {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.pedido-suggestions {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: -0.5rem 0 1rem;
  max-height: 240px;
  overflow-y: auto;
}

.pedido-suggest {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-surface);
  cursor: pointer;
  font: inherit;
}

.pedido-suggest:hover { border-color: var(--mc-primary); }

.logistics-board {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  min-height: 280px;
  padding-bottom: 0.35rem;
  scroll-snap-type: x proximity;
}
.logistics-board--compact {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: visible;
  min-height: 0;
}
.logistics-board--compact .logistics-col {
  flex: none;
  min-width: 0;
}
.logistics-board-intro {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin: 0 0 1rem;
}
.logistics-col__body {
  max-height: min(62vh, 520px);
  overflow-y: auto;
  padding-right: 0.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.logistics-col__empty {
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  margin: 0.35rem 0 0;
  text-align: center;
}
.logistica-kpis {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1rem;
}
.logistica-kpis--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1100px) {
  .logistica-kpis { grid-template-columns: repeat(2, 1fr); }
  .logistica-kpis--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .logistica-kpis,
  .logistica-kpis--3 { grid-template-columns: 1fr; }
}
.logistica-op-panel {
  margin-top: 0.5rem;
  padding: 1rem 1.05rem 1.05rem;
  border-radius: 12px;
  border: 1px solid var(--mc-primary);
  background: var(--mc-bg-inset);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.logistica-op-panel__head { margin-bottom: 0.85rem; }
.logistica-op-panel__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.logistica-op-panel__intro {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.logistica-op-blocks { display: flex; flex-direction: column; gap: 0.85rem; margin-bottom: 0.85rem; }
.logistica-op-block {
  padding: 0.75rem 0.8rem;
  border-radius: 8px;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
}
.logistica-op-block--lines { padding-bottom: 0.55rem; }
.logistica-op-block__title {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
}
.logistica-op-intro,
.logistica-op-note {
  font-size: 0.82rem;
  margin: 0 0 0.85rem;
}
.logistica-op-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem 0.75rem;
}
.logistica-op-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.logistica-op-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.logistica-op-hint {
  font-weight: 400;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistica-op-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.78rem;
}
.logistica-op-field span {
  font-weight: 600;
  color: var(--mc-text-muted);
}
.logistica-op-field--full { margin-bottom: 0.75rem; grid-column: 1 / -1; }
.logistica-op-field--wide { grid-column: 1 / -1; }
.logistica-op-field-help {
  font-size: 0.68rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--mc-text-muted);
}
.logistica-op-input {
  width: 100%;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  font: inherit;
  font-size: 0.82rem;
  background: var(--mc-white);
}
.logistica-op-input--qty { max-width: 5.5rem; text-align: right; }
.logistica-op-textarea { resize: vertical; min-height: 2.5rem; }
.logistica-op-subtitle {
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0.5rem 0 0.65rem;
  color: var(--mc-heading);
}
.logistica-op-table .logistica-op-input { font-size: 0.78rem; padding: 0.3rem 0.4rem; }
.logistica-op-acopio { white-space: nowrap; font-size: 0.78rem; }
.logistica-op-check {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
}
.logistica-op-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--mc-border);
  position: sticky;
  bottom: 0;
  background: var(--mc-bg-inset);
  margin-inline: -1.05rem;
  padding-inline: 1.05rem;
  padding-bottom: 0.15rem;
}
.logistica-crm-ok {
  color: var(--mc-success, #2e7d32);
  font-size: 0.85rem;
  margin-left: 0.15rem;
}
@media (max-width: 640px) {
  .logistica-op-grid--2,
  .logistica-op-grid--3 { grid-template-columns: 1fr; }
}
.logistics-col {
  flex: 0 0 210px;
  min-width: 210px;
  scroll-snap-align: start;
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: var(--radius);
  padding: 0.65rem;
}
.logistics-col--done { opacity: 0.85; }
.logistics-col__head {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  margin-bottom: 0.65rem;
  display: flex;
  justify-content: space-between;
}
.logistics-col__head span {
  background: var(--mc-white);
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
}
.logistics-card strong { display: block; font-size: 0.85rem; margin-bottom: 0.2rem; }
.logistics-card span { display: block; color: var(--mc-text-muted); font-size: 0.78rem; }
.logistics-card__ids {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  margin: 0.2rem 0 0.35rem;
  line-height: 1.35;
}
.logistics-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.35rem;
}
.logistics-card--route { border-color: var(--mc-primary); }
.logistics-route-sheet {
  background: var(--mc-bg-inset);
  border: 1px dashed var(--mc-primary);
  border-radius: 6px;
  padding: 0.5rem 0.55rem;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  line-height: 1.45;
}
.logistics-route-sheet strong { display: inline; font-size: 0.72rem; color: var(--mc-heading); }
.logistics-filters {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  align-items: center;
}
.logistics-filter {
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
  font-size: 0.78rem;
  font-family: inherit;
  cursor: default;
}
.logistics-filter--active {
  background: var(--mc-primary);
  color: var(--mc-on-primary);
  border-color: var(--mc-primary);
}
.logistics-footnote {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  margin-top: 1rem;
}
.logistics-shell-list {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--mc-text);
  font-size: 0.88rem;
  line-height: 1.55;
}
.logistics-shell-list li + li {
  margin-top: 0.35rem;
}
.logistics-strip {
  background: #fff8eb;
  border: 1px solid var(--mc-warning);
  border-radius: var(--radius);
  padding: 0.65rem 1rem;
  font-size: 0.82rem;
  margin-bottom: 1rem;
  color: var(--mc-navy);
}
.logistics-views {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.logistics-view {
  padding: 0.45rem 0.9rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
  font-size: 0.82rem;
  font-family: inherit;
  cursor: pointer;
  color: var(--mc-text-muted);
}
.logistics-view--active {
  background: var(--mc-navy);
  color: white;
  border-color: var(--mc-navy);
}
.logistics-semanal {
  margin-top: 0.5rem;
}
.logistics-semanal-intro {
  font-size: 0.85rem;
  color: var(--mc-text-muted);
  margin: 0.5rem 0 1rem;
}
.logistics-semanal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.65rem;
}
.logistics-semanal-day {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  padding: 0.75rem 0.65rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm);
  background: var(--mc-white);
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  min-height: 9rem;
}
.logistics-semanal-day:hover {
  border-color: var(--mc-navy);
}
.logistics-semanal-day--today {
  box-shadow: inset 0 0 0 2px var(--mc-navy);
}
.logistics-semanal-day--ref {
  background: color-mix(in srgb, var(--mc-navy) 6%, var(--mc-white));
}
.logistics-semanal-day__dow {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistics-semanal-day__date {
  font-size: 1rem;
  font-weight: 700;
}
.logistics-semanal-day__count {
  font-size: 0.82rem;
  font-weight: 600;
}
.logistics-semanal-day__kg {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistics-semanal-day__bar {
  height: 4px;
  border-radius: 2px;
  background: var(--mc-border);
  overflow: hidden;
}
.logistics-semanal-day__bar span {
  display: block;
  height: 100%;
  background: #2e7d32;
}
.logistics-semanal-day__pct {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistics-semanal-day__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: auto;
}
@media (max-width: 1100px) {
  .logistics-semanal-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .logistics-semanal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.logistics-section { margin-bottom: 1rem; }
.logistics-section--urgent {
  border-color: #f5c6cb;
  box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.08);
}
.logistics-zona-intro {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin: 0 0 1rem;
}
.logistics-zona-stack .logistics-section--zona .card__head h2 {
  font-size: 1.02rem;
}
.logistics-table td { vertical-align: top; }
.entregas-table .entregas-row,
.logistics-table .entregas-row {
  cursor: pointer;
  transition: background 0.12s;
}
.entregas-table .entregas-row:hover,
.logistics-table .entregas-row:hover { background: var(--mc-table-hover, #f8fafc); }
.entregas-table .entregas-row:focus-visible,
.logistics-table .entregas-row:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: -2px;
}
.logistics-col-actions {
  white-space: nowrap;
  width: 1%;
}
.logistics-table__sub {
  display: block;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  margin-top: 0.2rem;
}
.logistics-row--urgent { background: #fffbfb; }
.logistics-panels { margin-bottom: 0.5rem; }
.logistics-panels--single {
  display: grid;
  grid-template-columns: 1fr;
  max-width: 100%;
}
.logistics-rutas-banner {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  font-size: 0.88rem;
  line-height: 1.45;
}
.logistics-rutas-banner--info {
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
}
.logistics-rutas-block { margin-bottom: 1.25rem; }
.logistics-section--pending { border-left: 4px solid var(--mc-warning); }
.logistics-route-panel { border-top: 3px solid var(--mc-primary); }
.logistics-route-panel--warn { border-top-color: var(--mc-warning); }
.logistics-route-head-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}
.logistics-route-origen { display: inline-flex; gap: 0.25rem; flex-wrap: wrap; }
.logistics-depot-section { margin-bottom: 1.25rem; }
.logistics-depot-section__title {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
  margin: 0 0 0.65rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--mc-border);
}
.logistica-rutas-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-bottom: 0.85rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-rutas-day-bar { margin: 0; flex-shrink: 0; }
.logistica-rutas-fecha-label { font-size: 0.92rem; min-width: 10rem; text-align: center; }
.logistica-rutas-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  flex: 1 1 auto;
}
.logistica-rutas-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin-left: auto;
}
.logistica-rutas-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: var(--mc-bg-inset);
  color: var(--mc-text-muted);
  border: 1px solid var(--mc-border);
}
.logistica-rutas-chip--warn {
  background: #fff8e6;
  color: var(--mc-warning);
  border-color: rgba(245, 127, 23, 0.35);
}
.logistica-rutas-chip--crit {
  background: rgba(211, 47, 47, 0.08);
  color: var(--mc-danger, #c62828);
  border-color: rgba(211, 47, 47, 0.35);
}
.logistica-sin-asignar-atraso {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  background: rgba(211, 47, 47, 0.1);
  color: var(--mc-danger, #c62828);
  white-space: nowrap;
}
.logistica-sin-asignar-futura {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  background: rgba(25, 118, 210, 0.1);
  color: #1565c0;
  white-space: nowrap;
}
.logistica-sin-asignar-resumen {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.75rem;
  padding: 0.6rem 1rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
  background: linear-gradient(135deg, color-mix(in srgb, var(--mc-primary) 6%, var(--mc-surface)), var(--mc-surface));
}
.logistica-sin-asignar-resumen__count {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  border-radius: 10px;
  background: var(--mc-primary);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
.logistica-sin-asignar-resumen__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  min-width: 0;
  flex: 1;
}
.logistica-sin-asignar-resumen__title {
  font-size: 0.92rem;
  color: var(--mc-heading);
  white-space: nowrap;
}
.logistica-sin-asignar-resumen__sep {
  color: var(--mc-text-muted);
  font-size: 0.8rem;
  line-height: 1;
  user-select: none;
}
.logistica-sin-asignar-resumen__body strong {
  font-size: 0.92rem;
  color: var(--mc-heading);
}
.logistica-sin-asignar-resumen__meta {
  font-size: 0.8rem;
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-resumen__hint {
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-resumen-banner__atrasos {
  color: var(--mc-danger, #c62828);
  font-weight: 700;
}
#logistica-rutas-ventana-atras,
#logistica-rutas-ventana-adelante {
  min-width: 7.25rem;
}
.logistica-sin-asignar-atrasos-banner {
  margin-bottom: 0.85rem;
}
.logistica-sin-asignar-ventana-note {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-cierre-btns {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
}
.logistica-cierre-btn {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--mc-bg);
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.1s ease;
}
.logistica-cierre-btn__icon {
  width: 0.95rem;
  height: 0.95rem;
  stroke-width: 2.25;
}
.logistica-cierre-btn--ok {
  color: #1b5e20;
  border-color: rgba(46, 125, 50, 0.35);
  background: linear-gradient(180deg, rgba(46, 125, 50, 0.14) 0%, rgba(46, 125, 50, 0.06) 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}
.logistica-cierre-btn--ok:hover {
  background: rgba(46, 125, 50, 0.2);
  border-color: rgba(46, 125, 50, 0.55);
  transform: translateY(-1px);
}
.logistica-cierre-btn--no {
  color: #b71c1c;
  border-color: rgba(211, 47, 47, 0.3);
  background: linear-gradient(180deg, rgba(211, 47, 47, 0.1) 0%, rgba(211, 47, 47, 0.04) 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}
.logistica-cierre-btn--no:hover {
  background: rgba(211, 47, 47, 0.16);
  border-color: rgba(211, 47, 47, 0.45);
  transform: translateY(-1px);
}
.logistica-cierre-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.85rem;
}
.logistica-cierre-card {
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius, 10px);
  padding: 0.85rem 1rem;
  background: var(--mc-bg);
  cursor: pointer;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.logistica-cierre-card:hover {
  border-color: color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.logistica-cierre-card__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin-bottom: 0.45rem;
}
.logistica-cierre-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
}
.logistica-cierre-badge--ok {
  background: rgba(46, 125, 50, 0.12);
  color: #2e7d32;
}
.logistica-cierre-badge--no {
  background: rgba(211, 47, 47, 0.1);
  color: var(--mc-danger, #c62828);
}
.logistica-cierre-remito {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistica-cierre-remito--ok {
  color: #2e7d32;
  font-weight: 600;
}
.logistica-cierre-card__cliente {
  display: block;
  margin-bottom: 0.25rem;
}
.logistica-cierre-card__meta {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin: 0 0 0.65rem;
}
.logistica-cierre-card__dl {
  display: grid;
  gap: 0.35rem;
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
}
.logistica-cierre-card__dl dt {
  font-weight: 600;
  color: var(--mc-text-muted);
}
.logistica-cierre-card__dl dd {
  margin: 0;
}
.logistica-rutas-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--mc-border);
}
.logistica-rutas-tab {
  padding: 0.55rem 1rem;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  background: none;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--mc-text-muted);
  border-radius: 6px 6px 0 0;
  transition: color 0.15s, border-color 0.15s;
}
.logistica-rutas-tab:hover { color: var(--mc-heading); }
.logistica-rutas-tab--active {
  color: var(--mc-navy);
  border-bottom-color: var(--mc-primary);
}
.logistica-rutas-armado-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}
.logistica-rutas-armado-toolbar .logistica-rutas-kpis {
  margin-left: auto;
  margin-bottom: 0;
  justify-content: flex-end;
}
.logistica-flota-dia-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-bg-inset) 55%, var(--mc-surface));
}
.logistica-flota-dia-bar__title {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  flex: 0 0 auto;
}
.logistica-flota-dia-bar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.logistica-flota-dia-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  color: var(--mc-text);
}
.logistica-flota-dia-chip--other {
  opacity: 0.72;
  border-style: dashed;
}
.logistica-flota-dia-chip__est {
  font-size: 0.66rem;
  color: var(--mc-text-muted);
  text-transform: lowercase;
}
.logistica-rutas-slot-hint {
  margin: 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistica-rutas-slot-hint--warn {
  color: #b45309;
}
.logistica-rutas-kpis {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}
.logistica-rutas-kpi {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
  padding: 0.38rem 0.7rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
  line-height: 1.2;
}
.logistica-rutas-kpi--warn {
  border-color: color-mix(in srgb, var(--mc-warning) 35%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-warning) 6%, var(--mc-surface));
}
.logistica-rutas-kpi__label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-rutas-kpi__value {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mc-heading);
  font-variant-numeric: tabular-nums;
}
.logistica-rutas-kpi--warn .logistica-rutas-kpi__value {
  color: var(--mc-warning);
}
.logistica-rutas-kpi__meta {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  flex-basis: 100%;
  margin-top: -0.1rem;
}
@media (min-width: 720px) {
  .logistica-rutas-kpi__meta {
    flex-basis: auto;
    margin-top: 0;
    padding-left: 0.15rem;
    border-left: 1px solid var(--mc-border);
    margin-left: 0.1rem;
    padding-left: 0.5rem;
  }
}
.logistica-rutas-crm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--mc-border);
}
.logistica-sin-asignar-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.logistica-sin-asignar-list--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
  gap: 0.4rem;
  padding: 0.15rem 0 0.35rem;
}
.logistica-sin-asignar-list--grid .logistica-sin-asignar-card {
  min-width: 0;
}
.logistica-sin-asignar-stack {
  gap: 0.65rem;
}
.logistica-sin-asignar-zona--mostrador > .logistica-sin-asignar-zona__head {
  background: color-mix(in srgb, #9c27b0 6%, var(--mc-bg-inset));
}
.logistica-sin-asignar-zona--mostrador[open] {
  border-color: color-mix(in srgb, #9c27b0 45%, var(--mc-border));
  box-shadow:
    0 0 0 1px color-mix(in srgb, #9c27b0 28%, transparent),
    0 0 0 4px color-mix(in srgb, #9c27b0 10%, transparent);
}
.logistica-sin-asignar-zona--mostrador[open] > .logistica-sin-asignar-zona__head {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, #9c27b0 10%, var(--mc-bg-inset)),
    color-mix(in srgb, #9c27b0 4%, var(--mc-surface))
  );
}
.logistica-sin-asignar-zona__hint {
  margin-left: auto;
  font-size: 0.74rem;
  font-weight: 500;
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-mostrador-badge {
  font-size: 0.72rem;
}
.logistica-sin-asignar-zona {
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-surface);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.logistica-sin-asignar-zona[open] {
  border-color: color-mix(in srgb, var(--mc-primary) 62%, var(--mc-border));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--mc-primary) 38%, transparent),
    0 0 0 4px color-mix(in srgb, var(--mc-primary) 16%, transparent),
    0 3px 10px color-mix(in srgb, var(--mc-primary) 10%, rgba(15, 23, 42, 0.07));
}
.logistica-sin-asignar-zona__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.65rem 0.85rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  background: color-mix(in srgb, var(--mc-bg-inset) 70%, var(--mc-surface));
  border-bottom: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.logistica-sin-asignar-zona[open] > .logistica-sin-asignar-zona__head {
  border-bottom-color: color-mix(in srgb, var(--mc-primary) 24%, var(--mc-border));
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--mc-primary) 9%, var(--mc-bg-inset)),
    color-mix(in srgb, var(--mc-primary) 4%, var(--mc-surface))
  );
}
.logistica-sin-asignar-zona__head:hover {
  background: color-mix(in srgb, var(--mc-primary) 5%, var(--mc-bg-inset));
}
.logistica-sin-asignar-zona[open] > .logistica-sin-asignar-zona__head:hover {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--mc-primary) 12%, var(--mc-bg-inset)),
    color-mix(in srgb, var(--mc-primary) 6%, var(--mc-surface))
  );
}
.logistica-sin-asignar-zona__head:focus {
  outline: none;
}
.logistica-sin-asignar-zona__head:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--mc-primary) 45%, transparent);
}
.logistica-sin-asignar-zona__head::-webkit-details-marker { display: none; }
.logistica-sin-asignar-zona__head::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--mc-text-muted);
  border-bottom: 2px solid var(--mc-text-muted);
  transform: rotate(-45deg);
  transition: transform 0.15s ease, border-color 0.2s ease;
  flex-shrink: 0;
  margin-right: 0.15rem;
}
.logistica-sin-asignar-zona[open] > .logistica-sin-asignar-zona__head::before {
  transform: rotate(45deg);
  border-color: var(--mc-primary);
}
.logistica-sin-asignar-zona > .logistica-sin-asignar-list {
  padding: 0 0.65rem 0.65rem;
}
.logistica-sin-asignar-table-wrap {
  padding: 0;
  max-height: min(22rem, 45vh);
  overflow: auto;
  scrollbar-gutter: stable;
}
.logistica-sin-asignar-table-wrap--compact {
  max-height: min(12rem, 28vh);
}
.logistica-sin-asignar-table {
  table-layout: fixed;
  width: 100%;
  font-size: 0.8rem;
  border-collapse: separate;
  border-spacing: 0;
}
.logistica-sin-asignar-col--grip { width: 1.25rem; }
.logistica-sin-asignar-col--cliente { width: 36%; }
.logistica-sin-asignar-col--fecha { width: 15%; }
.logistica-sin-asignar-col--depot { width: 12%; }
.logistica-sin-asignar-col--peso { width: 12%; }
.logistica-sin-asignar-col--actions { width: 25%; }
.logistica-sin-asignar-table--dnd:not(.logistica-sin-asignar-table--multiselect) .logistica-sin-asignar-col--grip { width: 2%; }
.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--cliente { width: 32%; }
.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--fecha { width: 14%; }
.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--depot { width: 11%; }
.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--peso { width: 11%; }
.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--actions { width: 30%; }
.logistica-sin-asignar-table .logistics-col-actions {
  width: auto;
  min-width: 9.5rem;
}
.logistica-sin-asignar-table:not(.logistica-sin-asignar-table--dnd) tbody tr td {
  background: var(--mc-surface);
}
.logistica-sin-asignar-table tbody tr:nth-child(even):not(.logistica-sin-asignar-row--atraso):not(.logistica-rutas-dnd-zona-row) td {
  background: var(--mc-surface);
}
.logistica-sin-asignar-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--mc-surface);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  padding: 0.35rem 0.5rem;
  border-bottom: 1px solid var(--mc-border);
}
.logistica-sin-asignar-table td {
  padding: 0.35rem 0.5rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--mc-border);
  line-height: 1.25;
}
.logistica-sin-asignar-table .line-badge {
  font-size: 0.55rem;
  padding: 0.06rem 0.3rem;
  vertical-align: middle;
}
.logistica-sin-asignar-table .logistica-sin-asignar-atraso,
.logistica-sin-asignar-table .logistica-sin-asignar-futura {
  font-size: 0.65rem;
  padding: 0.05rem 0.3rem;
}
.logistica-sin-asignar-table td.logistica-sin-asignar-row__cliente {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.logistica-sin-asignar-row__cliente strong {
  font-weight: 600;
  font-size: 0.76rem;
}
.logistica-entrega-geo {
  margin-left: 0.25rem;
  font-size: 0.62rem;
  font-weight: 500;
  vertical-align: middle;
}
.logistica-sin-asignar-row__fecha,
.logistica-sin-asignar-row__depot {
  font-size: 0.74rem;
  white-space: nowrap;
}
.logistica-sin-asignar-row__depot {
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-row__peso,
.logistica-rutas-dnd-zona-row__kg,
.logistica-sin-asignar-zona__kg {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.logistica-sin-asignar-table th.logistica-sin-asignar-row__peso,
.logistica-sin-asignar-table td.logistica-sin-asignar-row__peso {
  text-align: right;
}
.logistica-sin-asignar-table th.logistica-sin-asignar-row__actions-head,
.logistica-sin-asignar-table th.logistics-col-actions,
.logistica-sin-asignar-table td.logistica-sin-asignar-row__actions {
  text-align: right;
}
.logistica-rutas-dnd-zona-row__kg {
  flex-shrink: 0;
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 600;
}
.logistica-sin-asignar-zona__kg {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 0.74rem;
}
.logistica-rutas-dnd-zona-row td:not(.logistica-sin-asignar-row__select):not(.logistica-sin-asignar-row__grip) {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.5rem;
  background: color-mix(in srgb, var(--mc-bg-inset) 70%, var(--mc-surface));
  border-bottom: 1px solid var(--mc-border);
  border-top: 1px solid var(--mc-border);
}
.logistica-rutas-dnd-zona-row td.logistica-sin-asignar-row__select,
.logistica-rutas-dnd-zona-row td.logistica-sin-asignar-row__grip {
  background: color-mix(in srgb, var(--mc-bg-inset) 70%, var(--mc-surface));
  border-bottom: 1px solid var(--mc-border);
  border-top: 1px solid var(--mc-border);
}
.logistica-sin-asignar-table tbody tr:last-child td {
  border-bottom: none;
}
.logistica-sin-asignar-row {
  cursor: pointer;
  transition: background 0.1s ease;
}
.logistica-sin-asignar-row--draggable {
  cursor: grab;
}
.logistica-sin-asignar-row--draggable td[data-rutas-drag-entrega] {
  cursor: grab;
  user-select: none;
  -webkit-user-drag: element;
}
.logistica-sin-asignar-row--draggable td[data-rutas-drag-entrega]:active {
  cursor: grabbing;
}
.logistica-sin-asignar-row--draggable:focus,
.logistica-sin-asignar-row--draggable:focus-visible {
  outline: none;
}
.logistica-sin-asignar-row__grip {
  width: 1.45rem;
  padding: 0.35rem 0 0.35rem 0.35rem !important;
  color: var(--mc-text-muted);
  opacity: 0.45;
  font-size: 0.75rem;
  line-height: 1;
  user-select: none;
}
.logistica-sin-asignar-drag-handle {
  display: inline-block;
}
.logistica-sin-asignar-row--draggable:hover .logistica-sin-asignar-row__grip,
.logistica-sin-asignar-row--draggable:hover .logistica-sin-asignar-drag-handle {
  opacity: 0.85;
  color: var(--mc-primary);
}
.logistica-sin-asignar-row:hover td {
  background: var(--mc-table-hover, #f8fafc) !important;
}
.logistica-sin-asignar-row--atraso td {
  background: var(--mc-surface) !important;
}
.logistica-sin-asignar-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}
.logistica-sin-asignar-row__btn {
  min-width: 4.5rem;
  padding: 0.2rem 0.45rem;
  font-size: 0.74rem;
}
.logistica-sin-asignar-cierre-btns--inline {
  display: inline-flex;
  gap: 0.2rem;
}
.logistica-sin-asignar-cierre-btns--inline .logistica-cierre-btn {
  width: 1.65rem;
  height: 1.65rem;
}
.logistica-sin-asignar-zona__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mc-heading);
  letter-spacing: 0.01em;
}
.logistica-sin-asignar-zona[open] .logistica-sin-asignar-zona__title {
  color: var(--mc-primary-dark);
}
.logistica-sin-asignar-zona__kg {
  margin-left: auto;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistica-sin-asignar-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem 0.65rem;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  cursor: default;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.logistica-sin-asignar-card--open {
  cursor: pointer;
}
.logistica-sin-asignar-card--open:hover {
  border-color: color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.logistica-sin-asignar-card--open:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: 2px;
}
.logistica-sin-asignar-card:hover {
  border-color: color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.logistica-sin-asignar-card__avatar {
  flex-shrink: 0;
}
.logistica-sin-asignar-card__actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}
.logistica-sin-asignar-card__btn {
  flex-shrink: 0;
  min-width: 5.25rem;
}
.logistica-sin-asignar-card.logistica-rutas-draggable { cursor: grab; }
.logistica-ruta-prefs {
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-bg-inset);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.35rem 0.75rem;
}
.logistica-ruta-prefs--compact {
  margin-bottom: 0.65rem;
  padding: 0.45rem 0.55rem;
}
.logistica-ruta-prefs__legend {
  grid-column: 1 / -1;
  margin: 0 0 0.15rem;
  padding: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-ruta-prefs__item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  color: var(--mc-text);
  cursor: pointer;
}
.logistica-ruta-prefs__item input { margin: 0; }
.logistica-ruta-prefs-readonly {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.8rem;
}
.logistica-mapa-prefs-panel .logistica-mapa-aside-block { margin-bottom: 0; }
.logistica-sin-asignar-card__main {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.logistica-sin-asignar-card__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.88rem;
  line-height: 1.25;
}
.logistica-sin-asignar-card__title strong {
  font-weight: 600;
  letter-spacing: 0.01em;
}
.logistica-sin-asignar-card__meta {
  margin: 0;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.logistica-rutas-form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.logistica-ruta-crm--selected {
  outline: 2px solid var(--mc-primary);
  outline-offset: 2px;
}
.logistica-rutas-draggable { cursor: grab; }
.logistica-rutas-draggable:active { cursor: grabbing; }
.logistica-rutas-dragging { opacity: 0.55; }
.logistica-ruta-crm--droppable { transition: box-shadow 0.15s ease, outline-color 0.15s ease; }
.logistica-ruta-crm--drop-target {
  outline: 2px dashed var(--mc-primary);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.12);
}
.logistica-ruta-crm--drop-reject {
  outline: 2px dashed var(--mc-warning);
  outline-offset: 3px;
}
.logistica-armado-sin-asignar {
  margin-bottom: 1.25rem;
}
.logistica-rutas-selection-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.75rem;
  background: color-mix(in srgb, var(--mc-primary) 6%, var(--mc-surface));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
  border-radius: 10px;
  position: sticky;
  top: 0.35rem;
  z-index: 4;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.logistica-rutas-selection-bar[hidden] {
  display: none;
}
.logistica-rutas-selection-bar__kpi {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--mc-heading);
}
.logistica-rutas-selection-bar__warn {
  font-size: 0.82rem;
  color: var(--mc-warning);
  font-weight: 500;
}
.logistica-rutas-selection-bar__select {
  min-width: 12rem;
  max-width: 18rem;
}
.logistica-rutas-selection-bar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-left: auto;
}
.logistica-sin-asignar-col--select {
  width: 2.35rem;
}
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd .logistica-sin-asignar-col--grip {
  width: 1.45rem;
}
.logistica-sin-asignar-row__select {
  width: 2.35rem;
  text-align: center;
  vertical-align: middle;
}
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd thead th.logistica-sin-asignar-row__select,
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd tbody td.logistica-sin-asignar-row__select {
  width: 2.35rem;
  min-width: 2.35rem;
  max-width: 2.35rem;
  padding: 0.35rem 0 !important;
  text-align: center;
  vertical-align: middle;
}
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd thead th.logistica-sin-asignar-row__grip,
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd tbody td.logistica-sin-asignar-row__grip {
  width: 1.45rem;
  min-width: 1.45rem;
  max-width: 1.45rem;
}
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd thead th.logistica-sin-asignar-row__grip {
  padding: 0.35rem 0 !important;
}
.logistica-sin-asignar-table--multiselect.logistica-sin-asignar-table--dnd tbody td.logistica-sin-asignar-row__grip {
  padding: 0.35rem 0 0.35rem 0.35rem !important;
}
.logistica-sin-asignar-row__select input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  cursor: pointer;
  vertical-align: middle;
}
.logistica-sin-asignar-row--selected td {
  background: color-mix(in srgb, var(--mc-primary) 7%, var(--mc-surface));
}
.logistica-sin-asignar-table--multiselect tbody tr.logistica-rutas-dnd-zona-row td:not(.logistica-sin-asignar-row__select) {
  padding-left: 0.5rem;
}
.logistica-sin-asignar-table thead .logistica-sin-asignar-row__select input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  cursor: pointer;
}
.logistica-rutas-dnd-strip {
  margin-bottom: 1rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
  background: var(--mc-surface);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.logistica-rutas-dnd-strip__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--mc-primary) 8%, var(--mc-surface)), var(--mc-surface));
  border-bottom: 1px solid var(--mc-border);
}
.logistica-rutas-dnd-strip__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mc-heading);
}
.logistica-rutas-dnd-strip__hint {
  margin: 0.15rem 0 0;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.logistica-rutas-dnd-strip__kg {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  white-space: nowrap;
}
.logistica-rutas-dnd-strip__stack {
  max-height: min(36rem, 55vh);
  overflow: auto;
}
.logistica-rutas-dnd-table-wrap {
  max-height: none;
  overflow: visible;
}
.logistica-sin-asignar-table--dnd tbody tr:nth-child(even):not(.logistica-sin-asignar-row--atraso):not(.logistica-rutas-dnd-zona-row) td {
  background: var(--mc-surface);
}
.logistica-rutas-dnd-zona-row:first-child td {
  border-top: none;
}
.logistica-rutas-dnd-zona-row__title {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  flex-shrink: 0;
}
.logistica-rutas-dnd-strip__stack .logistica-sin-asignar-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}
.logistica-sin-asignar-card { cursor: default; }
.logistica-sin-asignar-card.logistica-rutas-draggable { cursor: grab; }
.logistica-sin-asignar-card--open.logistica-rutas-draggable { cursor: grab; }
.logistica-sin-asignar-card--open:not(.logistica-rutas-draggable) { cursor: pointer; }

.logistica-crm-block { margin-bottom: 1rem; }
.logistica-crm-block--warn { padding: 1rem; border-radius: 10px; border: 1px dashed var(--mc-border); }

.logistica-ficha-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.logistica-ficha {
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.logistica-ficha--warn { padding: 1.15rem 1.35rem; }
.logistica-ficha__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  padding: 1.15rem 1.35rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ecfeff 100%);
  border-bottom: 1px solid var(--mc-border);
}
.logistica-ficha__header-main { flex: 1 1 16rem; min-width: 0; }
.logistica-ficha__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.logistica-ficha__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.2;
}
.logistica-ficha__lead {
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
  color: var(--mc-text-muted);
  line-height: 1.45;
  max-width: 42rem;
}
.logistica-ficha__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(14, 116, 144, 0.12);
  color: #0e7490;
  border: 1px solid rgba(14, 116, 144, 0.22);
  white-space: nowrap;
}
.logistica-ficha__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.logistica-ficha__chip {
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  max-width: 100%;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.35);
  font-size: 0.82rem;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.25;
}
.logistica-ficha__chip--muted { opacity: 0.72; }
.logistica-ficha__chip-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}
.logistica-ficha__direcciones {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-bottom: 0.15rem;
  border-bottom: 1px solid var(--mc-border);
  margin-bottom: 0.15rem;
}
.logistica-ficha__dir-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.logistica-ficha__dir-card {
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  background: #fafbfc;
  min-width: 0;
}
.logistica-ficha__dir-card--entrega {
  background: #f0fdfa;
  border-color: rgba(20, 184, 166, 0.25);
}
.logistica-ficha__dir-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}
.logistica-ficha__dir-text {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mc-heading);
  line-height: 1.4;
  word-break: break-word;
}
.logistica-ficha__dir-empty,
.logistica-ficha__dir-note,
.logistica-ficha__dir-meta {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-ficha__dir-pedidos {
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px dashed rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.06);
}
.logistica-ficha__dir-subtitle {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #92400e;
}
.logistica-ficha__dir-pedido-list {
  margin: 0 0 0.45rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.logistica-ficha__dir-pedido {
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(245, 158, 11, 0.18);
}
.logistica-ficha__body {
  padding: 1.2rem 1.35rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.logistica-ficha__sections {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 1.15rem 1.35rem;
}
.logistica-ficha__section {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}
.logistica-ficha__section--notas {
  padding: 0.95rem 1rem;
  border-radius: 12px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
}
.logistica-ficha__section-title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mc-heading);
}
.logistica-ficha__fields {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.logistica-ficha__fields--zona { gap: 0.85rem; }
.logistica-ficha__field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}
.logistica-ficha__field--wide { width: 100%; }
.logistica-ficha__label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #475569;
}
.logistica-ficha__hint {
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-ficha__hint--section { margin: -0.25rem 0 0.15rem; }
.logistica-ficha__select,
.logistica-ficha__time,
.logistica-ficha__textarea {
  width: 100%;
  max-width: 100%;
}
.logistica-ficha__select { min-width: 0; }
.logistica-ficha__time {
  min-height: 2.35rem;
  padding: 0.35rem 0.55rem;
}
.logistica-ficha__textarea {
  min-height: 5.5rem;
  resize: vertical;
  line-height: 1.45;
}
.logistica-ficha__horario {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.55rem 0.65rem;
}
.logistica-ficha__horario .logistica-ficha__field {
  flex: 1 1 7rem;
  max-width: 9rem;
}
.logistica-ficha__horario-sep {
  align-self: center;
  padding-bottom: 0.55rem;
  color: #94a3b8;
  font-weight: 700;
}
.logistica-ficha__dias {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.logistica-ficha__dia {
  position: relative;
  margin: 0;
}
.logistica-ficha__dia-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.logistica-ficha__dia-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  height: 2.45rem;
  padding: 0 0.55rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  color: #475569;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  user-select: none;
}
.logistica-ficha__dia-input:focus-visible + .logistica-ficha__dia-pill {
  outline: 2px solid var(--mc-primary);
  outline-offset: 2px;
}
.logistica-ficha__dia-input:checked + .logistica-ficha__dia-pill {
  background: var(--mc-primary);
  border-color: var(--mc-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.22);
}
.logistica-ficha__dia-input:disabled + .logistica-ficha__dia-pill {
  opacity: 0.55;
  cursor: not-allowed;
}
.logistica-ficha__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--mc-border);
}
.logistica-ficha__foot-note {
  margin: 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistica-ficha__subhead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.95rem 1.35rem;
  border-bottom: 1px solid var(--mc-border);
  background: #fafbfc;
}
.logistica-ficha__subhead-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.logistica-ficha__subhead-meta {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-text-muted);
}
.logistica-ficha__entregas-body { padding: 0.85rem 1.35rem 1.1rem; }
.logistica-ficha__empty {
  padding: 1.75rem 1.35rem;
  text-align: center;
}
.logistica-ficha__empty-title {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.logistica-ficha__empty-text {
  margin: 0;
  max-width: 34rem;
  margin-inline: auto;
  font-size: 0.88rem;
  color: var(--mc-text-muted);
  line-height: 1.5;
}

.logistica-crm-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.logistica-crm-form label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.82rem; }
.logistica-crm-dias {
  border: none; padding: 0; margin: 0 0 0.75rem;
  display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: center;
}
.logistica-crm-dias legend { font-size: 0.82rem; margin-right: 0.5rem; }
.logistica-crm-dia { font-size: 0.82rem; display: inline-flex; align-items: center; gap: 0.25rem; }
.logistica-crm-notas { display: block; font-size: 0.82rem; margin-bottom: 0.75rem; }
.logistica-crm-notas textarea { width: 100%; margin-top: 0.25rem; }

@media (max-width: 820px) {
  .logistica-ficha__sections { grid-template-columns: 1fr; }
  .logistica-ficha__dir-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .logistica-ficha__header,
  .logistica-ficha__body,
  .logistica-ficha__subhead,
  .logistica-ficha__entregas-body,
  .logistica-ficha__empty { padding-inline: 1rem; }
  .logistica-ficha__horario .logistica-ficha__field { max-width: none; flex: 1 1 calc(50% - 1.5rem); }
}
.logistica-restriccion-badge {
  display: inline-flex; align-items: center; gap: 0.15rem;
  font-size: 0.72rem; font-weight: 600; color: var(--mc-warning);
  background: rgba(245, 158, 11, 0.12); border-radius: 999px; padding: 0.1rem 0.45rem;
}
.logistica-restriccion-badge--compact { font-size: 0.68rem; padding: 0.05rem 0.35rem; }
.logistica-aviso-form { display: flex; flex-direction: column; gap: 0.75rem; }
.logistica-aviso-form label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.85rem; }
.logistica-aviso-ventana { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.logistica-rutas-panel { min-height: 12rem; }
.logistica-rutas-placeholder {
  padding: 2rem 1.25rem;
  text-align: center;
  border-radius: 12px;
  border: 1px dashed var(--mc-border);
  background: var(--mc-bg-inset);
  color: var(--mc-text-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}
.logistica-rutas-placeholder strong { color: var(--mc-heading); }

.logistica-hoja-dia__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
}
.logistica-hoja-dia__intro {
  margin: 0;
  font-size: 0.88rem;
  color: var(--mc-text-muted);
}
.logistica-hoja-dia__btns { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.logistica-hoja-viajes {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.logistica-hoja-viaje__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1rem 1rem 0.5rem;
  border-bottom: 1px solid var(--mc-border);
}
.logistica-hoja-viaje__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  color: var(--mc-heading);
}
.logistica-hoja-viaje__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.logistica-hoja-viaje__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.logistica-hoja-paradas {
  list-style: none;
  margin: 0;
  padding: 0;
}
.logistica-hoja-parada {
  display: flex;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--mc-border);
}
.logistica-hoja-parada:last-child { border-bottom: none; }
.logistica-hoja-parada__n {
  flex: 0 0 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  font-weight: 700;
  font-size: 0.78rem;
  color: var(--mc-navy);
}
.logistica-hoja-parada__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.88rem;
  min-width: 0;
}
.logistica-hoja-parada__zona {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistica-hoja-parada__dir,
.logistica-hoja-parada__peso {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  line-height: 1.4;
}
.logistica-mapa-dia { display: flex; flex-direction: column; gap: 0.65rem; }
.logistica-mapa-viajes { display: flex; flex-direction: column; gap: 0.65rem; }
.logistica-mapa-viaje {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-mapa-viaje__info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.logistica-mapa-dia__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-mapa-dia__select {
  display: block;
  min-width: min(100%, 28rem);
  flex: 1 1 16rem;
}
.logistica-mapa-viaje-select {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0.62rem 2.35rem 0.62rem 0.85rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--mc-text);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 0.72rem center / 1rem,
    var(--mc-bg);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
}
.logistica-mapa-viaje-select:hover {
  border-color: color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
  background-color: var(--mc-bg-elevated);
}
.logistica-mapa-viaje-select:focus {
  outline: none;
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-primary) 18%, transparent);
}
.logistica-mapa-dia__btns { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; flex-shrink: 0; }

.logistica-mapa-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 0.75rem;
  align-items: stretch;
  min-height: min(62vh, 560px);
}
.logistica-mapa-layout__map {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.logistica-mapa-layout__aside {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  max-height: min(62vh, 560px);
  overflow: auto;
}
.logistica-mapa-aside-block {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-surface);
  padding: 0.65rem 0.75rem;
}
.logistica-mapa-aside-block__title {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}

.logistica-mapa-embed-wrap {
  flex: 1 1 auto;
  min-height: 360px;
  height: 100%;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-bg-inset);
  overflow: hidden;
  position: relative;
}
.logistica-mapa-embed {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}
.logistica-mapa-canvas {
  width: 100%;
  height: 100%;
  min-height: 360px;
}
.logistica-mapa-infowin {
  padding: 0.65rem 0.75rem 0.75rem;
  font-size: 0.82rem;
  max-width: 280px;
}
.logistica-mapa-infowin__orden {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted, #64748b);
}
.logistica-mapa-infowin__name {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
}
.logistica-mapa-infowin__dir {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--text-muted, #64748b);
}
.logistica-mapa-infowin__actions {
  display: flex;
  gap: 0.4rem;
}
.logistica-mapa-infowin__sv {
  width: 100%;
  justify-content: center;
}
.logistica-mapa-embed-fallback,
.logistica-mapa-embed-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 360px;
  height: 100%;
  padding: 1.25rem;
  text-align: center;
}
.logistica-mapa-embed-status--overlay {
  position: absolute;
  inset: auto 0.75rem 0.75rem auto;
  min-height: 0;
  height: auto;
  padding: 0.35rem 0.75rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--mc-surface) 94%, transparent);
  border: 1px solid var(--mc-border);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
  font-size: 0.78rem;
  z-index: 2;
  pointer-events: none;
}
.logistica-mapa-paradas { margin-top: 0; }
.logistica-mapa-paradas-hint {
  margin: 0 0 0.45rem;
  font-size: 0.74rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-mapa-paradas-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.logistica-mapa-parada {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-bg);
}
.logistica-mapa-parada__orden {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  font-size: 0.72rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logistica-mapa-parada--draggable {
  cursor: grab;
  user-select: none;
}
.logistica-mapa-parada--draggable:active {
  cursor: grabbing;
}
.logistica-mapa-parada--draggable .logistica-mapa-parada__orden {
  background: color-mix(in srgb, var(--mc-primary) 10%, var(--mc-bg-inset));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
}
.logistica-mapa-parada--dragging {
  opacity: 0.72;
  border-color: color-mix(in srgb, var(--mc-primary) 35%, var(--mc-border));
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
.logistica-mapa-parada__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  font-size: 0.82rem;
}
.logistica-mapa-parada__body strong {
  font-size: 0.84rem;
  line-height: 1.25;
}
.logistica-mapa-parada__geo {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}

.logistica-mapa-orden-panel { margin-top: 0; }
.logistica-mapa-orden-card {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-bg-elevated);
  padding: 0.65rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.logistica-mapa-orden-card--warn {
  border-color: color-mix(in srgb, var(--mc-warning) 45%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-warning) 8%, var(--mc-bg-elevated));
}
.logistica-mapa-orden-card__title {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-mapa-orden-summary {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.logistica-mapa-orden-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.logistica-mapa-orden-summary__row--suggested {
  padding: 0.35rem 0.45rem;
  border-radius: 6px;
  background: color-mix(in srgb, var(--mc-primary) 10%, var(--mc-bg));
}
.logistica-mapa-orden-summary__label {
  color: var(--mc-text-muted);
  font-size: 0.75rem;
}
.logistica-mapa-orden-summary__value {
  font-weight: 600;
  text-align: right;
}
.logistica-mapa-orden-note {
  margin: 0;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-mapa-orden-note--ok { color: var(--mc-primary); }
.logistica-mapa-orden-details {
  font-size: 0.8rem;
}
.logistica-mapa-orden-details summary {
  cursor: pointer;
  color: var(--mc-primary);
  font-weight: 600;
  margin-bottom: 0.35rem;
}
.logistica-mapa-orden-parada--suggested .logistica-mapa-parada__orden {
  background: color-mix(in srgb, var(--mc-primary) 18%, var(--mc-bg-inset));
  color: var(--mc-primary);
}
.logistica-mapa-orden-savings {
  margin: 0;
  font-size: 0.8rem;
  color: var(--mc-primary);
  font-weight: 600;
}
.logistica-mapa-orden-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.logistica-mapa-orden-actions .ficha-muted { margin: 0; font-size: 0.78rem; }
.logistica-mapa-orden-missing {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}

.logistica-mapa-orden-loading {
  margin: 0;
  padding: 0.5rem 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}

#screen-logistica-rutas.logistica-rutas-screen--mapa .screen-intro,
#screen-logistica-rutas.logistica-rutas-screen--hoja .screen-intro {
  display: none;
}
#screen-logistica-rutas.logistica-rutas-screen--mapa .logistica-rutas-toolbar {
  margin-bottom: 0;
  padding-bottom: 0.65rem;
}
#screen-logistica-rutas.logistica-rutas-screen--mapa .logistica-rutas-tabs {
  margin-bottom: 0.65rem;
}
#screen-logistica-rutas.logistica-rutas-screen--mapa .logistica-rutas-panel {
  min-height: 0;
}

@media (max-width: 960px) {
  .logistica-mapa-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .logistica-mapa-layout__aside {
    max-height: none;
    order: 2;
  }
  .logistica-mapa-layout__map { order: 1; }
  .logistica-mapa-embed-wrap,
  .logistica-mapa-embed,
  .logistica-mapa-embed-fallback,
  .logistica-mapa-embed-status {
    min-height: 280px;
  }
}

.logistics-route-cap { margin: 0 0 0.75rem; }
.logistics-route-cap__track {
  height: 6px;
  background: var(--mc-bg-inset);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 0.25rem;
}
.logistics-route-cap__fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.2s ease;
}
.logistics-route-cap__fill--ok { background: var(--mc-primary); }
.logistics-route-cap__fill--warn { background: var(--mc-warning); }
.logistics-route-cap__label {
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistics-route-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.logistics-route-list li {
  display: flex;
  gap: 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--mc-border);
  font-size: 0.85rem;
}
.logistics-route-list__item--clickable {
  cursor: pointer;
  margin: 0 -0.35rem;
  padding: 0.45rem 0.35rem !important;
  border-radius: 6px;
  transition: background 0.12s;
}
.logistics-route-list__item--clickable:hover {
  background: var(--mc-table-hover);
}
.logistics-route-list__item--clickable:focus-visible {
  outline: 2px solid var(--mc-primary);
  outline-offset: 1px;
}
.logistics-route-list li:last-child { border-bottom: none; }
.logistics-route-list:not(.logistics-route-list--inline) li > span:first-child {
  flex: 0 0 3.5rem;
  font-weight: 600;
  color: var(--mc-navy);
  font-size: 0.78rem;
}
.logistica-ruta-chofer--armado {
  margin-bottom: 0.15rem;
}
.logistica-ruta-chofer--armado .logistica-op-field-help {
  margin-bottom: 0;
}
.logistics-route-list--inline {
  margin-top: 0.65rem;
}
.logistics-route-list--inline li {
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.28rem 0;
  font-size: 0.78rem;
}
.logistics-route-list-hint {
  margin: 0.55rem 0 0.15rem;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistics-route-list--reorderable .logistics-route-list__grip {
  flex: 0 0 1rem;
  cursor: grab;
  color: var(--mc-text-muted);
  font-size: 0.95rem;
  line-height: 1;
  user-select: none;
  padding-top: 0.1rem;
}
.logistics-route-list--reorderable .logistics-route-list__grip:active {
  cursor: grabbing;
}
.logistics-route-list__orden {
  flex: 0 0 1.1rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mc-navy);
  font-variant-numeric: tabular-nums;
  padding-top: 0.1rem;
}
.logistics-route-list__item--dragging {
  opacity: 0.55;
}
.logistics-route-list--inline .logistics-route-list__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.4rem;
  overflow: hidden;
}
.logistics-route-list--inline .logistics-route-list__dir {
  flex: 1 1 8rem;
  min-width: 0;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.logistics-route-list__meta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
  white-space: nowrap;
}
.logistics-route-list__horario {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--mc-navy);
  font-variant-numeric: tabular-nums;
  padding: 0.06rem 0.35rem;
  border-radius: 4px;
  background: rgba(0, 72, 135, 0.06);
}
.logistics-route-list__horario--muted {
  color: var(--mc-text-muted);
  font-weight: 500;
  background: var(--mc-bg-inset);
}
.logistics-route-list__horario--warn {
  color: #9a3412;
  background: #fff7ed;
}
.logistics-route-list__horario--ventana {
  color: #1d4ed8;
  background: #eff6ff;
}
.logistics-route-list__carga {
  font-size: 0.65rem;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.logistics-route-carga-hint {
  margin: 0.55rem 0 0;
  padding: 0.45rem 0.55rem;
  border-radius: 6px;
  background: var(--mc-bg-inset);
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--mc-text-muted);
}
.logistics-route-carga-hint__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.2rem;
  color: var(--mc-text-muted);
}
.logistics-route-carga-chip {
  display: inline;
  color: var(--mc-text);
}
.logistics-route-carga-sep {
  margin: 0 0.2rem;
  color: var(--mc-text-muted);
}
.logistics-route-list--inline .logistics-route-list__item--clickable {
  padding: 0.28rem 0.35rem !important;
}
.logistics-route-list--inline .logistics-route-list__zona {
  flex: 0 0 4.25rem;
  min-width: 4.25rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
  line-height: 1.15;
  padding-top: 0.12rem;
}
.logistics-route-list--inline .logistics-route-list__cliente {
  flex-shrink: 0;
  max-width: 38%;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.logistics-route-list--inline .logistics-route-list__peso {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.logistics-route-list--inline .logistics-route-list__quitar {
  flex-shrink: 0;
  min-width: 1.75rem;
  padding: 0.1rem 0.35rem;
  line-height: 1.2;
}
.logistics-route-list--inline .logistics-chip {
  font-size: 0.62rem;
  padding: 0.05rem 0.3rem;
  vertical-align: middle;
}
.logistics-route-list__warn {
  background: #fff8eb;
  margin: 0 -0.5rem;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  border-radius: 6px;
}
.logistics-partial { display: flex; flex-direction: column; gap: 0.5rem; }
.logistics-partial__done,
.logistics-partial__pending {
  padding: 0.65rem;
  border-radius: 8px;
  font-size: 0.82rem;
  line-height: 1.45;
}
.logistics-partial__done { background: #f0faf4; border: 1px solid var(--mc-success); }
.logistics-partial__pending { background: #fff8eb; border: 1px solid var(--mc-warning); }
.logistics-card--mini {
  padding: 0.72rem 0.85rem;
}
.logistics-card--mini strong { font-size: 0.8rem; margin-bottom: 0.1rem; }
.logistics-card--mini span { font-size: 0.72rem; }
.logistics-card--board:hover,
.logistics-card--board:focus-visible {
  outline: none;
}
.logistics-card__sub {
  display: block;
  color: var(--mc-text-muted);
  font-size: 0.72rem;
  line-height: 1.35;
  margin: 0.15rem 0 0;
}
.logistics-chip {
  display: inline-block;
  font-size: 0.68rem;
  line-height: 1.2;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: var(--mc-bg-inset);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
}
.logistics-chip--camion {
  background: rgba(0, 72, 135, 0.06);
  border-color: rgba(0, 72, 135, 0.15);
  color: var(--mc-primary);
}
.logistics-chip--un {
  background: rgba(180, 83, 9, 0.08);
  border-color: rgba(180, 83, 9, 0.22);
  color: #b45309;
  font-weight: 600;
}
.logistics-chip--muted {
  background: transparent;
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.logistics-card__meta .badge {
  font-size: 0.68rem;
}
.logistics-day-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: var(--radius);
  padding: 0.65rem 1rem;
  margin-bottom: 1rem;
}
.logistics-day-bar__nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.logistics-day-bar__btn {
  padding: 0.4rem 0.65rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  font-family: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  color: var(--mc-navy);
}
.logistics-day-bar__btn:hover:not(:disabled) { background: var(--mc-border); }
.logistics-day-bar__btn:disabled { opacity: 0.4; cursor: not-allowed; }
.logistics-day-bar__btn--today { font-weight: 600; }
.logistics-day-bar__label {
  font-weight: 700;
  color: var(--mc-navy);
  font-size: 0.95rem;
  text-align: center;
  flex: 1;
  min-width: 12rem;
}
.logistics-day-bar__badge {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mc-primary);
  margin-left: 0.35rem;
}
.logistics-day-panel { margin-bottom: 0.5rem; }

.roadmap { display: flex; flex-direction: column; gap: 0.65rem; }
.roadmap-phase {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  box-shadow: var(--shadow);
}
.roadmap-phase__num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--mc-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--mc-navy);
  font-size: 0.85rem;
}
.roadmap-phase strong { display: block; color: var(--mc-navy); margin-bottom: 0.15rem; }
.roadmap-phase span { font-size: 0.85rem; color: var(--mc-text-muted); }
.roadmap-phase--current { border-color: var(--mc-primary); border-width: 2px; }
.roadmap-phase--current .roadmap-phase__num { background: var(--mc-primary); color: white; }
.roadmap-phase--future { border-style: dashed; opacity: 0.85; }
.roadmap-phase--done { opacity: 0.7; }

.domain-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}
.domain-chip {
  padding: 0.75rem;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.85rem;
  text-align: center;
}
.domain-chip--com { background: #e8f6f1; color: var(--mc-primary-dark); }
.domain-chip--fin { background: #eef1f4; color: var(--mc-text-muted); }
.domain-chip--aco { background: #d4edda; color: #155724; }
.domain-chip--log { background: #e8f4fd; color: #0c5460; }

.portal-mock {
  max-width: 720px;
  margin: 0 auto;
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.portal-mock__header {
  background: linear-gradient(135deg, var(--mc-primary), var(--mc-navy));
  color: white;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 600;
}
.portal-mock__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding: 1.25rem;
}
.portal-tile {
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  padding: 1rem;
}
.portal-tile strong { display: block; font-size: 0.9rem; color: var(--mc-heading); }
.portal-tile span { font-size: 0.78rem; color: var(--mc-text-muted); }
.portal-tile__val { font-size: 1.25rem; font-weight: 700; margin-top: 0.35rem; color: var(--mc-heading); }
.portal-tile--cta { border-color: var(--mc-primary); background: var(--mc-bg-inset); }

/* Ficha cliente */
.ficha-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.ficha-back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-white);
  color: var(--mc-heading);
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.ficha-back:hover { background: var(--mc-bg-hover); border-color: var(--mc-primary); }
.ficha-sync-hint { font-size: 0.78rem; color: var(--mc-text-muted); }
.ficha-state__inner.mc-loading {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
}
.ficha-panel-loading {
  padding: 2rem 1rem 2.5rem;
  min-height: 12rem;
}
.ficha-shell__kpis .client-kpi__val {
  color: var(--mc-text-muted);
  opacity: 0.85;
}
.ficha-shell__badge {
  opacity: 0.65;
}
.ficha-state { padding: 2.5rem 1rem; text-align: center; }
.ficha-state__inner {
  display: inline-block;
  padding: 1.25rem 1.5rem;
  border-radius: var(--radius);
  background: var(--mc-white);
  border: 1px solid var(--mc-border);
  color: var(--mc-text-muted);
  font-size: 0.92rem;
}
.ficha-state__inner--error { color: var(--mc-danger); border-color: #f5c2c7; background: #fff5f5; }
.client-header__identity {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.client-header__avatar {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--mc-primary) 0%, var(--mc-primary-dark) 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}
.client-header__loc {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin-top: 0.35rem;
}
.client-header__grupo {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  margin-top: 0.25rem;
}
.client-header__contact-row {
  margin-top: 0.35rem;
  font-size: 0.82rem;
}
.client-header__contact {
  color: var(--mc-primary-dark);
  text-decoration: none;
}
.client-header__contact:hover { text-decoration: underline; }
.cliente-contact { display: grid; gap: 0.55rem; }
.cliente-contact__row {
  display: grid;
  grid-template-columns: minmax(110px, 140px) 1fr;
  gap: 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--mc-border);
}
.cliente-contact__row:last-child { border-bottom: none; }
.cliente-contact__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-text-muted);
}
.cliente-contact__val {
  font-size: 0.88rem;
  color: var(--mc-navy);
  word-break: break-word;
}
.cliente-contact__link {
  color: var(--mc-primary-dark);
  text-decoration: none;
}
.cliente-contact__link:hover { text-decoration: underline; }
.cliente-contact__wa {
  margin-left: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #128c7e;
  text-decoration: none;
}
.cliente-contact__wa:hover { text-decoration: underline; }
.card__hint { font-size: 0.78rem; color: var(--mc-text-muted); font-weight: 500; }
.ficha-dl { display: grid; gap: 0.65rem; margin: 0; }
.ficha-dl__row {
  display: grid;
  grid-template-columns: minmax(120px, 160px) 1fr;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--mc-border);
}
.ficha-dl__row:last-child { border-bottom: none; }
.ficha-dl dt { margin: 0; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--mc-text-muted); }
.ficha-dl dd { margin: 0; font-size: 0.92rem; color: var(--mc-heading); font-weight: 500; }
.ficha-empty {
  text-align: center;
  padding: 2rem 1rem;
}
.ficha-empty--compact {
  margin-top: 1.25rem;
  padding: 1.25rem 1rem;
  border-top: 1px dashed var(--mc-border);
}
.ficha-empty__icon {
  font-size: 1.5rem;
  color: var(--mc-primary);
  opacity: 0.5;
  margin-bottom: 0.5rem;
}
.ficha-empty__title { margin: 0 0 0.35rem; font-size: 1rem; color: var(--mc-heading); }
.ficha-empty__text { margin: 0; font-size: 0.88rem; color: var(--mc-text-muted); max-width: 36rem; margin-inline: auto; }
.ficha-empty__hint { margin: 0.65rem 0 0; font-size: 0.78rem; color: var(--mc-text-muted); opacity: 0.85; }
.ficha-muted { font-size: 0.82rem; color: var(--mc-text-muted); margin: 0 0 1rem; }
.ficha-section-title { font-size: 0.85rem; margin: 1.25rem 0 0.75rem; color: var(--mc-heading); }
.cc-stat__val--danger { color: var(--mc-danger); }
.semaforo--crit { background: #f8d7da; color: #721c24; border: 3px solid var(--mc-danger); }

/* Ficha cliente — skin Plan BPC */
#screen-cliente {
  --ficha-p: #1e40af;
  --ficha-p2: #192f3f;
  --ficha-bg: #f4f6f9;
  --ficha-card: #fff;
  --ficha-bord: #e5e7eb;
  margin: -1.5rem -1.75rem 0;
  padding: 0 1.75rem 6rem;
  background: var(--ficha-bg);
}
#screen-cliente .ficha-nav {
  padding-top: 0.85rem;
  margin-bottom: 0;
}
#screen-cliente .ficha-back {
  background: var(--ficha-card);
  border-color: var(--ficha-bord);
}
#screen-cliente .client-header--bpc {
  margin: 0 -1.75rem 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
#screen-cliente .client-header__banner {
  background: linear-gradient(135deg, #192f3f 0%, #243d4f 52%, #1e40af 100%);
  color: #fff;
  padding: 1.15rem 1.75rem 1rem;
  border-bottom: 3px solid #2563eb;
}
#screen-cliente .client-header__top { margin-bottom: 0; }
#screen-cliente .client-header h1 {
  margin: 0 0 0.25rem;
  font-size: 1.35rem;
  font-weight: 600;
  color: #fff;
}
#screen-cliente .client-header__code {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.84);
}
#screen-cliente .client-header__meta,
#screen-cliente .client-header__loc,
#screen-cliente .client-header__grupo {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
}
#screen-cliente .client-header__contact {
  color: #bfdbfe;
}
#screen-cliente .client-header__contact:hover { color: #fff; }
#screen-cliente .client-header__avatar {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 10px;
  box-shadow: none;
}
#screen-cliente .client-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.85rem;
  padding: 0.9rem 1.75rem 1rem;
  margin: 0 -1.75rem 1rem;
  background: var(--ficha-bg);
}
#screen-cliente .client-kpi {
  background: var(--ficha-card);
  border: 1px solid var(--ficha-bord);
  border-radius: 10px;
  padding: 0.85rem 1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
#screen-cliente .client-kpi--cc { border-left: 4px solid #1e40af; }
#screen-cliente .client-kpi__label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: #6b7280;
  margin-bottom: 0.2rem;
}
#screen-cliente .client-kpi__val {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ficha-p);
  line-height: 1.25;
}
#screen-cliente .client-kpi__val--sm { font-size: 0.92rem; }
#screen-cliente .cliente-tabs {
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--ficha-bord);
  gap: 0.15rem;
}
#screen-cliente .cliente-tabs .tab {
  font-size: 0.82rem;
  padding: 0.55rem 0.95rem;
  margin-bottom: -2px;
  border-bottom-width: 3px;
}
#screen-cliente .cliente-tabs .tab:hover { color: var(--ficha-p); }
#screen-cliente .cliente-tabs .tab.active {
  color: var(--ficha-p);
  border-bottom-color: var(--ficha-p);
}
#screen-cliente .client-panel .card {
  border-radius: 10px;
  border: 1px solid var(--ficha-bord);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
#screen-cliente .card__head h2,
#screen-cliente .ficha-section-title,
#screen-cliente .acopio-saldo__head h3,
#screen-cliente .acopio-gestion .card__head h3 {
  color: var(--ficha-p);
  font-weight: 600;
}
#screen-cliente .card__head h2 { font-size: 0.95rem; margin: 0; }
#screen-cliente table.data thead th,
#screen-cliente .acopio-saldo-table thead th {
  background: #1e40af;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  border: none;
}
#screen-cliente table.data tbody tr:nth-child(even) td { background: #fafbfd; }
#screen-cliente table.data tbody tr:hover td,
#screen-cliente .acopio-saldo-table tbody tr:hover td { background: #eef3f8; }
#screen-cliente .acopio-saldo {
  background: var(--ficha-card);
  border: 1px solid var(--ficha-bord);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
#screen-cliente .acopio-saldo-kpi {
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
#screen-cliente .acopio-saldo-kpi--total { border-left: 4px solid #1e40af; }
#screen-cliente .acopio-saldo-kpi__label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}
#screen-cliente .acopio-saldo-kpi__val {
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--ficha-p);
}
#screen-cliente .acopio-saldo-kpi__val--ok { color: #2e7d32; }
#screen-cliente .acopio-saldo-kpi__val--warn { color: #c62828; }
#screen-cliente .client-panel .acopio-ficha {
  border-color: var(--ficha-bord);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
#screen-cliente .acopio-ficha__header {
  background: linear-gradient(135deg, #f8fafc 0%, #e8eef8 100%);
}
#screen-cliente .acopio-ficha__hero-metric {
  border-radius: 12px;
}
#screen-cliente .acopio-disclosure {
  border-radius: 10px;
  border-color: var(--ficha-bord);
  background: #fafbfd;
}
#screen-cliente .acopio-disclosure--circuito .acopio-disclosure__body {
  padding-top: 0.75rem;
}
#screen-cliente .acopio-pendientes {
  border-color: var(--ficha-bord);
  border-radius: 12px;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
#screen-cliente .acopio-pendientes__title {
  font-size: 0.95rem;
}
#screen-cliente .acopio-circuito-table thead th,
#screen-cliente .acopio-saldo-table thead th {
  background: #1e40af;
  color: #fff;
}
#screen-cliente .ficha-section-title {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#screen-cliente .cc-summary {
  border-radius: 10px;
  border: 1px solid var(--ficha-bord);
  background: var(--ficha-card);
}
#screen-cliente .tl-card {
  border-radius: 10px;
  border-color: var(--ficha-bord);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

@media (max-width: 1100px) {
  .logistics-board--compact { grid-template-columns: repeat(2, 1fr); }
  .acopio-split { grid-template-columns: 1fr; }
  .acopio-saldo-kpis { grid-template-columns: 1fr; }
  .acopio-cuentas__grid { grid-template-columns: 1fr; }
  .acopio-cuentas-detail { grid-template-columns: 1fr; }
  .acopio-articulos__summary { grid-template-columns: 1fr; }
  .compose-grid { grid-template-columns: 1fr; }
  .compose-panel--full, .compose-panel--actions { grid-column: auto; }
}

/* Notebook: más espacio útil + densificar Armar pedido (sin apilar a 1 col) */
@media (max-width: 1399px) {
  :root {
    --sidebar-w: 220px;
  }

  .sidebar__brand {
    padding: 0.9rem 0.85rem 0.75rem;
  }
  .sidebar__brand img { height: 32px; }
  .sidebar__nav { padding: 0.4rem 0.5rem; }
  .nav-item { padding: 0.45rem 0.55rem; font-size: 0.82rem; }

  .pedido-layout { gap: 0.75rem; }
  .pedido-context-strip {
    grid-template-columns: 1.1fr 1fr 0.95fr;
    gap: 0.42rem;
  }
  .pedido-context-card {
    padding: 0.38rem 0.55rem 0.4rem;
  }
  .pedido-context-card__title { font-size: 0.72rem; }
  .pedido-stat dd { font-size: 0.72rem; }
  .pedido-context-card__body { font-size: 0.72rem; }

  .pedido-toolbar {
    gap: 0.5rem 0.65rem;
    margin-bottom: 0.55rem;
  }
  .pedido-toolbar__cond-row {
    flex-direction: row;
    gap: 0.5rem;
  }
  .pedido-toolbar .pedido-draft-meta {
    flex: 1.35 1 22rem;
    min-width: min(100%, 18rem);
    padding: 0.45rem 0.6rem 0.55rem;
  }
  .pedido-toolbar .pedido-draft-dto {
    flex: 0.95 1 14rem;
    min-width: min(100%, 12.5rem);
  }
  .pedido-toolbar #pedido-tango-summary {
    flex: 0.85 1 10rem;
    min-width: min(100%, 9rem);
  }
  .pedido-draft-meta__field { min-width: 6.25rem; }
  .pedido-draft-meta__field input[type="date"] { min-width: 0; }
  .pedido-draft-meta__title,
  .pedido-draft-dto__title,
  .pedido-tango-summary__title {
    font-size: 0.64rem;
    margin-bottom: 0.25rem;
  }
  .pedido-dto-edit-btn {
    font-size: 0.66rem;
    padding: 0.3rem 0.45rem;
  }

  .pedido-footer {
    margin: 0.65rem -0.85rem -0.85rem;
    padding: 0.65rem 0.85rem;
    gap: 0.5rem 0.75rem;
  }
  .pedido-footer__actions {
    flex: 1 1 auto;
    justify-content: flex-end;
  }
  .pedido-footer__actions .btn {
    padding: 0.45rem 0.75rem;
    font-size: 0.82rem;
  }
}

/* Armar pedido apilado solo en pantallas chicas */
@media (max-width: 900px) {
  .pedido-top { grid-template-columns: 1fr; }
  .pedido-context-strip { grid-template-columns: 1fr; }
  .pedido-stat-grid--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pedido-line-card__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pedido-field--precio { grid-column: span 2; }
  .pedido-toolbar { flex-direction: column; align-items: stretch; }
  .pedido-toolbar__cond-row { flex-direction: column; }
  .pedido-toolbar .pedido-draft-meta { flex-wrap: wrap; }
  .pedido-toolbar .pedido-draft-dto { flex: 1 1 auto; }
  .pedido-toolbar #pedido-tango-summary { flex: 1 1 auto; }
  .pedido-footer__actions { justify-content: stretch; }
  .pedido-footer__actions .btn { flex: 1 1 auto; }
}

@media (max-width: 768px) {
  .logistics-col { flex: 0 0 85%; min-width: 85%; }
  .portal-mock__grid { grid-template-columns: 1fr; }
}

.usuarios-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: 1.25rem;
  align-items: start;
}
.usuarios-form h3 {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  color: var(--mc-navy);
}
.usuarios-form .field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.65rem;
  font-size: 0.82rem;
}
.usuarios-form .field span { color: var(--mc-text-muted); }
.usuarios-form input,
.usuarios-form select {
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  padding: 0.45rem 0.55rem;
  font: inherit;
}
.usuarios-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.usuarios-table-wrap { min-width: 0; }
.usuarios-groups,
#usuarios-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}
.usuarios-group {
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-surface, #fff);
  overflow: hidden;
}
.usuarios-group__head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.9rem;
  border: 0;
  background: var(--mc-surface-2, #f4f7fa);
  color: var(--mc-navy);
  font: inherit;
  font-weight: 600;
  font-size: 0.88rem;
  text-align: left;
  cursor: pointer;
}
.usuarios-group__head:hover {
  background: color-mix(in srgb, var(--mc-navy) 6%, var(--mc-surface-2, #f4f7fa));
}
.usuarios-group.is-open .usuarios-group__head {
  border-bottom: 1px solid var(--mc-border);
}
.usuarios-group__title { flex: 1; }
.usuarios-group__count {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  background: var(--mc-surface, #fff);
  border: 1px solid var(--mc-border);
  border-radius: 999px;
  min-width: 1.5rem;
  padding: 0.1rem 0.45rem;
  text-align: center;
}
.usuarios-group__chev {
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--mc-text-muted);
  border-bottom: 2px solid var(--mc-text-muted);
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
  margin-right: 0.15rem;
}
.usuarios-group.is-open .usuarios-group__chev {
  transform: rotate(45deg);
  margin-top: -0.15rem;
}
.usuarios-group__body {
  padding: 0;
}
.usuarios-group__body .table-wrap {
  border: 0;
  border-radius: 0;
  overflow: visible;
}
.usuarios-group__body .data {
  margin: 0;
}
.usuarios-empty {
  color: var(--mc-text-muted);
  font-size: 0.85rem;
  padding: 0.75rem 0;
}
.usuarios-muted { color: var(--mc-text-muted); font-size: 0.78rem; }
.usuarios-actions {
  text-align: right;
  width: 3rem;
  white-space: nowrap;
}
.usuarios-actions-menu {
  position: relative;
  display: inline-flex;
  justify-content: flex-end;
}
.usuarios-actions-menu__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--mc-text-muted);
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.usuarios-actions-menu__trigger:hover,
.usuarios-actions-menu.is-open .usuarios-actions-menu__trigger {
  border-color: var(--mc-border);
  background: var(--mc-surface-2, #f4f7fa);
  color: var(--mc-navy);
}
.usuarios-actions-menu__trigger:focus-visible {
  outline: 2px solid var(--mc-accent, #2563eb);
  outline-offset: 2px;
}
.usuarios-actions-menu__panel {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 50;
  min-width: 12rem;
  padding: 0.35rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-surface, #fff);
  box-shadow: 0 10px 28px rgba(15, 35, 55, 0.14);
}
.usuarios-actions-menu.is-open .usuarios-actions-menu__panel {
  display: block;
}
.usuarios-actions-menu__item {
  display: block;
  width: 100%;
  padding: 0.48rem 0.65rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font: inherit;
  font-size: 0.82rem;
  text-align: left;
  color: var(--mc-text);
  cursor: pointer;
}
.usuarios-actions-menu__item:hover {
  background: var(--mc-surface-2, #f4f7fa);
}
.usuarios-actions-menu__item--danger {
  color: var(--mc-danger);
}
.usuarios-actions-menu__item--danger:hover {
  background: color-mix(in srgb, var(--mc-danger) 10%, var(--mc-surface, #fff));
}
.usuarios-actions-menu__sep {
  height: 1px;
  margin: 0.3rem 0.35rem;
  background: var(--mc-border);
}
.usuarios-group.is-open {
  overflow: visible;
}
.usuarios-btn-danger { color: var(--mc-danger); }
.usuarios-msg { font-size: 0.82rem; margin: 0.35rem 0 0; }
.usuarios-msg--ok { color: var(--mc-success); }
.usuarios-msg--err { color: var(--mc-danger); }
.usuarios-mode {
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  margin: 0 0 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.usuarios-mode legend {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  padding: 0 0.25rem;
}
.usuarios-mode__opt {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.82rem;
  cursor: pointer;
}
.usuarios-mode-hint {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.usuarios-access-copy {
  margin-top: 0.65rem;
  padding: 0.75rem;
  border-radius: 8px;
  background: var(--mc-surface-2, #f4f7fa);
  border: 1px solid var(--mc-border);
}
.usuarios-access-copy__lead {
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.usuarios-access-copy textarea {
  width: 100%;
  font-family: ui-monospace, monospace;
  font-size: 0.72rem;
  line-height: 1.4;
  padding: 0.5rem;
  border: 1px solid var(--mc-border);
  border-radius: 6px;
  resize: vertical;
  margin-bottom: 0.5rem;
}
.cartera-row__cuentas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}
.cliente-cuenta-badge { font-size: 0.68rem; font-weight: 600; }
.card__head--toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.card__head--toolbar .cartera-select { min-width: 12rem; }
.equipo-muted { color: var(--mc-text-muted); font-size: 0.78rem; }
.equipo-msg--err { color: var(--mc-danger); }
.equipo-ubicacion-block + .equipo-ubicacion-block { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--mc-border); }
.equipo-ubicacion-title { margin: 0 0 0.5rem; font-size: 0.85rem; color: var(--mc-heading); }
.admin-placeholder { color: var(--mc-text-muted); font-size: 0.88rem; margin: 0; line-height: 1.5; }
@media (max-width: 900px) {
  .usuarios-layout { grid-template-columns: 1fr; }
}

/* Diálogo de confirmación / aviso */
.mc-dialog {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.mc-dialog.hidden { display: none; }
.mc-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(25, 47, 63, 0.52);
  backdrop-filter: blur(4px);
}
.mc-dialog__panel {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  background: var(--mc-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: 1.75rem 1.75rem 1.5rem;
  text-align: center;
  animation: mc-dialog-in 0.22s ease-out;
}
@keyframes mc-dialog-in {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.mc-dialog__icon {
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(88, 175, 145, 0.12);
  color: var(--mc-primary-dark);
}
.mc-dialog__icon svg { width: 1.5rem; height: 1.5rem; }
.mc-dialog--mail .mc-dialog__icon {
  background: rgba(88, 175, 145, 0.12);
  color: var(--mc-primary-dark);
}
.mc-dialog--warning .mc-dialog__icon {
  background: rgba(240, 173, 78, 0.15);
  color: #b45309;
}
.mc-dialog--danger .mc-dialog__icon {
  background: rgba(220, 53, 69, 0.1);
  color: var(--mc-danger);
}
.mc-dialog--success .mc-dialog__icon {
  background: rgba(40, 167, 69, 0.12);
  color: var(--mc-success);
}
.mc-dialog__title {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--mc-navy);
  line-height: 1.3;
}
.mc-dialog__message {
  margin: 0;
  font-size: 0.92rem;
  color: var(--mc-text-muted);
  line-height: 1.55;
}
.mc-dialog__detail {
  margin: 0.65rem 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--mc-navy);
  word-break: break-word;
}
.mc-dialog__actions {
  display: flex;
  gap: 0.65rem;
  justify-content: center;
  margin-top: 1.35rem;
}
.mc-dialog__actions .btn--dialog {
  min-width: 7.5rem;
  padding: 0.65rem 1.1rem;
  font-size: 0.88rem;
}
.mc-dialog__actions .btn--dialog.btn--ghost {
  color: var(--mc-text);
  border: 1px solid var(--mc-border);
  background: var(--mc-white);
}
.mc-dialog__actions .btn--dialog.btn--ghost:hover {
  background: var(--mc-surface);
  transform: none;
}
.mc-dialog__actions .btn--dialog.btn--danger {
  background: var(--mc-danger);
  color: #fff;
  box-shadow: 0 4px 16px rgba(220, 53, 69, 0.25);
}
.mc-dialog__actions .btn--dialog.btn--danger:hover {
  background: #c82333;
}
.mc-dialog__close {
  position: absolute;
  top: 0.65rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--mc-text-muted);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 6px;
}
.mc-dialog__close:hover {
  background: var(--mc-surface);
  color: var(--mc-text);
}
.mc-dialog--alert .mc-dialog__actions {
  justify-content: center;
}
.mc-dialog--alert .mc-dialog__actions .btn--dialog {
  min-width: 9rem;
}

/* ── Toasts ── */
.mc-toast-stack {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 12000;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: min(22rem, calc(100vw - 2rem));
  pointer-events: none;
}
.mc-toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--mc-border, #dde3ea);
  box-shadow: 0 10px 28px rgba(25, 47, 63, 0.14);
  animation: mc-toast-in 0.22s ease-out;
}
.mc-toast--out {
  animation: mc-toast-out 0.2s ease-in forwards;
}
@keyframes mc-toast-in {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes mc-toast-out {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(12px); }
}
.mc-toast__icon {
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.mc-toast--error .mc-toast__icon { color: var(--mc-danger, #c0392b); }
.mc-toast--warning .mc-toast__icon { color: var(--mc-warning, #d68910); }
.mc-toast--success .mc-toast__icon { color: var(--mc-primary, #58af91); }
.mc-toast--info .mc-toast__icon { color: var(--mc-navy, #192f3f); }
.mc-toast__text {
  flex: 1;
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--mc-navy, #192f3f);
}
.mc-toast__close {
  flex-shrink: 0;
  border: none;
  background: none;
  color: #8a97a6;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 0.1rem;
}
.mc-toast__close:hover { color: var(--mc-navy, #192f3f); }
.mc-toast--error { border-left: 4px solid var(--mc-danger, #c0392b); }
.mc-toast--warning { border-left: 4px solid var(--mc-warning, #d68910); }
.mc-toast--success { border-left: 4px solid var(--mc-primary, #58af91); }
.mc-toast--info { border-left: 4px solid var(--mc-navy, #192f3f); }

/* ─── Configuración · selector de tema ─── */
.settings-lead {
  margin: 0 0 1.1rem;
  font-size: 0.88rem;
  color: var(--mc-text-muted);
  max-width: 42rem;
}
.settings-theme {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
.settings-theme__option {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1.5px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-white);
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.settings-theme__option:hover {
  border-color: var(--mc-primary);
  background: var(--mc-surface);
}
.settings-theme__option:has(input:checked) {
  border-color: var(--mc-primary);
  box-shadow: 0 0 0 1px rgba(88, 175, 145, 0.35);
  background: rgba(88, 175, 145, 0.06);
}
.settings-theme__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.settings-theme__preview {
  display: block;
  height: 4.5rem;
  border-radius: 8px;
  border: 1px solid var(--mc-border);
  overflow: hidden;
}
.settings-theme__preview--light {
  background: linear-gradient(180deg, #f0f3f5 0%, #f0f3f5 38%, #ffffff 38%, #ffffff 100%);
  box-shadow: inset 0 0 0 1px rgba(25, 47, 63, 0.04);
}
.settings-theme__preview--light::before {
  content: "";
  display: block;
  height: 38%;
  background: linear-gradient(155deg, #192f3f 0%, #122636 100%);
}
.settings-theme__preview--dark {
  background: linear-gradient(180deg, #0e1419 0%, #0e1419 38%, #1a2332 38%, #1a2332 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.settings-theme__preview--dark::before {
  content: "";
  display: block;
  height: 38%;
  background: linear-gradient(155deg, #192f3f 0%, #0d1922 100%);
}
.settings-theme__preview--system {
  background: linear-gradient(90deg, #f0f3f5 0%, #f0f3f5 50%, #0e1419 50%, #1a2332 100%);
  position: relative;
}
.settings-theme__preview--system::before {
  content: "";
  position: absolute;
  inset: 0 50% 62% 0;
  background: linear-gradient(155deg, #192f3f 0%, #122636 100%);
}
.settings-theme__preview--system::after {
  content: "";
  position: absolute;
  inset: 0 0 62% 50%;
  background: linear-gradient(155deg, #192f3f 0%, #0d1922 100%);
}
.settings-theme__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.settings-theme__copy strong {
  font-size: 0.92rem;
  color: var(--mc-heading);
}
.settings-theme__copy small {
  font-size: 0.76rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.settings-card + .settings-card {
  margin-top: 1rem;
}

.logistica-interdep-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.logistica-interdep-ruta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-interdep-ruta__nodo {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 10rem;
}
.logistica-interdep-ruta__nodo strong {
  font-size: 0.92rem;
}
.logistica-interdep-ruta__arrow {
  font-size: 1.35rem;
  color: var(--mc-text-muted);
  line-height: 1;
}
.logistica-interdep-nota {
  margin: 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.logistica-faltante-accion {
  display: inline-flex;
  align-items: stretch;
  max-width: 100%;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid transparent;
  font-size: 0.72rem;
  line-height: 1.15;
  white-space: nowrap;
  vertical-align: middle;
  box-shadow: 0 1px 2px rgba(15, 40, 71, 0.06);
}
.logistica-faltante-accion__tag,
.logistica-faltante-accion__where {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.5rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.logistica-faltante-accion__where {
  font-weight: 600;
  font-size: 0.68rem;
  border-left: 1px solid rgba(15, 40, 71, 0.08);
}
.logistica-faltante-accion--fabricar {
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  border-color: #fdba74;
  color: #9a3412;
}
.logistica-faltante-accion--fabricar .logistica-faltante-accion__where {
  background: rgba(251, 146, 60, 0.14);
  color: #c2410c;
}
.logistica-faltante-accion--mover {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border-color: #93c5fd;
  color: #1e40af;
}
.logistica-faltante-accion--mover .logistica-faltante-accion__where {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}
.logistica-faltante-accion--separar {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border-color: #86efac;
  color: #166534;
}
.logistica-faltante-accion--separar .logistica-faltante-accion__where {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
}
.logistica-faltante-accion--revisar {
  background: var(--mc-bg-subtle, #f3f4f6);
  border-color: var(--mc-border);
  color: var(--mc-text-muted);
}
#screen-logistica-faltantes .logistics-table td:has(.logistica-faltante-accion) {
  min-width: 8.75rem;
}
.logistica-stock-neg {
  color: var(--mc-danger);
  font-weight: 600;
}
.logistica-faltante-accion-cell {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.logistica-faltante-accion-cell .logistica-faltante-accion {
  flex-shrink: 0;
}
.logistica-faltante-accion-btns {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.logistica-faltante-act-btn,
.logistica-faltante-encolar-btn {
  flex-shrink: 0;
  padding: 0.28rem 0.55rem;
  font-size: 0.72rem;
}
.logistica-faltante-accion-col {
  min-width: 13.5rem;
  white-space: normal;
}
#screen-logistica-faltantes .logistics-table .logistica-faltante-accion-col {
  min-width: 14.5rem;
}
.logistica-prod-fab-row--highlight {
  background: color-mix(in srgb, var(--mc-warning) 14%, transparent);
  box-shadow: inset 3px 0 0 var(--mc-warning);
}
.logistica-faltantes-interdep-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--mc-accent) 35%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-accent) 8%, var(--mc-surface));
}
.logistica-faltantes-interdep-bar__text {
  font-size: 0.88rem;
}
.logistica-faltantes-interdep-bar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.logistica-interdep-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
  gap: 0.5rem;
}
.logistica-interdep-kpi {
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-interdep-kpi--warn {
  border-color: color-mix(in srgb, var(--mc-warning) 45%, var(--mc-border));
}
.logistica-interdep-kpi--crit {
  border-color: color-mix(in srgb, var(--mc-danger) 45%, var(--mc-border));
}
.logistica-interdep-kpi__label {
  display: block;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
}
.logistica-interdep-kpi__value {
  display: block;
  font-size: 1.05rem;
  font-weight: 600;
  margin-top: 0.1rem;
}
.logistica-interdep-table-wrap {
  margin-top: 0.25rem;
}
.logistica-interdep-control {
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  padding: 0.65rem 0.85rem;
  background: var(--mc-surface);
}
.logistica-interdep-control__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  list-style: none;
}
.logistica-interdep-control__head::-webkit-details-marker {
  display: none;
}
.logistica-interdep-control__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
}
.logistica-interdep-diff {
  color: var(--mc-danger);
  font-weight: 600;
}
.logistica-interdep-comp {
  font-size: 0.78rem;
}
.logistica-interdep-remitos,
.logistica-interdep-cola-grupos {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.logistica-interdep-cola-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}
.logistica-interdep-cliente__name {
  font-size: 0.92rem;
  color: var(--mc-navy);
}
.logistica-interdep-remitos-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
  margin-bottom: 0.15rem;
}
.logistica-interdep-remito {
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-white);
  overflow: hidden;
}
.logistica-interdep-remito__head {
  display: block;
  padding: 0.65rem 0.75rem;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(180deg, rgba(15, 40, 71, 0.04), transparent);
}
.logistica-interdep-remito__head::-webkit-details-marker {
  display: none;
}
.logistica-interdep-remito[open] .logistica-interdep-remito__head {
  border-bottom: 1px solid var(--mc-border);
}
.logistica-interdep-remito__summary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}
.logistica-interdep-remito__chev {
  width: 0.45rem;
  height: 0.45rem;
  margin-top: 0.35rem;
  border-right: 2px solid var(--mc-text-muted);
  border-bottom: 2px solid var(--mc-text-muted);
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
  flex-shrink: 0;
}
.logistica-interdep-remito[open] .logistica-interdep-remito__chev {
  transform: rotate(45deg);
  margin-top: 0.28rem;
}
.logistica-interdep-remito__main {
  flex: 1;
  min-width: 0;
}
.logistica-interdep-remito__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
}
.logistica-interdep-remito__fecha {
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  min-width: 4.5rem;
}
.logistica-interdep-remito__rel {
  margin-left: 0.35rem;
  font-size: 0.72rem;
  color: var(--mc-primary-dark);
  font-weight: 600;
}
.logistica-interdep-remito__stats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-left: auto;
}
.logistica-interdep-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  background: rgba(15, 40, 71, 0.06);
  color: var(--mc-navy);
}
.logistica-interdep-chip--ref {
  background: rgba(15, 40, 71, 0.08);
}
.logistica-interdep-chip--kg {
  background: rgba(22, 163, 74, 0.1);
  color: var(--mc-success, #15803d);
}
.logistica-interdep-remito__sub {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-interdep-remito__preview {
  color: var(--mc-navy);
  font-weight: 600;
}
.logistica-interdep-remito__obs {
  font-style: italic;
}
.logistica-interdep-row--detail td {
  font-size: 0.88rem;
}
.logistica-interdep-group-hint {
  margin: 0.65rem 0 0;
  font-size: 0.78rem;
}

/* O-T / O-D — Form-13 / Form-14 (planilla DESPACHO 2026) */
.logistica-ot-stack .logistics-day-bar.logistica-ot-toolbar {
  margin-bottom: 0;
}
.logistica-otod-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.5rem;
}
.logistica-otod-toolbar__actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.logistica-kpis--ot {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1rem;
}
@media (max-width: 900px) {
  .logistica-kpis--ot { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .logistica-kpis--ot { grid-template-columns: 1fr; }
}
.logistica-ot-picker-section .card__body {
  padding: 0.65rem 0.75rem 0.75rem;
}
.logistica-ot-grupos-toolbar {
  margin-bottom: 0.65rem;
}
.logistica-ot-grupos {
  max-height: min(62vh, 720px);
  overflow: auto;
  padding-right: 0.15rem;
}
.logistica-ot-grupo.logistica-interdep-remito {
  overflow: visible;
}
.logistica-ot-grupo[open] > .logistica-ot-grupo-table-wrap {
  max-height: min(420px, 48vh);
  overflow: auto;
  border-top: 1px solid var(--mc-border);
  background: var(--mc-surface);
}
.logistica-ot-grupos-hint {
  margin: 0.65rem 0 0;
}
.logistica-ot-grupo-summary {
  align-items: flex-start;
}
.logistica-ot-grupo-check {
  margin-top: 0.15rem;
  flex-shrink: 0;
}
.logistica-ot-grupo--partial > .logistica-interdep-remito__head,
.logistica-ot-grupo--all > .logistica-interdep-remito__head {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mc-success) 12%, transparent), transparent),
    linear-gradient(180deg, rgba(15, 40, 71, 0.04), transparent);
  box-shadow: inset 3px 0 0 var(--mc-success);
}
.logistica-ot-grupo .logistica-ot-pick-row--on td {
  background: color-mix(in srgb, var(--mc-success) 11%, var(--mc-surface));
}
.logistica-ot-grupo .logistica-ot-pick-row--on td:first-child {
  box-shadow: inset 3px 0 0 var(--mc-success);
}
.logistica-ot-grupo .logistica-ot-picker-table {
  table-layout: fixed;
  width: 100%;
}
.logistica-ot-grupo .logistica-ot-picker-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--mc-bg-subtle, #f8fafc) 92%, var(--mc-white));
  box-shadow: 0 1px 0 var(--mc-border);
  font-size: 0.72rem;
}
.logistica-ot-grupo .logistica-ot-picker-table tbody td {
  vertical-align: middle;
}
.logistica-ot-picker-foot {
  margin: 0;
  padding: 0.65rem 1.1rem 0.9rem;
}
.logistica-otod-pick-wrap {
  max-height: min(62vh, 720px);
  overflow: auto;
}
.logistica-ot-picker-table thead th,
.logistica-otod-pick-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--mc-bg-subtle, #f8fafc) 92%, var(--mc-white));
  box-shadow: 0 1px 0 var(--mc-border);
}
.logistica-ot-pick-row__check,
.logistica-otod-pick-row__check {
  width: 2.6rem;
  text-align: center;
  vertical-align: middle;
}
.logistica-ot-check {
  width: 1rem;
  height: 1rem;
  accent-color: var(--mc-success, #15803d);
  cursor: pointer;
}
.logistica-ot-pick-row--locked td,
.logistica-otod-pick-row--locked td {
  background: color-mix(in srgb, var(--mc-primary) 5%, var(--mc-surface));
  color: var(--mc-text-muted);
}
.logistica-ot-pedido__num {
  font-size: 0.78rem;
  font-weight: 700;
}
.logistica-ot-material strong {
  font-size: 0.84rem;
}
.logistica-ot-stock {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.45rem;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}
.logistica-ot-stock--ok {
  background: #ecfdf5;
  color: #166534;
  border: 1px solid #86efac;
}
.logistica-ot-estado {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid transparent;
}
.logistica-ot-estado--picking {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #93c5fd;
}
.logistica-ot-estado--planta,
.logistica-ot-estado--enviada {
  background: #fff7ed;
  color: #c2410c;
  border-color: #fdba74;
}
.logistica-ot-estado--separada {
  background: #ecfdf5;
  color: #15803d;
  border-color: #86efac;
}
.logistica-ot-estado--parcial {
  background: #fef3c7;
  color: #b45309;
  border-color: #fcd34d;
}
.logistica-ot-estado--fail {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fca5a5;
}
.logistica-ot-estado--muted {
  background: var(--mc-bg-subtle, #f3f4f6);
  color: var(--mc-text-muted);
  border-color: var(--mc-border);
}
.logistica-ot-enviadas {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.logistica-ot-enviada-card {
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(15, 40, 71, 0.03), transparent);
  border-left-width: 3px;
  border-left-style: solid;
}
.logistica-ot-enviada-card--enviada {
  border-left-color: #c2410c;
}
.logistica-ot-enviada-card--en_picking {
  border-left-color: #2563eb;
}
.logistica-ot-enviada-card--separada {
  border-left-color: #15803d;
}
.logistica-ot-enviada-card--parcial {
  border-left-color: #b45309;
}
.logistica-ot-enviada-card--no_disponible {
  border-left-color: #b91c1c;
}
.logistica-ot-enviada-card--cancelada {
  border-left-color: var(--mc-text-muted);
}
.logistica-ot-enviada-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.logistica-ot-enviada-card__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  min-width: 0;
}
.logistica-ot-enviada-card__hora {
  font-size: 0.76rem;
  white-space: nowrap;
}
.logistica-ot-enviada-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.logistica-ot-enviada-card__num {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--mc-navy);
}
.logistica-ot-enviada-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.logistica-ot-empty {
  text-align: center;
  padding: 1.35rem 1rem;
  color: var(--mc-text-muted);
}
.logistica-ot-empty p {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  color: var(--mc-heading);
}
.logistica-otod-kpi {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--mc-text-muted);
}
.logistica-otod-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 1100px) {
  .logistica-otod-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr);
    align-items: start;
  }
  .logistica-otod-grid__side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.logistica-od-remito {
  font-size: 0.78rem;
  white-space: nowrap;
}
.logistica-od-remitos-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.logistica-otod-pick-row--on td {
  background: color-mix(in srgb, var(--mc-success) 11%, var(--mc-surface));
}
.logistica-otod-pick-row--on td:first-child {
  box-shadow: inset 3px 0 0 var(--mc-success);
}
.logistica-otod-pick-row--fail td {
  background: color-mix(in srgb, var(--mc-danger) 8%, var(--mc-surface));
}
.logistica-otod-pick-row--fail td:first-child {
  box-shadow: inset 3px 0 0 var(--mc-danger);
}
.logistica-otod-pick-row__report {
  width: 5.5rem;
  text-align: center;
  vertical-align: middle;
}
.mc-od-carga-report {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  min-width: 3.6rem;
  min-height: 2.75rem;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--mc-surface);
  color: var(--mc-text-muted);
  cursor: pointer;
  font: inherit;
  transition: border-color 0.15s, background 0.15s, color 0.15s, transform 0.12s;
}
.mc-od-carga-report__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
}
.mc-od-carga-report__txt {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.mc-od-carga-report--need {
  border-color: color-mix(in srgb, var(--mc-danger) 45%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-danger) 7%, var(--mc-surface));
  color: var(--mc-danger);
  animation: logistica-od-report-pulse 1.4s ease-in-out infinite;
}
.mc-od-carga-report--need .mc-od-carga-report__ico {
  background: color-mix(in srgb, var(--mc-danger) 14%, transparent);
}
.mc-od-carga-report--ok {
  border-color: color-mix(in srgb, var(--mc-success) 40%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-success) 8%, var(--mc-surface));
  color: color-mix(in srgb, var(--mc-success) 82%, var(--mc-heading));
}
.mc-od-carga-report--ok .mc-od-carga-report__ico {
  background: color-mix(in srgb, var(--mc-success) 16%, transparent);
  color: var(--mc-success);
}
.mc-od-carga-report:active {
  transform: scale(0.96);
}
.logistica-od-carga-motivo-badge {
  margin-left: 0.35rem;
  font-size: 0.68rem;
}
@keyframes logistica-od-report-pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mc-danger) 0%, transparent); }
  50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--mc-danger) 14%, transparent); }
}
.logistica-od-nocarga-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.logistica-od-nocarga-modal.hidden {
  display: none;
}
.logistica-od-nocarga-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.52);
  backdrop-filter: blur(4px);
}
.logistica-od-nocarga-modal__panel {
  position: relative;
  z-index: 1;
  width: min(36rem, 100%);
  max-height: min(88vh, 680px);
  overflow: auto;
  padding: 1.35rem 1.35rem 1.15rem;
  border-radius: 16px;
  background: var(--mc-white, var(--mc-surface));
  border: 1px solid var(--mc-border);
  box-shadow: 0 22px 56px rgba(15, 23, 42, 0.2);
  animation: logistica-od-nocarga-in 0.22s ease-out;
}
@keyframes logistica-od-nocarga-in {
  from { opacity: 0; transform: translateY(14px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.logistica-od-nocarga-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  width: 2.15rem;
  height: 2.15rem;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-border) 35%, transparent);
  color: var(--mc-text-muted);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.logistica-od-nocarga-modal__close:hover {
  background: color-mix(in srgb, var(--mc-danger) 12%, var(--mc-surface));
  color: var(--mc-heading);
}
.logistica-od-nocarga-modal__head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding-right: 2rem;
}
.logistica-od-nocarga-modal__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-danger) 12%, var(--mc-surface));
  color: var(--mc-danger);
  font-size: 1.15rem;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mc-danger) 18%, transparent);
}
.logistica-od-nocarga-modal__titles {
  min-width: 0;
}
.logistica-od-nocarga-modal__head h3 {
  margin: 0;
  font-size: 1.18rem;
  font-weight: 700;
  color: var(--mc-heading);
  line-height: 1.25;
}
.logistica-od-nocarga-modal__sub {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--mc-text-muted);
  line-height: 1.45;
}
.logistica-od-nocarga-modal__hint {
  margin: 0.85rem 0 0;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--mc-primary) 8%, var(--mc-surface));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 16%, var(--mc-border));
  color: color-mix(in srgb, var(--mc-primary) 72%, var(--mc-heading));
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
}
.logistica-od-nocarga-modal__section-label {
  margin: 0.85rem 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-od-nocarga-modal__section-label:first-of-type {
  margin-top: 0.75rem;
}
.logistica-od-nocarga-modal__dispos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}
.logistica-od-nocarga-chip--dispos {
  min-height: 3rem;
  font-size: 0.95rem;
  font-weight: 700;
}
.logistica-od-nocarga-modal__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
  margin-top: 0;
}
@media (min-width: 520px) {
  .logistica-od-nocarga-modal__grid {
    grid-template-columns: 1fr 1fr;
  }
}
.logistica-od-nocarga-chip {
  min-height: 3.25rem;
  padding: 0.8rem 0.95rem;
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  background: var(--mc-surface);
  color: var(--mc-heading);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s, background 0.15s, transform 0.12s, box-shadow 0.15s;
}
.logistica-od-nocarga-chip:hover {
  border-color: color-mix(in srgb, var(--mc-danger) 42%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-danger) 5%, var(--mc-surface));
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}
.logistica-od-nocarga-chip--on {
  border-color: var(--mc-danger);
  background: color-mix(in srgb, var(--mc-danger) 9%, var(--mc-surface));
  box-shadow: inset 3px 0 0 var(--mc-danger), 0 4px 14px rgba(15, 23, 42, 0.06);
}
.logistica-od-nocarga-chip:active {
  transform: scale(0.98);
}
.logistica-od-nocarga-modal__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--mc-border);
}
.logistica-od-nocarga-modal__apply {
  min-height: 2.65rem;
  padding: 0.55rem 1.25rem;
  border: none;
  border-radius: 999px;
  background: var(--mc-primary);
  color: #fff;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s, transform 0.12s;
}
.logistica-od-nocarga-modal__apply:hover:not(:disabled) {
  opacity: 0.92;
}
.logistica-od-nocarga-modal__apply:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.logistica-od-nocarga-modal__apply:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-primary) 28%, transparent);
}
.logistica-od-nocarga-modal__cancel {
  min-height: 2.65rem;
  padding: 0.55rem 1.15rem;
  border: 1px solid var(--mc-border);
  border-radius: 999px;
  background: var(--mc-surface);
  color: var(--mc-heading);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.logistica-od-nocarga-modal__cancel:hover {
  background: var(--mc-bg-hover, color-mix(in srgb, var(--mc-border) 28%, var(--mc-surface)));
  border-color: color-mix(in srgb, var(--mc-text-muted) 45%, var(--mc-border));
  color: var(--mc-navy, var(--mc-heading));
}
.logistica-od-nocarga-modal__cancel:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-primary) 24%, transparent);
}
.logistica-otod-pick-row--pending {
  opacity: 0.72;
}
.logistica-otod-pick-row__toggle {
  width: 3rem;
  text-align: center;
  vertical-align: middle;
}
.mc-od-carga-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  vertical-align: middle;
  transition: transform 0.12s ease;
}
.mc-od-carga-toggle__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 2px solid color-mix(in srgb, var(--mc-text-muted) 55%, var(--mc-border));
  background: var(--mc-surface);
  color: transparent;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}
.mc-od-carga-toggle:hover:not(:disabled) .mc-od-carga-toggle__ico {
  border-color: color-mix(in srgb, var(--mc-success) 70%, var(--mc-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-success) 12%, transparent);
}
.mc-od-carga-toggle--on .mc-od-carga-toggle__ico {
  border-color: var(--mc-success);
  background: var(--mc-success);
  color: #fff;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mc-success) 35%, transparent);
}
.mc-od-carga-toggle--fail .mc-od-carga-toggle__ico {
  border-color: var(--mc-danger);
  background: var(--mc-danger);
  color: #fff;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mc-danger) 35%, transparent);
}
.mc-od-carga-toggle--partial .mc-od-carga-toggle__ico {
  border-color: var(--mc-success);
  background: color-mix(in srgb, var(--mc-success) 16%, var(--mc-surface));
  color: var(--mc-success);
  box-shadow: none;
}
.mc-od-carga-toggle--on:hover:not(:disabled) .mc-od-carga-toggle__ico {
  background: color-mix(in srgb, var(--mc-success) 92%, #000);
  border-color: color-mix(in srgb, var(--mc-success) 92%, #000);
}
.mc-od-carga-toggle:active:not(:disabled) {
  transform: scale(0.94);
}
.mc-od-carga-toggle:focus-visible .mc-od-carga-toggle__ico {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mc-success) 28%, transparent);
}
.mc-od-carga-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}
.mc-od-carga-toggle--head .mc-od-carga-toggle__ico {
  width: 24px;
  height: 24px;
  font-size: 13px;
}
.logistica-od-carga-scroll {
  overflow: visible;
  max-height: none;
}
.logistica-otod-pick-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--mc-surface);
  box-shadow: 0 1px 0 var(--mc-border);
}
.logistica-otod-pick-table .logistica-otod-pick-row__toggle,
.logistica-otod-pick-table thead th:first-child {
  width: 3rem;
}
.logistica-od-carga-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}
.logistica-od-carga-actions {
  display: flex;
  gap: 0.35rem;
}
/* O-D — pestañas (mismo lenguaje que Rutas) */
.logistica-od-screen {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 0;
}
.logistica-od-kpis {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.45rem;
  margin: 0.35rem 0 0.65rem;
}
.logistica-od-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--mc-border);
}
.logistica-od-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.55rem 1rem;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  background: none;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--mc-text-muted);
  border-radius: 6px 6px 0 0;
  transition: color 0.15s, border-color 0.15s;
}
.logistica-od-tab:hover { color: var(--mc-heading); }
.logistica-od-tab--active {
  color: var(--mc-navy);
  border-bottom-color: var(--mc-primary);
}
.logistica-od-tab__hint {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  font-variant-numeric: tabular-nums;
}
.logistica-od-tab--active .logistica-od-tab__hint {
  color: color-mix(in srgb, var(--mc-primary) 70%, var(--mc-text-muted));
}
.logistica-od-panel {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 0;
}
.logistica-od-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem 1rem;
}
.logistica-od-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--mc-heading);
}
.logistica-od-panel__hint {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
  max-width: 42rem;
}
.logistica-od-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.logistica-od-panel__card {
  min-height: 0;
}
.logistica-od-panel__card .card__body {
  min-height: 0;
}
.logistica-od-panel-scroll {
  max-height: min(62vh, 640px);
  overflow: auto;
}
.logistica-od-form-wrap {
  max-height: min(62vh, 640px);
  overflow: auto;
}
.logistica-od-screen--refreshing {
  min-height: min(68vh, 720px);
}
.logistica-od-kpis--skeleton {
  min-height: 2.4rem;
}
.logistica-od-skeleton {
  display: block;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--mc-border) 88%, transparent) 0%,
    color-mix(in srgb, var(--mc-border) 55%, var(--mc-surface)) 50%,
    color-mix(in srgb, var(--mc-border) 88%, transparent) 100%
  );
  background-size: 200% 100%;
  animation: logistica-od-shimmer 1.15s ease-in-out infinite;
}
.logistica-od-skeleton--kpi {
  flex: 1 1 7rem;
  min-width: 6.5rem;
  height: 2.35rem;
}
.logistica-od-skeleton--text {
  display: block;
  width: min(22rem, 72%);
  height: 0.82rem;
  margin-top: 0.35rem;
}
.logistica-od-skeleton-table {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1rem;
}
.logistica-od-skeleton--row {
  height: 2.15rem;
}
.logistica-od-skeleton--row:nth-child(odd) { width: 96%; }
.logistica-od-skeleton--row:nth-child(even) { width: 88%; }
.logistica-od-refresh-status {
  display: flex;
  justify-content: center;
  padding: 0.35rem 0 0.15rem;
}
@keyframes logistica-od-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.entrega-linea-badge {
  margin-left: 0.35rem;
  vertical-align: middle;
  font-size: 0.68rem;
}
.logistica-od-panel__card--form {
  border: none;
  box-shadow: none;
  background: transparent;
}
.logistica-od-panel__card--form .card__body {
  padding: 0;
}
.entrega-linea--pendiente td {
  color: var(--mc-text-muted);
}
.logistica-form-doc {
  background: #fff;
  color: #111;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm);
  padding: 1.25rem 1.5rem;
}
.logistica-form-doc--od {
  background: var(--mc-surface);
  color: var(--mc-heading);
  border: 1px solid color-mix(in srgb, var(--mc-primary) 16%, var(--mc-border));
  border-radius: 12px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.logistica-form-doc__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #222;
}
.logistica-form-doc__head--od {
  margin: 0;
  padding: 1rem 1.15rem 0.85rem;
  border-bottom: 1px solid color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--mc-primary) 7%, var(--mc-surface)),
    var(--mc-surface)
  );
}
.logistica-form-doc__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  width: 100%;
}
.logistica-form-doc__od-num {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--mc-primary) 82%, var(--mc-heading));
  background: color-mix(in srgb, var(--mc-primary) 12%, var(--mc-surface));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 24%, var(--mc-border));
}
.logistica-form-doc__od-num--draft {
  color: var(--mc-text-muted);
  background: var(--mc-bg-inset);
  border-color: var(--mc-border);
}
.logistica-form-doc__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.logistica-form-doc--od .logistica-form-doc__title {
  font-size: 1.12rem;
  color: var(--mc-heading);
}
.logistica-form-doc__form-id {
  font-size: 0.75rem;
  color: #666;
}
.logistica-form-doc--od .logistica-form-doc__form-id {
  color: var(--mc-text-muted);
}
.logistica-form-doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  font-size: 0.85rem;
}
.logistica-form-doc__meta--grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: 0.55rem 0.75rem;
  width: 100%;
}
.logistica-form-doc__meta-item {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--mc-bg-inset) 55%, var(--mc-surface));
  border: 1px solid var(--mc-border);
}
.logistica-form-doc__meta-item--wide {
  grid-column: span 2;
}
.logistica-form-doc__meta-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-form-doc__meta-value {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--mc-heading);
  line-height: 1.25;
}
.logistica-form-doc__meta span {
  color: #666;
  margin-right: 0.35rem;
}
.logistica-form-table-wrap {
  padding: 0 1rem 1rem;
  overflow-x: auto;
}
.logistica-form-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.logistica-form-table--od {
  font-size: 0.78rem;
}
.logistica-form-table th,
.logistica-form-table td {
  border: 1px solid #ccc;
  padding: 0.35rem 0.5rem;
  text-align: left;
}
.logistica-form-table--od th,
.logistica-form-table--od td {
  border-color: var(--mc-border);
  padding: 0.42rem 0.55rem;
}
.logistica-form-table th {
  background: #f3f3f3;
  font-weight: 600;
}
.logistica-form-table--od th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--mc-bg-inset) 72%, var(--mc-surface));
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-text-muted);
}
.logistica-form-table__row--alt td {
  background: color-mix(in srgb, var(--mc-bg-inset) 35%, var(--mc-surface));
}
.logistica-form-table__foot td {
  background: color-mix(in srgb, var(--mc-primary) 8%, var(--mc-surface));
  border-top: 2px solid color-mix(in srgb, var(--mc-primary) 22%, var(--mc-border));
  font-size: 0.8rem;
}
.logistica-form-doc__pedido {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--mc-navy);
  background: color-mix(in srgb, var(--mc-primary) 8%, transparent);
  padding: 0.08rem 0.35rem;
  border-radius: 4px;
}
.logistica-form-doc__cliente {
  font-weight: 600;
  font-size: 0.78rem;
}
.logistica-form-doc__material {
  display: block;
  font-weight: 600;
  line-height: 1.25;
}
.logistica-form-doc__code {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--mc-text-muted);
}
.logistica-form-doc__un .line-badge {
  font-size: 0.58rem;
}
.logistica-form-check {
  width: 2rem;
}
.logistica-form-doc__foot {
  margin: 0.75rem 0 0;
  font-size: 0.72rem;
  color: #888;
}
.logistica-form-doc__foot--od {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin: 0;
  padding: 0.65rem 1rem 0.85rem;
  border-top: 1px solid var(--mc-border);
  background: color-mix(in srgb, var(--mc-bg-inset) 45%, var(--mc-surface));
  color: var(--mc-text-muted);
}
.logistica-form-doc__foot-brand {
  font-weight: 600;
  color: color-mix(in srgb, var(--mc-primary) 65%, var(--mc-text-muted));
}
@media print {
  body.logistica-form-printing > *:not(.logistica-form-print-root) {
    display: none !important;
  }
  .logistica-form-print-root {
    display: block !important;
    position: static;
    padding: 0;
  }
  .logistica-form-print-root .logistica-form-doc {
    border: none;
    box-shadow: none;
  }
  .logistica-form-print-root .logistica-form-doc--od {
    background: #fff;
    color: #111;
  }
  .logistica-form-print-root .logistica-form-doc--od .logistica-form-doc__head--od,
  .logistica-form-print-root .logistica-form-doc--od .logistica-form-table__row--alt td,
  .logistica-form-print-root .logistica-form-doc--od .logistica-form-table__foot td,
  .logistica-form-print-root .logistica-form-doc--od .logistica-form-doc__foot--od {
    background: #fff;
  }
}

/* Planta Lomas · cola picking / fabricación */
.logistica-prod-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.logistica-prod-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--mc-border);
  border-radius: calc(var(--radius) + 2px);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--mc-primary) 10%, var(--mc-white)) 0%, var(--mc-white) 42%, color-mix(in srgb, var(--mc-navy) 4%, var(--mc-white)) 100%);
  box-shadow: 0 1px 0 rgba(25, 47, 63, 0.03);
}
.logistica-prod-hero__copy {
  min-width: min(100%, 22rem);
  flex: 1 1 18rem;
}
.logistica-prod-hero__eyebrow {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--mc-primary-dark) 75%, var(--mc-text-muted));
}
.logistica-prod-hero__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--mc-heading);
  line-height: 1.25;
}
.logistica-prod-hero__intro {
  margin: 0.35rem 0 0;
  max-width: 46rem;
  font-size: 0.84rem;
  line-height: 1.45;
}
.logistica-prod-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  padding: 0.45rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--mc-white) 82%, var(--mc-surface));
  border: 1px solid color-mix(in srgb, var(--mc-border) 85%, transparent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.logistica-prod-toolbar__un {
  min-width: 7.5rem;
}
.logistica-prod-seg {
  display: inline-flex;
  padding: 0.15rem;
  border-radius: 9px;
  background: color-mix(in srgb, var(--mc-navy) 6%, var(--mc-surface));
  border: 1px solid color-mix(in srgb, var(--mc-navy) 8%, var(--mc-border));
  gap: 0.1rem;
}
.logistica-prod-seg--soft {
  background: color-mix(in srgb, var(--mc-primary) 8%, var(--mc-surface));
  border-color: color-mix(in srgb, var(--mc-primary) 18%, var(--mc-border));
}
.logistica-prod-seg__btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--mc-text-muted);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  padding: 0.4rem 0.75rem;
  border-radius: 7px;
  cursor: pointer;
  line-height: 1.2;
  transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}
.logistica-prod-seg__btn:hover {
  color: var(--mc-heading);
  background: rgba(255, 255, 255, 0.55);
}
.logistica-prod-seg__btn.is-active {
  background: var(--mc-navy);
  color: #fff;
  box-shadow: 0 2px 8px rgba(25, 47, 63, 0.18);
}
.logistica-prod-seg--soft .logistica-prod-seg__btn.is-active {
  background: var(--mc-primary-dark);
  box-shadow: 0 2px 8px rgba(18, 135, 111, 0.22);
}
.logistica-prod-toolbar__refresh {
  margin-left: 0.1rem;
}
.logistica-prod-kpi {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--mc-navy);
  background: color-mix(in srgb, var(--mc-primary) 16%, var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
}
.logistica-prod-panel {
  overflow: hidden;
}
.logistica-prod-fab-grupos {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.75rem;
}
.logistica-prod-fab-grupo {
  border-radius: 12px;
  overflow: hidden;
}
.logistica-prod-fab-grupo .logistica-prod-table-wrap {
  border-top: 1px solid var(--mc-line-divider);
}
.logistica-prod-fab-group-hint {
  margin: 0;
  padding: 0 0.85rem 0.85rem;
  font-size: 0.8rem;
}
.logistica-prod-table-wrap {
  margin: 0;
}
.logistica-prod-fab-table {
  font-size: 0.86rem;
}
.logistica-prod-fab-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: color-mix(in srgb, var(--mc-bg-inset) 88%, var(--mc-white));
  border-bottom-color: color-mix(in srgb, var(--mc-navy) 12%, var(--mc-border));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.logistica-prod-fab-row td {
  padding: 0.8rem 0.75rem;
  border-bottom: 1px solid var(--mc-line-divider);
  vertical-align: middle;
}
.logistica-prod-fab-row:last-child td {
  border-bottom: 0;
}
.logistica-prod-fab-row:hover td {
  background: color-mix(in srgb, var(--mc-primary) 5%, var(--mc-table-hover));
}
.logistica-prod-fab-row:hover td:first-child {
  box-shadow: inset 3px 0 0 var(--mc-primary);
}
.logistica-prod-pedido {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  background: var(--mc-code-badge-bg);
  color: var(--mc-navy);
  border: 1px solid color-mix(in srgb, var(--mc-conflex-border) 55%, transparent);
}
.logistica-prod-cliente {
  font-weight: 650;
  color: var(--mc-heading);
  max-width: 14rem;
}
.logistica-prod-art {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 11rem;
}
.logistica-prod-art__code {
  font-size: 0.8rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  color: var(--mc-navy);
  font-variant-numeric: tabular-nums;
}
.logistica-prod-art__desc {
  font-size: 0.78rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.logistica-prod-corte {
  font-size: 0.8rem;
  color: var(--mc-text-muted);
  white-space: nowrap;
}
.logistica-prod-cant {
  font-size: 1rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  color: var(--mc-heading);
}
.logistica-prod-fecha {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--mc-text-muted);
  white-space: nowrap;
}
.logistica-prod-fab-row__action {
  text-align: right;
  white-space: nowrap;
}
.logistica-prod-empty {
  padding: 1.5rem 1.25rem;
  border: 1px dashed color-mix(in srgb, var(--mc-border) 80%, var(--mc-navy));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--mc-bg-empty) 70%, var(--mc-white));
}
.logistica-prod-empty .radar-empty {
  margin: 0;
}
.logistica-prod-ot__actions {
  margin-left: auto;
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.logistica-prod-stack .card__head {
  flex-wrap: wrap;
  gap: 0.5rem;
}
.logistica-prod-ots {
  display: grid;
  gap: 0.85rem;
}
.logistica-prod-ots .logistica-prod-ot {
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 2px 14px rgba(25, 47, 63, 0.06);
}
@media (max-width: 900px) {
  .logistica-prod-kpi {
    margin-left: 0;
  }
  .logistica-prod-hero {
    padding: 0.85rem 0.9rem;
  }
}

/* Logística · circuito v0 (banner + warnings) */
.logistica-plan-circuito,
.logistica-rutas-circuito {
  margin-bottom: 0.85rem;
}

/* Producción · rol en desarrollo (picking operativo en Logística) */
.produccion-dev-shell {
  display: flex;
  justify-content: center;
  padding: 2rem 1rem 3rem;
}
.produccion-dev-shell__card {
  width: min(100%, 34rem);
  padding: 2rem 1.75rem 1.75rem;
  text-align: center;
  border-radius: calc(var(--radius) + 6px);
  border: 1px dashed color-mix(in srgb, var(--mc-primary) 35%, var(--mc-border));
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--mc-primary) 12%, transparent), transparent 55%),
    linear-gradient(180deg, color-mix(in srgb, var(--mc-navy) 4%, var(--mc-white)), var(--mc-white));
  box-shadow: 0 8px 28px rgba(25, 47, 63, 0.06);
}
.produccion-dev-shell__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  height: 5.5rem;
  margin: 0 auto 0.85rem;
  border-radius: 50%;
  color: var(--mc-navy);
  background: color-mix(in srgb, var(--mc-primary) 14%, var(--mc-white));
  border: 1px solid color-mix(in srgb, var(--mc-primary) 28%, var(--mc-border));
}
.produccion-dev-shell__badge {
  margin: 0 0 0.65rem;
}
.produccion-dev-shell__title {
  margin: 0 0 0.55rem;
  font-size: 1.35rem;
  color: var(--mc-heading);
}
.produccion-dev-shell__lead {
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--mc-text-muted);
}
.produccion-dev-shell__hint {
  margin: 0 0 1.35rem;
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--mc-text-muted);
}
.produccion-dev-shell__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: center;
}

.logistica-circuito-banner {
  margin-bottom: 0;
  padding: 0.8rem 0.95rem;
  border: 1px solid color-mix(in srgb, var(--mc-navy) 10%, var(--mc-border));
  border-radius: calc(var(--radius) + 2px);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--mc-navy) 5%, var(--mc-white)), var(--mc-white));
  box-shadow: 0 1px 0 rgba(25, 47, 63, 0.03);
}
.logistica-circuito-banner__note {
  margin: 0 0 0.6rem;
  font-size: 0.76rem;
  color: var(--mc-text-muted);
}
.logistica-circuito-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.logistica-circuito-step {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  background: color-mix(in srgb, var(--mc-navy) 4%, var(--mc-surface));
  border: 1px solid transparent;
  transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}
.logistica-circuito-step + .logistica-circuito-step {
  position: relative;
}
.logistica-circuito-step--active {
  color: #fff;
  font-weight: 700;
  background: var(--mc-navy);
  border-color: var(--mc-navy);
  box-shadow: 0 2px 10px rgba(25, 47, 63, 0.18);
}
.logistica-circuito-step--muted {
  opacity: 0.55;
}
.logistica-circuito-step--link {
  cursor: pointer;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.logistica-circuito-step--link:hover,
.logistica-circuito-step--link:focus-visible {
  border-color: color-mix(in srgb, var(--mc-navy) 22%, var(--mc-border));
  background: color-mix(in srgb, var(--mc-navy) 8%, var(--mc-surface));
  color: var(--mc-heading);
  outline: none;
}
.logistica-circuito-step--active.logistica-circuito-step--link:hover,
.logistica-circuito-step--active.logistica-circuito-step--link:focus-visible {
  background: var(--mc-navy);
  color: #fff;
}
.logistica-circuito-step__dot {
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.55;
}
.logistica-circuito-step--active .logistica-circuito-step__dot {
  opacity: 1;
  background: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(88, 175, 145, 0.35);
}
.logistica-circuito-warns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.logistica-circuito-warn {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  line-height: 1.35;
}
.logistica-circuito-warn--warn {
  color: #92400e;
  background: rgba(245, 158, 11, 0.15);
}
.logistica-circuito-warn--crit {
  color: #991b1b;
  background: rgba(239, 68, 68, 0.12);
}
.logistica-circuito-warn--ok {
  color: #166534;
  background: rgba(34, 197, 94, 0.12);
}
.logistica-circuito-warns--inline {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin-top: 0;
  vertical-align: middle;
}
.logistica-rutas-planta-ui {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
  margin-top: 0.15rem;
}
.logistica-entrega-circuito-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0.35rem 0 0.15rem;
}
.logistica-circuito-warns--hero {
  margin-top: 0.15rem;
}
.logistica-planta-badge {
  white-space: nowrap;
}
.logistics-card__meta .logistica-planta-badge {
  margin-left: 0.15rem;
}
.logistica-circuito-warns--compact {
  margin-top: 0.25rem;
}
.logistica-prod-nota {
  margin: 0.5rem 1rem 0;
  padding: 0.5rem 0.65rem;
  border-left: 3px solid var(--mc-warning);
  background: rgba(234, 179, 8, 0.08);
  font-size: 0.85rem;
}
tr.entrega-linea--preparado,
tr.entrega-linea--preparado td {
  background: rgba(34, 197, 94, 0.06);
}
.entrega-linea-badge {
  margin-left: 0.35rem;
  vertical-align: middle;
}
.logistica-sin-asignar-row__cliente .logistica-rutas-planta-ui,
.logistica-sin-asignar-card__title .logistica-rutas-planta-ui {
  display: inline-flex;
}
.logistica-rutas-planta-header-warn {
  color: var(--mc-warning);
  font-weight: 600;
  cursor: help;
}
.logistica-rutas-modal-alert--planta {
  border-left: 3px solid var(--mc-warning);
  padding: 0.65rem 0.85rem;
  background: rgba(245, 158, 11, 0.08);
  border-radius: 6px;
}
.logistica-rutas-modal-alert--planta.logistica-rutas-modal-alert--crit {
  border-left-color: var(--mc-danger);
  background: rgba(239, 68, 68, 0.08);
}
.logistica-rutas-planta-alert-list {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.82rem;
  color: var(--mc-text-muted);
}
.logistics-route-list__body .logistica-rutas-planta-ui {
  display: block;
  margin-top: 0.2rem;
}

@media (max-width: 900px) {
  .settings-theme {
    grid-template-columns: 1fr;
  }
}

/* Alertas comerciales — mapa cartera */
.acom-mapa-intro { margin-bottom: 0.75rem; }
#acom-mapa-refresh.is-loading,
#acom-mapa-refresh:disabled {
  opacity: 0.65;
  cursor: wait;
  pointer-events: none;
}
.acom-mapa-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 0.75rem;
  align-items: start;
}
.acom-mapa-layout__map {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.acom-mapa-layout__aside { min-width: 0; }
.acom-mapa-layout .logistica-mapa-embed-wrap {
  flex: 1 1 auto;
  min-height: 420px;
  height: auto;
}
.acom-mapa-layout .logistica-mapa-canvas {
  min-height: 420px;
  height: 100%;
}

/* Mapa cartera activo — scroll en pantallas chicas; desktop llena hasta el pie del menú */
.content:has(#screen-alertas-comerciales.acom-mapa-tab-active.active) {
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 1.25rem;
  -webkit-overflow-scrolling: touch;
}
#screen-alertas-comerciales.acom-mapa-tab-active.active > .screen-intro {
  display: none;
}
#screen-alertas-comerciales.acom-mapa-tab-active.active #acom-tabs {
  margin-bottom: 0.65rem;
}

/* 1080p real (~850–970px útiles): mapa estira al alto del área de contenido */
@media (min-height: 850px) and (min-width: 1100px) {
  .content:has(#screen-alertas-comerciales.acom-mapa-tab-active.active) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0.75rem;
  }
  #screen-alertas-comerciales.screen.active.acom-mapa-tab-active {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  #screen-alertas-comerciales.acom-mapa-tab-active #acom-tabs,
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-intro,
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-toolbar {
    flex-shrink: 0;
  }
  #screen-alertas-comerciales.acom-mapa-tab-active #acom-panel-mapa {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-layout {
    flex: 1 1 auto;
    min-height: 0;
    align-items: stretch;
    grid-template-rows: minmax(0, 1fr);
  }
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-layout__map {
    min-height: 0;
    height: 100%;
  }
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-layout .logistica-mapa-embed-wrap,
  #screen-alertas-comerciales.acom-mapa-tab-active .acom-mapa-layout .logistica-mapa-canvas {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
  }
}
.acom-mapa-legend__title {
  margin: 0 0 0.65rem;
  font-size: 0.88rem;
  font-weight: 700;
}
.acom-mapa-legend__list {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  font-size: 0.82rem;
}
.acom-mapa-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 0.4rem;
  vertical-align: middle;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.acom-mapa-pin-legend {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 0.35rem;
  vertical-align: middle;
  object-fit: contain;
}
.acom-mapa-dot--conf { background: #2563eb; }
.acom-mapa-dot--cort { background: #ea580c; }
.acom-mapa-dot--activo { background: #16a34a; }
.acom-mapa-dot--ext { background: #059669; }
.acom-mapa-dot--frio { background: #eab308; }
.acom-mapa-dot--perdido { background: #dc2626; }
.acom-mapa-dot--cotiz { background: #9333ea; }
.acom-mapa-dot--dudoso { background: #64748b; }
.acom-mapa-dot--ar { background: #64748b; }
.acom-mapa-legend__note { margin: 0; font-size: 0.78rem; }
.acom-mapa-revisar-btn {
  width: 100%;
  margin-top: 0.65rem;
  justify-content: center;
  gap: 0.35rem;
}
.acom-mapa-revisar-btn__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  padding: 0.05rem 0.35rem;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  font-size: 0.72rem;
  font-weight: 700;
}
.acom-mapa-revisar-btn__count.hidden { display: none; }
.acom-mapa-revisar-modal__panel {
  width: min(520px, calc(100vw - 2rem));
  max-height: min(82vh, 720px);
  display: flex;
  flex-direction: column;
}
.acom-mapa-revisar-modal__body {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 0;
}
.acom-mapa-revisar-modal__hint {
  margin: 0;
  font-size: 0.78rem;
}
.acom-mapa-revisar-list {
  overflow-y: auto;
  max-height: min(52vh, 480px);
  border: 1px solid var(--mc-border, #e2e8f0);
  border-radius: 8px;
  background: var(--mc-surface, #fff);
}
.acom-mapa-revisar-empty {
  margin: 0;
  padding: 1rem;
}
.acom-mapa-revisar-item {
  display: block;
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 0;
  border-bottom: 1px solid var(--mc-border, #e2e8f0);
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.acom-mapa-revisar-item:last-child { border-bottom: 0; }
.acom-mapa-revisar-item:hover { background: rgba(37, 99, 235, 0.06); }
.acom-mapa-revisar-item__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.15rem;
}
.acom-mapa-revisar-item__cod {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.acom-mapa-revisar-item__name {
  display: block;
  font-weight: 600;
  font-size: 0.86rem;
}
.acom-mapa-revisar-item__dom,
.acom-mapa-revisar-item__loc {
  display: block;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  margin-top: 0.12rem;
}
.acom-mapa-revisar-item__motivo {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 0.68rem;
  font-weight: 600;
}
.acom-mapa-revisar-item__vend {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.72rem;
}

/* Popup pin — Google InfoWindow + card CRM */
.acom-mapa-embed-wrap .gm-style-iw-chr { height: 36px !important; }
.acom-mapa-embed-wrap .gm-style-iw-chr button {
  width: 32px !important;
  height: 32px !important;
  margin: 4px 4px 0 0 !important;
}
.acom-mapa-embed-wrap .gm-ui-hover-effect > span {
  margin: 8px !important;
}
.acom-mapa-embed-wrap .gm-style-iw-c {
  padding: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(15, 35, 55, 0.18) !important;
  max-width: 300px !important;
}
.acom-mapa-embed-wrap .gm-style-iw-d {
  overflow: hidden !important;
  max-height: none !important;
}
.acom-mapa-infowin {
  padding: 0.85rem 0.95rem 0.95rem;
  font-size: 0.82rem;
  line-height: 1.4;
  max-width: 280px;
  color: var(--mc-text);
  font-family: Inter, system-ui, sans-serif;
}
.acom-mapa-infowin__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-bottom: 0.45rem;
}
.acom-mapa-infowin__cod {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.15rem 0.45rem;
  border-radius: 5px;
  background: var(--mc-bg-hover);
  color: var(--mc-navy);
  border: 1px solid var(--mc-border);
}
.acom-mapa-infowin__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.acom-mapa-infowin__tag {
  display: inline-block;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}
.acom-mapa-infowin__tag--ext {
  background: #d1fae5;
  color: #047857;
}
.acom-mapa-infowin__tag--activo {
  background: #dcfce7;
  color: #15803d;
}
.acom-mapa-infowin__tag--frio {
  background: #fef9c3;
  color: #a16207;
}
.acom-mapa-infowin__tag--perdido {
  background: #fee2e2;
  color: #b91c1c;
}
.acom-mapa-infowin__tag--cotiz {
  background: #f3e8ff;
  color: #7e22ce;
}
.acom-mapa-infowin__name {
  margin: 0 0 0.45rem;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--mc-heading);
}
.acom-mapa-infowin__loc {
  margin: 0 0 0.35rem;
  padding-left: 1rem;
  position: relative;
  color: var(--mc-text-muted);
  font-size: 0.8rem;
}
.acom-mapa-infowin__dom {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  color: var(--mc-text-muted);
  line-height: 1.35;
}
.acom-mapa-infowin__loc::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-primary);
  box-shadow: 0 0 0 3px rgba(88, 175, 145, 0.2);
}
.acom-mapa-infowin__meta {
  margin: 0 0 0.75rem;
  font-size: 0.78rem;
  color: var(--mc-text-muted);
}
.acom-mapa-infowin__meta span {
  font-weight: 600;
  color: var(--mc-text);
  margin-right: 0.25rem;
}
.acom-mapa-infowin__warn {
  margin: 0 0 0.5rem;
  padding: 0.45rem 0.55rem;
  border-radius: 6px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 0.72rem;
  line-height: 1.35;
}
.acom-mapa-infowin__btn {
  flex: 1;
  justify-content: center;
  box-shadow: none;
}
.acom-mapa-infowin__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.acom-mapa-infowin__sv {
  flex: 1;
  justify-content: center;
}
.acom-mapa-infowin__hist {
  flex: 1;
  justify-content: center;
}
.acom-mapa-infowin__btn:hover {
  transform: none;
}
.acom-mapa-cluster {
  padding: 0.75rem 0.85rem 0.85rem;
  font-size: 0.82rem;
  max-width: 300px;
}
.acom-mapa-cluster__title {
  margin: 0 0 0.25rem;
  font-weight: 700;
  font-size: 0.88rem;
}
.acom-mapa-cluster__hint {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
}
.acom-mapa-cluster__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 220px;
  overflow-y: auto;
}

.acom-mapa-historial-modal__panel {
  width: min(720px, calc(100vw - 1.5rem));
  max-height: min(92vh, 920px);
  display: flex;
  flex-direction: column;
}
.acom-mapa-historial-modal__body {
  overflow: auto;
  padding-top: 0.35rem;
}
.acom-mapa-historial-modal__kicker {
  margin: 0 0 0.15rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #64748b);
}
.acom-mapa-historial-modal__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
}
.acom-mapa-historial-modal__cod {
  font-size: 0.75rem;
  padding: 0.1rem 0.35rem;
  border-radius: 0.35rem;
  background: rgba(15, 23, 42, 0.06);
}
.acom-mapa-historial-modal__resumen {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.04);
  font-size: 0.82rem;
}
.acom-mapa-historial-modal__resumen strong {
  font-weight: 600;
  margin-right: 0.25rem;
}
.acom-mapa-historial-modal__mount .pedido-historial {
  margin: 0;
}
.acom-mapa-historial-modal__mount .pedido-historial__head {
  display: none;
}
.acom-mapa-historial-modal__loading,
.acom-mapa-historial-modal__error {
  padding: 1rem 0.25rem;
}

.acom-mapa-cluster__item + .acom-mapa-cluster__item {
  border-top: 1px solid var(--mc-border, #e2e8f0);
}
.acom-mapa-cluster__btn {
  display: block;
  width: 100%;
  padding: 0.5rem 0.15rem;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.acom-mapa-cluster__btn:hover {
  background: rgba(37, 99, 235, 0.06);
}
.acom-mapa-cluster__cod {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--mc-text-muted);
}
.acom-mapa-cluster__name {
  display: block;
  font-weight: 600;
  font-size: 0.82rem;
  margin-top: 0.1rem;
}
.acom-mapa-cluster__dom,
.acom-mapa-cluster__geo {
  display: block;
  font-size: 0.72rem;
  color: var(--mc-text-muted);
  margin-top: 0.15rem;
}
@media (max-width: 900px) {
  .acom-mapa-layout { grid-template-columns: 1fr; }
  .acom-mapa-layout__aside { order: 2; }
}
