:root {
  --bg: #f6f8fb;
  --surface: #ffffff;
  --surface-soft: #f1f5f9;
  --text: #172033;
  --muted: #64748b;
  --line: #e2e8f0;
  --brand: #13a88a;
  --brand-dark: #0f8f76;
  --danger: #ef4444;
  --warning: #f59e0b;
  --success: #22c55e;
  --dark: #0f172a;
  --shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
  --radius: 22px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

textarea {
  resize: vertical;
}

/* Auth */
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(19, 168, 138, .16), transparent 35%),
    radial-gradient(circle at bottom right, rgba(15, 23, 42, .12), transparent 35%),
    var(--bg);
}

.auth-card {
  width: min(460px, 100%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  padding: 32px;
}

.auth-card.wide {
  width: min(860px, 100%);
}

.brand-auth,
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-auth {
  margin-bottom: 28px;
}

.brand {
  margin-bottom: 32px;
}

.brand-logo {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--brand), #8ee6d2);
  color: #06251f;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(19, 168, 138, 0.35);
}

.brand h1,
.brand-auth h1 {
  font-size: 18px;
  line-height: 1.1;
}

.brand span,
.brand-auth span {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-top: 4px;
}

/* Forms */
.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  font-size: 13px;
  color: var(--muted);
  font-weight: 700;
  margin-bottom: 8px;
}

.input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 13px 14px;
  background: white;
  color: var(--text);
  outline: none;
}

.input:focus {
  border-color: rgba(19, 168, 138, .6);
  box-shadow: 0 0 0 4px rgba(19, 168, 138, .1);
}

.password-wrap {
  position: relative;
}

.password-wrap .input {
  padding-right: 54px;
}

.password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 36px;
  border: 0;
  border-radius: 12px;
  background: var(--surface-soft);
  cursor: pointer;
}

/* Buttons */
.btn {
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 14px;
  padding: 11px 15px;
  cursor: pointer;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, border-color .18s ease;
  white-space: nowrap;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.22);
}

.btn-primary {
  color: white;
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 48%, #22c55e 100%);
  border-color: rgba(45,212,191,.42);
  box-shadow: 0 12px 26px rgba(13,148,136,.24), inset 0 1px 0 rgba(255,255,255,.30);
}

.btn-primary:hover {
  background: linear-gradient(135deg, #0d9488 0%, #06b6d4 48%, #34d399 100%);
  transform: translateY(-1px);
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 16px 32px rgba(13,148,136,.28), inset 0 1px 0 rgba(255,255,255,.34);
}

.btn-light,
.btn-secondary {
  color: #0f172a;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 52%, #e0f2fe 100%);
  border-color: rgba(14,165,233,.22);
  box-shadow: 0 10px 22px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.94);
  text-shadow: 0 1px 0 rgba(255,255,255,.68);
}

.btn-light:hover,
.btn-secondary:hover {
  transform: translateY(-1px);
  filter: saturate(1.08) brightness(1.02);
  border-color: rgba(14,165,233,.36);
  box-shadow: 0 14px 28px rgba(14,165,233,.16), inset 0 1px 0 rgba(255,255,255,.95);
}

.btn-danger {
  color: white;
  background: linear-gradient(135deg, #991b1b 0%, #ef4444 52%, #fb7185 100%);
  border-color: rgba(248,113,113,.44);
  box-shadow: 0 12px 24px rgba(220,38,38,.24), inset 0 1px 0 rgba(255,255,255,.24);
}

.btn-danger:hover {
  transform: translateY(-1px);
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 16px 32px rgba(220,38,38,.28), inset 0 1px 0 rgba(255,255,255,.28);
}

.btn-warning {
  color: #422006;
  background: linear-gradient(135deg, #fff7ed 0%, #facc15 50%, #f97316 100%);
  border-color: rgba(245,158,11,.42);
  box-shadow: 0 12px 24px rgba(245,158,11,.22), inset 0 1px 0 rgba(255,255,255,.42);
  text-shadow: 0 1px 0 rgba(255,255,255,.54);
}

.btn-success {
  color: #fff;
  background: linear-gradient(135deg, #047857 0%, #10b981 52%, #34d399 100%);
  border-color: rgba(74,222,128,.45);
  box-shadow: 0 12px 26px rgba(5,150,105,.24), inset 0 1px 0 rgba(255,255,255,.28);
}

/* v338 · Acceso premium a Historia Clínica */
.btn-historia-clinica {
  color: #fff;
  background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 48%, #c026d3 100%);
  border-color: rgba(196,181,253,.48);
  box-shadow: 0 12px 26px rgba(109,40,217,.28), inset 0 1px 0 rgba(255,255,255,.30);
}

.btn-historia-clinica:hover {
  color: #fff;
  background: linear-gradient(135deg, #5b21b6 0%, #8b5cf6 48%, #db2777 100%);
  transform: translateY(-1px);
  filter: saturate(1.08) brightness(1.04);
  box-shadow: 0 16px 32px rgba(109,40,217,.34), inset 0 1px 0 rgba(255,255,255,.34);
}

.btn:active {
  transform: translateY(0);
  box-shadow: 0 7px 16px rgba(15,23,42,.14), inset 0 2px 6px rgba(15,23,42,.16);
}

.btn:focus-visible {
  outline: 3px solid rgba(14,165,233,.28);
  outline-offset: 2px;
}

.btn-full {
  width: 100%;
}

/* Alerts */
.alert {
  padding: 12px 14px;
  border-radius: 16px;
  font-size: 14px;
  margin-bottom: 16px;
  line-height: 1.45;
}

.alert-error {
  background: rgba(239, 68, 68, .1);
  color: #b91c1c;
}

.alert-success {
  background: rgba(34, 197, 94, .1);
  color: #15803d;
}

.alert-info {
  background: rgba(59, 130, 246, .1);
  color: #1d4ed8;
}

/* Layout */
.app {
  display: grid;
  grid-template-columns: 280px 1fr;
  min-height: 100vh;
}

.sidebar {
  background: var(--dark);
  color: #e5e7eb;
  padding: 24px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.nav-title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #94a3b8;
  margin: 22px 0 10px;
  padding-left: 12px;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  color: #cbd5e1;
  margin-bottom: 6px;
  transition: .18s ease;
}

.nav-link:hover,
.nav-link.active {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .08);
  font-size: 15px;
}

.main {
  padding: 26px;
  min-width: 0;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 26px;
}

.mobile-menu-btn {
  display: none;
  border: 0;
  background: var(--surface);
  width: 44px;
  height: 44px;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
  cursor: pointer;
}

.page-title h2 {
  font-size: clamp(24px, 4vw, 36px);
  letter-spacing: -.04em;
  margin-bottom: 6px;
}

.page-title p {
  color: var(--muted);
  font-size: 15px;
}

.profile {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 8px 12px 8px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 190px;
}

.avatar {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: var(--surface-soft);
  display: grid;
  place-items: center;
  font-weight: 900;
  color: var(--brand-dark);
}


.avatar.has-photo {
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.avatar.has-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.profile strong {
  display: block;
  font-size: 13px;
}

.profile span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

/* Cards / grids */
.grid {
  display: grid;
  gap: 18px;
}

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

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.stat-card {
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.stat-label {
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 12px;
}

.stat-value {
  font-size: 30px;
  font-weight: 850;
  letter-spacing: -.04em;
}

.stat-note {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
}

.stat-note.good {
  color: var(--brand-dark);
}

.content-grid {
  grid-template-columns: 1.3fr .9fr;
  align-items: start;
}

.panel {
  padding: 22px;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.panel-header h3 {
  font-size: 18px;
  letter-spacing: -.02em;
}

.panel-header p {
  color: var(--muted);
  margin-top: 4px;
  font-size: 13px;
}

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

.module-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff, #fbfdff);
  transition: .18s ease;
}

.module-card:hover {
  border-color: rgba(19, 168, 138, .45);
  transform: translateY(-2px);
  box-shadow: 0 16px 35px rgba(15, 23, 42, .08);
}

.module-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.module-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--surface-soft);
  font-size: 20px;
}

.badge {
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 800;
  background: rgba(19, 168, 138, .1);
  color: var(--brand-dark);
}

.badge.warning {
  background: rgba(245, 158, 11, .13);
  color: #a16207;
}

.badge.danger {
  background: rgba(239, 68, 68, .1);
  color: #b91c1c;
}

/* Tables */
.table-wrap {
  overflow-x: auto;
  border-radius: 18px;
  border: 1px solid var(--line);
  margin-top: 18px;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
  background: white;
}

th,
td {
  text-align: left;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: #f8fafc;
}

tr:last-child td {
  border-bottom: 0;
}

.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(34, 197, 94, .1);
  color: #15803d;
}

.status.low {
  background: rgba(245, 158, 11, .13);
  color: #a16207;
}

.status.critical {
  background: rgba(239, 68, 68, .1);
  color: #b91c1c;
}

.status.info {
  background: rgba(59, 130, 246, .1);
  color: #1d4ed8;
}

/* Overlay mobile */
.overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .5);
  z-index: 20;
}

/* Notifications */
.notifications-wrap {
  position: relative;
}

.notifications-button {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
  position: relative;
}

.notifications-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: grid;
  place-items: center;
  border: 2px solid var(--bg);
}

.notifications-preview {
  display: none;
  position: absolute;
  right: 0;
  top: 54px;
  width: min(360px, 90vw);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 14px;
  z-index: 50;
}

.notifications-wrap:hover .notifications-preview {
  display: block;
}

.notifications-preview strong {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
}

.notification-preview-item {
  display: block;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid transparent;
}

.notification-preview-item:hover {
  background: var(--surface-soft);
}

.notification-preview-item.unread {
  border-color: rgba(19, 168, 138, .25);
  background: rgba(19, 168, 138, .06);
}

.notification-preview-item span {
  display: block;
  font-weight: 900;
  font-size: 13px;
}

.notification-preview-item small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 4px;
}

.notification-preview-all {
  display: block;
  margin-top: 8px;
  text-align: center;
  font-size: 13px;
  font-weight: 900;
  color: var(--brand-dark);
}

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

.notification-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: #fff;
  display: grid;
  gap: 8px;
}

.notification-card.unread {
  border-color: rgba(19, 168, 138, .35);
  background: rgba(19, 168, 138, .055);
}

.notification-card h4 {
  margin: 0;
}

.notification-card p {
  color: var(--muted);
  line-height: 1.45;
}

.notification-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
}

/* Responsive */
@media (max-width: 1180px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-grid {
    grid-template-columns: 1fr;
  }
}

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

  .sidebar {
    position: fixed;
    z-index: 30;
    left: -310px;
    top: 0;
    width: 280px;
    transition: .22s ease;
  }

  body.menu-open .sidebar {
    left: 0;
  }

  body.menu-open .overlay {
    display: block;
  }

  .main {
    padding: 18px;
  }

  .mobile-menu-btn {
    display: grid;
    place-items: center;
  }

  .topbar {
    align-items: flex-start;
  }

  .profile {
    display: none;
  }

  .module-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .panel,
  .stat-card,
  .auth-card {
    padding: 18px;
  }

  .panel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }
}


/* ============================================================
   V20 - Pulido visual, móviles e íconos SVG internos
   ============================================================ */

:root {
  --shadow: 0 12px 32px rgba(15, 23, 42, 0.07);
  --radius: 20px;
}

.card,
.auth-card,
.profile,
.notifications-button {
  box-shadow: var(--shadow);
}

.nav-link {
  position: relative;
}

.nav-link.active {
  background: rgba(19, 168, 138, .16);
  color: #fff;
}

.nav-link.active::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: var(--brand);
}

.nav-label {
  min-width: 0;
}

.nav-icon svg,
.module-icon svg,
.notifications-button svg {
  width: 19px;
  height: 19px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.module-icon svg {
  width: 22px;
  height: 22px;
}

.nav-icon {
  color: #dbeafe;
}

.module-icon {
  color: var(--brand-dark);
}

.module-card h4 {
  margin-bottom: 7px;
}

.module-card p {
  color: var(--muted);
  line-height: 1.45;
  font-size: 14px;
}

.module-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  color: var(--brand-dark);
  font-weight: 900;
  font-size: 13px;
}

.compact-stats .stat-card {
  padding: 16px 18px;
}

.compact-stats .stat-value {
  font-size: 24px;
}

input[type="checkbox"] {
  width: 17px;
  height: 17px;
  vertical-align: middle;
  margin-right: 6px;
}

.table-wrap {
  -webkit-overflow-scrolling: touch;
}

table {
  min-width: 840px;
}

.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
}

@media (max-width: 860px) {
  .topbar {
    position: sticky;
    top: 0;
    z-index: 15;
    padding: 12px;
    margin: -18px -18px 18px;
    background: rgba(246, 248, 251, .94);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(226, 232, 240, .75);
  }

  .page-title h2 {
    font-size: 22px;
    line-height: 1.15;
  }

  .page-title p {
    font-size: 13px;
  }

  .notifications-button {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  .notifications-preview {
    right: -8px;
    top: 50px;
  }

  .grid[style*="repeat(2"],
  .grid[style*="repeat(3"],
  .grid[style*="repeat(4"],
  .grid[style*="repeat(5"] {
    grid-template-columns: 1fr !important;
  }

  .auth-card.wide {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .main {
    padding: 14px;
  }

  .topbar {
    margin: -14px -14px 16px;
  }

  .stat-value {
    font-size: 26px;
  }

  .table-wrap {
    border-radius: 14px;
  }

  th,
  td {
    padding: 12px;
    font-size: 13px;
  }

  .module-card {
    padding: 16px;
  }

  .sidebar {
    width: 268px;
  }

  .btn {
    min-height: 42px;
  }
}

/* ============================================================
   V21 - Rediseño dashboard / accesos rápidos
   ============================================================ */

.quick-access-board {
  margin-top: 4px;
}

.quick-header {
  margin-bottom: 18px;
}

.quick-access-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(0, 1.8fr);
  gap: 18px;
  align-items: stretch;
}

.quick-card,
.quick-mini-card {
  text-decoration: none;
  color: inherit;
}

.quick-card-featured {
  border: 1px solid rgba(19, 168, 138, .16);
  background: linear-gradient(180deg, rgba(19, 168, 138, .12), rgba(19, 168, 138, .05));
  border-radius: 22px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.quick-card-featured:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
  border-color: rgba(19, 168, 138, .28);
}

.quick-featured-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.quick-card-icon,
.quick-mini-icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--brand-dark);
  border: 1px solid rgba(148, 163, 184, .24);
  flex-shrink: 0;
}

.quick-card-icon svg,
.quick-mini-icon svg {
  width: 24px;
  height: 24px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quick-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--brand-dark);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(148, 163, 184, .22);
}

.quick-card-featured h4 {
  margin: 0 0 8px;
  font-size: 23px;
  line-height: 1.15;
}

.quick-card-featured p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.quick-featured-meta {
  margin-top: 20px;
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
}

.quick-featured-meta strong {
  font-size: 34px;
  line-height: 1;
  color: var(--brand-dark);
}

.quick-featured-meta span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.quick-open {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(148, 163, 184, .18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 900;
  color: var(--brand-dark);
}

.quick-groups {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.quick-group {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 18px;
}

.quick-group-head {
  margin-bottom: 14px;
}

.quick-group-head h4 {
  margin: 0 0 4px;
  font-size: 17px;
}

.quick-group-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.quick-links-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

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

.quick-mini-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.quick-mini-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
  border-color: rgba(19, 168, 138, .24);
}

.quick-mini-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(19, 168, 138, .08);
}

.quick-mini-body {
  min-width: 0;
  flex: 1;
}

.quick-mini-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
}

.quick-mini-head h5 {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
}

.quick-mini-body p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.quick-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(19, 168, 138, .11);
  color: var(--brand-dark);
  font-weight: 900;
  font-size: 12px;
}

.quick-meta {
  display: inline-block;
  color: var(--brand-dark);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-bottom-grid {
  align-items: start;
}

.dashboard-help-card {
  background: linear-gradient(180deg, #ffffff, #f9fbfb);
}

.dashboard-steps {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 12px;
  color: var(--muted);
}

.dashboard-steps li {
  line-height: 1.5;
}

.dashboard-steps strong {
  color: var(--ink);
}

@media (max-width: 1180px) {
  .quick-access-layout {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 860px) {
  .quick-links-grid,
  .control-grid {
    grid-template-columns: 1fr;
  }

  .quick-card-featured {
    padding: 18px;
  }

  .quick-card-featured h4 {
    font-size: 20px;
  }

  .quick-featured-meta strong {
    font-size: 30px;
  }
}

@media (max-width: 560px) {
  .quick-group,
  .quick-card-featured,
  .quick-mini-card {
    border-radius: 18px;
  }

  .quick-featured-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .quick-mini-card {
    padding: 13px;
  }

  .quick-mini-icon,
  .quick-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }
}


/* ============================================================
   V22 empresa/marca additions
   ============================================================ */

.empresa-grid {
  align-items: start;
}

.color-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.color-input {
  height: 52px;
  padding: 6px;
}

.empresa-preview {
  position: sticky;
  top: 24px;
}

.empresa-preview-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  text-align: center;
  background:
    radial-gradient(circle at top left, rgba(19,168,138,.16), transparent 35%),
    #fff;
}

.empresa-preview-logo {
  width: 112px;
  height: 112px;
  border-radius: 28px;
  margin: 0 auto 18px;
  background: var(--surface-soft);
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
}

.empresa-preview-logo img {
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
}

.empresa-preview-logo span {
  font-size: 32px;
  font-weight: 900;
  color: var(--brand-dark);
}

.empresa-preview-card h2 {
  margin: 0 0 6px;
  font-size: 24px;
}

.empresa-preview-card p {
  color: var(--muted);
  margin-bottom: 18px;
}

.empresa-contact-list {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}

.empresa-color-preview {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}

.empresa-color-preview span {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--line);
}

@media (max-width: 860px) {
  .color-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .empresa-preview {
    position: static;
  }
}

@media (max-width: 560px) {
  .color-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   Menú lateral agrupado / submenús desplegables
   ============================================================ */

.nav-group {
  margin-bottom: 7px;
}

.nav-group summary {
  list-style: none;
}

.nav-group summary::-webkit-details-marker {
  display: none;
}

.nav-group-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  color: #cbd5e1;
  cursor: pointer;
  transition: .18s ease;
  user-select: none;
}

.nav-group-summary:hover,
.nav-group-summary.active {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.nav-group-summary.active {
  background: rgba(19, 168, 138, .16);
}

.nav-group-summary .nav-label {
  flex: 1;
}

.nav-chevron {
  margin-left: auto;
  font-size: 11px;
  color: #94a3b8;
  transition: transform .18s ease;
}

.nav-group[open] .nav-chevron {
  transform: rotate(180deg);
}

.nav-submenu {
  margin: 7px 0 10px 17px;
  padding-left: 12px;
  border-left: 1px solid rgba(255, 255, 255, .12);
}

.nav-submenu .nav-link {
  padding: 10px 12px;
  margin-bottom: 4px;
  border-radius: 12px;
  font-size: 14px;
}

.nav-submenu .nav-link .nav-icon {
  width: 24px;
  height: 24px;
  border-radius: 9px;
}

.nav-submenu .nav-link.active::before {
  left: -15px;
  top: 10px;
  bottom: 10px;
}

.sidebar nav {
  padding-bottom: 20px;
}


/* ============================================================
   Caja diaria - registro de pagos simple/desplegable
   ============================================================ */

.payment-register {
  display: inline-block;
  width: 100%;
  max-width: 360px;
}

.payment-register summary {
  list-style: none;
}

.payment-register summary::-webkit-details-marker {
  display: none;
}

.payment-summary {
  width: 100%;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}

.payment-clean-form {
  background: rgba(15, 23, 42, .03);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}

.payment-section {
  display: grid;
  gap: 8px;
}

.mixed-payment-box {
  display: grid;
  gap: 10px;
}

.payment-line-clean {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  background: #fff;
}

.payment-line-clean strong {
  font-size: 13px;
}

@media (max-width: 760px) {
  .payment-register {
    max-width: none;
  }

  .payment-clean-form {
    min-width: 240px;
  }
}


/* ============================================================
   Hoja diaria - pago simple de productos
   ============================================================ */

.products-payment-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: rgba(15, 23, 42, .03);
}

.products-payment-section {
  display: grid;
  gap: 10px;
}

.products-total-preview {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .products-payment-card .grid {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   Hoja diaria - productos con cantidad rápida
   ============================================================ */

.products-sale-table .producto-cantidad {
  text-align: center;
}

.producto-line-total {
  white-space: nowrap;
  display: inline-block;
  min-width: 80px;
}

@media (max-width: 760px) {
  .products-sale-table th,
  .products-sale-table td {
    min-width: 110px;
  }

  .products-sale-table th:first-child,
  .products-sale-table td:first-child {
    min-width: 220px;
  }
}


/* ============================================================
   Dashboard coordinador - agenda diaria
   ============================================================ */

.coordinator-day-agenda {
  border: 1px solid rgba(19, 168, 138, .24);
}

.coordinator-agenda-table td,
.medico-agenda-table td {
  vertical-align: top;
}

@media (max-width: 760px) {
  .coordinator-agenda-table th,
  .coordinator-agenda-table td,
  .medico-agenda-table th,
  .medico-agenda-table td {
    min-width: 130px;
  }

  .coordinator-agenda-table th:nth-child(2),
  .coordinator-agenda-table td:nth-child(2),
  .coordinator-agenda-table th:nth-child(4),
  .coordinator-agenda-table td:nth-child(4),
  .medico-agenda-table th:nth-child(2),
  .medico-agenda-table td:nth-child(2),
  .medico-agenda-table th:nth-child(4),
  .medico-agenda-table td:nth-child(4) {
    min-width: 220px;
  }
}


/* ============================================================
   Dashboard asesora - agenda diaria
   ============================================================ */

.asesora-day-agenda {
  border: 1px solid rgba(99, 102, 241, .22);
}

.asesora-agenda-table td {
  vertical-align: top;
}

.asesora-agenda-table a {
  font-weight: 700;
}

@media (max-width: 760px) {
  .asesora-agenda-table th,
  .asesora-agenda-table td {
    min-width: 125px;
  }

  .asesora-agenda-table th:nth-child(2),
  .asesora-agenda-table td:nth-child(2),
  .asesora-agenda-table th:nth-child(6),
  .asesora-agenda-table td:nth-child(6),
  .asesora-agenda-table th:nth-child(7),
  .asesora-agenda-table td:nth-child(7) {
    min-width: 210px;
  }
}


/* ============================================================
   Citas - accesos operativos a hoja diaria
   ============================================================ */

.citas-operacion-card {
  border: 1px solid rgba(19, 168, 138, .18);
}

.citas-operacion-card .table-wrap td {
  vertical-align: top;
}

@media (max-width: 760px) {
  .citas-operacion-card table th,
  .citas-operacion-card table td {
    min-width: 130px;
  }

  .citas-operacion-card table th:nth-child(2),
  .citas-operacion-card table td:nth-child(2) {
    min-width: 220px;
  }
}


/* ============================================================
   Ajuste de venta - cobro de diferencia
   ============================================================ */

#pago_adicional_box {
  border: 1px solid rgba(245, 158, 11, .35);
}

#pago_adicional_box .grid {
  align-items: end;
}

@media (max-width: 760px) {
  #pago_adicional_box .grid {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   Caja de ruta - cierre reubicado al final
   ============================================================ */

.caja-resumen-grid {
  grid-template-columns: 1fr;
}

.cierre-caja-final {
  border: 1px solid rgba(15, 23, 42, .08);
}

.cierre-caja-final details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.cierre-caja-final details summary::-webkit-details-marker {
  display: none;
}

.cierre-caja-final details summary h3 {
  margin: 0;
}

.cierre-caja-final details summary p {
  margin: 4px 0 0;
  color: var(--muted);
}

.cierre-caja-body {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.cierre-caja-form {
  display: grid;
  gap: 12px;
}

@media (max-width: 760px) {
  .cierre-caja-final details summary {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ============================================================
   Limpieza general de módulos - acciones ordenadas
   ============================================================ */

/*
  Regla visual del proyecto:
  - El contenido principal va primero.
  - Formularios secundarios, vistas previas, cierres y bloques administrativos van debajo.
  - Evitar tarjetas laterales flotando que desordenan pantallas pequeñas o laptops de 14".
*/

.content-grid {
  grid-template-columns: 1fr !important;
}

.content-grid > article.card.panel,
.content-grid > section.card.panel {
  order: 1;
}

.content-grid > aside.card.panel {
  order: 2;
  border-style: dashed;
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.panel-header {
  align-items: flex-start;
  flex-wrap: wrap;
}

.panel-header > div:last-child,
.panel-header > form,
.panel-actions,
.action-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.panel-header .btn,
.action-row .btn,
td .btn {
  white-space: nowrap;
}

@media (max-width: 980px) {
  .panel {
    padding: 18px;
  }

  .panel-header {
    flex-direction: column;
  }

  .panel-header > div:last-child,
  .panel-header > form,
  .panel-actions,
  .action-row {
    width: 100%;
  }

  .panel-header .btn,
  .panel-actions .btn,
  .action-row .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .main {
    padding: 18px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .card.panel {
    border-radius: 18px;
  }

  td .btn {
    margin-top: 6px;
  }
}


/* ============================================================
   Operación móvil simple - coordinador, médico y agenda
   ============================================================ */

.compact-action-card details summary,
.mobile-collapsible details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

.compact-action-card details summary::-webkit-details-marker,
.mobile-collapsible details summary::-webkit-details-marker {
  display: none;
}

.compact-action-card details summary h3,
.mobile-collapsible details summary h3 {
  margin: 0;
}

.compact-action-card details summary p,
.mobile-collapsible details summary p {
  margin: 4px 0 0;
  color: var(--muted);
}

.compact-action-body {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.pagination-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.products-sale-table .btn-remove-product-row,
.products-sale-table .btn-remove-product-row-ajuste,
.btn-remove-extra-row {
  padding: 8px 10px;
  font-size: 12px;
}

@media (max-width: 760px) {
  .btn-mobile-full,
  .compact-action-body .btn,
  .products-payment-card .btn {
    width: 100%;
    justify-content: center;
  }

  .products-sale-table th,
  .products-sale-table td {
    min-width: 120px;
  }

  .products-sale-table th:first-child,
  .products-sale-table td:first-child {
    min-width: 210px;
  }

  .compact-action-card {
    border-style: solid !important;
  }

  .compact-action-card details summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .pagination-row .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .form-group textarea.input {
    min-height: 88px;
  }
}


/* ============================================================
   Privacidad coordinador + ruta semanal
   ============================================================ */

.coordinator-week-schedule {
  border: 1px solid rgba(19, 168, 138, .22);
}

.privacy-hidden-note {
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 760px) {
  .coordinator-week-schedule table th,
  .coordinator-week-schedule table td {
    min-width: 140px;
  }

  .coordinator-week-schedule table th:nth-child(3),
  .coordinator-week-schedule table td:nth-child(3) {
    min-width: 240px;
  }
}


/* ============================================================
   Confirmación visual de citas
   ============================================================ */

.status.warning {
  background: #fef3c7;
  color: #92400e;
  border-color: rgba(245, 158, 11, .35);
}

.status.info {
  background: #e0f2fe;
  color: #075985;
  border-color: rgba(14, 165, 233, .28);
}

.status.danger {
  background: #fee2e2;
  color: #991b1b;
  border-color: rgba(239, 68, 68, .28);
}

.status.muted {
  background: #f1f5f9;
  color: #475569;
  border-color: rgba(100, 116, 139, .25);
}


/* ============================================================
   WhatsApp de confirmación de cita
   ============================================================ */

.whatsapp-preview textarea,
textarea[readonly].input {
  background: #f8fafc;
  white-space: pre-wrap;
}

@media (max-width: 760px) {
  .panel-header form[method="POST"],
  .panel-header form[method="POST"] .btn {
    width: 100%;
  }
}


/* ============================================================
   Dashboard: tarjeta motivacional de devengado mensual
   ============================================================ */

.earning-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(16, 185, 129, 0.35);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.16), rgba(59, 130, 246, 0.12));
  box-shadow: 0 18px 40px rgba(16, 185, 129, 0.12);
}

.earning-card::after {
  content: "★";
  position: absolute;
  right: 18px;
  top: 10px;
  font-size: 42px;
  opacity: 0.12;
}

.earning-card .stat-label {
  font-weight: 800;
}

.earning-card .stat-value {
  letter-spacing: -0.04em;
}

@media (max-width: 760px) {
  .earning-card {
    border-radius: 18px;
  }
}


/* ============================================================
   Dashboard coordinador: layout limpio sin superposición
   ============================================================ */

.coordinator-dashboard-section {
  position: relative;
  z-index: 1;
  clear: both;
  margin-top: 18px;
}

.coordinator-day-agenda {
  overflow: visible;
}

.coordinator-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.coordinator-agenda-table {
  min-width: 860px;
}

.medico-agenda-table {
  min-width: 760px;
}

.compact-dashboard-stats {
  margin-top: 12px;
}

@media (max-width: 760px) {
  .coordinator-agenda-table {
    min-width: 780px;
  }

  .medico-agenda-table {
    min-width: 720px;
  }

  .coordinator-dashboard-section .panel-header {
    gap: 12px;
  }
}


/* ============================================================
   Procedimientos: precio oficial vs valor cobrado negociado
   ============================================================ */

.row-price-adjusted {
  background: rgba(245, 158, 11, 0.08);
}

.negotiated-price-note {
  border-left: 4px solid rgba(245, 158, 11, 0.65);
  padding-left: 10px;
}


/* ============================================================
   Dashboard coordinador: tarjetas compactas para móvil
   ============================================================ */

.coordinator-dashboard-section .compact-dashboard-stats {
  gap: 10px;
}

.coordinator-dashboard-section .compact-dashboard-stats .stat-card {
  padding: 12px 14px;
  min-height: auto;
}

.coordinator-dashboard-section .compact-dashboard-stats .stat-label {
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 4px;
}

.coordinator-dashboard-section .compact-dashboard-stats .stat-value {
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.coordinator-dashboard-section .compact-dashboard-stats .stat-note {
  font-size: 11px;
  line-height: 1.25;
  margin-top: 4px;
}

@media (max-width: 760px) {
  .main > .stats-grid:first-of-type {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .main > .stats-grid:first-of-type .stat-card,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-card {
    padding: 9px 10px;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  }

  .main > .stats-grid:first-of-type .stat-label,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-label {
    font-size: 11px;
    line-height: 1.15;
    margin: 0 0 3px;
  }

  .main > .stats-grid:first-of-type .stat-value,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-value {
    font-size: 18px !important;
    line-height: 1.05;
    letter-spacing: -0.04em;
  }

  .main > .stats-grid:first-of-type .stat-note,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-note {
    font-size: 10px;
    line-height: 1.18;
    margin-top: 3px;
  }

  .coordinator-day-agenda .compact-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
  }

  .coordinator-day-agenda .panel-header {
    margin-bottom: 8px;
  }

  .coordinator-day-agenda .table-wrap {
    margin-top: 10px !important;
  }

  .coordinator-dashboard-section {
    margin-top: 12px;
  }
}

@media (max-width: 420px) {
  .main > .stats-grid:first-of-type,
  .coordinator-day-agenda .compact-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .main > .stats-grid:first-of-type .stat-card,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-card {
    padding: 8px;
    border-radius: 12px;
  }

  .main > .stats-grid:first-of-type .stat-value,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-value {
    font-size: 16px !important;
  }

  .main > .stats-grid:first-of-type .stat-note,
  .coordinator-dashboard-section .compact-dashboard-stats .stat-note {
    max-height: 2.4em;
    overflow: hidden;
  }
}


/* ============================================================
   Dashboards: tarjetas informativas compactas globales
   ============================================================ */

.dashboard-page .stats-grid,
.main .stats-grid {
  gap: 10px;
}

.main .stat-card {
  padding: 12px 14px;
  min-height: auto;
  border-radius: 16px;
}

.main .stat-card .stat-label {
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 4px;
}

.main .stat-card .stat-value {
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.main .stat-card .stat-note {
  font-size: 11px;
  line-height: 1.25;
  margin-top: 4px;
}

.main .earning-card {
  padding: 12px 14px;
}

@media (min-width: 761px) {
  .main .stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }

  .main .stat-card {
    min-height: 92px;
  }
}

@media (max-width: 1024px) {
  .main .stats-grid {
    gap: 9px;
  }

  .main .stat-card {
    padding: 10px 12px;
    border-radius: 15px;
  }

  .main .stat-card .stat-value {
    font-size: 21px !important;
  }
}

@media (max-width: 760px) {
  .main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .main .stat-card {
    padding: 9px 10px;
    min-height: auto;
    border-radius: 14px;
  }

  .main .stat-card .stat-label {
    font-size: 11px;
    line-height: 1.15;
    margin-bottom: 3px;
  }

  .main .stat-card .stat-value {
    font-size: 18px !important;
    line-height: 1.05;
  }

  .main .stat-card .stat-note {
    font-size: 10px;
    line-height: 1.18;
    margin-top: 3px;
  }

  .main .earning-card::after {
    font-size: 30px;
    right: 10px;
    top: 6px;
  }
}

@media (max-width: 420px) {
  .main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .main .stat-card {
    padding: 8px;
    border-radius: 12px;
  }

  .main .stat-card .stat-value {
    font-size: 16px !important;
  }

  .main .stat-card .stat-note {
    max-height: 2.4em;
    overflow: hidden;
  }
}


/* ============================================================
   Editar cita: vista limitada para coordinador
   ============================================================ */

.coordinator-edit-limited-grid .form-group {
  margin-bottom: 10px;
}

.coordinator-edit-limited-grid input[readonly] {
  background: rgba(148, 163, 184, 0.08);
}


/* ============================================================
   Editar cita: cambio/quitar ítems de procedimiento
   ============================================================ */

.cita-item-row .checkbox-inline {
  white-space: nowrap;
}

.cita-item-row select.cita-item-select {
  min-width: 260px;
}

@media (max-width: 760px) {
  .cita-item-row select.cita-item-select {
    min-width: 220px;
  }
}


/* ============================================================
   Notificaciones V2 - visual fijo, sin emojis/cuadros negros
   ============================================================ */

.vd-notif-page {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.07) !important;
  padding: 22px !important;
  color: #172033 !important;
  overflow: visible !important;
}

.vd-notif-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.vd-notif-head h3 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 18px !important;
  letter-spacing: -0.02em !important;
}

.vd-notif-head p {
  margin: 4px 0 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
}

.vd-notif-summary {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 10px !important;
  margin: 16px 0 18px !important;
}

.vd-notif-summary-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 14px !important;
  color: #172033 !important;
  min-height: 74px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.vd-notif-summary-card span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}

.vd-notif-summary-card strong {
  color: #172033 !important;
  font-size: 26px !important;
  line-height: 1 !important;
}

.vd-notif-list {
  display: grid !important;
  gap: 12px !important;
}

.vd-notif-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  color: #172033 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.vd-notif-card.is-unread {
  background: #f8fffd !important;
  border-color: rgba(19, 168, 138, 0.38) !important;
}

.vd-notif-card-body {
  display: grid !important;
  grid-template-columns: 10px minmax(0, 1fr) !important;
  gap: 12px !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

.vd-notif-marker {
  width: 10px !important;
  min-height: 100% !important;
  border-radius: 999px !important;
  background: #38bdf8 !important;
}

.vd-notif-marker.info {
  background: #38bdf8 !important;
}

.vd-notif-marker.warning {
  background: #f59e0b !important;
}

.vd-notif-marker.success {
  background: #22c55e !important;
}

.vd-notif-marker.critical {
  background: #ef4444 !important;
}

.vd-notif-content {
  min-width: 0 !important;
}

.vd-notif-title-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.vd-notif-title-row h4 {
  margin: 0 !important;
  color: #172033 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
}

.vd-notif-content p {
  margin: 6px 0 0 !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  font-size: 14px !important;
  overflow-wrap: anywhere !important;
}

.vd-notif-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
  color: #64748b !important;
  font-size: 12px !important;
}

.vd-notif-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.vd-notif-pill.new {
  background: rgba(37, 99, 235, 0.10) !important;
  color: #1d4ed8 !important;
}

.vd-notif-pill.read {
  background: rgba(34, 197, 94, 0.10) !important;
  color: #15803d !important;
}

.vd-notif-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.vd-notif-actions form {
  margin: 0 !important;
}

.vd-notif-empty {
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 18px !important;
  padding: 28px 16px !important;
  text-align: center !important;
  color: #64748b !important;
}

.vd-notif-empty h3 {
  margin: 0 0 4px !important;
  color: #172033 !important;
}

.notifications-button-icon {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
}

.notifications-preview {
  max-width: min(360px, calc(100vw - 24px)) !important;
  overflow: hidden !important;
}

.notification-preview-item span,
.notification-preview-item small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.notification-preview-item small {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

@media (max-width: 760px) {
  .vd-notif-page {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .vd-notif-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .vd-notif-head-action,
  .vd-notif-head-action .btn {
    width: 100% !important;
  }

  .vd-notif-card {
    grid-template-columns: 1fr !important;
  }

  .vd-notif-title-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .vd-notif-actions,
  .vd-notif-actions .btn,
  .vd-notif-actions form,
  .vd-notif-actions button {
    width: 100% !important;
    justify-content: stretch !important;
  }

  .notifications-preview {
    display: none !important;
  }
}


/* ============================================================
   FIX FINAL Inventario + Notificaciones: sin iconos negros grandes
   ============================================================ */

/* Seguridad global: cualquier SVG del menú/topbar/dashboard queda pequeño. */
.nav-icon svg,
.group-icon svg,
.module-icon svg,
.quick-card-icon svg,
.quick-mini-icon svg,
.notifications-button svg,
.notifications-button-icon {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
}

/* Íconos seguros tipo texto para evitar SVG/emoji mal renderizados. */
.safe-menu-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  border-radius: 8px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: rgba(255, 255, 255, .14) !important;
  color: currentColor !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  overflow: hidden !important;
}

/* Topbar sin campana SVG/emoji: botón textual compacto. */
.notifications-button-safe {
  width: auto !important;
  min-width: 46px !important;
  max-width: 96px !important;
  height: 46px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: #172033 !important;
  font-weight: 900 !important;
}

.notifications-button-text {
  display: inline-block !important;
  font-size: 12px !important;
  line-height: 1 !important;
  color: #172033 !important;
  white-space: nowrap !important;
}

/* Inventario aislado para que no herede iconos/estilos extraños. */
.vd-inv-panel {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .07) !important;
  overflow: visible !important;
}

.vd-inv-panel .panel-header h3,
.vd-inv-panel h3 {
  color: #172033 !important;
}

.vd-inv-panel .panel-header p,
.vd-inv-panel p,
.vd-inv-panel small {
  color: #64748b !important;
}

.vd-inv-panel .badge {
  background: rgba(19, 168, 138, .10) !important;
  color: #0f766e !important;
  border: 0 !important;
}

.vd-inv-table-wrap {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  overflow-x: auto !important;
}

.vd-inv-table-wrap table {
  background: #ffffff !important;
  color: #172033 !important;
}

.vd-inv-table-wrap th {
  background: #f8fafc !important;
  color: #64748b !important;
}

.vd-inv-table-wrap td {
  background: #ffffff !important;
  color: #172033 !important;
}

.vd-inv-details {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #172033 !important;
}

.vd-inv-details summary {
  color: #172033 !important;
}

/* Notificaciones: bloquear cualquier icono viejo dentro de la página. */
.vd-notif-page svg,
.vd-notif-page .notification-icon,
.vd-notif-page .module-icon,
.vd-notif-page .quick-card-icon,
.vd-notif-page .quick-mini-icon {
  display: none !important;
}

.vd-notif-page,
.vd-notif-page * {
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .notifications-button-safe {
    height: 42px !important;
    max-width: 82px !important;
    padding: 0 10px !important;
  }

  .notifications-button-text {
    font-size: 11px !important;
  }
}


/* ============================================================
   Campana notificaciones segura con contador numerico
   ============================================================ */

.vd-bell-button {
  position: relative !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.vd-bell-icon-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
}

.vd-bell-icon {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
  color: #172033 !important;
}

.vd-bell-dot {
  display: none !important;
}

.vd-bell-button .notifications-badge {
  position: absolute !important;
  top: -6px !important;
  right: -7px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: #ef4444 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  line-height: 20px !important;
  text-align: center !important;
  font-weight: 900 !important;
  border: 2px solid #ffffff !important;
}

@media (max-width: 760px) {
  .vd-bell-button {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }
}

/* Cancelación de brigada: estados administrativos */
.status.muted {
  background: rgba(100, 116, 139, .12) !important;
  color: #475569 !important;
}

/* Teléfonos con indicativo de país */
.phone-country-row {
  display: grid;
  grid-template-columns: minmax(130px, 180px) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.phone-country-select {
  min-width: 0;
}

.phone-country-number {
  min-width: 0;
}

@media (max-width: 640px) {
  .phone-country-row {
    grid-template-columns: 1fr;
  }
}

.phone-country-settings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.phone-country-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(255,255,255,.72);
  font-weight: 700;
  color: var(--text);
}



.status-button {
  border: 0;
  cursor: pointer;
  font: inherit;
  min-height: 34px;
}
.status-button:hover {
  filter: brightness(0.96);
  transform: translateY(-1px);
}
.agenda-excel-table td,
.asesora-agenda-table td,
.coordinator-agenda-table td,
.medico-agenda-table td {
  vertical-align: top;
}
@media (max-width: 760px) {
  .agenda-excel-table {
    min-width: 820px;
  }

  .asesora-agenda-table {
    min-width: 1040px;
  }

  .coordinator-agenda-table {
    min-width: 780px;
  }

  .medico-agenda-table {
    min-width: 720px;
  }
}

/* ============================================================
   Agenda tipo Excel - acciones debajo de cada paciente
   ============================================================ */
.agenda-excel-table {
  min-width: 920px;
}

.agenda-actions-row td {
  border-top: 0 !important;
  padding-top: 0 !important;
  background: rgba(248, 250, 252, .58);
}

.agenda-actions-spacer {
  width: 1%;
}

.agenda-actions-cell {
  padding-left: 8px;
  padding-right: 8px;
}

.agenda-inline-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 4px 0 8px;
}

.agenda-actions-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-right: 2px;
}

.agenda-action-btn {
  min-height: 28px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}

.agenda-excel-table .status-button,
.asesora-agenda-table .status-button,
.coordinator-agenda-table .status-button,
.medico-agenda-table .status-button {
  min-height: 30px;
  padding: 6px 9px;
  font-size: 11px;
  line-height: 1.1;
}



.agenda-coordinator-actions {
  align-items: center;
}

.agenda-payment-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(15, 23, 42, .04);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}

.agenda-payment-pill.is-paid {
  background: rgba(22, 163, 74, .09);
  border-color: rgba(22, 163, 74, .22);
  color: #166534;
}

.agenda-payment-pill.is-pending {
  background: rgba(239, 68, 68, .08);
  border-color: rgba(239, 68, 68, .22);
  color: #991b1b;
}

.agenda-excel-table tr:target,
.caja-citas-table tr:target {
  outline: 2px solid rgba(37, 99, 235, .35);
  outline-offset: -2px;
  background: rgba(219, 234, 254, .35);
}

@media (max-width: 760px) {
  .agenda-inline-actions {
    gap: 5px;
    padding-bottom: 10px;
  }

  .agenda-action-btn {
    min-height: 28px;
    padding: 6px 8px;
    font-size: 11px;
  }
}


/* ============================================================
   Caja diaria avanzada - prioridad móvil coordinador
   ============================================================ */
.caja-mobile-command {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}

.caja-mobile-command-head,
.caja-route-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.caja-mobile-command-head h3,
.caja-route-card h4 {
  margin: 2px 0 4px;
}

.caja-mobile-command-head p,
.caja-route-card p {
  margin: 0;
  color: var(--muted);
}

.caja-mobile-actions,
.caja-route-actions,
.cierre-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.caja-mobile-actions .btn,
.caja-route-actions .btn,
.cierre-actions .btn {
  min-height: 38px;
}

.caja-mobile-kpis,
.caja-route-kpis {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.caja-mobile-kpis {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.caja-route-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.caja-mobile-kpi,
.caja-route-kpis span {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 18px;
  padding: 11px;
  background: rgba(255,255,255,.78);
}

.caja-mobile-kpi span,
.caja-route-kpis small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.caja-mobile-kpi strong,
.caja-route-kpis strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  color: var(--text);
}

.caja-mobile-kpi small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.caja-mobile-kpi-strong {
  border-color: rgba(14, 165, 233, .32);
  background: rgba(224, 242, 254, .64);
}

.caja-mobile-kpi-diff.success,
.caja-route-kpis .success {
  border-color: rgba(34, 197, 94, .35);
  background: rgba(220, 252, 231, .66);
}

.caja-mobile-kpi-diff.warning,
.caja-route-kpis .warning {
  border-color: rgba(245, 158, 11, .38);
  background: rgba(254, 243, 199, .72);
}

.caja-mobile-kpi-diff.critical,
.caja-route-kpis .critical {
  border-color: rgba(239, 68, 68, .35);
  background: rgba(254, 226, 226, .7);
}

.caja-route-cards {
  display: none;
  gap: 12px;
}

.caja-route-card {
  padding: 14px;
  border-radius: 22px;
}

@media (max-width: 860px) {
  .caja-mobile-command {
    padding: 14px;
  }

  .caja-mobile-actions .btn,
  .caja-route-actions .btn,
  .cierre-actions .btn {
    flex: 1 1 130px;
    justify-content: center;
  }

  .caja-route-cards {
    display: grid;
  }
}

@media (max-width: 560px) {
  .caja-mobile-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .caja-mobile-kpi,
  .caja-route-kpis span {
    border-radius: 15px;
    padding: 9px;
  }

  .caja-mobile-kpi strong,
  .caja-route-kpis strong {
    font-size: 15px;
  }
}

/* ============================================================
   Pago rapido desde agenda del coordinador
   ============================================================ */
.agenda-quick-pay {
  position: relative;
  display: inline-block;
}

.agenda-quick-pay > summary {
  list-style: none;
  cursor: pointer;
}

.agenda-quick-pay > summary::-webkit-details-marker {
  display: none;
}

.agenda-quick-pay-form {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  width: min(92vw, 430px);
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .20);
  display: grid;
  gap: 10px;
}

.agenda-pay-grid,
.agenda-pay-single,
.agenda-pay-mixed {
  display: grid;
  gap: 8px;
}

.agenda-pay-single,
.agenda-pay-mixed {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.agenda-quick-pay-form label {
  display: grid;
  gap: 4px;
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .02em;
}

.agenda-quick-pay-form .input {
  min-height: 36px;
  padding: 8px 9px;
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
}

.agenda-pay-reference {
  grid-column: 1 / -1;
}

.agenda-pay-save,
.agenda-pay-detail {
  min-height: 34px;
  justify-content: center;
}

@media (max-width: 760px) {
  .agenda-quick-pay-form {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 12px;
    width: auto;
    max-height: 75vh;
    overflow: auto;
  }

  .agenda-pay-single,
  .agenda-pay-mixed {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Hoja diaria del coordinador - flujo simple tipo Excel
   ============================================================ */
.hoja-diaria-shell { overflow: visible; }
.hoja-filtros {
  display: grid;
  grid-template-columns: 160px minmax(180px, 1fr) minmax(180px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 14px;
}
.hoja-filter-action { display: flex; align-items: end; }
.hoja-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.hoja-kpis > div,
.hoja-section {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 20px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}
.hoja-kpis > div { padding: 12px; }
.hoja-kpis span,
.hoja-paid span,
.hoja-egreso-form label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hoja-kpis strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  color: var(--text);
}
.hoja-kpis small,
.hoja-patient-main small,
.hoja-egreso-item small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.hoja-kpi-strong { background: rgba(224, 242, 254, .58) !important; border-color: rgba(14, 165, 233, .30) !important; }
.hoja-kpi-ok { background: rgba(220, 252, 231, .62) !important; border-color: rgba(34, 197, 94, .28) !important; }
.hoja-kpi-warn { background: rgba(254, 243, 199, .62) !important; border-color: rgba(245, 158, 11, .32) !important; }
.hoja-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr);
  gap: 14px;
  margin-top: 16px;
  align-items: start;
}
.hoja-section { padding: 14px; }
.hoja-section-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.hoja-section-head h3,
.hoja-side h3 { margin: 0 0 4px; }
.hoja-section-head p,
.hoja-side p { margin: 0; color: var(--muted); }
.hoja-patient-list { display: grid; gap: 10px; }
.hoja-patient-card {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  padding: 11px;
  background: rgba(248, 250, 252, .72);
}
/* v279: la tarjeta de paciente no se resalta por hash normal; solo por navegación exacta controlada con .hoja-target-highlight. */
.hoja-patient-card:target:not(.hoja-target-highlight) {
  outline: 0 !important;
  outline-offset: 0 !important;
}
.hoja-patient-top {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.hoja-hour {
  min-height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(15, 23, 42, .06);
  font-weight: 900;
}
.hoja-patient-main strong { display: block; line-height: 1.15; }
.hoja-paid { text-align: right; white-space: nowrap; }
.hoja-paid strong { display: block; margin-top: 2px; font-size: 17px; }
.hoja-patient-detail {
  display: flex;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}
.hoja-patient-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 9px;
}
.hoja-patient-actions form { margin: 0; }
.hoja-chip {
  min-height: 30px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
}
.hoja-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(22, 163, 74, .09);
  border: 1px solid rgba(22, 163, 74, .24);
  color: #166534;
  font-size: 11px;
  font-weight: 800;
}
.hoja-pay-box,
.hoja-cancel-box { position: relative; display: inline-block; }
.hoja-pay-box > summary,
.hoja-cancel-box > summary { list-style: none; cursor: pointer; }
.hoja-pay-box > summary::-webkit-details-marker,
.hoja-cancel-box > summary::-webkit-details-marker { display: none; }
.hoja-pay-form,
.hoja-mini-form {
  position: absolute;
  z-index: 35;
  top: calc(100% + 8px);
  left: 0;
  width: min(92vw, 360px);
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  color: var(--text);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .24);
  opacity: 1;
  isolation: isolate;
}
.hoja-pay-form label,
.hoja-mini-form label,
.hoja-pay-fields { display: grid; gap: 6px; }

.hoja-pay-form .input,
.hoja-mini-form .input {
  background: #ffffff;
  color: var(--text);
}
.hoja-pay-box[open] > summary,
.hoja-cancel-box[open] > summary {
  position: relative;
  z-index: 36;
}
.hoja-egreso-form {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}
.hoja-egreso-form label { display: grid; gap: 5px; }
.hoja-egresos-list { display: grid; gap: 8px; margin-top: 12px; }
.hoja-egreso-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  padding: 9px;
  background: rgba(248, 250, 252, .72);
}
.hoja-close-note {
  padding: 10px;
  border-radius: 14px;
  background: rgba(15, 23, 42, .04);
  color: var(--muted);
}
@media (max-width: 980px) {
  .hoja-main-grid { grid-template-columns: 1fr; }
  .hoja-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .hoja-filtros { grid-template-columns: 1fr; }
  .hoja-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hoja-patient-top { grid-template-columns: 48px minmax(0, 1fr); }
  .hoja-paid { grid-column: 1 / -1; text-align: left; }
  .hoja-patient-actions .btn,
  .hoja-patient-actions .hoja-pill,
  .hoja-patient-actions details { flex: 1 1 calc(50% - 6px); }
  .hoja-patient-actions details > summary,
  .hoja-patient-actions .btn { justify-content: center; width: 100%; }
  .hoja-pay-form,
  .hoja-mini-form {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 12px;
    width: auto;
    max-height: 78vh;
    overflow: auto;
    z-index: 1000;
    background: #ffffff;
  }
  .hoja-egreso-item { grid-template-columns: 1fr; }
}

/* Ajuste compacto: hoja diaria del coordinador estilo Excel, sin tarjetas grandes */
.hoja-resumen-excel {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
  gap: 0;
  margin-top: 12px;
  border: 1px solid rgba(148, 163, 184, .42);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.hoja-resumen-excel > div {
  min-height: 48px;
  padding: 6px 8px;
  border-right: 1px solid rgba(148, 163, 184, .32);
  background: rgba(248, 250, 252, .72);
}
.hoja-resumen-excel > div:last-child { border-right: 0; }
.hoja-resumen-excel span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hoja-resumen-excel strong {
  display: block;
  margin-top: 3px;
  color: var(--text);
  font-size: 14px;
  line-height: 1.02;
}
.hoja-resumen-excel small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.1;
}
.hoja-resumen-excel .ok { background: rgba(220, 252, 231, .56); }
.hoja-resumen-excel .warn { background: rgba(254, 243, 199, .64); }
.hoja-resumen-inicio {
  margin: 12px 0 14px;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}
.hoja-resumen-inicio > div {
  background: linear-gradient(135deg, rgba(248, 250, 252, .88), rgba(255, 255, 255, .98));
}
.hoja-resumen-inicio > div:first-child {
  background: linear-gradient(135deg, rgba(14, 165, 164, .12), rgba(248, 250, 252, .96));
}
.hoja-resumen-inicio strong {
  font-size: 15px;
}
.hoja-resumen-inicio small {
  font-size: 10px;
}
.hoja-daily-flow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}
.hoja-daily-flow .hoja-section {
  border-radius: 14px;
  box-shadow: none;
}
.hoja-patient-card {
  border-radius: 12px;
  padding: 9px;
  background: #fff;
}
.hoja-patient-top {
  grid-template-columns: 52px minmax(0, 1fr) auto;
}
.hoja-hour { min-height: 32px; border-radius: 9px; }
.hoja-paid strong { font-size: 15px; }
.hoja-patient-detail {
  margin-top: 6px;
  font-size: 11px;
  gap: 6px 10px;
}
.hoja-patient-actions { margin-top: 7px; gap: 5px; }
.hoja-chip { min-height: 28px; padding: 5px 8px; }
.hoja-egresos-section .hoja-egreso-form {
  grid-template-columns: minmax(150px, 1fr) minmax(160px, 1fr) minmax(110px, .7fr) minmax(180px, 1.1fr) auto;
  align-items: end;
}
.hoja-egresos-section .hoja-egresos-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}
.hoja-egresos-section .hoja-egreso-item {
  border-radius: 10px;
  padding: 8px;
  background: #fff;
}
.hoja-egresos-section h3 { margin-top: 14px; }
.hoja-egresos-section h3:first-child { margin-top: 0; }
@media (max-width: 1180px) {
  .hoja-resumen-excel > div { border-bottom: 1px solid rgba(148, 163, 184, .26); }
}
@media (max-width: 760px) {
  .hoja-resumen-excel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hoja-resumen-excel > div {
    min-height: 48px;
  }
  .hoja-resumen-excel strong { font-size: 14px; }
  .hoja-resumen-inicio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hoja-egresos-section .hoja-egreso-form {
    grid-template-columns: 1fr 1fr;
  }
  .hoja-egresos-section .hoja-egreso-form button {
    grid-column: 1 / -1;
  }
}
@media (max-width: 620px) {
  .hoja-patient-top { grid-template-columns: 46px minmax(0, 1fr); }
  .hoja-paid { grid-column: 1 / -1; text-align: left; }
  .hoja-egresos-section .hoja-egreso-form { grid-template-columns: 1fr; }
}

/* ============================================================
   Modo movil/tablet automatico + campos numericos limpios
   ============================================================ */
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.device-mobile .main,
body.device-tablet .main {
  padding: 12px;
}

body.device-mobile .topbar,
body.device-tablet .topbar {
  position: sticky;
  top: 0;
  z-index: 18;
  margin: -12px -12px 12px;
  padding: 10px 12px;
  background: rgba(246, 248, 251, .96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(226, 232, 240, .9);
}

body.device-mobile .page-title h2,
body.device-tablet .page-title h2 {
  font-size: 18px;
  margin-bottom: 0;
  letter-spacing: -.02em;
}

body.device-mobile .page-title p,
body.device-tablet .page-title p {
  display: none;
}

body.device-mobile .mobile-menu-btn,
body.device-tablet .mobile-menu-btn {
  display: grid;
  place-items: center;
}

body.device-mobile .sidebar,
body.device-tablet .sidebar {
  padding: 14px;
}

body.device-mobile .sidebar .brand,
body.device-tablet .sidebar .brand {
  margin-bottom: 16px;
}

body.device-mobile .sidebar .brand-logo,
body.device-tablet .sidebar .brand-logo {
  width: 38px;
  height: 38px;
  border-radius: 13px;
}

body.device-mobile .nav-title,
body.device-tablet .nav-title {
  margin: 14px 0 8px;
}

body.device-mobile .nav-link,
body.device-mobile .nav-group-summary,
body.device-tablet .nav-link,
body.device-tablet .nav-group-summary {
  min-height: 42px;
  padding: 9px 10px;
}

body.device-mobile .nav-icon,
body.device-tablet .nav-icon {
  width: 25px;
  height: 25px;
}

body.device-mobile .panel,
body.device-tablet .panel {
  border-radius: 14px;
}

@media (min-width: 861px) {
  body.device-desktop .mobile-menu-btn { display: none; }
}

/* ============================================================
   Caja de ruta compacta tipo Excel
   ============================================================ */
.caja-excel-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.caja-excel-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.caja-resumen-excel {
  display: grid;
  grid-template-columns: repeat(6, minmax(118px, 1fr));
  border: 1px solid rgba(148, 163, 184, .42);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.caja-resumen-excel > div {
  min-height: 56px;
  padding: 8px 9px;
  border-right: 1px solid rgba(148, 163, 184, .28);
  border-bottom: 1px solid rgba(148, 163, 184, .22);
  background: rgba(248, 250, 252, .76);
}
.caja-resumen-excel span,
.caja-mini-cell span,
.caja-patient-money span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.caja-resumen-excel strong,
.caja-mini-cell strong,
.caja-patient-money strong {
  display: block;
  margin-top: 3px;
  font-size: 14px;
  line-height: 1.02;
  color: var(--text);
}
.caja-resumen-excel small,
.caja-patient-money small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 9.5px;
  line-height: 1.1;
}
.caja-resumen-excel .ok,
.caja-patient-money.ok {
  background: rgba(220, 252, 231, .58);
}
.caja-resumen-excel .warn,
.caja-patient-money.warn {
  background: rgba(254, 243, 199, .65);
}
.caja-compact-sections {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.caja-mini-panel {
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 12px;
  background: #fff;
  padding: 10px;
}
.caja-mini-title {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 8px;
}
.caja-mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 6px;
}
.caja-mini-cell {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 10px;
  padding: 7px 8px;
  background: rgba(248, 250, 252, .74);
}
.caja-patient-list {
  display: grid;
  gap: 8px;
}
.caja-patient-row {
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 13px;
  background: #fff;
  padding: 8px;
}
.caja-patient-main {
  display: grid;
  grid-template-columns: 52px minmax(180px, 1fr) auto repeat(5, minmax(88px, .36fr));
  gap: 8px;
  align-items: stretch;
}
.caja-patient-time {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 10px;
  background: rgba(19, 168, 138, .1);
  color: var(--brand-dark);
  font-weight: 900;
  font-size: 12px;
}
.caja-patient-info {
  display: grid;
  gap: 3px;
  align-content: center;
  min-width: 0;
}
.caja-patient-info strong {
  font-size: 14px;
  line-height: 1.15;
}
.caja-patient-info small,
.caja-patient-state small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.caja-patient-state {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
}
.caja-patient-money {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 10px;
  padding: 7px 8px;
  background: rgba(248, 250, 252, .74);
  min-width: 0;
}
.caja-patient-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 7px;
}
.caja-action-chip {
  min-height: 30px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1.1;
  width: auto;
}
.caja-action-payment { position: relative; display: inline-block; }
.caja-action-payment > summary { list-style: none; cursor: pointer; }
.caja-action-payment > summary::-webkit-details-marker { display: none; }
.caja-payment-popover {
  position: absolute;
  z-index: 35;
  top: calc(100% + 8px);
  left: 0;
  width: min(92vw, 380px);
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .20);
}

@media (max-width: 1180px) {
  .caja-resumen-excel { grid-template-columns: repeat(4, minmax(118px, 1fr)); }
  .caja-patient-main { grid-template-columns: 52px minmax(160px, 1fr) auto repeat(3, minmax(88px, .5fr)); }
  .caja-patient-money:last-child { grid-column: auto; }
}
@media (max-width: 860px) {
  .caja-resumen-excel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .caja-patient-main { grid-template-columns: 48px minmax(0, 1fr) auto; }
  .caja-patient-money { grid-column: auto; }
  .caja-patient-money:last-child { grid-column: auto; }
  .caja-action-chip { flex: 1 1 calc(33.333% - 6px); justify-content: center; }
  .caja-action-payment { flex: 1 1 calc(33.333% - 6px); }
  .caja-action-payment > summary { width: 100%; justify-content: center; }
}
@media (max-width: 620px) {
  .caja-excel-actions .btn { flex: 1 1 calc(50% - 7px); width: auto; }
  .caja-resumen-excel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .caja-resumen-excel > div { min-height: 52px; padding: 7px 8px; }
  .caja-patient-main { grid-template-columns: 46px minmax(0, 1fr); }
  .caja-patient-state { grid-column: 1 / -1; }
  .caja-patient-money { grid-column: span 1; }
  .caja-patient-actions .btn,
  .caja-action-chip,
  .caja-action-payment { flex: 1 1 calc(50% - 6px); width: auto; }
  .caja-payment-popover {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 12px;
    width: auto;
    max-height: 78vh;
    overflow: auto;
  }
}


/* ============================================================
   Devengado compacto en topbar y resumen tipo Excel dashboard
   ============================================================ */
.topbar-earning-pill {
  min-width: 170px;
  border-radius: 16px;
  padding: 8px 12px;
  border: 1px solid rgba(16, 185, 129, .35);
  background: linear-gradient(135deg, rgba(16, 185, 129, .16), rgba(59, 130, 246, .10));
  box-shadow: 0 10px 26px rgba(16, 185, 129, .10);
  line-height: 1.1;
}
.topbar-earning-pill span,
.topbar-earning-pill small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.topbar-earning-pill strong {
  display: block;
  color: var(--brand-dark);
  font-size: 17px;
  letter-spacing: -.03em;
  margin: 2px 0;
}
.dashboard-excel-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--surface);
  margin-top: 12px;
}
.dashboard-excel-summary > div {
  padding: 10px 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-width: 0;
}
.dashboard-excel-summary span,
.dashboard-excel-summary small {
  display: block;
  color: var(--muted);
  font-size: 11px;
}
.dashboard-excel-summary strong {
  display: block;
  font-size: 17px;
  letter-spacing: -.03em;
  margin: 2px 0;
}
body.device-mobile .topbar-earning-pill,
body.device-tablet .topbar-earning-pill {
  min-width: 128px;
  padding: 7px 9px;
}
body.device-mobile .topbar-earning-pill small,
body.device-tablet .topbar-earning-pill small {
  display: none;
}
body.device-mobile .topbar-earning-pill strong,
body.device-tablet .topbar-earning-pill strong {
  font-size: 14px;
}
body.device-mobile .profile,
body.device-tablet .profile {
  min-width: auto;
  padding-right: 8px;
}
body.device-mobile .profile div:not(.avatar),
body.device-tablet .profile div:not(.avatar) {
  display: none;
}

/* Hoja diaria: productos/extras y pago de pendientes desde la tarjeta del paciente */
.hoja-pill-soft {
  background: rgba(148, 163, 184, .12);
  border-color: rgba(148, 163, 184, .28);
  color: #475569;
}
.hoja-action-box > summary { list-style: none; cursor: pointer; }
.hoja-action-box > summary::-webkit-details-marker { display: none; }
.hoja-lines-form small,
.hoja-pay-summary small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.hoja-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 2px;
}
.hoja-popover-head strong {
  font-size: 14px;
  line-height: 1.15;
}
.hoja-popover-close {
  width: 26px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  border-radius: 999px;
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}
.hoja-pay-summary {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border-radius: 14px;
  background: rgba(37, 99, 235, .06);
  border: 1px solid rgba(37, 99, 235, .14);
}
.hoja-lines {
  display: grid;
  gap: 8px;
}
.hoja-line-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 76px;
  gap: 7px;
  align-items: end;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 14px;
  background: rgba(248, 250, 252, .86);
}
.hoja-line-row-extra {
  grid-template-columns: minmax(0, 1fr) 70px 96px;
}
.hoja-line-row label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 620px) {
  .hoja-line-row,
  .hoja-line-row-extra {
    grid-template-columns: 1fr;
  }
}


/* Hoja diaria inteligente: orden, búsqueda y pacientes atrasados */
.hoja-section-head-search { align-items: flex-start; }
.hoja-search-form { position: relative; display: flex; gap: 8px; align-items: flex-start; justify-content: flex-end; flex: 0 0 auto; min-width: 38px; }
.hoja-search-toggle { min-width: 38px; min-height: 38px; border-radius: 999px; font-size: 20px; line-height: 1; }
.hoja-search-panel { position: absolute; top: calc(100% + 8px); right: 0; z-index: 48; display: none; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; width: min(520px, calc(100vw - 32px)); padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(15, 23, 42, .12); }
.hoja-search-form.is-open .hoja-search-panel { display: flex; }
.hoja-search-panel .input { min-width: min(300px, 64vw); flex: 1 1 220px; }
.hoja-check { display: inline-flex; gap: 6px; align-items: center; min-height: 36px; padding: 6px 10px; border-radius: 999px; background: rgba(15, 23, 42, .04); color: var(--muted); font-size: 12px; font-weight: 700; }
.hoja-search-result-note { margin: -2px 0 10px; padding: 8px 10px; border-radius: 12px; background: rgba(224, 242, 254, .55); color: var(--muted); font-size: 12px; }
.hoja-card-asistio { border-color: rgba(34, 197, 94, .32); background: rgba(240, 253, 244, .82); }
.hoja-card-finalizada { border-color: rgba(59, 130, 246, .26); background: rgba(239, 246, 255, .80); }
.hoja-card-pendiente { border-color: rgba(148, 163, 184, .22); }
.hoja-card-atrasada { border-color: rgba(245, 158, 11, .40); background: rgba(255, 251, 235, .92); }
.hoja-card-no_asistio, .hoja-card-cancelada { opacity: .82; }
.hoja-pill-late { background: rgba(245, 158, 11, .15); color: #92400e; border: 1px solid rgba(245, 158, 11, .24); }
.hoja-pill-finalizada { background: rgba(59, 130, 246, .14); color: #1d4ed8; border: 1px solid rgba(59, 130, 246, .24); }
.hoja-hour span, .hoja-hour small { display: block; line-height: 1; }
.hoja-hour small { margin-top: 4px; font-size: 10px; color: var(--muted); }
@media (max-width: 720px) {
  .hoja-search-form { width: auto; justify-content: flex-start; }
  .hoja-search-form.is-open .hoja-search-panel {
    position: fixed;
    top: 78px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(520px, calc(100vw - 18px));
    max-height: calc(100vh - 94px);
    overflow: auto;
    justify-content: flex-start;
    z-index: 1000;
  }
  .hoja-search-panel .input { min-width: 100%; }
  .hoja-search-panel .btn { flex: 1 1 auto; justify-content: center; }
}

.hoja-search-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }

/* ============================================================
   Hoja diaria - egresos compactos tipo Excel
   ============================================================ */
.hoja-egresos-section {
  padding: 10px;
}
.hoja-egresos-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.hoja-egresos-head h3 {
  margin: 0;
}
.hoja-egresos-head small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.hoja-egresos-head > strong {
  white-space: nowrap;
  font-size: 17px;
}
.hoja-add-egreso-box {
  margin: 6px 0 8px;
}
.hoja-add-egreso-box > summary {
  width: fit-content;
}
.hoja-add-egreso-box[open] > summary {
  margin-bottom: 8px;
}
.hoja-egresos-section .hoja-egreso-form {
  grid-template-columns: minmax(130px, 1fr) minmax(130px, 1fr) 96px minmax(130px, 1fr) auto;
  gap: 6px;
  align-items: end;
  margin: 0 0 8px;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 10px;
  background: rgba(248, 250, 252, .72);
}
.hoja-egresos-table {
  display: grid;
  gap: 0;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 10px;
  overflow: visible;
  background: #fff;
}
.hoja-egresos-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.15fr) 128px minmax(90px, 1fr) 92px;
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid rgba(148, 163, 184, .22);
  font-size: 12px;
}
.hoja-egresos-row:last-child {
  border-bottom: 0;
}
.hoja-egresos-row > * {
  min-width: 0;
  padding: 5px 6px;
  border-right: 1px solid rgba(148, 163, 184, .16);
}
.hoja-egresos-row > *:last-child {
  border-right: 0;
}
.hoja-egresos-row-head {
  min-height: 28px;
  background: rgba(15, 23, 42, .04);
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hoja-egreso-concepto strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hoja-egreso-obs {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
}
.hoja-egreso-valor {
  text-align: right;
  white-space: nowrap;
}
.hoja-egreso-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}
.hoja-egreso-actions .hoja-chip {
  min-height: 24px;
  padding: 3px 6px;
  font-size: 11px;
}
.hoja-inline-form {
  display: inline-flex;
  margin: 0;
}
.hoja-egreso-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .25);
  background: rgba(248, 250, 252, .9);
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.hoja-egreso-badge.auto {
  background: rgba(219, 234, 254, .75);
  color: #1d4ed8;
}
.hoja-egreso-badge.manual {
  background: rgba(220, 252, 231, .72);
  color: #15803d;
}
.hoja-row-action {
  position: relative;
}
.hoja-row-action[open] > .hoja-mini-form {
  position: absolute;
  right: 0;
  top: 30px;
  width: min(320px, 86vw);
  z-index: 45;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .20);
}
.hoja-egresos-total {
  background: rgba(254, 243, 199, .45);
  font-weight: 900;
}
.hoja-egresos-total > * {
  padding-top: 7px;
  padding-bottom: 7px;
}
.hoja-egresos-total strong {
  text-align: right;
}
.hoja-egresos-empty {
  padding: 10px;
  color: var(--muted);
  font-size: 12px;
}
@media (max-width: 980px) {
  .hoja-egresos-section .hoja-egreso-form {
    grid-template-columns: 1fr 1fr;
  }
  .hoja-egresos-section .hoja-egreso-form button {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .hoja-egresos-section {
    padding: 8px;
  }
  .hoja-egresos-head {
    align-items: flex-start;
  }
  .hoja-egresos-head small {
    font-size: 10px;
  }
  .hoja-egresos-row-head {
    display: none;
  }
  .hoja-egresos-row {
    grid-template-columns: minmax(0, 1fr) 84px 92px;
    grid-template-areas:
      "concepto accion valor"
      "obs obs obs";
    min-height: 44px;
    padding: 4px 0;
    font-size: 11px;
  }
  .hoja-egresos-row > * {
    border-right: 0;
    padding: 3px 6px;
  }
  .hoja-egresos-row [data-label="Concepto"] { grid-area: concepto; }
  .hoja-egresos-row [data-label="Obs."] { grid-area: obs; }
  .hoja-egresos-row [data-label="Valor"] { grid-area: valor; }
  .hoja-egresos-row [data-label="Acción"] { grid-area: accion; }
  .hoja-egreso-actions {
    justify-content: flex-end;
  }
  .hoja-egreso-actions .hoja-chip {
    min-height: 22px;
    padding: 2px 5px;
    font-size: 10px;
  }
  .hoja-egresos-total {
    grid-template-areas: none;
    grid-template-columns: minmax(0, 1fr) 92px;
  }
  .hoja-egresos-total span:nth-child(1) { display: block; }
  .hoja-egresos-total span:nth-child(2),
  .hoja-egresos-total span:nth-child(3) { display: none; }
  .hoja-egresos-total strong { display: block; }
  .hoja-row-action[open] > .hoja-mini-form {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: 12px;
    width: auto;
    z-index: 1000;
  }
}


/* Caja diaria / hoja diaria: ruta asignada y pre-cierre compacto */
.hoja-filtros-coordinador {
  grid-template-columns: minmax(150px, 180px) minmax(180px, 1fr) auto;
}
.hoja-readonly-input {
  display: flex;
  align-items: center;
  min-height: 42px;
  background: #f8fafc;
  font-weight: 800;
  color: var(--text);
}
.hoja-precierre-card,
.caja-precierre-box {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .34);
  border-radius: 12px;
  background: #fff;
}
.hoja-precierre-head,
.caja-precierre-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.hoja-precierre-head h3,
.caja-precierre-title h4 {
  margin: 0;
}
.hoja-precierre-head small,
.caja-precierre-title small {
  color: var(--muted);
  font-size: 11px;
}
.hoja-precierre-head > strong,
.caja-precierre-title > strong {
  white-space: nowrap;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 13px;
}
.hoja-precierre-head > strong.ok,
.caja-precierre-title > strong.ok {
  background: rgba(220, 252, 231, .78);
  color: #166534;
}
.hoja-precierre-head > strong.warn,
.caja-precierre-title > strong.warn {
  background: rgba(254, 243, 199, .86);
  color: #92400e;
}
.hoja-precierre-grid,
.caja-precierre-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 8px;
}
.hoja-precierre-grid > div,
.caja-precierre-grid > div {
  min-height: 52px;
  padding: 7px 8px;
  border-right: 1px solid rgba(148, 163, 184, .20);
  background: rgba(248, 250, 252, .76);
}
.hoja-precierre-grid > div:last-child,
.caja-precierre-grid > div:last-child { border-right: 0; }
.hoja-precierre-grid span,
.caja-precierre-grid span,
.hoja-precierre-form label {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.hoja-precierre-grid strong,
.caja-precierre-grid strong {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  color: var(--text);
}
.hoja-precierre-grid small { display:block; margin-top:2px; color:var(--muted); font-size:10px; line-height:1.15; }
.hoja-precierre-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 6px;
  align-items: end;
}
.hoja-precierre-form label { display: grid; gap: 4px; }
.hoja-precierre-obs,
.hoja-precierre-form .hoja-close-note,
.hoja-precierre-form button { grid-column: 1 / -1; }
.hoja-precierre-form .hoja-close-note { margin: 0; }
@media (max-width: 760px) {
  .hoja-filtros-coordinador { grid-template-columns: 1fr; }
  .hoja-precierre-head,
  .caja-precierre-title { align-items: stretch; }
  .hoja-precierre-head > strong,
  .caja-precierre-title > strong { text-align: center; }
  .hoja-precierre-form { grid-template-columns: 1fr; }
  .hoja-precierre-grid,
  .caja-precierre-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* MiRuta: campos numericos sin flechas/spinners. Dinero y cantidades se digitan como enteros completos. */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.money-integer,
.precierre-num,
.cierre-num {
  font-variant-numeric: tabular-nums;
}
.hoja-precierre-form .precierre-num {
  min-height: 42px;
  padding: 10px 12px;
  font-size: 15px;
  font-weight: 900;
  text-align: right;
  color: var(--text);
  line-height: 1.15;
}
.hoja-precierre-form label:has(.precierre-num) {
  align-self: stretch;
}
@media (max-width: 760px) {
  .hoja-precierre-form .precierre-num {
    min-height: 46px;
    font-size: 16px;
  }
}
@media (min-width: 641px) {
  .hoja-egresos-row {
    grid-template-columns: minmax(130px, 1.25fr) minmax(118px, .9fr) minmax(120px, 1fr) minmax(82px, .7fr);
  }
  .hoja-egreso-actions {
    justify-content: flex-start;
  }
}


.hoja-inline-status {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 800;
}
.hoja-inline-status.ok { color: #15803d; }
.hoja-inline-status.warn { color: #b91c1c; }
.hoja-cierre-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.hoja-cierre-actions .btn { width: 100%; }
@media (max-width: 640px) {
  .hoja-cierre-actions { grid-template-columns: 1fr; }
}

/* ============================================================
   Notificaciones compactas responsive - tarjetas pequeñas
   ============================================================ */
.vd-notif-page {
  padding: 14px !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
}

.vd-notif-head {
  align-items: center !important;
  margin-bottom: 8px !important;
  gap: 8px !important;
}

.vd-notif-head h3 {
  font-size: 16px !important;
  line-height: 1.15 !important;
}

.vd-notif-head p {
  display: none !important;
}

.vd-notif-head-action .btn {
  min-height: 32px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}

.vd-notif-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 8px 0 10px !important;
}

.vd-notif-summary-card {
  min-height: 48px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

.vd-notif-summary-card span {
  font-size: 11px !important;
  margin: 0 !important;
}

.vd-notif-summary-card strong {
  font-size: 18px !important;
}

.vd-notif-list {
  gap: 7px !important;
}

.vd-notif-card {
  border-radius: 12px !important;
  padding: 8px 10px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
}

.vd-notif-card-body {
  grid-template-columns: 5px minmax(0, 1fr) !important;
  gap: 8px !important;
}

.vd-notif-marker {
  width: 5px !important;
  border-radius: 999px !important;
}

.vd-notif-title-row {
  gap: 6px !important;
  align-items: center !important;
}

.vd-notif-title-row h4 {
  font-size: 13px !important;
  line-height: 1.2 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.vd-notif-content p {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.vd-notif-meta {
  margin-top: 4px !important;
  gap: 6px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}

.vd-notif-pill {
  padding: 3px 7px !important;
  font-size: 10px !important;
  min-height: 20px !important;
}

.vd-notif-actions {
  gap: 5px !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.vd-notif-actions .btn,
.vd-notif-actions button {
  min-height: 28px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  border-radius: 9px !important;
  white-space: nowrap !important;
}

.vd-notif-empty {
  border-radius: 12px !important;
  padding: 18px 12px !important;
}

.vd-notif-empty h3 {
  font-size: 15px !important;
}

@media (max-width: 760px) {
  .vd-notif-page {
    padding: 10px !important;
    border-radius: 14px !important;
  }

  .vd-notif-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    display: grid !important;
    align-items: center !important;
  }

  .vd-notif-head-action,
  .vd-notif-head-action .btn {
    width: auto !important;
  }

  .vd-notif-head-action .btn {
    max-width: 140px !important;
    white-space: normal !important;
    line-height: 1.05 !important;
  }

  .vd-notif-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  .vd-notif-title-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    display: grid !important;
  }

  .vd-notif-actions,
  .vd-notif-actions form {
    width: auto !important;
  }

  .vd-notif-actions {
    justify-content: flex-start !important;
  }

  .vd-notif-actions .btn,
  .vd-notif-actions button {
    width: auto !important;
  }
}

@media (max-width: 420px) {
  .vd-notif-summary-card {
    min-height: 42px !important;
    padding: 7px 8px !important;
  }

  .vd-notif-card-body {
    grid-template-columns: 4px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .vd-notif-content p {
    -webkit-line-clamp: 1 !important;
  }
}


/* Notificaciones: contador rojo como texto junto a la campana, sin punto/capsula. */
.vd-bell-button {
  width: auto !important;
  min-width: 44px !important;
  padding: 0 8px !important;
  gap: 5px !important;
}
.vd-bell-button .notifications-count-text {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ff1f1f !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 0 8px rgba(255,31,31,.16) !important;
}
@media (max-width: 760px) {
  .vd-bell-button {
    min-width: 42px !important;
    padding: 0 6px !important;
  }
  .vd-bell-button .notifications-count-text {
    font-size: 14px !important;
  }
}


/* Inventario compacto tipo Excel para coordinador/móvil. */
.vd-inv-panel {
  padding: 14px !important;
}

.vd-inv-compact-section {
  padding: 12px !important;
}

.vd-inv-panel .panel-header {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.vd-inv-panel .panel-header h3,
.vd-inv-panel h3 {
  font-size: 16px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.vd-inv-panel .panel-header p,
.vd-inv-panel p {
  font-size: 12px !important;
  line-height: 1.25 !important;
  margin: 2px 0 0 !important;
}

.vd-inv-filter-grid {
  margin-bottom: 10px !important;
}

.vd-inv-table-wrap {
  border-radius: 12px !important;
}

.vd-compact-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12px !important;
  min-width: 560px !important;
}

.vd-compact-table th,
.vd-compact-table td {
  padding: 6px 7px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #eef2f7 !important;
}

.vd-compact-table th {
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  white-space: nowrap !important;
}

.vd-inv-product-cell strong {
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  color: #172033 !important;
}

.vd-inv-meta {
  display: block !important;
  margin-top: 2px !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

.vd-inv-number,
.vd-inv-price {
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

.vd-inv-qty-input,
.vd-inv-price-input,
.vd-inv-price-table .input,
.inventory-fast-table .input {
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
  max-width: 105px !important;
  text-align: right !important;
}

.vd-inv-ref-row {
  display: grid !important;
  grid-template-columns: minmax(160px, .8fr) minmax(220px, 1.2fr) !important;
  gap: 8px !important;
  align-items: end !important;
  margin-top: 10px !important;
  padding: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
}

.vd-inv-ref-row .form-group,
.vd-inv-product-create .form-group {
  margin-bottom: 0 !important;
}

.vd-inv-ref-row label,
.vd-inv-product-create label,
.vd-inv-panel label {
  font-size: 11px !important;
  margin-bottom: 3px !important;
}

.vd-inv-ref-row .input,
.vd-inv-product-create .input {
  height: 36px !important;
  min-height: 36px !important;
  padding: 7px 9px !important;
  font-size: 13px !important;
  border-radius: 10px !important;
}

.vd-inv-panel details > summary {
  padding: 9px 10px !important;
  border-radius: 12px !important;
}

.vd-inv-panel .compact-action-body {
  padding-top: 10px !important;
}

.vd-inv-price-table .btn,
.vd-compact-table .btn {
  min-height: 30px !important;
  padding: 6px 8px !important;
  font-size: 11px !important;
  border-radius: 9px !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .vd-inv-panel {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .vd-compact-table {
    min-width: 500px !important;
    font-size: 11.5px !important;
  }

  .vd-compact-table th,
  .vd-compact-table td {
    padding: 5px 6px !important;
  }

  .vd-inv-ref-row {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .vd-inv-fast-wrap {
    margin-left: -2px !important;
    margin-right: -2px !important;
  }

  .vd-inv-qty-input,
  .vd-inv-price-input,
  .vd-inv-price-table .input,
  .inventory-fast-table .input {
    max-width: 88px !important;
    height: 32px !important;
    min-height: 32px !important;
    font-size: 12.5px !important;
  }
}

/* Guardado por lote de productos/precios en inventario. */
.vd-inv-batch-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 8px 0 !important;
  padding: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
}

.vd-inv-batch-toolbar-bottom {
  margin-top: 10px !important;
}

.vd-inv-muted {
  color: #64748b !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

.vd-inv-stock-min-input {
  max-width: 80px !important;
  text-align: right !important;
}

#productos-precios:target details {
  border-color: rgba(37, 99, 235, .28) !important;
}

@media (max-width: 760px) {
  .vd-inv-batch-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  .vd-inv-muted {
    font-size: 11px !important;
  }
}

/* WhatsApp modo API/manual y vista previa */
.whatsapp-mode-grid,
.backup-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  margin: 12px 0 16px;
}

.mini-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}

.mini-card h4 {
  margin: 0 0 6px;
  font-size: 15px;
}

.muted-small {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.wa-mode-option {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px;
  margin-bottom: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  cursor: pointer;
}

.wa-mode-option.active {
  border-color: var(--primary);
  background: rgba(19, 168, 138, .08);
}

.wa-mode-option span {
  display: grid;
  gap: 2px;
}

.wa-mode-option small,
.wa-format-check {
  color: var(--muted);
  font-size: 12px;
}

.wa-format-check {
  display: block;
  margin: 8px 0 12px;
}

.wa-chat-preview {
  border-radius: 16px;
  padding: 12px;
  background: linear-gradient(135deg, rgba(19, 168, 138, .10), rgba(22, 118, 210, .08));
  border: 1px solid rgba(19, 168, 138, .18);
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 680px) {
  .whatsapp-mode-grid,
  .backup-actions-grid {
    grid-template-columns: 1fr;
  }
  .mini-card {
    padding: 12px;
    border-radius: 16px;
  }
}

/* Busqueda global por rol en topbar */
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vd-top-search {
  position: relative;
  display: flex;
  align-items: center;
}

.vd-top-search-toggle {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--text);
}

.vd-top-search-toggle svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.vd-top-search-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 50;
  width: min(420px, calc(100vw - 24px));
  display: none;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .12);
}

.vd-top-search.open .vd-top-search-panel {
  display: grid;
}

.vd-top-search-input {
  grid-column: 1 / -1;
  height: 40px;
}

.vd-top-search-past {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.vd-top-search-submit {
  min-height: 34px;
  padding: 7px 12px !important;
}

.vd-search-page-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: end;
  gap: 10px;
  margin: 12px 0 16px;
}

.vd-search-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.vd-search-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 8px 0 12px;
  color: var(--muted);
  font-size: 13px;
}

.vd-search-summary strong {
  color: var(--text);
  font-size: 16px;
}

.vd-search-results {
  display: grid;
  gap: 8px;
}

.vd-search-result-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(170px, .9fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.vd-search-result-main,
.vd-search-result-meta {
  display: grid;
  gap: 3px;
}

.vd-search-result-main strong {
  font-size: 14px;
}

.vd-search-result-main small,
.vd-search-result-main span,
.vd-search-result-meta small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.vd-search-result-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.vd-search-result-actions .btn {
  padding: 7px 10px !important;
  min-height: 32px;
}

.vd-search-hc-btn {
  justify-content: center;
  font-weight: 950 !important;
  letter-spacing: 0;
}

/* Parametros compactos */
.vd-param-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0 16px;
}

.vd-param-nav a {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.vd-param-section {
  margin: 14px 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.vd-param-section > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.vd-param-section > summary::-webkit-details-marker {
  display: none;
}

.vd-param-section > summary h3 {
  margin: 0;
  font-size: 15px;
}

.vd-param-section > summary p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.vd-param-section > summary::after {
  content: '▾';
  color: var(--muted);
  font-size: 14px;
}

.vd-param-section[open] > summary::after {
  content: '▴';
}

.vd-param-section .table-wrap {
  margin-top: 10px;
}

.vd-param-section table {
  font-size: 12px;
}

.vd-param-section th,
.vd-param-section td {
  padding: 7px 8px;
}

.vd-param-pay-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.vd-param-mini-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 800;
}

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

.vd-param-form-grid .form-group {
  margin-bottom: 0;
}

@media (max-width: 920px) {
  .vd-search-page-form,
  .vd-search-result-card,
  .vd-param-pay-grid,
  .vd-param-form-grid {
    grid-template-columns: 1fr;
  }

  .vd-search-check {
    min-height: auto;
  }
}

@media (max-width: 760px) {
  .topbar {
    gap: 8px;
  }

  .topbar-actions {
    gap: 7px;
  }

  .vd-top-search-toggle {
    width: 36px;
    height: 36px;
  }

  .vd-top-search.open .vd-top-search-panel {
    position: fixed;
    top: 62px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(430px, calc(100vw - 18px));
    max-height: calc(100vh - 78px);
    overflow: auto;
    border-radius: 14px;
    z-index: 1000;
  }

  .vd-search-result-card {
    padding: 9px;
  }

  .vd-param-section {
    padding: 10px;
    border-radius: 14px;
  }
}

/* Ajustes compactos exclusivos para Parametros / Comisiones */
.vd-param-page .content-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
  gap: 14px;
}

.vd-param-page .panel {
  padding: 14px !important;
}

.vd-param-page .panel-header {
  margin-bottom: 10px !important;
}

.vd-param-page .panel-header h3,
.vd-param-page h3 {
  font-size: 15px !important;
}

.vd-param-page .panel-header p,
.vd-param-page p {
  font-size: 12px;
}

.vd-param-page .stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px !important;
}

.vd-param-page .stat-card {
  padding: 10px !important;
  border-radius: 14px !important;
}

.vd-param-page .stat-value {
  font-size: 20px !important;
}

.vd-param-page hr {
  margin: 14px 0 !important;
}

.vd-param-page .table-wrap {
  margin-top: 8px;
}

.vd-param-page table {
  font-size: 12px;
}

.vd-param-page th,
.vd-param-page td {
  padding: 7px 8px !important;
  vertical-align: middle;
}

.vd-param-page .btn {
  min-height: 30px;
  padding: 6px 9px !important;
  font-size: 12px;
}

.vd-param-page .alert {
  padding: 8px 10px !important;
  margin: 8px 0 !important;
  font-size: 12px;
}

.vd-param-page aside.card.panel h4 {
  margin: 12px 0 8px;
  font-size: 14px;
}

.vd-param-page aside.card.panel form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
  margin-bottom: 8px;
}

.vd-param-page aside.card.panel form .form-group {
  margin-bottom: 0 !important;
}

.vd-param-page aside.card.panel form button,
.vd-param-page aside.card.panel form .btn {
  align-self: end;
}

.vd-param-page .form-group label {
  font-size: 12px !important;
  margin-bottom: 3px !important;
}

.vd-param-page .input,
.vd-param-page select.input,
.vd-param-page textarea.input {
  min-height: 36px !important;
  padding: 8px 9px !important;
  font-size: 13px !important;
}

.vd-param-page textarea.input {
  min-height: 68px !important;
}

@media (max-width: 1100px) {
  .vd-param-page .content-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .vd-param-page .stats-grid,
  .vd-param-page aside.card.panel form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .vd-param-page .table-wrap {
    margin-left: -4px;
    margin-right: -4px;
  }
}

@media (max-width: 520px) {
  .vd-param-page .stats-grid,
  .vd-param-page aside.card.panel form {
    grid-template-columns: 1fr;
  }
  .vd-param-nav a {
    flex: 1 1 auto;
    text-align: center;
  }
}

/* ============================================================
   Asesora - módulos compactos tipo Excel
   ============================================================ */
.asesora-compact-page .card.panel,
.asesora-compact-page .stat-card {
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

.asesora-compact-page .panel {
  padding: 14px;
}

.asesora-compact-page .panel-header {
  gap: 8px;
  margin-bottom: 10px;
}

.asesora-compact-page .panel-header h3 {
  font-size: 16px;
}

.asesora-compact-page .panel-header p {
  font-size: 12px;
  margin-top: 2px;
  line-height: 1.25;
}

.asesora-compact-page .compact-filter-form,
.asesora-compact-page .compact-edit-form {
  margin-bottom: 10px;
}

.asesora-compact-page .compact-filter-form .grid,
.asesora-compact-page .compact-edit-form .grid,
.asesora-compact-page form.grid.compact-filter-form {
  gap: 8px !important;
}

.asesora-compact-page .form-group {
  margin-bottom: 8px;
}

.asesora-compact-page .form-group label {
  font-size: 11px;
  margin-bottom: 4px;
}

.asesora-compact-page .input,
.asesora-compact-page select.input,
.asesora-compact-page textarea.input {
  min-height: 36px;
  border-radius: 11px;
  padding: 8px 10px;
  font-size: 13px;
}

.asesora-compact-page textarea.input {
  min-height: 66px;
}

.asesora-compact-page small,
.asesora-compact-page .privacy-hidden-note {
  font-size: 11px !important;
  line-height: 1.25;
}

.asesora-compact-page .btn {
  border-radius: 10px;
  padding: 7px 10px;
  font-size: 12px;
  gap: 5px;
  min-height: 32px;
}

.asesora-compact-page .alert {
  border-radius: 12px;
  padding: 9px 10px;
  font-size: 12px;
  margin-bottom: 10px;
}

.asesora-compact-page .table-wrap {
  margin-top: 8px;
  border-radius: 12px;
}

.asesora-compact-page table,
.asesora-compact-page .compact-excel-table,
.asesora-compact-page .agenda-excel-table {
  min-width: 680px;
}

.asesora-compact-page th,
.asesora-compact-page td {
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.25;
}

.asesora-compact-page th {
  font-size: 10px;
  letter-spacing: .04em;
}

.asesora-compact-page td strong {
  font-size: 12px;
}

.asesora-compact-page .status,
.asesora-compact-page .badge {
  padding: 4px 7px;
  font-size: 10px;
}

.asesora-compact-page .agenda-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  padding: 2px 0;
}

.asesora-compact-page .agenda-actions-label:empty {
  display: none;
}

.asesora-compact-page .agenda-actions-row td {
  padding-top: 4px;
  padding-bottom: 7px;
  background: #fbfdff;
}

.asesora-compact-page .agenda-action-btn,
.asesora-compact-page td .btn {
  padding: 6px 9px;
  font-size: 11px;
  min-height: 29px;
}

.asesora-compact-page .agenda-payment-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  background: rgba(34, 197, 94, .1);
  color: #15803d;
  font-weight: 800;
}

.asesora-compact-page .stat-card {
  padding: 12px;
}

.asesora-compact-page .stat-label {
  font-size: 11px;
  margin-bottom: 6px;
}

.asesora-compact-page .stat-value,
.asesora-compact-page .stat-value[style] {
  font-size: 20px !important;
}

.asesora-compact-page .stat-note {
  font-size: 11px;
  margin-top: 4px;
}

.asesora-compact-page .asesora-stats {
  gap: 8px;
  margin: 10px 0;
}

.asesora-compact-page .compact-form-panel {
  border-style: solid;
  background: #fff;
}

.asesora-compact-page .compact-form-panel .panel-header {
  margin-bottom: 8px;
}

.consultorios-compact-page .consultorios-table th:nth-child(3),
.consultorios-compact-page .consultorios-table td:nth-child(3),
.consultorios-compact-page .consultorios-table th:nth-child(4),
.consultorios-compact-page .consultorios-table td:nth-child(4) {
  white-space: nowrap;
}

.comisiones-compact-page .comisiones-table td:nth-child(4),
.comisiones-compact-page .comisiones-table td:nth-child(5),
.comisiones-compact-page .comisiones-table td:nth-child(7) {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .asesora-compact-page .main,
  .main.asesora-compact-page {
    padding: 12px;
  }

  .asesora-compact-page .panel {
    padding: 12px;
  }

  .asesora-compact-page .panel-header {
    flex-direction: row;
    align-items: center;
  }

  .asesora-compact-page .panel-header > div:last-child,
  .asesora-compact-page .panel-actions,
  .asesora-compact-page .action-row {
    width: auto;
  }

  .asesora-compact-page .panel-header .btn,
  .asesora-compact-page .panel-actions .btn,
  .asesora-compact-page .action-row .btn {
    flex: 0 0 auto;
  }

  .asesora-compact-page .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .asesora-compact-page table,
  .asesora-compact-page .compact-excel-table,
  .asesora-compact-page .agenda-excel-table {
    min-width: 620px;
  }

  .asesora-compact-page th,
  .asesora-compact-page td {
    min-width: 92px;
    padding: 7px 8px;
  }

  .agenda-asesora-page .agenda-excel-table th:nth-child(2),
  .agenda-asesora-page .agenda-excel-table td:nth-child(2),
  .consultorios-compact-page .consultorios-table th:first-child,
  .consultorios-compact-page .consultorios-table td:first-child,
  .programacion-compact-page .programacion-table th:nth-child(2),
  .programacion-compact-page .programacion-table td:nth-child(2) {
    min-width: 170px;
  }

  .asesora-compact-page td .btn {
    width: auto;
    margin-top: 0;
  }
}



/* ============================================================
   Administrador / Superadministrador - módulos compactos globales
   Aplica solo cuando el body tiene admin-compact-role.
   ============================================================ */
body.admin-compact-role .main {
  padding: 18px;
}

body.admin-compact-role .main > .card,
body.admin-compact-role .main .card.panel,
body.admin-compact-role .main .panel,
body.admin-compact-role .main .stat-card {
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
}

body.admin-compact-role .main .panel,
body.admin-compact-role .main .card.panel {
  padding: 14px;
}

body.admin-compact-role .main .panel-header {
  gap: 8px;
  margin-bottom: 10px;
}

body.admin-compact-role .main .panel-header h3,
body.admin-compact-role .main .panel-header h2 {
  font-size: 16px;
  line-height: 1.15;
}

body.admin-compact-role .main .panel-header p,
body.admin-compact-role .main .page-subtitle,
body.admin-compact-role .main .card p,
body.admin-compact-role .main small {
  font-size: 12px;
  line-height: 1.25;
}

body.admin-compact-role .main .grid,
body.admin-compact-role .main .content-grid,
body.admin-compact-role .main .stats-grid,
body.admin-compact-role .main form.grid {
  gap: 10px;
}

body.admin-compact-role .main .form-group {
  margin-bottom: 8px;
}

body.admin-compact-role .main .form-group label {
  font-size: 11px;
  margin-bottom: 4px;
}

body.admin-compact-role .main .input,
body.admin-compact-role .main select.input,
body.admin-compact-role .main textarea.input {
  min-height: 36px;
  border-radius: 11px;
  padding: 8px 10px;
  font-size: 13px;
}

body.admin-compact-role .main textarea.input {
  min-height: 64px;
}

body.admin-compact-role .main .btn {
  min-height: 31px;
  border-radius: 10px;
  padding: 7px 10px;
  font-size: 12px;
  gap: 5px;
  line-height: 1.1;
}

body.admin-compact-role .main .btn.btn-danger,
body.admin-compact-role .main .btn.btn-primary,
body.admin-compact-role .main .btn.btn-light {
  white-space: nowrap;
}

body.admin-compact-role .main .alert {
  border-radius: 12px;
  padding: 9px 10px;
  font-size: 12px;
  margin-bottom: 10px;
}

body.admin-compact-role .main .table-wrap {
  margin-top: 8px;
  border-radius: 12px;
}

body.admin-compact-role .main table th,
body.admin-compact-role .main table td,
body.admin-compact-role .main .compact-excel-table th,
body.admin-compact-role .main .compact-excel-table td,
body.admin-compact-role .main .agenda-excel-table th,
body.admin-compact-role .main .agenda-excel-table td {
  padding: 7px 9px;
  font-size: 12px;
  line-height: 1.22;
  vertical-align: middle;
}

body.admin-compact-role .main table th,
body.admin-compact-role .main .compact-excel-table th,
body.admin-compact-role .main .agenda-excel-table th {
  font-size: 10px;
  letter-spacing: .04em;
}

body.admin-compact-role .main table td strong,
body.admin-compact-role .main .compact-excel-table td strong,
body.admin-compact-role .main .agenda-excel-table td strong {
  font-size: 12px;
}

body.admin-compact-role .main .status,
body.admin-compact-role .main .badge {
  padding: 4px 7px;
  font-size: 10px;
  border-radius: 999px;
}

body.admin-compact-role .main .stat-card {
  padding: 12px;
}

body.admin-compact-role .main .stat-label {
  font-size: 11px;
  margin-bottom: 5px;
}

body.admin-compact-role .main .stat-value,
body.admin-compact-role .main .stat-value[style] {
  font-size: 20px !important;
  line-height: 1.05;
}

body.admin-compact-role .main .stat-note {
  font-size: 11px;
  margin-top: 4px;
}

body.admin-compact-role .main .action-row,
body.admin-compact-role .main .panel-actions,
body.admin-compact-role .main td > div[style*="display:flex"] {
  gap: 5px !important;
}

body.admin-compact-role .main .agenda-inline-actions {
  gap: 5px;
}

body.admin-compact-role .main .agenda-actions-row td {
  padding-top: 4px;
  padding-bottom: 6px;
}

body.admin-compact-role .main hr {
  margin: 10px 0;
}

@media (max-width: 760px) {
  body.admin-compact-role .main {
    padding: 12px;
  }

  body.admin-compact-role .main .panel,
  body.admin-compact-role .main .card.panel {
    padding: 12px;
  }

  body.admin-compact-role .main .panel-header {
    flex-direction: row;
    align-items: center;
  }

  body.admin-compact-role .main .panel-header > div:last-child,
  body.admin-compact-role .main .panel-actions,
  body.admin-compact-role .main .action-row {
    width: auto;
  }

  body.admin-compact-role .main .panel-header .btn,
  body.admin-compact-role .main .panel-actions .btn,
  body.admin-compact-role .main .action-row .btn,
  body.admin-compact-role .main td .btn {
    width: auto;
    flex: 0 0 auto;
  }

  body.admin-compact-role .main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.admin-compact-role .main table th,
  body.admin-compact-role .main table td,
  body.admin-compact-role .main .compact-excel-table th,
  body.admin-compact-role .main .compact-excel-table td,
  body.admin-compact-role .main .agenda-excel-table th,
  body.admin-compact-role .main .agenda-excel-table td {
    padding: 6px 7px;
    font-size: 11px;
  }
}

/* ============================================================
   Formularios compactos globales - todos los modulos autenticados
   Mantiene el mismo estilo tipo Excel usado en coordinador/asesoras/admin.
   ============================================================ */
body.forms-compact-role .main {
  --vd-form-gap: 9px;
}

body.forms-compact-role .main .card.panel,
body.forms-compact-role .main .panel,
body.forms-compact-role .main .form-card,
body.forms-compact-role .main details.card,
body.forms-compact-role .main details.panel {
  border-radius: 15px;
}

body.forms-compact-role .main .card.panel,
body.forms-compact-role .main .panel {
  padding: 13px;
}

body.forms-compact-role .main .panel-header {
  gap: 8px;
  margin-bottom: 10px;
}

body.forms-compact-role .main .panel-header h1,
body.forms-compact-role .main .panel-header h2,
body.forms-compact-role .main .panel-header h3 {
  font-size: 16px;
  line-height: 1.12;
}

body.forms-compact-role .main .panel-header p,
body.forms-compact-role .main .page-subtitle,
body.forms-compact-role .main .form-help,
body.forms-compact-role .main .form-note,
body.forms-compact-role .main .hint,
body.forms-compact-role .main small {
  font-size: 11px !important;
  line-height: 1.2;
}

body.forms-compact-role .main form,
body.forms-compact-role .main .form-grid,
body.forms-compact-role .main form.grid,
body.forms-compact-role .main .grid {
  gap: var(--vd-form-gap) !important;
}

body.forms-compact-role .main .form-group {
  margin-bottom: 7px;
}

body.forms-compact-role .main .form-group label,
body.forms-compact-role .main label.form-group,
body.forms-compact-role .main .checkbox-card,
body.forms-compact-role .main .radio-card {
  font-size: 11px;
  line-height: 1.18;
  margin-bottom: 4px;
}

body.forms-compact-role .main .input,
body.forms-compact-role .main select.input,
body.forms-compact-role .main textarea.input,
body.forms-compact-role .main input[type="date"].input,
body.forms-compact-role .main input[type="time"].input,
body.forms-compact-role .main input[type="email"].input,
body.forms-compact-role .main input[type="password"].input {
  min-height: 34px;
  border-radius: 10px;
  padding: 7px 9px;
  font-size: 12px;
  line-height: 1.15;
}

body.forms-compact-role .main select.input {
  padding-right: 28px;
}

body.forms-compact-role .main textarea.input {
  min-height: 58px;
  padding-top: 8px;
}

body.forms-compact-role .main .phone-country-row {
  display: grid;
  grid-template-columns: minmax(118px, 0.7fr) minmax(130px, 1fr);
  gap: 7px;
}

body.forms-compact-role .main .phone-country-field small {
  display: none;
}

body.forms-compact-role .main .alert {
  padding: 8px 10px;
  border-radius: 11px;
  font-size: 12px;
  line-height: 1.24;
  margin-bottom: 9px;
}

body.forms-compact-role .main .btn,
body.forms-compact-role .main button.btn,
body.forms-compact-role .main a.btn {
  min-height: 30px;
  border-radius: 9px;
  padding: 6px 9px;
  font-size: 11px;
  gap: 5px;
  line-height: 1.08;
}

body.forms-compact-role .main .btn-full {
  min-height: 34px;
}

body.forms-compact-role .main .action-row,
body.forms-compact-role .main .panel-actions,
body.forms-compact-role .main .form-actions,
body.forms-compact-role .main .btn-row,
body.forms-compact-role .main td > div[style*="display:flex"] {
  gap: 5px !important;
}

body.forms-compact-role .main input[type="checkbox"],
body.forms-compact-role .main input[type="radio"] {
  width: 14px;
  height: 14px;
  margin-right: 5px;
  vertical-align: -2px;
}

body.forms-compact-role .main details > summary {
  padding: 8px 10px;
  border-radius: 11px;
  font-size: 12px;
}

body.forms-compact-role .main hr {
  margin: 9px 0;
}

body.forms-compact-role .main .table-wrap {
  margin-top: 8px;
  border-radius: 12px;
}

body.forms-compact-role .main table th,
body.forms-compact-role .main table td,
body.forms-compact-role .main .compact-excel-table th,
body.forms-compact-role .main .compact-excel-table td,
body.forms-compact-role .main .agenda-excel-table th,
body.forms-compact-role .main .agenda-excel-table td {
  padding: 6px 8px;
  font-size: 11.5px;
  line-height: 1.18;
  vertical-align: middle;
}

body.forms-compact-role .main table th,
body.forms-compact-role .main .compact-excel-table th,
body.forms-compact-role .main .agenda-excel-table th {
  font-size: 10px;
  letter-spacing: .035em;
}

body.forms-compact-role .main .status,
body.forms-compact-role .main .badge {
  padding: 3px 7px;
  font-size: 10px;
  border-radius: 999px;
}

body.forms-compact-role .main .stat-card {
  padding: 11px;
  border-radius: 14px;
}

body.forms-compact-role .main .stat-label {
  font-size: 10.5px;
  margin-bottom: 4px;
}

body.forms-compact-role .main .stat-value,
body.forms-compact-role .main .stat-value[style] {
  font-size: 19px !important;
  line-height: 1.04;
}

body.forms-compact-role .main .stat-note {
  font-size: 10.5px;
  margin-top: 4px;
}

/* Nueva cita: formulario mas denso sin perder lectura en celular. */
body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"] .form-group:has(textarea),
body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"] .form-group:has(.phone-country-row) {
  grid-column: span 1;
}

@media (max-width: 980px) {
  body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.forms-compact-role .main {
    padding: 10px;
  }

  body.forms-compact-role .main .card.panel,
  body.forms-compact-role .main .panel {
    padding: 10px;
    border-radius: 13px;
  }

  body.forms-compact-role .main .panel-header {
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
  }

  body.forms-compact-role .main .panel-header h1,
  body.forms-compact-role .main .panel-header h2,
  body.forms-compact-role .main .panel-header h3 {
    font-size: 15px;
  }

  body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"],
  body.forms-compact-role .main form.grid,
  body.forms-compact-role .main .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.forms-compact-role .main .form-group {
    margin-bottom: 5px;
  }

  body.forms-compact-role .main .input,
  body.forms-compact-role .main select.input,
  body.forms-compact-role .main textarea.input {
    min-height: 32px;
    padding: 6px 8px;
    font-size: 11.5px;
    border-radius: 9px;
  }

  body.forms-compact-role .main textarea.input {
    min-height: 52px;
  }

  body.forms-compact-role .main .phone-country-row {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 6px;
  }

  body.forms-compact-role .main .btn,
  body.forms-compact-role .main button.btn,
  body.forms-compact-role .main a.btn {
    min-height: 28px;
    padding: 5px 8px;
    font-size: 10.5px;
  }

  body.forms-compact-role .main table th,
  body.forms-compact-role .main table td,
  body.forms-compact-role .main .compact-excel-table th,
  body.forms-compact-role .main .compact-excel-table td,
  body.forms-compact-role .main .agenda-excel-table th,
  body.forms-compact-role .main .agenda-excel-table td {
    padding: 5px 6px;
    font-size: 10.5px;
  }
}

@media (max-width: 520px) {
  body.forms-compact-role .main form[method="POST"] > .grid[style*="repeat(2"],
  body.forms-compact-role .main form.grid,
  body.forms-compact-role .main .form-grid {
    grid-template-columns: 1fr !important;
  }

  body.forms-compact-role .main .panel-header {
    flex-wrap: wrap;
  }

  body.forms-compact-role .main .panel-header > div:first-child {
    min-width: 0;
  }
}

.whatsapp-confirm-card {
  border-left: 4px solid var(--success, #22c55e);
}
.whatsapp-confirm-card .panel-header,
.compact-panel-header {
  gap: 8px;
  align-items: center;
}
.whatsapp-preview-text {
  font-size: 13px;
  line-height: 1.35;
  min-height: 160px;
  white-space: pre-wrap;
}
@media (max-width: 760px) {
  .whatsapp-confirm-card .panel-header {
    align-items: stretch;
  }
  .whatsapp-confirm-card .panel-header > div:last-child {
    width: 100%;
  }
  .whatsapp-confirm-card .panel-header .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .whatsapp-preview-text {
    rows: 7;
    font-size: 12px;
  }
}

/* WhatsApp plantillas parametrizables */
.whatsapp-template-box {
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.whatsapp-template-box summary {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.whatsapp-template-box summary::-webkit-details-marker {
  display: none;
}

.wa-template-textarea {
  min-height: 128px;
  font-size: 12px !important;
  line-height: 1.35 !important;
  resize: vertical;
}

.compact-alert {
  padding: 8px 10px !important;
  font-size: 12px !important;
}

/* Ajuste agenda: filtros compactos y botón Filtrar mejor alineado */
.agenda-filter-grid {
  align-items: end;
}

.agenda-filter-actions {
  align-self: end;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.agenda-filter-actions .btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 760px) {
  .asesora-compact-page .agenda-filter-grid,
  .agenda-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .agenda-filter-actions {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }

  .agenda-filter-actions .btn {
    width: 100%;
    min-height: 36px;
  }
}

/* Fase clinica: tarjetas compactas internas en agenda de asesora */
.asesora-agenda-mini-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0 4px;
}
.asesora-agenda-mini-stats article{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:9px 10px;
  min-height:62px;
}
.asesora-agenda-mini-stats span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.2;
}
.asesora-agenda-mini-stats strong{
  display:block;
  font-size:20px;
  line-height:1.1;
  margin-top:2px;
}
.asesora-agenda-mini-stats small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:2px;
}
@media (max-width: 760px){
  .asesora-agenda-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .asesora-agenda-mini-stats article{padding:8px;min-height:58px;}
  .asesora-agenda-mini-stats strong{font-size:18px;}
}

/* Inventario administrativo: resumen compacto por fecha. */
.vd-inv-date-filter {
  grid-template-columns: minmax(180px, 1fr) minmax(150px, .7fr) auto !important;
  align-items: end !important;
}

.vd-inv-filter-action {
  margin-bottom: 0 !important;
}

.vd-inv-filter-coord {
  grid-template-columns: minmax(128px, 150px) auto !important;
  max-width: 320px !important;
  gap: 6px !important;
  margin-bottom: 7px !important;
}
.vd-inv-date-small .input {
  max-width: 150px !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 5px 8px !important;
  font-size: 12px !important;
}
.vd-inv-date-small label {
  font-size: 10.5px !important;
  margin-bottom: 2px !important;
}
.vd-inv-filter-coord .vd-inv-filter-action .btn {
  min-height: 32px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
}

.vd-inv-sales-summary {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 10px 0 12px !important;
}

.vd-inv-sales-summary article {
  min-height: 62px !important;
  padding: 9px 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
}

.vd-inv-sales-summary span {
  display: block !important;
  color: #64748b !important;
  font-size: 10.8px !important;
  line-height: 1.15 !important;
}

.vd-inv-sales-summary strong {
  display: block !important;
  margin-top: 3px !important;
  color: #0f172a !important;
  font-size: 17px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.vd-inv-sales-summary small {
  display: block !important;
  margin-top: 3px !important;
  color: #64748b !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.vd-inv-sales-detail {
  margin: 6px 0 12px !important;
}

.vd-inv-sales-detail details {
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}

.vd-inv-category-summary {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 8px 10px 0 !important;
}

.vd-inv-category-summary span {
  display: inline-flex !important;
  gap: 4px !important;
  align-items: center !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 5px 8px !important;
  color: #475569 !important;
  font-size: 11px !important;
}

@media (max-width: 1024px) {
  .vd-inv-sales-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .vd-inv-date-filter {
    grid-template-columns: 1fr 1fr !important;
  }
  .vd-inv-filter-action {
    grid-column: 1 / -1 !important;
  }
  .vd-inv-sales-summary {
    display: flex !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scroll-snap-type: x mandatory !important;
  }
  .vd-inv-sales-summary article {
    min-width: 142px !important;
    scroll-snap-align: start !important;
  }
}

@media (min-width: 761px) {
  .asesora-agenda-mini-stats {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

/* Ajuste médico: agenda compacta tipo Excel */
.medico-status-stack,
.medico-action-only {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.medico-day-agenda .date-autoload-form .input {
  min-height: 34px;
}
.medico-day-agenda .medico-agenda-table th,
.medico-day-agenda .medico-agenda-table td {
  padding-top: 7px;
  padding-bottom: 7px;
}
@media (max-width: 760px) {
  .medico-day-agenda .medico-agenda-table {
    min-width: 860px;
  }
  .medico-status-stack,
  .medico-action-only {
    min-width: 132px;
  }
}


/* ============================================================
   Notificaciones globales tipo Excel - 10 por pagina
   ============================================================ */
.vd-notif-excel {
  padding: 12px !important;
}
.vd-notif-excel .vd-notif-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 8px 0 10px !important;
}
.vd-notif-excel .vd-notif-summary-card {
  min-height: 42px !important;
  padding: 7px 9px !important;
}
.vd-notif-table-wrap {
  margin-top: 6px !important;
}
.vd-notif-table th,
.vd-notif-table td {
  padding: 7px 8px !important;
  vertical-align: middle !important;
  font-size: 12px !important;
}
.vd-notif-table .notif-unread-row {
  background: #f8fffd !important;
}
.vd-notif-date-cell {
  white-space: nowrap !important;
  color: #64748b !important;
}
.vd-notif-msg-cell strong {
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
}
.vd-notif-msg-cell small {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: #64748b !important;
  line-height: 1.2 !important;
  max-width: 620px !important;
}
.vd-notif-actions-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
}
.vd-notif-actions-inline form {
  margin: 0 !important;
}
.vd-notif-pagination {
  margin-top: 9px !important;
}
@media (max-width: 760px) {
  .vd-notif-excel .vd-notif-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .vd-notif-table th:nth-child(3),
  .vd-notif-table td:nth-child(3) {
    display: none !important;
  }
  .vd-notif-msg-cell small {
    -webkit-line-clamp: 1 !important;
    max-width: 260px !important;
  }
  .vd-notif-actions-inline {
    flex-wrap: wrap !important;
  }
}
@media (max-width: 480px) {
  .vd-notif-table th,
  .vd-notif-table td {
    padding: 6px 6px !important;
    font-size: 11px !important;
  }
  .vd-notif-date-cell {
    white-space: normal !important;
    min-width: 76px !important;
  }
  .vd-notif-excel .vd-notif-summary-card span {
    font-size: 10px !important;
  }
  .vd-notif-excel .vd-notif-summary-card strong {
    font-size: 15px !important;
  }
}

/* Mi cuenta: perfil clicable en barra superior */
.profile-link {
  color: inherit;
  text-decoration: none;
}
.profile-link:hover {
  border-color: rgba(19, 168, 138, .35);
  transform: translateY(-1px);
}

/* Búsqueda global con resultados en vivo */
.vd-top-search-live {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  max-height: min(430px, calc(100vh - 170px));
  overflow: auto;
  padding-top: 2px;
}
.vd-top-search-live-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
  padding: 0 2px 2px;
}
.vd-top-search-live-head strong { color: var(--text); }
.vd-top-search-empty {
  color: var(--muted);
  font-size: 12px;
  padding: 8px;
  border: 1px dashed var(--line);
  border-radius: 12px;
  background: #f8fafc;
}
.vd-top-search-item-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: stretch;
}
.vd-top-search-item {
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--text);
  text-decoration: none;
}
.vd-top-search-hc {
  display: inline-grid;
  place-items: center;
  padding: 7px 11px;
  border-radius: 12px;
  border: 1px solid rgba(196,181,253,.48);
  background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 50%, #c026d3 100%);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(109,40,217,.25);
}
.vd-top-search-hc:hover {
  filter: brightness(1.05) saturate(1.08);
  transform: translateY(-1px);
  box-shadow: 0 11px 22px rgba(109,40,217,.32);
}
.vd-top-search-item:hover { background: #f8fafc; }
.vd-top-search-item-main {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}
.vd-top-search-item-main strong { font-size: 13px; }
.vd-top-search-item-main small,
.vd-top-search-item-sub,
.vd-top-search-item-meta small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.vd-top-search-item-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.vd-top-search-item-meta .status {
  font-style: normal;
  font-size: 10px;
  padding: 3px 7px;
}
.vd-top-search-all {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--text);
  padding: 8px 10px;
  font-weight: 800;
  cursor: pointer;
}

/* Alertas operativas en tiempo real */
.vd-notif-popup{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:18px;}
.vd-notif-popup-card{position:relative;width:min(520px,100%);border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.32);padding:22px;border:1px solid rgba(148,163,184,.35);animation:vdPopIn .18s ease-out;}
.vd-notif-popup-kicker{display:inline-flex;margin-bottom:8px;border-radius:999px;background:#ecfdf5;color:#047857;padding:5px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.vd-notif-popup-card h2{margin:0 0 8px;font-size:24px;line-height:1.1;color:#0f172a;}
.vd-notif-popup-card p{margin:0;color:#334155;font-size:15px;line-height:1.45;}
.vd-notif-popup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;justify-content:flex-end;}
.vd-notif-popup-x{position:absolute;right:12px;top:10px;border:0;background:#f1f5f9;color:#334155;width:34px;height:34px;border-radius:999px;font-size:22px;line-height:1;cursor:pointer;}
.vd-notif-popup-warning .vd-notif-popup-kicker{background:#fff7ed;color:#c2410c;}
.vd-notif-popup-success .vd-notif-popup-kicker{background:#ecfdf5;color:#047857;}
.vd-notif-popup-info .vd-notif-popup-kicker{background:#eff6ff;color:#1d4ed8;}
@keyframes vdPopIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:760px){.vd-notif-popup{align-items:flex-start;padding-top:72px}.vd-notif-popup-card{border-radius:22px;padding:20px}.vd-notif-popup-card h2{font-size:22px}.vd-notif-popup-actions .btn{width:100%;justify-content:center}}

/* Soportes de foto/camara para coordinador y medico */
.vd-photo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0;grid-column:1/-1;}
.vd-photo-btn{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;gap:6px;justify-content:center;}
.vd-photo-btn input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:120px;}
.hoja-llego-check{border:1px solid var(--border);border-radius:999px;padding:6px 9px;background:#fff;min-height:34px;}
.hoja-llego-check input{width:16px;height:16px;accent-color:var(--primary);}
@media (max-width:760px){.vd-photo-actions .btn{flex:1 1 130px}.hoja-llego-check{width:auto}}

/* Ajustes ayuda/topbar y carga de imágenes por dispositivo */
.vd-help-topbar {
  width: auto !important;
  min-width: 96px !important;
  height: 42px !important;
  padding: 0 13px 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 1px solid rgba(20,184,166,.42) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg,#0f766e 0%,#14b8a6 54%,#22c55e 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(13,148,136,.24), inset 0 1px 0 rgba(255,255,255,.35) !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
.vd-help-topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg,rgba(255,255,255,.35),rgba(255,255,255,0) 42%);
  opacity: .75;
  pointer-events: none;
  z-index: -1;
}
.vd-help-topbar:hover {
  border-color: rgba(45,212,191,.78) !important;
  transform: translateY(-1px);
  filter: saturate(1.08);
  box-shadow: 0 18px 34px rgba(13,148,136,.30), inset 0 1px 0 rgba(255,255,255,.42) !important;
}
.vd-help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  color: #fff;
  border: 1px solid rgba(255,255,255,.38);
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.vd-help-label {
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1;
  text-shadow: 0 1px 1px rgba(15,23,42,.22);
}
.preagenda-page .btn-light.preagenda-mini-action {
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(248,250,252,.96);
  color: #334155;
}
@media (max-width: 760px) {
  .preagenda-actions-stack {
    align-items: stretch;
    flex-direction: column;
  }
  .preagenda-inline-form {
    width: 100%;
  }
}



.hoja-patient-id-form{margin-top:6px;display:flex;align-items:end;gap:6px;flex-wrap:wrap;max-width:620px;}
.hoja-patient-id-label{display:flex;flex-direction:column;gap:3px;min-width:190px;flex:1 1 230px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:#0f766e;}
.hoja-patient-id-input{height:32px!important;min-height:32px!important;padding:6px 9px!important;border-radius:999px!important;background:#f8fafc!important;border-color:rgba(20,184,166,.30)!important;font-weight:800;color:#0f172a;}
.hoja-patient-id-input:focus{background:#fff!important;border-color:rgba(20,184,166,.72)!important;box-shadow:0 0 0 3px rgba(20,184,166,.12)!important;}
.hoja-patient-id-save{min-height:32px!important;padding:6px 10px!important;border-radius:999px!important;font-size:11.5px!important;}
.atencion-paciente-doc{margin-top:5px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid rgba(20,184,166,.22);background:#f0fdfa;color:#0f766e;border-radius:999px;font-size:12px;font-weight:800;}
.atencion-paciente-doc strong{color:#0f172a;font-weight:950;}
@media (max-width:560px){.vd-help-topbar{width:42px!important;min-width:42px!important;padding:0!important;border-radius:14px!important}.vd-help-label{display:none}.hoja-patient-id-form{align-items:stretch}.hoja-patient-id-label{flex-basis:100%;min-width:0}.hoja-patient-id-save{width:100%;}}

/* ============================================================
   Responsive global seguro - Ayuda y modulos generales
   Mantiene logica y tamanos base; solo evita desbordes en celular/PC.
   ============================================================ */
img, video, canvas, svg { max-width: 100%; }
.main, .panel, .card, .module-card, .stat-card, .table-wrap, .modal, .modal-content { min-width: 0; }
.input, input, select, textarea { max-width: 100%; }
.table-wrap, .responsive-table, .table-responsive { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.card, .panel, .module-card, .stat-card, .alert, .notification-card { overflow-wrap: anywhere; }
.form-row, .filters-row, .toolbar, .actions-row, .panel-actions, .button-row { min-width: 0; flex-wrap: wrap; }
.grid, .stats-grid, .module-grid, .content-grid { min-width: 0; }

@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .main { width: 100%; min-width: 0; }
  .topbar { gap: 10px; }
  .topbar .page-title { min-width: 0; }
  .page-title h2, .page-title p { overflow-wrap: anywhere; }
  .panel, .card, .module-card, .stat-card, .auth-card { max-width: 100%; }
  .panel-header, .card-header, .module-top { min-width: 0; flex-wrap: wrap; }
  .panel-header > *, .card-header > *, .module-top > * { min-width: 0; }
  .stats-grid, .module-grid, .content-grid { grid-template-columns: 1fr !important; }
  .btn { max-width: 100%; white-space: normal; text-align: center; line-height: 1.15; }
  .btn + .btn { margin-top: 0; }
  .table-wrap table { min-width: 720px; }
  .filters-row .btn, .toolbar .btn, .actions-row .btn, .panel-actions .btn { width: auto; flex: 1 1 150px; }
}

@media (max-width: 480px) {
  .main { padding-left: 10px; padding-right: 10px; }
  .topbar { margin-left: -10px; margin-right: -10px; }
  .filters-row .btn, .toolbar .btn, .actions-row .btn, .panel-actions .btn { flex-basis: 100%; }
  .table-wrap { border-radius: 12px; }
}

/* ============================================================
   Asesora - responsive total para móvil y PC
   ============================================================ */
body.role-asesora .main,
.main.asesora-compact-page {
  overflow-x: hidden;
}

body.role-asesora .panel-header,
.asesora-compact-page .panel-header {
  min-width: 0;
}

body.role-asesora .panel-header > div,
.asesora-compact-page .panel-header > div {
  min-width: 0;
}

body.role-asesora .panel-header h2,
body.role-asesora .panel-header h3,
body.role-asesora .page-title h2,
.asesora-compact-page .panel-header h2,
.asesora-compact-page .panel-header h3 {
  overflow-wrap: anywhere;
}

body.role-asesora .asesora-dashboard-filters,
body.role-asesora .compact-filter-form,
.asesora-compact-page .compact-filter-form,
.asesora-compact-page .preagenda-filter-form {
  max-width: 100%;
}

body.role-asesora .asesora-dashboard-filters .form-group,
.asesora-compact-page .compact-filter-form .form-group,
.asesora-compact-page .preagenda-filter-form .form-group {
  min-width: 0 !important;
}

body.role-asesora .phone-country-row,
.asesora-compact-page .phone-country-row {
  min-width: 0;
  max-width: 100%;
}

body.role-asesora .phone-country-row .phone-country-select,
body.role-asesora .phone-country-row .phone-country-number,
.asesora-compact-page .phone-country-row .phone-country-select,
.asesora-compact-page .phone-country-row .phone-country-number {
  min-width: 0;
}

@media (max-width: 760px) {
  body.role-asesora .main,
  .main.asesora-compact-page {
    padding: 10px;
  }

  body.role-asesora .topbar {
    margin-left: -10px;
    margin-right: -10px;
  }

  body.role-asesora .panel,
  .asesora-compact-page .panel,
  body.role-asesora .card,
  .asesora-compact-page .card {
    border-radius: 16px;
  }

  body.role-asesora .panel-header,
  .asesora-compact-page .panel-header,
  .preagenda-card-head,
  .preagenda-list-head {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body.role-asesora .panel-header .btn,
  .asesora-compact-page .panel-header .btn,
  .preagenda-card-head .btn,
  .preagenda-card-head button,
  .preagenda-list-head .btn,
  .preagenda-list-head button {
    width: 100%;
    justify-content: center;
  }

  body.role-asesora .asesora-dashboard-filters,
  .asesora-compact-page .compact-filter-form,
  .asesora-compact-page form.grid.compact-filter-form,
  .asesora-compact-page .preagenda-filter-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.role-asesora .asesora-dashboard-filters .btn,
  .asesora-compact-page .compact-filter-form .btn,
  .asesora-compact-page .preagenda-filter-form .btn {
    width: 100%;
  }

  body.role-asesora .asesora-agenda-mini-stats,
  .asesora-compact-page .asesora-agenda-mini-stats,
  .asesora-compact-page .stats-grid,
  .asesora-compact-page .asesora-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.role-asesora .asesora-agenda-mini-stats article,
  .asesora-compact-page .asesora-agenda-mini-stats article,
  .asesora-compact-page .stat-card {
    min-width: 0;
    padding: 10px;
  }

  body.role-asesora .table-wrap,
  .asesora-compact-page .table-wrap {
    overflow: visible !important;
    max-width: 100%;
  }

  body.role-asesora table.asesora-agenda-table,
  .asesora-compact-page table.agenda-excel-table,
  .asesora-compact-page table.consultorios-table,
  .asesora-compact-page table.programacion-table,
  .asesora-compact-page table.comisiones-table,
  .asesora-compact-page table.preagenda-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.role-asesora table.asesora-agenda-table thead,
  .asesora-compact-page table.agenda-excel-table thead,
  .asesora-compact-page table.consultorios-table thead,
  .asesora-compact-page table.programacion-table thead,
  .asesora-compact-page table.comisiones-table thead,
  .asesora-compact-page table.preagenda-table thead {
    display: none;
  }

  body.role-asesora table.asesora-agenda-table tbody,
  body.role-asesora table.asesora-agenda-table tr,
  body.role-asesora table.asesora-agenda-table td,
  .asesora-compact-page table.agenda-excel-table tbody,
  .asesora-compact-page table.agenda-excel-table tr,
  .asesora-compact-page table.agenda-excel-table td,
  .asesora-compact-page table.consultorios-table tbody,
  .asesora-compact-page table.consultorios-table tr,
  .asesora-compact-page table.consultorios-table td,
  .asesora-compact-page table.programacion-table tbody,
  .asesora-compact-page table.programacion-table tr,
  .asesora-compact-page table.programacion-table td,
  .asesora-compact-page table.comisiones-table tbody,
  .asesora-compact-page table.comisiones-table tr,
  .asesora-compact-page table.comisiones-table td,
  .asesora-compact-page table.preagenda-table tbody,
  .asesora-compact-page table.preagenda-table tr,
  .asesora-compact-page table.preagenda-table td {
    display: block;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.role-asesora table.asesora-agenda-table tbody tr:not(.agenda-actions-row),
  .asesora-compact-page table.agenda-excel-table tbody tr:not(.agenda-actions-row),
  .asesora-compact-page table.consultorios-table tbody tr,
  .asesora-compact-page table.programacion-table tbody tr,
  .asesora-compact-page table.comisiones-table tbody tr,
  .asesora-compact-page table.preagenda-table tbody tr {
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
  }

  body.role-asesora table.asesora-agenda-table tbody td,
  .asesora-compact-page table.agenda-excel-table tbody td,
  .asesora-compact-page table.consultorios-table tbody td,
  .asesora-compact-page table.programacion-table tbody td,
  .asesora-compact-page table.comisiones-table tbody td,
  .asesora-compact-page table.preagenda-table tbody td {
    display: grid;
    grid-template-columns: minmax(82px, 34%) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left;
    white-space: normal !important;
  }

  body.role-asesora table.asesora-agenda-table tbody td::before,
  .asesora-compact-page table.agenda-excel-table tbody td::before,
  .asesora-compact-page table.consultorios-table tbody td::before,
  .asesora-compact-page table.programacion-table tbody td::before,
  .asesora-compact-page table.comisiones-table tbody td::before,
  .asesora-compact-page table.preagenda-table tbody td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  body.role-asesora table.asesora-agenda-table tbody td[data-label=""],
  .asesora-compact-page table.agenda-excel-table tbody td[data-label=""],
  .asesora-compact-page table.consultorios-table tbody td[data-label=""],
  .asesora-compact-page table.programacion-table tbody td[data-label=""],
  .asesora-compact-page table.comisiones-table tbody td[data-label=""],
  .asesora-compact-page table.preagenda-table tbody td[data-label=""] {
    display: block;
  }

  body.role-asesora table.asesora-agenda-table tbody td[data-label=""]::before,
  .asesora-compact-page table.agenda-excel-table tbody td[data-label=""]::before,
  .asesora-compact-page table.consultorios-table tbody td[data-label=""]::before,
  .asesora-compact-page table.programacion-table tbody td[data-label=""]::before,
  .asesora-compact-page table.comisiones-table tbody td[data-label=""]::before,
  .asesora-compact-page table.preagenda-table tbody td[data-label=""]::before {
    content: none;
  }

  body.role-asesora table.asesora-agenda-table .agenda-actions-row,
  .asesora-compact-page table.agenda-excel-table .agenda-actions-row {
    margin-top: -10px;
    margin-bottom: 12px;
    padding: 0 10px 10px;
    border: 1px solid rgba(226, 232, 240, .9);
    border-top: 0;
    border-radius: 0 0 16px 16px;
    background: #f8fbff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
  }

  body.role-asesora table.asesora-agenda-table .agenda-actions-row td,
  .asesora-compact-page table.agenda-excel-table .agenda-actions-row td {
    display: block !important;
    padding: 0 !important;
  }

  body.role-asesora .agenda-inline-actions,
  .asesora-compact-page .agenda-inline-actions,
  .asesora-compact-page .preagenda-actions-stack {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.role-asesora .agenda-inline-actions .btn,
  .asesora-compact-page .agenda-inline-actions .btn,
  .asesora-compact-page .preagenda-mini-action,
  .asesora-compact-page .preagenda-inline-form {
    width: 100%;
  }

  body.role-asesora .agenda-actions-label,
  .asesora-compact-page .agenda-actions-label {
    display: none;
  }

  .asignacion-asesoras-page .compact-matrix-wrap,
  .asignacion-asesoras-page .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .asignacion-asesoras-page table.asignacion-asesoras-table {
    min-width: 640px !important;
  }

  .asignacion-asesoras-page table.asignacion-asesoras-table th,
  .asignacion-asesoras-page table.asignacion-asesoras-table td {
    min-width: 96px;
  }

  .asignacion-asesoras-page table.asignacion-asesoras-table th:first-child,
  .asignacion-asesoras-page table.asignacion-asesoras-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #fff;
  }
}

@media (max-width: 520px) {
  body.role-asesora .asesora-agenda-mini-stats,
  .asesora-compact-page .asesora-agenda-mini-stats,
  .asesora-compact-page .stats-grid,
  .asesora-compact-page .asesora-stats {
    grid-template-columns: 1fr 1fr !important;
  }

  body.role-asesora .asesora-agenda-mini-stats small,
  .asesora-compact-page .asesora-agenda-mini-stats small,
  .asesora-compact-page .stat-note {
    display: none;
  }

  body.role-asesora table.asesora-agenda-table tbody td,
  .asesora-compact-page table.agenda-excel-table tbody td,
  .asesora-compact-page table.consultorios-table tbody td,
  .asesora-compact-page table.programacion-table tbody td,
  .asesora-compact-page table.comisiones-table tbody td,
  .asesora-compact-page table.preagenda-table tbody td {
    grid-template-columns: 80px minmax(0, 1fr);
  }
}

/* ============================================================
   Administracion responsive total - celular y PC
   Convierte tablas administrativas en tarjetas legibles en movil
   sin alterar escritorio ni logica del sistema.
   ============================================================ */
body.admin-compact-role .main,
body.admin-compact-role .content,
body.admin-compact-role .panel,
body.admin-compact-role .card,
body.admin-compact-role .table-wrap,
body.admin-compact-role .form-card {
  max-width: 100%;
  box-sizing: border-box;
}

body.admin-compact-role .main img,
body.admin-compact-role .main svg,
body.admin-compact-role .main video,
body.admin-compact-role .main canvas {
  max-width: 100%;
}

body.admin-compact-role .main .table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.admin-compact-role .main .grid,
body.admin-compact-role .main form.grid,
body.admin-compact-role .main .content-grid,
body.admin-compact-role .main .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

body.admin-compact-role .main .panel-header,
body.admin-compact-role .main .page-header,
body.admin-compact-role .main .card-header,
body.admin-compact-role .main .action-row,
body.admin-compact-role .main .panel-actions {
  flex-wrap: wrap;
  min-width: 0;
}

body.admin-compact-role .main .panel-header > *,
body.admin-compact-role .main .page-header > *,
body.admin-compact-role .main .card-header > * {
  min-width: 0;
}

body.admin-compact-role .main .btn,
body.admin-compact-role .main button,
body.admin-compact-role .main .status,
body.admin-compact-role .main .badge {
  max-width: 100%;
}

@media (max-width: 760px) {
  body.admin-compact-role .main {
    padding: 10px;
  }

  body.admin-compact-role .main .page-header,
  body.admin-compact-role .main .panel-header,
  body.admin-compact-role .main .card-header {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body.admin-compact-role .main .page-header h1,
  body.admin-compact-role .main .panel-header h2,
  body.admin-compact-role .main .panel-header h3,
  body.admin-compact-role .main .card-header h2,
  body.admin-compact-role .main .card-header h3 {
    font-size: 17px;
    line-height: 1.18;
    margin: 0;
  }

  body.admin-compact-role .main .page-header p,
  body.admin-compact-role .main .panel-header p,
  body.admin-compact-role .main .card-header p {
    margin: 3px 0 0;
  }

  body.admin-compact-role .main .panel-header > div:last-child,
  body.admin-compact-role .main .page-header > div:last-child,
  body.admin-compact-role .main .card-header > div:last-child,
  body.admin-compact-role .main .panel-actions,
  body.admin-compact-role .main .action-row {
    width: 100% !important;
  }

  body.admin-compact-role .main .panel-header .btn,
  body.admin-compact-role .main .page-header .btn,
  body.admin-compact-role .main .card-header .btn,
  body.admin-compact-role .main .panel-actions .btn,
  body.admin-compact-role .main .action-row .btn {
    width: 100%;
    justify-content: center;
  }

  body.admin-compact-role .main .grid,
  body.admin-compact-role .main form.grid,
  body.admin-compact-role .main .content-grid,
  body.admin-compact-role .main .stats-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body.admin-compact-role .main .stat-card,
  body.admin-compact-role .main .panel,
  body.admin-compact-role .main .card,
  body.admin-compact-role .main .form-card {
    border-radius: 16px;
  }

  body.admin-compact-role .main .table-wrap {
    overflow: visible !important;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) thead {
    display: none;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tbody,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tr,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td {
    display: block;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tbody tr {
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98));
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tbody tr:empty {
    display: none;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td {
    display: grid;
    grid-template-columns: minmax(86px, 34%) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 7px 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td:not([data-label])::before,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td[data-label=""]::before {
    content: none;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td:not([data-label]),
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td[data-label=""] {
    display: block;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td .btn,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td button,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td input[type="submit"] {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td > div[style*="display:flex"],
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td > form[style*="display:flex"] {
    align-items: stretch !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  body.admin-compact-role .main .asignacion-asesoras-table,
  body.admin-compact-role .main .admin-keep-wide,
  body.admin-compact-role .main .vd-keep-wide {
    min-width: 640px !important;
  }

  body.admin-compact-role .main .asignacion-asesoras-table th:first-child,
  body.admin-compact-role .main .asignacion-asesoras-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #fff;
  }
}

@media (max-width: 480px) {
  body.admin-compact-role .main {
    padding: 8px;
  }

  body.admin-compact-role .main .stat-value,
  body.admin-compact-role .main .stat-value[style] {
    font-size: 18px !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 7px;
  }

  body.admin-compact-role .main .btn {
    min-height: 34px;
  }
}


/* ============================================================
   Correccion responsive PC/movil - tablas y modulos completos
   - En PC/tablet no convertir tablas en tarjetas.
   - En celular angosto mantener tarjetas compactas con data-label.
   - Evita encabezados como Hora apilados verticalmente en escritorio.
   ============================================================ */

/* Escritorio y tablet: conservar tablas horizontales normales. */
@media (min-width: 641px) {
  body.admin-compact-role .main .table-wrap,
  body.role-asesora .table-wrap,
  .asesora-compact-page .table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: none;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide),
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) thead,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tbody,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tr,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) th,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td,
  body.role-asesora table.asesora-agenda-table,
  body.role-asesora table.asesora-agenda-table thead,
  body.role-asesora table.asesora-agenda-table tbody,
  body.role-asesora table.asesora-agenda-table tr,
  body.role-asesora table.asesora-agenda-table th,
  body.role-asesora table.asesora-agenda-table td,
  .asesora-compact-page table.agenda-excel-table,
  .asesora-compact-page table.agenda-excel-table thead,
  .asesora-compact-page table.agenda-excel-table tbody,
  .asesora-compact-page table.agenda-excel-table tr,
  .asesora-compact-page table.agenda-excel-table th,
  .asesora-compact-page table.agenda-excel-table td,
  .asesora-compact-page table.consultorios-table,
  .asesora-compact-page table.consultorios-table thead,
  .asesora-compact-page table.consultorios-table tbody,
  .asesora-compact-page table.consultorios-table tr,
  .asesora-compact-page table.consultorios-table th,
  .asesora-compact-page table.consultorios-table td,
  .asesora-compact-page table.programacion-table,
  .asesora-compact-page table.programacion-table thead,
  .asesora-compact-page table.programacion-table tbody,
  .asesora-compact-page table.programacion-table tr,
  .asesora-compact-page table.programacion-table th,
  .asesora-compact-page table.programacion-table td,
  .asesora-compact-page table.comisiones-table,
  .asesora-compact-page table.comisiones-table thead,
  .asesora-compact-page table.comisiones-table tbody,
  .asesora-compact-page table.comisiones-table tr,
  .asesora-compact-page table.comisiones-table th,
  .asesora-compact-page table.comisiones-table td,
  .asesora-compact-page table.preagenda-table,
  .asesora-compact-page table.preagenda-table thead,
  .asesora-compact-page table.preagenda-table tbody,
  .asesora-compact-page table.preagenda-table tr,
  .asesora-compact-page table.preagenda-table th,
  .asesora-compact-page table.preagenda-table td {
    display: revert !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide),
  body.role-asesora table.asesora-agenda-table,
  .asesora-compact-page table.agenda-excel-table,
  .asesora-compact-page table.consultorios-table,
  .asesora-compact-page table.programacion-table,
  .asesora-compact-page table.comisiones-table,
  .asesora-compact-page table.preagenda-table {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) thead,
  body.role-asesora table.asesora-agenda-table thead,
  .asesora-compact-page table.agenda-excel-table thead,
  .asesora-compact-page table.consultorios-table thead,
  .asesora-compact-page table.programacion-table thead,
  .asesora-compact-page table.comisiones-table thead,
  .asesora-compact-page table.preagenda-table thead {
    display: table-header-group !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tbody,
  body.role-asesora table.asesora-agenda-table tbody,
  .asesora-compact-page table.agenda-excel-table tbody,
  .asesora-compact-page table.consultorios-table tbody,
  .asesora-compact-page table.programacion-table tbody,
  .asesora-compact-page table.comisiones-table tbody,
  .asesora-compact-page table.preagenda-table tbody {
    display: table-row-group !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) tr,
  body.role-asesora table.asesora-agenda-table tr,
  .asesora-compact-page table.agenda-excel-table tr,
  .asesora-compact-page table.consultorios-table tr,
  .asesora-compact-page table.programacion-table tr,
  .asesora-compact-page table.comisiones-table tr,
  .asesora-compact-page table.preagenda-table tr {
    display: table-row !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) th,
  body.admin-compact-role .main table:not(.asignacion-asesoras-table):not(.admin-keep-wide):not(.vd-keep-wide) td,
  body.role-asesora table.asesora-agenda-table th,
  body.role-asesora table.asesora-agenda-table td,
  .asesora-compact-page table.agenda-excel-table th,
  .asesora-compact-page table.agenda-excel-table td,
  .asesora-compact-page table.consultorios-table th,
  .asesora-compact-page table.consultorios-table td,
  .asesora-compact-page table.programacion-table th,
  .asesora-compact-page table.programacion-table td,
  .asesora-compact-page table.comisiones-table th,
  .asesora-compact-page table.comisiones-table td,
  .asesora-compact-page table.preagenda-table th,
  .asesora-compact-page table.preagenda-table td {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: normal;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.admin-compact-role .main table th,
  body.role-asesora table th,
  .asesora-compact-page table th,
  .agenda-excel-table th,
  .compact-excel-table th {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  body.admin-compact-role .main table td::before,
  body.role-asesora table td::before,
  .asesora-compact-page table td::before {
    content: none !important;
    display: none !important;
  }

  body.admin-compact-role .main table td .btn,
  body.admin-compact-role .main table td button,
  body.admin-compact-role .main table td input[type="submit"] {
    width: auto !important;
    max-width: 100%;
  }
}

/* Tablas de agenda con muchas columnas: en PC/tablet usar ancho minimo y scroll limpio. */
@media (min-width: 641px) {
  .agenda-excel-table,
  body.admin-compact-role .main .agenda-excel-table,
  body.role-asesora .agenda-excel-table,
  .asesora-compact-page .agenda-excel-table {
    min-width: 980px !important;
  }

  .agenda-excel-table th:first-child,
  .agenda-excel-table td:first-child {
    width: 72px;
    white-space: nowrap !important;
  }

  .agenda-actions-row td {
    display: table-cell !important;
  }
}

/* Celular real: tarjetas compactas; tablet/PC no se ve afectado. */
@media (min-width: 641px) and (max-width: 760px) {
  body.admin-compact-role .main .page-header,
  body.admin-compact-role .main .panel-header,
  body.admin-compact-role .main .card-header,
  body.role-asesora .panel-header,
  .asesora-compact-page .panel-header {
    align-items: center !important;
    flex-direction: row !important;
  }
}

/* Inventario - Campañas / subcampañas tipo Excel */
.vd-campaign-actions-sheet {
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}
.vd-campaign-action-row {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.vd-campaign-action-row:last-child {
  border-bottom: 0 !important;
}
.vd-campaign-action-row > summary {
  cursor: pointer;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(248, 250, 252, .92), rgba(236, 253, 245, .72));
}
.vd-campaign-action-row[open] > summary {
  background: linear-gradient(135deg, rgba(236, 253, 245, .95), rgba(224, 242, 254, .78));
}
.vd-campaign-action-row > summary::after {
  position: static !important;
  justify-self: end;
}
.vd-campaign-action-icon {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--brand, #13a88a), #06b6d4);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 8px 16px rgba(19, 168, 138, .18);
}
.vd-campaign-action-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.vd-campaign-action-copy strong {
  font-size: 13px;
  color: var(--text, #0f172a);
}
.vd-campaign-action-copy small {
  display: block;
  color: var(--muted, #64748b);
  font-size: 11px;
  line-height: 1.25;
}
.vd-campaign-inline-form,
.vd-campaign-management-body {
  border-top: 1px solid rgba(148, 163, 184, .18);
  background: #fff;
  padding: 10px 12px 12px;
}
.vd-campaign-inline-form.form-grid {
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto;
  align-items: end;
  gap: 8px;
}
.vd-campaign-table-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 8px 0 6px;
  padding: 0 2px;
}
.vd-campaign-table-title:first-child {
  margin-top: 0;
}
.vd-campaign-table-title strong {
  font-size: 13px;
}
.vd-campaign-table-title small {
  color: var(--muted, #64748b);
  font-size: 11px;
}
.vd-campaign-excel-table th,
.vd-campaign-excel-table td {
  padding: 7px 8px !important;
  vertical-align: middle;
}
.vd-inline-action-form {
  display: inline-flex;
  margin: 0;
}
@media (max-width: 760px) {
  .vd-campaign-action-row > summary {
    grid-template-columns: 32px minmax(0, 1fr);
  }
  .vd-campaign-action-row > summary::after {
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: 42px;
  }
  .vd-campaign-inline-form.form-grid {
    grid-template-columns: 1fr;
  }
  .vd-campaign-management-body .table-wrap {
    overflow-x: auto;
  }
}

/* Modo offline global: boton superior sin banner inferior */
.vd-offline-widget{display:none!important}
.vd-offline-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.vd-offline-title{font-size:12px}.vd-offline-count{margin-left:auto;background:#eef8f8;color:#0f766e;border-radius:999px;padding:3px 8px;font-weight:800}.vd-offline-dot{width:10px;height:10px;border-radius:999px;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}
.vd-offline-widget.is-offline .vd-offline-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.14)}.vd-offline-widget.is-syncing .vd-offline-dot,.vd-offline-widget.is-reconnecting .vd-offline-dot{background:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.14)}.vd-offline-widget.is-error .vd-offline-dot{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}
.vd-offline-actions{display:flex;gap:8px;margin-top:8px}.vd-offline-actions button{border:0;border-radius:999px;padding:7px 10px;background:linear-gradient(135deg,#0ea5a4,#2563eb);color:white;font-weight:800;cursor:pointer;font-size:12px;box-shadow:0 8px 18px rgba(14,165,164,.24)}.vd-offline-actions button:hover{filter:brightness(1.03)}.vd-offline-hint{display:block;margin-top:6px;color:#64748b}.vd-offline-widget:not(.has-pending) .vd-offline-actions{display:none}
.vd-offline-toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,16px);z-index:10000;opacity:0;transition:.22s ease;background:#0f172a;color:#fff;border-radius:16px;padding:11px 14px;max-width:min(560px,calc(100vw - 28px));box-shadow:0 18px 44px rgba(15,23,42,.24);font-size:13px}.vd-offline-toast.show{opacity:1;transform:translate(-50%,0)}.vd-offline-toast.success{background:#047857}.vd-offline-toast.error{background:#b91c1c}
.vd-offline-saved-local{outline:2px dashed rgba(249,115,22,.45);outline-offset:3px}.vd-offline-inline-note{margin-top:8px;padding:7px 9px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700;border:1px solid rgba(249,115,22,.18)}
.vd-offline-topbar-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(16,185,129,.24);background:rgba(236,253,245,.96);color:#047857;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;line-height:1;box-shadow:0 8px 18px rgba(15,23,42,.08);cursor:pointer;white-space:nowrap}.vd-offline-topbar-dot{width:9px;height:9px;border-radius:999px;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.13)}.vd-offline-topbar-count{display:none;min-width:18px;text-align:center;border-radius:999px;padding:3px 5px;background:rgba(15,118,110,.11);color:#0f766e}.vd-offline-topbar-pill.has-pending .vd-offline-topbar-count{display:inline-block}.vd-offline-topbar-pill.is-offline{border-color:rgba(239,68,68,.28);background:rgba(254,242,242,.98);color:#b91c1c}.vd-offline-topbar-pill.is-offline .vd-offline-topbar-dot,.vd-offline-topbar-pill.is-error .vd-offline-topbar-dot{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.14)}.vd-offline-topbar-pill.is-offline .vd-offline-topbar-count,.vd-offline-topbar-pill.is-error .vd-offline-topbar-count{background:rgba(239,68,68,.11);color:#b91c1c}.vd-offline-topbar-pill.is-syncing,.vd-offline-topbar-pill.is-reconnecting{border-color:rgba(59,130,246,.24);background:rgba(239,246,255,.98);color:#1d4ed8}.vd-offline-topbar-pill.is-syncing .vd-offline-topbar-dot,.vd-offline-topbar-pill.is-reconnecting .vd-offline-topbar-dot{background:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
@media (max-width:760px){.vd-offline-topbar-pill{order:2}.vd-top-search{order:1}.notifications-wrap,.vd-help-topbar{order:3}.profile{order:4}.vd-offline-toast{bottom:18px;width:calc(100vw - 24px)}}
@media print{.vd-offline-widget,.vd-offline-toast{display:none!important}}

/* ============================================================
   V30 - Recuperación acabado premium global de cuadros/tarjetas
   ============================================================ */
.main .card,
.main .panel,
.main .stat-card,
.main .module-card,
.main .quick-card-featured,
.main .quick-mini-card,
.main .notification-card,
.main .audit-event {
  border-color: rgba(19, 168, 138, .14);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(248, 253, 252, .96)) padding-box,
    linear-gradient(135deg, rgba(19, 168, 138, .22), rgba(14, 165, 233, .14), rgba(148, 163, 184, .12)) border-box;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .075);
}

.main .panel,
.main .stat-card,
.main .module-card,
.main .quick-card-featured,
.main .quick-mini-card {
  position: relative;
  overflow: hidden;
}

.main .panel::before,
.main .stat-card::before,
.main .module-card::before,
.main .quick-card-featured::before,
.main .quick-mini-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(19, 168, 138, .88), rgba(14, 165, 233, .62), rgba(34, 197, 94, .48));
  pointer-events: none;
}

.main .panel-header,
.main .card-header,
.main .quick-header {
  border-radius: 18px;
}

.main .stat-card .stat-value,
.main .module-card h4,
.main .panel-header h3 {
  color: #0f2f2a;
}

.main .module-icon,
.main .quick-card-icon,
.main .quick-mini-icon {
  background: linear-gradient(135deg, rgba(19, 168, 138, .14), rgba(14, 165, 233, .10));
  border-color: rgba(19, 168, 138, .18);
  color: var(--brand-dark);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), 0 10px 22px rgba(19, 168, 138, .12);
}

.main .table-wrap {
  background: rgba(255, 255, 255, .96);
  border-color: rgba(148, 163, 184, .24);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
}

.vd-bulk-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin: 14px 0;
  padding: 10px;
  border: 1px solid rgba(19, 168, 138, .14);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(240, 253, 250, .88), rgba(248, 250, 252, .94));
}

.vd-bulk-toolbar .input {
  max-width: 240px;
}

.vd-excel-compact-table th,
.vd-excel-compact-table td {
  padding-top: 9px;
  padding-bottom: 9px;
}

@media (max-width: 560px) {
  .vd-bulk-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }
  .vd-bulk-toolbar .input {
    max-width: none;
  }
}

/* Mantener paneles abiertos para no recortar desplegables/autocompletados internos. */
.main .panel {
  overflow: visible;
}
.main .panel::before {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

/* Modo Brigada Offline - coordinador/medico */
.vd-offline-main{display:flex;flex-direction:column;gap:14px;}
.vd-offline-head{align-items:flex-start;gap:12px;}
.vd-offline-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;}
.vd-offline-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;}
.vd-offline-filter .input{min-height:34px;padding:7px 9px;font-size:.86rem;}
.vd-offline-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;}
.vd-offline-mini-card{background:linear-gradient(135deg,rgba(14,165,164,.11),rgba(99,102,241,.07));border:1px solid rgba(14,165,164,.16);border-radius:14px;padding:10px 12px;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.vd-offline-mini-card strong{display:block;font-size:1rem;color:var(--text);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vd-offline-mini-card span{display:block;font-size:.72rem;color:var(--muted);margin-top:3px;}
.vd-offline-instructions{padding:12px 14px;}
.vd-offline-instructions ol{margin:7px 0 4px 18px;padding:0;font-size:.86rem;color:var(--text);}
.vd-offline-instructions p{font-size:.84rem;color:var(--muted);margin:6px 0 0;}
.vd-offline-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;}
.vd-offline-section-title h2{font-size:1rem;margin:0;}
.vd-offline-pending-card,.vd-offline-work-card{padding:12px 14px;}
.vd-offline-pending-table th,.vd-offline-pending-table td{font-size:.78rem;padding:6px 7px;}
.vd-offline-patient-list{display:grid;gap:9px;}
.vd-offline-patient-card{border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.82);border-radius:14px;padding:10px;box-shadow:0 8px 18px rgba(15,23,42,.045);}
.vd-offline-patient-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px;}
.vd-offline-patient-top strong{display:block;font-size:.93rem;color:var(--text);}
.vd-offline-patient-top small{display:block;font-size:.75rem;color:var(--muted);margin-top:2px;}
.vd-offline-action-grid{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;}
.vd-offline-med-grid{align-items:stretch;}
.vd-offline-inline-form{margin:0;}
.vd-offline-mini-detail{position:relative;}
.vd-offline-mini-detail>summary{list-style:none;cursor:pointer;}
.vd-offline-mini-detail>summary::-webkit-details-marker{display:none;}
.vd-offline-mini-detail[open]{min-width:min(100%,360px);}
.vd-offline-mini-form{display:grid;gap:7px;margin-top:8px;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:9px;min-width:min(360px,calc(100vw - 44px));box-shadow:0 10px 24px rgba(15,23,42,.08);}
.vd-offline-mini-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.vd-offline-mini-form .input{font-size:.82rem;min-height:34px;padding:7px 9px;}
.vd-offline-med-form textarea{font-family:inherit;font-size:.86rem;}
@media (max-width:900px){.vd-offline-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.vd-offline-head-actions{justify-content:flex-start;width:100%;}.vd-offline-filter{width:100%;}.vd-offline-filter .input{flex:1 1 145px;}}
@media (max-width:560px){.vd-offline-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vd-offline-mini-card{padding:8px 9px}.vd-offline-head-actions .btn,.vd-offline-filter .btn{width:100%;justify-content:center}.vd-offline-action-grid{display:grid;grid-template-columns:1fr 1fr}.vd-offline-action-grid>.vd-offline-inline-form .btn,.vd-offline-action-grid>details>summary{width:100%;justify-content:center}.vd-offline-mini-detail[open]{grid-column:1/-1}.vd-offline-mini-fields{grid-template-columns:1fr 1fr}.vd-offline-patient-top{flex-direction:column}}

/* Inventario - despachos registrados clickeables */
.vd-dispatch-summary-row{cursor:pointer;transition:background .16s ease, box-shadow .16s ease;}
.vd-dispatch-summary-row:hover{background:rgba(14,165,164,.055);}
.vd-dispatch-code-link{border:0;background:transparent;padding:0;margin:0;color:#0f766e;text-align:left;font:inherit;cursor:pointer;display:block;}
.vd-dispatch-code-link strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.vd-dispatch-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0 12px;}
.vd-dispatch-info-grid>div{border:1px solid rgba(15,23,42,.08);background:rgba(248,250,252,.88);border-radius:12px;padding:8px 10px;}
.vd-dispatch-info-grid small{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;}
.vd-dispatch-info-grid strong{display:block;color:#0f172a;font-size:13px;margin-top:2px;}
.vd-dispatch-note{margin:8px 0;padding:9px 10px;border-radius:12px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);font-size:13px;}
.vd-dispatch-items-table td,.vd-dispatch-items-table th{font-size:12px;}


/* ============================================================
   Asesoras - formulario sin recarga, ciudad visible y edición móvil
   ============================================================ */
.asesora-city-list {
  margin-top: 4px;
}

.agenda-created-link {
  margin-left: 8px;
  vertical-align: middle;
}

.citas-crear-page .cita-form-grid {
  gap: 10px;
}

@media (max-width: 760px) {
  .citas-crear-page .cita-form-grid,
  .citas-crear-page .grid[style] {
    grid-template-columns: 1fr !important;
  }

  .citas-crear-page .panel-header,
  .citas-crear-page .compact-panel-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .citas-crear-page .panel-header .btn,
  .citas-crear-page .btn-mobile-full,
  .citas-crear-page form > div[style*="display:flex"] .btn {
    width: 100%;
    justify-content: center;
  }

  .agenda-created-link {
    display: block;
    margin: 8px 0 0;
  }
}


/* ============================================================
   2026-05-19 - Asesoras responsive real + plantillas privadas
   ============================================================ */
body.role-asesora .main,
body.role-asesora .global-dashboard-main,
.main.asesora-compact-page {
  max-width: 100%;
  overflow-x: hidden;
}

body.role-asesora .topbar,
body.role-asesora .panel-header,
.asesora-compact-page .panel-header {
  min-width: 0;
}

.asesora-dashboard-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

.asesora-dashboard-actions .btn {
  min-width: 0;
  white-space: normal;
  text-align: center;
}

body.role-asesora .asesora-agenda-mini-stats,
.asesora-compact-page .asesora-agenda-mini-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

body.role-asesora .asesora-agenda-mini-stats article,
.asesora-compact-page .asesora-agenda-mini-stats article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.mi-cuenta-asesora-page #whatsapp-privadas {
  max-width: 100% !important;
}

.mi-cuenta-asesora-page .whatsapp-private-help {
  line-height: 1.45;
}

@media (max-width: 760px) {
  body.role-asesora .app {
    grid-template-columns: minmax(0, 1fr);
  }

  body.role-asesora .main,
  body.role-asesora .global-dashboard-main,
  .main.asesora-compact-page {
    width: 100%;
    padding: 10px;
  }

  body.role-asesora .topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
  }

  body.role-asesora .topbar .page-title {
    min-width: 0;
  }

  body.role-asesora .topbar .page-title h2 {
    font-size: 20px;
    line-height: 1.1;
  }

  body.role-asesora .topbar .page-title p {
    font-size: 12px;
    line-height: 1.25;
  }

  body.role-asesora .panel,
  body.role-asesora .card,
  .main.asesora-compact-page .panel,
  .main.asesora-compact-page .card {
    border-radius: 16px;
    padding: 12px;
  }

  body.role-asesora .panel-header,
  .asesora-compact-page .panel-header {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .asesora-dashboard-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.role-asesora .asesora-dashboard-filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  body.role-asesora .asesora-dashboard-filters .form-group,
  body.role-asesora .asesora-dashboard-filters .btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.role-asesora .asesora-agenda-mini-stats,
  .asesora-compact-page .asesora-agenda-mini-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.role-asesora .asesora-agenda-mini-stats article,
  .asesora-compact-page .asesora-agenda-mini-stats article {
    padding: 9px !important;
    min-height: 64px;
  }

  body.role-asesora .asesora-agenda-mini-stats strong,
  .asesora-compact-page .asesora-agenda-mini-stats strong {
    font-size: 18px !important;
    line-height: 1.05;
  }

  body.role-asesora .asesora-agenda-mini-stats small,
  .asesora-compact-page .asesora-agenda-mini-stats small {
    font-size: 10px !important;
    line-height: 1.15;
  }

  body.role-asesora table.asesora-agenda-table,
  body.role-asesora table.asesora-compact-table,
  .mi-cuenta-asesora-page table.data-table {
    min-width: 0 !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
  }

  body.role-asesora table.asesora-agenda-table thead,
  body.role-asesora table.asesora-compact-table thead,
  .mi-cuenta-asesora-page table.data-table thead {
    display: none !important;
  }

  body.role-asesora table.asesora-agenda-table tbody,
  body.role-asesora table.asesora-agenda-table tr,
  body.role-asesora table.asesora-agenda-table td,
  body.role-asesora table.asesora-compact-table tbody,
  body.role-asesora table.asesora-compact-table tr,
  body.role-asesora table.asesora-compact-table td,
  .mi-cuenta-asesora-page table.data-table tbody,
  .mi-cuenta-asesora-page table.data-table tr,
  .mi-cuenta-asesora-page table.data-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.role-asesora table.asesora-agenda-table tbody tr:not(.agenda-actions-row),
  body.role-asesora table.asesora-compact-table tbody tr:not(.agenda-actions-row),
  .mi-cuenta-asesora-page table.data-table tbody tr {
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    padding: 10px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
  }

  body.role-asesora table.asesora-agenda-table td,
  body.role-asesora table.asesora-compact-table td,
  .mi-cuenta-asesora-page table.data-table td {
    border: 0 !important;
    padding: 7px 0 !important;
    background: transparent !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.role-asesora table.asesora-agenda-table td[data-label]:not([data-label=""]),
  body.role-asesora table.asesora-compact-table td[data-label]:not([data-label=""]),
  .mi-cuenta-asesora-page table.data-table td[data-label]:not([data-label=""]) {
    display: grid !important;
    grid-template-columns: minmax(82px, 34%) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
  }

  body.role-asesora table.asesora-agenda-table td[data-label]:not([data-label=""])::before,
  body.role-asesora table.asesora-compact-table td[data-label]:not([data-label=""])::before,
  .mi-cuenta-asesora-page table.data-table td[data-label]:not([data-label=""])::before {
    content: attr(data-label) !important;
    display: block !important;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.15;
    text-transform: uppercase;
  }

  body.role-asesora .agenda-actions-row,
  body.role-asesora .agenda-actions-row td {
    display: block !important;
    width: 100% !important;
  }

  body.role-asesora .agenda-actions-spacer {
    display: none !important;
  }

  body.role-asesora .agenda-actions-cell {
    padding: 0 10px 10px !important;
  }

  body.role-asesora .agenda-inline-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.role-asesora .agenda-inline-actions .btn,
  body.role-asesora .status-button,
  .mi-cuenta-asesora-page .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .asesora-dashboard-actions {
    grid-template-columns: 1fr;
  }

  body.role-asesora .asesora-agenda-mini-stats,
  .asesora-compact-page .asesora-agenda-mini-stats {
    grid-template-columns: 1fr 1fr !important;
  }

  body.role-asesora table.asesora-agenda-table td[data-label]:not([data-label=""]),
  body.role-asesora table.asesora-compact-table td[data-label]:not([data-label=""]),
  .mi-cuenta-asesora-page table.data-table td[data-label]:not([data-label=""]) {
    grid-template-columns: 78px minmax(0, 1fr);
  }
}


/* ============================================================
   2026-05-19 - Ajuste dashboard asesora móvil y sidebar WhatsApp
   ============================================================ */
body.role-asesora.asesora-dashboard-page .global-dashboard-main,
body.role-asesora.asesora-dashboard-page .asesora-dashboard-main {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}

body.role-asesora.asesora-dashboard-page .asesora-day-agenda {
  max-width: 100%;
  box-sizing: border-box;
}

body.role-asesora.asesora-dashboard-page .asesora-day-agenda .table-wrap {
  max-width: 100%;
}

body.role-asesora.asesora-dashboard-page .asesora-agenda-table a,
body.role-asesora.asesora-dashboard-page .asesora-agenda-table strong,
body.role-asesora.asesora-dashboard-page .asesora-agenda-table span {
  overflow-wrap: anywhere;
}

body.role-asesora.asesora-dashboard-page .asesora-agenda-mini-stats article span,
body.role-asesora.asesora-dashboard-page .asesora-agenda-mini-stats article small {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  body.role-asesora.asesora-dashboard-page .topbar {
    grid-template-columns: minmax(0, 1fr);
  }

  body.role-asesora.asesora-dashboard-page .topbar > * {
    min-width: 0;
  }

  body.role-asesora.asesora-dashboard-page .asesora-day-agenda {
    padding: 10px !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-day-agenda > .panel-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-day-agenda > .panel-header h3 {
    font-size: 18px;
    line-height: 1.15;
  }

  body.role-asesora.asesora-dashboard-page .asesora-dashboard-filters {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-dashboard-filters .form-group,
  body.role-asesora.asesora-dashboard-page .asesora-dashboard-filters .input,
  body.role-asesora.asesora-dashboard-page .asesora-dashboard-filters .btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-dashboard-actions {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-dashboard-actions .btn {
    width: 100%;
    justify-content: center;
    min-height: 42px;
  }

  body.role-asesora.asesora-dashboard-page .asesora-agenda-mini-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-agenda-mini-stats article {
    padding: 10px !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-agenda-table tbody tr:not(.agenda-actions-row) {
    display: block !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    padding: 10px !important;
    margin-bottom: 0 !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-agenda-table .agenda-actions-row {
    display: block !important;
    margin: -1px 0 12px !important;
    border: 1px solid var(--line) !important;
    border-top: 0 !important;
    border-radius: 0 0 16px 16px !important;
    padding: 8px 10px 10px !important;
    background: #f8fbff !important;
  }

  body.role-asesora.asesora-dashboard-page .asesora-agenda-table .agenda-actions-cell {
    padding: 0 !important;
  }

  body.role-asesora.asesora-dashboard-page .agenda-inline-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

@media (max-width: 480px) {
  body.role-asesora.asesora-dashboard-page .asesora-agenda-mini-stats {
    grid-template-columns: 1fr !important;
  }

  body.role-asesora.asesora-dashboard-page table.asesora-agenda-table td[data-label]:not([data-label=""]) {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }

  body.role-asesora.asesora-dashboard-page table.asesora-agenda-table td[data-label]:not([data-label=""])::before {
    margin-bottom: 1px;
  }
}

/* ============================================================
   Trazabilidad de pacientes para panel de asesoras
   ============================================================ */
.status.status-asistio {
  background: #dcfce7;
  color: #166534;
  border-color: rgba(34, 197, 94, .32);
}

.status.status-en-consulta {
  background: #ffedd5;
  color: #9a3412;
  border-color: rgba(249, 115, 22, .32);
}

.status.status-finalizada {
  background: #d1fae5;
  color: #065f46;
  border-color: rgba(16, 185, 129, .36);
}

.agenda-trace-note {
  color: var(--muted);
  display: inline-block;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 3px;
}

.asesora-agenda-table tr.asesora-cita-asistio td {
  background: rgba(34, 197, 94, .045);
}

.asesora-agenda-table tr.asesora-cita-en-consulta td {
  background: rgba(249, 115, 22, .055);
}

.asesora-agenda-table tr.asesora-cita-finalizada td {
  background: rgba(16, 185, 129, .08);
}

.asesora-agenda-table tr.asesora-cita-no-asistio td {
  background: rgba(239, 68, 68, .045);
}

@media (max-width: 760px) {
  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-asistio,
  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-en-consulta,
  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-finalizada,
  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-no-asistio {
    border-left-width: 5px;
  }

  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-asistio {
    border-left-color: #22c55e;
  }

  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-en-consulta {
    border-left-color: #f97316;
  }

  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-finalizada {
    border-left-color: #10b981;
  }

  body.role-asesora table.asesora-agenda-table tbody tr.asesora-cita-no-asistio {
    border-left-color: #ef4444;
  }
}

/* ============================================================
   Agenda asesoras: estado visible operativo
   ============================================================ */
.status.status-llego {
  background: #e0f2fe;
  color: #075985;
  border-color: rgba(14, 165, 233, .32);
}

.status.status-pagado {
  background: #dcfce7;
  color: #166534;
  border-color: rgba(34, 197, 94, .32);
}


/* Coordinador - filtro responsive de productos vendidos por jornada */
.hoja-productos-jornada{margin-top:14px;overflow:visible;}
details.hoja-productos-jornada{display:block;}
.hoja-productos-summary{list-style:none;cursor:pointer;user-select:none;}
.hoja-productos-summary::-webkit-details-marker{display:none;}
.hoja-productos-summary::marker{content:"";}
.hoja-productos-summary-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.hoja-productos-toggle{pointer-events:none;white-space:nowrap;}
.hoja-productos-jornada .hoja-productos-toggle-expanded{display:none;}
.hoja-productos-jornada[open] .hoja-productos-toggle-expanded{display:inline;}
.hoja-productos-jornada[open] .hoja-productos-toggle-collapsed{display:none;}
.hoja-productos-content{padding-top:4px;}
.hoja-productos-head .status{white-space:nowrap;}
.hoja-productos-filter{display:grid;grid-template-columns:160px 160px minmax(220px,1fr) auto;gap:10px;align-items:end;margin:10px 0 8px;}
.hoja-productos-filter .form-group{display:grid;gap:5px;margin:0;}
.hoja-productos-filter label{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.hoja-productos-filter-actions{display:flex!important;gap:8px;align-items:end;grid-auto-flow:column;}
.hoja-productos-periodo{margin:6px 0 10px;padding:8px 10px;border-radius:12px;background:rgba(240,253,250,.74);border:1px solid rgba(20,184,166,.16);color:#0f766e;font-size:12px;}
.hoja-productos-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;}
.hoja-productos-kpis>div{border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fff;padding:9px 10px;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.hoja-productos-kpis span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.hoja-productos-kpis strong{display:block;margin-top:3px;font-size:17px;color:#0f172a;line-height:1.05;}
.hoja-productos-kpis small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.15;}
.hoja-productos-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;align-items:start;}
.hoja-productos-box{border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fff;padding:10px;min-width:0;}
.hoja-productos-box h4{margin:0 0 8px;font-size:14px;color:#0f172a;}
.hoja-productos-table th,.hoja-productos-table td,.hoja-productos-detail-table th,.hoja-productos-detail-table td{font-size:12px;padding:7px 8px;vertical-align:top;}
.hoja-productos-patient-list{display:grid;gap:8px;}
.hoja-productos-patient{border:1px solid rgba(20,184,166,.18);border-radius:13px;background:rgba(248,250,252,.86);overflow:hidden;}
.hoja-productos-patient>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;}
.hoja-productos-patient>summary::-webkit-details-marker{display:none;}
.hoja-productos-patient>summary strong{display:block;color:#0f172a;line-height:1.15;}
.hoja-productos-patient>summary small{display:block;color:var(--muted);font-size:11px;margin-top:2px;}
.hoja-productos-patient>summary b{color:#0f766e;white-space:nowrap;}
.hoja-productos-detail{display:grid;gap:8px;border-top:1px solid rgba(148,163,184,.2);padding:9px;background:#fff;}
.hoja-productos-sale-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 8px;border-radius:10px;background:rgba(240,253,250,.74);font-size:12px;color:#0f766e;}
.hoja-productos-sale-head strong{white-space:nowrap;}
@media (max-width:980px){.hoja-productos-filter{grid-template-columns:repeat(2,minmax(0,1fr));}.hoja-productos-filter .form-group:nth-child(3){grid-column:1/-1}.hoja-productos-filter-actions{grid-column:1/-1}.hoja-productos-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.hoja-productos-grid{grid-template-columns:1fr;}}
@media (max-width:560px){.hoja-productos-jornada{margin-left:-2px;margin-right:-2px;padding:10px;}.hoja-productos-summary{display:grid!important;grid-template-columns:1fr;gap:10px;}.hoja-productos-summary-actions{justify-content:flex-start;}.hoja-productos-summary-actions .status,.hoja-productos-toggle{width:100%;justify-content:center;text-align:center;}.hoja-productos-filter{grid-template-columns:1fr;}.hoja-productos-filter .form-group:nth-child(3),.hoja-productos-filter-actions{grid-column:auto}.hoja-productos-filter-actions{grid-template-columns:1fr;display:grid!important;}.hoja-productos-filter-actions .btn{width:100%;justify-content:center}.hoja-productos-kpis{grid-template-columns:1fr 1fr;gap:7px}.hoja-productos-kpis>div{padding:8px}.hoja-productos-grid{gap:8px}.hoja-productos-patient>summary{grid-template-columns:1fr}.hoja-productos-patient>summary b{justify-self:start}.hoja-productos-sale-head{display:grid;grid-template-columns:1fr}.hoja-productos-table,.hoja-productos-detail-table{min-width:430px}}

/* Modo Brigada Offline - responsive reforzado para coordinador y medico */
.vd-offline-jornada-page .vd-offline-main{width:min(100%,1220px);margin-inline:auto;padding-bottom:24px;}
.vd-offline-jornada-page .vd-offline-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;}
.vd-offline-jornada-page .vd-offline-head p{max-width:760px;}
.vd-offline-jornada-page .vd-offline-head-actions{max-width:620px;}
.vd-offline-jornada-page .vd-offline-filter{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) auto;}
.vd-offline-jornada-page .vd-offline-filter .input,.vd-offline-jornada-page .vd-offline-head-actions .btn{width:100%;}
.vd-offline-jornada-page .vd-offline-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.vd-offline-jornada-page .vd-offline-patient-list{grid-template-columns:repeat(2,minmax(420px,1fr));align-items:start;}
.vd-offline-jornada-page .vd-offline-patient-card{min-width:0;overflow:hidden;}
.vd-offline-jornada-page .vd-offline-patient-top{align-items:flex-start;}
.vd-offline-jornada-page .vd-offline-patient-top>div{min-width:0;}
.vd-offline-jornada-page .vd-offline-patient-top strong,.vd-offline-jornada-page .vd-offline-patient-top small{overflow-wrap:anywhere;}
.vd-offline-jornada-page .vd-offline-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;}
.vd-offline-jornada-page .vd-offline-med-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.vd-offline-jornada-page .vd-offline-inline-form,.vd-offline-jornada-page .vd-offline-mini-detail{min-width:0;width:100%;}
.vd-offline-jornada-page .vd-offline-inline-form .btn,.vd-offline-jornada-page .vd-offline-mini-detail>summary{width:100%;justify-content:center;min-height:36px;}
.vd-offline-jornada-page .vd-offline-mini-detail[open]{grid-column:1/-1;width:100%;min-width:0;}
.vd-offline-jornada-page .vd-offline-mini-form{position:static;width:100%;min-width:0;max-width:none;box-shadow:none;background:#fff;}
.vd-offline-jornada-page .vd-offline-mini-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
.vd-offline-jornada-page .vd-offline-mini-form textarea{min-height:90px;}
.vd-offline-jornada-page .vd-offline-pending-card .table-responsive{overflow-x:auto;}
@media (max-width:980px){.vd-offline-jornada-page .vd-offline-head{grid-template-columns:1fr}.vd-offline-jornada-page .vd-offline-head-actions{max-width:none;width:100%;}.vd-offline-jornada-page .vd-offline-filter{grid-template-columns:repeat(2,minmax(0,1fr));}.vd-offline-jornada-page .vd-offline-filter .btn{grid-column:1/-1}.vd-offline-jornada-page .vd-offline-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.vd-offline-jornada-page .vd-offline-med-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.vd-offline-jornada-page .main{padding-left:10px;padding-right:10px;}.vd-offline-jornada-page .vd-offline-head{gap:10px}.vd-offline-jornada-page .vd-offline-head h1{font-size:1.35rem;line-height:1.1}.vd-offline-jornada-page .vd-offline-head p{font-size:.9rem}.vd-offline-jornada-page .vd-offline-head-actions{display:grid;grid-template-columns:1fr;}.vd-offline-jornada-page .vd-offline-filter{grid-template-columns:1fr;}.vd-offline-jornada-page .vd-offline-status-grid{grid-template-columns:1fr 1fr;gap:7px}.vd-offline-jornada-page .vd-offline-instructions,.vd-offline-jornada-page .vd-offline-pending-card,.vd-offline-jornada-page .vd-offline-work-card{padding:10px}.vd-offline-jornada-page .vd-offline-section-title{align-items:flex-start;flex-direction:column}.vd-offline-jornada-page .vd-offline-patient-list{grid-template-columns:1fr;}.vd-offline-jornada-page .vd-offline-action-grid,.vd-offline-jornada-page .vd-offline-med-grid{grid-template-columns:1fr;}.vd-offline-jornada-page .vd-offline-mini-fields{grid-template-columns:1fr 1fr}.vd-offline-jornada-page .vd-offline-mini-form .btn{width:100%;justify-content:center}.vd-offline-jornada-page .vd-offline-pending-table{min-width:560px;}.vd-offline-jornada-page .vd-offline-mini-card strong{font-size:.9rem}.vd-offline-jornada-page .vd-offline-mini-card span{font-size:.68rem}}
@media (max-width:390px){.vd-offline-jornada-page .vd-offline-status-grid{grid-template-columns:1fr}.vd-offline-jornada-page .vd-offline-mini-fields{grid-template-columns:1fr}}


/* Coordinador - pacientes del dia colapsable, abierto por defecto */
.hoja-pacientes-section{overflow:visible;}
.hoja-pacientes-summary{cursor:pointer;list-style:none;user-select:none;}
.hoja-pacientes-summary::-webkit-details-marker{display:none;}
.hoja-pacientes-summary::marker{content:"";}
.hoja-pacientes-toggle{pointer-events:none;white-space:nowrap;}
.hoja-pacientes-section .hoja-pacientes-closed{display:none;}
.hoja-pacientes-section:not([open]) .hoja-pacientes-open{display:none;}
.hoja-pacientes-section:not([open]) .hoja-pacientes-closed{display:inline;}
.hoja-pacientes-section:not([open]){padding-bottom:12px;}
.hoja-pacientes-section:not([open]) .hoja-pacientes-summary{margin-bottom:0;}
.hoja-pacientes-body{display:grid;gap:10px;}
.hoja-pacientes-tools{justify-content:flex-end;margin:0 0 2px;}
@media(max-width:640px){.hoja-pacientes-summary{display:grid!important;grid-template-columns:1fr;align-items:start;gap:10px;}.hoja-pacientes-toggle{width:100%;justify-content:center;}.hoja-pacientes-tools{justify-content:flex-start;}.hoja-pacientes-tools .hoja-search-form{width:100%;}.hoja-pacientes-tools .hoja-search-toggle{width:100%;}}


/* Cierre de caja: consignaciones múltiples */
.hoja-consignaciones-box,
.caja-consignaciones-field {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(14, 165, 164, .20);
  border-radius: 16px;
  background: rgba(240, 253, 250, .78);
}
.hoja-consignaciones-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.hoja-consignaciones-head strong,
.caja-consignaciones-field > label {
  font-weight: 800;
  color: #0f172a;
}
.hoja-consignaciones-head small,
.caja-consignaciones-field small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.hoja-consignaciones-total {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(245, 158, 11, .15);
  color: #92400e;
  font-weight: 900;
  white-space: nowrap;
}
.hoja-consignaciones-lines {
  display: grid;
  gap: 8px;
}
.hoja-consignacion-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 180px);
  gap: 8px;
  align-items: end;
  padding: 9px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .24);
}
.hoja-consignacion-row label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
}
.hoja-add-consignacion {
  justify-self: start;
}
@media (max-width: 680px) {
  .hoja-consignaciones-head {
    flex-direction: column;
  }
  .hoja-consignacion-row {
    grid-template-columns: 1fr;
  }
  .hoja-add-consignacion,
  .hoja-consignaciones-total {
    width: 100%;
  }
}

/* Cierre de caja - soportes fotográficos por consignación */
.hoja-consignacion-row {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 180px) minmax(230px, auto);
}
.hoja-consignacion-row > input[type="hidden"] {
  display: none;
}
.hoja-consignacion-upload {
  display: flex;
  align-items: end;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 7px;
}
.hoja-consignacion-upload-label {
  width: 100%;
  font-size: 12px;
  font-weight: 900;
  color: #334155;
  line-height: 1.1;
}
.hoja-consignacion-icon-btn {
  min-width: 42px !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  font-size: 0 !important;
}
.hoja-consignacion-icon-btn::before {
  width: 19px;
  height: 19px;
  flex-basis: 19px;
}
.hoja-consignacion-icon-btn.has-file {
  background: linear-gradient(135deg, #059669 0%, #0d9488 100%) !important;
  border-color: rgba(16, 185, 129, .40) !important;
}
.hoja-consignacion-soportes {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 3px;
}
.hoja-consignacion-soporte-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(14, 165, 233, .10);
  border: 1px solid rgba(14, 165, 233, .22);
  color: #0369a1;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.hoja-consignacion-soporte-link:hover {
  background: rgba(14, 165, 233, .18);
}
.hoja-add-consignacion-premium {
  justify-self: start;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 165, 233, .34) !important;
  background: linear-gradient(135deg, #0284c7 0%, #06b6d4 55%, #14b8a6 100%) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 24px rgba(2, 132, 199, .24) !important;
}
.hoja-add-consignacion-premium:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(2, 132, 199, .28) !important;
}
@media (max-width: 760px) {
  .hoja-consignacion-row {
    grid-template-columns: 1fr;
  }
  .hoja-consignacion-upload {
    justify-content: stretch;
  }
  .hoja-consignacion-icon-btn {
    flex: 1 1 44%;
    font-size: 12px !important;
  }
  .hoja-add-consignacion-premium {
    width: 100%;
  }
}

/* Coordinador - un solo boton premium en Pacientes del dia y Productos vendidos */
.main details.hoja-productos-jornada > summary.hoja-productos-summary::after,
.main details.hoja-pacientes-section > summary.hoja-pacientes-summary::after {
  content: none !important;
  display: none !important;
}
.hoja-productos-toggle,
.hoja-pacientes-toggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 14px !important;
  border: 1px solid rgba(14, 165, 233, .34) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0f172a 0%, #0284c7 52%, #14b8a6 100%) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .01em;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .17) !important;
}
.hoja-productos-toggle::before,
.hoja-pacientes-toggle::before {
  content: '+';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  font-size: 14px;
  line-height: 1;
}
.hoja-productos-jornada[open] .hoja-productos-toggle::before,
.hoja-pacientes-section[open] .hoja-pacientes-toggle::before {
  content: '-';
}
.hoja-productos-summary-actions .status {
  align-self: center;
}
@media (max-width: 640px) {
  .hoja-productos-toggle,
  .hoja-pacientes-toggle {
    width: 100%;
    text-align: center;
  }
}



/* Edición de extras por coordinador */

.hoja-line-row-extra-edit {
  grid-template-columns: minmax(0, 1fr) 70px 96px 82px;
}
.hoja-extra-remove {
  align-self: center;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 8px;
  border-radius: 12px;
  background: rgba(239, 68, 68, .08);
  color: #991b1b;
  border: 1px solid rgba(239, 68, 68, .18);
}
.hoja-extra-remove input:disabled + span,
.hoja-extra-remove:has(input:disabled) {
  opacity: .55;
}
@media (max-width: 620px) {
  .hoja-line-row-extra-edit {
    grid-template-columns: 1fr;
  }
  .hoja-extra-remove {
    justify-content: flex-start;
  }
}

.historia-paciente-destacado {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 8px;
  padding: 14px 16px;
  border: 2px solid rgba(20, 184, 166, .42);
  border-radius: 18px;
  background: linear-gradient(135deg, #ecfeff 0%, #ffffff 58%, #f0fdfa 100%);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}
.historia-paciente-label {
  font-size: .73rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #0f766e;
}
.historia-paciente-nombre {
  display: block;
  font-size: clamp(14px, 1.93vw, 22px);
  line-height: 1.02;
  font-weight: 950;
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: .01em;
}
.historia-paciente-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  font-size: .96rem;
  font-weight: 800;
  color: #475569;
}
.historia-paciente-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.atencion-paciente-nombre {
  font-size: 19px;
  line-height: 1.1;
  font-weight: 950;
  color: var(--text);
}

/* Módulo médico: botones premium y paciente destacado ajustado */
body.medico-premium-buttons .main .btn,
body.medico-premium-buttons .main button,
body.medico-premium-buttons .main summary.btn,
body.medico-premium-buttons .main input[type="submit"],
body.medico-premium-buttons .main input[type="button"] {
  border: 1px solid rgba(20, 184, 166, .28);
  border-radius: 999px;
  min-height: 38px;
  padding: 10px 16px;
  font-weight: 950;
  letter-spacing: .01em;
  color: #0f172a;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 52%, #ecfeff 100%);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .92);
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease, background .16s ease;
}
body.medico-premium-buttons .main .btn:hover,
body.medico-premium-buttons .main button:hover,
body.medico-premium-buttons .main summary.btn:hover,
body.medico-premium-buttons .main input[type="submit"]:hover,
body.medico-premium-buttons .main input[type="button"]:hover {
  transform: translateY(-1px);
  border-color: rgba(20, 184, 166, .58);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .15), inset 0 1px 0 rgba(255, 255, 255, .96);
  filter: saturate(1.04);
}
body.medico-premium-buttons .main .btn:active,
body.medico-premium-buttons .main button:active,
body.medico-premium-buttons .main summary.btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(15, 23, 42, .12), inset 0 2px 5px rgba(15, 23, 42, .12);
}
body.medico-premium-buttons .main .btn-primary,
body.medico-premium-buttons .main button.btn-primary,
body.medico-premium-buttons .main input.btn-primary,
body.medico-premium-buttons .main .medico-open-history-btn {
  color: #fff;
  border-color: rgba(45, 212, 191, .55);
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 52%, #0ea5a4 100%);
  box-shadow: 0 12px 26px rgba(13, 148, 136, .26), inset 0 1px 0 rgba(255, 255, 255, .32);
  text-shadow: 0 1px 1px rgba(15, 23, 42, .28);
}
body.medico-premium-buttons .main .btn-success,
body.medico-premium-buttons .main button.btn-success,
body.medico-premium-buttons .main input.btn-success {
  color: #fff;
  border-color: rgba(74, 222, 128, .50);
  background: linear-gradient(135deg, #047857 0%, #10b981 54%, #34d399 100%);
  box-shadow: 0 12px 26px rgba(5, 150, 105, .25), inset 0 1px 0 rgba(255, 255, 255, .32);
  text-shadow: 0 1px 1px rgba(15, 23, 42, .24);
}
body.medico-premium-buttons .main .btn-warning,
body.medico-premium-buttons .main button.btn-warning,
body.medico-premium-buttons .main input.btn-warning {
  color: #422006;
  border-color: rgba(245, 158, 11, .48);
  background: linear-gradient(135deg, #fff7ed 0%, #facc15 50%, #f59e0b 100%);
  box-shadow: 0 12px 24px rgba(245, 158, 11, .22), inset 0 1px 0 rgba(255, 255, 255, .45);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .42);
}
body.medico-premium-buttons .main .btn-danger,
body.medico-premium-buttons .main button.btn-danger,
body.medico-premium-buttons .main input.btn-danger {
  color: #fff;
  border-color: rgba(248, 113, 113, .50);
  background: linear-gradient(135deg, #991b1b 0%, #ef4444 52%, #fb7185 100%);
  box-shadow: 0 12px 24px rgba(220, 38, 38, .23), inset 0 1px 0 rgba(255, 255, 255, .26);
  text-shadow: 0 1px 1px rgba(15, 23, 42, .28);
}
body.medico-premium-buttons .main .btn-whatsapp,
body.medico-premium-buttons .main button.btn-whatsapp {
  color: #fff;
  border-color: rgba(34, 197, 94, .50);
  background: linear-gradient(135deg, #075e54 0%, #128c7e 42%, #25d366 100%);
  box-shadow: 0 12px 24px rgba(18, 140, 126, .24), inset 0 1px 0 rgba(255, 255, 255, .28);
  text-shadow: 0 1px 1px rgba(15, 23, 42, .28);
}
body.medico-premium-buttons .main .btn-light,
body.medico-premium-buttons .main summary.btn-light,
body.medico-premium-buttons .main button.btn-light {
  color: #0f172a;
  border-color: rgba(148, 163, 184, .34);
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 54%, #e0f2fe 100%);
}
body.medico-premium-buttons .main .btn-sm,
body.medico-premium-buttons .main button.btn-sm,
body.medico-premium-buttons .main summary.btn-sm {
  min-height: 32px;
  padding: 7px 12px;
  font-size: .82rem;
}
body.medico-premium-buttons .main .btn:disabled,
body.medico-premium-buttons .main button:disabled,
body.medico-premium-buttons .main input[type="submit"]:disabled,
body.medico-premium-buttons .main input[type="button"]:disabled {
  opacity: .58;
  cursor: not-allowed;
  filter: grayscale(.16);
  transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 4px 10px rgba(15,23,42,.08);
}
body.medico-premium-buttons .main .med-rich-toolbar button,
body.medico-premium-buttons .main button[data-rich] {
  width: 31px;
  height: 30px;
  min-width: 31px;
  min-height: 30px;
  padding: 0;
  border-radius: 11px;
  font-size: .82rem;
  color: #0f172a;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 55%, #ecfeff 100%);
  box-shadow: 0 5px 12px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .96);
}
body.medico-premium-buttons .main .med-rich-toolbar button:hover,
body.medico-premium-buttons .main button[data-rich]:hover {
  color: #0f766e;
  background: linear-gradient(135deg, #ecfeff 0%, #ffffff 55%, #ccfbf1 100%);
}
body.medico-premium-buttons .main .agenda-action-btn,
body.medico-premium-buttons .main .med-param-state-btn {
  white-space: nowrap;
}
@media (max-width: 640px) {
  body.medico-premium-buttons .main .btn,
  body.medico-premium-buttons .main button.btn,
  body.medico-premium-buttons .main input[type="submit"],
  body.medico-premium-buttons .main input[type="button"] {
    min-height: 40px;
    padding: 10px 13px;
  }
  body.medico-premium-buttons .main .med-rich-toolbar button,
  body.medico-premium-buttons .main button[data-rich] {
    width: 32px;
    min-width: 32px;
  }
}


/* Actualización 2026-05-21: productos recomendados + adicionales en un solo selector de coordinación */
.hoja-productos-extra-title {
  margin: 12px 0 6px;
  font-weight: 800;
  color: var(--text, #0f172a);
  font-size: .88rem;
}
.hoja-med-recommend-box .hoja-lines {
  margin-top: 6px;
}

/* ============================================================
   Correccion 2026-05-21: restauracion visual de tarjetas
   Dashboard admin/coordinador/asesora/medico y Pre-agenda.
   Alcance visual solamente: no cambia logica de citas, caja ni WhatsApp.
   ============================================================ */
.global-dashboard-main .stats-grid,
body.admin-compact-role .global-dashboard-main .stats-grid,
.global-dashboard-main .compact-dashboard-stats {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-bottom: 18px !important;
}

.global-dashboard-main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card,
.preagenda-page .card,
.preagenda-page .panel {
  display: block;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
  overflow: hidden;
}

.global-dashboard-main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card {
  padding: 16px 17px !important;
  min-height: 108px !important;
}

.global-dashboard-main .stat-label,
body.admin-compact-role .global-dashboard-main .stat-label {
  display: block;
  margin: 0 0 8px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.global-dashboard-main .stat-value,
body.admin-compact-role .global-dashboard-main .stat-value {
  display: block;
  color: #0f172a !important;
  font-size: clamp(22px, 2.1vw, 31px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.global-dashboard-main .stat-note,
body.admin-compact-role .global-dashboard-main .stat-note {
  display: block;
  margin-top: 8px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  overflow: visible !important;
  max-height: none !important;
}

.global-dashboard-main .coordinator-dashboard-patient-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.global-dashboard-main .coordinator-dashboard-patient-card,
.global-dashboard-main .hoja-patient-card.coordinator-dashboard-patient-card {
  display: block !important;
  border: 1px solid rgba(148, 163, 184, .26) !important;
  border-radius: 18px !important;
  padding: 13px !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
}

.global-dashboard-main .coordinator-dashboard-patient-top,
.global-dashboard-main .hoja-patient-top.coordinator-dashboard-patient-top {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 11px !important;
  align-items: center !important;
}

.global-dashboard-main .coordinator-dashboard-actions,
.global-dashboard-main .hoja-patient-actions.coordinator-dashboard-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  align-items: center !important;
}

.preagenda-page .preagenda-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px !important;
  margin-bottom: 16px;
  border-color: rgba(20, 184, 166, .28) !important;
  background:
    radial-gradient(circle at top left, rgba(20,184,166,.18), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f0fdfa 48%, #ecfeff 100%) !important;
}

.preagenda-hero-main {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.preagenda-kicker,
.preagenda-section-label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(20,184,166,.10);
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.preagenda-hero h1,
.preagenda-card-head h2 {
  margin: 0;
  color: #0f172a;
  line-height: 1.08;
  letter-spacing: -.03em;
}

.preagenda-hero h1 { font-size: clamp(24px, 3vw, 36px); }
.preagenda-card-head h2 { font-size: clamp(18px, 2vw, 24px); }

.preagenda-hero p {
  margin: 0;
  max-width: 720px;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}

.preagenda-hero-actions,
.preagenda-card-head,
.preagenda-list-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.preagenda-status-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}

.preagenda-status-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.preagenda-status-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #f59e0b;
  box-shadow: 0 0 0 4px rgba(245,158,11,.12);
}
.preagenda-status-pill.loaded .preagenda-status-dot { background: #10b981; box-shadow: 0 0 0 4px rgba(16,185,129,.12); }
.preagenda-status-pill.removed .preagenda-status-dot { background: #0ea5e9; box-shadow: 0 0 0 4px rgba(14,165,233,.12); }

.preagenda-status-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.preagenda-status-text span { font-weight: 950; color: #0f172a; line-height: 1.15; }
.preagenda-status-text small { color: #64748b; font-size: 11px; line-height: 1.2; }
.preagenda-status-pill strong { color: #0f172a; font-size: 24px; line-height: 1; font-weight: 950; }

.preagenda-page .preagenda-card {
  padding: 0 !important;
  margin-bottom: 16px;
}

.preagenda-card-head {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(226,232,240,.86);
  background: rgba(248,250,252,.72);
}

.preagenda-card-body {
  padding: 18px;
}

.preagenda-filter-strip {
  display: grid;
  gap: 9px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(226,232,240,.86);
  background: #fff;
}

.preagenda-filter-form,
.preagenda-form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

.preagenda-span-2 {
  grid-column: span 2;
}

.preagenda-filter-note {
  display: block;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.preagenda-list-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0;
}

.preagenda-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.preagenda-table th,
.preagenda-table td {
  padding: 10px 11px;
  border-bottom: 1px solid rgba(226,232,240,.82);
  vertical-align: middle;
  text-align: left;
}

.preagenda-table th {
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.preagenda-table td { color: #0f172a; font-size: 13px; }
.preagenda-table tbody tr:hover { background: rgba(240,253,250,.55); }
.preagenda-empty { text-align: center !important; color: #64748b !important; padding: 18px !important; }
.preagenda-time { font-weight: 950; color: #0f766e; }

.preagenda-actions-stack {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
}

.preagenda-inline-form {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

.preagenda-toggle-btn,
.preagenda-btn-main,
.preagenda-btn-soft,
.preagenda-load-btn,
.preagenda-filter-btn,
.preagenda-mini-action {
  border-radius: 999px !important;
  font-weight: 950 !important;
}

.preagenda-toggle-btn {
  border: 1px solid rgba(148,163,184,.28);
  background: #fff;
  color: #0f172a;
  min-height: 34px;
  padding: 7px 12px;
  cursor: pointer;
}

@media (max-width: 760px) {
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .global-dashboard-main .stat-card,
  body.admin-compact-role .global-dashboard-main .stat-card {
    min-height: auto !important;
    padding: 10px 11px !important;
    border-radius: 15px !important;
  }

  .global-dashboard-main .stat-value,
  body.admin-compact-role .global-dashboard-main .stat-value {
    font-size: 19px !important;
  }

  .global-dashboard-main .coordinator-dashboard-patient-top,
  .global-dashboard-main .hoja-patient-top.coordinator-dashboard-patient-top {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .global-dashboard-main .coordinator-dashboard-sale-total {
    grid-column: 1 / -1;
    text-align: left !important;
  }

  .preagenda-page .preagenda-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 17px !important;
  }

  .preagenda-hero-actions,
  .preagenda-card-head,
  .preagenda-list-head {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .preagenda-hero-actions .btn,
  .preagenda-card-head .btn,
  .preagenda-card-head button,
  .preagenda-list-head .btn,
  .preagenda-list-head button {
    width: 100% !important;
    justify-content: center !important;
  }

  .preagenda-status-strip {
    grid-template-columns: 1fr;
  }

  .preagenda-filter-form,
  .preagenda-form-grid {
    grid-template-columns: 1fr !important;
  }

  .preagenda-span-2 {
    grid-column: auto;
  }

  .preagenda-card-body,
  .preagenda-filter-strip,
  .preagenda-card-head {
    padding-left: 13px;
    padding-right: 13px;
  }

  .preagenda-table {
    min-width: 760px;
  }
}

@media (max-width: 420px) {
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   Actualizacion 2026-05-22: tarjetas modo premium global
   Restaura y unifica tarjetas en dashboards, pre-agenda y modulos afectados.
   Cambio visual solamente: no modifica caja, citas, inventario, ventas ni SQL.
   ============================================================ */
.main .card:not(.auth-card),
.main .panel,
.main article.card,
.main section.card,
.main aside.card,
.main details.card,
.main form.card,
.main .module-card,
.main .quick-card,
.main .quick-mini-card,
.main .compact-action-card,
.main .products-payment-card,
.main .citas-operacion-card,
.main .hoja-patient-card,
.main .inventory-alert-card,
.main .caja-route-card,
.main .vd-notif-card,
.main .vd-notif-summary-card,
.preagenda-page .preagenda-card,
.preagenda-page .preagenda-hero,
.preagenda-page .preagenda-status-pill {
  border: 1px solid rgba(148, 163, 184, .26) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, .10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow:
    0 18px 44px rgba(15, 23, 42, .085),
    inset 0 1px 0 rgba(255,255,255,.75) !important;
  color: var(--text, #172033);
  min-width: 0;
}

.main .card.panel,
.main section.card.panel,
.main article.card.panel,
.main aside.card.panel,
.main details.card.panel {
  padding: 22px !important;
  overflow: hidden;
}

.main .panel-header,
.preagenda-page .preagenda-card-head,
.preagenda-page .preagenda-list-head {
  border-bottom: 1px solid rgba(226, 232, 240, .82);
  padding-bottom: 14px;
  margin-bottom: 16px;
}

.main .panel-header h3,
.main .panel-header h2,
.preagenda-page .preagenda-card-head h2,
.preagenda-page .preagenda-hero h1 {
  color: #0f172a !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
}

.main .panel-header p,
.preagenda-page .preagenda-hero p,
.preagenda-page .preagenda-card-head p {
  color: #64748b !important;
  line-height: 1.4;
}

.main .stat-card,
.global-dashboard-main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card,
.main .earning-card {
  position: relative;
  overflow: hidden;
  padding: 18px 18px 17px !important;
  min-height: 112px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(20, 184, 166, .18) !important;
  background:
    radial-gradient(circle at 90% 5%, rgba(20,184,166,.18), transparent 32%),
    linear-gradient(145deg, #ffffff 0%, #f8fafc 54%, #eefdfa 100%) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .075) !important;
}

.main .stat-card::before,
.global-dashboard-main .stat-card::before,
body.admin-compact-role .global-dashboard-main .stat-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--brand, #13a88a), #38bdf8);
  opacity: .88;
}

.main .stat-card .stat-label,
.global-dashboard-main .stat-card .stat-label,
body.admin-compact-role .global-dashboard-main .stat-card .stat-label {
  position: relative;
  z-index: 1;
  display: block;
  margin: 0 0 9px !important;
  color: #64748b !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

.main .stat-card .stat-value,
.global-dashboard-main .stat-card .stat-value,
body.admin-compact-role .global-dashboard-main .stat-card .stat-value {
  position: relative;
  z-index: 1;
  color: #0f172a !important;
  font-size: clamp(22px, 2vw, 32px) !important;
  line-height: 1.02 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere;
}

.main .stat-card .stat-note,
.global-dashboard-main .stat-card .stat-note,
body.admin-compact-role .global-dashboard-main .stat-card .stat-note {
  position: relative;
  z-index: 1;
  margin-top: 9px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.32 !important;
  max-height: none !important;
  overflow: visible !important;
}

.main .module-card,
.main .quick-card,
.main .quick-mini-card,
.main .compact-action-card,
.main .hoja-patient-card,
.main .inventory-alert-card,
.main .caja-route-card,
.preagenda-page .preagenda-status-pill {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.main .module-card:hover,
.main .quick-card:hover,
.main .quick-mini-card:hover,
.main .compact-action-card:hover,
.main .hoja-patient-card:hover,
.main .inventory-alert-card:hover,
.main .caja-route-card:hover,
.preagenda-page .preagenda-status-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(20, 184, 166, .46) !important;
  box-shadow:
    0 24px 54px rgba(15, 23, 42, .11),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

.main .module-card h4,
.main .quick-card h4,
.main .quick-mini-card h4,
.main .hoja-patient-card strong,
.main .caja-route-card strong {
  color: #0f172a !important;
  font-weight: 950 !important;
  letter-spacing: -.02em;
}

.main .module-card p,
.main .quick-card p,
.main .quick-mini-card p,
.main .hoja-patient-card small,
.main .caja-route-card small {
  color: #64748b !important;
}

.preagenda-page .preagenda-hero {
  padding: 24px !important;
  background:
    radial-gradient(circle at top left, rgba(20,184,166,.20), transparent 36%),
    radial-gradient(circle at bottom right, rgba(56,189,248,.14), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f0fdfa 48%, #ecfeff 100%) !important;
}

.preagenda-page .preagenda-card {
  overflow: hidden;
}

.preagenda-page .preagenda-card-head,
.preagenda-page .preagenda-filter-strip {
  background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.96)) !important;
}

.preagenda-page .preagenda-card-body,
.preagenda-page .preagenda-filter-strip {
  padding: 18px !important;
}

.preagenda-page .preagenda-table th {
  background: #f8fafc !important;
  color: #475569 !important;
  font-weight: 950 !important;
}

.preagenda-page .preagenda-table tbody tr:hover {
  background: rgba(240,253,250,.65) !important;
}

.main .table-wrap,
.main .preagenda-list-wrap {
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.80);
  background: rgba(255,255,255,.72);
  overflow: auto;
}

@media (max-width: 760px) {
  .main .card.panel,
  .main section.card.panel,
  .main article.card.panel,
  .main aside.card.panel,
  .main details.card.panel {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .main .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .main .stat-card,
  .global-dashboard-main .stat-card,
  body.admin-compact-role .global-dashboard-main .stat-card {
    min-height: 100px !important;
    padding: 14px 13px 13px !important;
    border-radius: 18px !important;
  }

  .main .stat-card .stat-value,
  .global-dashboard-main .stat-card .stat-value,
  body.admin-compact-role .global-dashboard-main .stat-card .stat-value {
    font-size: 20px !important;
  }

  .main .panel-header,
  .preagenda-page .preagenda-card-head,
  .preagenda-page .preagenda-list-head {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

@media (max-width: 420px) {
  .main .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   ACTUALIZACION 2026-05-22 - TARJETAS Y CUADROS PREMIUM VIVOS
   Mejora visual global: colores mas vivos, brillo controlado,
   jerarquia y profundidad sin cambiar la logica de los modulos.
   ========================================================= */
:root {
  --premium-vivid-1: #0ea5e9;
  --premium-vivid-2: #14b8a6;
  --premium-vivid-3: #8b5cf6;
  --premium-vivid-4: #f59e0b;
  --premium-vivid-5: #ec4899;
  --premium-vivid-dark: #0f172a;
  --premium-vivid-soft: #f8fbff;
}

.main .card,
.main .panel,
.main .module-card,
.main .quick-card,
.main .quick-mini-card,
.main .compact-action-card,
.main .hoja-patient-card,
.main .inventory-alert-card,
.main .caja-route-card,
.main .earning-card,
.main .report-card,
.main .metric-card,
.main .summary-card,
.main .info-card,
.main .dashboard-card,
.main .content-card,
.main .stat-card,
.preagenda-page .preagenda-card,
.preagenda-page .preagenda-hero,
.preagenda-page .preagenda-status-pill,
.preagenda-page .preagenda-list-wrap {
  position: relative;
  isolation: isolate;
  border-color: rgba(59, 130, 246, .22) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(14, 165, 233, .18), transparent 34%),
    radial-gradient(circle at 96% 7%, rgba(139, 92, 246, .16), transparent 30%),
    radial-gradient(circle at 88% 96%, rgba(20, 184, 166, .14), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.96) 48%, rgba(236,253,245,.92) 100%) !important;
  box-shadow:
    0 20px 46px rgba(15, 23, 42, .105),
    0 8px 18px rgba(14, 165, 233, .055),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

.main .card::after,
.main .panel::after,
.main .module-card::after,
.main .quick-card::after,
.main .quick-mini-card::after,
.main .compact-action-card::after,
.main .hoja-patient-card::after,
.main .inventory-alert-card::after,
.main .caja-route-card::after,
.main .earning-card::after,
.main .report-card::after,
.main .metric-card::after,
.main .summary-card::after,
.main .info-card::after,
.main .dashboard-card::after,
.main .content-card::after,
.preagenda-page .preagenda-card::after,
.preagenda-page .preagenda-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(255,255,255,.50), transparent 38%),
    linear-gradient(90deg, rgba(14,165,233,.18), rgba(20,184,166,.15), rgba(139,92,246,.12));
  opacity: .42;
  pointer-events: none;
}

.main .card::before,
.main .panel::before,
.main .module-card::before,
.main .quick-card::before,
.main .quick-mini-card::before,
.main .compact-action-card::before,
.main .hoja-patient-card::before,
.main .inventory-alert-card::before,
.main .caja-route-card::before,
.main .dashboard-card::before,
.preagenda-page .preagenda-card::before,
.preagenda-page .preagenda-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--premium-vivid-1), var(--premium-vivid-2), var(--premium-vivid-3));
  box-shadow: 0 0 18px rgba(14, 165, 233, .18);
  pointer-events: none;
}

.main .stats-grid .stat-card:nth-child(5n+1),
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+1),
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+1) {
  border-color: rgba(14, 165, 233, .30) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(14,165,233,.25), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f0f9ff 52%, #e0f2fe 100%) !important;
}

.main .stats-grid .stat-card:nth-child(5n+2),
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+2),
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+2) {
  border-color: rgba(20, 184, 166, .32) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(20,184,166,.25), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f0fdfa 52%, #ccfbf1 100%) !important;
}

.main .stats-grid .stat-card:nth-child(5n+3),
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+3),
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+3) {
  border-color: rgba(139, 92, 246, .30) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(139,92,246,.22), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f5f3ff 52%, #ede9fe 100%) !important;
}

.main .stats-grid .stat-card:nth-child(5n+4),
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+4),
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+4) {
  border-color: rgba(245, 158, 11, .32) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(245,158,11,.23), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffbeb 52%, #fef3c7 100%) !important;
}

.main .stats-grid .stat-card:nth-child(5n),
.global-dashboard-main .stats-grid .stat-card:nth-child(5n),
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n) {
  border-color: rgba(236, 72, 153, .26) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(236,72,153,.18), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fdf2f8 52%, #fce7f3 100%) !important;
}

.main .stats-grid .stat-card:nth-child(5n+1)::before,
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+1)::before,
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+1)::before {
  background: linear-gradient(180deg, #0284c7, #38bdf8) !important;
}
.main .stats-grid .stat-card:nth-child(5n+2)::before,
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+2)::before,
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+2)::before {
  background: linear-gradient(180deg, #0f766e, #2dd4bf) !important;
}
.main .stats-grid .stat-card:nth-child(5n+3)::before,
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+3)::before,
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+3)::before {
  background: linear-gradient(180deg, #7c3aed, #a78bfa) !important;
}
.main .stats-grid .stat-card:nth-child(5n+4)::before,
.global-dashboard-main .stats-grid .stat-card:nth-child(5n+4)::before,
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n+4)::before {
  background: linear-gradient(180deg, #d97706, #fbbf24) !important;
}
.main .stats-grid .stat-card:nth-child(5n)::before,
.global-dashboard-main .stats-grid .stat-card:nth-child(5n)::before,
.global-dashboard-main .compact-dashboard-stats .stat-card:nth-child(5n)::before {
  background: linear-gradient(180deg, #db2777, #f472b6) !important;
}

.main .module-card,
.main .quick-card,
.main .quick-mini-card,
.main .compact-action-card,
.main .dashboard-card,
.main .content-card,
.preagenda-page .preagenda-status-pill {
  border-radius: 24px !important;
  border-width: 1px !important;
  transform: translateZ(0);
}

.main .module-card:hover,
.main .quick-card:hover,
.main .quick-mini-card:hover,
.main .compact-action-card:hover,
.main .hoja-patient-card:hover,
.main .inventory-alert-card:hover,
.main .caja-route-card:hover,
.main .dashboard-card:hover,
.main .content-card:hover,
.preagenda-page .preagenda-status-pill:hover,
.preagenda-page .preagenda-card:hover {
  transform: translateY(-3px);
  border-color: rgba(14, 165, 233, .48) !important;
  box-shadow:
    0 28px 62px rgba(15, 23, 42, .145),
    0 12px 24px rgba(14, 165, 233, .09),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.main .panel-header,
.main .section-header,
.main .card-header,
.preagenda-page .preagenda-card-head,
.preagenda-page .preagenda-list-head {
  border-bottom: 1px solid rgba(14, 165, 233, .16) !important;
  background: linear-gradient(90deg, rgba(14,165,233,.06), rgba(20,184,166,.055), rgba(139,92,246,.045)) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
}

.main .panel-header h1,
.main .panel-header h2,
.main .panel-header h3,
.main .section-header h1,
.main .section-header h2,
.main .section-header h3,
.main .card-header h1,
.main .card-header h2,
.main .card-header h3,
.preagenda-page .preagenda-card-head h2,
.preagenda-page .preagenda-hero h1 {
  color: var(--premium-vivid-dark) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.72);
}

.main .stat-card .stat-value,
.global-dashboard-main .stat-card .stat-value,
body.admin-compact-role .global-dashboard-main .stat-card .stat-value {
  background: linear-gradient(90deg, #0f172a, #0369a1, #0f766e);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

.main .table-wrap,
.main .preagenda-list-wrap,
.preagenda-page .preagenda-table,
.main table {
  border-color: rgba(14, 165, 233, .16) !important;
}

.main table thead th,
.preagenda-page .preagenda-table th {
  background: linear-gradient(90deg, rgba(224,242,254,.95), rgba(204,251,241,.90)) !important;
  color: #0f172a !important;
}

.main .badge,
.main .pill,
.preagenda-page .preagenda-status-pill {
  box-shadow: 0 8px 18px rgba(15, 23, 42, .075);
}

@media (max-width: 760px) {
  .main .card,
  .main .panel,
  .main .module-card,
  .main .quick-card,
  .main .quick-mini-card,
  .main .compact-action-card,
  .main .hoja-patient-card,
  .main .inventory-alert-card,
  .main .caja-route-card,
  .preagenda-page .preagenda-card,
  .preagenda-page .preagenda-hero {
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.095), inset 0 1px 0 rgba(255,255,255,.88) !important;
  }

  .main .panel-header,
  .main .section-header,
  .main .card-header,
  .preagenda-page .preagenda-card-head,
  .preagenda-page .preagenda-list-head {
    padding: 12px 13px !important;
    border-radius: 15px !important;
  }
}

/* =========================================================
   CORRECCION 2026-05-22 - TAMANO NORMAL DE TARJETAS EN DASHBOARDS
   Mantiene el acabado premium vivo, pero evita que cada tarjeta
   estadistica ocupe toda la fila horizontal en administracion y modulos.
   Cambio visual solamente.
   ========================================================= */
@media (min-width: 1101px) {
  .main .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .main .stats-grid > .stat-card,
  .dashboard-page .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card.stat-card-split {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .main .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card {
    min-height: 104px !important;
    padding: 14px 16px !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .main .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .main .stats-grid > .stat-card,
  .dashboard-page .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card.stat-card-split {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  .main .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .main .stats-grid > .stat-card,
  .dashboard-page .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card.stat-card-split {
    grid-column: auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 430px) {
  .main .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   CORRECCION 2026-05-22 - GRILLAS NORMALES EN TODOS LOS DASHBOARDS
   Refuerzo final para administrador, coordinador, asesora, medico,
   inventario y modulos con tarjetas estadisticas. Mantiene premium vivo.
   ========================================================= */
@media (min-width: 1101px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  body.role-administrador .main .stats-grid,
  body.role-superadministrador .main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .coordinator-dashboard-section .compact-dashboard-stats,
  .vd-param-page .stats-grid,
  .asesora-compact-page .stats-grid,
  .medico-panel .stats-grid,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards,
  .compact-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 240px)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .main .stats-grid > .stat-card,
  .main > .stats-grid > .stat-card,
  .main .panel > .stats-grid > .stat-card,
  .main .card > .stats-grid > .stat-card,
  .dashboard-page .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .coordinator-dashboard-section .compact-dashboard-stats > .stat-card,
  .vd-param-page .stats-grid > .stat-card,
  .asesora-compact-page .stats-grid > .stat-card,
  .medico-panel .stats-grid > .stat-card,
  .inventory-dashboard-route-cards > .stat-card,
  .compact-stats > .stat-card {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 240px !important;
    min-height: 104px !important;
    padding: 14px 16px !important;
  }

  .main .stats-grid > .stat-card.earning-card,
  .global-dashboard-main .stats-grid > .stat-card.earning-card,
  .main .stats-grid > .stat-card.stat-card-split {
    max-width: 260px !important;
  }

  .main .module-grid,
  .global-dashboard-main .module-grid,
  body.admin-compact-role .main .module-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(230px, 320px)) !important;
    justify-content: start !important;
    gap: 14px !important;
  }

  .main .module-grid > .module-card,
  .global-dashboard-main .module-grid > .module-card {
    width: 100% !important;
    max-width: 320px !important;
    grid-column: auto !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .coordinator-dashboard-section .compact-dashboard-stats,
  .vd-param-page .stats-grid,
  .asesora-compact-page .stats-grid,
  .medico-panel .stats-grid,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards,
  .compact-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)) !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .main .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .coordinator-dashboard-section .compact-dashboard-stats > .stat-card,
  .vd-param-page .stats-grid > .stat-card,
  .asesora-compact-page .stats-grid > .stat-card,
  .medico-panel .stats-grid > .stat-card,
  .inventory-dashboard-route-cards > .stat-card,
  .compact-stats > .stat-card {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .main .module-grid,
  .global-dashboard-main .module-grid,
  body.admin-compact-role .main .module-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 760px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .coordinator-dashboard-section .compact-dashboard-stats,
  .vd-param-page .stats-grid,
  .asesora-compact-page .stats-grid,
  .medico-panel .stats-grid,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards,
  .compact-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .main .stats-grid > .stat-card,
  .global-dashboard-main .stats-grid > .stat-card,
  body.admin-compact-role .main .stats-grid > .stat-card,
  body.admin-compact-role .global-dashboard-main .stats-grid > .stat-card,
  .global-dashboard-main .compact-dashboard-stats > .stat-card,
  .coordinator-dashboard-section .compact-dashboard-stats > .stat-card,
  .vd-param-page .stats-grid > .stat-card,
  .asesora-compact-page .stats-grid > .stat-card,
  .medico-panel .stats-grid > .stat-card,
  .inventory-dashboard-route-cards > .stat-card,
  .compact-stats > .stat-card {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

@media (max-width: 430px) {
  .main .stats-grid,
  .dashboard-page .stats-grid,
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .coordinator-dashboard-section .compact-dashboard-stats,
  .vd-param-page .stats-grid,
  .asesora-compact-page .stats-grid,
  .medico-panel .stats-grid,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards,
  .compact-stats {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   CORRECCION 2026-05-22 - DASHBOARD PREMIUM COMPACTO
   Tarjetas pequeñas, grillas estables y finanzas por ruta
   organizadas para PC, tablet y movil.
   ========================================================= */
.global-dashboard-main .stats-grid,
body.admin-compact-role .global-dashboard-main .stats-grid,
.global-dashboard-main .compact-dashboard-stats,
.inventory-dashboard-route-cards,
.inventory-dashboard-sales-cards {
  grid-template-columns: repeat(auto-fill, minmax(156px, 210px)) !important;
  justify-content: start !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.global-dashboard-main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card,
.inventory-dashboard-route-cards > .stat-card,
.inventory-dashboard-sales-cards > .stat-card {
  max-width: 210px !important;
  min-height: 92px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border-color: rgba(14, 165, 233, .24) !important;
  box-shadow:
    0 14px 34px rgba(15, 23, 42, .095),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.global-dashboard-main .stat-card:hover,
body.admin-compact-role .global-dashboard-main .stat-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 22px 46px rgba(15, 23, 42, .135),
    0 10px 22px rgba(14, 165, 233, .09),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.global-dashboard-main .stat-label,
body.admin-compact-role .global-dashboard-main .stat-label {
  margin-bottom: 6px !important;
  font-size: 10.5px !important;
  letter-spacing: .055em !important;
  line-height: 1.15 !important;
}

.global-dashboard-main .stat-value,
body.admin-compact-role .global-dashboard-main .stat-value {
  font-size: clamp(18px, 1.85vw, 25px) !important;
  line-height: 1.02 !important;
}

.global-dashboard-main .stat-note,
body.admin-compact-role .global-dashboard-main .stat-note {
  margin-top: 6px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

.admin-month-finance-panel {
  overflow: visible !important;
}

.admin-route-finance-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(224px, 280px)) !important;
  justify-content: start !important;
  align-items: stretch !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.admin-route-finance-grid .empty-state {
  grid-column: 1 / -1;
}

.global-dashboard-main .admin-route-finance-card,
body.admin-compact-role .global-dashboard-main .admin-route-finance-card {
  max-width: 280px !important;
  min-height: 176px !important;
  padding: 13px 14px 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(14, 165, 233, .26) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(14,165,233,.24), transparent 33%),
    radial-gradient(circle at 0% 100%, rgba(20,184,166,.15), transparent 38%),
    linear-gradient(145deg, #ffffff 0%, #f8fbff 50%, #eef8ff 100%) !important;
  box-shadow:
    0 18px 42px rgba(15, 23, 42, .105),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
}

.global-dashboard-main .admin-route-finance-total,
body.admin-compact-role .global-dashboard-main .admin-route-finance-total {
  border-color: rgba(20, 184, 166, .36) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(20,184,166,.30), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(99,102,241,.18), transparent 36%),
    linear-gradient(145deg, #ffffff 0%, #ecfeff 48%, #dffcf4 100%) !important;
}

.admin-route-finance-card.is-negative {
  border-color: rgba(244, 63, 94, .34) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(244,63,94,.20), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(249,115,22,.14), transparent 36%),
    linear-gradient(145deg, #ffffff 0%, #fff7ed 50%, #ffe4e6 100%) !important;
}

.admin-finance-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.admin-finance-card-head .stat-label {
  margin: 0 0 6px !important;
  color: #334155 !important;
  max-width: 100%;
}

.admin-finance-card-head .stat-label span {
  display: block;
  color: #0284c7;
  font-size: 10px;
  line-height: 1;
  margin-bottom: 3px;
}

.admin-finance-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 7px;
  background: rgba(16, 185, 129, .13);
  color: #047857;
  border: 1px solid rgba(16, 185, 129, .22);
  font-style: normal;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.admin-route-finance-card.is-negative .admin-finance-status {
  background: rgba(244, 63, 94, .12);
  color: #be123c;
  border-color: rgba(244, 63, 94, .22);
}

.global-dashboard-main .admin-finance-profit,
body.admin-compact-role .global-dashboard-main .admin-finance-profit {
  display: block;
  margin-top: 1px;
  max-width: 100%;
  font-size: clamp(19px, 1.9vw, 24px) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: linear-gradient(90deg, #0f172a, #047857, #0284c7) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.admin-route-finance-card.is-negative .admin-finance-profit {
  background: linear-gradient(90deg, #881337, #e11d48, #f97316) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

.admin-finance-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.admin-finance-kpi {
  position: relative;
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 8px 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .20);
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95);
}

.admin-finance-kpi::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: #0ea5e9;
}

.admin-finance-kpi small {
  color: #64748b;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: .055em;
  text-transform: uppercase;
  line-height: 1.1;
}

.admin-finance-kpi strong {
  color: #0f172a;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-finance-kpi.kpi-income {
  border-color: rgba(16, 185, 129, .22);
  background: linear-gradient(145deg, rgba(236,253,245,.95), rgba(255,255,255,.74));
}
.admin-finance-kpi.kpi-income::before { background: linear-gradient(180deg, #059669, #34d399); }

.admin-finance-kpi.kpi-expense {
  border-color: rgba(244, 63, 94, .20);
  background: linear-gradient(145deg, rgba(255,241,242,.95), rgba(255,255,255,.74));
}
.admin-finance-kpi.kpi-expense::before { background: linear-gradient(180deg, #e11d48, #fb7185); }

.admin-finance-kpi.kpi-fixed {
  grid-column: 1 / -1;
  border-color: rgba(139, 92, 246, .20);
  background: linear-gradient(145deg, rgba(245,243,255,.95), rgba(255,255,255,.78));
}
.admin-finance-kpi.kpi-fixed::before { background: linear-gradient(180deg, #7c3aed, #a78bfa); }

@media (min-width: 1180px) {
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards {
    grid-template-columns: repeat(auto-fill, minmax(152px, 202px)) !important;
  }

  .global-dashboard-main .stat-card,
  body.admin-compact-role .global-dashboard-main .stat-card,
  .inventory-dashboard-route-cards > .stat-card,
  .inventory-dashboard-sales-cards > .stat-card {
    max-width: 202px !important;
  }
}

@media (max-width: 900px) {
  .admin-route-finance-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    justify-content: stretch !important;
  }

  .global-dashboard-main .admin-route-finance-card,
  body.admin-compact-role .global-dashboard-main .admin-route-finance-card {
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .global-dashboard-main .stat-card,
  body.admin-compact-role .global-dashboard-main .stat-card,
  .inventory-dashboard-route-cards > .stat-card,
  .inventory-dashboard-sales-cards > .stat-card {
    max-width: none !important;
    min-height: 82px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
  }

  .global-dashboard-main .stat-value,
  body.admin-compact-role .global-dashboard-main .stat-value {
    font-size: clamp(17px, 5vw, 22px) !important;
  }

  .admin-route-finance-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .global-dashboard-main .admin-route-finance-card,
  body.admin-compact-role .global-dashboard-main .admin-route-finance-card {
    min-height: auto !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  .global-dashboard-main .admin-finance-profit,
  body.admin-compact-role .global-dashboard-main .admin-finance-profit {
    font-size: clamp(18px, 6vw, 23px) !important;
  }
}

@media (max-width: 430px) {
  .global-dashboard-main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .inventory-dashboard-route-cards,
  .inventory-dashboard-sales-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .global-dashboard-main .stat-label,
  body.admin-compact-role .global-dashboard-main .stat-label {
    font-size: 9.8px !important;
  }

  .global-dashboard-main .stat-note,
  body.admin-compact-role .global-dashboard-main .stat-note {
    font-size: 10.5px !important;
  }

  .admin-finance-kpis {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   ACTUALIZACION 2026-05-22 - TARJETAS PREMIUM COMPACTAS GLOBALES
   Aplica a dashboards y modulos con KPIs/resumenes: administrador,
   caja, egresos, inventario, medico, comisiones, indicadores,
   diagnostico, auditoria, notificaciones y tarjetas por ruta.
   Cambio visual solamente: no modifica logica, permisos ni SQL.
   ========================================================= */
:root {
  --vd-premium-blue: #0ea5e9;
  --vd-premium-cyan: #06b6d4;
  --vd-premium-teal: #14b8a6;
  --vd-premium-green: #10b981;
  --vd-premium-violet: #8b5cf6;
  --vd-premium-amber: #f59e0b;
  --vd-premium-pink: #ec4899;
  --vd-premium-red: #f43f5e;
  --vd-premium-ink: #0f172a;
  --vd-premium-muted: #64748b;
  --vd-premium-border: rgba(148, 163, 184, .22);
  --vd-premium-shadow: 0 14px 34px rgba(15, 23, 42, .09), inset 0 1px 0 rgba(255,255,255,.88);
  --vd-premium-shadow-hover: 0 24px 54px rgba(15, 23, 42, .14), 0 10px 24px rgba(14,165,233,.10), inset 0 1px 0 rgba(255,255,255,.94);
}

.main .stats-grid,
.main > .stats-grid,
.main .panel > .stats-grid,
.main .card > .stats-grid,
.main .compact-stats,
.main .dashboard-excel-summary,
.main .vd-kpi-row,
.main .vd-inv-kpis,
.main .audit-stat-grid,
.main .vd-notif-summary,
.main .vd-route-stock-cards,
.main .vd-route-alert-cards,
.main .caja-route-cards,
.main .admin-route-finance-grid,
.global-dashboard-main .stats-grid,
.global-dashboard-main .compact-dashboard-stats,
body.admin-compact-role .main .stats-grid,
body.admin-compact-role .global-dashboard-main .stats-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(158px, 214px)) !important;
  justify-content: start !important;
  align-items: stretch !important;
  gap: 12px !important;
}

.main .caja-route-cards,
.main .vd-route-alert-cards,
.main .admin-route-finance-grid {
  grid-template-columns: repeat(auto-fill, minmax(238px, 304px)) !important;
}

.main .stat-card,
.main .vd-kpi-cell,
.main .vd-inv-kpis > article,
.main .audit-stat-card,
.main .vd-notif-summary-card,
.main .vd-route-stock-card,
.main .vd-route-alert-card,
.main .caja-route-card,
.global-dashboard-main .stat-card,
body.admin-compact-role .main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card {
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 214px !important;
  min-height: 88px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid var(--vd-premium-border) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(14,165,233,.18), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f8fbff 54%, #eef8ff 100%) !important;
  box-shadow: var(--vd-premium-shadow) !important;
  overflow: hidden !important;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.main .caja-route-card,
.main .vd-route-alert-card,
.main .admin-route-finance-card,
.global-dashboard-main .admin-route-finance-card,
body.admin-compact-role .global-dashboard-main .admin-route-finance-card {
  max-width: 304px !important;
  min-height: 158px !important;
}

.main .stat-card::before,
.main .vd-kpi-cell::before,
.main .vd-inv-kpis > article::before,
.main .audit-stat-card::before,
.main .vd-notif-summary-card::before,
.main .vd-route-stock-card::before,
.main .vd-route-alert-card::before,
.main .caja-route-card::before,
.global-dashboard-main .stat-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--vd-premium-blue), var(--vd-premium-teal));
  opacity: .95;
}

.main .stat-card:hover,
.main .vd-kpi-cell:hover,
.main .vd-inv-kpis > article:hover,
.main .audit-stat-card:hover,
.main .vd-notif-summary-card:hover,
.main .vd-route-stock-card:hover,
.main .vd-route-alert-card:hover,
.main .caja-route-card:hover,
.global-dashboard-main .stat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(14,165,233,.42) !important;
  box-shadow: var(--vd-premium-shadow-hover) !important;
}

.main .stats-grid > .stat-card,
.main .compact-stats > .stat-card,
.main .dashboard-excel-summary > .stat-card,
.main .vd-kpi-row > .vd-kpi-cell,
.main .vd-inv-kpis > article,
.main .audit-stat-grid > .audit-stat-card,
.main .vd-notif-summary > .vd-notif-summary-card,
.main .vd-route-stock-cards > .vd-route-stock-card,
.main .vd-route-alert-cards > .vd-route-alert-card,
.main .caja-route-cards > .caja-route-card,
.global-dashboard-main .stats-grid > .stat-card,
.global-dashboard-main .compact-dashboard-stats > .stat-card {
  grid-column: auto !important;
}

.main .stat-label,
.main .vd-kpi-cell span,
.main .vd-inv-kpis span,
.main .audit-stat-card span,
.main .vd-notif-summary-card span,
.main .vd-route-metrics small,
.main .caja-route-kpis small,
.global-dashboard-main .stat-label {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--vd-premium-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  letter-spacing: .052em !important;
  text-transform: uppercase !important;
}

.main .stat-value,
.main .vd-kpi-cell strong,
.main .vd-inv-kpis strong,
.main .audit-stat-card strong,
.main .vd-notif-summary-card strong,
.global-dashboard-main .stat-value {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--vd-premium-ink) !important;
  font-size: clamp(18px, 1.65vw, 24px) !important;
  line-height: 1.02 !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.main .stat-note,
.main .vd-kpi-cell small,
.main .vd-inv-kpis small,
.global-dashboard-main .stat-note {
  display: block !important;
  margin-top: 6px !important;
  color: var(--vd-premium-muted) !important;
  font-size: 10.8px !important;
  line-height: 1.22 !important;
  overflow: visible !important;
  max-height: none !important;
}

.main .vd-route-metrics,
.main .caja-route-kpis,
.main .admin-finance-kpis {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-top: 10px !important;
}

.main .vd-route-metrics span,
.main .caja-route-kpis span,
.main .admin-finance-kpi {
  position: relative !important;
  min-width: 0 !important;
  padding: 8px 8px 8px 10px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  background: rgba(255,255,255,.74) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
  text-align: left !important;
}

.main .vd-route-metrics span::before,
.main .caja-route-kpis span::before,
.main .admin-finance-kpi::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--vd-premium-blue), var(--vd-premium-cyan));
}

.main .vd-route-metrics strong,
.main .caja-route-kpis strong,
.main .admin-finance-kpi strong {
  display: block !important;
  max-width: 100% !important;
  color: var(--vd-premium-ink) !important;
  font-size: 12px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.main .caja-route-kpis span.success,
.main .admin-finance-kpi.kpi-income,
.main .stats-grid > .stat-card:nth-child(5n+2),
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+2),
.main .vd-inv-kpis > article:nth-child(5n+2),
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+2),
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+2) {
  border-color: rgba(16,185,129,.26) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(16,185,129,.20), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #ecfdf5 54%, #dcfce7 100%) !important;
}

.main .stats-grid > .stat-card:nth-child(5n+3),
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+3),
.main .vd-inv-kpis > article:nth-child(5n+3),
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+3),
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+3),
.main .admin-finance-kpi.kpi-fixed {
  border-color: rgba(139,92,246,.26) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(139,92,246,.21), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f5f3ff 54%, #ede9fe 100%) !important;
}

.main .stats-grid > .stat-card:nth-child(5n+4),
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+4),
.main .vd-inv-kpis > article:nth-child(5n+4),
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+4),
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+4) {
  border-color: rgba(245,158,11,.30) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(245,158,11,.22), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffbeb 54%, #fef3c7 100%) !important;
}

.main .stats-grid > .stat-card:nth-child(5n),
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n),
.main .vd-inv-kpis > article:nth-child(5n),
.main .audit-stat-grid > .audit-stat-card:nth-child(5n),
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n),
.main .admin-finance-kpi.kpi-expense,
.main .caja-route-kpis span.critical,
.main .caja-route-kpis span.warning {
  border-color: rgba(244,63,94,.24) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(244,63,94,.18), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fff1f2 54%, #ffe4e6 100%) !important;
}

.main .stats-grid > .stat-card:nth-child(5n+2)::before,
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+2)::before,
.main .vd-inv-kpis > article:nth-child(5n+2)::before,
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+2)::before,
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+2)::before,
.main .admin-finance-kpi.kpi-income::before {
  background: linear-gradient(180deg, #059669, #34d399) !important;
}

.main .stats-grid > .stat-card:nth-child(5n+3)::before,
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+3)::before,
.main .vd-inv-kpis > article:nth-child(5n+3)::before,
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+3)::before,
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+3)::before,
.main .admin-finance-kpi.kpi-fixed::before {
  background: linear-gradient(180deg, #7c3aed, #a78bfa) !important;
}

.main .stats-grid > .stat-card:nth-child(5n+4)::before,
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n+4)::before,
.main .vd-inv-kpis > article:nth-child(5n+4)::before,
.main .audit-stat-grid > .audit-stat-card:nth-child(5n+4)::before,
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n+4)::before {
  background: linear-gradient(180deg, #d97706, #fbbf24) !important;
}

.main .stats-grid > .stat-card:nth-child(5n)::before,
.main .vd-kpi-row > .vd-kpi-cell:nth-child(5n)::before,
.main .vd-inv-kpis > article:nth-child(5n)::before,
.main .audit-stat-grid > .audit-stat-card:nth-child(5n)::before,
.main .vd-notif-summary > .vd-notif-summary-card:nth-child(5n)::before,
.main .admin-finance-kpi.kpi-expense::before,
.main .caja-route-kpis span.critical::before,
.main .caja-route-kpis span.warning::before {
  background: linear-gradient(180deg, #e11d48, #fb7185) !important;
}

.main .module-grid,
.main .content-grid {
  gap: 14px !important;
}

.main .module-card,
.main .quick-card,
.main .quick-mini-card,
.main .compact-action-card,
.main .content-card,
.main .dashboard-card {
  border-radius: 22px !important;
  border-color: rgba(14,165,233,.18) !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(14,165,233,.12), transparent 30%),
    linear-gradient(145deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .075), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

@media (min-width: 1180px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 202px)) !important;
  }

  .main .stat-card,
  .main .vd-kpi-cell,
  .main .vd-inv-kpis > article,
  .main .audit-stat-card,
  .main .vd-notif-summary-card,
  .global-dashboard-main .stat-card {
    max-width: 202px !important;
  }
}

@media (max-width: 900px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .main .vd-route-stock-cards,
  .main .vd-route-alert-cards,
  .main .caja-route-cards,
  .main .admin-route-finance-grid,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 10px !important;
  }

  .main .stat-card,
  .main .vd-kpi-cell,
  .main .vd-inv-kpis > article,
  .main .audit-stat-card,
  .main .vd-notif-summary-card,
  .main .vd-route-stock-card,
  .main .vd-route-alert-card,
  .main .caja-route-card,
  .main .admin-route-finance-card,
  .global-dashboard-main .stat-card,
  .global-dashboard-main .admin-route-finance-card {
    max-width: none !important;
    min-height: 82px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
  }

  .main .caja-route-card,
  .main .vd-route-alert-card,
  .main .admin-route-finance-card,
  .global-dashboard-main .admin-route-finance-card {
    min-height: auto !important;
  }

  .main .stat-value,
  .main .vd-kpi-cell strong,
  .main .vd-inv-kpis strong,
  .main .audit-stat-card strong,
  .main .vd-notif-summary-card strong,
  .global-dashboard-main .stat-value {
    font-size: clamp(17px, 5vw, 22px) !important;
  }
}

@media (max-width: 520px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .main .vd-route-stock-cards,
  .main .vd-route-alert-cards,
  .main .caja-route-cards,
  .main .admin-route-finance-grid,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .main .stat-label,
  .main .vd-kpi-cell span,
  .main .vd-inv-kpis span,
  .main .audit-stat-card span,
  .main .vd-notif-summary-card span,
  .global-dashboard-main .stat-label {
    font-size: 9.6px !important;
  }

  .main .stat-note,
  .main .vd-kpi-cell small,
  .main .vd-inv-kpis small,
  .global-dashboard-main .stat-note {
    font-size: 10.2px !important;
  }

  .main .caja-route-kpis,
  .main .vd-route-metrics,
  .main .admin-finance-kpis {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   ACTUALIZACION 2026-05-22 - KPIS MAS PEQUENOS Y RESPONSIVE
   Ajuste transversal para reducir altura/ancho de KPIs sin perder
   legibilidad en PC, tablet y movil. Cambio visual solamente.
   ========================================================= */
:root {
  --vd-kpi-mini-w: 176px;
  --vd-kpi-mini-min: 132px;
  --vd-kpi-route-w: 260px;
  --vd-kpi-route-min: 208px;
}

.main .stats-grid,
.main > .stats-grid,
.main .panel > .stats-grid,
.main .card > .stats-grid,
.main .compact-stats,
.main .dashboard-excel-summary,
.main .vd-kpi-row,
.main .vd-inv-kpis,
.main .audit-stat-grid,
.main .vd-notif-summary,
.global-dashboard-main .stats-grid,
.global-dashboard-main .compact-dashboard-stats,
body.admin-compact-role .main .stats-grid,
body.admin-compact-role .global-dashboard-main .stats-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--vd-kpi-mini-min), var(--vd-kpi-mini-w))) !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.main .vd-route-stock-cards,
.main .vd-route-alert-cards,
.main .caja-route-cards,
.main .admin-route-finance-grid,
.global-dashboard-main .admin-route-finance-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--vd-kpi-route-min), var(--vd-kpi-route-w))) !important;
  gap: 9px !important;
}

.main .stat-card,
.main .vd-kpi-cell,
.main .vd-inv-kpis > article,
.main .audit-stat-card,
.main .vd-notif-summary-card,
.main .vd-route-stock-card,
.global-dashboard-main .stat-card,
body.admin-compact-role .main .stat-card,
body.admin-compact-role .global-dashboard-main .stat-card {
  max-width: var(--vd-kpi-mini-w) !important;
  min-height: 68px !important;
  padding: 8px 10px 8px 12px !important;
  border-radius: 14px !important;
  box-shadow: 0 9px 22px rgba(15, 23, 42, .075), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.main .caja-route-card,
.main .vd-route-alert-card,
.main .admin-route-finance-card,
.global-dashboard-main .admin-route-finance-card,
body.admin-compact-role .global-dashboard-main .admin-route-finance-card {
  max-width: var(--vd-kpi-route-w) !important;
  min-height: 126px !important;
  padding: 10px 11px !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

.main .stat-card::before,
.main .vd-kpi-cell::before,
.main .vd-inv-kpis > article::before,
.main .audit-stat-card::before,
.main .vd-notif-summary-card::before,
.main .vd-route-stock-card::before,
.global-dashboard-main .stat-card::before {
  top: 9px !important;
  bottom: 9px !important;
  width: 3px !important;
}

.main .stat-label,
.main .vd-kpi-cell span,
.main .vd-inv-kpis span,
.main .audit-stat-card span,
.main .vd-notif-summary-card span,
.global-dashboard-main .stat-label {
  margin-bottom: 4px !important;
  font-size: clamp(8.7px, .72vw, 9.7px) !important;
  line-height: 1.08 !important;
  letter-spacing: .045em !important;
}

.main .stat-value,
.main .vd-kpi-cell strong,
.main .vd-inv-kpis strong,
.main .audit-stat-card strong,
.main .vd-notif-summary-card strong,
.global-dashboard-main .stat-value {
  font-size: clamp(15px, 1.18vw, 19px) !important;
  line-height: 1 !important;
  letter-spacing: -.032em !important;
}

.main .stat-note,
.main .vd-kpi-cell small,
.main .vd-inv-kpis small,
.global-dashboard-main .stat-note {
  margin-top: 4px !important;
  font-size: clamp(8.8px, .78vw, 9.8px) !important;
  line-height: 1.14 !important;
}

.main .vd-route-metrics,
.main .caja-route-kpis,
.main .admin-finance-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin-top: 7px !important;
}

.main .vd-route-metrics span,
.main .caja-route-kpis span,
.main .admin-finance-kpi {
  padding: 6px 6px 6px 8px !important;
  border-radius: 11px !important;
}

.main .vd-route-metrics small,
.main .caja-route-kpis small,
.main .admin-finance-kpi small {
  margin-bottom: 2px !important;
  font-size: 8.4px !important;
  line-height: 1.05 !important;
  letter-spacing: .035em !important;
}

.main .vd-route-metrics strong,
.main .caja-route-kpis strong,
.main .admin-finance-kpi strong {
  font-size: clamp(10.5px, .85vw, 11.8px) !important;
  line-height: 1.02 !important;
}

.global-dashboard-main .admin-route-finance-title,
body.admin-compact-role .global-dashboard-main .admin-route-finance-title {
  font-size: clamp(13px, 1vw, 15px) !important;
  line-height: 1.12 !important;
}

.global-dashboard-main .admin-finance-profit,
body.admin-compact-role .global-dashboard-main .admin-finance-profit {
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1 !important;
}

.global-dashboard-main .admin-finance-subtitle,
body.admin-compact-role .global-dashboard-main .admin-finance-subtitle,
.global-dashboard-main .admin-finance-badge,
body.admin-compact-role .global-dashboard-main .admin-finance-badge {
  font-size: 9.2px !important;
  line-height: 1.1 !important;
}

.main .module-grid,
.main .content-grid {
  gap: 10px !important;
}

@media (min-width: 1180px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(auto-fill, minmax(128px, 172px)) !important;
    gap: 8px !important;
  }

  .main .vd-route-stock-cards,
  .main .vd-route-alert-cards,
  .main .caja-route-cards,
  .main .admin-route-finance-grid,
  .global-dashboard-main .admin-route-finance-grid {
    grid-template-columns: repeat(auto-fill, minmax(204px, 252px)) !important;
  }

  .main .stat-card,
  .main .vd-kpi-cell,
  .main .vd-inv-kpis > article,
  .main .audit-stat-card,
  .main .vd-notif-summary-card,
  .main .vd-route-stock-card,
  .global-dashboard-main .stat-card {
    max-width: 172px !important;
  }

  .main .caja-route-card,
  .main .vd-route-alert-card,
  .main .admin-route-finance-card,
  .global-dashboard-main .admin-route-finance-card {
    max-width: 252px !important;
  }
}

@media (max-width: 900px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .main .vd-route-stock-cards,
  .main .vd-route-alert-cards,
  .main .caja-route-cards,
  .main .admin-route-finance-grid,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  .global-dashboard-main .admin-route-finance-grid,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .main .stat-card,
  .main .vd-kpi-cell,
  .main .vd-inv-kpis > article,
  .main .audit-stat-card,
  .main .vd-notif-summary-card,
  .main .vd-route-stock-card,
  .main .vd-route-alert-card,
  .main .caja-route-card,
  .main .admin-route-finance-card,
  .global-dashboard-main .stat-card,
  .global-dashboard-main .admin-route-finance-card {
    max-width: none !important;
    min-height: 64px !important;
    padding: 8px 9px 8px 11px !important;
    border-radius: 13px !important;
  }

  .main .caja-route-card,
  .main .vd-route-alert-card,
  .main .admin-route-finance-card,
  .global-dashboard-main .admin-route-finance-card {
    min-height: auto !important;
  }

  .main .stat-value,
  .main .vd-kpi-cell strong,
  .main .vd-inv-kpis strong,
  .main .audit-stat-card strong,
  .main .vd-notif-summary-card strong,
  .global-dashboard-main .stat-value {
    font-size: clamp(14px, 4.2vw, 18px) !important;
  }
}

@media (max-width: 520px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .main .vd-route-stock-cards,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats,
  body.admin-compact-role .main .stats-grid,
  body.admin-compact-role .global-dashboard-main .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .main .vd-route-alert-cards,
  .main .caja-route-cards,
  .main .admin-route-finance-grid,
  .global-dashboard-main .admin-route-finance-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .main .stat-card,
  .main .vd-kpi-cell,
  .main .vd-inv-kpis > article,
  .main .audit-stat-card,
  .main .vd-notif-summary-card,
  .main .vd-route-stock-card,
  .global-dashboard-main .stat-card {
    min-height: 58px !important;
    padding: 7px 8px 7px 10px !important;
    border-radius: 12px !important;
  }

  .main .stat-label,
  .main .vd-kpi-cell span,
  .main .vd-inv-kpis span,
  .main .audit-stat-card span,
  .main .vd-notif-summary-card span,
  .global-dashboard-main .stat-label {
    font-size: 8.2px !important;
    margin-bottom: 3px !important;
  }

  .main .stat-note,
  .main .vd-kpi-cell small,
  .main .vd-inv-kpis small,
  .global-dashboard-main .stat-note {
    font-size: 8.6px !important;
    margin-top: 3px !important;
  }

  .main .caja-route-kpis,
  .main .vd-route-metrics,
  .main .admin-finance-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
}

@media (max-width: 360px) {
  .main .stats-grid,
  .main > .stats-grid,
  .main .panel > .stats-grid,
  .main .card > .stats-grid,
  .main .compact-stats,
  .main .dashboard-excel-summary,
  .main .vd-kpi-row,
  .main .vd-inv-kpis,
  .main .audit-stat-grid,
  .main .vd-notif-summary,
  .main .vd-route-stock-cards,
  .global-dashboard-main .stats-grid,
  .global-dashboard-main .compact-dashboard-stats {
    grid-template-columns: 1fr !important;
  }

  .main .caja-route-kpis,
  .main .vd-route-metrics,
  .main .admin-finance-kpis {
    grid-template-columns: 1fr !important;
  }
}



/* === Vital Detox 2026-05-22: Hoteles Excel, KPIs médicos ultra mini y medios de pago premium === */
.hoteles-page .hoteles-table-wrap{display:block!important;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.055);}
.hoteles-page .hoteles-table{min-width:920px;border-collapse:separate;border-spacing:0;}
.hoteles-page .hoteles-table th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#f8fafc,#eef2ff);font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#475569;}
.hoteles-page .hoteles-table td,.hoteles-page .hoteles-table th{padding:7px 9px!important;line-height:1.18!important;vertical-align:middle;}
.hoteles-page .hoteles-table tbody tr:hover td{background:#f8fbff;}
.hoteles-page .hoteles-mobile-list-v2{display:none!important;}
.hoteles-page .hoteles-filter-grid{align-items:end;}

.medico-panel .medico-kpi-mini-grid{margin-bottom:10px!important;}
.medico-panel .medico-kpi-mini-grid .stat-card{box-shadow:0 8px 18px rgba(15,23,42,.055)!important;}
.medico-panel .medico-kpi-mini-grid .stat-value{letter-spacing:-.055em!important;}

.vd-param-page .vd-param-pay-premium{gap:12px!important;}
.vd-param-page .vd-param-pay-premium .vd-bulk-form,.vd-param-page .vd-param-payment-form-premium{padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.9));box-shadow:0 14px 34px rgba(15,23,42,.07);}
.vd-param-page .vd-param-pay-premium .vd-bulk-actions{padding:8px;border-radius:14px;background:linear-gradient(135deg,rgba(14,165,164,.09),rgba(168,85,247,.08));border:1px solid rgba(20,184,166,.16);}
.vd-param-page .vd-param-pay-premium .btn,.vd-param-page .vd-param-payment-form-premium .btn{border-radius:999px!important;font-weight:900!important;letter-spacing:.015em!important;box-shadow:0 8px 18px rgba(15,23,42,.08)!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;}
.vd-param-page .vd-param-pay-premium .btn:hover,.vd-param-page .vd-param-payment-form-premium .btn:hover{transform:translateY(-1px);box-shadow:0 13px 24px rgba(15,23,42,.12)!important;filter:saturate(1.08);}
.vd-param-page .vd-param-pay-premium .btn-light,.vd-param-page .vd-param-payment-form-premium .btn-light{background:linear-gradient(135deg,#ffffff,#eef2ff)!important;border-color:rgba(99,102,241,.22)!important;color:#334155!important;}
.vd-param-page .vd-param-pay-premium .btn-primary,.vd-param-page .vd-param-payment-form-premium .btn-primary{background:linear-gradient(135deg,#0ea5e9,#14b8a6)!important;border-color:rgba(14,165,233,.18)!important;color:#ffffff!important;}
.vd-param-page .vd-param-pay-premium table td,.vd-param-page .vd-param-pay-premium table th{padding:7px 8px!important;}
@media(max-width:760px){.hoteles-page .hoteles-table{min-width:860px;}.hoteles-page .hoteles-filter-grid{grid-template-columns:1fr!important;}.vd-param-page .vd-param-pay-premium{grid-template-columns:1fr!important;}.vd-param-page .vd-param-pay-premium .vd-bulk-actions{align-items:stretch;}.vd-param-page .vd-param-pay-premium .vd-bulk-actions .btn,.vd-param-page .vd-param-payment-form-premium .btn{width:100%;justify-content:center;}}

/* Fix premium uploads: cámara/galería en cierre de caja y consignaciones */
.vd-upload-premium-btn,
.vd-photo-btn.vd-upload-premium-btn,
.hoja-consignacion-icon-btn {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 36px;
  border-radius: 999px !important;
  border: 1px solid rgba(37, 99, 235, .18) !important;
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 48%, #f5f3ff 100%) !important;
  color: #0f172a !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .07) !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer !important;
}
.vd-upload-premium-btn:hover,
.vd-photo-btn.vd-upload-premium-btn:hover,
.hoja-consignacion-icon-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, .32) !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .11) !important;
}
.vd-upload-premium-btn input[type="file"],
.vd-photo-btn.vd-upload-premium-btn input[type="file"],
.hoja-consignacion-icon-btn input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  font-size: 120px !important;
}
.vd-upload-premium-btn::before,
.hoja-consignacion-icon-btn::before {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  filter: drop-shadow(0 1px 2px rgba(15, 23, 42, .12));
}
.vd-upload-premium-btn[data-upload-icon="camera"]::before,
.hoja-consignacion-icon-btn[data-upload-icon="camera"]::before { content: "📷"; }
.vd-upload-premium-btn[data-upload-icon="gallery"]::before,
.hoja-consignacion-icon-btn[data-upload-icon="gallery"]::before { content: "🖼️"; }
.vd-upload-premium-btn.has-file,
.vd-photo-btn.vd-upload-premium-btn.has-file,
.hoja-consignacion-icon-btn.has-file {
  background: linear-gradient(135deg, #059669 0%, #0d9488 100%) !important;
  border-color: rgba(16, 185, 129, .40) !important;
  color: #ffffff !important;
}
.hoja-consignacion-file-name {
  flex: 1 1 100%;
  min-width: 0;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 800;
  color: #047857;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 760px) {
  .vd-photo-actions .vd-upload-premium-btn,
  .hoja-consignacion-upload .vd-upload-premium-btn {
    flex: 1 1 96px;
    min-width: 0 !important;
  }
  .hoja-consignacion-file-name {
    white-space: normal;
  }
}
.vd-upload-premium-btn[data-upload-icon="file"]::before { content: "📎"; }

/* ============================================================
   Coordinador - Cierre de caja: boton expandir/contraer premium
   ============================================================ */
.hoja-cierre-summary {
  align-items: center;
  gap: 12px;
}

.hoja-cierre-summary-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  min-width: max-content;
}

.hoja-cierre-summary-actions > strong {
  min-width: 104px;
  text-align: center;
  white-space: nowrap;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -.02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 8px 18px rgba(15,23,42,.08);
}

.hoja-cierre-summary-actions > strong.ok {
  color: #047857;
  background: linear-gradient(135deg, rgba(209,250,229,.98), rgba(167,243,208,.82));
  border: 1px solid rgba(16,185,129,.26);
}

.hoja-cierre-summary-actions > strong.warn {
  color: #be123c;
  background: linear-gradient(135deg, rgba(255,228,230,.98), rgba(254,202,202,.82));
  border: 1px solid rgba(244,63,94,.26);
}

.hoja-cierre-toggle-premium {
  position: relative;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  min-width: 124px;
  padding: 8px 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1;
  letter-spacing: .01em;
  white-space: nowrap;
  text-transform: uppercase;
  background: linear-gradient(135deg, #0f172a 0%, #2563eb 52%, #06b6d4 100%) !important;
  box-shadow: 0 13px 26px rgba(37,99,235,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.hoja-cierre-toggle-premium::before {
  content: '';
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.hoja-cierre-toggle-premium::after {
  content: '⌄';
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-52%);
  color: #ffffff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  transition: transform .18s ease;
}

.hoja-cierre-toggle-premium:hover {
  transform: translateY(-1px);
  filter: saturate(1.08);
  box-shadow: 0 16px 34px rgba(37,99,235,.30), inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.hoja-cierre-toggle-premium:focus-visible {
  outline: 3px solid rgba(6,182,212,.28);
  outline-offset: 3px;
}

.hoja-cierre-toggle-premium:active {
  transform: translateY(0) scale(.985);
}

.hoja-cierre-toggle-premium .hoja-cierre-toggle-expanded {
  display: none;
}

.hoja-cierre-colapsable.is-expanded .hoja-cierre-toggle-premium {
  background: linear-gradient(135deg, #7c3aed 0%, #db2777 52%, #f97316 100%) !important;
  box-shadow: 0 13px 26px rgba(219,39,119,.24), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

.hoja-cierre-colapsable.is-expanded .hoja-cierre-toggle-premium::after {
  transform: translateY(-48%) rotate(180deg);
}

.hoja-cierre-colapsable.is-expanded .hoja-cierre-toggle-premium .hoja-cierre-toggle-collapsed {
  display: none;
}

.hoja-cierre-colapsable.is-expanded .hoja-cierre-toggle-premium .hoja-cierre-toggle-expanded {
  display: inline;
}

@media (max-width: 760px) {
  .hoja-cierre-summary {
    align-items: stretch;
  }

  .hoja-cierre-summary-actions {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
  }

  .hoja-cierre-summary-actions > strong {
    min-width: 0;
    width: 100%;
    padding: 8px 9px;
    font-size: 12px;
  }

  .hoja-cierre-toggle-premium {
    min-width: 112px;
    min-height: 38px;
    padding: 9px 12px 9px 14px !important;
    font-size: 11px !important;
    box-shadow: 0 10px 22px rgba(37,99,235,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
  }

  .hoja-cierre-toggle-premium::after {
    left: 16px;
  }
}

@media (max-width: 420px) {
  .hoja-cierre-summary-actions {
    grid-template-columns: 1fr;
  }

  .hoja-cierre-toggle-premium {
    width: 100%;
    min-width: 0;
  }
}


/* ============================================================
   Coordinador - Cierre de caja responsive limpio móvil
   ============================================================ */
.hoja-cierre-cajon,
.hoja-cierre-cajon * {
  box-sizing: border-box;
}

.hoja-cierre-cajon {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08) !important;
}

.hoja-cierre-cajon .hoja-cierre-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  min-width: 0;
}

.hoja-cierre-cajon .hoja-cierre-summary > div:first-child {
  min-width: 0;
}

.hoja-cierre-cajon .hoja-cierre-summary h3 {
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.12;
}

.hoja-cierre-cajon .hoja-cierre-summary small {
  display: block;
  max-width: 780px;
  line-height: 1.28;
}

.hoja-cierre-cajon .hoja-cierre-body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.hoja-cierre-cajon .hoja-precierre-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 7px;
  border: 0;
  overflow: visible;
  background: transparent;
}

.hoja-cierre-cajon .hoja-precierre-grid > div {
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(248,250,252,.96), rgba(239,246,255,.72));
}

.hoja-cierre-cajon .hoja-precierre-grid strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(12px, 1.05vw, 15px);
  line-height: 1.15;
}

.hoja-cierre-cajon .hoja-precierre-grid small {
  overflow-wrap: anywhere;
}

.hoja-cierre-cajon .hoja-precierre-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.hoja-cierre-cajon .hoja-precierre-form .input,
.hoja-cierre-cajon .hoja-precierre-form textarea,
.hoja-cierre-cajon .hoja-precierre-form select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.hoja-cierre-cajon .hoja-consignaciones-box {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.hoja-cierre-cajon .hoja-consignacion-row {
  max-width: 100%;
  min-width: 0;
}

.hoja-cierre-cajon .hoja-close-note {
  width: 100%;
  padding: 9px 11px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(15,23,42,.04), rgba(14,165,233,.08));
  border: 1px solid rgba(148, 163, 184, .18);
  font-size: 12px;
  font-weight: 900;
  color: #334155;
}

@media (max-width: 760px) {
  .hoja-cierre-cajon {
    margin-top: 10px !important;
    padding: 10px !important;
    border-radius: 17px !important;
  }

  .hoja-cierre-cajon .hoja-cierre-summary {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .hoja-cierre-cajon .hoja-cierre-summary h3 {
    font-size: 16px !important;
  }

  .hoja-cierre-cajon .hoja-cierre-summary small {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  .hoja-cierre-cajon .hoja-cierre-summary-actions {
    width: 100%;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(106px, .78fr) !important;
    gap: 7px !important;
    align-items: stretch !important;
  }

  .hoja-cierre-cajon .hoja-cierre-summary-actions > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0 !important;
    min-height: 36px;
    padding: 7px 8px !important;
    font-size: 11.5px !important;
    line-height: 1.05;
    overflow-wrap: anywhere;
  }

  .hoja-cierre-cajon .hoja-cierre-toggle-premium {
    width: 100%;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 8px 10px 8px 14px !important;
    font-size: 10.5px !important;
  }

  .hoja-cierre-cajon .hoja-cierre-toggle-premium::before {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .hoja-cierre-cajon .hoja-cierre-toggle-premium::after {
    left: 15px !important;
    font-size: 13px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-grid > div {
    min-height: 48px !important;
    padding: 7px 8px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-grid span {
    font-size: 9px !important;
    letter-spacing: .025em !important;
  }

  .hoja-cierre-cajon .hoja-precierre-grid strong {
    font-size: 12.5px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-grid small {
    font-size: 9.5px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-form {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-form label {
    gap: 5px !important;
    font-size: 10px !important;
  }

  .hoja-cierre-cajon .hoja-precierre-form .precierre-num {
    min-height: 42px !important;
    padding: 9px 10px !important;
    font-size: 15px !important;
  }

  .hoja-cierre-cajon .hoja-consignaciones-box {
    padding: 10px !important;
    border-radius: 15px !important;
    gap: 9px !important;
  }

  .hoja-cierre-cajon .hoja-consignaciones-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .hoja-cierre-cajon .hoja-consignaciones-total {
    width: 100%;
    min-height: 32px;
    justify-content: center;
    font-size: 12px;
  }

  .hoja-cierre-cajon .hoja-consignacion-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 14px !important;
  }

  .hoja-cierre-cajon .hoja-consignacion-upload {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    align-items: stretch !important;
  }

  .hoja-cierre-cajon .hoja-consignacion-upload-label,
  .hoja-cierre-cajon .hoja-consignacion-file-name {
    grid-column: 1 / -1;
  }

  .hoja-cierre-cajon .hoja-consignacion-icon-btn {
    width: 100%;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 8px 9px !important;
    font-size: 11px !important;
  }

  .hoja-cierre-cajon .hoja-add-consignacion-premium,
  .hoja-cierre-cajon .hoja-cierre-actions .btn {
    width: 100%;
    min-height: 40px;
  }

  .hoja-cierre-cajon .hoja-cierre-actions {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
}

@media (max-width: 380px) {
  .hoja-cierre-cajon .hoja-cierre-summary-actions,
  .hoja-cierre-cajon .hoja-precierre-grid,
  .hoja-cierre-cajon .hoja-consignacion-upload {
    grid-template-columns: 1fr !important;
  }
}

/* v249 · Consignaciones mobile: soportes y copia local legibles */
.hoja-consignacion-upload .vd-local-photo-copy-panel {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 6px !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-item {
  grid-template-columns: 72px minmax(0,1fr) !important;
  align-items: start !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-body {
  gap: 7px !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-name {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  line-height: 1.2 !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
  width: 100% !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-btn {
  width: 100% !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 16px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  text-align: center !important;
  justify-content: center !important;
}
@media (max-width: 760px) {
  .hoja-consignacion-upload .vd-local-photo-copy-panel {
    padding: 10px !important;
    border-radius: 16px !important;
  }
  .hoja-consignacion-upload .vd-local-photo-copy-item {
    grid-template-columns: 64px minmax(0,1fr) !important;
    gap: 8px !important;
  }
  .hoja-consignacion-upload .vd-local-photo-copy-item img {
    width: 64px !important;
    height: 64px !important;
  }
}
@media (max-width: 420px) {
  .hoja-consignacion-upload .vd-local-photo-copy-actions {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-05-22 - Restauración de formato Modo Brigada Offline: responsive estable y cache-safe. */
.vd-offline-jornada-page .vd-offline-head{border:1px solid rgba(14,165,164,.16);background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(239,246,255,.96));border-radius:20px;padding:16px;box-shadow:0 14px 34px rgba(15,23,42,.08);}
.vd-offline-jornada-page .vd-offline-head-actions{display:grid;grid-template-columns:1fr;gap:8px;width:min(100%,620px);}
.vd-offline-jornada-page .vd-offline-filter{gap:8px;}
.vd-offline-jornada-page .vd-offline-filter .input,.vd-offline-jornada-page .vd-offline-head-actions .btn{min-height:36px;}
.vd-offline-jornada-page .vd-offline-status-grid,.vd-offline-jornada-page .vd-offline-patient-list,.vd-offline-jornada-page .vd-offline-action-grid{min-width:0;}
.vd-offline-jornada-page .vd-offline-patient-card,.vd-offline-jornada-page .vd-offline-mini-card{min-width:0;}
.vd-offline-jornada-page .vd-offline-mini-form{box-sizing:border-box;}
@media (max-width:640px){
  .vd-offline-jornada-page .vd-offline-main{padding-left:10px!important;padding-right:10px!important;}
  .vd-offline-jornada-page .vd-offline-head{padding:13px;}
  .vd-offline-jornada-page .vd-offline-head-actions,.vd-offline-jornada-page .vd-offline-filter{display:grid!important;grid-template-columns:1fr!important;width:100%;max-width:none;}
  .vd-offline-jornada-page .vd-offline-head-actions .btn,.vd-offline-jornada-page .vd-offline-filter .btn{width:100%;}
  .vd-offline-jornada-page .vd-offline-patient-list{grid-template-columns:1fr!important;}
  .vd-offline-jornada-page .vd-offline-action-grid,.vd-offline-jornada-page .vd-offline-med-grid{grid-template-columns:1fr!important;}
}


/* 2026-05-22 - Modo Brigada Offline: corrección desktop PC sin afectar móvil. */
@media (min-width: 981px) {
  .vd-offline-jornada-page .main.vd-offline-main {
    width: min(100% - 24px, 1180px) !important;
    margin-inline: auto !important;
    padding: 12px 0 26px !important;
    gap: 14px !important;
  }
  .vd-offline-jornada-page .vd-offline-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 460px) !important;
    align-items: start !important;
    gap: 14px !important;
  }
  .vd-offline-jornada-page .vd-offline-head-actions {
    width: 100% !important;
    max-width: 460px !important;
    justify-self: end !important;
  }
  .vd-offline-jornada-page .vd-offline-filter {
    display: grid !important;
    grid-template-columns: minmax(126px, .85fr) minmax(170px, 1.1fr) auto !important;
    align-items: center !important;
  }
  .vd-offline-jornada-page .vd-offline-status-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .vd-offline-jornada-page .vd-offline-patient-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(420px, 1fr)) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .vd-offline-jornada-page .vd-offline-patient-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .vd-offline-jornada-page .vd-offline-role-coordinador .vd-offline-action-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .vd-offline-jornada-page .vd-offline-role-medico .vd-offline-action-grid,
  .vd-offline-jornada-page .vd-offline-med-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .vd-offline-jornada-page .vd-offline-inline-form,
  .vd-offline-jornada-page .vd-offline-mini-detail {
    min-width: 0 !important;
    width: 100% !important;
  }
  .vd-offline-jornada-page .vd-offline-mini-detail[open] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .vd-offline-jornada-page .vd-offline-mini-form {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}
@media (min-width: 981px) and (max-width: 1120px) {
  .vd-offline-jornada-page .vd-offline-patient-list {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 980px) {
  .vd-offline-jornada-page .vd-offline-patient-list {
    grid-template-columns: 1fr !important;
  }
  .vd-offline-jornada-page .vd-offline-role-coordinador .vd-offline-action-grid,
  .vd-offline-jornada-page .vd-offline-med-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .vd-offline-jornada-page .vd-offline-role-coordinador .vd-offline-action-grid,
  .vd-offline-jornada-page .vd-offline-med-grid {
    grid-template-columns: 1fr !important;
  }
}



/* Fix definitivo PC: la jornada offline debe vivir dentro de la columna principal del layout, nunca como item suelto junto al sidebar. */
@media (min-width:861px){
  .vd-offline-jornada-page .app{grid-template-columns:280px minmax(0,1fr);align-items:start;}
  .vd-offline-jornada-page .app > .sidebar{grid-column:1;grid-row:1;}
  .vd-offline-jornada-page .app > .vd-offline-main{grid-column:2;grid-row:1;width:100%!important;max-width:none!important;margin:0!important;min-width:0!important;padding:18px!important;box-sizing:border-box;}
  .vd-offline-jornada-page .vd-offline-head{width:100%;box-sizing:border-box;}
  .vd-offline-jornada-page .vd-offline-status-grid,.vd-offline-jornada-page .vd-offline-patient-list{width:100%;min-width:0;}
}
@media (min-width:861px) and (max-width:1280px){
  .vd-offline-jornada-page .vd-offline-patient-list{grid-template-columns:1fr!important;}
  .vd-offline-jornada-page .vd-offline-role-coordinador .vd-offline-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:860px){
  .vd-offline-jornada-page .app > .vd-offline-main{grid-column:1;width:100%!important;max-width:none!important;margin:0!important;}
}



/* ============================================================
   Notificaciones - vista única tipo Excel para todos los roles
   ============================================================ */
.vd-notif-mobile-list-v2,
.vd-notif-mobile-card-v2,
.vd-notif-list:not(.vd-notif-summary) {
  display: none !important;
}
.vd-notif-excel .vd-notif-table-wrap {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  background: #ffffff !important;
}
.vd-notif-excel .vd-notif-table {
  width: 100% !important;
  min-width: 760px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}
.vd-notif-excel .vd-notif-table th {
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 48%, #0f766e 100%) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
  white-space: nowrap !important;
}
.vd-notif-excel .vd-notif-table td {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
}
.vd-notif-excel .vd-notif-table tr.notif-unread-row td {
  background: linear-gradient(90deg, rgba(16, 185, 129, .08), rgba(255,255,255,.98)) !important;
}
.vd-notif-excel .vd-notif-actions-cell {
  min-width: 124px !important;
}
.vd-notif-excel .vd-notif-actions-inline .btn {
  min-height: 30px !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
}
@media (max-width: 760px) {
  .vd-notif-excel {
    padding: 12px !important;
  }
  .vd-notif-excel .vd-notif-table-wrap {
    margin-left: -2px !important;
    margin-right: -2px !important;
  }
  .vd-notif-excel .vd-notif-table {
    min-width: 680px !important;
  }
  .vd-notif-excel .vd-notif-table th:nth-child(3),
  .vd-notif-excel .vd-notif-table td:nth-child(3) {
    display: table-cell !important;
  }
  .vd-notif-excel .vd-notif-msg-cell small {
    max-width: 320px !important;
  }
}
@media (max-width: 480px) {
  .vd-notif-excel .vd-notif-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .vd-notif-excel .vd-notif-table {
    min-width: 640px !important;
  }
  .vd-notif-excel .vd-notif-actions-inline {
    gap: 4px !important;
  }
}

/* MiRuta 2026-05-22 - Ayuda operativa premium por rol */
.help-premium-page .main.help-premium-main {
  background:
    radial-gradient(circle at top left, rgba(14, 165, 164, .16), transparent 34%),
    radial-gradient(circle at top right, rgba(139, 92, 246, .14), transparent 30%),
    #f5f8fb;
  min-height: 100vh;
}
.help-premium-main {
  overflow-x: hidden;
}
.help-premium-hero,
.help-premium-toolbar,
.help-premium-section,
.help-premium-empty {
  width: min(1180px, calc(100% - 28px));
  margin-left: auto;
  margin-right: auto;
}
.help-premium-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  gap: 18px;
  margin-top: 18px;
  margin-bottom: 16px;
  padding: 24px;
  border-radius: 28px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(30, 64, 175, .94) 52%, rgba(14, 165, 164, .94)),
    #0f172a;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .25);
  position: relative;
  overflow: hidden;
}
.help-premium-hero::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  right: -90px;
  top: -90px;
  background: rgba(255,255,255,.14);
  pointer-events: none;
}
.help-premium-hero-text,
.help-premium-objective {
  position: relative;
  z-index: 1;
}
.help-premium-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.22);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.help-premium-hero h1 {
  margin: 14px 0 8px;
  font-size: clamp(1.45rem, 2.7vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.help-premium-hero p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 1rem;
  line-height: 1.55;
}
.help-premium-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.help-premium-meta span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.9);
  font-size: .86rem;
}
.help-premium-objective {
  align-self: stretch;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
}
.help-premium-objective strong {
  display: block;
  margin-bottom: 8px;
  font-size: .88rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.help-premium-objective small {
  display: block;
  margin-top: 12px;
  color: rgba(255,255,255,.78);
  line-height: 1.45;
}
.help-premium-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 330px);
  align-items: end;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(148, 163, 184, .24);
  box-shadow: 0 16px 45px rgba(15, 23, 42, .08);
}
.help-premium-toolbar label {
  display: block;
  margin-bottom: 7px;
  color: #334155;
  font-size: .82rem;
  font-weight: 900;
}
.help-premium-toolbar input[type="search"] {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(14, 165, 164, .24);
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  font-weight: 700;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.help-premium-toolbar input[type="search"]:focus {
  border-color: rgba(14, 165, 164, .75);
  box-shadow: 0 0 0 4px rgba(14, 165, 164, .13);
}
.help-premium-progress {
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eff6ff, #ecfeff);
  border: 1px solid rgba(14, 165, 164, .18);
}
.help-premium-progress span {
  display: block;
  color: #0f172a;
  font-size: .84rem;
  font-weight: 900;
  margin-bottom: 9px;
}
.help-premium-progressbar {
  height: 9px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .09);
  overflow: hidden;
}
.help-premium-progressbar span {
  display: block;
  height: 100%;
  width: 0%;
  margin: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #06b6d4, #10b981, #f59e0b);
  transition: width .24s ease;
}
.help-premium-grid {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto 16px;
  display: grid;
  gap: 12px;
}
.help-premium-checklist {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.help-premium-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .24);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
  color: #0f172a;
  font-weight: 850;
  line-height: 1.25;
  cursor: pointer;
}
.help-premium-check input {
  width: 20px;
  height: 20px;
  accent-color: #0ea5a4;
  flex: 0 0 auto;
}
.help-premium-section {
  margin-bottom: 18px;
  padding: 18px;
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(148, 163, 184, .25);
  box-shadow: 0 18px 52px rgba(15, 23, 42, .08);
}
.help-premium-section-title {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 15px;
}
.help-premium-section-title > span {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 15px;
  color: #fff;
  font-weight: 950;
  background: linear-gradient(135deg, #0ea5a4, #2563eb);
  box-shadow: 0 10px 24px rgba(37, 99, 235, .25);
  flex: 0 0 auto;
}
.help-premium-section-title h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.08rem, 1.6vw, 1.42rem);
  letter-spacing: -.02em;
}
.help-premium-section-title p {
  margin: 4px 0 0;
  color: #64748b;
  line-height: 1.45;
}
.help-premium-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  counter-reset: help-flow;
  list-style: none;
}
.help-premium-flow li {
  position: relative;
  padding: 42px 13px 14px;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid rgba(148, 163, 184, .22);
  color: #334155;
  font-weight: 750;
  line-height: 1.35;
  min-height: 142px;
}
.help-premium-flow li::before {
  counter-increment: help-flow;
  content: counter(help-flow);
  position: absolute;
  top: 12px;
  left: 12px;
  width: 24px;
  height: 24px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  color: #fff;
  font-weight: 950;
  font-size: .78rem;
}
.help-premium-modules,
.help-premium-errors,
.help-premium-privacy {
  display: grid;
  gap: 12px;
}
.help-premium-modules {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.help-premium-card {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
}
.help-premium-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px;
  cursor: pointer;
  list-style: none;
}
.help-premium-card summary::-webkit-details-marker {
  display: none;
}
.help-premium-card summary span {
  min-width: 0;
}
.help-premium-card summary strong {
  display: block;
  color: #0f172a;
  font-size: 1rem;
}
.help-premium-card summary small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  line-height: 1.35;
}
.help-premium-card summary::after {
  content: "⌄";
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 12px;
  color: #0f766e;
  background: #ccfbf1;
  font-weight: 950;
  transition: transform .18s ease;
  order: 3;
  flex: 0 0 auto;
}
.help-premium-card[open] summary::after {
  transform: rotate(180deg);
}
.help-premium-open {
  text-decoration: none;
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #0ea5a4);
  font-size: .78rem;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
  order: 2;
}
.help-premium-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 12px;
  padding: 0 15px 15px;
}
.help-premium-card-body > div {
  padding: 13px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226, 232, 240, .86);
}
.help-premium-card-body h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: .9rem;
}
.help-premium-card-body ol,
.help-premium-card-body ul {
  margin: 0;
  padding-left: 18px;
  color: #334155;
  line-height: 1.45;
  font-size: .9rem;
}
.help-premium-buttons-list li::marker {
  color: #0ea5a4;
}
.help-premium-errors {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.help-premium-error {
  padding: 16px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,237,.92)),
    #fff;
  border: 1px solid rgba(251, 146, 60, .22);
  box-shadow: 0 12px 34px rgba(249, 115, 22, .08);
}
.help-premium-error h3 {
  margin: 0 0 10px;
  color: #9a3412;
  font-size: .98rem;
}
.help-premium-error p {
  margin: 7px 0 0;
  color: #334155;
  line-height: 1.45;
}
.help-premium-privacy {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.help-premium-privacy div {
  padding: 15px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f0fdf4, #ecfeff);
  border: 1px solid rgba(14, 165, 164, .20);
  color: #164e63;
  font-weight: 800;
  line-height: 1.42;
}
.help-premium-empty {
  padding: 18px;
  margin-bottom: 20px;
  border-radius: 22px;
  background: #fff7ed;
  border: 1px solid rgba(251, 146, 60, .28);
  color: #9a3412;
  font-weight: 850;
  text-align: center;
}
.help-premium-page .is-hidden {
  display: none !important;
}
@media (max-width: 1180px) {
  .help-premium-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .help-premium-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .help-premium-hero,
  .help-premium-toolbar,
  .help-premium-modules,
  .help-premium-card-body,
  .help-premium-errors,
  .help-premium-privacy {
    grid-template-columns: 1fr;
  }
  .help-premium-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .help-premium-hero,
  .help-premium-toolbar,
  .help-premium-section,
  .help-premium-empty,
  .help-premium-grid {
    width: min(100% - 18px, 100%);
  }
  .help-premium-hero {
    padding: 18px;
    border-radius: 22px;
    margin-top: 10px;
  }
  .help-premium-meta,
  .help-premium-card summary {
    align-items: stretch;
  }
  .help-premium-meta span,
  .help-premium-open {
    width: 100%;
    justify-content: center;
  }
  .help-premium-card summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .help-premium-card summary span { grid-column: 1 / -1; }
  .help-premium-open { grid-column: 1 / 2; order: 2; }
  .help-premium-card summary::after { grid-column: 2 / 3; order: 3; }
  .help-premium-checklist,
  .help-premium-flow {
    grid-template-columns: 1fr;
  }
  .help-premium-flow li {
    min-height: 0;
  }
  .help-premium-section {
    padding: 14px;
    border-radius: 22px;
  }
}

/* MiRuta 2026-05-22 - Ayuda capacitación operativa premium avanzada */
.help-training-main {
  padding-bottom: 32px;
}
.help-training-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(16, 185, 129, .32), transparent 32%),
    radial-gradient(circle at 88% 12%, rgba(236, 72, 153, .26), transparent 34%),
    linear-gradient(135deg, #020617, #1d4ed8 54%, #0f766e) !important;
}
.help-training-focus {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.help-training-focus span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #0f172a;
  font-weight: 950;
  font-size: .82rem;
  background: linear-gradient(135deg, #ffffff, #ecfeff);
  border: 1px solid rgba(14, 165, 164, .20);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}
.help-training-section {
  position: relative;
  overflow: hidden;
}
.help-training-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, #06b6d4, #8b5cf6, #ec4899, #f59e0b);
  opacity: .82;
}
.help-training-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.help-training-phase {
  padding: 16px;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid rgba(148, 163, 184, .25);
  box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
}
.help-training-phase-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 11px;
}
.help-training-phase-head span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #0ea5a4);
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22);
}
.help-training-phase h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.02rem;
  letter-spacing: -.02em;
}
.help-training-phase ol,
.help-training-panel ol,
.help-training-do-dont ul {
  margin: 0;
  padding-left: 18px;
  color: #334155;
  line-height: 1.52;
  font-size: .92rem;
}
.help-training-phase li + li,
.help-training-panel li + li,
.help-training-do-dont li + li {
  margin-top: 6px;
}
.help-training-modules {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.help-training-module {
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
}
.help-training-module summary {
  padding: 18px !important;
}
.help-training-module summary strong {
  font-size: 1.08rem !important;
}
.help-training-module-body {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
  gap: 13px;
  padding: 0 18px 18px;
}
.help-training-panel,
.help-training-do-dont > div {
  padding: 15px;
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(226, 232, 240, .9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.help-training-panel h3,
.help-training-do-dont h3,
.help-training-buttons-panel h3 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: .92rem;
  letter-spacing: -.01em;
}
.help-training-buttons-panel {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}
.help-training-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.help-training-buttons article {
  padding: 13px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(239,246,255,.98), rgba(236,254,255,.98));
  border: 1px solid rgba(37, 99, 235, .16);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}
.help-training-buttons article strong {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: #1d4ed8;
  font-size: .9rem;
  font-weight: 950;
}
.help-training-buttons article strong::before {
  content: "●";
  color: #0ea5a4;
  font-size: .68rem;
}
.help-training-buttons article p {
  margin: 0;
  color: #0f172a;
  line-height: 1.42;
  font-size: .88rem;
  font-weight: 750;
}
.help-training-buttons article small {
  display: block;
  margin-top: 7px;
  color: #64748b;
  line-height: 1.35;
  font-size: .78rem;
  font-weight: 800;
}
.help-training-do-dont {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.help-training-do {
  background: linear-gradient(135deg, #f0fdf4, #ecfeff) !important;
  border-color: rgba(16, 185, 129, .22) !important;
}
.help-training-dont {
  background: linear-gradient(135deg, #fff7ed, #fff1f2) !important;
  border-color: rgba(244, 63, 94, .20) !important;
}
.help-training-do h3 {
  color: #047857;
}
.help-training-dont h3 {
  color: #be123c;
}
.help-training-errors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
.help-training-error {
  padding: 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(251, 146, 60, .14), transparent 38%),
    linear-gradient(180deg, #ffffff, #fff7ed);
  border: 1px solid rgba(251, 146, 60, .25);
  box-shadow: 0 14px 34px rgba(249, 115, 22, .08);
}
.help-training-error h3 {
  margin: 0 0 10px;
  color: #9a3412;
  font-size: 1rem;
}
.help-training-error p {
  margin: 7px 0 0;
  color: #334155;
  line-height: 1.48;
  font-size: .91rem;
}
.help-training-error strong {
  color: #0f172a;
}
.help-training-final {
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 185, 129, .12), transparent 34%),
    rgba(255,255,255,.95) !important;
}
.help-training-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
}
.help-training-check,
.help-premium-v2 .help-premium-check,
.help-premium-v2 .help-training-check {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: flex-start !important;
  justify-items: stretch !important;
  gap: 11px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 13px 14px !important;
  background: linear-gradient(135deg, #ffffff, #f0fdf4) !important;
  border-color: rgba(16, 185, 129, .22) !important;
  text-align: left !important;
  line-height: 1.34 !important;
}
.help-premium-v2 .help-premium-check input {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  margin: 1px 0 0 0 !important;
  padding: 0 !important;
  justify-self: start !important;
  align-self: start !important;
}
.help-premium-v2 .help-premium-check span {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  color: #0f172a !important;
  font-size: .94rem !important;
  line-height: 1.34 !important;
}
.help-training-complete {
  margin-top: 14px;
  padding: 16px;
  border-radius: 22px;
  color: #064e3b;
  background: linear-gradient(135deg, #dcfce7, #ccfbf1);
  border: 1px solid rgba(16, 185, 129, .28);
  font-weight: 950;
  text-align: center;
  box-shadow: 0 14px 30px rgba(16, 185, 129, .12);
}
.help-training-page .help-premium-progressbar span {
  background: linear-gradient(90deg, #2563eb, #8b5cf6, #10b981, #f59e0b) !important;
}
@media (max-width: 1180px) {
  .help-training-module-body,
  .help-training-timeline {
    grid-template-columns: 1fr;
  }
  .help-training-buttons-panel {
    grid-column: auto;
    grid-row: auto;
  }
}
@media (max-width: 920px) {
  .help-training-errors,
  .help-training-checklist,
  .help-training-do-dont {
    grid-template-columns: 1fr;
  }
  .help-training-buttons {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .help-training-focus {
    width: min(100% - 18px, 100%);
    gap: 7px;
  }
  .help-training-focus span {
    min-height: 30px;
    padding: 7px 10px;
    font-size: .76rem;
  }
  .help-training-module summary {
    padding: 14px !important;
  }
  .help-training-module-body {
    padding: 0 12px 12px;
    gap: 10px;
  }
  .help-training-panel,
  .help-training-do-dont > div,
  .help-training-error,
  .help-training-phase {
    padding: 13px;
    border-radius: 18px;
  }
  .help-training-buttons article {
    padding: 12px;
    border-radius: 16px;
  }
}


/* MiRuta 2026-05-22 - Ayuda premium contenido v2: blindaje visual global */
.help-premium-v2 .help-premium-main,
.help-premium-v2 main.help-premium-main{width:100%;max-width:100%;min-width:0;padding:18px 18px 34px;background:radial-gradient(circle at 8% 0%,rgba(59,130,246,.10),transparent 28%),radial-gradient(circle at 92% 6%,rgba(236,72,153,.10),transparent 30%),linear-gradient(180deg,#f8fafc 0%,#eef6ff 52%,#f8fafc 100%)}
.help-premium-v2 .help-premium-hero,.help-premium-v2 .help-premium-toolbar,.help-premium-v2 .help-premium-section,.help-premium-v2 .help-training-focus,.help-premium-v2 .help-premium-empty{width:min(1180px,100%);margin-left:auto;margin-right:auto;box-sizing:border-box}
.help-premium-v2 .help-premium-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;padding:24px;margin-top:12px;margin-bottom:14px;border-radius:30px;color:#fff;background:radial-gradient(circle at 12% 18%,rgba(16,185,129,.35),transparent 32%),radial-gradient(circle at 88% 12%,rgba(236,72,153,.28),transparent 34%),linear-gradient(135deg,#020617,#1d4ed8 54%,#0f766e)!important;box-shadow:0 22px 52px rgba(15,23,42,.18);overflow:hidden}
.help-premium-v2 .help-premium-eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.help-premium-v2 .help-premium-hero h1{margin:14px 0 9px;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.05;letter-spacing:-.045em;color:#fff}.help-premium-v2 .help-premium-hero p{margin:0;color:rgba(255,255,255,.90);line-height:1.55;font-weight:700}.help-premium-v2 .help-premium-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.help-premium-v2 .help-premium-meta span{display:inline-flex;gap:5px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.82rem}.help-premium-v2 .help-premium-objective{padding:18px;border-radius:24px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px)}.help-premium-v2 .help-premium-objective strong{display:block;margin-bottom:8px;font-size:1.02rem;color:#fff}.help-premium-v2 .help-premium-objective small{display:block;margin-top:10px;color:rgba(255,255,255,.76);line-height:1.45;font-weight:750}
.help-premium-v2 .help-training-focus{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.help-premium-v2 .help-training-focus span{display:inline-flex;align-items:center;min-height:34px;padding:8px 13px;border-radius:999px;background:linear-gradient(135deg,#fff,#ecfeff);border:1px solid rgba(14,165,164,.22);box-shadow:0 12px 28px rgba(15,23,42,.08);color:#0f172a;font-size:.82rem;font-weight:950}
.help-premium-v2 .help-premium-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.35fr);gap:14px;align-items:end;padding:16px;margin-bottom:16px;border-radius:24px;background:rgba(255,255,255,.94);border:1px solid rgba(226,232,240,.92);box-shadow:0 14px 40px rgba(15,23,42,.08)}.help-premium-v2 .help-premium-toolbar label{display:block;margin-bottom:7px;color:#334155;font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.help-premium-v2 .help-premium-toolbar input[type="search"]{width:100%;min-height:44px;padding:11px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.45);background:#f8fafc;color:#0f172a;font-weight:800;outline:none}.help-premium-v2 .help-premium-toolbar input[type="search"]:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);background:#fff}.help-premium-v2 .help-premium-progress{padding:10px;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#ecfeff);border:1px solid rgba(37,99,235,.16)}.help-premium-v2 .help-premium-progress span{display:block;margin-bottom:8px;color:#1e293b;font-size:.83rem;font-weight:950;text-align:right}.help-premium-v2 .help-premium-progressbar{height:9px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden}.help-premium-v2 .help-premium-progressbar span{display:block;height:100%;width:0;margin:0;border-radius:999px;background:linear-gradient(90deg,#2563eb,#8b5cf6,#10b981,#f59e0b)!important;transition:width .25s ease}
.help-premium-v2 .help-premium-section{position:relative;overflow:hidden;margin-bottom:16px;padding:20px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.95);box-shadow:0 16px 44px rgba(15,23,42,.08)}.help-premium-v2 .help-premium-section:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#06b6d4,#8b5cf6,#ec4899,#f59e0b);opacity:.86}.help-premium-v2 .help-premium-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.help-premium-v2 .help-premium-section-title>span{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5a4);box-shadow:0 12px 24px rgba(37,99,235,.22);font-weight:950}.help-premium-v2 .help-premium-section-title h2{margin:0;color:#0f172a;font-size:clamp(1.18rem,2vw,1.55rem);letter-spacing:-.03em}.help-premium-v2 .help-premium-section-title p{margin:5px 0 0;color:#64748b;line-height:1.45;font-weight:700}
.help-premium-v2 .help-training-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.help-premium-v2 .help-training-phase,.help-premium-v2 .help-training-error,.help-premium-v2 .help-training-panel,.help-premium-v2 .help-training-do-dont>div,.help-premium-v2 .help-training-buttons article,.help-premium-v2 .help-premium-check{box-sizing:border-box;border-radius:22px;border:1px solid rgba(226,232,240,.88);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 32px rgba(15,23,42,.06)}.help-premium-v2 .help-training-phase{padding:16px}.help-premium-v2 .help-training-phase-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.help-premium-v2 .help-training-phase-head span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5a4);font-weight:950}.help-premium-v2 .help-training-phase h3,.help-premium-v2 .help-training-panel h3,.help-premium-v2 .help-training-do-dont h3,.help-premium-v2 .help-training-buttons-panel h3{margin:0 0 10px;color:#0f172a;font-size:.96rem;letter-spacing:-.01em}.help-premium-v2 .help-training-phase ol,.help-premium-v2 .help-training-panel ol,.help-premium-v2 .help-training-do-dont ul{margin:0;padding-left:18px;color:#334155;line-height:1.54;font-size:.92rem;font-weight:650}.help-premium-v2 .help-training-phase li+li,.help-premium-v2 .help-training-panel li+li,.help-premium-v2 .help-training-do-dont li+li{margin-top:6px}
.help-premium-v2 .help-training-modules{display:grid;grid-template-columns:1fr;gap:14px}.help-premium-v2 details.help-training-module{border-radius:26px!important;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,250,252,.98))!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 14px 38px rgba(15,23,42,.07)!important;overflow:hidden}.help-premium-v2 .help-training-module summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:18px!important;cursor:pointer;list-style:none}.help-premium-v2 .help-training-module summary::-webkit-details-marker{display:none}.help-premium-v2 .help-training-module summary strong{display:block;color:#0f172a;font-size:1.08rem!important;letter-spacing:-.02em}.help-premium-v2 .help-training-module summary small{display:block;margin-top:4px;color:#64748b;font-size:.86rem;font-weight:700;line-height:1.35}.help-premium-v2 .help-training-module summary:after{content:"⌄";display:inline-grid;place-items:center;width:34px;height:34px;border-radius:14px;background:#eef2ff;color:#1d4ed8;font-weight:950;transition:transform .18s ease}.help-premium-v2 .help-training-module[open] summary:after{transform:rotate(180deg)}.help-premium-v2 .help-premium-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:999px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#2563eb,#8b5cf6);box-shadow:0 10px 24px rgba(37,99,235,.22);font-size:.82rem;font-weight:950;white-space:nowrap}
.help-premium-v2 .help-training-module-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:13px;padding:0 18px 18px}.help-premium-v2 .help-training-panel,.help-premium-v2 .help-training-do-dont>div{padding:15px;background:rgba(255,255,255,.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.help-premium-v2 .help-training-buttons-panel{grid-column:2/3;grid-row:1/3}.help-premium-v2 .help-training-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-premium-v2 .help-training-buttons article{padding:13px;background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(236,254,255,.98));border-color:rgba(37,99,235,.18)}.help-premium-v2 .help-training-buttons article strong{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:#1d4ed8;font-size:.9rem;font-weight:950}.help-premium-v2 .help-training-buttons article strong:before{content:"●";color:#0ea5a4;font-size:.68rem}.help-premium-v2 .help-training-buttons article p{margin:0;color:#0f172a;line-height:1.42;font-size:.88rem;font-weight:780}.help-premium-v2 .help-training-buttons article small{display:block;margin-top:7px;color:#64748b;line-height:1.35;font-size:.78rem;font-weight:800}.help-premium-v2 .help-training-do-dont{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-premium-v2 .help-training-do{background:linear-gradient(135deg,#f0fdf4,#ecfeff)!important;border-color:rgba(16,185,129,.24)!important}.help-premium-v2 .help-training-dont{background:linear-gradient(135deg,#fff7ed,#fff1f2)!important;border-color:rgba(244,63,94,.22)!important}.help-premium-v2 .help-training-do h3{color:#047857}.help-premium-v2 .help-training-dont h3{color:#be123c}
.help-premium-v2 .help-training-errors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.help-premium-v2 .help-training-error{padding:16px;background:radial-gradient(circle at top right,rgba(251,146,60,.16),transparent 38%),linear-gradient(180deg,#fff,#fff7ed);border-color:rgba(251,146,60,.26);box-shadow:0 14px 34px rgba(249,115,22,.08)}.help-premium-v2 .help-training-error h3{margin:0 0 10px;color:#9a3412;font-size:1rem}.help-premium-v2 .help-training-error p{margin:7px 0 0;color:#334155;line-height:1.48;font-size:.91rem;font-weight:650}.help-premium-v2 .help-training-error strong{color:#0f172a}.help-premium-v2 .help-training-final{background:radial-gradient(circle at 100% 0%,rgba(16,185,129,.14),transparent 34%),rgba(255,255,255,.97)!important}.help-premium-v2 .help-training-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:100%;margin:0;padding:0;list-style:none;overflow:visible}.help-premium-v2 .help-premium-check,.help-premium-v2 .help-training-check{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:flex-start!important;justify-items:stretch!important;gap:11px!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;padding:13px 14px!important;background:linear-gradient(135deg,#fff,#f0fdf4)!important;border-color:rgba(16,185,129,.24)!important;cursor:pointer;font-weight:850;color:#0f172a;text-align:left!important;line-height:1.34!important}.help-premium-v2 .help-premium-check input{position:static!important;display:block!important;visibility:visible!important;opacity:1!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;margin:1px 0 0 0!important;padding:0!important;accent-color:#10b981;justify-self:start!important;align-self:start!important;flex:0 0 auto!important}.help-premium-v2 .help-premium-check span{display:block!important;visibility:visible!important;opacity:1!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important;color:#0f172a!important;font-size:.94rem!important;line-height:1.34!important}.help-premium-v2 .help-training-complete{margin-top:14px;padding:16px;border-radius:22px;color:#064e3b;background:linear-gradient(135deg,#dcfce7,#ccfbf1);border:1px solid rgba(16,185,129,.28);font-weight:950;text-align:center;box-shadow:0 14px 30px rgba(16,185,129,.12)}.help-premium-v2 .help-premium-empty{padding:18px;margin-bottom:20px;border-radius:22px;background:#fff7ed;border:1px solid rgba(251,146,60,.28);color:#9a3412;font-weight:850;text-align:center}.help-premium-v2 .is-hidden{display:none!important}
@media(max-width:1180px){.help-premium-v2 .help-training-module-body,.help-premium-v2 .help-training-timeline{grid-template-columns:1fr}.help-premium-v2 .help-training-buttons-panel{grid-column:auto;grid-row:auto}}@media(max-width:920px){.help-premium-v2 .help-premium-hero,.help-premium-v2 .help-premium-toolbar,.help-premium-v2 .help-training-errors,.help-premium-v2 .help-training-checklist,.help-premium-v2 .help-training-do-dont{grid-template-columns:1fr}.help-premium-v2 .help-training-buttons{grid-template-columns:1fr}}@media(max-width:640px){.help-premium-v2 .help-premium-main,.help-premium-v2 main.help-premium-main{padding:10px 9px 24px}.help-premium-v2 .help-premium-hero{padding:18px;border-radius:22px;margin-top:10px}.help-premium-v2 .help-premium-section{padding:14px;border-radius:22px}.help-premium-v2 .help-premium-toolbar{padding:13px;border-radius:20px}.help-premium-v2 .help-training-module summary{grid-template-columns:minmax(0,1fr) auto!important;padding:14px!important}.help-premium-v2 .help-training-module summary>span{grid-column:1/-1}.help-premium-v2 .help-premium-open{grid-column:1/2;width:100%}.help-premium-v2 .help-training-module summary:after{grid-column:2/3}.help-premium-v2 .help-training-module-body{padding:0 12px 12px}.help-premium-v2 .help-training-focus{gap:7px}.help-premium-v2 .help-training-focus span{min-height:30px;padding:7px 10px;font-size:.76rem}}


/* MiRuta ayuda manual botones roles 2026-05-22 */

.help-premium-v2 .help-button-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.help-premium-v2 .help-button-page{border-radius:24px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid rgba(203,213,225,.92);box-shadow:0 16px 36px rgba(15,23,42,.08);overflow:hidden;}
.help-premium-v2 .help-button-page summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:16px 18px;list-style:none;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(14,165,164,.08));}
.help-premium-v2 .help-button-page summary::-webkit-details-marker{display:none;}
.help-premium-v2 .help-button-page summary strong{display:block;color:#0f172a;font-size:1rem;font-weight:950;letter-spacing:-.02em;}
.help-premium-v2 .help-button-page summary small{display:block;margin-top:4px;color:#64748b;font-weight:750;line-height:1.35;}
.help-premium-v2 .help-button-list{display:grid;gap:12px;padding:14px;}
.help-premium-v2 .help-button-card{padding:14px;border-radius:20px;background:#fff;border:1px solid rgba(226,232,240,.96);box-shadow:0 10px 24px rgba(15,23,42,.055);}
.help-premium-v2 .help-button-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.help-premium-v2 .help-button-card-head strong{color:#334155;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em;}
.help-premium-v2 .help-button-pill{display:inline-flex;align-items:center;min-height:30px;padding:7px 11px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed,#ec4899);box-shadow:0 10px 22px rgba(124,58,237,.22);font-size:.82rem;font-weight:950;}
.help-premium-v2 .help-button-card p{margin:0 0 11px;color:#0f172a;font-weight:780;line-height:1.45;}
.help-premium-v2 .help-button-grid-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.help-premium-v2 .help-button-grid-mini div{padding:10px;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#eef6ff);border:1px solid rgba(203,213,225,.82);}
.help-premium-v2 .help-button-grid-mini b{display:block;margin-bottom:5px;color:#0f172a;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;}
.help-premium-v2 .help-button-grid-mini span{display:block;color:#475569;font-size:.83rem;line-height:1.35;font-weight:720;}
@media (max-width:1100px){.help-premium-v2 .help-button-page-grid{grid-template-columns:1fr;}.help-premium-v2 .help-button-grid-mini{grid-template-columns:1fr;}}
@media (max-width:640px){.help-premium-v2 .help-button-page summary{align-items:flex-start;flex-direction:column;}.help-premium-v2 .help-button-page .help-premium-open{width:100%;justify-content:center;}.help-premium-v2 .help-button-card{padding:12px;border-radius:18px;}}

/* 2026-05-22 - Coordinador: egresos y hotel con encabezado premium desplegable. */
.hoja-toggle-premium-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .22) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .075) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.hoja-toggle-egresos-card {
  border-color: rgba(249, 115, 22, .28) !important;
  background:
    radial-gradient(circle at top left, rgba(251, 146, 60, .18), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

.hoja-toggle-hotel-card {
  padding: 12px;
  border-color: rgba(6, 182, 212, .26) !important;
  background:
    radial-gradient(circle at top left, rgba(6, 182, 212, .16), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #ecfeff 100%) !important;
}

.hoja-panel-premium-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  user-select: none;
  min-width: 0;
  padding: 2px 0 10px;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.hoja-panel-premium-head::-webkit-details-marker {
  display: none;
}

.hoja-toggle-premium-card:not([open]) .hoja-panel-premium-head {
  padding-bottom: 2px;
  border-bottom-color: transparent;
  margin-bottom: 0;
}

.hoja-panel-title-block {
  min-width: 0;
}

.hoja-panel-premium-head h3 {
  margin: 0;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.12;
  font-weight: 950;
  color: #0f172a;
  letter-spacing: -.035em;
}

.hoja-panel-premium-head small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 11.5px;
  line-height: 1.25;
  font-weight: 750;
}

.hoja-panel-head-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  min-width: max-content;
}

.hoja-panel-head-actions > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70), 0 8px 18px rgba(15,23,42,.08);
}

.hoja-toggle-egresos-card .hoja-panel-head-actions > strong {
  color: #c2410c;
  border: 1px solid rgba(249,115,22,.28);
  background: linear-gradient(135deg, rgba(255,237,213,.98), rgba(254,215,170,.86));
}

.hoja-toggle-hotel-card .hoja-panel-head-actions > strong.ok {
  color: #047857;
  border: 1px solid rgba(16,185,129,.26);
  background: linear-gradient(135deg, rgba(209,250,229,.98), rgba(167,243,208,.82));
}

.hoja-toggle-hotel-card .hoja-panel-head-actions > strong.warn {
  color: #be123c;
  border: 1px solid rgba(244,63,94,.26);
  background: linear-gradient(135deg, rgba(255,228,230,.98), rgba(254,202,202,.82));
}

.hoja-panel-toggle-premium {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  min-width: 122px;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .01em;
  white-space: nowrap;
  text-transform: uppercase;
  background: linear-gradient(135deg, #0f172a 0%, #2563eb 52%, #06b6d4 100%);
  box-shadow: 0 13px 26px rgba(37,99,235,.24), inset 0 1px 0 rgba(255,255,255,.28);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.hoja-panel-toggle-premium::before {
  content: '';
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.hoja-panel-toggle-premium::after {
  content: '⌄';
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-52%);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  transition: transform .18s ease;
}

.hoja-panel-premium-head:hover .hoja-panel-toggle-premium {
  transform: translateY(-1px);
  filter: saturate(1.08);
  box-shadow: 0 16px 34px rgba(37,99,235,.30), inset 0 1px 0 rgba(255,255,255,.32);
}

.hoja-toggle-premium-card[open] .hoja-panel-toggle-premium {
  background: linear-gradient(135deg, #7c3aed 0%, #db2777 52%, #f97316 100%);
  box-shadow: 0 13px 26px rgba(219,39,119,.24), inset 0 1px 0 rgba(255,255,255,.30);
}

.hoja-toggle-premium-card[open] .hoja-panel-toggle-premium::after {
  transform: translateY(-48%) rotate(180deg);
}

.hoja-panel-toggle-premium .hoja-toggle-expanded {
  display: none;
}

.hoja-toggle-premium-card[open] .hoja-panel-toggle-premium .hoja-toggle-collapsed {
  display: none;
}

.hoja-toggle-premium-card[open] .hoja-panel-toggle-premium .hoja-toggle-expanded {
  display: inline;
}

.hoja-panel-premium-head:focus-visible,
.hoja-panel-premium-head:focus-visible .hoja-panel-toggle-premium {
  outline: 3px solid rgba(6,182,212,.28);
  outline-offset: 3px;
}

.hoja-hotel-dia .hoja-hotel-form-compact,
.hoja-hotel-dia .hoja-hotel-alert {
  margin-top: 10px;
}

.hoja-hotel-form-compact {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(0, 1fr) auto;
  gap: 9px;
  align-items: end;
}

.hoja-hotel-new-fields {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(120px, .75fr) minmax(180px, 1.15fr);
  grid-column: 1 / -1;
  gap: 9px;
  align-items: end;
}

.hoja-hotel-preview {
  min-height: 42px;
  padding: 9px 11px;
  border-radius: 14px;
  border: 1px solid rgba(6, 182, 212, .18);
  background: rgba(240, 253, 250, .68);
  color: #0f766e;
  font-size: 12px;
  font-weight: 800;
}

.hoja-hotel-save {
  min-height: 42px;
}

@media (max-width: 760px) {
  .hoja-toggle-premium-card,
  .hoja-toggle-hotel-card {
    padding: 10px !important;
    border-radius: 17px !important;
  }

  .hoja-panel-premium-head,
  .hoja-egresos-head,
  .hoja-hotel-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .hoja-panel-premium-head h3 {
    font-size: 16px !important;
  }

  .hoja-panel-premium-head small {
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  .hoja-panel-head-actions {
    width: 100%;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(108px, .76fr) !important;
    gap: 7px !important;
    align-items: stretch !important;
  }

  .hoja-panel-head-actions > strong {
    width: 100%;
    min-width: 0 !important;
    min-height: 36px;
    padding: 7px 8px !important;
    font-size: 11.5px !important;
    overflow-wrap: anywhere;
  }

  .hoja-panel-toggle-premium {
    width: 100%;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 8px 10px 8px 14px !important;
    font-size: 10.5px !important;
  }

  .hoja-panel-toggle-premium::before {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
  }

  .hoja-panel-toggle-premium::after {
    left: 15px !important;
    font-size: 13px !important;
  }

  .hoja-hotel-form-compact,
  .hoja-hotel-new-fields {
    grid-template-columns: 1fr !important;
  }

  .hoja-hotel-form-compact .hoja-hotel-save {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .hoja-panel-head-actions {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-05-22 - Hoja diaria coordinador: egresos/hotel premium REAL con botón funcional. */
#egresos-dia.hoja-diaria-premium-panel,
#hotel-dia.hoja-diaria-premium-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(148, 163, 184, .26) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
}
#egresos-dia.hoja-diaria-egresos-premium {
  border-color: rgba(249, 115, 22, .38) !important;
  background: radial-gradient(circle at 0% 0%, rgba(251, 146, 60, .25), transparent 34%), linear-gradient(180deg, #fffaf5 0%, #ffffff 55%, #fff7ed 100%) !important;
}
#hotel-dia.hoja-diaria-hotel-premium {
  border-color: rgba(6, 182, 212, .36) !important;
  background: radial-gradient(circle at 0% 0%, rgba(6, 182, 212, .24), transparent 34%), linear-gradient(180deg, #f0fdff 0%, #ffffff 58%, #ecfeff 100%) !important;
}
#egresos-dia .hoja-diaria-premium-head,
#hotel-dia .hoja-diaria-premium-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 2px 0 12px !important;
  border-bottom: 1px solid rgba(148, 163, 184, .20) !important;
}
#egresos-dia.is-collapsed .hoja-diaria-premium-head,
#hotel-dia.is-collapsed .hoja-diaria-premium-head {
  padding-bottom: 2px !important;
  border-bottom-color: transparent !important;
}
#egresos-dia .hoja-diaria-premium-title h3,
#hotel-dia .hoja-diaria-premium-title h3 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}
#egresos-dia .hoja-diaria-premium-title small,
#hotel-dia .hoja-diaria-premium-title small {
  display: block !important;
  margin-top: 6px !important;
  color: #475569 !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#egresos-dia .hoja-diaria-premium-actions,
#hotel-dia .hoja-diaria-premium-actions {
  display: inline-grid !important;
  grid-template-columns: auto auto !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: end !important;
  min-width: max-content !important;
}
#egresos-dia .hoja-diaria-premium-actions > strong,
#hotel-dia .hoja-diaria-premium-actions > strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 116px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(15,23,42,.09) !important;
}
#egresos-dia .hoja-diaria-premium-actions > strong {
  color: #c2410c !important;
  border: 1px solid rgba(249,115,22,.35) !important;
  background: linear-gradient(135deg, rgba(255,237,213,.98), rgba(254,215,170,.90)) !important;
}
#hotel-dia .hoja-diaria-premium-actions > strong.ok {
  color: #047857 !important;
  border: 1px solid rgba(16,185,129,.32) !important;
  background: linear-gradient(135deg, rgba(209,250,229,.98), rgba(167,243,208,.88)) !important;
}
#hotel-dia .hoja-diaria-premium-actions > strong.warn {
  color: #be123c !important;
  border: 1px solid rgba(244,63,94,.32) !important;
  background: linear-gradient(135deg, rgba(255,228,230,.98), rgba(254,202,202,.88)) !important;
}
#egresos-dia .hoja-diaria-toggle-premium,
#hotel-dia .hoja-diaria-toggle-premium {
  min-width: 128px !important;
  min-height: 40px !important;
}
#egresos-dia .hoja-diaria-premium-body,
#hotel-dia .hoja-diaria-premium-body {
  margin-top: 12px !important;
  min-width: 0 !important;
}
@media (max-width: 760px) {
  #egresos-dia.hoja-diaria-premium-panel,
  #hotel-dia.hoja-diaria-premium-panel {
    margin: 12px 0 !important;
    padding: 12px !important;
    border-radius: 19px !important;
  }
  #egresos-dia .hoja-diaria-premium-head,
  #hotel-dia .hoja-diaria-premium-head {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  #egresos-dia .hoja-diaria-premium-title h3,
  #hotel-dia .hoja-diaria-premium-title h3 {
    font-size: 21px !important;
  }
  #egresos-dia .hoja-diaria-premium-actions,
  #hotel-dia .hoja-diaria-premium-actions {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(120px, .78fr) !important;
  }
  #egresos-dia .hoja-diaria-premium-actions > strong,
  #hotel-dia .hoja-diaria-premium-actions > strong,
  #egresos-dia .hoja-diaria-toggle-premium,
  #hotel-dia .hoja-diaria-toggle-premium {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 390px) {
  #egresos-dia .hoja-diaria-premium-actions,
  #hotel-dia .hoja-diaria-premium-actions {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-05-22 - Hoja diaria coordinador: cierre de caja premium real igualado con egresos/hotel. */
#cierre-caja.hoja-diaria-cierre-premium {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(37, 99, 235, .34) !important;
  background: radial-gradient(circle at 0% 0%, rgba(59, 130, 246, .24), transparent 34%), radial-gradient(circle at 100% 0%, rgba(124, 58, 237, .16), transparent 30%), linear-gradient(180deg, #f8fbff 0%, #ffffff 55%, #eff6ff 100%) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
}
#cierre-caja .hoja-diaria-premium-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 2px 0 12px !important;
  border-bottom: 1px solid rgba(37, 99, 235, .16) !important;
}
#cierre-caja.is-collapsed .hoja-diaria-premium-head {
  padding-bottom: 2px !important;
  border-bottom-color: transparent !important;
}
#cierre-caja .hoja-diaria-premium-title h3 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}
#cierre-caja .hoja-diaria-premium-title small {
  display: block !important;
  margin-top: 6px !important;
  color: #475569 !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#cierre-caja .hoja-diaria-cierre-actions {
  display: inline-grid !important;
  grid-template-columns: auto auto !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: end !important;
  min-width: max-content !important;
}
#cierre-caja .hoja-diaria-cierre-actions > strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 116px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(15,23,42,.09) !important;
}
#cierre-caja .hoja-diaria-cierre-actions > strong.ok {
  color: #047857 !important;
  border: 1px solid rgba(16,185,129,.32) !important;
  background: linear-gradient(135deg, rgba(209,250,229,.98), rgba(167,243,208,.88)) !important;
}
#cierre-caja .hoja-diaria-cierre-actions > strong.warn {
  color: #be123c !important;
  border: 1px solid rgba(244,63,94,.32) !important;
  background: linear-gradient(135deg, rgba(255,228,230,.98), rgba(254,202,202,.88)) !important;
}
#cierre-caja .hoja-diaria-toggle-premium {
  min-width: 128px !important;
  min-height: 40px !important;
}
#cierre-caja .hoja-diaria-premium-body {
  margin-top: 12px !important;
  min-width: 0 !important;
}
#cierre-caja .hoja-precierre-grid > div {
  border: 1px solid rgba(37,99,235,.16) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,246,255,.82)) !important;
}
#cierre-caja .hoja-consignaciones-box {
  border: 1px solid rgba(37,99,235,.16) !important;
  background: linear-gradient(135deg, rgba(248,250,252,.98), rgba(239,246,255,.82)) !important;
}
@media (max-width: 760px) {
  #cierre-caja.hoja-diaria-cierre-premium {
    margin: 12px 0 !important;
    padding: 12px !important;
    border-radius: 19px !important;
  }
  #cierre-caja .hoja-diaria-premium-head {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  #cierre-caja .hoja-diaria-premium-title h3 {
    font-size: 21px !important;
  }
  #cierre-caja .hoja-diaria-cierre-actions {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(120px, .78fr) !important;
  }
  #cierre-caja .hoja-diaria-cierre-actions > strong,
  #cierre-caja .hoja-diaria-toggle-premium {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 390px) {
  #cierre-caja .hoja-diaria-cierre-actions {
    grid-template-columns: 1fr !important;
  }
}

/* 2026-05-22: Hoja diaria - Pacientes del día y Productos vendidos premium real. */
#productos-jornada.hoja-diaria-productos-premium,
#pacientes-dia.hoja-diaria-pacientes-premium {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(148, 163, 184, .26) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
}
#productos-jornada.hoja-diaria-productos-premium {
  border-color: rgba(124, 58, 237, .36) !important;
  background: radial-gradient(circle at 0% 0%, rgba(168, 85, 247, .22), transparent 34%), radial-gradient(circle at 100% 0%, rgba(236, 72, 153, .12), transparent 28%), linear-gradient(180deg, #fbf7ff 0%, #ffffff 56%, #f5f3ff 100%) !important;
}
#pacientes-dia.hoja-diaria-pacientes-premium {
  border-color: rgba(16, 185, 129, .36) !important;
  background: radial-gradient(circle at 0% 0%, rgba(16, 185, 129, .22), transparent 34%), radial-gradient(circle at 100% 0%, rgba(20, 184, 166, .13), transparent 30%), linear-gradient(180deg, #f0fdf7 0%, #ffffff 56%, #ecfdf5 100%) !important;
}
#productos-jornada .hoja-diaria-premium-head,
#pacientes-dia .hoja-diaria-premium-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 2px 0 12px !important;
  border-bottom: 1px solid rgba(148, 163, 184, .20) !important;
  cursor: pointer !important;
  list-style: none !important;
}
#productos-jornada .hoja-diaria-premium-head::-webkit-details-marker,
#pacientes-dia .hoja-diaria-premium-head::-webkit-details-marker {
  display: none !important;
}
#productos-jornada:not([open]) .hoja-diaria-premium-head,
#pacientes-dia:not([open]) .hoja-diaria-premium-head {
  padding-bottom: 2px !important;
  border-bottom-color: transparent !important;
}
#productos-jornada .hoja-diaria-premium-title h3,
#pacientes-dia .hoja-diaria-premium-title h3 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}
#productos-jornada .hoja-diaria-premium-title small,
#pacientes-dia .hoja-diaria-premium-title small {
  display: block !important;
  margin-top: 6px !important;
  color: #475569 !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#productos-jornada .hoja-diaria-premium-actions,
#pacientes-dia .hoja-diaria-premium-actions {
  display: inline-grid !important;
  grid-template-columns: auto auto !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: end !important;
  min-width: max-content !important;
}
#productos-jornada .hoja-diaria-premium-actions > strong,
#pacientes-dia .hoja-diaria-premium-actions > strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 116px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(15,23,42,.09) !important;
}
#productos-jornada .hoja-diaria-premium-actions > strong {
  color: #6d28d9 !important;
  border: 1px solid rgba(124,58,237,.34) !important;
  background: linear-gradient(135deg, rgba(237,233,254,.98), rgba(221,214,254,.90)) !important;
}
#pacientes-dia .hoja-diaria-premium-actions > strong {
  color: #047857 !important;
  border: 1px solid rgba(16,185,129,.34) !important;
  background: linear-gradient(135deg, rgba(209,250,229,.98), rgba(167,243,208,.88)) !important;
}
#productos-jornada .hoja-diaria-toggle-premium,
#pacientes-dia .hoja-diaria-toggle-premium {
  min-width: 128px !important;
  min-height: 40px !important;
}
#productos-jornada[open] .hoja-productos-toggle-collapsed,
#productos-jornada:not([open]) .hoja-productos-toggle-expanded,
#pacientes-dia[open] .hoja-pacientes-closed,
#pacientes-dia:not([open]) .hoja-pacientes-open {
  display: none !important;
}
#productos-jornada .hoja-diaria-premium-body,
#pacientes-dia .hoja-diaria-premium-body {
  margin-top: 12px !important;
  min-width: 0 !important;
}
#productos-jornada .hoja-productos-kpis > div,
#productos-jornada .hoja-productos-box,
#pacientes-dia .hoja-patient-card {
  border-color: rgba(148, 163, 184, .18) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.055) !important;
}
@media (max-width: 760px) {
  #productos-jornada.hoja-diaria-productos-premium,
  #pacientes-dia.hoja-diaria-pacientes-premium {
    margin: 12px 0 !important;
    padding: 12px !important;
    border-radius: 19px !important;
  }
  #productos-jornada .hoja-diaria-premium-head,
  #pacientes-dia .hoja-diaria-premium-head {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  #productos-jornada .hoja-diaria-premium-title h3,
  #pacientes-dia .hoja-diaria-premium-title h3 {
    font-size: 21px !important;
  }
  #productos-jornada .hoja-diaria-premium-actions,
  #pacientes-dia .hoja-diaria-premium-actions {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(120px, .78fr) !important;
  }
  #productos-jornada .hoja-diaria-premium-actions > strong,
  #pacientes-dia .hoja-diaria-premium-actions > strong,
  #productos-jornada .hoja-diaria-toggle-premium,
  #pacientes-dia .hoja-diaria-toggle-premium {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 390px) {
  #productos-jornada .hoja-diaria-premium-actions,
  #pacientes-dia .hoja-diaria-premium-actions {
    grid-template-columns: 1fr !important;
  }
}

/* 20260523 - Busqueda viva premium en Pacientes del dia / Hoja diaria */
.hoja-live-search-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(16,185,129,.22);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(236,253,245,.96), rgba(240,253,250,.92));
  color:#065f46;
  font-size:13px;
  font-weight:700;
  box-shadow:0 12px 30px rgba(15,23,42,.07);
}
.hoja-live-search-note[hidden], .hoja-live-empty[hidden]{display:none!important;}
.hoja-live-search-note::before{
  content:'🔎';
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(135deg,#10b981,#06b6d4);
  color:#fff;
  box-shadow:0 8px 18px rgba(16,185,129,.25);
  flex:0 0 auto;
}
.hoja-patient-card.is-live-hidden{display:none!important;}
.hoja-live-empty{
  grid-column:1 / -1;
  margin:0 0 12px!important;
  border-radius:16px!important;
  font-weight:700;
}
@media(max-width:640px){
  .hoja-live-search-note{font-size:12px;align-items:flex-start;line-height:1.35;}
  .hoja-live-search-note::before{width:24px;height:24px;}
}


/* 2026-05-23: Ruta semanal del coordinador con panel premium real. */
#ruta-semanal-coordinador.hoja-diaria-ruta-semanal-premium {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(14, 165, 233, .36) !important;
  background: radial-gradient(circle at 0% 0%, rgba(14, 165, 233, .22), transparent 34%), radial-gradient(circle at 100% 0%, rgba(34, 197, 94, .12), transparent 30%), linear-gradient(180deg, #f0f9ff 0%, #ffffff 56%, #ecfeff 100%) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 2px 0 12px !important;
  border-bottom: 1px solid rgba(14, 165, 233, .18) !important;
  cursor: pointer !important;
  list-style: none !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-head::-webkit-details-marker {
  display: none !important;
}
#ruta-semanal-coordinador:not([open]) .hoja-diaria-premium-head {
  padding-bottom: 2px !important;
  border-bottom-color: transparent !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-title h3 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-title small {
  display: block !important;
  margin-top: 6px !important;
  color: #475569 !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-actions {
  display: inline-grid !important;
  grid-template-columns: auto auto !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: end !important;
  min-width: max-content !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-actions > strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  min-width: 116px !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  color: #0369a1 !important;
  border: 1px solid rgba(14,165,233,.34) !important;
  background: linear-gradient(135deg, rgba(224,242,254,.98), rgba(186,230,253,.90)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 10px 22px rgba(15,23,42,.09) !important;
}
#ruta-semanal-coordinador .hoja-diaria-toggle-premium {
  min-width: 128px !important;
  min-height: 40px !important;
}
#ruta-semanal-coordinador[open] .hoja-ruta-semanal-collapsed,
#ruta-semanal-coordinador:not([open]) .hoja-ruta-semanal-expanded {
  display: none !important;
}
#ruta-semanal-coordinador .hoja-diaria-premium-body {
  margin-top: 12px !important;
  min-width: 0 !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-table-wrap {
  border: 1px solid rgba(14,165,233,.16) !important;
  border-radius: 16px !important;
  overflow: auto !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-table {
  margin: 0 !important;
  font-size: .84rem !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-table thead th {
  background: linear-gradient(135deg, rgba(224,242,254,.95), rgba(240,253,250,.92)) !important;
  color: #075985 !important;
  font-weight: 950 !important;
  border-bottom: 1px solid rgba(14,165,233,.18) !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-table .row-highlight td {
  background: rgba(14,165,233,.10) !important;
}
@media (max-width: 760px) {
  #ruta-semanal-coordinador.hoja-diaria-ruta-semanal-premium {
    margin: 12px 0 !important;
    padding: 12px !important;
    border-radius: 19px !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-premium-head {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-premium-title h3 {
    font-size: 21px !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-premium-actions {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) minmax(120px, .78fr) !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-premium-actions > strong,
  #ruta-semanal-coordinador .hoja-diaria-toggle-premium {
    width: 100% !important;
    min-width: 0 !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semanal-badge {
    white-space: normal !important;
    text-align: center !important;
  }
}
@media (max-width: 390px) {
  #ruta-semanal-coordinador .hoja-diaria-premium-actions {
    grid-template-columns: 1fr !important;
  }
}



/* 2026-05-23: Corrección móvil del badge Ruta semanal para que la leyenda no se pierda. */
#ruta-semanal-coordinador .hoja-ruta-semanal-badge {
  overflow: visible !important;
  text-overflow: unset !important;
  gap: 4px !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-count,
#ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-periodo {
  display: inline-block !important;
  min-width: 0 !important;
}
#ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-periodo::before {
  content: '· ';
}
@media (max-width: 760px) {
  #ruta-semanal-coordinador .hoja-diaria-premium-head {
    overflow: visible !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-premium-actions {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semanal-badge {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 9px 10px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-align: center !important;
    line-height: 1.14 !important;
    font-size: clamp(11.4px, 3.25vw, 12.8px) !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-periodo::before {
    content: '' !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-count,
  #ruta-semanal-coordinador .hoja-ruta-semanal-badge .hoja-ruta-semanal-periodo {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  #ruta-semanal-coordinador .hoja-diaria-toggle-premium,
  #ruta-semanal-coordinador .hoja-ruta-semanal-toggle {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* 20260523 - Hoja diaria / Atencion: botones premium y popovers visibles */
#pacientes-dia.hoja-diaria-pacientes-premium,
#pacientes-dia .hoja-pacientes-body,
#pacientes-dia .hoja-patient-list,
#pacientes-dia .hoja-patient-card,
#pacientes-dia .hoja-patient-actions { overflow: visible !important; }
#pacientes-dia.hoja-diaria-pacientes-premium { z-index: 25 !important; }
#pacientes-dia .hoja-patient-card { position: relative !important; z-index: 1 !important; }
#pacientes-dia .hoja-patient-card.is-popover-open { z-index: 9000 !important; }
#pacientes-dia .hoja-patient-actions { position: relative !important; z-index: 10 !important; isolation: isolate !important; }
#pacientes-dia .hoja-pay-box[open],
#pacientes-dia .hoja-cancel-box[open] { z-index: 9500 !important; }
#pacientes-dia .hoja-pay-form,
#pacientes-dia .hoja-mini-form {
  z-index: 9600 !important;
  border: 1px solid rgba(37,99,235,.22) !important;
  background: linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow: 0 28px 70px rgba(15,23,42,.32), 0 0 0 1px rgba(255,255,255,.72) inset !important;
}
#pacientes-dia .hoja-action-btn,
.hoja-atencion-premium-page .hoja-atencion-btn {
  min-height: 34px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  border: 1px solid rgba(255,255,255,.36) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.32) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}
#pacientes-dia .hoja-action-btn:hover,
.hoja-atencion-premium-page .hoja-atencion-btn:hover { transform: translateY(-1px) !important; filter: brightness(1.03) !important; }
#pacientes-dia .hoja-action-btn-attend { background: linear-gradient(135deg,#0f766e,#14b8a6,#22c55e) !important; }
#pacientes-dia .hoja-action-btn-pay { background: linear-gradient(135deg,#1d4ed8,#2563eb,#06b6d4) !important; }
#pacientes-dia .hoja-action-btn-products { background: linear-gradient(135deg,#6d28d9,#8b5cf6,#ec4899) !important; }
#pacientes-dia .hoja-action-btn-extras { background: linear-gradient(135deg,#ea580c,#f97316,#f59e0b) !important; }
#pacientes-dia .hoja-action-btn-adjust { background: linear-gradient(135deg,#0f172a,#475569,#64748b) !important; }
#pacientes-dia .hoja-action-btn-support { background: linear-gradient(135deg,#0369a1,#0284c7,#22d3ee) !important; }
#pacientes-dia .hoja-action-btn-danger { background: linear-gradient(135deg,#991b1b,#ef4444,#fb7185) !important; }
#pacientes-dia .hoja-action-btn-search,
#pacientes-dia .hoja-action-btn-clean { background: linear-gradient(135deg,#334155,#64748b,#94a3b8) !important; }
#pacientes-dia .hoja-action-btn-search-submit,
#pacientes-dia .hoja-action-btn-save-id { background: linear-gradient(135deg,#065f46,#10b981,#34d399) !important; }
#pacientes-dia .hoja-popover-head-premium { padding: 2px 0 8px !important; border-bottom: 1px solid rgba(148,163,184,.18) !important; margin-bottom: 8px !important; }
#pacientes-dia .hoja-popover-head-premium strong { color:#0f172a !important; font-size:14px !important; font-weight:950 !important; }
#pacientes-dia .hoja-popover-close { display:inline-grid !important; place-items:center !important; width:30px !important; height:30px !important; min-height:30px !important; border-radius:999px !important; border:1px solid rgba(239,68,68,.20) !important; background:linear-gradient(135deg,#fff1f2,#ffffff) !important; color:#be123c !important; font-size:18px !important; font-weight:950 !important; box-shadow:0 8px 18px rgba(190,18,60,.12) !important; }
#pacientes-dia .hoja-form-action { min-height:34px !important; border-radius:999px !important; font-weight:950 !important; }
#pacientes-dia .hoja-form-action-primary { background:linear-gradient(135deg,#1d4ed8,#2563eb,#14b8a6) !important; color:#fff !important; border:0 !important; }
#pacientes-dia .hoja-form-action-secondary { background:linear-gradient(135deg,#f8fafc,#eef2ff) !important; color:#1e293b !important; border:1px solid rgba(99,102,241,.20) !important; }
#pacientes-dia .hoja-form-action-danger { background:linear-gradient(135deg,#dc2626,#ef4444,#fb7185) !important; color:#fff !important; border:0 !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-back { background:linear-gradient(135deg,#334155,#64748b,#94a3b8) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-view { background:linear-gradient(135deg,#0369a1,#0284c7,#22d3ee) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-save,
.hoja-atencion-premium-page .hoja-atencion-btn-sale,
.hoja-atencion-premium-page .hoja-atencion-btn-adjust-save { background:linear-gradient(135deg,#1d4ed8,#2563eb,#14b8a6) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-add { background:linear-gradient(135deg,#6d28d9,#8b5cf6,#ec4899) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-adjust { background:linear-gradient(135deg,#0f172a,#475569,#64748b) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-warning { background:linear-gradient(135deg,#b45309,#f59e0b,#f97316) !important; }
.hoja-atencion-premium-page .hoja-atencion-btn-remove { background:linear-gradient(135deg,#991b1b,#ef4444,#fb7185) !important; }
@media (max-width:620px){
  #pacientes-dia .hoja-patient-card.is-popover-open{z-index:9800!important;}
  #pacientes-dia .hoja-pay-form,#pacientes-dia .hoja-mini-form{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:82vh!important;overflow:auto!important;z-index:9999!important;border-radius:22px 22px 18px 18px!important;}
  #pacientes-dia .hoja-action-btn,.hoja-atencion-premium-page .hoja-atencion-btn{min-height:38px!important;justify-content:center!important;}
}


/* 2026-05-23: Hoja diaria / Atención - refuerzo final visual y popovers productos/extras. */
#pacientes-dia .hoja-action-btn-filter { background: linear-gradient(135deg,#1d4ed8,#2563eb,#14b8a6) !important; }
#pacientes-dia .hoja-patient-id-save.hoja-action-btn { background: linear-gradient(135deg,#065f46,#10b981,#34d399) !important; color:#ffffff!important; }
#pacientes-dia .hoja-med-recommend-box[open] > .hoja-pay-form,
#pacientes-dia .hoja-extras-editor[open] > .hoja-pay-form {
  position: fixed !important;
  left: 50% !important;
  top: 78px !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(94vw, 680px) !important;
  max-height: calc(100vh - 105px) !important;
  overflow: auto !important;
  z-index: 2147483000 !important;
  border-radius: 24px !important;
  padding: 16px !important;
}
#pacientes-dia .hoja-med-recommend-box[open]::before,
#pacientes-dia .hoja-extras-editor[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.24);
  backdrop-filter: blur(2px);
  z-index: 2147482500;
  pointer-events: none;
}
#pacientes-dia .hoja-pay-form .hoja-popover-head,
#pacientes-dia .hoja-mini-form .hoja-popover-head { display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important; }
.hoja-atencion-premium-page .hoja-ajuste-consulta-premium details[open] .compact-action-body { margin-top:12px;border-top:1px solid rgba(124,58,237,.16);padding-top:12px; }
.hoja-atencion-premium-page .hoja-ajuste-consulta-premium .alert-info { border:1px solid rgba(14,165,233,.18)!important;background:linear-gradient(135deg,rgba(240,249,255,.96),rgba(255,255,255,.98))!important;border-radius:16px!important;color:#075985!important;font-weight:750!important; }
.vd-consulta-pago-premium .vd-consulta-pago-grid { align-items:end!important; }
@media(max-width:760px){
  #pacientes-dia .hoja-med-recommend-box[open] > .hoja-pay-form,
  #pacientes-dia .hoja-extras-editor[open] > .hoja-pay-form { left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;transform:none!important;width:auto!important;max-height:84vh!important;border-radius:24px 24px 18px 18px!important; }
  #pacientes-dia .hoja-line-row,#pacientes-dia .hoja-recomendado-row{grid-template-columns:1fr!important;}
}

/* 2026-05-23: Panel Médico - KPIs premium compactos y legibles. */
.medico-panel .medico-kpi-mini-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px, 148px)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  justify-content: start !important;
  margin-bottom: 14px !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  max-width: 148px !important;
  min-height: 78px !important;
  padding: 10px 11px 9px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(15,23,42,.16) !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card::before {
  content: "" !important;
  position: absolute !important;
  inset: -42% -38% auto auto !important;
  width: 82px !important;
  height: 82px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.20) !important;
  box-shadow: none !important;
  z-index: -1 !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card::after {
  content: "" !important;
  position: absolute !important;
  inset: auto auto -46px -36px !important;
  width: 92px !important;
  height: 92px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  z-index: -1 !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card .stat-label {
  color: rgba(255,255,255,.88) !important;
  font-size: 10px !important;
  line-height: 1.12 !important;
  margin: 0 0 5px !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  font-weight: 950 !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card .stat-value {
  color: #fff !important;
  font-size: clamp(20px, 1.7vw, 25px) !important;
  line-height: .98 !important;
  font-weight: 1000 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 2px 10px rgba(15,23,42,.18) !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card .stat-note {
  color: rgba(255,255,255,.86) !important;
  font-size: 9px !important;
  line-height: 1.16 !important;
  margin-top: 6px !important;
  font-weight: 800 !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-money {
  max-width: 166px !important;
}
.medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-money .stat-value {
  font-size: clamp(16px, 1.35vw, 20px) !important;
  letter-spacing: -.035em !important;
}
.medico-panel .medico-kpi-blue { background: linear-gradient(135deg,#1d4ed8,#2563eb,#06b6d4) !important; }
.medico-panel .medico-kpi-amber { background: linear-gradient(135deg,#b45309,#f59e0b,#fb923c) !important; }
.medico-panel .medico-kpi-emerald { background: linear-gradient(135deg,#047857,#10b981,#34d399) !important; }
.medico-panel .medico-kpi-violet { background: linear-gradient(135deg,#6d28d9,#8b5cf6,#ec4899) !important; }
.medico-panel .medico-kpi-sky { background: linear-gradient(135deg,#0369a1,#0ea5e9,#22d3ee) !important; }
.medico-panel .medico-kpi-rose { background: linear-gradient(135deg,#be123c,#f43f5e,#fb7185) !important; }
.medico-panel .medico-kpi-dark { background: linear-gradient(135deg,#0f172a,#334155,#64748b) !important; }
@media (max-width: 760px) {
  .medico-panel .medico-kpi-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card {
    max-width: none !important;
    padding: 10px !important;
    min-height: 76px !important;
    border-radius: 16px !important;
  }
  .medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-card .stat-value { font-size: 22px !important; }
  .medico-panel .medico-kpi-mini-grid .stat-card.medico-kpi-money .stat-value { font-size: 18px !important; }
}
@media (max-width: 340px) {
  .medico-panel .medico-kpi-mini-grid { grid-template-columns: 1fr !important; }
}

/* Validación premium de teléfonos/WhatsApp pegados desde Excel */
.phone-country-field {
  position: relative;
}
.phone-country-feedback {
  display: none;
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(254,226,226,.96), rgba(255,237,213,.96));
  border: 1px solid rgba(239,68,68,.28);
  color: #991b1b;
  font-size: .82rem;
  line-height: 1.28;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(239,68,68,.10);
}
.phone-country-number.phone-country-invalid {
  border-color: rgba(239,68,68,.78) !important;
  background: #fff7f7 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.12) !important;
}
.phone-country-field:has(.phone-country-invalid) label::after {
  content: " · revisar";
  color: #dc2626;
  font-size: .78em;
  font-weight: 900;
}
@supports not selector(:has(*)) {
  .phone-country-number.phone-country-invalid + input + .phone-country-feedback,
  .phone-country-feedback {
    font-weight: 800;
  }
}


/* 2026-05-23: selector premium de semana del mes para Ruta semanal del coordinador. */
#ruta-semanal-coordinador .hoja-ruta-semana-selector {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
  margin: 0 0 12px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(14,165,233,.22) !important;
  background: linear-gradient(135deg, rgba(240,249,255,.96), rgba(255,255,255,.94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 14px 26px rgba(15,23,42,.07) !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-selector-main {
  min-width: 0 !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-selector label {
  display: block !important;
  margin-bottom: 6px !important;
  color: #075985 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-selector select.input {
  min-height: 42px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(14,165,233,.28) !important;
  background: #fff !important;
  color: #0f172a !important;
  font-weight: 850 !important;
  font-size: 13px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.05) !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-selector small {
  display: block !important;
  margin-top: 7px !important;
  color: #64748b !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-selector-actions {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-btn {
  min-height: 42px !important;
  padding: 10px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  background: linear-gradient(135deg, #0284c7, #06b6d4) !important;
  box-shadow: 0 12px 26px rgba(2,132,199,.24), inset 0 1px 0 rgba(255,255,255,.32) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-btn.is-light {
  color: #075985 !important;
  background: linear-gradient(135deg, #e0f2fe, #f0fdfa) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 10px 22px rgba(15,23,42,.08) !important;
}
#ruta-semanal-coordinador .hoja-ruta-semana-btn:hover {
  transform: translateY(-1px) !important;
}
@media (max-width: 760px) {
  #ruta-semanal-coordinador .hoja-ruta-semana-selector {
    grid-template-columns: 1fr !important;
    padding: 11px !important;
    border-radius: 16px !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semana-selector select.input {
    width: 100% !important;
    font-size: 12.2px !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semana-selector-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  #ruta-semanal-coordinador .hoja-ruta-semana-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}


/* 2026-05-23: Hoja diaria / Pacientes del dia - procedimiento resaltado premium sin modificar tamano de letra. */
#pacientes-dia .hoja-patient-inline {
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
#pacientes-dia .hoja-procedure-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  max-width: 100% !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: inherit !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  text-wrap: balance !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  box-shadow: 0 9px 18px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.40) !important;
  text-decoration: none !important;
}
#pacientes-dia .hoja-procedure-pill::before { content: "✦" !important; font-size: .86em !important; line-height: 1 !important; opacity: .95 !important; }
#pacientes-dia .hoja-procedure-pill--tone-1 { color:#064e3b !important; background:linear-gradient(135deg,#bbf7d0 0%,#34d399 54%,#10b981 100%) !important; }
#pacientes-dia .hoja-procedure-pill--tone-2 { color:#1e1b4b !important; background:linear-gradient(135deg,#ddd6fe 0%,#a78bfa 54%,#8b5cf6 100%) !important; }
#pacientes-dia .hoja-procedure-pill--tone-3 { color:#7c2d12 !important; background:linear-gradient(135deg,#fed7aa 0%,#fb923c 56%,#f97316 100%) !important; }
#pacientes-dia .hoja-procedure-pill--tone-4 { color:#082f49 !important; background:linear-gradient(135deg,#bae6fd 0%,#38bdf8 56%,#0ea5e9 100%) !important; }
#pacientes-dia .hoja-procedure-pill--tone-5 { color:#831843 !important; background:linear-gradient(135deg,#fbcfe8 0%,#f472b6 54%,#ec4899 100%) !important; }
#pacientes-dia .hoja-procedure-pill--tone-6 { color:#713f12 !important; background:linear-gradient(135deg,#fef3c7 0%,#fbbf24 54%,#f59e0b 100%) !important; }
#pacientes-dia .hoja-procedure-pill--empty { color:#475569 !important; background:linear-gradient(135deg,#f8fafc,#e2e8f0) !important; border-color:rgba(148,163,184,.35) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.68), 0 6px 14px rgba(15,23,42,.06) !important; }
@media (max-width: 620px) {
  #pacientes-dia .hoja-procedure-pill { padding: 4px 9px !important; max-width: 100% !important; }
}

/* Hoja diaria coordinador - estado Llegó visible en Pacientes del día */
.hoja-pill-llego{
  background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);
  color:#166534;
  border:1px solid rgba(34,197,94,.38);
  box-shadow:0 8px 18px rgba(34,197,94,.12);
}
.hoja-card-llego{
  border-color:rgba(34,197,94,.34);
  box-shadow:0 14px 34px rgba(34,197,94,.10);
}

/* === MiRuta 2026-05-23: Inventario premium integral ===
   Aplica acabado premium al modulo completo de Inventario: bodega,
   rutas, despachos, campañas, productos, operativos e insumos.
   Cambio visual/UX: no altera permisos, cálculos ni persistencia.
============================================================ */
body.inventory-premium-page {
  --inv-premium-blue:#0ea5e9;
  --inv-premium-cyan:#06b6d4;
  --inv-premium-teal:#14b8a6;
  --inv-premium-green:#10b981;
  --inv-premium-violet:#8b5cf6;
  --inv-premium-amber:#f59e0b;
  --inv-premium-orange:#f97316;
  --inv-premium-pink:#ec4899;
  --inv-premium-red:#f43f5e;
  --inv-premium-ink:#0f172a;
  --inv-premium-muted:#64748b;
  --inv-premium-line:rgba(148,163,184,.22);
  --inv-premium-soft:#f8fbff;
  --inv-premium-shadow:0 18px 42px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.88);
  --inv-premium-shadow-hover:0 26px 60px rgba(15,23,42,.15), 0 12px 28px rgba(14,165,233,.10), inset 0 1px 0 rgba(255,255,255,.94);
}

body.inventory-premium-page .main.vd-inventory-full,
body.inventory-premium-page .main.vd-hidden-load-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(14,165,233,.10), transparent 28%),
    radial-gradient(circle at 96% 10%, rgba(139,92,246,.10), transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 42%,#f8fafc 100%);
}

body.inventory-premium-page .main .card.panel,
body.inventory-premium-page .main section.card.panel,
body.inventory-premium-page .main details.card.panel,
body.inventory-premium-page .main .vd-inv-panel,
body.inventory-premium-page .main .vd-bodega-workspace,
body.inventory-premium-page .main .vd-products-batch-panel {
  position:relative;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 98% 0%, rgba(14,165,233,.13), transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,251,255,.94) 58%,rgba(239,246,255,.84))!important;
  box-shadow:var(--inv-premium-shadow)!important;
  overflow:hidden;
}

body.inventory-premium-page .main .card.panel::before,
body.inventory-premium-page .main section.card.panel::before,
body.inventory-premium-page .main details.card.panel::before,
body.inventory-premium-page .main .vd-bodega-workspace::before,
body.inventory-premium-page .main .vd-products-batch-panel::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--inv-premium-blue),var(--inv-premium-teal),var(--inv-premium-violet),var(--inv-premium-pink));
  opacity:.92;
  pointer-events:none;
}

body.inventory-premium-page .main .vd-inv-hero,
body.inventory-premium-page .main .vd-hidden-load-hero {
  border-radius:28px!important;
  background:
    radial-gradient(circle at 8% 0%, rgba(34,211,238,.24), transparent 31%),
    radial-gradient(circle at 96% 10%, rgba(168,85,247,.18), transparent 31%),
    linear-gradient(135deg,#ffffff 0%,#eef9ff 52%,#f5f3ff 100%)!important;
  color:#0f172a!important;
  border:1px solid rgba(14,165,233,.20)!important;
  box-shadow:0 26px 70px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.96)!important;
}

body.inventory-premium-page .main .vd-inv-hero h3,
body.inventory-premium-page .main .vd-hidden-load-hero h3 {
  color:#0f172a!important;
  font-size:clamp(22px,2.2vw,34px)!important;
  letter-spacing:-.045em!important;
  line-height:1.02!important;
  text-shadow:none!important;
}

body.inventory-premium-page .main .vd-inv-hero p,
body.inventory-premium-page .main .vd-hidden-load-hero p,
body.inventory-premium-page .main .vd-inv-hero .panel-header p {
  color:#1e3a5f!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  font-weight:750!important;
  text-shadow:none!important;
}

body.inventory-premium-page .main .vd-inv-hero .badge,
body.inventory-premium-page .main .vd-hidden-load-badge,
body.inventory-premium-page .main .panel-header .badge,
body.inventory-premium-page .main summary .badge,
body.inventory-premium-page .main .badge {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:26px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(224,242,254,.92))!important;
  color:#075985!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 24px rgba(14,165,233,.09), inset 0 1px 0 rgba(255,255,255,.88)!important;
  white-space:normal!important;
}

body.inventory-premium-page .main .vd-inv-hero .badge,
body.inventory-premium-page .main .vd-hidden-load-badge {
  background:linear-gradient(135deg,#0ea5e9,#14b8a6)!important;
  border-color:rgba(14,165,233,.28)!important;
  color:#ffffff!important;
  box-shadow:0 12px 28px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.25)!important;
  backdrop-filter:blur(10px);
}

body.inventory-premium-page .main .vd-inv-hero .panel-header > div,
body.inventory-premium-page .main .vd-hidden-load-hero .panel-header > div {
  max-width:780px!important;
}

body.inventory-premium-page .main .vd-inv-hero p strong,
body.inventory-premium-page .main .vd-inv-hero .vd-inv-meta {
  color:#0f172a!important;
}

body.inventory-premium-page .main .panel-header,
body.inventory-premium-page .main .compact-panel-header,
body.inventory-premium-page .main .vd-products-batch-header,
body.inventory-premium-page .main .vd-inv-head-row {
  align-items:center!important;
  gap:12px!important;
}

body.inventory-premium-page .main .panel-header h3,
body.inventory-premium-page .main summary h3,
body.inventory-premium-page .main .vd-products-batch-header h3 {
  margin:0!important;
  color:var(--inv-premium-ink)!important;
  font-size:clamp(18px,1.45vw,24px)!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}

body.inventory-premium-page .main .panel-header p,
body.inventory-premium-page .main summary p,
body.inventory-premium-page .main .vd-products-batch-header p {
  margin:5px 0 0!important;
  color:var(--inv-premium-muted)!important;
  font-size:12.8px!important;
  line-height:1.38!important;
}

body.inventory-premium-page .main details > summary {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:64px!important;
  padding:18px 18px!important;
  border-radius:22px!important;
  cursor:pointer!important;
  list-style:none!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(14,165,233,.12), transparent 25%),
    linear-gradient(135deg,#ffffff,#f8fbff)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90)!important;
}

body.inventory-premium-page .main details > summary::-webkit-details-marker { display:none!important; }

/* v379: el control visual pseudo-elemento fue retirado. El único control es el botón real generado/normalizado por el módulo. */
body.inventory-premium-page .main details > summary::after,
body.inventory-premium-page .main details[open] > summary::after {
  content:none!important;
  display:none!important;
}

body.inventory-premium-page .main details > summary:hover {
  border-color:rgba(14,165,233,.34)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.96)!important;
}

body.inventory-premium-page .main .compact-action-body,
body.inventory-premium-page .main details > form,
body.inventory-premium-page .main details > .compact-action-body {
  padding:14px 16px 18px!important;
}

body.inventory-premium-page .main .btn,
body.inventory-premium-page .main button.btn,
body.inventory-premium-page .main a.btn,
body.inventory-premium-page .main label.btn,
body.inventory-premium-page .main input[type="submit"],
body.inventory-premium-page .main input[type="button"],
body.inventory-premium-page .main .vd-dispatch-code-link {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:34px!important;
  padding:8px 14px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  border-radius:999px!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--inv-premium-blue),var(--inv-premium-teal))!important;
  box-shadow:0 12px 24px rgba(14,165,233,.18), inset 0 1px 0 rgba(255,255,255,.18)!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.012em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease!important;
}

body.inventory-premium-page .main .btn:hover,
body.inventory-premium-page .main button.btn:hover,
body.inventory-premium-page .main a.btn:hover,
body.inventory-premium-page .main label.btn:hover,
body.inventory-premium-page .main input[type="submit"]:hover,
body.inventory-premium-page .main input[type="button"]:hover,
body.inventory-premium-page .main .vd-dispatch-code-link:hover {
  transform:translateY(-1px)!important;
  box-shadow:0 18px 34px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.22)!important;
  filter:saturate(1.08)!important;
}

body.inventory-premium-page .main .btn:active,
body.inventory-premium-page .main button.btn:active,
body.inventory-premium-page .main a.btn:active,
body.inventory-premium-page .main label.btn:active,
body.inventory-premium-page .main .vd-dispatch-code-link:active { transform:translateY(0)!important; }

body.inventory-premium-page .main .btn-sm,
body.inventory-premium-page .main button.btn-sm,
body.inventory-premium-page .main a.btn-sm,
body.inventory-premium-page .main label.btn-sm {
  min-height:30px!important;
  padding:7px 11px!important;
  font-size:11px!important;
}

body.inventory-premium-page .main .btn-light,
body.inventory-premium-page .main a.btn-light,
body.inventory-premium-page .main label.btn-light,
body.inventory-premium-page .main button.btn-light {
  color:#0f172a!important;
  background:linear-gradient(135deg,#ffffff,#eef2ff)!important;
  border-color:rgba(99,102,241,.22)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92)!important;
}

body.inventory-premium-page .main .btn-warning,
body.inventory-premium-page .main button.btn-warning {
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--inv-premium-amber),var(--inv-premium-orange))!important;
  border-color:rgba(245,158,11,.26)!important;
  box-shadow:0 12px 24px rgba(245,158,11,.22)!important;
}

body.inventory-premium-page .main .btn-danger,
body.inventory-premium-page .main button.btn-danger {
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--inv-premium-red),var(--inv-premium-pink))!important;
  border-color:rgba(244,63,94,.26)!important;
  box-shadow:0 12px 24px rgba(244,63,94,.20)!important;
}

body.inventory-premium-page .main .btn:disabled,
body.inventory-premium-page .main button:disabled,
body.inventory-premium-page .main input[type="submit"]:disabled {
  opacity:.52!important;
  cursor:not-allowed!important;
  transform:none!important;
  filter:grayscale(.12)!important;
}

body.inventory-premium-page .main .vd-bodega-toolbar,
body.inventory-premium-page .main .vd-products-batch-actions,
body.inventory-premium-page .main .vd-products-batch-toolbar,
body.inventory-premium-page .main .vd-inv-actions-row,
body.inventory-premium-page .main .vd-hidden-products-toolbar,
body.inventory-premium-page .main .vd-products-batch-actions {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.16)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(239,246,255,.72))!important;
}

body.inventory-premium-page .main .vd-bodega-filter-buttons,
body.inventory-premium-page .main [data-bodega-stock-filters] {
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}

body.inventory-premium-page .main .form-grid,
body.inventory-premium-page .main .vd-inv-formline,
body.inventory-premium-page .main .vd-single-line-form,
body.inventory-premium-page .main .vd-route-select-grid {
  gap:12px!important;
}

body.inventory-premium-page .main label,
body.inventory-premium-page .main .form-group label {
  color:#334155!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}

body.inventory-premium-page .main .input,
body.inventory-premium-page .main select.input,
body.inventory-premium-page .main textarea.input,
body.inventory-premium-page .main input.input {
  min-height:38px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.25)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(15,23,42,.035)!important;
  font-weight:750!important;
}

body.inventory-premium-page .main .input:focus,
body.inventory-premium-page .main select.input:focus,
body.inventory-premium-page .main textarea.input:focus {
  border-color:rgba(14,165,233,.55)!important;
  box-shadow:0 0 0 4px rgba(14,165,233,.13), inset 0 1px 0 rgba(255,255,255,.96)!important;
}

body.inventory-premium-page .main .table-wrap {
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 14px 32px rgba(15,23,42,.06)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}

body.inventory-premium-page .main table,
body.inventory-premium-page .main .vd-compact-table,
body.inventory-premium-page .main .vd-hidden-product-table {
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}

body.inventory-premium-page .main table th,
body.inventory-premium-page .main .vd-compact-table th,
body.inventory-premium-page .main .vd-hidden-product-table th {
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  padding:9px 10px!important;
  border-bottom:1px solid rgba(148,163,184,.22)!important;
  background:linear-gradient(180deg,#f8fafc,#eaf4ff)!important;
  color:#334155!important;
  font-size:10.3px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}

body.inventory-premium-page .main table td,
body.inventory-premium-page .main .vd-compact-table td,
body.inventory-premium-page .main .vd-hidden-product-table td {
  padding:8px 10px!important;
  border-bottom:1px solid rgba(226,232,240,.88)!important;
  color:#0f172a!important;
  font-size:12.4px!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}

body.inventory-premium-page .main table tbody tr:hover td,
body.inventory-premium-page .main .vd-compact-table tbody tr:hover td,
body.inventory-premium-page .main .vd-hidden-product-table tbody tr:hover td {
  background:linear-gradient(90deg,rgba(14,165,233,.075),rgba(20,184,166,.045))!important;
}

body.inventory-premium-page .main .vd-inv-kpis {
  grid-template-columns:repeat(auto-fill,minmax(140px,176px))!important;
  gap:10px!important;
}

body.inventory-premium-page .main .vd-inv-kpis > article,
body.inventory-premium-page .main .vd-hidden-summary-card,
body.inventory-premium-page .main .vd-route-stock-card,
body.inventory-premium-page .main .vd-route-alert-card,
body.inventory-premium-page .main .inventory-alert-card {
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.20)!important;
  background:
    radial-gradient(circle at 94% 8%, rgba(14,165,233,.18), transparent 33%),
    linear-gradient(145deg,#ffffff,#f8fbff 56%,#eaf7ff)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92)!important;
}

body.inventory-premium-page .main .vd-inv-kpis > article strong,
body.inventory-premium-page .main .vd-hidden-summary-card strong {
  font-size:clamp(18px,1.45vw,23px)!important;
  line-height:1.02!important;
  color:#0f172a!important;
  font-weight:950!important;
}

body.inventory-premium-page .main .vd-inv-kpis > article span,
body.inventory-premium-page .main .vd-hidden-summary-card span {
  font-size:10px!important;
  font-weight:950!important;
  color:#475569!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}

body.inventory-premium-page .main .vd-route-stock-card,
body.inventory-premium-page .main .vd-route-alert-card,
body.inventory-premium-page .main .inventory-alert-card {
  max-width:none!important;
}

body.inventory-premium-page .main .vd-inv-meta,
body.inventory-premium-page .main small,
body.inventory-premium-page .main .muted {
  color:var(--inv-premium-muted)!important;
}

body.inventory-premium-page .main .vd-row-warn td,
body.inventory-premium-page .main tr.vd-row-warn td {
  background:linear-gradient(90deg,rgba(245,158,11,.10),rgba(255,255,255,.94))!important;
}

body.inventory-premium-page .main .vd-upload-premium-btn::before {
  filter:drop-shadow(0 2px 3px rgba(15,23,42,.18));
}

body.inventory-premium-page .main .vd-hidden-mode-card {
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.065)!important;
}

body.inventory-premium-page .main .vd-hidden-mode-card.is-selected {
  border-color:rgba(14,165,233,.45)!important;
  background:linear-gradient(135deg,#e0f2fe,#ffffff)!important;
  box-shadow:0 18px 38px rgba(14,165,233,.15)!important;
}

body.inventory-premium-page .main .vd-hidden-load-note {
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.12)!important;
  color:rgba(255,255,255,.88)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15)!important;
  backdrop-filter:blur(10px);
}

body.inventory-premium-page .main .vd-hidden-recent-item {
  border-radius:16px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.055)!important;
}

body.inventory-premium-page .main .alert {
  border-radius:18px!important;
  border-width:1px!important;
  box-shadow:0 12px 26px rgba(15,23,42,.06)!important;
}

/* ============================================================
   2026-05-29 - Inventario: Dashboard inteligente clicable por ruta
   ============================================================ */
body.inventory-premium-page .main .vd-route-smart-dashboard {
  margin-top:14px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(14,165,233,.14), transparent 28%),
    radial-gradient(circle at 100% 4%, rgba(20,184,166,.16), transparent 30%),
    linear-gradient(135deg,#ffffff,#f8fbff 54%,#eefbff)!important;
}
body.inventory-premium-page .main .vd-smart-route-header .badge {
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 14px 30px rgba(14,116,144,.20)!important;
}
body.inventory-premium-page .main .vd-smart-route-suggestions {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:8px 0 14px!important;
}
body.inventory-premium-page .main .vd-smart-route-suggestions article {
  padding:13px 14px!important;
  border-radius:18px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,253,245,.72))!important;
  box-shadow:0 12px 26px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.inventory-premium-page .main .vd-smart-route-suggestions strong,
body.inventory-premium-page .main .vd-smart-route-suggestions span {
  display:block!important;
}
body.inventory-premium-page .main .vd-smart-route-suggestions strong {
  color:#0f172a!important;
  font-size:12.5px!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
}
body.inventory-premium-page .main .vd-smart-route-suggestions span {
  margin-top:3px!important;
  color:#475569!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
body.inventory-premium-page .main .vd-route-smart-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;
  gap:12px!important;
}
body.inventory-premium-page .main .vd-route-smart-kpi {
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:
    radial-gradient(circle at 94% 0%, rgba(20,184,166,.20), transparent 34%),
    linear-gradient(145deg,#ffffff,#f8fbff 58%,#eefaff)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.95)!important;
  overflow:hidden!important;
}
body.inventory-premium-page .main .vd-route-smart-kpi > summary {
  min-height:0!important;
  padding:14px!important;
  align-items:stretch!important;
  gap:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.inventory-premium-page .main .vd-route-smart-kpi > summary::after { display:none!important; content:none!important; }
body.inventory-premium-page .main .vd-route-smart-kpi[open] {
  border-color:rgba(14,165,233,.34)!important;
  box-shadow:0 24px 54px rgba(14,165,233,.14), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.inventory-premium-page .main .vd-route-smart-main {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  gap:3px!important;
}
body.inventory-premium-page .main .vd-route-smart-eyebrow {
  width:max-content!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  color:#0369a1!important;
  background:rgba(14,165,233,.11)!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
body.inventory-premium-page .main .vd-route-smart-main strong {
  color:#0f172a!important;
  font-size:18px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
body.inventory-premium-page .main .vd-route-smart-main small {
  max-width:360px!important;
  color:#475569!important;
  font-size:11.6px!important;
  line-height:1.28!important;
  font-weight:720!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics {
  display:grid!important;
  grid-template-columns:repeat(5,minmax(78px,1fr))!important;
  gap:7px!important;
  flex:1 1 560px!important;
  min-width:320px!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics span,
body.inventory-premium-page .main .vd-route-smart-mini-kpis article {
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:9px 10px!important;
  border-radius:16px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 9px 20px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-money {
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  border-color:rgba(255,255,255,.26)!important;
  box-shadow:0 14px 30px rgba(14,116,144,.22)!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-money small,
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-money strong { color:#ffffff!important; }
body.inventory-premium-page .main .vd-route-smart-metrics small,
body.inventory-premium-page .main .vd-route-smart-mini-kpis small {
  color:#64748b!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics strong,
body.inventory-premium-page .main .vd-route-smart-mini-kpis strong {
  margin-top:4px!important;
  color:#0f172a!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
body.inventory-premium-page .main .vd-route-smart-badge {
  align-self:center!important;
  justify-self:end!important;
  min-width:122px!important;
  text-align:center!important;
  padding:9px 11px!important;
  border-radius:999px!important;
  color:#ffffff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  box-shadow:0 14px 28px rgba(15,23,42,.12)!important;
}
body.inventory-premium-page .main .vd-route-smart-badge-success { background:linear-gradient(135deg,#047857,#14b8a6)!important; }
body.inventory-premium-page .main .vd-route-smart-badge-info { background:linear-gradient(135deg,#2563eb,#06b6d4)!important; }
body.inventory-premium-page .main .vd-route-smart-badge-warning { background:linear-gradient(135deg,#d97706,#f59e0b)!important; }
body.inventory-premium-page .main .vd-route-smart-badge-danger { background:linear-gradient(135deg,#be123c,#f43f5e)!important; }
body.inventory-premium-page .main .vd-route-smart-body {
  padding:0 14px 14px!important;
}
body.inventory-premium-page .main .vd-route-smart-toolbar {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(190px,240px)!important;
  gap:12px!important;
  align-items:end!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(14,165,233,.16)!important;
  background:linear-gradient(135deg,rgba(240,249,255,.92),rgba(255,255,255,.88))!important;
}
body.inventory-premium-page .main .vd-route-smart-toolbar h4 {
  margin:0!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
body.inventory-premium-page .main .vd-route-smart-toolbar p {
  margin:4px 0 0!important;
  color:#475569!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
body.inventory-premium-page .main .vd-route-smart-mini-kpis {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin:10px 0!important;
}
body.inventory-premium-page .main .vd-route-smart-table-wrap {
  border-radius:18px!important;
}
body.inventory-premium-page .main .vd-route-smart-sales-table td:nth-child(4) {
  min-width:260px!important;
}
@media (max-width:900px) {
  body.inventory-premium-page .main .vd-smart-route-suggestions,
  body.inventory-premium-page .main .vd-route-smart-mini-kpis {
    grid-template-columns:1fr!important;
  }
  body.inventory-premium-page .main .vd-route-smart-grid {
    grid-template-columns:1fr!important;
  }
  body.inventory-premium-page .main .vd-route-smart-kpi > summary {
    flex-direction:column!important;
  }
  body.inventory-premium-page .main .vd-route-smart-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
    width:100%!important;
  }
  body.inventory-premium-page .main .vd-route-smart-badge {
    justify-self:stretch!important;
    align-self:stretch!important;
    width:100%!important;
  }
  body.inventory-premium-page .main .vd-route-smart-toolbar {
    grid-template-columns:1fr!important;
  }
  body.inventory-premium-page .main .vd-route-smart-sales-table {
    min-width:900px!important;
  }
}
@media (max-width:520px) {
  body.inventory-premium-page .main .vd-route-smart-dashboard { padding:12px!important; }
  body.inventory-premium-page .main .vd-route-smart-kpi { border-radius:20px!important; }
  body.inventory-premium-page .main .vd-route-smart-metrics { grid-template-columns:1fr!important; }
}

@media (min-width:1120px) {
  body.inventory-premium-page .main .vd-inv-main-filter {
    grid-template-columns:minmax(220px,1fr) 160px 160px auto!important;
    align-items:end!important;
  }
}

@media (max-width:900px) {
  body.inventory-premium-page .main .panel-header,
  body.inventory-premium-page .main .compact-panel-header,
  body.inventory-premium-page .main .vd-products-batch-header,
  body.inventory-premium-page .main details > summary {
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.inventory-premium-page .main .vd-bodega-toolbar,
  body.inventory-premium-page .main .vd-products-batch-actions,
  body.inventory-premium-page .main .vd-products-batch-toolbar,
  body.inventory-premium-page .main .vd-inv-actions-row,
  body.inventory-premium-page .main .vd-hidden-products-toolbar {
    align-items:stretch!important;
  }
  body.inventory-premium-page .main .btn,
  body.inventory-premium-page .main button.btn,
  body.inventory-premium-page .main a.btn,
  body.inventory-premium-page .main label.btn,
  body.inventory-premium-page .main input[type="submit"],
  body.inventory-premium-page .main input[type="button"],
  body.inventory-premium-page .main .vd-dispatch-code-link {
    width:100%!important;
    min-height:40px!important;
  }
  body.inventory-premium-page .main .vd-bodega-filter-buttons,
  body.inventory-premium-page .main [data-bodega-stock-filters] {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  body.inventory-premium-page .main .vd-inv-kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.inventory-premium-page .main table,
  body.inventory-premium-page .main .vd-compact-table,
  body.inventory-premium-page .main .vd-hidden-product-table {
    min-width:760px!important;
  }
}

@media (max-width:520px) {
  body.inventory-premium-page .main .card.panel,
  body.inventory-premium-page .main section.card.panel,
  body.inventory-premium-page .main details.card.panel,
  body.inventory-premium-page .main .vd-bodega-workspace,
  body.inventory-premium-page .main .vd-products-batch-panel {
    border-radius:20px!important;
  }
  body.inventory-premium-page .main .vd-inv-hero,
  body.inventory-premium-page .main .vd-hidden-load-hero {
    border-radius:22px!important;
  }
  body.inventory-premium-page .main .vd-inv-kpis {
    gap:7px!important;
  }
  body.inventory-premium-page .main .vd-inv-kpis > article {
    min-height:64px!important;
    padding:8px 10px 8px 12px!important;
  }
  body.inventory-premium-page .main .vd-bodega-filter-buttons,
  body.inventory-premium-page .main [data-bodega-stock-filters] {
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   2026-05-23 - Asesoras: estilo premium transversal sin cambiar tamaño
   Aplica a Dashboard, Agenda/Citas, Preagenda, Crear/Editar/Ver cita,
   Pacientes, Comisiones y Postventa cuando el usuario es asesora.
   ============================================================ */
body.role-asesora .main .card,
body.role-asesora .main .panel,
body.role-asesora .main .module-card,
body.role-asesora .main .form-card,
body.role-asesora .main .stat-card,
.main.asesora-compact-page .card,
.main.asesora-compact-page .panel,
.asignacion-asesoras-page .card,
.asignacion-asesoras-page .panel {
  border: 1px solid rgba(14, 165, 233, .16) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .07), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

body.role-asesora .main .panel-header,
body.role-asesora .main .card-header,
body.role-asesora .main .page-header,
.main.asesora-compact-page .panel-header,
.asignacion-asesoras-page .panel-header {
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(236,253,245,.95), rgba(239,246,255,.96) 52%, rgba(245,243,255,.92));
  border: 1px solid rgba(20,184,166,.16);
  padding: 10px 12px;
}

body.role-asesora .main .panel-header h1,
body.role-asesora .main .panel-header h2,
body.role-asesora .main .panel-header h3,
body.role-asesora .main .card-header h1,
body.role-asesora .main .card-header h2,
body.role-asesora .main .card-header h3,
body.role-asesora .main .page-title h2,
.main.asesora-compact-page .panel-header h1,
.main.asesora-compact-page .panel-header h2,
.main.asesora-compact-page .panel-header h3 {
  color: #0f172a !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}

body.role-asesora .main .panel-header p,
body.role-asesora .main .card-header p,
body.role-asesora .main .page-title p,
.main.asesora-compact-page .panel-header p {
  color: #475569 !important;
}

body.role-asesora .main .input,
body.role-asesora .main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
body.role-asesora .main select,
body.role-asesora .main textarea,
.main.asesora-compact-page .input,
.main.asesora-compact-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.main.asesora-compact-page select,
.main.asesora-compact-page textarea {
  border-color: rgba(14, 165, 233, .20) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(15,23,42,.035) !important;
}

body.role-asesora .main .input:focus,
body.role-asesora .main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
body.role-asesora .main select:focus,
body.role-asesora .main textarea:focus,
.main.asesora-compact-page .input:focus,
.main.asesora-compact-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.main.asesora-compact-page select:focus,
.main.asesora-compact-page textarea:focus {
  border-color: rgba(20,184,166,.66) !important;
  box-shadow: 0 0 0 4px rgba(20,184,166,.12), 0 10px 24px rgba(14,165,233,.08) !important;
}

body.role-asesora .main .btn,
body.role-asesora .main button.btn,
body.role-asesora .main a.btn,
body.role-asesora .main input[type="submit"],
body.role-asesora .main input[type="button"],
body.role-asesora .main summary.btn,
body.role-asesora .main .status-button,
body.role-asesora .main .preagenda-toggle-btn,
.main.asesora-compact-page .btn,
.main.asesora-compact-page button.btn,
.main.asesora-compact-page a.btn,
.main.asesora-compact-page input[type="submit"],
.main.asesora-compact-page input[type="button"],
.main.asesora-compact-page summary.btn,
.main.asesora-compact-page .status-button,
.main.asesora-compact-page .preagenda-toggle-btn,
.asignacion-asesoras-page .btn,
.asignacion-asesoras-page button.btn,
.asignacion-asesoras-page a.btn {
  border: 1px solid rgba(20,184,166,.30) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 52%, #0ea5e9 100%) !important;
  box-shadow: 0 12px 26px rgba(13,148,136,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  text-shadow: 0 1px 1px rgba(15,23,42,.24) !important;
  isolation: isolate;
  position: relative;
  overflow: hidden;
}

body.role-asesora .main .btn::before,
body.role-asesora .main .status-button::before,
body.role-asesora .main .preagenda-toggle-btn::before,
.main.asesora-compact-page .btn::before,
.main.asesora-compact-page .status-button::before,
.main.asesora-compact-page .preagenda-toggle-btn::before,
.asignacion-asesoras-page .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,255,255,.32), rgba(255,255,255,0) 42%);
  opacity: .72;
  pointer-events: none;
  z-index: -1;
}

body.role-asesora .main .btn:hover,
body.role-asesora .main button.btn:hover,
body.role-asesora .main a.btn:hover,
body.role-asesora .main input[type="submit"]:hover,
body.role-asesora .main input[type="button"]:hover,
body.role-asesora .main summary.btn:hover,
body.role-asesora .main .status-button:hover,
body.role-asesora .main .preagenda-toggle-btn:hover,
.main.asesora-compact-page .btn:hover,
.main.asesora-compact-page button.btn:hover,
.main.asesora-compact-page a.btn:hover,
.main.asesora-compact-page input[type="submit"]:hover,
.main.asesora-compact-page input[type="button"]:hover,
.main.asesora-compact-page summary.btn:hover,
.main.asesora-compact-page .status-button:hover,
.main.asesora-compact-page .preagenda-toggle-btn:hover,
.asignacion-asesoras-page .btn:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.08) brightness(1.02) !important;
  box-shadow: 0 16px 32px rgba(13,148,136,.28), inset 0 1px 0 rgba(255,255,255,.35) !important;
  border-color: rgba(45,212,191,.58) !important;
}

body.role-asesora .main .btn:active,
body.role-asesora .main .status-button:active,
body.role-asesora .main .preagenda-toggle-btn:active,
.main.asesora-compact-page .btn:active,
.main.asesora-compact-page .status-button:active,
.main.asesora-compact-page .preagenda-toggle-btn:active,
.asignacion-asesoras-page .btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 7px 16px rgba(13,148,136,.18), inset 0 2px 6px rgba(15,23,42,.16) !important;
}

body.role-asesora .main .btn-light,
body.role-asesora .main button.btn-light,
body.role-asesora .main a.btn-light,
body.role-asesora .main summary.btn-light,
body.role-asesora .main .btn-secondary,
body.role-asesora .main button.btn-secondary,
body.role-asesora .main a.btn-secondary,
.main.asesora-compact-page .btn-light,
.main.asesora-compact-page button.btn-light,
.main.asesora-compact-page a.btn-light,
.main.asesora-compact-page summary.btn-light,
.main.asesora-compact-page .btn-secondary,
.main.asesora-compact-page button.btn-secondary,
.main.asesora-compact-page a.btn-secondary,
.asignacion-asesoras-page .btn-light,
.asignacion-asesoras-page .btn-secondary {
  color: #0f172a !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 52%, #e0f2fe 100%) !important;
  border-color: rgba(14,165,233,.22) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.94) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.66) !important;
}

body.role-asesora .main .btn-success,
body.role-asesora .main button.btn-success,
body.role-asesora .main a.btn-success,
.main.asesora-compact-page .btn-success,
.main.asesora-compact-page button.btn-success,
.main.asesora-compact-page a.btn-success {
  color: #fff !important;
  background: linear-gradient(135deg, #047857 0%, #10b981 52%, #34d399 100%) !important;
  border-color: rgba(74,222,128,.45) !important;
  box-shadow: 0 12px 26px rgba(5,150,105,.24), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

body.role-asesora .main .btn-danger,
body.role-asesora .main button.btn-danger,
body.role-asesora .main a.btn-danger,
body.role-asesora .main .btn-outline-danger,
body.role-asesora .main button.btn-outline-danger,
body.role-asesora .main a.btn-outline-danger,
.main.asesora-compact-page .btn-danger,
.main.asesora-compact-page button.btn-danger,
.main.asesora-compact-page a.btn-danger,
.main.asesora-compact-page .btn-outline-danger,
.main.asesora-compact-page button.btn-outline-danger,
.main.asesora-compact-page a.btn-outline-danger {
  color: #fff !important;
  background: linear-gradient(135deg, #991b1b 0%, #ef4444 54%, #fb7185 100%) !important;
  border-color: rgba(248,113,113,.45) !important;
  box-shadow: 0 12px 24px rgba(220,38,38,.22), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.role-asesora .main .btn-warning,
body.role-asesora .main button.btn-warning,
body.role-asesora .main a.btn-warning,
.main.asesora-compact-page .btn-warning,
.main.asesora-compact-page button.btn-warning,
.main.asesora-compact-page a.btn-warning {
  color: #422006 !important;
  background: linear-gradient(135deg, #fff7ed 0%, #facc15 50%, #f97316 100%) !important;
  border-color: rgba(245,158,11,.42) !important;
  box-shadow: 0 12px 24px rgba(245,158,11,.22), inset 0 1px 0 rgba(255,255,255,.42) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
}

body.role-asesora .main .btn-whatsapp,
body.role-asesora .main a[href*="wa.me"].btn,
.main.asesora-compact-page .btn-whatsapp,
.main.asesora-compact-page a[href*="wa.me"].btn {
  color: #fff !important;
  background: linear-gradient(135deg, #075e54 0%, #128c7e 44%, #25d366 100%) !important;
  border-color: rgba(37,211,102,.42) !important;
  box-shadow: 0 12px 24px rgba(18,140,126,.24), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.role-asesora .main .status-button.success,
.main.asesora-compact-page .status-button.success {
  background: linear-gradient(135deg, #047857, #10b981, #34d399) !important;
  border-color: rgba(74,222,128,.46) !important;
}
body.role-asesora .main .status-button.danger,
.main.asesora-compact-page .status-button.danger {
  background: linear-gradient(135deg, #991b1b, #ef4444, #fb7185) !important;
  border-color: rgba(248,113,113,.46) !important;
}

body.role-asesora .main .btn:disabled,
body.role-asesora .main button:disabled,
body.role-asesora .main input[type="submit"]:disabled,
body.role-asesora .main input[type="button"]:disabled,
.main.asesora-compact-page .btn:disabled,
.main.asesora-compact-page button:disabled,
.main.asesora-compact-page input[type="submit"]:disabled,
.main.asesora-compact-page input[type="button"]:disabled {
  opacity: .58 !important;
  cursor: not-allowed !important;
  filter: grayscale(.10) !important;
  transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 4px 10px rgba(15,23,42,.08) !important;
}

body.role-asesora .main .table-wrap,
.main.asesora-compact-page .table-wrap,
.asignacion-asesoras-page .table-wrap {
  border: 1px solid rgba(14,165,233,.14) !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.055) !important;
}

body.role-asesora .main table thead th,
.main.asesora-compact-page table thead th,
.asignacion-asesoras-page table thead th {
  background: linear-gradient(135deg, #0f172a 0%, #155e75 52%, #0f766e 100%) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.12) !important;
}

body.role-asesora .main .badge,
body.role-asesora .main .status,
.main.asesora-compact-page .badge,
.main.asesora-compact-page .status {
  border: 1px solid rgba(14,165,233,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 6px 14px rgba(15,23,42,.045);
}

body.role-asesora .main .agenda-inline-actions,
.main.asesora-compact-page .agenda-inline-actions,
.main.asesora-compact-page .preagenda-actions-stack {
  gap: 7px !important;
}

body.role-asesora .main .agenda-inline-actions .btn,
.main.asesora-compact-page .agenda-inline-actions .btn,
.main.asesora-compact-page .preagenda-mini-action {
  box-shadow: 0 9px 19px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

@media (max-width: 760px) {
  body.role-asesora .main .panel-header,
  body.role-asesora .main .card-header,
  body.role-asesora .main .page-header,
  .main.asesora-compact-page .panel-header,
  .main.asesora-compact-page .card-header,
  .main.asesora-compact-page .page-header {
    padding: 10px !important;
  }

  body.role-asesora .main .panel-header .btn,
  body.role-asesora .main .card-header .btn,
  body.role-asesora .main .page-header .btn,
  body.role-asesora .main .panel-actions .btn,
  body.role-asesora .main .action-row .btn,
  .main.asesora-compact-page .panel-header .btn,
  .main.asesora-compact-page .card-header .btn,
  .main.asesora-compact-page .page-header .btn,
  .main.asesora-compact-page .panel-actions .btn,
  .main.asesora-compact-page .action-row .btn {
    justify-content: center !important;
  }
}

/* ============================================================
   Agenda / Citas - botones mini premium en listado de pacientes
   Mantiene tamaño original de .agenda-action-btn; solo cambia acabado.
   ============================================================ */
.agenda-excel-table .agenda-mini-premium-btn,
.agenda-module-panel .agenda-inline-actions .agenda-mini-premium-btn {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.36) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.34) !important;
  text-shadow: 0 1px 1px rgba(15,23,42,.24) !important;
  text-decoration: none !important;
  color: #fff !important;
}

.agenda-excel-table .agenda-mini-premium-btn::after,
.agenda-module-panel .agenda-inline-actions .agenda-mini-premium-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,.34), rgba(255,255,255,0) 46%);
  opacity: .74;
  pointer-events: none;
  z-index: -1;
}

.agenda-excel-table .agenda-mini-premium-btn:hover,
.agenda-module-panel .agenda-inline-actions .agenda-mini-premium-btn:hover {
  transform: translateY(-1px);
  filter: saturate(1.1) brightness(1.03);
  box-shadow: 0 11px 22px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.agenda-excel-table .agenda-mini-premium-btn:active,
.agenda-module-panel .agenda-inline-actions .agenda-mini-premium-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 12px rgba(15,23,42,.13), inset 0 2px 5px rgba(15,23,42,.18) !important;
}

.agenda-excel-table .agenda-mini-ver,
.agenda-module-panel .agenda-inline-actions .agenda-mini-ver {
  background: linear-gradient(135deg, #0f172a 0%, #2563eb 54%, #06b6d4 100%) !important;
  border-color: rgba(125,211,252,.52) !important;
}

.agenda-excel-table .agenda-mini-hoja,
.agenda-module-panel .agenda-inline-actions .agenda-mini-hoja {
  background: linear-gradient(135deg, #065f46 0%, #10b981 52%, #22c55e 100%) !important;
  border-color: rgba(134,239,172,.52) !important;
}

.agenda-excel-table .agenda-mini-editar,
.agenda-module-panel .agenda-inline-actions .agenda-mini-editar {
  background: linear-gradient(135deg, #92400e 0%, #f59e0b 52%, #f97316 100%) !important;
  border-color: rgba(253,186,116,.56) !important;
  color: #fff7ed !important;
}

.agenda-excel-table .agenda-mini-ajustar,
.agenda-module-panel .agenda-inline-actions .agenda-mini-ajustar {
  background: linear-gradient(135deg, #581c87 0%, #7c3aed 52%, #ec4899 100%) !important;
  border-color: rgba(216,180,254,.54) !important;
}

/* ============================================================
   Parametros / Comisiones - premium integral
   Hoja: admin/comisiones/index.php
   ============================================================ */
.vd-param-page-premium,
.vd-param-page {
  background: linear-gradient(180deg, #f8fbff 0%, #eef7ff 42%, #f8fafc 100%);
}

.vd-param-page .content-grid {
  gap: 16px;
  align-items: start;
}

.vd-param-page .panel {
  border: 1px solid rgba(14,165,233,.16) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 22px 55px rgba(15,23,42,.09) !important;
  overflow: hidden;
}

.vd-param-page .panel-header {
  border-radius: 22px !important;
  margin: 0 0 14px !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #0f172a 0%, #155e75 48%, #0ea5e9 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 36px rgba(14,116,144,.24) !important;
}

.vd-param-page .panel-header h3 {
  color: #fff !important;
  margin: 0 !important;
  font-size: clamp(1.08rem, 2vw, 1.55rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.vd-param-page .panel-header p {
  color: rgba(255,255,255,.86) !important;
  margin: .25rem 0 0 !important;
}

.vd-param-page .vd-param-nav-sheets {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: visible !important;
  background: linear-gradient(135deg,#ffffff,#f8fbff) !important;
  border: 1px solid rgba(14,165,233,.16) !important;
  border-radius: 17px !important;
  padding: 7px !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
}

.vd-param-page .vd-param-nav-sheets a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  color: #0f172a !important;
  background: linear-gradient(180deg,#fff,#f1f5f9) !important;
  border: 1px solid rgba(15,23,42,.09) !important;
  box-shadow: 0 5px 12px rgba(15,23,42,.055) !important;
}

.vd-param-page .vd-param-nav-sheets a.active {
  color: #fff !important;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9, #14b8a6) !important;
  border-color: rgba(125,211,252,.42) !important;
  box-shadow: 0 10px 22px rgba(14,165,233,.24) !important;
}

.vd-param-page .vd-param-sheet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.vd-param-page .vd-param-sheet-card {
  border: 1px solid rgba(14,165,233,.14) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f0f9ff 100%) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.07) !important;
  text-decoration: none !important;
  color: #0f172a !important;
}

.vd-param-page .vd-param-sheet-card strong {
  color: #0f172a !important;
  font-size: 1rem;
  font-weight: 900;
}

.vd-param-page .vd-param-sheet-card span {
  color: #475569 !important;
  line-height: 1.42;
}

.vd-param-page h3[id],
.vd-param-page h4 {
  color: #0f172a !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}

.vd-param-page .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 176px)) !important;
  gap: 10px !important;
}

.vd-param-page .stat-card {
  border-radius: 18px !important;
  border: 1px solid rgba(14,165,233,.14) !important;
  background: linear-gradient(145deg, #fff 0%, #ecfeff 100%) !important;
  box-shadow: 0 12px 26px rgba(14,165,233,.10) !important;
  min-height: auto !important;
  padding: 12px !important;
}

.vd-param-page .stat-label {
  font-size: .75rem !important;
  color: #475569 !important;
  font-weight: 850 !important;
}

.vd-param-page .stat-value {
  color: #0f172a !important;
  font-size: clamp(1.25rem, 2.2vw, 1.7rem) !important;
  font-weight: 950 !important;
}

.vd-param-page .stat-note {
  color: #0f766e !important;
  font-weight: 800 !important;
}

.vd-param-page .vd-bulk-form,
.vd-param-page form.vd-param-payment-form-premium {
  border: 1px solid rgba(14,165,233,.13) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%) !important;
  padding: 12px !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.055) !important;
  margin: 12px 0 18px !important;
}

.vd-param-page .vd-bulk-actions {
  border: 1px solid rgba(14,165,233,.14) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ecfeff, #eff6ff) !important;
  padding: 10px !important;
  gap: 10px !important;
}

.vd-param-page .vd-bulk-actions strong {
  color: #0f172a !important;
  font-weight: 900 !important;
}

.vd-param-page .table-wrap {
  border: 1px solid rgba(14,165,233,.14) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.05) !important;
}

.vd-param-page table thead th {
  background: linear-gradient(135deg, #0f172a, #155e75, #0f766e) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.13) !important;
}

.vd-param-page table tbody tr:hover {
  background: rgba(14,165,233,.045) !important;
}

.vd-param-page .btn,
.vd-param-page button.btn,
.vd-param-page input[type="submit"].btn {
  border-radius: 999px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.35) !important;
  text-decoration: none !important;
}

.vd-param-page .btn-light,
.vd-param-page a.btn-light,
.vd-param-page button.btn-light {
  color: #fff !important;
  background: linear-gradient(135deg, #334155, #2563eb, #06b6d4) !important;
  border-color: rgba(125,211,252,.45) !important;
}

.vd-param-page .btn-primary,
.vd-param-page a.btn-primary,
.vd-param-page button.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #065f46, #10b981, #22c55e) !important;
  border-color: rgba(134,239,172,.48) !important;
}

.vd-param-page .btn:hover,
.vd-param-page button.btn:hover {
  transform: translateY(-1px);
  filter: saturate(1.08) brightness(1.03);
}

.vd-param-page .input,
.vd-param-page select,
.vd-param-page textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(14,165,233,.18) !important;
  background: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 6px 14px rgba(15,23,42,.035) !important;
}

.vd-param-page .form-group label {
  font-weight: 850 !important;
  color: #0f172a !important;
}

.vd-param-page .status,
.vd-param-page .badge,
.vd-param-page table .status {
  border: 1px solid rgba(14,165,233,.15) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 5px 12px rgba(15,23,42,.06) !important;
}

.vd-param-page .alert,
.vd-param-page .alert-info {
  border-radius: 18px !important;
  border: 1px solid rgba(14,165,233,.16) !important;
  background: linear-gradient(135deg, #eff6ff, #ecfeff) !important;
  color: #0f172a !important;
}

@media (max-width: 760px) {
  .vd-param-page .panel { border-radius: 20px !important; }
  .vd-param-page .panel-header { padding: 14px !important; border-radius: 18px !important; }
  .vd-param-page .vd-param-nav-sheets { overflow: visible !important; flex-wrap: wrap !important; gap: 5px !important; padding: 6px !important; }
  .vd-param-page .vd-param-nav-sheets a { flex: 0 1 auto !important; min-height: 28px !important; padding: 5px 8px !important; font-size: 9.8px !important; white-space: nowrap !important; }
  .vd-param-page .vd-bulk-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .vd-param-page .vd-bulk-actions .btn,
  .vd-param-page .btn { justify-content: center !important; }
  .vd-param-page .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* Auto No Asistió parametrizable: distintivo gris visible y orden operativo */
.status.status-auto-no-asistio,
.status.danger.status-auto-no-asistio {
  background: linear-gradient(135deg, #e2e8f0, #cbd5e1) !important;
  color: #334155 !important;
  border: 1px solid rgba(100, 116, 139, .34) !important;
  box-shadow: 0 8px 18px rgba(100, 116, 139, .12);
  font-weight: 900;
}
.hoja-card-no_asistio {
  border-color: rgba(100, 116, 139, .34) !important;
  background: linear-gradient(135deg, rgba(248, 250, 252, .98), rgba(226, 232, 240, .92)) !important;
  opacity: .9 !important;
  filter: grayscale(.18) !important;
}
.hoja-pill-no-asistio,
.hoja-pill-no_asistio {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e2e8f0, #cbd5e1);
  color: #334155;
  border: 1px solid rgba(100, 116, 139, .34);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 16px rgba(100, 116, 139, .12);
}

/* 2026-05-23 - Web global: botones premium sin cambiar tamaño operativo. */
.cita-editar-premium-page .cita-editar-actions-premium {
  align-items: center;
}
.cita-editar-premium-page .cita-editar-btn {
  text-decoration: none !important;
  border-style: solid !important;
  isolation: isolate;
}
.cita-editar-premium-page .cita-editar-btn-hoja,
.cita-editar-premium-page .cita-editar-btn-save {
  color: #fff !important;
  background: linear-gradient(135deg, #0f766e, #14b8a6, #22c55e) !important;
  border-color: rgba(45,212,191,.46) !important;
  box-shadow: 0 12px 26px rgba(13,148,136,.24), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.cita-editar-premium-page .cita-editar-btn-ver {
  color: #fff !important;
  background: linear-gradient(135deg, #0369a1, #0284c7, #22d3ee) !important;
  border-color: rgba(34,211,238,.40) !important;
  box-shadow: 0 12px 24px rgba(2,132,199,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.cita-editar-premium-page .cita-editar-btn-ajustar {
  color: #fff !important;
  background: linear-gradient(135deg, #4c1d95, #7c3aed, #ec4899) !important;
  border-color: rgba(216,180,254,.42) !important;
  box-shadow: 0 12px 24px rgba(124,58,237,.24), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.cita-editar-premium-page .cita-editar-btn-agenda {
  color: #0f172a !important;
  background: linear-gradient(135deg, #ffffff, #f8fafc 52%, #e0f2fe) !important;
  border-color: rgba(14,165,233,.24) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.94) !important;
}
.cita-editar-premium-page .cita-editar-btn:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.08) brightness(1.03) !important;
}


/* Dashboard coordinador: paciente en consulta médica */
.global-dashboard-main .coordinator-dashboard-patient-card.is-in-consultation,
.global-dashboard-main .hoja-patient-card.coordinator-dashboard-patient-card.is-in-consultation {
  border-color: rgba(14, 165, 233, .42) !important;
  background:
    radial-gradient(circle at top left, rgba(14, 165, 233, .16), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  box-shadow: 0 16px 34px rgba(14, 165, 233, .13) !important;
}

.global-dashboard-main .coordinator-dashboard-state-pill.is-in-consultation,
.global-dashboard-main .coordinator-medico-consulta-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14, 165, 233, .38) !important;
  background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 58%, #7c3aed 100%) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  line-height: 1.1 !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22) !important;
  white-space: nowrap !important;
}

.global-dashboard-main .coordinator-medico-consulta-badge {
  animation: medicoConsultaPulse 1.8s ease-in-out infinite;
}

@keyframes medicoConsultaPulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 10px 22px rgba(37, 99, 235, .20); }
  50% { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(37, 99, 235, .28); }
}

.global-dashboard-main .coordinator-dashboard-patient-card.is-finished,
.global-dashboard-main .hoja-patient-card.coordinator-dashboard-patient-card.is-finished {
  border-color: rgba(16, 185, 129, .28) !important;
  background: linear-gradient(180deg, #ffffff, #ecfdf5) !important;
}

.global-dashboard-main .coordinator-dashboard-state-pill.is-finished {
  border-color: rgba(16, 185, 129, .36) !important;
  background: linear-gradient(135deg, #10b981, #059669) !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .global-dashboard-main .coordinator-medico-consulta-badge {
    width: 100% !important;
    min-height: 34px !important;
    padding: 8px 10px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* Informe médico: estado en atención con informe pendiente más visible */
.status.status-informe-atencion,
.status.info.status-informe-atencion,
.medico-status-stack .status.status-informe-atencion {
  background: linear-gradient(135deg, #7c3aed 0%, #2563eb 48%, #06b6d4 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 10px 22px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.32) !important;
  text-shadow: 0 1px 1px rgba(15,23,42,.26) !important;
  letter-spacing: .01em;
}
.status.status-informe-atencion::before,
.status.info.status-informe-atencion::before,
.medico-status-stack .status.status-informe-atencion::before {
  content: '🩺';
  font-size: .98em;
  line-height: 1;
}
@media (max-width: 640px) {
  .status.status-informe-atencion,
  .status.info.status-informe-atencion,
  .medico-status-stack .status.status-informe-atencion {
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    white-space: normal;
    line-height: 1.18;
  }
}


/* 2026-05-23: Coordinador - pacientes del día, informe pendiente en atención más visible. */
#pacientes-dia .hoja-informe-line,
.global-dashboard-main .coordinator-dashboard-informe-line {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
#pacientes-dia .hoja-informe-badge.status-informe-atencion,
#pacientes-dia .hoja-informe-badge.hoja-informe-badge-atencion,
#pacientes-dia .status.hoja-informe-badge-atencion,
.global-dashboard-main .dashboard-informe-atencion-badge.status-informe-atencion {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  background: linear-gradient(135deg, #f97316 0%, #ec4899 42%, #7c3aed 76%, #2563eb 100%) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  line-height: 1.12 !important;
  text-shadow: 0 1px 1px rgba(15,23,42,.28) !important;
  box-shadow: 0 11px 24px rgba(236,72,153,.26), 0 0 0 3px rgba(236,72,153,.10), inset 0 1px 0 rgba(255,255,255,.30) !important;
  white-space: nowrap !important;
}
#pacientes-dia .hoja-informe-badge.hoja-informe-badge-atencion::before,
#pacientes-dia .status.hoja-informe-badge-atencion::before,
.global-dashboard-main .dashboard-informe-atencion-badge.status-informe-atencion::before {
  content: '🩺' !important;
  font-size: 1em !important;
  line-height: 1 !important;
}
#pacientes-dia .hoja-patient-card.is-in-consultation .hoja-informe-badge.hoja-informe-badge-atencion,
#pacientes-dia .hoja-patient-card.estado-en-atencion .hoja-informe-badge.hoja-informe-badge-atencion,
.global-dashboard-main .dashboard-informe-atencion-badge.status-informe-atencion {
  animation: hojaInformeAtencionGlow 1.9s ease-in-out infinite !important;
}
@keyframes hojaInformeAtencionGlow {
  0%, 100% { filter: saturate(1.02) brightness(1); box-shadow: 0 11px 24px rgba(236,72,153,.24), 0 0 0 3px rgba(236,72,153,.10), inset 0 1px 0 rgba(255,255,255,.30); }
  50% { filter: saturate(1.16) brightness(1.06); box-shadow: 0 14px 30px rgba(124,58,237,.30), 0 0 0 4px rgba(37,99,235,.12), inset 0 1px 0 rgba(255,255,255,.34); }
}
@media (max-width: 640px) {
  #pacientes-dia .hoja-informe-line,
  .global-dashboard-main .coordinator-dashboard-informe-line {
    width: 100% !important;
  }
  #pacientes-dia .hoja-informe-badge.status-informe-atencion,
  #pacientes-dia .hoja-informe-badge.hoja-informe-badge-atencion,
  #pacientes-dia .status.hoja-informe-badge-atencion,
  .global-dashboard-main .dashboard-informe-atencion-badge.status-informe-atencion {
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }
}


/* Panel médico: paciente más visible y ruta/ciudad al 75% para tabla compacta */
.medico-panel .medico-patient-cell>strong{display:inline-block;color:#0f172a!important;font-size:1.00rem!important;line-height:1.08!important;font-weight:1000!important;letter-spacing:-.025em!important;}
.medico-panel .medico-patient-route{display:block;margin-top:2px;color:#64748b!important;font-size:.62rem!important;font-weight:850!important;line-height:1.12!important;letter-spacing:.025em!important;text-transform:uppercase!important;max-width:145px!important;white-space:normal!important;}
@media(max-width:760px){
  .medico-panel .medico-patient-cell>strong{font-size:.97rem!important;}
  .medico-panel .medico-patient-route{font-size:.60rem!important;max-width:132px!important;}
}

/* Panel médico: datos iniciales premium compactos: etiquetas en texto y valores en cápsula */
.medico-panel .medico-vitals-head{min-width:160px!important;}
.medico-panel .medico-vitals-cell{min-width:170px!important;max-width:210px!important;}
.medico-panel .medico-vitals-text{display:flex!important;flex-wrap:wrap!important;gap:3px 7px!important;align-items:center!important;line-height:1.26!important;max-width:205px!important;}
.medico-panel .medico-vital-text{display:inline-flex!important;align-items:center!important;gap:3px!important;white-space:nowrap!important;font-size:12.2px!important;font-weight:900!important;letter-spacing:-.01em!important;}
.medico-panel .medico-vital-text .v-label{font-size:10.2px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.035em!important;line-height:1!important;}
.medico-panel .medico-vital-text .v-value{font-size:11.8px!important;font-weight:1000!important;font-variant-numeric:tabular-nums!important;line-height:1!important;}
.medico-panel .medico-vital-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:18px!important;max-width:82px!important;padding:2px 6px!important;border-radius:999px!important;color:#ffffff!important;box-shadow:0 4px 10px rgba(15,23,42,.10)!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.medico-panel .medico-vital-pill.is-empty{background:linear-gradient(135deg,#cbd5e1,#94a3b8)!important;color:#475569!important;box-shadow:none!important;}
.medico-panel .medico-vital-pa{color:#1d4ed8!important;}
.medico-panel .medico-vital-fc{color:#4f46e5!important;}
.medico-panel .medico-vital-o2{color:#0891b2!important;}
.medico-panel .medico-vital-glucosa{color:#c2410c!important;}
.medico-panel .medico-vital-pylori{color:#be185d!important;}
.medico-panel .medico-vital-pa-pill{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;}
.medico-panel .medico-vital-fc-pill{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#ffffff!important;border-color:transparent!important;}
.medico-panel .medico-vital-o2-pill{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;}
.medico-panel .medico-vital-glucosa-pill{background:linear-gradient(135deg,#f97316,#c2410c)!important;}
.medico-panel .medico-vital-pylori-pill{background:linear-gradient(135deg,#ec4899,#be185d)!important;}
.medico-panel .medico-vital-sep{color:#94a3b8!important;font-weight:800!important;}
@media(max-width:760px){
  .medico-panel .medico-day-agenda table{min-width:940px;}
  .medico-panel .medico-vitals-cell{min-width:180px!important;max-width:210px!important;}
  .medico-panel .medico-vitals-text{max-width:205px!important;gap:3px 6px!important;}
  .medico-panel .medico-vital-text{font-size:12px!important;}
  .medico-panel .medico-vital-text .v-value{font-size:11.6px!important;}
  .medico-panel .medico-vital-pill{min-height:18px!important;padding:2px 5px!important;max-width:74px!important;}
}

/* Panel médico: procedimientos con cápsulas premium compactas y extras en texto */
.medico-panel .medico-procedure-cell{min-width:150px!important;max-width:210px!important;line-height:1.22!important;}
.medico-panel .medico-extras-cell{min-width:145px!important;max-width:220px!important;line-height:1.34!important;}
.medico-panel .medico-proc-pill{display:inline-flex!important;align-items:center!important;max-width:100%!important;margin:1px 3px 1px 0!important;padding:2px 7px!important;border-radius:999px!important;font-size:11.6px!important;font-weight:1000!important;line-height:1.15!important;letter-spacing:-.01em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;vertical-align:middle!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 5px 12px rgba(15,23,42,.10)!important;}
.medico-panel .medico-extra-text{display:inline!important;font-size:12.5px!important;font-weight:1000!important;letter-spacing:-.006em!important;line-height:1.35!important;text-shadow:0 1px 0 rgba(255,255,255,.46)!important;white-space:normal!important;}
.medico-panel .medico-compact-sep{color:#94a3b8!important;font-weight:900!important;margin:0 2px!important;}
.medico-panel .medico-compact-muted{color:#94a3b8!important;font-weight:850!important;font-size:12.2px!important;}
.medico-panel .proc-aqua{background:linear-gradient(135deg,#06b6d4,#2563eb)!important;color:#ffffff!important;}
.medico-panel .proc-emerald{background:linear-gradient(135deg,#10b981,#059669)!important;color:#ffffff!important;}
.medico-panel .proc-violet{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;color:#ffffff!important;}
.medico-panel .proc-rose{background:linear-gradient(135deg,#fb7185,#e11d48)!important;color:#ffffff!important;}
.medico-panel .proc-sky{background:linear-gradient(135deg,#38bdf8,#0ea5e9)!important;color:#ffffff!important;}
.medico-panel .proc-amber{background:linear-gradient(135deg,#f59e0b,#ea580c)!important;color:#ffffff!important;}
.medico-panel .proc-auto-1{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#ffffff!important;}
.medico-panel .proc-auto-2{background:linear-gradient(135deg,#14b8a6,#0f766e)!important;color:#ffffff!important;}
.medico-panel .proc-auto-3{background:linear-gradient(135deg,#f97316,#dc2626)!important;color:#ffffff!important;}
.medico-panel .proc-auto-4{background:linear-gradient(135deg,#ec4899,#be185d)!important;color:#ffffff!important;}
.medico-panel .proc-auto-5{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#ffffff!important;}
.medico-panel .proc-auto-6{background:linear-gradient(135deg,#0ea5e9,#2563eb)!important;color:#ffffff!important;}
.medico-panel .extra-1{color:#be123c!important;}
.medico-panel .extra-2{color:#0369a1!important;}
.medico-panel .extra-3{color:#047857!important;}
.medico-panel .extra-4{color:#a21caf!important;}
.medico-panel .extra-5{color:#b45309!important;}
@media(max-width:760px){
  .medico-panel .medico-day-agenda table{min-width:960px!important;}
  .medico-panel .medico-procedure-cell{min-width:135px!important;max-width:190px!important;}
  .medico-panel .medico-extras-cell{min-width:135px!important;max-width:200px!important;}
  .medico-panel .medico-proc-pill{font-size:11.2px!important;padding:2px 6px!important;max-width:150px!important;}
  .medico-panel .medico-extra-text{font-size:12.3px!important;}
}

/* Historia clínica: avisos premium de cierre de atención e informe */
.medico-historia .medico-closure-alert{position:relative;overflow:hidden;border:1px solid rgba(148,163,184,.22);border-radius:22px;padding:14px 16px;margin:0 0 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;box-shadow:0 18px 38px rgba(15,23,42,.12)}
.medico-historia .medico-closure-alert:before{content:'';position:absolute;inset:-45% auto auto -20%;width:210px;height:210px;border-radius:999px;background:rgba(255,255,255,.24);filter:blur(2px)}
.medico-historia .medico-closure-alert.borrador{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 36%,#fef3c7 100%);border-color:rgba(245,158,11,.36)}
.medico-historia .medico-closure-alert.finalizado{background:linear-gradient(135deg,#ecfdf5 0%,#dcfce7 36%,#dbeafe 100%);border-color:rgba(34,197,94,.34)}
.medico-historia .medico-closure-icon{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:16px;color:#fff;font-size:1.25rem;font-weight:950;box-shadow:0 12px 22px rgba(15,23,42,.16)}
.medico-historia .medico-closure-alert.borrador .medico-closure-icon{background:linear-gradient(135deg,#f59e0b,#ea580c,#db2777)}
.medico-historia .medico-closure-alert.finalizado .medico-closure-icon{background:linear-gradient(135deg,#10b981,#059669,#2563eb)}
.medico-historia .medico-closure-content{position:relative;display:grid;gap:3px;min-width:0}.medico-historia .medico-closure-title{margin:0;color:#0f172a;font-size:1.02rem;line-height:1.12;font-weight:1000;letter-spacing:-.02em}.medico-historia .medico-closure-detail{margin:0;color:#334155;font-size:.9rem;line-height:1.35;font-weight:760}.medico-historia .medico-closure-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:1000;text-transform:uppercase;letter-spacing:.045em;color:#fff;box-shadow:0 10px 20px rgba(15,23,42,.16)}
.medico-historia .medico-closure-alert.borrador .medico-closure-badge{background:linear-gradient(135deg,#f97316,#db2777)}.medico-historia .medico-closure-alert.finalizado .medico-closure-badge{background:linear-gradient(135deg,#16a34a,#0891b2)}
.medico-historia .medico-informe-status-card{border:1px solid rgba(148,163,184,.24);border-radius:18px;padding:12px 14px;margin:0 0 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.medico-historia .medico-informe-status-card.status-borrador,.medico-historia .medico-informe-status-card.status-en_atencion,.medico-historia .medico-informe-status-card.status-pendiente{background:linear-gradient(135deg,#fff7ed,#fff,#fef3c7);border-color:rgba(245,158,11,.3)}
.medico-historia .medico-informe-status-card.status-finalizado,.medico-historia .medico-informe-status-card.status-enviado{background:linear-gradient(135deg,#ecfdf5,#fff,#dbeafe);border-color:rgba(16,185,129,.28)}
.medico-historia .medico-informe-status-card.status-info{background:linear-gradient(135deg,#eff6ff,#fff,#eef2ff);border-color:rgba(59,130,246,.25)}
.medico-historia .medico-informe-status-title{display:flex;align-items:center;gap:7px;color:#0f172a;font-size:.98rem;font-weight:1000;line-height:1.18}.medico-historia .medico-informe-status-title:before{content:'🩺';display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-size:.95rem;box-shadow:0 8px 16px rgba(37,99,235,.2)}
.medico-historia .medico-informe-status-text{color:#475569;font-size:.84rem;line-height:1.34;font-weight:740;margin-top:2px}.medico-historia .medico-informe-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;padding:6px 10px;font-size:.74rem;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 9px 16px rgba(37,99,235,.18);white-space:nowrap}
@media(max-width:760px){.medico-historia .medico-closure-alert{grid-template-columns:auto minmax(0,1fr);padding:12px;gap:9px}.medico-historia .medico-closure-badge{grid-column:1/-1;width:100%}.medico-historia .medico-closure-icon{width:38px;height:38px;border-radius:14px}.medico-historia .medico-closure-title{font-size:.96rem}.medico-historia .medico-closure-detail{font-size:.84rem}.medico-historia .medico-informe-status-card{grid-template-columns:1fr;padding:11px 12px}.medico-historia .medico-informe-status-pill{width:100%}}

/* 2026-05-23: Hoja diaria coordinador - filtro de pagos premium y lógica Efectivo/Transferencias. */
.coordinator-day-dashboard .hoja-pagos-filter-premium {
  margin: 16px 0 14px;
  border: 1px solid rgba(14, 165, 233, .28);
  border-radius: 22px;
  background: radial-gradient(circle at 0% 0%, rgba(14,165,233,.18), transparent 34%), radial-gradient(circle at 100% 0%, rgba(124,58,237,.14), transparent 30%), linear-gradient(180deg, #f8fbff 0%, #ffffff 58%, #eff6ff 100%);
  box-shadow: 0 16px 34px rgba(15,23,42,.09);
  overflow: hidden;
}
.coordinator-day-dashboard .hoja-pagos-filter-toggle-premium {
  width: 100%; min-height: 56px; padding: 10px 12px; border: 0; border-radius: 22px;
  display: grid; grid-template-columns: 42px minmax(0, 1fr) 30px; align-items: center; gap: 10px;
  text-align: left; color: #0f172a; background: transparent; box-shadow: none;
}
.coordinator-day-dashboard .hoja-pagos-filter-icon {
  width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 16px;
  color: #fff; background: linear-gradient(135deg, #2563eb, #06b6d4 52%, #7c3aed); box-shadow: 0 12px 24px rgba(37,99,235,.26);
}
.coordinator-day-dashboard .hoja-pagos-filter-main strong { display:block; font-size: clamp(16px, 1.35vw, 19px); line-height:1.08; letter-spacing:-.025em; font-weight:950; color:#0f172a; }
.coordinator-day-dashboard .hoja-pagos-filter-main small { display:block; margin-top:4px; font-size:12px; line-height:1.2; font-weight:800; color:#475569; white-space:normal; }
.coordinator-day-dashboard .hoja-pagos-filter-chevron { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:999px; font-size:18px; font-weight:950; color:#1d4ed8; background:rgba(219,234,254,.92); transition: transform .18s ease; }
.coordinator-day-dashboard .hoja-pagos-filter-premium.is-open .hoja-pagos-filter-chevron { transform: rotate(180deg); }
.coordinator-day-dashboard .hoja-rango-pagos-form-premium { margin:0; padding:12px; border-top:1px solid rgba(14,165,233,.16); background:rgba(255,255,255,.78); backdrop-filter:blur(8px); }
.coordinator-day-dashboard .hoja-rango-pagos-form-premium .form-group { min-width:0; }
.coordinator-day-dashboard .hoja-rango-pagos-form-premium label { color:#0f172a; font-weight:950; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.coordinator-day-dashboard .hoja-rango-pagos-form-premium .input { border:1px solid rgba(37,99,235,.18); background:#fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 18px rgba(15,23,42,.05); }
.coordinator-day-dashboard .hoja-payment-mode-group { min-width: 260px; }
.coordinator-day-dashboard .hoja-payment-segment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:4px; }
.coordinator-day-dashboard .hoja-payment-segment .sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.coordinator-day-dashboard .hoja-payment-pill { cursor:pointer; min-height:42px; padding:7px 10px; border-radius:15px; border:1px solid rgba(148,163,184,.26); background:linear-gradient(135deg,#fff,#f8fafc); color:#334155; box-shadow:0 8px 17px rgba(15,23,42,.06); display:flex; flex-direction:column; justify-content:center; gap:1px; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.coordinator-day-dashboard .hoja-payment-pill strong { font-size:12px; line-height:1; font-weight:950; color:inherit; }
.coordinator-day-dashboard .hoja-payment-pill small { font-size:9.8px; line-height:1.05; font-weight:850; color:inherit; opacity:.82; }
.coordinator-day-dashboard .hoja-payment-pill:hover { transform: translateY(-1px); }
.coordinator-day-dashboard #pago_filtro_efectivo:checked + .hoja-payment-pill-cash { border-color:rgba(16,185,129,.42); color:#fff; background:linear-gradient(135deg,#16a34a,#10b981 56%,#22c55e); box-shadow:0 12px 24px rgba(16,185,129,.24); }
.coordinator-day-dashboard #pago_filtro_transferencia:checked + .hoja-payment-pill-digital { border-color:rgba(37,99,235,.42); color:#fff; background:linear-gradient(135deg,#2563eb,#06b6d4 56%,#7c3aed); box-shadow:0 12px 24px rgba(37,99,235,.24); }
.coordinator-day-dashboard .hoja-payment-help { display:block; margin-top:5px; color:#64748b; font-size:10.5px; font-weight:750; line-height:1.25; }
.coordinator-day-dashboard .hoja-filter-actions-inline .hoja-action-btn-filter,
.coordinator-day-dashboard .hoja-filter-actions-inline .hoja-action-btn-clean { border-radius:14px; font-weight:950; box-shadow:0 10px 20px rgba(15,23,42,.10); }
@media (max-width:760px) {
  .coordinator-day-dashboard .hoja-pagos-filter-toggle-premium { grid-template-columns:38px minmax(0,1fr) 28px; min-height:54px; padding:9px 10px; }
  .coordinator-day-dashboard .hoja-pagos-filter-icon { width:38px; height:38px; border-radius:14px; }
  .coordinator-day-dashboard .hoja-rango-pagos-form-premium { padding:10px; }
  .coordinator-day-dashboard .hoja-payment-mode-group { min-width:0; }
  .coordinator-day-dashboard .hoja-payment-segment { grid-template-columns:1fr 1fr; gap:7px; }
  .coordinator-day-dashboard .hoja-payment-pill { min-height:40px; padding:7px 8px; border-radius:13px; }
  .coordinator-day-dashboard .hoja-filter-actions-inline { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .coordinator-day-dashboard .hoja-filter-actions-inline .hoja-action-btn { width:100%; justify-content:center; }
}
@media (max-width:380px) {
  .coordinator-day-dashboard .hoja-payment-segment,
  .coordinator-day-dashboard .hoja-filter-actions-inline { grid-template-columns:1fr; }
}

/* ============================================================
   2026-05-23: Dashboard administrador / tarjetas de recaudo PC
   Distribución de la franja Citas del día, Estimado, Real y Productos
   en todo el ancho útil del panel sin afectar cálculos ni consultas.
   ============================================================ */
.global-dashboard-main .admin-day-revenue-stats {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 14px !important;
}

.global-dashboard-main .admin-day-revenue-stats .stat-card {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 118px !important;
}

@media (min-width: 1280px) {
  .global-dashboard-main .admin-day-revenue-stats {
    gap: 16px !important;
  }
  .global-dashboard-main .admin-day-revenue-stats .stat-card {
    padding: 20px 20px 18px !important;
  }
  .global-dashboard-main .admin-day-revenue-stats .stat-value {
    font-size: clamp(26px, 2.35vw, 38px) !important;
  }
}

@media (max-width: 980px) {
  .global-dashboard-main .admin-day-revenue-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  .global-dashboard-main .admin-day-revenue-stats {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   Agenda / Pre-agenda asesora - listado móvil compacto premium
   ============================================================ */
@media (max-width: 760px) {
  .main.agenda-asesora-page .asesora-list-panel,
  .main.preagenda-page .preagenda-list-card {
    padding: 10px !important;
  }

  .main.agenda-asesora-page .asesora-list-panel .panel-header,
  .main.preagenda-page .preagenda-list-head {
    margin-bottom: 6px !important;
  }

  .main.agenda-asesora-page .asesora-list-panel .panel-header p,
  .main.preagenda-page .preagenda-filter-note {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody tr:not(.agenda-actions-row),
  .main.preagenda-page table.preagenda-table tbody tr {
    margin-bottom: 7px !important;
    padding: 8px 9px !important;
    border-radius: 15px !important;
    border-color: rgba(203, 213, 225, .82) !important;
    background:
      radial-gradient(circle at top left, rgba(14, 165, 233, .10), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 9px 20px rgba(15, 23, 42, .055) !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td,
  .main.preagenda-page table.preagenda-table tbody td {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 5px !important;
    padding: 4px 0 !important;
    font-size: 11px !important;
    line-height: 1.18 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td::before,
  .main.preagenda-page table.preagenda-table tbody td::before {
    font-size: 8.8px !important;
    letter-spacing: .055em !important;
    color: #64748b !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td strong,
  .main.preagenda-page table.preagenda-table tbody td strong {
    font-size: 12px !important;
    line-height: 1.16 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td span,
  .main.preagenda-page table.preagenda-table tbody td small {
    font-size: 10.5px !important;
    line-height: 1.18 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td[data-label="Hora"],
  .main.preagenda-page table.preagenda-table tbody td[data-label="Hora"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    grid-template-columns: none !important;
    gap: 6px !important;
    width: auto !important;
    max-width: 118px;
    padding: 3px 8px !important;
    border: 1px solid rgba(14, 165, 233, .20) !important;
    border-radius: 999px !important;
    background: rgba(14, 165, 233, .08) !important;
    color: #075985 !important;
    font-weight: 900 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td[data-label="Hora"]::before,
  .main.preagenda-page table.preagenda-table tbody td[data-label="Hora"]::before {
    content: "Hora" !important;
    font-size: 8px !important;
    color: #0369a1 !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td[data-label="Paciente"],
  .main.preagenda-page table.preagenda-table tbody td[data-label="Paciente"] {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td[data-label="Paciente"] strong,
  .main.preagenda-page table.preagenda-table tbody td[data-label="Paciente"] strong {
    font-size: 13px !important;
    color: #0f172a !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table .status,
  .main.preagenda-page table.preagenda-table .badge,
  .main.preagenda-page table.preagenda-table .preagenda-status-badge {
    min-height: 24px !important;
    padding: 4px 7px !important;
    border-radius: 999px !important;
    font-size: 9.8px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    width: fit-content;
    max-width: 100%;
  }

  .main.agenda-asesora-page table.agenda-excel-table .agenda-actions-row {
    margin-top: -8px !important;
    margin-bottom: 8px !important;
    padding: 0 9px 8px !important;
    border-radius: 0 0 15px 15px !important;
    background: linear-gradient(180deg, #f8fbff, #eef7ff) !important;
    border-color: rgba(203, 213, 225, .82) !important;
    box-shadow: 0 9px 18px rgba(15, 23, 42, .045) !important;
  }

  .main.agenda-asesora-page .agenda-inline-actions,
  .main.preagenda-page .preagenda-actions-stack {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    align-items: stretch !important;
  }

  .main.agenda-asesora-page .agenda-inline-actions .btn,
  .main.agenda-asesora-page .agenda-action-btn,
  .main.agenda-asesora-page .agenda-mini-premium-btn,
  .main.preagenda-page .preagenda-mini-action,
  .main.preagenda-page .preagenda-inline-form .btn {
    width: 100% !important;
    min-height: 30px !important;
    padding: 6px 8px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    box-shadow: 0 8px 16px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255,255,255,.58) !important;
  }

  .main.agenda-asesora-page .agenda-inline-actions .btn.btn-primary,
  .main.preagenda-page .preagenda-inline-form .btn.btn-primary,
  .main.preagenda-page .preagenda-mini-action.btn-primary {
    border: 1px solid rgba(37, 99, 235, .32) !important;
    background: linear-gradient(135deg, #0ea5e9, #2563eb) !important;
    color: #fff !important;
  }

  .main.agenda-asesora-page .agenda-inline-actions .btn.btn-light,
  .main.agenda-asesora-page .agenda-inline-actions .agenda-mini-premium-btn,
  .main.preagenda-page .preagenda-mini-action.btn-light,
  .main.preagenda-page .preagenda-inline-form .btn-light,
  .main.preagenda-page .preagenda-mini-action.btn-secondary {
    border: 1px solid rgba(148, 163, 184, .42) !important;
    background: linear-gradient(135deg, #ffffff, #eef6ff) !important;
    color: #0f172a !important;
  }

  .main.preagenda-page .preagenda-mini-action.btn-success,
  .main.preagenda-page .preagenda-load-btn {
    border: 1px solid rgba(16, 185, 129, .32) !important;
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #fff !important;
  }

  .main.preagenda-page .preagenda-mini-action.btn-outline-danger {
    border: 1px solid rgba(248, 113, 113, .45) !important;
    background: linear-gradient(135deg, #fff7f7, #fee2e2) !important;
    color: #991b1b !important;
  }

  .main.preagenda-page td[data-label="WhatsApp"] .preagenda-inline-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
  }

  .main.preagenda-page .preagenda-wa-template-select {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 30px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
  }

  .main.preagenda-page td[data-label="WhatsApp"] .preagenda-mini-action {
    min-width: 88px !important;
  }

  .main.preagenda-page .preagenda-wa-state {
    display: block !important;
    margin-top: 4px !important;
    font-size: 9.8px !important;
    color: #64748b !important;
  }
}

@media (max-width: 430px) {
  .main.agenda-asesora-page .agenda-inline-actions,
  .main.preagenda-page .preagenda-actions-stack {
    grid-template-columns: 1fr 1fr !important;
  }

  .main.agenda-asesora-page table.agenda-excel-table tbody td,
  .main.preagenda-page table.preagenda-table tbody td {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    font-size: 10.5px !important;
  }

  .main.preagenda-page td[data-label="WhatsApp"] .preagenda-inline-form {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   2026-05-23: Agenda / Pre-agenda - botones premium PC y móvil
   Cubre administradores y asesoras en Agenda/Citas y Pre-agenda.
   ============================================================ */
.agenda-module-panel .btn,
.agenda-module-panel button.btn,
.agenda-module-panel a.btn,
.agenda-module-panel summary.btn,
.preagenda-page .btn,
.preagenda-page button.btn,
.preagenda-page a.btn,
.preagenda-page summary.btn,
.preagenda-page .preagenda-toggle-btn {
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  min-height: 36px !important;
  padding: 8px 13px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: .005em !important;
  text-align: center !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.44) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease !important;
  isolation: isolate;
}

.agenda-module-panel .agenda-inline-actions,
.preagenda-page .preagenda-actions-stack {
  gap: 8px !important;
  align-items: center !important;
}

.agenda-module-panel .agenda-inline-actions form,
.preagenda-page .preagenda-inline-form {
  margin: 0 !important;
}

.agenda-module-panel .btn:hover,
.agenda-module-panel button.btn:hover,
.agenda-module-panel a.btn:hover,
.agenda-module-panel summary.btn:hover,
.preagenda-page .btn:hover,
.preagenda-page button.btn:hover,
.preagenda-page a.btn:hover,
.preagenda-page summary.btn:hover,
.preagenda-page .preagenda-toggle-btn:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.08) brightness(1.03) !important;
  box-shadow: 0 17px 34px rgba(15,23,42,.17), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.agenda-module-panel .btn:active,
.preagenda-page .btn:active,
.preagenda-page .preagenda-toggle-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.16), inset 0 2px 7px rgba(15,23,42,.18) !important;
}

.agenda-module-panel .btn-primary,
.agenda-module-panel button.btn-primary,
.agenda-module-panel a.btn-primary,
.agenda-module-panel summary.btn-primary,
.preagenda-page .btn-primary,
.preagenda-page button.btn-primary,
.preagenda-page a.btn-primary,
.preagenda-page .preagenda-btn-main {
  color: #fff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.38), transparent 32%), linear-gradient(135deg, #2563eb 0%, #06b6d4 48%, #14b8a6 100%) !important;
  border-color: rgba(125,211,252,.48) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.22) !important;
}

.agenda-module-panel .btn-success,
.agenda-module-panel button.btn-success,
.agenda-module-panel a.btn-success,
.preagenda-page .btn-success,
.preagenda-page button.btn-success,
.preagenda-page a.btn-success,
.preagenda-page .preagenda-load-btn {
  color: #fff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.34), transparent 32%), linear-gradient(135deg, #059669 0%, #10b981 55%, #22c55e 100%) !important;
  border-color: rgba(110,231,183,.48) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.22) !important;
}

.agenda-module-panel .btn-light,
.agenda-module-panel button.btn-light,
.agenda-module-panel a.btn-light,
.agenda-module-panel .btn-secondary,
.agenda-module-panel button.btn-secondary,
.agenda-module-panel a.btn-secondary,
.preagenda-page .btn-light,
.preagenda-page button.btn-light,
.preagenda-page a.btn-light,
.preagenda-page .btn-secondary,
.preagenda-page button.btn-secondary,
.preagenda-page a.btn-secondary,
.preagenda-page .preagenda-btn-soft,
.preagenda-page .preagenda-toggle-btn {
  color: #0f172a !important;
  background: radial-gradient(circle at 14% 0%, rgba(14,165,233,.17), transparent 34%), linear-gradient(135deg, #ffffff 0%, #f8fbff 52%, #e0f2fe 100%) !important;
  border-color: rgba(14,165,233,.30) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.76) !important;
}

.agenda-module-panel .btn-danger,
.agenda-module-panel button.btn-danger,
.agenda-module-panel a.btn-danger,
.agenda-module-panel .btn-outline-danger,
.agenda-module-panel button.btn-outline-danger,
.agenda-module-panel a.btn-outline-danger,
.preagenda-page .btn-danger,
.preagenda-page button.btn-danger,
.preagenda-page a.btn-danger,
.preagenda-page .btn-outline-danger,
.preagenda-page button.btn-outline-danger,
.preagenda-page a.btn-outline-danger {
  color: #fff !important;
  background: radial-gradient(circle at 14% 0%, rgba(255,255,255,.32), transparent 34%), linear-gradient(135deg, #be123c 0%, #ef4444 55%, #fb7185 100%) !important;
  border-color: rgba(251,113,133,.50) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.22) !important;
}

.agenda-module-panel .agenda-action-btn,
.agenda-module-panel .agenda-mini-premium-btn,
.agenda-module-panel .agenda-pay-summary,
.preagenda-page .preagenda-mini-action {
  min-height: 34px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 1000 !important;
}

.agenda-module-panel .agenda-actions-row td {
  background: linear-gradient(180deg, rgba(248,251,255,.82), rgba(239,246,255,.68)) !important;
}

.agenda-module-panel .agenda-actions-cell {
  padding-top: 8px !important;
  padding-bottom: 10px !important;
}

.agenda-module-panel .agenda-payment-pill {
  border-radius: 999px !important;
  border: 1px solid rgba(16,185,129,.26) !important;
  background: linear-gradient(135deg, #ecfdf5, #e0f2fe) !important;
  color: #047857 !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
}

.agenda-module-panel .status-button,
.agenda-module-panel .status {
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.preagenda-page .preagenda-actions-stack {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)) !important;
  min-width: min(100%, 330px) !important;
}

.preagenda-page .preagenda-actions-stack > a,
.preagenda-page .preagenda-actions-stack > form,
.preagenda-page .preagenda-actions-stack .preagenda-mini-action {
  width: 100% !important;
}

.preagenda-page .preagenda-actions-stack form {
  display: flex !important;
}

.preagenda-page .preagenda-actions-stack form .preagenda-mini-action {
  flex: 1 1 auto !important;
}

.preagenda-page .preagenda-actions-cell .preagenda-inline-form {
  gap: 7px !important;
  align-items: center !important;
}

.preagenda-page td[data-label="WhatsApp"] .preagenda-inline-form {
  display: grid !important;
  grid-template-columns: minmax(150px, 1fr) auto !important;
  width: 100% !important;
}

.preagenda-page .preagenda-wa-template-select {
  border-radius: 999px !important;
  border: 1px solid rgba(14,165,233,.22) !important;
  background: linear-gradient(135deg, #fff, #f8fbff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(15,23,42,.06) !important;
}

@media (min-width: 761px) {
  .agenda-module-panel .agenda-inline-actions {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .agenda-module-panel .agenda-inline-actions form {
    display: inline-flex !important;
  }

  .agenda-module-panel .agenda-action-btn,
  .agenda-module-panel .agenda-mini-premium-btn,
  .preagenda-page .preagenda-mini-action {
    min-width: 96px !important;
  }
}

@media (max-width: 760px) {
  .agenda-module-panel .agenda-inline-actions,
  .preagenda-page .preagenda-actions-stack {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  .agenda-module-panel .agenda-inline-actions .btn,
  .agenda-module-panel .agenda-action-btn,
  .agenda-module-panel .agenda-mini-premium-btn,
  .agenda-module-panel .agenda-inline-actions form,
  .preagenda-page .preagenda-mini-action,
  .preagenda-page .preagenda-actions-stack form,
  .preagenda-page .preagenda-actions-stack a {
    width: 100% !important;
    min-width: 0 !important;
  }

  .agenda-module-panel .agenda-inline-actions form .btn,
  .preagenda-page .preagenda-actions-stack form .btn {
    width: 100% !important;
  }

  .agenda-module-panel .btn,
  .preagenda-page .btn,
  .preagenda-page .preagenda-toggle-btn {
    min-height: 34px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    white-space: normal !important;
  }

  .agenda-module-panel .agenda-actions-label {
    display: none !important;
  }

  .preagenda-page td[data-label="WhatsApp"] .preagenda-inline-form {
    grid-template-columns: 1fr !important;
  }

  .preagenda-page .preagenda-wa-template-select,
  .preagenda-page td[data-label="WhatsApp"] .preagenda-mini-action {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 380px) {
  .agenda-module-panel .agenda-inline-actions,
  .preagenda-page .preagenda-actions-stack {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   2026-05-23: Agenda/Citas y Pre-agenda - correccion real botones premium compactos
   Aplica a asesora, administrador y superadministrador en PC y movil.
   ============================================================ */
body .main.agenda-citas-premium-page .agenda-module-panel,
body .main.preagenda-premium-page {
  --agenda-premium-blue: #2563eb;
  --agenda-premium-cyan: #06b6d4;
  --agenda-premium-teal: #14b8a6;
  --agenda-premium-green: #10b981;
  --agenda-premium-violet: #8b5cf6;
  --agenda-premium-ink: #0f172a;
  --agenda-premium-soft: #f8fbff;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn,
body .main.agenda-citas-premium-page .agenda-module-panel a.btn,
body .main.agenda-citas-premium-page .agenda-module-panel summary.btn,
body .main.preagenda-premium-page .btn,
body .main.preagenda-premium-page button.btn,
body .main.preagenda-premium-page a.btn,
body .main.preagenda-premium-page summary.btn,
body .main.preagenda-premium-page .preagenda-toggle-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(14,165,233,.32) !important;
  background: radial-gradient(circle at 14% 0%, rgba(255,255,255,.75), transparent 34%), linear-gradient(135deg, #ffffff 0%, #f8fbff 45%, #e0f2fe 100%) !important;
  color: var(--agenda-premium-ink) !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.68) !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1.05 !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn::after,
body .main.preagenda-premium-page .btn::after,
body .main.preagenda-premium-page .preagenda-toggle-btn::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(115deg, rgba(255,255,255,.44), transparent 38%, rgba(255,255,255,.20) 72%, transparent) !important;
  opacity: .68 !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn:hover,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn:hover,
body .main.agenda-citas-premium-page .agenda-module-panel a.btn:hover,
body .main.agenda-citas-premium-page .agenda-module-panel summary.btn:hover,
body .main.preagenda-premium-page .btn:hover,
body .main.preagenda-premium-page .preagenda-toggle-btn:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.08) brightness(1.03) !important;
  box-shadow: 0 17px 34px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.78) !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn:active,
body .main.preagenda-premium-page .btn:active,
body .main.preagenda-premium-page .preagenda-toggle-btn:active {
  transform: translateY(0) scale(.99) !important;
  box-shadow: 0 7px 16px rgba(15,23,42,.16), inset 0 2px 7px rgba(15,23,42,.18) !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn-primary,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn-primary,
body .main.agenda-citas-premium-page .agenda-module-panel a.btn-primary,
body .main.agenda-citas-premium-page .agenda-module-panel summary.btn-primary,
body .main.preagenda-premium-page .btn-primary,
body .main.preagenda-premium-page button.btn-primary,
body .main.preagenda-premium-page a.btn-primary,
body .main.preagenda-premium-page .preagenda-btn-main {
  color: #ffffff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.38), transparent 34%), linear-gradient(135deg, #2563eb 0%, #06b6d4 52%, #14b8a6 100%) !important;
  border-color: rgba(125,211,252,.58) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.24) !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn-success,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn-success,
body .main.agenda-citas-premium-page .agenda-module-panel a.btn-success,
body .main.preagenda-premium-page .btn-success,
body .main.preagenda-premium-page button.btn-success,
body .main.preagenda-premium-page a.btn-success,
body .main.preagenda-premium-page .preagenda-load-btn {
  color: #ffffff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.34), transparent 34%), linear-gradient(135deg, #047857 0%, #10b981 52%, #22c55e 100%) !important;
  border-color: rgba(110,231,183,.58) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.24) !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn-danger,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn-danger,
body .main.agenda-citas-premium-page .agenda-module-panel a.btn-danger,
body .main.agenda-citas-premium-page .agenda-module-panel .btn-outline-danger,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn-outline-danger,
body .main.preagenda-premium-page .btn-danger,
body .main.preagenda-premium-page button.btn-danger,
body .main.preagenda-premium-page a.btn-danger,
body .main.preagenda-premium-page .btn-outline-danger,
body .main.preagenda-premium-page button.btn-outline-danger {
  color: #ffffff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.34), transparent 34%), linear-gradient(135deg, #be123c 0%, #ef4444 54%, #fb7185 100%) !important;
  border-color: rgba(251,113,133,.60) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.24) !important;
}

body .main.agenda-citas-premium-page .agenda-module-panel .btn-secondary,
body .main.agenda-citas-premium-page .agenda-module-panel button.btn-secondary,
body .main.preagenda-premium-page .btn-secondary,
body .main.preagenda-premium-page button.btn-secondary,
body .main.preagenda-premium-page a.btn-secondary {
  color: #ffffff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.34), transparent 34%), linear-gradient(135deg, #475569 0%, #64748b 54%, #94a3b8 100%) !important;
  border-color: rgba(203,213,225,.62) !important;
  text-shadow: 0 1px 0 rgba(15,23,42,.24) !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions,
body .main.preagenda-premium-page .preagenda-actions-stack {
  gap: 7px !important;
  align-items: center !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions form,
body .main.preagenda-premium-page .preagenda-actions-stack form,
body .main.preagenda-premium-page .preagenda-inline-form {
  margin: 0 !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
body .main.agenda-citas-premium-page .agenda-pay-summary,
body .main.agenda-citas-premium-page .agenda-pay-save,
body .main.agenda-citas-premium-page .agenda-pay-detail,
body .main.preagenda-premium-page .preagenda-mini-action {
  min-height: 32px !important;
  padding: 7px 10px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-ver,
body .main.preagenda-premium-page a.preagenda-mini-action {
  background: radial-gradient(circle at 12% 0%, rgba(14,165,233,.20), transparent 34%), linear-gradient(135deg, #ffffff 0%, #eff6ff 52%, #dbeafe 100%) !important;
  border-color: rgba(59,130,246,.30) !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-hoja,
body .main.preagenda-premium-page .preagenda-mini-action.btn-primary {
  color: #ffffff !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.38), transparent 34%), linear-gradient(135deg, #2563eb 0%, #0891b2 50%, #14b8a6 100%) !important;
}

body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-editar,
body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-ajustar,
body .main.preagenda-premium-page .preagenda-mini-action.btn-light {
  color: #0f172a !important;
  background: radial-gradient(circle at 16% 0%, rgba(255,255,255,.74), transparent 34%), linear-gradient(135deg, #ffffff 0%, #f8fbff 50%, #cffafe 100%) !important;
  border-color: rgba(6,182,212,.30) !important;
}

body .main.preagenda-premium-page .preagenda-actions-stack {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr)) !important;
  min-width: min(100%, 330px) !important;
}

body .main.preagenda-premium-page .preagenda-actions-stack > a,
body .main.preagenda-premium-page .preagenda-actions-stack > form,
body .main.preagenda-premium-page .preagenda-actions-stack .preagenda-mini-action {
  width: 100% !important;
}

body .main.preagenda-premium-page .preagenda-actions-stack form {
  display: flex !important;
}

body .main.preagenda-premium-page .preagenda-actions-stack form .preagenda-mini-action {
  flex: 1 1 auto !important;
}

body .main.preagenda-premium-page .preagenda-wa-template-select {
  border-radius: 999px !important;
  min-height: 32px !important;
  border: 1px solid rgba(14,165,233,.24) !important;
  background: linear-gradient(135deg, #ffffff, #f8fbff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 8px 18px rgba(15,23,42,.06) !important;
}

@media (min-width: 761px) {
  body .main.agenda-citas-premium-page .agenda-inline-actions {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions form {
    display: inline-flex !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
  body .main.preagenda-premium-page .preagenda-mini-action {
    min-width: 92px !important;
  }
}

@media (max-width: 760px) {
  body .main.agenda-citas-premium-page .table-wrap,
  body .main.preagenda-premium-page .preagenda-list-wrap {
    overflow: visible !important;
    max-width: 100% !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table,
  body .main.agenda-citas-premium-page table.agenda-excel-table thead,
  body .main.agenda-citas-premium-page table.agenda-excel-table tbody,
  body .main.agenda-citas-premium-page table.agenda-excel-table tr,
  body .main.agenda-citas-premium-page table.agenda-excel-table th,
  body .main.agenda-citas-premium-page table.agenda-excel-table td,
  body .main.preagenda-premium-page table.preagenda-table,
  body .main.preagenda-premium-page table.preagenda-table thead,
  body .main.preagenda-premium-page table.preagenda-table tbody,
  body .main.preagenda-premium-page table.preagenda-table tr,
  body .main.preagenda-premium-page table.preagenda-table th,
  body .main.preagenda-premium-page table.preagenda-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table thead,
  body .main.preagenda-premium-page table.preagenda-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody,
  body .main.preagenda-premium-page table.preagenda-table tbody {
    display: grid !important;
    gap: 8px !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody tr:not(.agenda-actions-row),
  body .main.preagenda-premium-page table.preagenda-table tbody tr {
    border-radius: 18px !important;
    border: 1px solid rgba(14,165,233,.16) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.94)) !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
    padding: 8px !important;
    overflow: hidden !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody tr.agenda-actions-row {
    margin-top: -10px !important;
    border-radius: 0 0 18px 18px !important;
    border: 1px solid rgba(14,165,233,.16) !important;
    border-top: 0 !important;
    background: linear-gradient(180deg, rgba(240,249,255,.95), rgba(236,253,245,.86)) !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.07) !important;
    padding: 7px !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td,
  body .main.preagenda-premium-page table.preagenda-table tbody td {
    border: 0 !important;
    background: transparent !important;
    padding: 5px 0 !important;
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    column-gap: 7px !important;
    align-items: start !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td::before,
  body .main.preagenda-premium-page table.preagenda-table tbody td::before {
    content: attr(data-label) !important;
    color: #64748b !important;
    font-size: 9.4px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td[data-label=""],
  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td.agenda-actions-cell,
  body .main.preagenda-premium-page table.preagenda-table tbody td.preagenda-actions-cell {
    display: block !important;
    grid-template-columns: 1fr !important;
    padding: 4px 0 !important;
  }

  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td[data-label=""]::before,
  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td.agenda-actions-cell::before,
  body .main.preagenda-premium-page table.preagenda-table tbody td.preagenda-actions-cell::before {
    display: none !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions,
  body .main.preagenda-premium-page .preagenda-actions-stack {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions form,
  body .main.agenda-citas-premium-page .agenda-inline-actions .btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
  body .main.preagenda-premium-page .preagenda-actions-stack form,
  body .main.preagenda-premium-page .preagenda-actions-stack a,
  body .main.preagenda-premium-page .preagenda-actions-stack .preagenda-mini-action {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions form .btn,
  body .main.preagenda-premium-page .preagenda-actions-stack form .btn {
    width: 100% !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions .btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
  body .main.preagenda-premium-page .preagenda-mini-action {
    min-height: 29px !important;
    padding: 6px 7px !important;
    font-size: 10px !important;
    white-space: normal !important;
    line-height: 1.05 !important;
  }

  body .main.agenda-citas-premium-page .agenda-actions-label {
    display: none !important;
  }

  body .main.preagenda-premium-page td[data-label="WhatsApp"] .preagenda-inline-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body .main.preagenda-premium-page .preagenda-wa-template-select,
  body .main.preagenda-premium-page td[data-label="WhatsApp"] .preagenda-mini-action {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 390px) {
  body .main.agenda-citas-premium-page table.agenda-excel-table tbody td,
  body .main.preagenda-premium-page table.preagenda-table tbody td {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    font-size: 10.5px !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions,
  body .main.preagenda-premium-page .preagenda-actions-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  body .main.agenda-citas-premium-page .agenda-inline-actions .btn,
  body .main.preagenda-premium-page .preagenda-mini-action {
    min-height: 28px !important;
    padding: 5px 6px !important;
    font-size: 9.6px !important;
  }
}


/* 2026-05-23 host-visible agenda preagenda fallback */

.main.agenda-citas-premium-page .agenda-module-panel .btn,
.main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
.main.preagenda-premium-page .btn,
.main.preagenda-premium-page .preagenda-mini-action{border-radius:999px!important;box-shadow:0 12px 26px rgba(15,23,42,.13),inset 0 1px 0 rgba(255,255,255,.7)!important;font-weight:900!important;}
@media(max-width:760px){.main.agenda-citas-premium-page .agenda-inline-actions,.main.preagenda-premium-page .preagenda-actions-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.main.agenda-citas-premium-page .agenda-inline-actions .btn,.main.preagenda-premium-page .preagenda-mini-action{width:100%!important;min-width:0!important;min-height:28px!important;padding:5px 6px!important;font-size:9.8px!important}}

/* 2026-05-23: Pre-agenda asesora - selector premium para procedimientos extras/adicionales */
.preagenda-premium-page .preagenda-extra-picker {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(14,165,233,.18);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248,252,255,.98), rgba(239,246,255,.74));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
}
.preagenda-premium-page .preagenda-extra-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.preagenda-premium-page .preagenda-add-extra-btn {
  min-height: 38px;
  padding: 8px 14px;
  font-size: 11px;
  white-space: nowrap;
}
.preagenda-premium-page .preagenda-extra-submit-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.preagenda-premium-page .preagenda-extra-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 28px;
}
.preagenda-premium-page .preagenda-extra-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 7px 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(59,130,246,.22);
  background: linear-gradient(135deg, #ffffff, #e0f2fe);
  box-shadow: 0 8px 16px rgba(15,23,42,.08);
  color: #0f172a;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.1;
}
.preagenda-premium-page .preagenda-extra-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preagenda-premium-page .preagenda-extra-remove {
  appearance: none;
  border: 0;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ef4444, #fb7185);
  color: #fff;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 6px 12px rgba(239,68,68,.22);
}
.preagenda-premium-page .preagenda-extra-empty,
.preagenda-premium-page .preagenda-extra-help {
  color: #64748b;
  font-size: 11px;
  line-height: 1.25;
}
@media (max-width: 760px) {
  .preagenda-premium-page .preagenda-extra-picker {
    padding: 8px;
    gap: 7px;
  }
  .preagenda-premium-page .preagenda-extra-add-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .preagenda-premium-page .preagenda-add-extra-btn {
    width: 100%;
    min-height: 34px;
    padding: 7px 10px;
    font-size: 10.5px;
  }
  .preagenda-premium-page .preagenda-extra-chip {
    width: 100%;
    justify-content: space-between;
    padding: 6px 7px 6px 9px;
    font-size: 10.5px;
  }
}

/* 2026-05-23 Agenda/Citas estados y Pre-agenda extras/total */
.agenda-citas-premium-page .agenda-row-no-asistio,
.agenda-citas-premium-page .agenda-row-cancelada{background:linear-gradient(135deg,rgba(241,245,249,.96),rgba(226,232,240,.72))!important;color:#64748b!important;}
.agenda-citas-premium-page .agenda-row-no-asistio td,
.agenda-citas-premium-page .agenda-row-cancelada td{background:transparent!important;}
.agenda-citas-premium-page .agenda-row-atrasada td:first-child{box-shadow:inset 4px 0 0 rgba(245,158,11,.78)!important;}
.agenda-citas-premium-page .status-atrasada{color:#78350f!important;background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-color:rgba(245,158,11,.35)!important;}
.preagenda-premium-page .preagenda-total-preview{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border:1px solid rgba(16,185,129,.22)!important;border-radius:16px!important;padding:9px 12px!important;margin-top:8px!important;background:linear-gradient(135deg,#ecfdf5,#eff6ff)!important;box-shadow:0 10px 22px rgba(15,23,42,.06)!important;}
.preagenda-premium-page .preagenda-total-preview span,.preagenda-premium-page .preagenda-total-preview small{color:#047857!important;font-weight:850!important;}
.preagenda-premium-page .preagenda-total-preview strong{color:#0f172a!important;font-size:1.05rem!important;font-weight:950!important;}


/* 2026-05-23: Agenda/Citas - botones premium más compactos para asesoras y administradores */
body .main.agenda-citas-premium-page .agenda-inline-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
}
body .main.agenda-citas-premium-page .agenda-inline-actions form,
body .main.agenda-citas-premium-page .agenda-inline-actions details{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto!important;
  margin:0!important;
}
body .main.agenda-citas-premium-page .agenda-inline-actions details[open]{
  display:block!important;
  flex:1 0 100%!important;
}
body .main.agenda-citas-premium-page .agenda-inline-actions .btn,
body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
body .main.agenda-citas-premium-page .agenda-pay-summary{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  min-height:27px!important;
  padding:5px 8px!important;
  font-size:10.2px!important;
  line-height:1!important;
  white-space:nowrap!important;
  border-radius:999px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.11),inset 0 1px 0 rgba(255,255,255,.72)!important;
}
body .main.agenda-citas-premium-page .agenda-inline-actions form .btn,
body .main.agenda-citas-premium-page .agenda-inline-actions details summary.btn{
  width:auto!important;
}
@media(max-width:760px){
  body .main.agenda-citas-premium-page .agenda-inline-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  body .main.agenda-citas-premium-page .agenda-inline-actions form,
  body .main.agenda-citas-premium-page .agenda-inline-actions details{
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  body .main.agenda-citas-premium-page .agenda-inline-actions details[open]{
    flex-basis:100%!important;
  }
  body .main.agenda-citas-premium-page .agenda-inline-actions .btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-action-btn,
  body .main.agenda-citas-premium-page .agenda-inline-actions .agenda-mini-premium-btn,
  body .main.agenda-citas-premium-page .agenda-pay-summary{
    width:auto!important;
    min-width:0!important;
    max-width:max-content!important;
    min-height:24px!important;
    padding:4px 6px!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* 2026-05-23: teléfonos internacionales premium en citas/preagenda/coordinador */
.phone-country-field .phone-country-row {
  grid-template-columns: minmax(138px, 190px) minmax(0, 1fr);
  gap: 8px;
}
.phone-country-field .phone-country-select,
.phone-country-field .phone-country-number {
  border-radius: 15px !important;
  border: 1px solid rgba(148, 163, 184, .34) !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  min-height: 42px;
}
.phone-country-field .phone-country-select:focus,
.phone-country-field .phone-country-number:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, .18) !important;
}
.phone-country-field > small {
  display: block;
  margin-top: 5px;
  line-height: 1.25;
}
@media (max-width: 640px) {
  .phone-country-field .phone-country-row {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 6px !important;
  }
  .phone-country-field .phone-country-select,
  .phone-country-field .phone-country-number {
    min-height: 38px !important;
    font-size: .86rem !important;
    padding: 7px 8px !important;
  }
  .phone-country-field > small { font-size: 10.5px !important; }
}


/* ============================================================
   2026-05-23 - Dashboard administrador: tarjetas de recaudo PC
   ============================================================ */
.admin-day-revenue-stats {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100%;
}
.admin-day-revenue-stats .stat-card {
  min-width: 0 !important;
  min-height: 132px !important;
  padding: 18px 20px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.admin-day-revenue-stats .stat-label {
  min-height: 2.4em;
  margin-bottom: 8px !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
.admin-day-revenue-stats .stat-value,
.admin-day-revenue-stats .stat-value[style] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(25px, 2.35vw, 34px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-variant-numeric: tabular-nums !important;
}
.admin-day-revenue-stats .stat-note {
  margin-top: 8px !important;
  max-width: 100% !important;
  overflow: visible !important;
}
@media (min-width: 1280px) {
  .admin-day-revenue-stats {
    grid-template-columns: repeat(4, minmax(230px, 1fr)) !important;
  }
  .admin-day-revenue-stats .stat-card {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}
@media (min-width: 900px) and (max-width: 1279px) {
  .admin-day-revenue-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-day-revenue-stats .stat-value,
  .admin-day-revenue-stats .stat-value[style] {
    font-size: clamp(28px, 3.4vw, 38px) !important;
  }
}
@media (max-width: 899px) {
  .admin-day-revenue-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .admin-day-revenue-stats .stat-card {
    min-height: 112px !important;
    padding: 14px 15px !important;
  }
  .admin-day-revenue-stats .stat-value,
  .admin-day-revenue-stats .stat-value[style] {
    font-size: clamp(21px, 5vw, 29px) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
@media (max-width: 520px) {
  .admin-day-revenue-stats {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   2026-05-23 - Dashboard administrador: tarjetas de recaudo V3
   La grilla ya no depende de .stats-grid ni de 4 columnas forzadas.
   Evita valores monetarios cortados en PC con sidebar o anchos medios.
   ============================================================ */
.global-dashboard-main .admin-day-revenue-panel-v3 {
  overflow: visible !important;
}
.global-dashboard-main .admin-day-revenue-grid-v3 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: stretch !important;
  margin: 0 0 18px !important;
}
.global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-card {
  min-width: 0 !important;
  min-height: 128px !important;
  padding: 18px 20px !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-value {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-size: clamp(25px, 2.25vw, 34px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  font-variant-numeric: tabular-nums !important;
}
.global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-label {
  margin-bottom: 8px !important;
  line-height: 1.12 !important;
}
.global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-note {
  margin-top: 8px !important;
  line-height: 1.35 !important;
  overflow: visible !important;
}
@media (max-width: 720px) {
  .global-dashboard-main .admin-day-revenue-grid-v3 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)) !important;
    gap: 10px !important;
  }
  .global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-card {
    min-height: 112px !important;
    padding: 14px 15px !important;
  }
  .global-dashboard-main .admin-day-revenue-grid-v3 .admin-day-kpi-value {
    font-size: clamp(22px, 7vw, 30px) !important;
  }
}

/* ============================================================
   2026-05-23 - Dashboard administrador: tarjetas de recaudo V4
   Tarjetas independientes de .stat-card/.stats-grid para evitar clipping,
   anchos fijos heredados o caché CSS del hosting. Muestra valores completos.
   ============================================================ */
.global-dashboard-main .admin-day-revenue-panel-v4 {
  overflow: visible !important;
}
.global-dashboard-main .admin-day-revenue-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(230px, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  align-items: stretch !important;
  margin: 0 0 18px !important;
}
.global-dashboard-main .admin-day-kpi-card-v4 {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 134px !important;
  padding: 18px 18px 16px !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(59, 130, 246, .20) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(14, 165, 233, .18), transparent 34%),
    radial-gradient(circle at 96% 7%, rgba(139, 92, 246, .13), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.99) 0%, rgba(248,251,255,.96) 48%, rgba(236,253,245,.90) 100%) !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .085) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.global-dashboard-main .admin-day-kpi-card-v4::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #06b6d4, #38bdf8) !important;
  opacity: .95 !important;
}
.global-dashboard-main .admin-day-kpi-card-v4:nth-child(2)::before { background: linear-gradient(180deg, #10b981, #34d399) !important; }
.global-dashboard-main .admin-day-kpi-card-v4:nth-child(3)::before { background: linear-gradient(180deg, #8b5cf6, #06b6d4) !important; }
.global-dashboard-main .admin-day-kpi-card-v4:nth-child(4)::before { background: linear-gradient(180deg, #f59e0b, #fbbf24) !important; }
.global-dashboard-main .admin-day-kpi-label-v4,
.global-dashboard-main .admin-day-kpi-value-v4,
.global-dashboard-main .admin-day-kpi-note-v4 {
  position: relative !important;
  z-index: 1 !important;
}
.global-dashboard-main .admin-day-kpi-label-v4 {
  display: block !important;
  margin: 0 0 9px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}
.global-dashboard-main .admin-day-kpi-value-v4 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  color: #08304f !important;
  font-size: clamp(26px, 2vw, 36px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.065em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-variant-numeric: tabular-nums !important;
}
.global-dashboard-main .admin-day-kpi-note-v4 {
  display: block !important;
  margin: 9px 0 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  overflow: visible !important;
}
@media (max-width: 1240px) {
  .global-dashboard-main .admin-day-revenue-grid-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .global-dashboard-main .admin-day-kpi-value-v4 {
    font-size: clamp(27px, 3.4vw, 36px) !important;
  }
}
@media (max-width: 680px) {
  .global-dashboard-main .admin-day-revenue-grid-v4 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .global-dashboard-main .admin-day-kpi-card-v4 {
    min-height: 112px !important;
    padding: 14px 15px !important;
  }
  .global-dashboard-main .admin-day-kpi-value-v4 {
    font-size: clamp(25px, 8vw, 32px) !important;
  }
}

/* Módulos operativos / pantalla amplia premium 2026-05-28 */
.vd-operational-fullscreen-toggle,
.vd-fullscreen-toggle {
  appearance: none;
  border: 1px solid rgba(45, 212, 191, .56);
  cursor: pointer;
  min-width: 0;
  width: auto;
  height: 34px;
  padding: 0 14px 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 54%, #06b6d4 100%);
  color: #ffffff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .018em;
  line-height: 1;
  text-transform: none;
  box-shadow: 0 14px 30px rgba(15, 118, 110, .28), 0 0 0 1px rgba(255,255,255,.16) inset, inset 0 1px 0 rgba(255,255,255,.28);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease, filter .16s ease;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.vd-operational-fullscreen-toggle::before,
.vd-fullscreen-toggle::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(110deg, rgba(255,255,255,.28), rgba(255,255,255,.04) 38%, rgba(255,255,255,.22) 72%, rgba(255,255,255,.06));
  opacity: .72;
  pointer-events: none;
  z-index: -1;
}
.vd-operational-fullscreen-toggle::after,
.vd-fullscreen-toggle::after {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.26);
  pointer-events: none;
}
.vd-operational-fullscreen-toggle:hover,
.vd-fullscreen-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(125, 211, 252, .78);
  filter: saturate(1.05);
  box-shadow: 0 18px 36px rgba(15, 118, 110, .34), 0 0 0 1px rgba(255,255,255,.18) inset, inset 0 1px 0 rgba(255,255,255,.32);
}
.vd-operational-fullscreen-toggle:focus-visible,
.vd-fullscreen-toggle:focus-visible {
  outline: 3px solid rgba(20, 184, 166, .28);
  outline-offset: 3px;
}
.vd-operational-fullscreen-toggle[aria-pressed="true"],
.vd-operational-fullscreen-toggle.is-active,
.vd-operational-fullscreen-toggle[data-fullscreen-active="1"],
.vd-fullscreen-toggle[aria-pressed="true"],
.vd-fullscreen-toggle.is-active,
.vd-fullscreen-toggle[data-fullscreen-active="1"] {
  background: linear-gradient(135deg, #064e3b 0%, #0f766e 42%, #0ea5a4 100%) !important;
  border-color: rgba(45, 212, 191, .72) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(15, 118, 110, .35), 0 0 0 1px rgba(255,255,255,.16) inset, inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.vd-fullscreen-mini-icon {
  width: 19px;
  height: 19px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.18);
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 5px 12px rgba(6, 95, 70, .18);
  flex: 0 0 auto;
}
.vd-operational-fullscreen-toggle[aria-pressed="true"] .vd-fullscreen-mini-icon,
.vd-operational-fullscreen-toggle.is-active .vd-fullscreen-mini-icon,
.vd-operational-fullscreen-toggle[data-fullscreen-active="1"] .vd-fullscreen-mini-icon,
.vd-fullscreen-toggle[aria-pressed="true"] .vd-fullscreen-mini-icon,
.vd-fullscreen-toggle.is-active .vd-fullscreen-mini-icon,
.vd-fullscreen-toggle[data-fullscreen-active="1"] .vd-fullscreen-mini-icon {
  background: rgba(255,255,255,.22);
}
.vd-fullscreen-mini-label {
  white-space: nowrap;
}
html.miruta-operational-fullscreen-mode .app,
body.miruta-operational-fullscreen-mode .app,
body.asesora-fullscreen-mode .app {
  grid-template-columns: minmax(0, 1fr) !important;
}
html.miruta-operational-fullscreen-mode .sidebar,
body.miruta-operational-fullscreen-mode .sidebar,
body.asesora-fullscreen-mode .sidebar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
}
html.miruta-operational-fullscreen-mode .overlay,
html.miruta-operational-fullscreen-mode .sidebar-overlay,
body.miruta-operational-fullscreen-mode .overlay,
body.miruta-operational-fullscreen-mode .sidebar-overlay,
body.asesora-fullscreen-mode .overlay,
body.asesora-fullscreen-mode .sidebar-overlay {
  display: none !important;
}
html.miruta-operational-fullscreen-mode .main,
body.miruta-operational-fullscreen-mode .main,
body.asesora-fullscreen-mode .main {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
html.miruta-operational-fullscreen-mode .topbar,
body.miruta-operational-fullscreen-mode .topbar,
body.asesora-fullscreen-mode .topbar {
  margin-bottom: 12px;
}
html.miruta-operational-fullscreen-mode .topbar .page-title p,
body.miruta-operational-fullscreen-mode .topbar .page-title p,
body.asesora-fullscreen-mode .topbar .page-title p {
  display: none;
}
html.miruta-operational-fullscreen-mode .base-datos-page .bd-table,
html.miruta-operational-fullscreen-mode .preagenda-page .preagenda-table,
html.miruta-operational-fullscreen-mode .agenda-citas-premium-page table,
body.miruta-operational-fullscreen-mode .base-datos-page .bd-table,
body.miruta-operational-fullscreen-mode .preagenda-page .preagenda-table,
body.miruta-operational-fullscreen-mode .agenda-citas-premium-page table,
body.asesora-fullscreen-mode .base-datos-page .bd-table,
body.asesora-fullscreen-mode .preagenda-page .preagenda-table,
body.asesora-fullscreen-mode .agenda-citas-premium-page table {
  font-size: .78rem;
}
html.miruta-operational-fullscreen-mode .base-datos-page .bd-hero,
html.miruta-operational-fullscreen-mode .preagenda-page .preagenda-hero,
html.miruta-operational-fullscreen-mode .agenda-citas-premium-page .panel,
body.miruta-operational-fullscreen-mode .base-datos-page .bd-hero,
body.miruta-operational-fullscreen-mode .preagenda-page .preagenda-hero,
body.miruta-operational-fullscreen-mode .agenda-citas-premium-page .panel,
body.asesora-fullscreen-mode .base-datos-page .bd-hero,
body.asesora-fullscreen-mode .preagenda-page .preagenda-hero,
body.asesora-fullscreen-mode .agenda-citas-premium-page .panel {
  border-radius: 14px;
}
@media (max-width: 760px) {
  .vd-operational-fullscreen-toggle,
  .vd-fullscreen-toggle {
    height: 30px;
    padding: 0 8px;
  }
  .vd-fullscreen-mini-label {
    display: none;
  }
  html.miruta-operational-fullscreen-mode .main,
  body.miruta-operational-fullscreen-mode .main,
  body.asesora-fullscreen-mode .main {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* Ajuste premium compacto del botón pantalla completa - Base de Datos 2026-05-28 */
.topbar-actions > .vd-operational-fullscreen-toggle {
  order: -20;
  flex: 0 0 auto;
  align-self: center;
  height: 34px !important;
  padding: 0 14px 0 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(45,212,191,.56) !important;
  background: linear-gradient(135deg,#0f766e 0%,#14b8a6 54%,#06b6d4 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15,118,110,.28),0 0 0 1px rgba(255,255,255,.16) inset,inset 0 1px 0 rgba(255,255,255,.28) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}
.topbar-actions > .vd-operational-fullscreen-toggle:hover {
  border-color: rgba(125,211,252,.78) !important;
  box-shadow: 0 18px 36px rgba(15,118,110,.34),0 0 0 1px rgba(255,255,255,.18) inset,inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.topbar-actions > .vd-operational-fullscreen-toggle.is-active,
.topbar-actions > .vd-operational-fullscreen-toggle[aria-pressed="true"],
.topbar-actions > .vd-operational-fullscreen-toggle[data-fullscreen-active="1"] {
  background: linear-gradient(135deg,#064e3b 0%,#0f766e 42%,#0ea5a4 100%) !important;
  color: #ffffff !important;
  border-color: rgba(45,212,191,.72) !important;
  box-shadow: 0 16px 34px rgba(15,118,110,.35),0 0 0 1px rgba(255,255,255,.16) inset,inset 0 1px 0 rgba(255,255,255,.28) !important;
}
@media (max-width: 760px) {
  .topbar-actions > .vd-operational-fullscreen-toggle {
    position: fixed;
    right: 70px;
    bottom: 14px;
    z-index: 80;
    height: 38px !important;
    padding: 0 12px !important;
    box-shadow: 0 16px 34px rgba(15,118,110,.34),0 0 0 1px rgba(255,255,255,.16) inset !important;
  }
}



/* Botón Pantalla completa premium real - corrección visual 2026-05-28 */
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real,
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real,
button[data-miruta-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real,
button[data-asesora-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real {
  order: -30 !important;
  appearance: none !important;
  border: 0 !important;
  min-width: 178px !important;
  height: 42px !important;
  padding: 0 18px 0 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #111827 0%, #0f172a 24%, #0f766e 58%, #22d3ee 100%) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .24), 0 12px 30px rgba(20, 184, 166, .28), inset 0 1px 0 rgba(255,255,255,.36), inset 0 -1px 0 rgba(15,23,42,.26) !important;
  cursor: pointer !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real::before,
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real::before,
button[data-miruta-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real::before,
button[data-asesora-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real::before {
  content: '' !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background: linear-gradient(115deg, rgba(255,255,255,.40), rgba(255,255,255,.08) 35%, rgba(103,232,249,.34) 58%, rgba(255,255,255,.10) 78%) !important;
  opacity: .82 !important;
  z-index: -1 !important;
  pointer-events: none !important;
}
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real::after,
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real::after,
button[data-miruta-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real::after,
button[data-asesora-fullscreen-toggle].vd-operational-fullscreen-toggle-premium-real::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  box-shadow: inset 0 0 0 1px rgba(34,211,238,.18) !important;
  pointer-events: none !important;
}
.vd-operational-fullscreen-toggle-premium-real .vd-fullscreen-premium-shine {
  position: absolute !important;
  inset: -60% auto -60% -35% !important;
  width: 48% !important;
  transform: rotate(18deg) !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent) !important;
  opacity: .68 !important;
  pointer-events: none !important;
}
.vd-operational-fullscreen-toggle-premium-real:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.09) brightness(1.04) !important;
  box-shadow: 0 22px 46px rgba(15, 23, 42, .28), 0 16px 36px rgba(20, 184, 166, .34), inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(15,23,42,.28) !important;
}
.vd-operational-fullscreen-toggle-premium-real:active {
  transform: translateY(0) scale(.985) !important;
}
.vd-operational-fullscreen-toggle-premium-real:focus-visible {
  outline: 3px solid rgba(34, 211, 238, .34) !important;
  outline-offset: 3px !important;
}
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real.is-active,
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real[aria-pressed="true"],
.topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real[data-fullscreen-active="1"],
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real.is-active,
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real[aria-pressed="true"],
.vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real[data-fullscreen-active="1"] {
  background: linear-gradient(135deg, #4c1d95 0%, #111827 28%, #0f766e 64%, #22d3ee 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 20px 44px rgba(76,29,149,.26), 0 14px 34px rgba(20,184,166,.30), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(15,23,42,.28) !important;
}
.vd-operational-fullscreen-toggle-premium-real .vd-fullscreen-mini-icon {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: radial-gradient(circle at 32% 24%, #ffffff 0%, #ecfeff 34%, #67e8f9 68%, #0891b2 100%) !important;
  color: #0f172a !important;
  font-size: 13px !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(8,145,178,.36), inset 0 1px 0 rgba(255,255,255,.78) !important;
  flex: 0 0 26px !important;
}
.vd-operational-fullscreen-toggle-premium-real .vd-fullscreen-mini-label {
  display: inline-block !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}
@media (max-width: 760px) {
  .topbar-actions > .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real,
  .vd-operational-fullscreen-toggle.vd-operational-fullscreen-toggle-premium-real {
    position: fixed !important;
    right: 70px !important;
    bottom: 14px !important;
    z-index: 90 !important;
    min-width: 52px !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    border-radius: 18px !important;
    gap: 0 !important;
  }
  .vd-operational-fullscreen-toggle-premium-real .vd-fullscreen-mini-label {
    display: none !important;
  }
}

/* ============================================================
   Asesoras / responsive operativo reforzado 2026-05-29
   Base de Datos, Pre-agenda, Agenda Final y Postventa deben ser
   legibles en celular sin desplazamiento lateral innecesario.
   ============================================================ */
.main.asesora-compact-page,
.main.agenda-asesora-page,
.main.base-datos-page {
  max-width: 100%;
  box-sizing: border-box;
}

.asesora-compact-page .btn,
.agenda-asesora-page .btn,
.base-datos-page .btn {
  max-width: 100%;
}

.asesora-compact-page .input,
.asesora-compact-page select.input,
.asesora-compact-page textarea.input,
.agenda-asesora-page .input,
.agenda-asesora-page select.input,
.agenda-asesora-page textarea.input,
.base-datos-page .input,
.base-datos-page select.input,
.base-datos-page textarea.input {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .main.asesora-compact-page,
  .main.agenda-asesora-page,
  .main.base-datos-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
    overflow-x: hidden !important;
  }

  .asesora-compact-page .panel-header,
  .agenda-asesora-page .panel-header,
  .base-datos-page .bd-hero {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .asesora-compact-page .panel-header .btn,
  .agenda-asesora-page .panel-header .btn,
  .base-datos-page .bd-hero .btn,
  .base-datos-page .bd-filters .btn,
  .base-datos-page .bd-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .asesora-compact-page .table-wrap,
  .agenda-asesora-page .table-wrap,
  .base-datos-page .bd-table-wrap {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
  }

  .asesora-compact-page .agenda-inline-actions,
  .asesora-compact-page .preagenda-actions-stack,
  .agenda-asesora-page .agenda-inline-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
  }

  .asesora-compact-page .agenda-inline-actions .btn,
  .asesora-compact-page .preagenda-actions-stack .btn,
  .agenda-asesora-page .agenda-inline-actions .btn {
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: normal !important;
  }
}

@media (max-width: 430px) {
  .asesora-compact-page .agenda-inline-actions,
  .asesora-compact-page .preagenda-actions-stack,
  .agenda-asesora-page .agenda-inline-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Inventario premium refresh 2026-05-29: KPIs inteligentes y cuadros consistentes */
.vd-inventory-full .card.panel,
.vd-inventory-full section.card.panel {
  border: 1px solid rgba(14,165,233,.18) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(45,212,191,.16), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(37,99,235,.14), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
  box-shadow: 0 22px 55px rgba(15,23,42,.10) !important;
  overflow: hidden;
}
.vd-inventory-full .panel-header,
.vd-inventory-full details > summary {
  border-radius: 22px !important;
}
.vd-inventory-full .panel-header h3,
.vd-inventory-full details > summary h3 {
  color: #0f172a !important;
  font-weight: 950 !important;
  letter-spacing: -.03em !important;
}
.vd-inventory-full .vd-inv-kpis article,
.vd-inventory-full .vd-route-alert-cards article,
.vd-inventory-full .vd-route-stock-cards article,
.vd-inventory-full .vd-route-smart-mini-kpis article,
.vd-inventory-full .vd-smart-route-suggestions article {
  border: 1px solid rgba(14,165,233,.18) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,246,255,.92)) !important;
  box-shadow: 0 16px 38px rgba(15,23,42,.08) !important;
}
.vd-inventory-full .vd-inv-kpis article strong,
.vd-inventory-full .vd-route-smart-mini-kpis article strong {
  color: #0f172a !important;
  font-size: clamp(20px, 2.5vw, 32px) !important;
}
.vd-route-smart-dashboard {
  position: relative;
  isolation: isolate;
  border: 0 !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(45,212,191,.30), transparent 28%),
    radial-gradient(circle at 100% 10%, rgba(59,130,246,.26), transparent 28%),
    linear-gradient(135deg, #08111f 0%, #0f172a 48%, #073b43 100%) !important;
  color: #e6fbff !important;
}
.vd-route-smart-dashboard::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 25px;
  border: 1px solid rgba(255,255,255,.14);
  pointer-events: none;
  z-index: -1;
}
.vd-route-smart-dashboard .panel-header h3,
.vd-route-smart-dashboard .panel-header p,
.vd-route-smart-dashboard .vd-smart-route-header h3,
.vd-route-smart-dashboard .vd-smart-route-header p {
  color: #f8fdff !important;
}
.vd-route-smart-dashboard .badge {
  border: 1px solid rgba(45,212,191,.35) !important;
  background: rgba(8,47,73,.72) !important;
  color: #ecfeff !important;
  box-shadow: 0 12px 28px rgba(14,165,233,.18) !important;
}
.vd-smart-route-suggestions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.vd-smart-route-suggestions article {
  background: linear-gradient(135deg, rgba(15,23,42,.78), rgba(8,47,73,.62)) !important;
  border-color: rgba(45,212,191,.22) !important;
  color: #ecfeff !important;
}
.vd-smart-route-suggestions article strong { color: #67e8f9 !important; display:block; }
.vd-smart-route-suggestions article span { color: rgba(236,254,255,.78) !important; }
.vd-route-smart-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 14px;
}
.vd-route-smart-kpi {
  border: 1px solid rgba(45,212,191,.22) !important;
  border-radius: 24px !important;
  background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(240,253,250,.96) 48%, rgba(219,234,254,.95)) !important;
  color: #0f172a !important;
  box-shadow: 0 20px 46px rgba(8,47,73,.18) !important;
  overflow: hidden;
}
.vd-route-smart-kpi[open] {
  box-shadow: 0 26px 62px rgba(14,165,233,.24) !important;
  transform: translateY(-1px);
}
.vd-route-smart-kpi > summary {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px !important;
  align-items: center;
  padding: 16px !important;
  background: radial-gradient(circle at 12% 0%, rgba(45,212,191,.22), transparent 34%), linear-gradient(135deg, #ffffff, #eefcff) !important;
}
.vd-route-smart-main strong {
  display: block;
  font-size: 19px;
  color: #0f172a;
  font-weight: 950;
}
.vd-route-smart-eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 4px 9px;
  border-radius: 999px;
  color: #0369a1;
  background: rgba(14,165,233,.10);
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 950;
  letter-spacing: .08em;
  margin-bottom: 5px;
}
.vd-route-smart-main small { color: #475569; font-weight: 700; }
.vd-route-smart-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(72px, auto));
  gap: 7px;
}
.vd-route-smart-metrics span {
  border: 1px solid rgba(14,165,233,.14);
  border-radius: 16px;
  padding: 8px 10px;
  text-align: center;
  background: linear-gradient(180deg, #ffffff, #f1f8ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(15,23,42,.06);
}
.vd-route-smart-metrics .vd-route-kpi-units {
  background: linear-gradient(135deg, #0f766e, #0891b2) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 12px 26px rgba(14,165,233,.25) !important;
}
.vd-route-smart-metrics small { display:block; font-size:9.5px; color:#64748b; font-weight:900; text-transform:uppercase; }
.vd-route-smart-metrics .vd-route-kpi-units small { color: rgba(255,255,255,.78) !important; }
.vd-route-smart-metrics strong { display:block; font-size:16px; font-weight:950; color:#0f172a; }
.vd-route-smart-metrics .vd-route-kpi-units strong { color:#fff !important; }
.vd-route-smart-badge {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 16px;
  margin-bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  color: #0f172a;
  background: linear-gradient(135deg,#dbeafe,#cffafe);
}
.vd-route-smart-badge-success { background: linear-gradient(135deg,#bbf7d0,#67e8f9); }
.vd-route-smart-badge-warning { background: linear-gradient(135deg,#fef3c7,#fed7aa); }
.vd-route-smart-badge-danger { background: linear-gradient(135deg,#fee2e2,#fecaca); }
.vd-route-smart-body {
  border-top: 1px solid rgba(14,165,233,.14);
  padding: 14px 16px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.96));
}
.vd-route-smart-toolbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(180px,240px);
  gap: 12px;
  align-items: end;
  margin-bottom: 12px;
}
.vd-route-smart-toolbar h4 { margin:0; color:#0f172a; font-weight:950; }
.vd-route-smart-toolbar p { margin:3px 0 0; color:#64748b; }
.vd-route-smart-day-cards {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 10px;
  margin-bottom: 6px;
  -webkit-overflow-scrolling: touch;
}
.vd-route-smart-day-card {
  flex: 0 0 auto;
  min-width: 118px;
  border: 1px solid rgba(14,165,233,.18);
  border-radius: 18px;
  padding: 9px 11px;
  cursor: pointer;
  background: linear-gradient(145deg,#fff,#eef6ff);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
  color: #0f172a;
  text-align: left;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.vd-route-smart-day-card:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(14,165,233,.16); }
.vd-route-smart-day-card.is-active {
  background: linear-gradient(135deg,#0f766e,#0284c7) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.24);
}
.vd-route-smart-day-card small { display:block; font-weight:900; font-size:10px; color:#64748b; }
.vd-route-smart-day-card.is-active small { color: rgba(255,255,255,.78) !important; }
.vd-route-smart-day-card strong { display:block; font-size:22px; font-weight:950; line-height:1; margin-top:4px; }
.vd-route-smart-day-card span { font-size:10px; font-weight:900; text-transform:uppercase; opacity:.78; }
.vd-route-smart-table-wrap {
  border-radius: 20px !important;
  border: 1px solid rgba(14,165,233,.14) !important;
  background: #fff !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.07) !important;
}
.vd-route-smart-sales-table th {
  background: linear-gradient(135deg,#0f172a,#075985) !important;
  color: #ecfeff !important;
  border: 0 !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.vd-route-smart-sales-table td {
  background: rgba(255,255,255,.98) !important;
  border-color: #e2e8f0 !important;
}
.vd-route-smart-sales-table td:nth-child(4) strong {
  display: inline-flex;
  min-width: 38px;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  color: #075985;
  background: #e0f2fe;
}
@media (max-width: 980px) {
  .vd-smart-route-suggestions { grid-template-columns: 1fr; }
  .vd-route-smart-kpi > summary { grid-template-columns: 1fr; }
  .vd-route-smart-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vd-route-smart-toolbar { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .vd-route-smart-grid { grid-template-columns: 1fr; }
  .vd-route-smart-dashboard { border-radius: 22px !important; }
  .vd-route-smart-metrics { grid-template-columns: 1fr 1fr; }
  .vd-route-smart-day-card { min-width: 104px; }
}

/* ============================================================
   2026-05-29 - Inventario: tarjetas diarias premium sin valores
   ============================================================ */
body.inventory-premium-page .main .vd-route-smart-dashboard {
  padding:18px!important;
  border:1px solid rgba(6,182,212,.28)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 8% 0%, rgba(34,211,238,.22), transparent 32%),
    radial-gradient(circle at 96% 12%, rgba(16,185,129,.20), transparent 34%),
    linear-gradient(140deg,#f8fdff 0%,#ffffff 42%,#eefcff 100%)!important;
  box-shadow:0 28px 70px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.inventory-premium-page .main .vd-smart-route-header-clean {
  padding:0 2px 14px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.inventory-premium-page .main .vd-smart-route-header-clean h3 {
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  color:#082f49!important;
  font-size:24px!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
body.inventory-premium-page .main .vd-smart-route-header-clean h3::before {
  content:'▦';
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:#ecfeff;
  background:linear-gradient(135deg,#0f172a,#0891b2,#14b8a6);
  box-shadow:0 16px 34px rgba(8,145,178,.25);
  font-size:16px;
}
body.inventory-premium-page .main .vd-smart-route-header-clean p {
  margin:7px 0 0!important;
  max-width:720px!important;
  color:#475569!important;
  font-weight:750!important;
  line-height:1.35!important;
}
body.inventory-premium-page .main .vd-route-daily-card {
  position:relative!important;
  border:1px solid rgba(6,182,212,.25)!important;
  border-radius:28px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,253,250,.92)) padding-box,
    linear-gradient(135deg,rgba(34,211,238,.55),rgba(20,184,166,.35),rgba(59,130,246,.35)) border-box!important;
  box-shadow:0 22px 52px rgba(15,23,42,.11), inset 0 1px 0 rgba(255,255,255,.96)!important;
  overflow:hidden!important;
}
body.inventory-premium-page .main .vd-route-daily-card::before {
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#06b6d4,#14b8a6,#22c55e);
}
body.inventory-premium-page .main .vd-route-daily-card > summary {
  padding:18px!important;
  cursor:pointer!important;
  background:
    radial-gradient(circle at 95% 0%, rgba(34,211,238,.16), transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.92))!important;
}
body.inventory-premium-page .main .vd-route-daily-card[open] {
  box-shadow:0 32px 72px rgba(8,145,178,.18), inset 0 1px 0 rgba(255,255,255,.96)!important;
  transform:translateY(-1px);
}
body.inventory-premium-page .main .vd-route-daily-card .vd-route-smart-eyebrow {
  color:#ecfeff!important;
  background:linear-gradient(135deg,#0e7490,#14b8a6)!important;
  box-shadow:0 10px 22px rgba(20,184,166,.18)!important;
}
body.inventory-premium-page .main .vd-route-daily-card .vd-route-smart-main strong {
  font-size:20px!important;
  color:#0f172a!important;
}
body.inventory-premium-page .main .vd-route-daily-card .vd-route-smart-main small {
  color:#475569!important;
  font-size:12px!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics {
  grid-template-columns:repeat(4,minmax(84px,1fr))!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics span {
  border:1px solid rgba(6,182,212,.18)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(6,182,212,.12), transparent 38%),
    linear-gradient(145deg,#ffffff,#f0fdfa)!important;
  box-shadow:0 13px 28px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-units {
  color:#ffffff!important;
  border-color:rgba(255,255,255,.26)!important;
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  box-shadow:0 16px 34px rgba(14,116,144,.24)!important;
}
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-units small,
body.inventory-premium-page .main .vd-route-smart-metrics .vd-route-kpi-units strong { color:#ffffff!important; }
body.inventory-premium-page .main .vd-route-smart-body {
  padding:0 18px 18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(248,250,252,.96))!important;
}
body.inventory-premium-page .main .vd-route-smart-toolbar {
  margin-top:2px!important;
  border:1px solid rgba(6,182,212,.20)!important;
  background:linear-gradient(135deg,rgba(236,254,255,.92),rgba(255,255,255,.94))!important;
  box-shadow:0 14px 32px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.inventory-premium-page .main .vd-route-smart-date-filter select.input {
  font-weight:850!important;
  border-color:rgba(6,182,212,.28)!important;
}
body.inventory-premium-page .main .vd-route-smart-day-cards {
  gap:10px!important;
  padding:4px 2px 12px!important;
  margin:10px 0 4px!important;
}
body.inventory-premium-page .main .vd-route-smart-day-card {
  min-width:132px!important;
  border-radius:20px!important;
  border:1px solid rgba(6,182,212,.22)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(20,184,166,.12),transparent 42%),
    linear-gradient(145deg,#ffffff,#eefbff)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.09)!important;
}
body.inventory-premium-page .main .vd-route-smart-day-card.is-active {
  background:linear-gradient(135deg,#0f172a,#0e7490,#06b6d4)!important;
  box-shadow:0 18px 38px rgba(8,145,178,.28)!important;
}
body.inventory-premium-page .main .vd-route-smart-day-card strong { font-size:23px!important; }
body.inventory-premium-page .main .vd-route-day-summary {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  gap:9px!important;
  margin:8px 0 12px!important;
}
body.inventory-premium-page .main .vd-route-day-summary[hidden] { display:none!important; }
body.inventory-premium-page .main .vd-route-day-summary article {
  padding:12px 13px!important;
  border-radius:18px!important;
  border:1px solid rgba(14,165,233,.17)!important;
  background:linear-gradient(145deg,#ffffff,#f0fdfa)!important;
  box-shadow:0 12px 26px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.inventory-premium-page .main .vd-route-day-summary small {
  display:block!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
body.inventory-premium-page .main .vd-route-day-summary strong {
  display:block!important;
  margin-top:4px!important;
  color:#0f172a!important;
  font-size:22px!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
body.inventory-premium-page .main .vd-route-day-summary .vd-route-day-total-pill {
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0891b2,#14b8a6)!important;
  border-color:rgba(255,255,255,.25)!important;
  box-shadow:0 16px 34px rgba(8,145,178,.23)!important;
}
body.inventory-premium-page .main .vd-route-day-summary .vd-route-day-total-pill small,
body.inventory-premium-page .main .vd-route-day-summary .vd-route-day-total-pill strong { color:#ffffff!important; }
body.inventory-premium-page .main .vd-route-smart-patient-list {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:12px!important;
  margin-top:10px!important;
}
body.inventory-premium-page .main .vd-route-smart-sale-card {
  border:1px solid rgba(14,165,233,.16)!important;
  border-radius:22px!important;
  padding:14px!important;
  background:linear-gradient(145deg,#ffffff,#f8fbff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.inventory-premium-page .main .vd-route-smart-sale-card[hidden] { display:none!important; }
body.inventory-premium-page .main .vd-route-sale-head {
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(226,232,240,.92)!important;
}
body.inventory-premium-page .main .vd-route-sale-head strong {
  display:block!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
body.inventory-premium-page .main .vd-route-sale-head small {
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:750!important;
}
body.inventory-premium-page .main .vd-route-sale-head > span {
  flex:0 0 auto!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  color:#075985!important;
  background:#e0f2fe!important;
  font-size:11px!important;
  font-weight:950!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.inventory-premium-page .main .vd-route-sale-products {
  display:grid!important;
  gap:7px!important;
  padding-top:10px!important;
}
body.inventory-premium-page .main .vd-route-sale-products div {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
  border:1px solid rgba(14,165,233,.12)!important;
}
body.inventory-premium-page .main .vd-route-sale-products span {
  color:#334155!important;
  font-size:12px!important;
  font-weight:800!important;
}
body.inventory-premium-page .main .vd-route-sale-products strong {
  min-width:34px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  text-align:center!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0e7490,#14b8a6)!important;
  font-size:12px!important;
  font-weight:950!important;
}
body.inventory-premium-page .main .vd-route-smart-empty {
  grid-column:1/-1!important;
  padding:18px!important;
  border-radius:20px!important;
  border:1px dashed rgba(14,165,233,.30)!important;
  color:#475569!important;
  background:rgba(236,254,255,.72)!important;
  font-weight:800!important;
  text-align:center!important;
}
@media (max-width:900px) {
  body.inventory-premium-page .main .vd-route-smart-metrics { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.inventory-premium-page .main .vd-route-smart-patient-list { grid-template-columns:1fr!important; }
}
@media (max-width:560px) {
  body.inventory-premium-page .main .vd-route-smart-dashboard { padding:12px!important; border-radius:24px!important; }
  body.inventory-premium-page .main .vd-route-daily-card > summary { padding:14px!important; }
  body.inventory-premium-page .main .vd-route-smart-metrics { grid-template-columns:1fr 1fr!important; }
  body.inventory-premium-page .main .vd-route-day-summary { grid-template-columns:1fr 1fr!important; }
  body.inventory-premium-page .main .vd-route-sale-head { flex-direction:column!important; }
}


/* =========================================================
   2026-05-29 - Inventario premium total: botones, cuadros y dashboard de rutas
   ========================================================= */
body.inventory-premium-page .main.vd-inventory-full,
body.inventory-premium-page .main.vd-invship,
body.inventory-premium-page .main.vd-hidden-load-page {
  --vd-inv-ink:#0f172a;
  --vd-inv-muted:#64748b;
  --vd-inv-line:rgba(125,211,252,.32);
  --vd-inv-soft:#f8fbff;
  --vd-inv-cyan:#06b6d4;
  --vd-inv-teal:#14b8a6;
  --vd-inv-blue:#2563eb;
  --vd-inv-dark:#0f172a;
}
body.inventory-premium-page .main.vd-inventory-full .panel,
body.inventory-premium-page .main.vd-inventory-full .card,
body.inventory-premium-page .main.vd-invship .panel,
body.inventory-premium-page .main.vd-invship .card,
body.inventory-premium-page .main.vd-hidden-load-page .panel,
body.inventory-premium-page .main.vd-hidden-load-page .card {
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(34,211,238,.14), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 24px 62px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.88)!important;
  overflow:hidden;
}
body.inventory-premium-page .main.vd-inventory-full .panel-header,
body.inventory-premium-page .main.vd-inventory-full .compact-panel-header,
body.inventory-premium-page .main.vd-invship .vd-excel-toolbar,
body.inventory-premium-page .main.vd-hidden-load-page .compact-panel-header {
  padding:16px!important;
  border-bottom:1px solid rgba(125,211,252,.22)!important;
  background:linear-gradient(135deg,rgba(248,250,252,.94),rgba(236,254,255,.78))!important;
}
body.inventory-premium-page .main.vd-inventory-full h1,
body.inventory-premium-page .main.vd-inventory-full h2,
body.inventory-premium-page .main.vd-inventory-full h3,
body.inventory-premium-page .main.vd-inventory-full h4,
body.inventory-premium-page .main.vd-invship h1,
body.inventory-premium-page .main.vd-invship h2,
body.inventory-premium-page .main.vd-invship h3,
body.inventory-premium-page .main.vd-hidden-load-page h1,
body.inventory-premium-page .main.vd-hidden-load-page h2,
body.inventory-premium-page .main.vd-hidden-load-page h3 {
  color:#0f172a!important;
  letter-spacing:-.035em!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn,
body.inventory-premium-page .main.vd-inventory-full button.btn,
body.inventory-premium-page .main.vd-inventory-full a.btn,
body.inventory-premium-page .main.vd-invship .btn,
body.inventory-premium-page .main.vd-hidden-load-page .btn {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:9px 16px!important;
  border-radius:999px!important;
  border:1px solid rgba(37,99,235,.16)!important;
  font-weight:950!important;
  letter-spacing:-.012em!important;
  text-decoration:none!important;
  color:#172033!important;
  background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.85)!important;
  cursor:pointer!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease!important;
  white-space:nowrap!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn:hover,
body.inventory-premium-page .main.vd-invship .btn:hover,
body.inventory-premium-page .main.vd-hidden-load-page .btn:hover {
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.90)!important;
  filter:saturate(1.08)!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn-primary,
body.inventory-premium-page .main.vd-inventory-full .btn-success,
body.inventory-premium-page .main.vd-invship .btn-primary,
body.inventory-premium-page .main.vd-invship .btn-success,
body.inventory-premium-page .main.vd-hidden-load-page .btn-primary,
body.inventory-premium-page .main.vd-hidden-load-page .btn-success {
  border:0!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a 0%,#0e7490 48%,#14b8a6 100%)!important;
  box-shadow:0 16px 34px rgba(14,116,144,.30), inset 0 1px 0 rgba(255,255,255,.24)!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn-light,
body.inventory-premium-page .main.vd-inventory-full .btn-secondary,
body.inventory-premium-page .main.vd-invship .btn-light,
body.inventory-premium-page .main.vd-invship .btn-secondary,
body.inventory-premium-page .main.vd-hidden-load-page .btn-light,
body.inventory-premium-page .main.vd-hidden-load-page .btn-secondary {
  color:#0f172a!important;
  background:linear-gradient(135deg,#ffffff 0%,#ecfeff 100%)!important;
  border:1px solid rgba(14,165,233,.22)!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn-danger,
body.inventory-premium-page .main.vd-invship .btn-danger,
body.inventory-premium-page .main.vd-hidden-load-page .btn-danger {
  border:0!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#ef4444,#991b1b)!important;
}
body.inventory-premium-page .main.vd-inventory-full .btn-sm,
body.inventory-premium-page .main.vd-invship .btn-sm,
body.inventory-premium-page .main.vd-hidden-load-page .btn-sm {
  min-height:32px!important;
  padding:7px 12px!important;
  font-size:12px!important;
}
body.inventory-premium-page .main.vd-inventory-full .input,
body.inventory-premium-page .main.vd-invship .input,
body.inventory-premium-page .main.vd-hidden-load-page .input,
body.inventory-premium-page .main.vd-inventory-full input:not([type=checkbox]):not([type=radio]),
body.inventory-premium-page .main.vd-invship input:not([type=checkbox]):not([type=radio]),
body.inventory-premium-page .main.vd-hidden-load-page input:not([type=checkbox]):not([type=radio]),
body.inventory-premium-page .main.vd-inventory-full select,
body.inventory-premium-page .main.vd-invship select,
body.inventory-premium-page .main.vd-hidden-load-page select,
body.inventory-premium-page .main.vd-inventory-full textarea,
body.inventory-premium-page .main.vd-invship textarea,
body.inventory-premium-page .main.vd-hidden-load-page textarea {
  border-radius:16px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 8px 20px rgba(15,23,42,.04)!important;
}
body.inventory-premium-page .main.vd-inventory-full .badge,
body.inventory-premium-page .main.vd-invship .badge,
body.inventory-premium-page .main.vd-hidden-load-page .badge {
  border-radius:999px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:linear-gradient(135deg,#ecfeff,#ffffff)!important;
  color:#0e7490!important;
  font-weight:950!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
body.inventory-premium-page .main.vd-inventory-full .table-wrap,
body.inventory-premium-page .main.vd-inventory-full .vd-excel-wrap,
body.inventory-premium-page .main.vd-invship .vd-excel-wrap,
body.inventory-premium-page .main.vd-hidden-load-page .table-wrap {
  border-radius:26px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:#fff!important;
  box-shadow:0 22px 54px rgba(15,23,42,.10)!important;
  overflow:hidden!important;
}
body.inventory-premium-page .main.vd-inventory-full table th,
body.inventory-premium-page .main.vd-invship table th,
body.inventory-premium-page .main.vd-hidden-load-page table th {
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  color:#ffffff!important;
  border-bottom:0!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
}
body.inventory-premium-page .main.vd-inventory-full table td,
body.inventory-premium-page .main.vd-invship table td,
body.inventory-premium-page .main.vd-hidden-load-page table td {
  border-bottom:1px solid rgba(125,211,252,.18)!important;
}
body.inventory-premium-page .main.vd-inventory-full table tbody tr:hover td,
body.inventory-premium-page .main.vd-invship table tbody tr:hover td,
body.inventory-premium-page .main.vd-hidden-load-page table tbody tr:hover td {
  background:#ecfeff!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-inv-tabs {
  padding:10px!important;
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,254,255,.70))!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-inv-tabs .btn {
  flex:0 0 auto!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-inv-kpis article,
body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-card,
body.inventory-premium-page .main.vd-inventory-full .vd-route-alert-card,
body.inventory-premium-page .main.vd-inventory-full .vd-hidden-summary-card,
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-summary-card,
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-recent-item,
body.inventory-premium-page .main.vd-invship .vd-inv-kpi,
body.inventory-premium-page .main.vd-invship .vd-detail-card {
  border-radius:22px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(20,184,166,.13), transparent 38%),
    linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-inv-kpis article strong,
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-summary-card strong,
body.inventory-premium-page .main.vd-invship .vd-inv-kpi strong {
  color:#0f172a!important;
  font-size:clamp(22px,2.4vw,32px)!important;
  letter-spacing:-.045em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail {
  border-radius:22px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  box-shadow:0 16px 38px rgba(15,23,42,.08)!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail > summary {
  padding:14px 16px!important;
  background:linear-gradient(135deg,#fff,#ecfeff)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics span,
body.inventory-premium-page .main.vd-inventory-full .vd-route-metrics span {
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-dashboard {
  position:relative!important;
  border:1px solid rgba(20,184,166,.24)!important;
  border-radius:32px!important;
  padding:18px!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(34,211,238,.24), transparent 34%),
    radial-gradient(circle at 100% 15%, rgba(20,184,166,.18), transparent 35%),
    linear-gradient(135deg,#f8fbff,#ffffff 48%,#ecfeff)!important;
  box-shadow:0 30px 78px rgba(15,23,42,.14)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean {
  margin-bottom:14px!important;
  padding:0 2px 2px!important;
  background:transparent!important;
  border:0!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean h3 {
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  font-size:clamp(22px,2.5vw,34px)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean h3:before {
  content:'✦';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6);
  box-shadow:0 14px 30px rgba(14,116,144,.28);
  font-size:15px;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:16px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card {
  overflow:hidden!important;
  border:1px solid rgba(14,165,233,.22)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 8% 0%, rgba(34,211,238,.20), transparent 38%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card[open] {
  grid-column:1 / -1!important;
  box-shadow:0 34px 88px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.94)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card > summary {
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) minmax(260px,auto) auto auto!important;
  gap:14px!important;
  align-items:center!important;
  min-height:126px!important;
  padding:18px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(236,254,255,.76))!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-main {
  min-width:0!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin-bottom:7px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.085em!important;
  font-weight:950!important;
  color:#075985!important;
  background:linear-gradient(135deg,#cffafe,#ecfeff)!important;
  border:1px solid rgba(14,165,233,.22)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-main strong {
  display:block!important;
  color:#0f172a!important;
  font-size:clamp(20px,2vw,28px)!important;
  line-height:1.05!important;
  letter-spacing:-.05em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-main small {
  display:block!important;
  margin-top:6px!important;
  color:#64748b!important;
  line-height:1.35!important;
  font-weight:750!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(74px,1fr))!important;
  gap:8px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics span {
  min-width:0!important;
  padding:10px 9px!important;
  border-radius:18px!important;
  border:1px solid rgba(14,165,233,.16)!important;
  background:linear-gradient(180deg,#ffffff,#ecfeff)!important;
  text-align:center!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 22px rgba(14,116,144,.08)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics small {
  display:block!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics strong {
  display:block!important;
  color:#0f172a!important;
  font-size:22px!important;
  letter-spacing:-.04em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge {
  justify-self:end!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:11px!important;
  font-weight:950!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  box-shadow:0 12px 28px rgba(14,116,144,.25)!important;
  white-space:nowrap!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge-warning { background:linear-gradient(135deg,#f59e0b,#b45309)!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge-danger { background:linear-gradient(135deg,#ef4444,#991b1b)!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge-success { background:linear-gradient(135deg,#22c55e,#047857)!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-body {
  padding:18px!important;
  border-top:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(180deg,rgba(248,251,255,.90),rgba(255,255,255,.96))!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,280px)!important;
  gap:14px!important;
  align-items:end!important;
  padding:14px!important;
  margin-bottom:14px!important;
  border:1px solid rgba(14,165,233,.16)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff,#ecfeff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar h4 {
  margin:0!important;
  font-size:18px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar p {
  margin:5px 0 0!important;
  color:#64748b!important;
  line-height:1.35!important;
  font-size:13px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-current-date {
  display:inline-flex!important;
  margin-top:9px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  color:#075985!important;
  background:#cffafe!important;
  font-size:11px!important;
  font-weight:950!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-cards {
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 0 14px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card {
  flex:0 1 150px!important;
  min-height:86px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  border-radius:22px!important;
  padding:12px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9)!important;
  cursor:pointer!important;
  text-align:left!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card small,
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card span {
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card strong {
  display:block!important;
  margin:4px 0!important;
  color:#0f172a!important;
  font-size:24px!important;
  letter-spacing:-.045em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active {
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  border-color:transparent!important;
  box-shadow:0 18px 42px rgba(14,116,144,.28)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active small,
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active span,
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active strong { color:#ffffff!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:10px!important;
  margin:0 0 16px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary[hidden] { display:none!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article {
  border-radius:22px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(135deg,#ffffff,#ecfeff)!important;
  padding:13px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article small {
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article strong {
  display:block!important;
  color:#0f172a!important;
  font-size:26px!important;
  letter-spacing:-.05em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-total-pill {
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  color:#ffffff!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-total-pill small,
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-total-pill strong { color:#ffffff!important; }
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-patient-list {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important;
  gap:12px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-sale-card {
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 16px 38px rgba(15,23,42,.08)!important;
  padding:14px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head {
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(14,165,233,.14)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head strong {
  display:block!important;
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.2!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head small {
  display:block!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-size:12px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head > span {
  flex:0 0 auto!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0e7490,#14b8a6)!important;
  font-size:11px!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(14,116,144,.20)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products {
  display:grid!important;
  gap:8px!important;
  padding-top:12px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products div {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:9px 10px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
  border:1px solid rgba(14,165,233,.14)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products span {
  color:#334155!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.25!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products strong {
  min-width:36px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  text-align:center!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  font-size:12px!important;
  font-weight:950!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-empty,
body.inventory-premium-page .main.vd-invship .vd-empty {
  border-radius:22px!important;
  border:1px dashed rgba(14,165,233,.30)!important;
  background:linear-gradient(135deg,#f8fbff,#ecfeff)!important;
  color:#475569!important;
  font-weight:850!important;
  text-align:center!important;
  padding:18px!important;
}
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-mode-card {
  border-radius:22px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(135deg,#fff,#f8fbff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-mode-card.is-selected {
  color:#0f172a!important;
  border-color:rgba(14,116,144,.45)!important;
  background:linear-gradient(135deg,#ecfeff,#ffffff)!important;
  box-shadow:0 18px 42px rgba(14,116,144,.18)!important;
}
body.inventory-premium-page .main.vd-hidden-load-page .vd-hidden-product-table {
  border-radius:22px!important;
  overflow:hidden!important;
}
@media (max-width:1100px) {
  body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card > summary {
    grid-template-columns:1fr!important;
  }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge { justify-self:start!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar { grid-template-columns:1fr!important; }
}
@media (max-width:700px) {
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-dashboard { padding:12px!important; border-radius:26px!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-grid { grid-template-columns:1fr!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card[open] { grid-column:auto!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card { flex:1 1 130px!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-patient-list { grid-template-columns:1fr!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head { flex-direction:column!important; }
  body.inventory-premium-page .main.vd-inventory-full .btn,
  body.inventory-premium-page .main.vd-invship .btn,
  body.inventory-premium-page .main.vd-hidden-load-page .btn { width:100%; white-space:normal!important; }
  body.inventory-premium-page .main.vd-inventory-full .vd-inv-tabs .btn { width:auto!important; white-space:nowrap!important; }
}


/* vd-inventario-productos-dia-premium-v9 */
/* Corrección visual final: Productos vendidos por día debe verse como módulo premium real. */
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-dashboard{
  position:relative!important;
  overflow:hidden!important;
  padding:20px!important;
  border:1px solid rgba(20,184,166,.28)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(34,211,238,.22), transparent 30%),
    radial-gradient(circle at 100% 10%, rgba(16,185,129,.16), transparent 28%),
    linear-gradient(135deg,#07111f 0%,#0f172a 38%,#0e7490 100%)!important;
  box-shadow:0 34px 88px rgba(2,6,23,.30)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean{
  padding:4px 4px 16px!important;
  margin-bottom:4px!important;
  color:#ffffff!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean h3{
  margin:0!important;
  color:#ffffff!important;
  font-size:24px!important;
  letter-spacing:-.04em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-smart-route-header-clean p{
  margin:5px 0 0!important;
  max-width:760px!important;
  color:rgba(226,250,255,.82)!important;
  font-weight:650!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-grid{
  gap:18px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card{
  overflow:hidden!important;
  border:1px solid rgba(125,211,252,.34)!important;
  border-radius:30px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,253,250,.94))!important;
  box-shadow:0 22px 58px rgba(2,6,23,.18), inset 0 1px 0 rgba(255,255,255,.95)!important;
  backdrop-filter:blur(8px)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card[open]{
  grid-column:1/-1!important;
  box-shadow:0 30px 80px rgba(2,6,23,.25),0 0 0 1px rgba(34,211,238,.24)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card>summary{
  grid-template-columns:minmax(230px,1fr) minmax(360px,auto) minmax(138px,auto) auto!important;
  gap:16px!important;
  padding:18px!important;
  min-height:118px!important;
  background:
    radial-gradient(circle at 0 0,rgba(34,211,238,.18),transparent 42%),
    linear-gradient(135deg,#ffffff 0%,#f0fdfa 55%,#ecfeff 100%)!important;
  border-bottom:1px solid rgba(14,165,233,.12)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-eyebrow{
  width:max-content!important;
  max-width:100%!important;
  border:0!important;
  color:#075985!important;
  background:linear-gradient(135deg,#ccfbf1,#e0f2fe)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-main strong{
  margin-top:7px!important;
  color:#0f172a!important;
  font-size:22px!important;
  letter-spacing:-.045em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-main small{
  color:#475569!important;
  font-size:12px!important;
  line-height:1.35!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(74px,1fr))!important;
  gap:9px!important;
  min-width:360px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics span{
  min-width:0!important;
  padding:10px 8px!important;
  border-radius:19px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(180deg,#ffffff,#eefcff)!important;
  box-shadow:0 10px 22px rgba(14,116,144,.09)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics small{
  color:#64748b!important;
  font-size:10px!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics strong{
  color:#0f172a!important;
  font-size:21px!important;
  line-height:1.05!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge{
  justify-self:end!important;
  align-self:center!important;
  width:auto!important;
  min-width:132px!important;
  max-width:170px!important;
  min-height:0!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.1!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
  box-shadow:0 14px 28px rgba(14,116,144,.22)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-body{
  padding:18px!important;
  background:
    radial-gradient(circle at 0 0,rgba(20,184,166,.11),transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(230px,310px)!important;
  gap:16px!important;
  align-items:center!important;
  padding:16px!important;
  margin:0 0 16px!important;
  border-radius:26px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:linear-gradient(135deg,#ffffff 0%,#ecfeff 100%)!important;
  box-shadow:0 16px 40px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar h4{
  color:#0f172a!important;
  font-size:20px!important;
  letter-spacing:-.04em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar p{
  max-width:760px!important;
  color:#475569!important;
  font-size:13px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-current-date{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  color:#075985!important;
  background:linear-gradient(135deg,#cffafe,#ccfbf1)!important;
  border:1px solid rgba(14,165,233,.20)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-date-filter label{
  color:#0f172a!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-date-filter .input{
  height:46px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(14,165,233,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(15,23,42,.06)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-cards{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
  margin:0 0 16px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card{
  width:100%!important;
  min-height:86px!important;
  padding:12px!important;
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.95)!important;
  text-align:left!important;
  overflow:hidden!important;
  white-space:normal!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card small,
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card span{
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.15!important;
  white-space:normal!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card strong{
  display:block!important;
  margin:5px 0!important;
  color:#0f172a!important;
  font-size:27px!important;
  line-height:.95!important;
  letter-spacing:-.06em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active{
  background:
    radial-gradient(circle at 100% 0,rgba(34,211,238,.26),transparent 42%),
    linear-gradient(135deg,#0f172a,#0e7490 62%,#14b8a6)!important;
  color:#ffffff!important;
  border-color:transparent!important;
  box-shadow:0 20px 48px rgba(14,116,144,.28)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-card.is-active *{color:#ffffff!important;}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
  margin:0 0 18px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article{
  padding:14px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff,#ecfeff)!important;
  border:1px solid rgba(14,165,233,.18)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article small{
  color:#64748b!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-summary article strong{
  color:#0f172a!important;
  font-size:28px!important;
  line-height:1!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-total-pill{
  background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  color:#ffffff!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-day-total-pill *{color:#ffffff!important;}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-patient-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-sale-card{
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(20,184,166,.11),transparent 36%),
    linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.96)!important;
  padding:16px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
  padding:0 0 12px!important;
  border-bottom:1px solid rgba(14,165,233,.14)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-person strong{
  display:block!important;
  color:#0f172a!important;
  font-size:17px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-person small{
  display:block!important;
  margin-top:5px!important;
  color:#475569!important;
  font-size:12px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-count{
  display:grid!important;
  place-items:center!important;
  min-width:82px!important;
  max-width:96px!important;
  padding:10px 12px!important;
  border-radius:22px!important;
  color:#ffffff!important;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.25),transparent 42%),
    linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;
  box-shadow:0 14px 30px rgba(14,116,144,.23)!important;
  white-space:normal!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-count strong{
  color:#ffffff!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-count small{
  color:rgba(255,255,255,.88)!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-align:center!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products{
  display:grid!important;
  gap:9px!important;
  padding-top:13px!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
  border:1px solid rgba(14,165,233,.15)!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products span{
  min-width:0!important;
  color:#1e293b!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-products strong{
  min-width:34px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  text-align:center!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  box-shadow:0 8px 18px rgba(14,116,144,.18)!important;
}
@media(max-width:1100px){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card>summary{grid-template-columns:1fr!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-metrics{min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-badge{justify-self:start!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-toolbar{grid-template-columns:1fr!important;}
}
@media(max-width:720px){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-dashboard{padding:12px!important;border-radius:26px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-daily-card>summary{padding:14px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-patient-list{grid-template-columns:1fr!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-head{grid-template-columns:1fr!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-sale-count{width:100%!important;max-width:none!important;display:flex!important;justify-content:center!important;gap:6px!important;border-radius:18px!important;}
}
@media(max-width:480px){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-smart-day-cards{grid-template-columns:1fr!important;}
}

/* =========================================================
   Inventario 2026-05-29 - tarjetas inteligentes sin precios
   Dashboard inventario + rutas: diseño premium real y compacto.
   ========================================================= */
body.inventory-premium-page .main .vd-route-smart-dashboard-clean {
  margin-top: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.inventory-premium-page .main .vd-route-smart-dashboard-clean::before { display:none !important; }
body.inventory-premium-page .main .vd-route-smart-dashboard-clean .vd-route-smart-grid {
  margin-top: 0 !important;
}

.global-dashboard-main .inventory-dashboard-sales-heading-smart {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:18px 0 12px !important;
  padding:18px 20px !important;
  border-radius:26px !important;
  border:1px solid rgba(20,184,166,.26) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(34,211,238,.18), transparent 34%),
    radial-gradient(circle at 96% 10%, rgba(20,184,166,.20), transparent 32%),
    linear-gradient(135deg,#071827 0%,#0f2d36 50%,#073b43 100%) !important;
  box-shadow:0 22px 50px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.global-dashboard-main .inventory-dashboard-sales-heading-smart h3 {
  color:#fff !important;
  margin:0 !important;
  font-size:20px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}
.global-dashboard-main .inventory-dashboard-sales-heading-smart p {
  color:rgba(236,254,255,.82) !important;
  margin:4px 0 0 !important;
  max-width:720px !important;
  font-weight:700 !important;
}
.global-dashboard-main .inventory-dashboard-sales-heading-smart .badge {
  flex:0 0 auto !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.global-dashboard-main .inventory-dashboard-smart-sales-grid {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
  margin:12px 0 18px !important;
}
.global-dashboard-main .inventory-smart-sales-card {
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(14,165,233,.22) !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(20,184,166,.18), transparent 32%),
    linear-gradient(145deg,#ffffff 0%,#f8fbff 52%,#ecfeff 100%) !important;
  box-shadow:0 20px 46px rgba(15,23,42,.11), inset 0 1px 0 rgba(255,255,255,.94) !important;
}
.global-dashboard-main .inventory-smart-sales-card[open] {
  border-color:rgba(20,184,166,.44) !important;
  box-shadow:0 28px 64px rgba(15,23,42,.16), 0 12px 26px rgba(20,184,166,.12), inset 0 1px 0 rgba(255,255,255,.96) !important;
}
.global-dashboard-main .inventory-smart-sales-card > summary {
  list-style:none !important;
  cursor:pointer !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:start !important;
  padding:18px !important;
}
.global-dashboard-main .inventory-smart-sales-card > summary::-webkit-details-marker { display:none !important; }
.global-dashboard-main .inventory-smart-sales-title span {
  display:inline-flex !important;
  margin-bottom:7px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#0f766e,#06b6d4) !important;
  color:#fff !important;
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:950 !important;
  box-shadow:0 8px 18px rgba(14,165,233,.22) !important;
}
.global-dashboard-main .inventory-smart-sales-title strong {
  display:block !important;
  color:#0f172a !important;
  font-size:19px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}
.global-dashboard-main .inventory-smart-sales-title small {
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.global-dashboard-main .inventory-smart-sales-metrics {
  display:flex !important;
  gap:8px !important;
  justify-content:flex-end !important;
}
.global-dashboard-main .inventory-smart-sales-metrics article,
.global-dashboard-main .inventory-smart-sales-categories span,
.global-dashboard-main .inventory-smart-sales-summary article {
  min-width:82px !important;
  padding:10px 11px !important;
  border-radius:18px !important;
  border:1px solid rgba(125,211,252,.38) !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), 0 12px 22px rgba(15,23,42,.055) !important;
}
.global-dashboard-main .inventory-smart-sales-metrics article:first-child {
  color:#fff !important;
  background:linear-gradient(135deg,#0e7490,#14b8a6) !important;
  border-color:rgba(255,255,255,.22) !important;
}
.global-dashboard-main .inventory-smart-sales-metrics small,
.global-dashboard-main .inventory-smart-sales-categories small,
.global-dashboard-main .inventory-smart-sales-summary small {
  display:block !important;
  color:#64748b !important;
  font-size:9.5px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}
.global-dashboard-main .inventory-smart-sales-metrics article:first-child small,
.global-dashboard-main .inventory-smart-sales-metrics article:first-child strong { color:#fff !important; }
.global-dashboard-main .inventory-smart-sales-metrics strong,
.global-dashboard-main .inventory-smart-sales-categories strong,
.global-dashboard-main .inventory-smart-sales-summary strong {
  display:block !important;
  margin-top:3px !important;
  color:#0f172a !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.global-dashboard-main .inventory-smart-sales-categories {
  grid-column:1 / -1 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.global-dashboard-main .inventory-smart-sales-categories span {
  min-width:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px 10px !important;
  border-radius:999px !important;
}
.global-dashboard-main .inventory-smart-sales-categories strong { font-size:14px !important; margin:0 !important; }
.global-dashboard-main .inventory-smart-sales-body {
  padding:0 18px 18px !important;
}
.global-dashboard-main .inventory-smart-sales-filter {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(130px,180px)) auto auto !important;
  gap:10px !important;
  align-items:end !important;
  padding:14px !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,rgba(236,254,255,.9),rgba(248,250,252,.96)) !important;
  border:1px solid rgba(14,165,233,.18) !important;
}
.global-dashboard-main .inventory-smart-sales-filter .form-group { margin:0 !important; }
.global-dashboard-main .inventory-smart-sales-summary {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:12px 0 !important;
}
.global-dashboard-main .inventory-smart-sales-summary article:first-child {
  color:#fff !important;
  border-color:rgba(255,255,255,.22) !important;
  background:linear-gradient(135deg,#0f172a,#0891b2 60%,#14b8a6) !important;
}
.global-dashboard-main .inventory-smart-sales-summary article:first-child small,
.global-dashboard-main .inventory-smart-sales-summary article:first-child strong { color:#fff !important; }
.global-dashboard-main .inventory-smart-sales-patient-list {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;
  gap:12px !important;
}
.global-dashboard-main .inventory-smart-sales-patient {
  padding:14px !important;
  border-radius:22px !important;
  border:1px solid rgba(14,165,233,.16) !important;
  background:linear-gradient(145deg,#ffffff,#f8fbff) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.94) !important;
}
.global-dashboard-main .inventory-smart-sales-patient-head {
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding-bottom:10px !important;
  border-bottom:1px solid rgba(226,232,240,.92) !important;
}
.global-dashboard-main .inventory-smart-sales-patient-head strong {
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:950 !important;
}
.global-dashboard-main .inventory-smart-sales-patient-head small {
  display:block !important;
  margin-top:3px !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:750 !important;
}
.global-dashboard-main .inventory-smart-sales-patient-head > span {
  flex:0 0 auto !important;
  align-self:flex-start !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  color:#075985 !important;
  background:#e0f2fe !important;
  font-size:11px !important;
  font-weight:950 !important;
}
.global-dashboard-main .inventory-smart-sales-products {
  display:grid !important;
  gap:7px !important;
  padding-top:10px !important;
}
.global-dashboard-main .inventory-smart-sales-products div {
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border:1px solid rgba(14,165,233,.12) !important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff) !important;
}
.global-dashboard-main .inventory-smart-sales-products span {
  color:#334155 !important;
  font-size:12px !important;
  font-weight:850 !important;
}
.global-dashboard-main .inventory-smart-sales-products strong {
  min-width:32px !important;
  text-align:center !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#0e7490,#14b8a6) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
}
.global-dashboard-main .inventory-smart-sales-empty {
  grid-column:1/-1 !important;
  padding:16px !important;
  text-align:center !important;
  border-radius:20px !important;
  border:1px dashed rgba(14,165,233,.30) !important;
  background:rgba(236,254,255,.70) !important;
  color:#475569 !important;
  font-weight:850 !important;
}
@media (max-width: 760px) {
  .global-dashboard-main .inventory-dashboard-sales-heading-smart { align-items:flex-start !important; flex-direction:column !important; border-radius:22px !important; }
  .global-dashboard-main .inventory-dashboard-smart-sales-grid { grid-template-columns:1fr !important; }
  .global-dashboard-main .inventory-smart-sales-card > summary { grid-template-columns:1fr !important; }
  .global-dashboard-main .inventory-smart-sales-metrics { justify-content:flex-start !important; flex-wrap:wrap !important; }
  .global-dashboard-main .inventory-smart-sales-filter { grid-template-columns:1fr !important; }
  .global-dashboard-main .inventory-smart-sales-filter .btn { width:100% !important; justify-content:center !important; }
}


/* =========================================================
   Dashboard Inventario 2026-05-29 - premium real forzado
   Cubre dashboard.php incluso si el body no trae clases de inventario.
   ========================================================= */
body.inventory-dashboard-premium-page .global-dashboard-main.inventario-dashboard-main,
.main.global-dashboard-main.inventario-dashboard-main{
  background:
    radial-gradient(circle at 4% 0%, rgba(34,211,238,.10), transparent 28%),
    radial-gradient(circle at 100% 12%, rgba(20,184,166,.09), transparent 30%),
    #f7fbff!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-sales-heading-smart,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-sales-heading-smart,
.inventory-dashboard-sales-heading-smart.dashboard-inventory-premium-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:18px 0 16px!important;
  padding:20px 22px!important;
  border-radius:30px!important;
  border:1px solid rgba(34,211,238,.28)!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(34,211,238,.24), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(20,184,166,.24), transparent 34%),
    linear-gradient(135deg,#061522 0%,#0f2d36 48%,#073b43 100%)!important;
  box-shadow:0 26px 58px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.18)!important;
  color:#ffffff!important;
  position:relative!important;
  overflow:hidden!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-sales-heading-smart::after,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-sales-heading-smart::after,
.inventory-dashboard-sales-heading-smart.dashboard-inventory-premium-heading::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.10),transparent)!important;
  transform:translateX(-72%)!important;
  pointer-events:none!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-sales-heading-smart h3,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-sales-heading-smart h3,
.inventory-dashboard-sales-heading-smart.dashboard-inventory-premium-heading h3{
  color:#ffffff!important;
  margin:0!important;
  font-size:clamp(22px,2vw,30px)!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-sales-heading-smart p,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-sales-heading-smart p,
.inventory-dashboard-sales-heading-smart.dashboard-inventory-premium-heading p{
  color:rgba(236,254,255,.84)!important;
  margin:7px 0 0!important;
  max-width:760px!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-sales-heading-smart .badge,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-sales-heading-smart .badge,
.inventory-dashboard-range-badge{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.14)!important;
  color:#ffffff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20), 0 12px 26px rgba(14,165,233,.14)!important;
  font-size:12px!important;
  font-weight:950!important;
}
body.inventory-dashboard-premium-page .inventory-dashboard-smart-sales-grid,
.global-dashboard-main.inventario-dashboard-main .inventory-dashboard-smart-sales-grid,
.dashboard-inventory-premium-sales-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-items:start!important;
  margin:14px 0 22px!important;
  width:100%!important;
  max-width:100%!important;
}
body.inventory-dashboard-premium-page details.inventory-smart-sales-card,
.global-dashboard-main.inventario-dashboard-main details.inventory-smart-sales-card,
details.inventory-smart-sales-card{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:30px!important;
  border:1px solid rgba(14,165,233,.24)!important;
  background:
    radial-gradient(circle at 92% 0%, rgba(20,184,166,.20), transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(14,165,233,.12), transparent 35%),
    linear-gradient(145deg,#ffffff 0%,#f8fbff 54%,#ecfeff 100%)!important;
  box-shadow:0 22px 52px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
body.inventory-dashboard-premium-page details.inventory-smart-sales-card:hover,
.global-dashboard-main.inventario-dashboard-main details.inventory-smart-sales-card:hover,
details.inventory-smart-sales-card:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(20,184,166,.42)!important;
  box-shadow:0 30px 70px rgba(15,23,42,.16),0 14px 30px rgba(20,184,166,.12),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.inventory-dashboard-premium-page details.inventory-smart-sales-card[open],
.global-dashboard-main.inventario-dashboard-main details.inventory-smart-sales-card[open],
details.inventory-smart-sales-card[open]{
  border-color:rgba(20,184,166,.52)!important;
  box-shadow:0 32px 78px rgba(15,23,42,.18),0 18px 38px rgba(20,184,166,.14),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.inventory-dashboard-premium-page .inventory-smart-sales-card > summary,
.global-dashboard-main.inventario-dashboard-main .inventory-smart-sales-card > summary,
.inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle{
  list-style:none!important;
  cursor:pointer!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(260px,auto)!important;
  gap:14px!important;
  align-items:center!important;
  padding:20px!important;
  min-height:120px!important;
  position:relative!important;
}
body.inventory-dashboard-premium-page .inventory-smart-sales-card > summary::-webkit-details-marker,
.global-dashboard-main.inventario-dashboard-main .inventory-smart-sales-card > summary::-webkit-details-marker,
.inventory-smart-sales-card > summary::-webkit-details-marker{display:none!important;}
.inventory-smart-sales-arrow{
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490 62%,#14b8a6)!important;
  box-shadow:0 13px 28px rgba(15,23,42,.20)!important;
  font-size:16px!important;
  font-weight:950!important;
  transition:transform .18s ease!important;
}
details.inventory-smart-sales-card[open] .inventory-smart-sales-arrow{transform:rotate(180deg)!important;}
.inventory-smart-sales-title span{
  display:inline-flex!important;
  margin:0 0 7px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0f766e,#06b6d4)!important;
  color:#ffffff!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  font-weight:950!important;
  box-shadow:0 10px 20px rgba(14,165,233,.24)!important;
}
.inventory-smart-sales-title strong{
  display:block!important;
  color:#0f172a!important;
  font-size:21px!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
}
.inventory-smart-sales-title small{
  display:block!important;
  margin-top:6px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.3!important;
}
.inventory-smart-sales-metrics{
  display:flex!important;
  gap:9px!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
}
.inventory-smart-sales-metrics article,
.inventory-smart-sales-categories span,
.inventory-smart-sales-summary article{
  min-width:86px!important;
  padding:11px 12px!important;
  border-radius:20px!important;
  border:1px solid rgba(125,211,252,.40)!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90),0 14px 26px rgba(15,23,42,.065)!important;
}
.inventory-smart-sales-metrics article:first-child,
.inventory-smart-sales-summary article:first-child{
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0891b2 62%,#14b8a6)!important;
  border-color:rgba(255,255,255,.24)!important;
}
.inventory-smart-sales-metrics small,
.inventory-smart-sales-categories small,
.inventory-smart-sales-summary small{
  display:block!important;
  color:#64748b!important;
  font-size:9.5px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.inventory-smart-sales-metrics article:first-child small,
.inventory-smart-sales-metrics article:first-child strong,
.inventory-smart-sales-summary article:first-child small,
.inventory-smart-sales-summary article:first-child strong{color:#ffffff!important;}
.inventory-smart-sales-metrics strong,
.inventory-smart-sales-categories strong,
.inventory-smart-sales-summary strong{
  display:block!important;
  margin-top:4px!important;
  color:#0f172a!important;
  font-size:22px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
  line-height:1!important;
}
.inventory-smart-sales-categories{
  grid-column:2 / -1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:-2px!important;
}
.inventory-smart-sales-categories span{
  min-width:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
}
.inventory-smart-sales-categories strong{font-size:14px!important;margin:0!important;}
.inventory-smart-sales-body{
  padding:0 20px 20px!important;
}
.inventory-smart-sales-filter{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(140px,190px)) auto auto!important;
  gap:11px!important;
  align-items:end!important;
  padding:15px!important;
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:linear-gradient(135deg,rgba(236,254,255,.92),rgba(248,250,252,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 14px 30px rgba(15,23,42,.055)!important;
}
.inventory-smart-sales-filter .form-group{margin:0!important;}
.inventory-smart-sales-filter label{
  color:#334155!important;
  font-weight:950!important;
  font-size:11px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.inventory-smart-sales-filter .input{
  min-height:42px!important;
  border-radius:15px!important;
  border:1px solid rgba(14,165,233,.25)!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.inventory-smart-sales-action,
.inventory-alert-open-inventory{
  border:0!important;
  border-radius:999px!important;
  min-height:42px!important;
  padding:10px 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0f172a,#0e7490 62%,#14b8a6)!important;
  box-shadow:0 16px 32px rgba(14,116,144,.24), inset 0 1px 0 rgba(255,255,255,.18)!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.inventory-smart-sales-action.is-light{
  color:#0f172a!important;
  background:linear-gradient(135deg,#fff,#e0f2fe)!important;
  border:1px solid rgba(14,165,233,.24)!important;
  box-shadow:0 12px 24px rgba(15,23,42,.075)!important;
}
.inventory-smart-sales-summary{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:14px 0!important;
}
.inventory-smart-sales-patient-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:13px!important;
}
.inventory-smart-sales-patient{
  padding:15px!important;
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  background:linear-gradient(145deg,#ffffff,#f8fbff 65%,#f0fdfa)!important;
  box-shadow:0 16px 34px rgba(15,23,42,.085),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.inventory-smart-sales-patient-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:11px!important;
  padding-bottom:11px!important;
  border-bottom:1px solid rgba(226,232,240,.92)!important;
}
.inventory-smart-sales-patient-head strong{
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1.15!important;
}
.inventory-smart-sales-patient-head small{
  display:block!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-size:11.5px!important;
  font-weight:800!important;
}
.inventory-smart-sales-patient-head > span{
  flex:0 0 auto!important;
  align-self:flex-start!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#0e7490,#14b8a6)!important;
  box-shadow:0 10px 22px rgba(14,116,144,.20)!important;
  font-size:11px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.inventory-smart-sales-products{
  display:grid!important;
  gap:8px!important;
  padding-top:11px!important;
}
.inventory-smart-sales-products div{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 11px!important;
  border-radius:16px!important;
  border:1px solid rgba(14,165,233,.14)!important;
  background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;
}
.inventory-smart-sales-products span{
  min-width:0!important;
  color:#334155!important;
  font-size:12.5px!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.inventory-smart-sales-products strong{
  min-width:34px!important;
  text-align:center!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0f172a,#0e7490)!important;
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:950!important;
  flex:0 0 auto!important;
}
.inventory-smart-sales-empty{
  grid-column:1/-1!important;
  padding:18px!important;
  text-align:center!important;
  border-radius:22px!important;
  border:1px dashed rgba(14,165,233,.34)!important;
  background:rgba(236,254,255,.76)!important;
  color:#475569!important;
  font-weight:900!important;
}
/* Alertas de inventario en Dashboard */
.inventory-dashboard-premium-alerts{
  border-radius:32px!important;
  border:1px solid rgba(14,165,233,.20)!important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fbff 58%,#ecfeff 100%)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.95)!important;
  overflow:hidden!important;
}
.inventory-dashboard-premium-alerts .inventory-alerts-header{
  margin:0 0 16px!important;
  padding:20px!important;
  border-radius:28px!important;
  color:#ffffff!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(34,211,238,.22),transparent 34%),
    linear-gradient(135deg,#071827,#0f2d36 55%,#073b43)!important;
  border:1px solid rgba(34,211,238,.20)!important;
  box-shadow:0 18px 40px rgba(15,23,42,.16)!important;
}
.inventory-dashboard-premium-alerts .inventory-alerts-header h3{color:#ffffff!important;margin:0!important;font-weight:950!important;letter-spacing:-.035em!important;}
.inventory-dashboard-premium-alerts .inventory-alerts-header p{color:rgba(236,254,255,.82)!important;margin:5px 0 0!important;font-weight:750!important;}
.inventory-alert-accordion-grid{
  display:grid!important;
  gap:13px!important;
}
.inventory-alert-card.inventory-alert-collapse{
  border:1px solid rgba(14,165,233,.20)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff 62%,#ecfeff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.075), inset 0 1px 0 rgba(255,255,255,.92)!important;
  overflow:hidden!important;
  border-left:6px solid #06b6d4!important;
}
.inventory-alert-card.inventory-alert-collapse[open]{border-left-color:#8b5cf6!important;box-shadow:0 20px 48px rgba(15,23,42,.12)!important;}
.inventory-alert-summary{
  list-style:none!important;
  cursor:pointer!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  padding:15px 16px!important;
}
.inventory-alert-summary::-webkit-details-marker{display:none!important;}
.inventory-alert-title strong{
  display:block!important;
  color:#0f172a!important;
  font-size:14px!important;
  font-weight:950!important;
}
.inventory-alert-title small{
  display:block!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-size:11.5px!important;
  font-weight:800!important;
}
.inventory-alert-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
}
.inventory-alert-pill,
.inventory-alert-toggle{
  appearance:none!important;
  border:0!important;
  border-radius:999px!important;
  min-height:32px!important;
  padding:7px 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  color:#075985!important;
  background:linear-gradient(135deg,#e0f2fe,#ecfeff)!important;
  box-shadow:0 9px 18px rgba(14,165,233,.12), inset 0 1px 0 rgba(255,255,255,.80)!important;
  font-size:11px!important;
  font-weight:950!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.inventory-alert-pill.active,
.inventory-alert-pill.all{color:#ffffff!important;background:linear-gradient(135deg,#0e7490,#14b8a6)!important;}
.inventory-alert-pill.low{color:#854d0e!important;background:linear-gradient(135deg,#fef3c7,#fffbeb)!important;}
.inventory-alert-pill.critical{color:#ffffff!important;background:linear-gradient(135deg,#b91c1c,#f97316)!important;}
.inventory-alert-pill.ok{color:#047857!important;background:linear-gradient(135deg,#dcfce7,#ecfdf5)!important;}
.inventory-alert-toggle{color:#ffffff!important;background:linear-gradient(135deg,#0f172a,#334155)!important;}
.inventory-alert-card:not([open]) .toggle-close{display:none!important;}
.inventory-alert-card[open] .toggle-open{display:none!important;}
.inventory-alert-detail{padding:0 16px 16px!important;}
.inventory-alert-mini-table{
  display:grid!important;
  gap:8px!important;
}
.inventory-alert-row{
  display:grid!important;
  grid-template-columns:minmax(180px,1.4fr) minmax(110px,.8fr) 90px 90px 120px!important;
  gap:8px!important;
  align-items:center!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  border:1px solid rgba(14,165,233,.12)!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
}
.inventory-alert-row-head{
  color:#075985!important;
  background:linear-gradient(135deg,#e0f2fe,#ecfeff)!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.inventory-alert-row span{min-width:0!important;color:#334155!important;font-size:12px!important;font-weight:800!important;overflow-wrap:anywhere!important;}
.inventory-alert-row strong{display:block!important;color:#0f172a!important;font-weight:950!important;}
.inventory-alert-row small{display:block!important;margin-top:2px!important;color:#64748b!important;font-size:10px!important;}
.inventory-alert-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:72px!important;
  border-radius:999px!important;
  padding:6px 9px!important;
  font-style:normal!important;
  font-size:10px!important;
  font-weight:950!important;
}
.inventory-alert-status.low{color:#854d0e!important;background:#fef3c7!important;}
.inventory-alert-status.critical{color:#ffffff!important;background:linear-gradient(135deg,#b91c1c,#f97316)!important;}
.inventory-alert-row.is-hidden{display:none!important;}
.inventory-alert-empty,.inventory-alert-filter-empty{
  margin:0!important;
  padding:14px!important;
  border-radius:18px!important;
  border:1px dashed rgba(14,165,233,.30)!important;
  background:rgba(236,254,255,.72)!important;
  color:#475569!important;
  font-weight:850!important;
}
@media(max-width:820px){
  .inventory-dashboard-sales-heading-smart.dashboard-inventory-premium-heading{align-items:flex-start!important;flex-direction:column!important;border-radius:24px!important;padding:17px!important;}
  .dashboard-inventory-premium-sales-grid{grid-template-columns:1fr!important;}
  .inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle{grid-template-columns:auto 1fr!important;padding:16px!important;}
  .inventory-smart-sales-metrics{grid-column:1/-1!important;justify-content:flex-start!important;flex-wrap:wrap!important;}
  .inventory-smart-sales-categories{grid-column:1/-1!important;}
  .inventory-smart-sales-filter{grid-template-columns:1fr!important;}
  .inventory-smart-sales-filter .btn,.inventory-smart-sales-action{width:100%!important;}
  .inventory-smart-sales-patient-head{flex-direction:column!important;}
  .inventory-alert-summary{align-items:flex-start!important;flex-direction:column!important;}
  .inventory-alert-badges{justify-content:flex-start!important;}
  .inventory-alert-row{grid-template-columns:1fr 1fr!important;}
  .inventory-alert-row-head{display:none!important;}
}
@media(max-width:520px){
  .inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle{grid-template-columns:1fr!important;}
  .inventory-smart-sales-arrow{width:100%!important;border-radius:18px!important;}
  .inventory-smart-sales-patient-list{grid-template-columns:1fr!important;}
}

/* =========================================================
   Dashboard Inventario 2026-05-29 v12
   Refuerzo anti-caché visual: Ventas por ruta premium real
   y resultados filtrados tipo lista Excel, sin valores/precios.
   ========================================================= */
main.inventario-dashboard-main .inventory-sales-excel-wrap{overflow:auto!important;width:100%!important;max-width:100%!important;border-radius:24px!important;border:1px solid rgba(14,165,233,.18)!important;background:#fff!important;box-shadow:0 16px 34px rgba(15,23,42,.08)!important;}
main.inventario-dashboard-main .inventory-sales-excel-table{min-width:980px!important;width:100%!important;display:block!important;}
main.inventario-dashboard-main .inventory-sales-excel-row{display:grid!important;grid-template-columns:160px minmax(220px,1.05fr) 150px minmax(430px,2.1fr) 110px!important;align-items:stretch!important;border-bottom:1px solid rgba(226,232,240,.9)!important;}
main.inventario-dashboard-main .inventory-sales-excel-row:last-child{border-bottom:0!important;}
main.inventario-dashboard-main .inventory-sales-excel-row>span{min-width:0!important;padding:12px 12px!important;color:#334155!important;font-size:12px!important;font-weight:800!important;overflow-wrap:anywhere!important;display:flex!important;align-items:center!important;}
main.inventario-dashboard-main .inventory-sales-excel-head{position:sticky!important;top:0!important;z-index:1!important;background:linear-gradient(135deg,#0f172a,#0e7490)!important;}
main.inventario-dashboard-main .inventory-sales-excel-head>span{color:#ffffff!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:10px!important;font-weight:950!important;}
main.inventario-dashboard-main .inventory-sales-excel-row:nth-child(even):not(.inventory-sales-excel-head){background:#f8fafc!important;}
main.inventario-dashboard-main .inventory-sales-excel-row:hover:not(.inventory-sales-excel-head){background:#ecfeff!important;}
main.inventario-dashboard-main .inventory-sales-excel-patient{display:block!important;}
main.inventario-dashboard-main .inventory-sales-excel-patient strong{display:block!important;color:#0f172a!important;font-weight:950!important;line-height:1.2!important;}
main.inventario-dashboard-main .inventory-sales-excel-patient small{display:block!important;margin-top:4px!important;color:#64748b!important;font-size:10px!important;font-weight:850!important;}
main.inventario-dashboard-main .inventory-sales-excel-date-list{color:#0f766e!important;font-weight:950!important;}
main.inventario-dashboard-main .inventory-sales-excel-products{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important;}
main.inventario-dashboard-main .inventory-sales-excel-product-chip{display:inline-flex!important;align-items:center!important;gap:7px!important;max-width:100%!important;padding:7px 9px!important;border-radius:999px!important;background:linear-gradient(135deg,#ecfeff,#f0fdfa)!important;border:1px solid rgba(20,184,166,.22)!important;color:#0f172a!important;box-shadow:0 7px 16px rgba(15,23,42,.06)!important;}
main.inventario-dashboard-main .inventory-sales-excel-product-chip b{font-size:11px!important;font-weight:950!important;white-space:normal!important;}
main.inventario-dashboard-main .inventory-sales-excel-product-chip em{font-style:normal!important;flex:0 0 auto!important;min-width:25px!important;text-align:center!important;padding:3px 7px!important;border-radius:999px!important;color:#ffffff!important;background:linear-gradient(135deg,#0e7490,#14b8a6)!important;font-size:11px!important;font-weight:950!important;}
main.inventario-dashboard-main .inventory-sales-excel-qty strong{display:inline-flex!important;min-width:34px!important;justify-content:center!important;padding:6px 10px!important;border-radius:999px!important;color:#ffffff!important;background:linear-gradient(135deg,#0e7490,#14b8a6)!important;font-weight:950!important;box-shadow:0 8px 18px rgba(14,116,144,.18)!important;}


/* Dashboard Inventario 2026-05-29 v13: ventas por ruta en columna única y lista Excel extendida. */
body.inventory-dashboard-premium-page .dashboard-inventory-premium-sales-grid,
body.inventory-dashboard-premium-page .inventory-dashboard-smart-sales-grid,
main.inventario-dashboard-main .dashboard-inventory-premium-sales-grid,
main.inventario-dashboard-main .inventory-dashboard-smart-sales-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  width:100%!important;
  max-width:100%!important;
}
body.inventory-dashboard-premium-page details.inventory-smart-sales-card,
main.inventario-dashboard-main details.inventory-smart-sales-card{
  width:100%!important;
  max-width:100%!important;
}
body.inventory-dashboard-premium-page details.inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle,
main.inventario-dashboard-main details.inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle{
  grid-template-columns:auto minmax(0,1fr) minmax(260px,auto)!important;
  align-items:center!important;
}
main.inventario-dashboard-main .inventory-sales-excel-wrap{
  width:100%!important;
  max-width:100%!important;
}
main.inventario-dashboard-main .inventory-sales-excel-table{
  width:100%!important;
  min-width:980px!important;
}
main.inventario-dashboard-main .inventory-sales-excel-row{
  grid-template-columns:160px minmax(220px,1.05fr) 150px minmax(430px,2.1fr) 110px!important;
}
@media(max-width:880px){
  body.inventory-dashboard-premium-page details.inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle,
  main.inventario-dashboard-main details.inventory-smart-sales-card > summary.inventory-smart-sales-summary-toggle{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   ACTUALIZACION 2026-05-29 - DASHBOARD INVENTARIO / KPIS SUPERIORES PREMIUM
   Tarjetas superiores de stock por ruta con la misma piel visual
   del modulo Inventario. Cambio visual, sin SQL.
   ========================================================= */
main.inventario-dashboard-main .inventory-dashboard-hero-kpis,
.inventory-dashboard-hero-kpis {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 24px !important;
  align-items: stretch !important;
}

main.inventario-dashboard-main .inventory-route-stock-card-premium,
.inventory-route-stock-card-premium {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: 190px !important;
  padding: 20px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(45, 212, 191, .34) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 15% -15%, rgba(103,232,249,.35), transparent 34%),
    radial-gradient(circle at 92% 0%, rgba(16,185,129,.26), transparent 36%),
    linear-gradient(135deg, #071827 0%, #0f2d36 45%, #064e5d 100%) !important;
  box-shadow:
    0 28px 70px rgba(15,23,42,.22),
    0 14px 34px rgba(20,184,166,.12),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

main.inventario-dashboard-main .inventory-route-stock-card-premium:nth-child(2n),
.inventory-route-stock-card-premium:nth-child(2n) {
  background:
    radial-gradient(circle at 14% -12%, rgba(20,184,166,.36), transparent 34%),
    radial-gradient(circle at 95% 0%, rgba(56,189,248,.22), transparent 36%),
    linear-gradient(135deg, #052e2b 0%, #0f3b42 50%, #083344 100%) !important;
}

main.inventario-dashboard-main .inventory-route-stock-card-premium:nth-child(3n),
.inventory-route-stock-card-premium:nth-child(3n) {
  background:
    radial-gradient(circle at 14% -12%, rgba(34,211,238,.32), transparent 34%),
    radial-gradient(circle at 95% 0%, rgba(139,92,246,.24), transparent 36%),
    linear-gradient(135deg, #111827 0%, #16304a 50%, #0e7490 100%) !important;
}

main.inventario-dashboard-main .inventory-bodega-stock-card.inventory-route-stock-card-premium,
.inventory-bodega-stock-card.inventory-route-stock-card-premium {
  background:
    radial-gradient(circle at 12% -12%, rgba(251,191,36,.33), transparent 34%),
    radial-gradient(circle at 95% 0%, rgba(20,184,166,.24), transparent 36%),
    linear-gradient(135deg, #1f2937 0%, #134e4a 48%, #92400e 100%) !important;
  border-color: rgba(251,191,36,.42) !important;
}

main.inventario-dashboard-main .inventory-route-stock-card-premium:hover,
.inventory-route-stock-card-premium:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 36px 82px rgba(15,23,42,.28),
    0 18px 42px rgba(20,184,166,.18),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
  border-color: rgba(103,232,249,.55) !important;
}

.inventory-route-stock-glow {
  position: absolute !important;
  right: -42px !important;
  top: -46px !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.16) !important;
  filter: blur(1px) !important;
  z-index: -1 !important;
}

.inventory-route-stock-glow::after {
  content: "" !important;
  position: absolute !important;
  right: 34px !important;
  top: 34px !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.36) !important;
  background: rgba(255,255,255,.12) !important;
  transform: rotate(12deg) !important;
}

.inventory-route-stock-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.inventory-route-stock-badge,
.inventory-route-stock-status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.inventory-route-stock-badge {
  padding: 8px 11px !important;
  color: #052f35 !important;
  background: linear-gradient(135deg, #ccfbf1, #67e8f9) !important;
  box-shadow: 0 12px 26px rgba(20,184,166,.22) !important;
}

.inventory-route-stock-status {
  padding: 7px 10px !important;
  color: #ecfeff !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.23) !important;
}

.inventory-route-stock-card-premium h3 {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  letter-spacing: -.035em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

.inventory-stock-pair-premium {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}

.inventory-stock-pill {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding: 13px 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  background: rgba(255,255,255,.13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 30px rgba(0,0,0,.08) !important;
  backdrop-filter: blur(8px) !important;
}

.inventory-stock-pill span {
  color: rgba(236,254,255,.82) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .045em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.inventory-stock-pill strong {
  color: #fff !important;
  font-size: clamp(24px, 3.2vw, 38px) !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
}

.inventory-stock-pill.is-gotero {
  background: linear-gradient(135deg, rgba(6,182,212,.28), rgba(255,255,255,.12)) !important;
  border-color: rgba(103,232,249,.32) !important;
}

.inventory-stock-pill.is-tarro {
  background: linear-gradient(135deg, rgba(16,185,129,.26), rgba(255,255,255,.12)) !important;
  border-color: rgba(110,231,183,.28) !important;
}

.inventory-route-stock-card-premium p {
  margin: 14px 0 0 !important;
  color: rgba(236,254,255,.84) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  main.inventario-dashboard-main .inventory-dashboard-hero-kpis,
  .inventory-dashboard-hero-kpis {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .inventory-route-stock-card-premium {
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 24px !important;
  }
  .inventory-stock-pair-premium {
    grid-template-columns: 1fr 1fr !important;
  }
  .inventory-route-stock-card-premium h3 {
    font-size: 20px !important;
  }
  .inventory-stock-pill {
    padding: 11px !important;
    border-radius: 17px !important;
  }
  .inventory-stock-pill strong {
    font-size: 28px !important;
  }
}

/* === MiRuta 2026-05-29: Inventario / Retorno de ruta premium === */
body.inventory-premium-page .main.vd-route-return-page{
  background:
    radial-gradient(circle at 8% 0%,rgba(14,165,233,.12),transparent 30%),
    radial-gradient(circle at 96% 4%,rgba(20,184,166,.14),transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 48%,#f1f5f9 100%)!important;
}
body.inventory-premium-page .main .vd-return-hero{
  background:
    radial-gradient(circle at 10% 0%,rgba(34,211,238,.24),transparent 30%),
    radial-gradient(circle at 94% 0%,rgba(16,185,129,.18),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#eefcff 58%,#ecfdf5 100%)!important;
}
body.inventory-premium-page .main .vd-return-filter{
  margin-top:16px!important;
  padding:12px!important;
  border-radius:22px!important;
  border:1px solid rgba(14,165,233,.16)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,253,250,.74))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 32px rgba(15,23,42,.06)!important;
}
body.inventory-premium-page .main .vd-return-kpis,
body.inventory-premium-page .main .vd-return-summary-grid,
body.inventory-premium-page .main .vd-return-live-summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:16px 0!important;
}
body.inventory-premium-page .main .vd-return-kpi,
body.inventory-premium-page .main .vd-return-summary-grid span,
body.inventory-premium-page .main .vd-return-live-summary span{
  position:relative!important;
  overflow:hidden!important;
  min-height:104px!important;
  padding:16px!important;
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(34,211,238,.22),transparent 32%),
    linear-gradient(145deg,#0f172a 0%,#134e4a 58%,#0f766e 100%)!important;
  color:#ffffff!important;
  box-shadow:0 24px 56px rgba(15,23,42,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.inventory-premium-page .main .vd-return-kpi::after,
body.inventory-premium-page .main .vd-return-summary-grid span::after,
body.inventory-premium-page .main .vd-return-live-summary span::after{
  content:"";position:absolute;inset:auto -20% -50% 20%;height:92px;
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%);pointer-events:none;
}
body.inventory-premium-page .main .vd-return-kpi small,
body.inventory-premium-page .main .vd-return-summary-grid small,
body.inventory-premium-page .main .vd-return-live-summary small{
  display:block!important;color:rgba(226,232,240,.86)!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:10px!important;
}
body.inventory-premium-page .main .vd-return-kpi strong,
body.inventory-premium-page .main .vd-return-summary-grid strong,
body.inventory-premium-page .main .vd-return-live-summary strong{
  display:block!important;margin-top:8px!important;color:#ffffff!important;font-weight:1000!important;font-size:clamp(22px,2.4vw,34px)!important;letter-spacing:-.055em!important;line-height:1!important;
}
body.inventory-premium-page .main .vd-return-kpi span,
body.inventory-premium-page .main .vd-return-summary-grid span span,
body.inventory-premium-page .main .vd-return-live-summary span span{
  display:block!important;margin-top:8px!important;color:rgba(236,253,245,.88)!important;font-weight:800!important;font-size:12px!important;
}
body.inventory-premium-page .main .vd-return-summary-grid span.danger,
body.inventory-premium-page .main .vd-return-live-summary span.danger{background:linear-gradient(145deg,#7f1d1d,#be123c)!important;border-color:rgba(244,63,94,.35)!important;}
body.inventory-premium-page .main .vd-return-summary-grid span.success,
body.inventory-premium-page .main .vd-return-live-summary span.success{background:linear-gradient(145deg,#064e3b,#059669)!important;border-color:rgba(16,185,129,.35)!important;}
body.inventory-premium-page .main .vd-return-saved,
body.inventory-premium-page .main .vd-return-count-panel,
body.inventory-premium-page .main .vd-return-history{
  margin-top:16px!important;
}
body.inventory-premium-page .main .vd-return-meta-grid{
  margin:14px 0!important;
  grid-template-columns:minmax(220px,.65fr) minmax(260px,1.35fr)!important;
}
body.inventory-premium-page .main .vd-return-table-wrap{
  border-radius:24px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
body.inventory-premium-page .main table.vd-return-table th{
  color:#e0f2fe!important;
  background:linear-gradient(135deg,#0f172a,#0f766e)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  font-size:10.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
body.inventory-premium-page .main table.vd-return-table td{
  vertical-align:middle!important;
  border-bottom:1px solid rgba(226,232,240,.75)!important;
  background:rgba(255,255,255,.96)!important;
  font-weight:750!important;
}
body.inventory-premium-page .main table.vd-return-table td strong{display:block!important;color:#0f172a!important;font-weight:950!important;}
body.inventory-premium-page .main table.vd-return-table td small{display:block!important;margin-top:3px!important;color:#64748b!important;font-weight:750!important;}
body.inventory-premium-page .main .vd-return-chip,
body.inventory-premium-page .main .vd-return-diff{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:26px!important;padding:5px 10px!important;border-radius:999px!important;
  font-size:11px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.035em!important;
  border:1px solid rgba(14,165,233,.18)!important;background:linear-gradient(135deg,#eff6ff,#e0f2fe)!important;color:#075985!important;
}
body.inventory-premium-page .main .vd-return-chip.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;color:#166534!important;border-color:rgba(22,163,74,.22)!important;}
body.inventory-premium-page .main .vd-return-diff.is-zero{background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;color:#334155!important;border-color:rgba(148,163,184,.28)!important;}
body.inventory-premium-page .main .vd-return-diff.is-negative{background:linear-gradient(135deg,#ffe4e6,#fecdd3)!important;color:#be123c!important;border-color:rgba(244,63,94,.24)!important;}
body.inventory-premium-page .main .vd-return-diff.is-positive{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;color:#047857!important;border-color:rgba(16,185,129,.24)!important;}
body.inventory-premium-page .main .vd-return-system{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:46px!important;min-height:30px!important;
  border-radius:12px!important;background:#f1f5f9!important;color:#0f172a!important;font-weight:950!important;
}
body.inventory-premium-page .main .vd-return-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;
  margin-top:14px!important;padding:12px!important;border-radius:20px!important;
  border:1px solid rgba(148,163,184,.18)!important;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(240,253,250,.78))!important;
}
@media (max-width: 900px){
  body.inventory-premium-page .main .vd-return-kpis,
  body.inventory-premium-page .main .vd-return-summary-grid,
  body.inventory-premium-page .main .vd-return-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .main .vd-return-meta-grid{grid-template-columns:1fr!important;}
}
@media (max-width: 640px){
  body.inventory-premium-page .main .vd-route-return-page{padding-left:10px!important;padding-right:10px!important;}
  body.inventory-premium-page .main .vd-return-kpis,
  body.inventory-premium-page .main .vd-return-summary-grid,
  body.inventory-premium-page .main .vd-return-live-summary{grid-template-columns:1fr!important;}
  body.inventory-premium-page .main .vd-return-actions{justify-content:stretch!important;}
  body.inventory-premium-page .main .vd-return-actions .btn{width:100%!important;}
}

/* E-Shop premium 2026-05-30 */
.eshop-premium-page .main,
.eshop-main{background:linear-gradient(135deg,#f8feff 0%,#eefcff 38%,#f7fbff 100%);}
.eshop-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 22px;padding:28px;border-radius:34px;background:radial-gradient(circle at top left,rgba(45,212,191,.32),transparent 38%),linear-gradient(135deg,#062b3a 0%,#075568 48%,#0f172a 100%);color:#fff;box-shadow:0 26px 60px rgba(8,47,73,.24);border:1px solid rgba(103,232,249,.35)}
.eshop-hero h1{margin:4px 0 6px;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.05em;color:#fff}.eshop-hero p{max-width:760px;color:rgba(255,255,255,.82);font-size:1.02rem}.eshop-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.eshop-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.eshop-inventory-hero{background:radial-gradient(circle at 12% 8%,rgba(251,191,36,.38),transparent 28%),linear-gradient(135deg,#1e1b4b 0%,#0f766e 54%,#082f49 100%)}
.eshop-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.eshop-kpis article{position:relative;overflow:hidden;padding:18px;border-radius:26px;background:linear-gradient(145deg,#ffffff 0%,#ecfeff 100%);border:1px solid rgba(14,165,164,.18);box-shadow:0 20px 48px rgba(15,23,42,.09)}.eshop-kpis article:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#06b6d4,#14b8a6,#f59e0b)}.eshop-kpis span{display:block;color:#64748b;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.eshop-kpis strong{display:block;margin-top:8px;font-size:2rem;color:#0f172a}.eshop-kpis small{color:#64748b;font-weight:700}
.eshop-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:start}.eshop-card{background:rgba(255,255,255,.92);border:1px solid rgba(14,165,164,.18);border-radius:30px;padding:20px;box-shadow:0 22px 55px rgba(15,23,42,.10);backdrop-filter:blur(14px);margin-bottom:18px}.eshop-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.eshop-card h2{margin:0;color:#0f172a;font-size:1.35rem}.eshop-card p{margin:.25rem 0 0;color:#64748b}.eshop-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.eshop-form label,.eshop-filters label,.eshop-dispatch-actions label{display:flex;flex-direction:column;gap:6px;color:#1e293b;font-weight:900;font-size:.82rem}.eshop-form input,.eshop-form select,.eshop-form textarea,.eshop-filters input,.eshop-filters select,.eshop-dispatch-actions input,.eshop-dispatch-actions textarea{width:100%;border:1px solid rgba(14,165,164,.22);border-radius:17px;background:#fff;padding:12px 13px;color:#0f172a;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);outline:none}.eshop-form input:focus,.eshop-form select:focus,.eshop-form textarea:focus,.eshop-filters input:focus,.eshop-filters select:focus{border-color:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.14)}.eshop-products{margin:14px 0;padding:14px;border-radius:24px;background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid rgba(34,211,238,.22)}.eshop-products-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.eshop-product-row{display:grid;grid-template-columns:1fr 150px;gap:10px;margin-top:10px}.eshop-product-row select,.eshop-product-row input{border-radius:16px;border:1px solid rgba(14,165,164,.22);padding:11px;background:#fff}.eshop-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.eshop-btn,.eshop-btn-mini{border:0!important;border-radius:999px!important;font-weight:950!important;box-shadow:0 14px 28px rgba(15,118,110,.22)!important;letter-spacing:-.01em}.eshop-btn{padding:12px 18px!important}.eshop-btn-mini{padding:8px 12px!important;font-size:.82rem!important}.eshop-btn-gold{background:linear-gradient(135deg,#f59e0b,#ec4899,#0f766e)!important;color:#fff!important}.eshop-guide ol{padding-left:20px;color:#334155}.eshop-guide li{margin:10px 0}.eshop-note{margin-top:12px;padding:12px 14px;border-radius:18px;background:#fffbeb;border:1px solid rgba(245,158,11,.3);color:#78350f;font-weight:800}.eshop-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:16px}.eshop-table-wrap{overflow:auto;border-radius:22px;border:1px solid rgba(14,165,164,.16)}.eshop-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.eshop-table th{position:sticky;top:0;background:linear-gradient(135deg,#0f766e,#083344);color:#fff;text-align:left;padding:12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.eshop-table td{padding:12px;border-bottom:1px solid #dff7fb;vertical-align:top;color:#0f172a}.eshop-table td span{color:#64748b}.eshop-product-chips{display:flex;gap:7px;flex-wrap:wrap}.eshop-product-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#ecfeff;border:1px solid #bae6fd;color:#0f172a;font-weight:800}.eshop-product-chips b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#0f766e;color:#fff}.eshop-empty{padding:18px;border-radius:20px;background:#f8fafc;color:#64748b;font-weight:800}.eshop-dispatch-list{display:grid;gap:14px}.eshop-dispatch-card{border-radius:26px;overflow:hidden;border:1px solid rgba(14,165,164,.25);background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.10)}.eshop-dispatch-card summary{cursor:pointer;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:16px 18px;background:linear-gradient(135deg,#e0fdfa,#f8fafc)}.eshop-dispatch-card summary::-webkit-details-marker{display:none}.eshop-dispatch-card summary:before{content:"▾";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#06b6d4);color:#fff;font-weight:900;box-shadow:0 12px 24px rgba(14,165,164,.25)}.eshop-dispatch-card:not([open]) summary:before{content:"▸"}.eshop-badge{padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff;font-weight:950;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.eshop-dispatch-body{padding:18px}.eshop-dispatch-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.eshop-dispatch-meta span{padding:8px 11px;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:800}.eshop-dispatch-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.eshop-dispatch-actions .eshop-actions{grid-column:1 / -1}.vd-notif-popup-eshop_venta{background:radial-gradient(circle at 10% 10%,rgba(251,191,36,.38),transparent 28%),linear-gradient(135deg,#4c1d95 0%,#be185d 50%,#0f766e 100%)!important;border-color:rgba(251,191,36,.5)!important}.vd-notif-popup-eshop_venta .vd-notif-popup-kicker{background:rgba(251,191,36,.18)!important;border-color:rgba(251,191,36,.34)!important;color:#fde68a!important}.vd-notif-popup-eshop_venta h2,.vd-notif-popup-eshop_venta p{color:#fff!important}
@media (max-width:1100px){.eshop-grid{grid-template-columns:1fr}.eshop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eshop-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.eshop-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.eshop-dispatch-actions{grid-template-columns:1fr}}
@media (max-width:720px){.eshop-hero{display:block;padding:22px;border-radius:26px}.eshop-hero-actions{margin-top:14px}.eshop-form-grid,.eshop-filters,.eshop-product-row,.eshop-kpis{grid-template-columns:1fr}.eshop-card{padding:14px;border-radius:24px}.eshop-table-wrap{border:0;overflow:visible}.eshop-table thead{display:none}.eshop-table,.eshop-table tbody,.eshop-table tr,.eshop-table td{display:block;width:100%}.eshop-table tr{margin-bottom:12px;border:1px solid rgba(14,165,164,.18);border-radius:20px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.08);overflow:hidden}.eshop-table td{display:grid;grid-template-columns:118px 1fr;gap:8px;border-bottom:1px solid #e6fbff}.eshop-table td:before{content:attr(data-label);font-weight:950;color:#0f766e;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.eshop-dispatch-card summary{grid-template-columns:auto 1fr;align-items:start}.eshop-dispatch-card summary .status{grid-column:2}.eshop-actions .btn,.eshop-btn{width:100%;justify-content:center}.eshop-dispatch-meta{display:grid}.eshop-dispatch-meta span{border-radius:16px}.eshop-product-chips{gap:5px}}

/* E-Shop Campañas complementarias: hoja premium y despacho responsive */
.eshop-campaign-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#fef3c7,#ecfeff);border:1px solid rgba(20,184,166,.22);color:#0f172a!important;font-weight:950;box-shadow:0 10px 20px rgba(15,23,42,.08)}
.eshop-actions-cell{min-width:210px}.eshop-inline-concretar{display:inline-block;vertical-align:top;margin:2px 4px 6px 0;border-radius:18px;background:linear-gradient(135deg,#ecfeff,#fff7ed);border:1px solid rgba(20,184,166,.24);box-shadow:0 12px 24px rgba(15,118,110,.12)}.eshop-inline-concretar summary{cursor:pointer;list-style:none;padding:9px 13px;border-radius:999px;background:linear-gradient(135deg,#0f766e,#06b6d4);color:#fff;font-weight:950;box-shadow:0 10px 20px rgba(14,165,164,.2)}.eshop-inline-concretar summary::-webkit-details-marker{display:none}.eshop-inline-form{padding:12px;min-width:320px;display:grid;gap:10px}.eshop-inline-form label{display:flex;flex-direction:column;gap:6px;font-weight:900;color:#0f172a;font-size:.8rem}.eshop-inline-form select,.eshop-inline-form input{width:100%;border:1px solid rgba(14,165,164,.22);border-radius:15px;background:#fff;padding:10px}.eshop-products-inline{margin:0;padding:10px;border-radius:18px}.eshop-products-inline .eshop-product-row{grid-template-columns:minmax(180px,1fr) 96px}.eshop-products-compact{background:radial-gradient(circle at top left,rgba(251,191,36,.16),transparent 32%),linear-gradient(135deg,#ecfeff,#f8fafc)}.eshop-card .alert-warning,.eshop-premium-page .alert-warning{border-radius:20px;border:1px solid rgba(245,158,11,.28);background:#fffbeb;color:#78350f;font-weight:800}.eshop-table th:nth-child(4),.eshop-table td[data-label="Campaña"]{min-width:170px}.eshop-dispatch-card summary .eshop-badge{white-space:nowrap}.eshop-dispatch-meta span b{color:#0f766e}.vd-notif-popup-eshop_venta:before{content:"E-Shop / Campaña";display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(251,191,36,.18);border:1px solid rgba(251,191,36,.34);color:#fde68a;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
@media (max-width:720px){.eshop-inline-concretar{display:block;width:100%}.eshop-inline-concretar summary{text-align:center}.eshop-inline-form{min-width:0;width:100%}.eshop-actions-cell{min-width:0}.eshop-products-inline .eshop-product-row{grid-template-columns:1fr}.eshop-table td[data-label="Acción"]{display:block}.eshop-campaign-pill{width:fit-content;max-width:100%;white-space:normal}.eshop-table td{grid-template-columns:108px 1fr}}

/* E-Shop premium critical reinforcement v4 - external copy */
body.eshop-premium-page .eshop-hero{position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:18px 0 22px!important;padding:30px!important;border-radius:34px!important;background:radial-gradient(circle at 10% 10%,rgba(45,212,191,.38),transparent 32%),linear-gradient(135deg,#062b3a 0%,#075568 48%,#0f172a 100%)!important;color:#ffffff!important;border:1px solid rgba(103,232,249,.34)!important;box-shadow:0 30px 70px rgba(8,47,73,.28)!important}
body.eshop-premium-page .eshop-hero h1{margin:6px 0!important;font-size:clamp(2.2rem,4vw,3.8rem)!important;letter-spacing:-.055em!important;line-height:.95!important;color:#fff!important}
body.eshop-premium-page .eshop-hero p{max-width:850px!important;margin:0!important;color:rgba(255,255,255,.84)!important;font-size:1.05rem!important;line-height:1.45!important}
body.eshop-premium-page .eshop-kicker{display:inline-flex!important;align-items:center!important;gap:8px!important;width:max-content!important;padding:8px 13px!important;border-radius:999px!important;background:rgba(255,255,255,.15)!important;border:1px solid rgba(255,255,255,.24)!important;color:#ecfeff!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.72rem!important}
body.eshop-premium-page .eshop-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin:0 0 24px!important}
body.eshop-premium-page .eshop-kpis article{position:relative!important;overflow:hidden!important;min-height:128px!important;padding:20px!important;border-radius:28px!important;background:linear-gradient(145deg,#ffffff 0%,#ecfeff 100%)!important;border:1px solid rgba(14,165,164,.24)!important;box-shadow:0 24px 55px rgba(15,23,42,.12)!important}
body.eshop-premium-page .eshop-kpis article:before{content:""!important;position:absolute!important;inset:0 0 auto 0!important;height:6px!important;background:linear-gradient(90deg,#06b6d4,#14b8a6,#f59e0b,#ec4899)!important}
body.eshop-premium-page .eshop-kpis span{display:block!important;color:#64748b!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.72rem!important}
body.eshop-premium-page .eshop-kpis strong{display:block!important;margin-top:10px!important;color:#0f172a!important;font-size:2.2rem!important;line-height:1!important;letter-spacing:-.05em!important}
body.eshop-premium-page .eshop-card{position:relative!important;overflow:hidden!important;margin:0 0 22px!important;padding:22px!important;border-radius:30px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(14,165,164,.22)!important;box-shadow:0 26px 60px rgba(15,23,42,.12)!important;backdrop-filter:blur(14px)!important}
body.eshop-premium-page .eshop-form-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;align-items:end!important}
body.eshop-premium-page .eshop-filters{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr)) auto auto!important;gap:13px!important;align-items:end!important;margin-bottom:18px!important}
body.eshop-premium-page .eshop-form label,body.eshop-premium-page .eshop-filters label,body.eshop-premium-page .eshop-dispatch-actions label{display:flex!important;flex-direction:column!important;gap:7px!important;color:#1e293b!important;font-weight:950!important;font-size:.82rem!important}
body.eshop-premium-page input,body.eshop-premium-page select,body.eshop-premium-page textarea{max-width:100%!important;border:1px solid rgba(14,165,164,.24)!important;border-radius:18px!important;background:#fff!important;padding:12px 14px!important;color:#0f172a!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 18px rgba(15,23,42,.04)!important;outline:none!important;font:inherit!important}
body.eshop-premium-page .eshop-products{margin:16px 0!important;padding:16px!important;border-radius:24px!important;background:linear-gradient(135deg,#ecfeff 0%,#fff7ed 100%)!important;border:1px solid rgba(34,211,238,.26)!important}
body.eshop-premium-page .eshop-product-row{display:grid!important;grid-template-columns:minmax(0,1fr) 145px!important;gap:10px!important;margin-top:10px!important;align-items:center!important}
body.eshop-premium-page .eshop-btn,body.eshop-premium-page .eshop-btn-mini{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:0!important;border-radius:999px!important;font-weight:950!important;text-decoration:none!important;line-height:1.1!important;color:#ffffff!important;background:linear-gradient(135deg,#0f766e 0%,#06b6d4 100%)!important;box-shadow:0 16px 32px rgba(14,165,164,.28)!important;white-space:nowrap!important}
body.eshop-premium-page .btn-light.eshop-btn,body.eshop-premium-page .btn-light.eshop-btn-mini{background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%)!important;color:#0f172a!important;border:1px solid rgba(14,165,164,.22)!important;box-shadow:0 12px 24px rgba(15,23,42,.08)!important}
body.eshop-premium-page .eshop-btn-gold{background:linear-gradient(135deg,#f59e0b 0%,#ec4899 48%,#0f766e 100%)!important;color:#fff!important}
body.eshop-premium-page .eshop-table-wrap{overflow:auto!important;border-radius:22px!important;border:1px solid rgba(14,165,164,.18)!important;background:#fff!important}
body.eshop-premium-page .eshop-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;min-width:920px!important}
body.eshop-premium-page .eshop-table th{position:sticky!important;top:0!important;background:linear-gradient(135deg,#0f766e,#083344)!important;color:#ffffff!important;text-align:left!important;padding:13px!important;font-size:.76rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;border:0!important}
body.eshop-premium-page .eshop-table td{padding:13px!important;border-bottom:1px solid #dff7fb!important;vertical-align:top!important;color:#0f172a!important;background:#fff!important}
body.eshop-premium-page .eshop-dispatch-card{overflow:hidden!important;border-radius:28px!important;border:1px solid rgba(14,165,164,.28)!important;background:#fff!important;box-shadow:0 24px 54px rgba(15,23,42,.12)!important}
body.eshop-premium-page .eshop-dispatch-card summary{cursor:pointer!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto!important;gap:12px!important;align-items:center!important;padding:18px!important;background:radial-gradient(circle at 10% 0%,rgba(251,191,36,.14),transparent 30%),linear-gradient(135deg,#ecfeff,#f8fafc)!important;color:#0f172a!important}
body.eshop-premium-page .eshop-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 11px!important;border-radius:999px!important;background:linear-gradient(135deg,#f59e0b,#ec4899)!important;color:#ffffff!important;font-weight:950!important;text-transform:uppercase!important;font-size:.7rem!important;letter-spacing:.07em!important}
body.eshop-premium-page .eshop-dispatch-body{padding:18px!important}
body.eshop-premium-page .eshop-dispatch-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important;padding:14px!important;border-radius:24px!important;background:#f8fafc!important;border:1px solid rgba(14,165,164,.16)!important}
@media (max-width:1180px){body.eshop-premium-page .eshop-grid{grid-template-columns:1fr!important}body.eshop-premium-page .eshop-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.eshop-premium-page .eshop-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.eshop-premium-page .eshop-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.eshop-premium-page .eshop-dispatch-actions{grid-template-columns:1fr!important}}
@media (max-width:760px){body.eshop-premium-page .eshop-hero{display:block!important;padding:22px!important;border-radius:26px!important}body.eshop-premium-page .eshop-form-grid,body.eshop-premium-page .eshop-filters,body.eshop-premium-page .eshop-product-row,body.eshop-premium-page .eshop-kpis{grid-template-columns:1fr!important}body.eshop-premium-page .eshop-card{padding:16px!important;border-radius:24px!important}body.eshop-premium-page .eshop-btn{width:100%!important}body.eshop-premium-page .eshop-table-wrap{border:0!important;overflow:visible!important;background:transparent!important}body.eshop-premium-page .eshop-table{min-width:0!important}body.eshop-premium-page .eshop-table thead{display:none!important}body.eshop-premium-page .eshop-table,body.eshop-premium-page .eshop-table tbody,body.eshop-premium-page .eshop-table tr,body.eshop-premium-page .eshop-table td{display:block!important;width:100%!important}body.eshop-premium-page .eshop-table tr{margin-bottom:12px!important;border:1px solid rgba(14,165,164,.2)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 26px rgba(15,23,42,.08)!important;overflow:hidden!important}body.eshop-premium-page .eshop-table td{display:grid!important;grid-template-columns:118px 1fr!important;gap:8px!important;border-bottom:1px solid #e6fbff!important}body.eshop-premium-page .eshop-table td:before{content:attr(data-label)!important;font-weight:950!important;color:#0f766e!important;text-transform:uppercase!important;font-size:.72rem!important;letter-spacing:.05em!important}body.eshop-premium-page .eshop-dispatch-card summary{grid-template-columns:auto 1fr!important;align-items:start!important}}


/* E-Shop hoja tipo Base de Datos - correcciones 2026-05-30 */
body.eshop-premium-page .eshop-dispatch-clean-topbar .topbar .page-title,
body.eshop-dispatch-clean-topbar .topbar .page-title{display:none!important;}
body.eshop-premium-page .eshop-city-input{font-weight:850!important;text-transform:uppercase!important;letter-spacing:.01em!important;}
body.eshop-premium-page .eshop-product-row select,
body.eshop-premium-page .eshop-product-row input,
body.eshop-premium-page .eshop-product-select{min-height:46px!important;height:46px!important;line-height:1.25!important;font-size:.92rem!important;color:#0f172a!important;border-radius:16px!important;border:1px solid #bae6fd!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(15,23,42,.04)!important;}
body.eshop-premium-page .eshop-product-row select,
body.eshop-premium-page .eshop-product-select{padding:0 42px 0 14px!important;white-space:nowrap!important;text-overflow:ellipsis!important;}
body.eshop-premium-page .eshop-product-row input{padding:0 12px!important;font-weight:900!important;}
body.eshop-premium-page .eshop-products-sheet{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdfa 45%,#f8fafc 100%)!important;}
body.eshop-premium-page .eshop-products-sheet-head{padding:0 2px 8px!important;border-bottom:1px solid rgba(15,118,110,.12)!important;margin-bottom:10px!important;}
body.eshop-premium-page .eshop-sheet-table{min-width:1080px!important;}


/* E-Shop compacto y forma de pago desde Inventario · 2026-05-30 */
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:1010px!important;font-size:.78rem!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th{padding:7px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{padding:5px 6px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table .input{min-height:34px!important;height:34px!important;border-radius:11px!important;padding:4px 8px!important;font-size:.78rem!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-date{width:84px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-phone{width:118px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-campaign{width:190px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-city{width:105px!important;min-width:105px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-obs{width:132px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-note{width:132px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-actions{width:142px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:132px!important;min-width:132px!important;max-width:142px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:128px!important;max-width:128px!important;min-height:96px!important;height:96px!important;padding:7px!important;font-size:.72rem!important;line-height:1.12!important;border-radius:12px!important;resize:vertical!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-panel{padding:9px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-grid{grid-template-columns:1.25fr .85fr .9fr 1.05fr 1fr 1.05fr!important;gap:6px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-grid label{font-size:.69rem!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-grid .input{min-height:34px!important;height:34px!important;padding:5px 8px!important;border-radius:11px!important;font-size:.8rem!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-products-sheet{grid-column:span 4!important;padding:8px!important;border-radius:14px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-product-row{grid-template-columns:minmax(260px,1fr) 92px!important;gap:6px!important;margin-bottom:5px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-product-row select,
body.eshop-premium-page .eshop-sheet-main .eshop-product-row input,
body.eshop-premium-page .eshop-sheet-main .eshop-product-select{height:38px!important;min-height:38px!important;border-radius:12px!important;font-size:.82rem!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-note-compact{grid-column:span 2!important;max-width:260px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-note-compact textarea.input{min-height:126px!important;height:126px!important;width:100%!important;line-height:1.22!important;font-size:.78rem!important;padding:8px 9px!important;}
body.eshop-premium-page .eshop-dispatch-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
body.eshop-premium-page .eshop-dispatch-actions select{min-height:44px!important;border-radius:16px!important;border:1px solid rgba(14,165,164,.24)!important;background:#fff!important;padding:10px 12px!important;font-weight:850!important;}
@media(max-width:1180px){body.eshop-premium-page .eshop-dispatch-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:0!important;}body.eshop-premium-page .eshop-sheet-main .eshop-detail-grid{grid-template-columns:1fr!important;}body.eshop-premium-page .eshop-sheet-main .eshop-products-sheet,body.eshop-premium-page .eshop-sheet-main .eshop-note-compact{grid-column:1/-1!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-note-compact textarea.input,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-dispatch-actions{grid-template-columns:1fr!important;}}


/* E-Shop ajuste automático concretada + ciudad corta 2026-05-30 */
body.eshop-premium-page .eshop-sheet-main .eshop-col-city{width:74px!important;min-width:74px!important;max-width:82px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-note{width:190px!important;min-width:190px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:190px!important;min-width:190px!important;max-width:205px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:184px!important;max-width:184px!important;min-height:96px!important;height:96px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-city-input{max-width:78px!important;text-transform:uppercase!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact{max-width:118px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact .eshop-city-input{max-width:112px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-products-sheet{grid-column:1 / span 4!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-note-compact{grid-column:5 / span 2!important;align-self:stretch!important;max-width:100%!important;background:linear-gradient(135deg,#f8fafc,#ecfdf5)!important;border:1px solid rgba(15,118,110,.16)!important;border-radius:16px!important;padding:8px!important;box-shadow:0 10px 24px rgba(15,23,42,.05)!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-note-compact label{color:#0f766e!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-note-compact textarea.input{min-height:154px!important;height:154px!important;max-width:100%!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under{display:block!important;width:78px!important;max-width:78px!important;margin-top:4px!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;font-size:.63rem!important;line-height:1.08!important;color:#64748b!important;font-weight:850!important;letter-spacing:.01em!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-city-input,body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact,body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact .eshop-city-input{max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-col-city,body.eshop-premium-page .eshop-sheet-main .eshop-col-note,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-products-sheet,body.eshop-premium-page .eshop-sheet-main .eshop-note-compact{grid-column:1/-1!important;}}

/* E-Shop mejoras 2026-05-30: código copiable y pila compacta bajo Ciudad */
body.eshop-premium-page .eshop-code-stack{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;margin-top:4px!important;width:78px!important;max-width:78px!important;}
body.eshop-premium-page .eshop-copy-code-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:22px!important;padding:3px 7px!important;border:1px solid rgba(14,165,164,.26)!important;border-radius:999px!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;color:#0f766e!important;font-size:.61rem!important;font-weight:950!important;line-height:1!important;cursor:pointer!important;box-shadow:0 6px 14px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.85)!important;}
body.eshop-premium-page .eshop-copy-code-btn:hover{transform:translateY(-1px)!important;box-shadow:0 10px 18px rgba(14,165,164,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;}
body.eshop-premium-page .eshop-copy-code-btn.is-copied{background:linear-gradient(135deg,#dcfce7,#ccfbf1)!important;color:#166534!important;border-color:#86efac!important;}
body.eshop-premium-page .eshop-inline-code{display:inline-block!important;max-width:210px!important;overflow-wrap:anywhere!important;word-break:break-word!important;font-weight:950!important;color:#0f766e!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-code-stack{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-copy-code-btn{min-height:28px!important;padding:6px 10px!important;font-size:.72rem!important;}}



/* E-Shop ajuste 2026-05-30: columnas uniformes y campos sin recorte */
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:1120px!important;table-layout:auto!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-city{width:118px!important;min-width:118px!important;max-width:128px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"]{width:118px!important;min-width:118px!important;max-width:128px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-city-input{width:100%!important;max-width:118px!important;min-width:0!important;text-align:left!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact{max-width:142px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-detail-city-compact .eshop-city-input{width:100%!important;max-width:136px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-obs{width:140px!important;min-width:140px!important;max-width:150px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Observación"]{width:140px!important;min-width:140px!important;max-width:150px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Observación"] select.input{width:100%!important;max-width:140px!important;padding-left:10px!important;padding-right:30px!important;text-overflow:ellipsis!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-col-note{width:190px!important;min-width:190px!important;max-width:205px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:190px!important;min-width:190px!important;max-width:205px!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-wrap{width:100%!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{display:block!important;width:100%!important;min-width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:96px!important;height:96px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-code-stack{width:100%!important;max-width:118px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under{width:100%!important;max-width:118px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-copy-code-btn{max-width:100%!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:0!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"],body.eshop-premium-page .eshop-sheet-main td[data-label="Observación"],body.eshop-premium-page .eshop-sheet-main .eshop-col-city,body.eshop-premium-page .eshop-sheet-main .eshop-col-obs,body.eshop-premium-page .eshop-sheet-main .eshop-col-note,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-city-input,body.eshop-premium-page .eshop-sheet-main td[data-label="Observación"] select.input,body.eshop-premium-page .eshop-sheet-main .eshop-code-stack,body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:100%!important;min-width:0!important;max-width:100%!important;}}


/* E-Shop ajuste 2026-05-30: columnas proporcionales, campos al 100% y código clickeable */
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:1620px!important;table-layout:fixed!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(1),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(1){width:132px!important;min-width:132px!important;max-width:132px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(2),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(2){width:240px!important;min-width:240px!important;max-width:240px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(3),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(3){width:320px!important;min-width:320px!important;max-width:320px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(4),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(4){width:190px!important;min-width:190px!important;max-width:190px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(5),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(5){width:170px!important;min-width:170px!important;max-width:170px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(6),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(6){width:230px!important;min-width:230px!important;max-width:230px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(7),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(7){width:160px!important;min-width:160px!important;max-width:160px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(8),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(8){width:178px!important;min-width:178px!important;max-width:178px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="WhatsApp"] input.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Campaña"] select.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Ciudad"] .eshop-city-input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Observación"] select.input,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Campaña"] select.input{padding-right:34px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Observación"] select.input{padding-left:10px!important;padding-right:28px!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-cell{box-sizing:border-box!important;}body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-wrap{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{min-height:96px!important;height:96px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-code-stack{display:block!important;width:100%!important;max-width:100%!important;margin-top:6px!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under,body.eshop-premium-page .eshop-code-clickable{appearance:none!important;-webkit-appearance:none!important;border:1px solid rgba(14,165,164,.28)!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;color:#0f766e!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;max-width:100%!important;min-height:28px!important;padding:4px 8px!important;border-radius:999px!important;font-size:.66rem!important;line-height:1.08!important;font-weight:950!important;letter-spacing:.01em!important;text-align:left!important;cursor:pointer!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;box-shadow:0 6px 14px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.86)!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under:hover,body.eshop-premium-page .eshop-code-clickable:hover{transform:translateY(-1px)!important;box-shadow:0 10px 18px rgba(14,165,164,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under.is-copied,body.eshop-premium-page .eshop-code-clickable.is-copied{background:linear-gradient(135deg,#dcfce7,#ccfbf1)!important;color:#166534!important;border-color:#86efac!important;}body.eshop-premium-page .eshop-copy-code-btn{display:none!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:0!important;table-layout:auto!important;}body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="WhatsApp"] input.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Campaña"] select.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Ciudad"] .eshop-city-input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Observación"] select.input,body.eshop-premium-page .eshop-sheet-main .eshop-code-stack,body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:100%!important;max-width:100%!important;}}



/* E-Shop ajuste 2026-05-30: corrección CSS texto plano, columnas fluidas 100% y kits */
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table-wrap{width:100%!important;max-width:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{width:100%!important;min-width:1240px!important;table-layout:fixed!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{box-sizing:border-box!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(1),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(1){width:8%!important;min-width:112px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(2),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(2){width:15%!important;min-width:180px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(3),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(3){width:24%!important;min-width:280px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(4),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(4){width:14%!important;min-width:180px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(5),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(5){width:12%!important;min-width:155px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(6),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(6){width:16%!important;min-width:210px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(7),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(7){width:6%!important;min-width:120px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(8),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(8){width:5%!important;min-width:120px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table input.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table select.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table textarea.input{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Campaña"] select.input{padding-right:34px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td[data-label="Observación"] select.input{padding-left:10px!important;padding-right:28px!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-code-stack{display:block!important;width:100%!important;max-width:none!important;margin-top:6px!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under,body.eshop-premium-page .eshop-code-clickable{appearance:none!important;-webkit-appearance:none!important;border:1px solid rgba(14,165,164,.28)!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;color:#0f766e!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;max-width:none!important;min-height:28px!important;padding:4px 8px!important;border-radius:999px!important;font-size:.66rem!important;line-height:1.08!important;font-weight:950!important;letter-spacing:.01em!important;text-align:left!important;cursor:pointer!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;box-shadow:0 6px 14px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.86)!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under:hover,body.eshop-premium-page .eshop-code-clickable:hover{transform:translateY(-1px)!important;box-shadow:0 10px 18px rgba(14,165,164,.16),inset 0 1px 0 rgba(255,255,255,.9)!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under.is-copied,body.eshop-premium-page .eshop-code-clickable.is-copied{background:linear-gradient(135deg,#dcfce7,#ccfbf1)!important;color:#166534!important;border-color:#86efac!important;}
body.eshop-premium-page .eshop-copy-code-btn{display:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note-wrap,body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-pending-note{min-height:96px!important;height:96px!important;}
body.eshop-premium-page.miruta-operational-fullscreen-mode .eshop-sheet-main .eshop-sheet-table,.miruta-operational-fullscreen-mode body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{width:100%!important;min-width:1320px!important;}
body.eshop-premium-page .eshop-kits-sheet{grid-column:1/-1;padding:12px;border:1px solid rgba(14,165,164,.24);border-radius:18px;background:linear-gradient(135deg,#f0fdfa,#eff6ff);box-shadow:0 14px 30px rgba(15,118,110,.09);}
body.eshop-premium-page .eshop-kits-sheet[hidden]{display:none!important;}
body.eshop-premium-page .eshop-kits-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;}
body.eshop-premium-page .eshop-kits-head strong{color:#0f766e;font-size:1rem;}
body.eshop-premium-page .eshop-kits-head small{display:block;color:#64748b;font-weight:800;}
body.eshop-premium-page .eshop-kit-selector{display:grid;grid-template-columns:minmax(260px,1fr) 120px auto;gap:8px;align-items:end;}
body.eshop-premium-page .eshop-kit-list{display:grid;gap:8px;margin-top:10px;}
body.eshop-premium-page .eshop-kit-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:8px;align-items:center;padding:9px;border:1px solid rgba(14,165,164,.18);border-radius:16px;background:#fff;}
body.eshop-premium-page .eshop-kit-row strong{display:block;color:#0f172a;}
body.eshop-premium-page .eshop-kit-row small{display:block;color:#64748b;line-height:1.25;}
body.eshop-premium-page .eshop-products-sheet.is-hidden-by-kit{display:none!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:0!important;table-layout:auto!important;}body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table input.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table select.input,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table textarea.input,body.eshop-premium-page .eshop-sheet-main .eshop-code-stack,body.eshop-premium-page .eshop-sheet-main td[data-label="Ciudad"] .eshop-code-under{width:100%!important;max-width:100%!important;}body.eshop-premium-page .eshop-kit-selector,body.eshop-premium-page .eshop-kit-row{grid-template-columns:1fr!important;}body.eshop-premium-page .eshop-kits-head{display:block!important;}}




/* Inventario campañas kits premium 2026-05-30 */
.vd-inventory-full .vd-campaign-kit-form{display:grid!important;gap:14px!important;}
.vd-inventory-full .vd-kit-builder{margin:12px 0!important;padding:14px!important;border:1px solid rgba(14,165,164,.22)!important;border-radius:22px!important;background:radial-gradient(circle at 0 0,rgba(34,211,238,.15),transparent 34%),linear-gradient(135deg,#f0fdfa,#f8fafc)!important;box-shadow:0 14px 32px rgba(15,118,110,.10)!important;}
.vd-inventory-full .vd-kit-rows{display:grid!important;gap:8px!important;margin:10px 0!important;}
.vd-inventory-full .vd-kit-product-row{display:grid!important;grid-template-columns:minmax(260px,1fr) 130px auto!important;gap:8px!important;align-items:end!important;}
.vd-inventory-full .vd-kit-product-row .input{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
.vd-inventory-full .vd-campaign-excel-table.vd-keep-wide td{vertical-align:top!important;}
@media(max-width:820px){.vd-inventory-full .vd-kit-product-row{grid-template-columns:1fr!important}.vd-inventory-full .vd-kit-product-row .btn{width:100%!important}}


/* E-Shop despacho 2026-05-30: cola recogida, edición compacta y formulario responsive 100% */
body.eshop-premium-page .eshop-dispatch-panel{overflow:visible!important;}
body.eshop-premium-page .eshop-dispatch-card-v2{border-radius:28px!important;background:linear-gradient(135deg,#ffffff 0%,#f8feff 100%)!important;border:1px solid rgba(14,165,164,.24)!important;box-shadow:0 18px 44px rgba(15,23,42,.10)!important;overflow:hidden!important;}
body.eshop-premium-page .eshop-dispatch-card-v2 summary{display:grid!important;grid-template-columns:auto auto minmax(220px,1fr) minmax(170px,auto) auto!important;gap:12px!important;align-items:center!important;padding:14px 16px!important;background:linear-gradient(135deg,#f0fdfa 0%,#f8fafc 55%,#fff7ed 100%)!important;cursor:pointer!important;}
body.eshop-premium-page .eshop-dispatch-card-v2 summary:before{display:none!important;content:none!important;}
body.eshop-premium-page .eshop-dispatch-toggle{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:999px!important;background:linear-gradient(135deg,#0f766e,#06b6d4)!important;box-shadow:0 12px 24px rgba(14,165,164,.24)!important;color:#ffffff!important;}
body.eshop-premium-page .eshop-dispatch-toggle:before{content:"▸"!important;font-weight:950!important;font-size:.85rem!important;}
body.eshop-premium-page .eshop-dispatch-card-v2[open] .eshop-dispatch-toggle:before{content:"▾"!important;}
body.eshop-premium-page .eshop-dispatch-client{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.eshop-premium-page .eshop-dispatch-client strong{color:#0f172a!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.eshop-premium-page .eshop-dispatch-client small{color:#64748b!important;font-weight:850!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.eshop-premium-page .eshop-dispatch-summary-code{min-width:0!important;}
body.eshop-premium-page .eshop-dispatch-body{padding:14px!important;background:linear-gradient(135deg,#ffffff,#f8fafc)!important;}
body.eshop-premium-page .eshop-dispatch-meta-top{margin-bottom:10px!important;}
body.eshop-premium-page .eshop-dispatch-meta span{font-size:.82rem!important;padding:7px 10px!important;}
body.eshop-premium-page .eshop-dispatch-section{border:1px solid rgba(14,165,164,.16)!important;border-radius:22px!important;background:linear-gradient(135deg,#ffffff,#f8fafc)!important;padding:12px!important;box-shadow:0 12px 26px rgba(15,23,42,.06)!important;margin-top:10px!important;}
body.eshop-premium-page .eshop-dispatch-section h3{margin:0 0 10px!important;color:#0f766e!important;font-size:1rem!important;letter-spacing:-.02em!important;}
body.eshop-premium-page .eshop-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;}
body.eshop-premium-page .eshop-section-head h3{margin:0!important;}
body.eshop-premium-page .eshop-dispatch-edit-form{display:block!important;margin-top:10px!important;}
body.eshop-premium-page .eshop-dispatch-grid-compact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:end!important;}
body.eshop-premium-page .eshop-dispatch-grid-compact .span-2{grid-column:span 2!important;}
body.eshop-premium-page .eshop-dispatch-edit-form label{display:flex!important;flex-direction:column!important;gap:5px!important;color:#0f172a!important;font-weight:900!important;font-size:.78rem!important;}
body.eshop-premium-page .eshop-dispatch-edit-form input,body.eshop-premium-page .eshop-dispatch-edit-form select,body.eshop-premium-page .eshop-dispatch-edit-form textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid rgba(14,165,164,.22)!important;border-radius:15px!important;background:#fff!important;padding:10px 11px!important;color:#0f172a!important;font-size:.9rem!important;outline:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;}
body.eshop-premium-page .eshop-dispatch-edit-form textarea{min-height:72px!important;resize:vertical!important;}
body.eshop-premium-page .eshop-dispatch-edit-form input[type="file"]{padding:8px!important;background:#f8fafc!important;}
body.eshop-premium-page .eshop-dispatch-edit-form small{color:#64748b!important;font-weight:800!important;}
body.eshop-premium-page .eshop-dispatch-products{display:grid!important;gap:8px!important;}
body.eshop-premium-page .eshop-dispatch-product-row{display:grid!important;grid-template-columns:minmax(240px,1fr) 92px minmax(130px,auto) auto!important;gap:8px!important;align-items:center!important;padding:9px!important;border-radius:18px!important;background:#ecfeff!important;border:1px solid rgba(14,165,164,.18)!important;}
body.eshop-premium-page .eshop-product-stock-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;border-radius:999px!important;background:#fff!important;border:1px solid rgba(14,165,164,.18)!important;color:#0f766e!important;font-weight:950!important;font-size:.75rem!important;padding:6px 10px!important;white-space:nowrap!important;}
body.eshop-premium-page .eshop-dispatch-actions-row{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;flex-wrap:wrap!important;margin-top:12px!important;padding:12px!important;border-radius:22px!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;border:1px solid rgba(14,165,164,.16)!important;}
body.eshop-premium-page .eshop-wa-btn{background:linear-gradient(135deg,#dcfce7,#ccfbf1)!important;color:#166534!important;border:1px solid #86efac!important;}
body.eshop-premium-page .eshop-inline-code.eshop-code-clickable{max-width:100%!important;white-space:normal!important;word-break:break-word!important;}
@media(min-width:1500px){body.eshop-premium-page .eshop-dispatch-grid-compact{grid-template-columns:repeat(6,minmax(0,1fr))!important;}body.eshop-premium-page .eshop-dispatch-grid-compact .span-2{grid-column:span 2!important;}body.eshop-premium-page .eshop-dispatch-product-row{grid-template-columns:minmax(360px,1fr) 100px 190px auto!important;}}
@media(max-width:1080px){body.eshop-premium-page .eshop-dispatch-card-v2 summary{grid-template-columns:auto minmax(0,1fr) auto!important;}body.eshop-premium-page .eshop-dispatch-card-v2 summary .eshop-badge,body.eshop-premium-page .eshop-dispatch-summary-code{display:none!important;}body.eshop-premium-page .eshop-dispatch-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}body.eshop-premium-page .eshop-dispatch-product-row{grid-template-columns:minmax(180px,1fr) 86px auto!important;}body.eshop-premium-page .eshop-product-stock-chip{grid-column:1/-1!important;justify-content:flex-start!important;}}
@media(max-width:720px){body.eshop-premium-page .eshop-dispatch-card-v2 summary{grid-template-columns:auto minmax(0,1fr)!important;}body.eshop-premium-page .eshop-dispatch-card-v2 summary .status{grid-column:1/-1!important;width:max-content!important;}body.eshop-premium-page .eshop-dispatch-grid-compact,body.eshop-premium-page .eshop-dispatch-product-row{grid-template-columns:1fr!important;}body.eshop-premium-page .eshop-dispatch-grid-compact .span-2{grid-column:auto!important;}body.eshop-premium-page .eshop-dispatch-actions-row{justify-content:stretch!important;}body.eshop-premium-page .eshop-dispatch-actions-row .btn{width:100%!important;justify-content:center!important;}}


/* E-Shop / postventa integrada y estado Inventario 2026-06-01 */
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{width:100%!important;min-width:1440px!important;table-layout:fixed!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(1),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(1){width:7%!important;min-width:106px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(2),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(2){width:13%!important;min-width:165px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(3),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(3){width:21%!important;min-width:255px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(4),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(4){width:13%!important;min-width:180px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(5),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(5){width:11%!important;min-width:152px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(6),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(6){width:14%!important;min-width:190px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(7),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(7){width:8%!important;min-width:118px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(8),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(8){width:8%!important;min-width:128px!important;max-width:none!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th:nth-child(9),body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td:nth-child(9){width:5%!important;min-width:124px!important;max-width:none!important;}
body.eshop-premium-page .eshop-col-inventory{min-width:128px!important;}
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table input.input,
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table select.input,
body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table textarea.input{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
body.eshop-premium-page .eshop-sheet-main td[data-label="Estado"] .eshop-status,
body.eshop-premium-page .eshop-sheet-main td[data-label="Inventario"] .eshop-status{white-space:normal!important;line-height:1.1!important;text-align:center!important;justify-content:center!important;min-width:0!important;width:100%!important;}
body.eshop-premium-page.miruta-operational-fullscreen-mode .eshop-sheet-main .eshop-sheet-table,
.miruta-operational-fullscreen-mode body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:1480px!important;width:100%!important;}
body.eshop-premium-page .eshop-dispatch-state-actions label textarea{width:100%!important;min-height:44px!important;}
@media(max-width:820px){body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table{min-width:0!important;table-layout:auto!important;}body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table th,body.eshop-premium-page .eshop-sheet-main .eshop-sheet-table td{width:100%!important;min-width:0!important;max-width:100%!important;}body.eshop-premium-page .eshop-sheet-main td[data-label="Estado"] .eshop-status,body.eshop-premium-page .eshop-sheet-main td[data-label="Inventario"] .eshop-status{width:auto!important;}}



/* E-Shop / estados separados, filtros rápidos y devolución controlada 2026-06-01 */
body.eshop-premium-page .eshop-inventory-quickfilters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-4px 0 12px;padding:10px;border:1px solid rgba(14,165,164,.18);border-radius:18px;background:linear-gradient(135deg,#f8fafc,#ecfeff);box-shadow:0 10px 22px rgba(15,23,42,.05)}
body.eshop-premium-page .eshop-inventory-quickfilters .eshop-status{text-decoration:none;border:1px solid rgba(15,23,42,.08)}
body.eshop-premium-page .eshop-inventory-quickfilters .eshop-status.is-active{outline:2px solid rgba(14,165,164,.35);box-shadow:0 8px 18px rgba(14,165,164,.14)}
body.eshop-premium-page .eshop-dispatch-return-actions{margin-top:12px;padding:12px;border:1px solid rgba(239,68,68,.22);border-radius:18px;background:linear-gradient(135deg,#fff7ed,#fef2f2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.eshop-premium-page .eshop-dispatch-return-actions label{flex:1 1 260px;font-weight:900;color:#334155}
body.eshop-premium-page .eshop-dispatch-return-actions textarea{width:100%;min-height:42px;border-radius:14px;border:1px solid rgba(239,68,68,.22);padding:8px}
@media(max-width:820px){body.eshop-premium-page .eshop-inventory-quickfilters,body.eshop-premium-page .eshop-dispatch-return-actions{display:grid;grid-template-columns:1fr}}

/* 2026-06-02: Nómina asesoras premium parametrizable */
.nomina-asesoras-page details.card.panel {
  border-radius: 28px;
  border: 1px solid rgba(14,165,164,.18);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,254,255,.9));
  box-shadow: 0 18px 44px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.85);
}
.nomina-asesoras-page details.card.panel > summary::-webkit-details-marker { display:none; }
.nomina-asesoras-page .compact-filter-form .input,
.nomina-asesoras-page textarea.input,
.nomina-asesoras-page select.input { width:100%; }
.nomina-asesoras-page .table-wrap { border-radius: 22px; }
.nomina-asesoras-page .stat-card { min-height: 118px; }
@media (max-width: 900px) {
  .nomina-asesoras-page .compact-filter-form,
  .nomina-asesoras-page .grid[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .nomina-asesoras-page details.card.panel { border-radius: 22px; }
  .nomina-asesoras-page details.card.panel > summary { align-items:flex-start !important; }
}

/* 2026-06-02: Nómina asesoras / tarjetas desplegables y sueldo individual */
.nomina-asesoras-page .nomina-bulk-toggle-actions .btn{min-height:38px;}
.nomina-asesoras-page .nomina-asesora-toggle-card{overflow:hidden;transition:box-shadow .18s ease, transform .18s ease;}
.nomina-asesoras-page .nomina-asesora-toggle-card:hover{transform:translateY(-1px);box-shadow:0 24px 56px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.9);}
.nomina-asesoras-page .nomina-asesora-summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 4px;}
.nomina-asesoras-page .nomina-asesora-summary::-webkit-details-marker{display:none;}
.nomina-asesoras-page .nomina-summary-person{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:260px;flex:1 1 420px;}
.nomina-asesoras-page .nomina-summary-name{font-size:1.08rem;color:#0f172a;font-weight:950;letter-spacing:-.02em;}
.nomina-asesoras-page .nomina-summary-person small{flex-basis:100%;display:block;color:var(--muted);margin-top:2px;font-weight:750;}
.nomina-asesoras-page .nomina-summary-total{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:0 1 auto;}
.nomina-asesoras-page .nomina-summary-total strong{font-size:1.25rem;color:#0f766e;font-weight:950;white-space:nowrap;}
.nomina-asesoras-page .nomina-toggle-label{pointer-events:none;white-space:nowrap;min-width:132px;justify-content:center;}
.vd-param-page td .status + small{display:block;margin-top:4px;}
.vd-param-page #modelos-asesora + .alert strong{color:#075985;}
@media(max-width:720px){.nomina-asesoras-page .nomina-asesora-summary{display:grid;grid-template-columns:1fr;}.nomina-asesoras-page .nomina-summary-person{min-width:0;}.nomina-asesoras-page .nomina-summary-total{justify-content:stretch;display:grid;grid-template-columns:1fr;}.nomina-asesoras-page .nomina-summary-total strong{text-align:left;}.nomina-asesoras-page .nomina-toggle-label{width:100%;}}

/* Nómina asesoras 2026-06-02: Sueldo + Bono Manual y devengado visible en dashboard asesora */
.asesora-dashboard-page .asesora-nomina-live-card{
  background:linear-gradient(135deg,rgba(15,118,110,.96),rgba(13,148,136,.88))!important;
  color:#ecfeff!important;
  border:1px solid rgba(153,246,228,.45)!important;
  box-shadow:0 22px 52px rgba(15,118,110,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.asesora-dashboard-page .asesora-nomina-live-card span,
.asesora-dashboard-page .asesora-nomina-live-card small{color:rgba(236,254,255,.86)!important;}
.asesora-dashboard-page .asesora-nomina-live-card strong{color:#ffffff!important;}
.nomina-asesoras-page .status.info + .status.info{background:linear-gradient(135deg,#fef3c7,#fffbeb)!important;color:#92400e!important;border-color:rgba(245,158,11,.38)!important;}
.nomina-asesoras-page .alert.alert-info strong{font-weight:950;}

/* Nómina general premium 2026-06-02 */
.nomina-general-page .nomina-general-main,
.nomina-general-main{display:flex;flex-direction:column;gap:16px;}
.nomina-general-hero{background:radial-gradient(circle at 6% 0%,rgba(20,184,166,.18),transparent 34%),linear-gradient(145deg,#ffffff,#f8fbff 55%,#ecfeff)!important;border:1px solid rgba(14,165,233,.18)!important;border-radius:30px!important;box-shadow:0 24px 54px rgba(15,23,42,.10)!important;}
.nomina-general-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;}
.nomina-general-config{border-radius:28px!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;}
.nomina-general-person-card{border-radius:28px!important;overflow:hidden!important;background:linear-gradient(145deg,#ffffff,#f8fbff)!important;border:1px solid rgba(14,165,233,.18)!important;box-shadow:0 18px 42px rgba(15,23,42,.08)!important;}
.nomina-general-person-card[open]{box-shadow:0 24px 60px rgba(15,118,110,.13)!important;border-color:rgba(20,184,166,.34)!important;}
.nomina-general-person-summary{list-style:none!important;cursor:pointer!important;display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;padding:16px!important;background:linear-gradient(135deg,#fff,#f8fafc)!important;}
.nomina-general-person-summary::-webkit-details-marker{display:none!important;}
.nomina-general-person-title strong{display:block!important;color:#0f172a!important;font-size:18px!important;font-weight:950!important;letter-spacing:-.03em!important;}
.nomina-general-person-title small{display:block!important;margin-top:4px!important;color:#64748b!important;font-weight:800!important;}
.nomina-general-person-total{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.nomina-general-person-total span{display:inline-flex!important;border-radius:999px!important;padding:9px 13px!important;background:linear-gradient(135deg,#ccfbf1,#ecfeff)!important;color:#0f766e!important;font-weight:950!important;box-shadow:0 10px 22px rgba(20,184,166,.12)!important;}
.nomina-general-person-total em{font-style:normal!important;border-radius:999px!important;padding:8px 12px!important;color:#ffffff!important;background:linear-gradient(135deg,#0f172a,#0e7490)!important;font-size:12px!important;font-weight:950!important;}
.nomina-general-person-body{display:grid!important;gap:14px!important;padding:0 16px 16px!important;}
.nomina-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.nomina-detail-box{border-radius:22px!important;background:#fff!important;border:1px solid rgba(148,163,184,.22)!important;padding:14px!important;box-shadow:0 12px 26px rgba(15,23,42,.055)!important;}
.nomina-detail-box h4,.nomina-mini-form h4{margin:0 0 10px!important;color:#0f172a!important;font-weight:950!important;}
.nomina-detail-box .line{display:flex!important;justify-content:space-between!important;gap:10px!important;padding:7px 0!important;border-bottom:1px dashed rgba(148,163,184,.24)!important;color:#334155!important;}
.nomina-detail-box .line:last-child{border-bottom:0!important;}
.nomina-detail-box .line strong{color:#0f172a!important;}
.nomina-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
.nomina-mini-form{display:grid!important;gap:8px!important;padding:14px!important;border-radius:22px!important;border:1px solid rgba(14,165,233,.18)!important;background:linear-gradient(135deg,#f8fafc,#ffffff)!important;}
.admin-nomina-dashboard-card{margin-top:14px!important;padding:14px!important;border-radius:24px!important;background:radial-gradient(circle at 6% 0%,rgba(20,184,166,.20),transparent 32%),linear-gradient(135deg,#0f172a,#0e7490 62%,#14b8a6)!important;color:#ffffff!important;display:grid!important;grid-template-columns:minmax(240px,.85fr) 1.6fr!important;gap:14px!important;box-shadow:0 24px 54px rgba(15,23,42,.18)!important;}
.admin-nomina-main span,.admin-nomina-groups article span{display:block!important;color:rgba(236,254,255,.82)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;}
.admin-nomina-main strong{display:block!important;color:#ffffff!important;font-size:clamp(26px,3vw,42px)!important;letter-spacing:-.06em!important;margin:5px 0!important;}
.admin-nomina-main small{color:rgba(236,254,255,.84)!important;font-weight:800!important;}
.admin-nomina-groups{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;}
.admin-nomina-groups article{border-radius:18px!important;border:1px solid rgba(255,255,255,.20)!important;background:rgba(255,255,255,.12)!important;padding:12px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;}
.admin-nomina-groups article strong{display:block!important;color:#ffffff!important;font-size:20px!important;margin-top:5px!important;}
.admin-nomina-groups article small{color:rgba(236,254,255,.82)!important;font-weight:750!important;}
.nomina-user-dashboard-card{border:1px solid rgba(20,184,166,.25)!important;border-radius:26px!important;background:linear-gradient(135deg,#0f172a,#0e7490 58%,#14b8a6)!important;color:#ffffff!important;box-shadow:0 22px 46px rgba(15,23,42,.18)!important;overflow:hidden!important;margin:0 0 16px!important;}
.nomina-user-dashboard-card summary{list-style:none!important;cursor:pointer!important;display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;padding:16px 18px!important;}
.nomina-user-dashboard-card summary::-webkit-details-marker{display:none!important;}
.nomina-user-dashboard-card span{display:block!important;color:rgba(236,254,255,.82)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;}
.nomina-user-dashboard-card strong{display:block!important;color:#ffffff!important;font-size:28px!important;letter-spacing:-.05em!important;margin-top:5px!important;}
.nomina-user-dashboard-card small{display:block!important;color:rgba(236,254,255,.86)!important;margin-top:4px!important;font-weight:750!important;}
.nomina-user-dashboard-card em{font-style:normal!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.24)!important;padding:8px 12px!important;color:#ffffff!important;font-weight:950!important;}
.nomina-user-dashboard-detail{display:flex!important;flex-wrap:wrap!important;gap:10px!important;padding:0 18px 16px!important;}
.nomina-user-dashboard-detail span{display:inline-flex!important;gap:6px!important;align-items:center!important;text-transform:none!important;letter-spacing:0!important;border-radius:999px!important;padding:8px 10px!important;background:rgba(255,255,255,.13)!important;}
.nomina-user-dashboard-detail p{width:100%!important;margin:0!important;color:rgba(236,254,255,.86)!important;font-weight:800!important;}
@media(max-width:960px){.admin-nomina-dashboard-card,.nomina-detail-grid,.nomina-actions-grid{grid-template-columns:1fr!important}.admin-nomina-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nomina-general-config .compact-filter-form{grid-template-columns:1fr!important}.nomina-general-person-summary{align-items:flex-start!important;flex-direction:column!important}.nomina-general-person-total{justify-content:flex-start!important}.nomina-user-dashboard-card summary{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:620px){.admin-nomina-groups{grid-template-columns:1fr!important}.nomina-person-breakdown{grid-template-columns:1fr!important}.nomina-general-main{gap:12px!important}.nomina-general-person-body{padding:0 12px 12px!important}}

/* MiRuta 2026-06-02: Dashboard Admin / Nómina quincenal en tarjetas premium reales. */
body.admin-smart-dashboard-page .admin-smart-hero-head-clean{justify-content:flex-end!important;align-items:flex-start!important;gap:14px!important;}
body.admin-smart-dashboard-page .admin-smart-actions-clean{margin-left:auto!important;}
body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{margin:18px 0 0!important;padding:18px!important;border-radius:30px!important;background:radial-gradient(circle at 8% -12%,rgba(45,212,191,.35),transparent 34%),radial-gradient(circle at 94% 0%,rgba(14,165,233,.22),transparent 35%),linear-gradient(135deg,#071827 0%,#0f2d36 48%,#065f68 100%)!important;color:#ffffff!important;display:grid!important;grid-template-columns:minmax(280px,.82fr) minmax(0,1.55fr)!important;gap:16px!important;box-shadow:0 26px 60px rgba(15,23,42,.24),inset 0 1px 0 rgba(255,255,255,.16)!important;border:1px solid rgba(125,211,252,.22)!important;overflow:hidden!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card{position:relative!important;padding:18px!important;border-radius:24px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:12px!important;min-height:168px!important;}
body.admin-smart-dashboard-page .admin-nomina-eyebrow,body.admin-smart-dashboard-page .admin-nomina-mini-card span{display:block!important;color:rgba(236,254,255,.82)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.10em!important;font-weight:950!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card strong{display:block!important;color:#ffffff!important;font-size:clamp(30px,3.8vw,50px)!important;line-height:.96!important;letter-spacing:-.07em!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card small{display:block!important;color:rgba(236,254,255,.86)!important;font-weight:800!important;line-height:1.35!important;}
body.admin-smart-dashboard-page .admin-nomina-metrics-wrap{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
body.admin-smart-dashboard-page .admin-nomina-groups.admin-nomina-metrics-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card{position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.19)!important;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.08))!important;padding:15px!important;min-height:118px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 28px rgba(15,23,42,.12)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:8px!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card strong{display:block!important;color:#ffffff!important;font-size:clamp(22px,2.2vw,32px)!important;line-height:1!important;letter-spacing:-.05em!important;white-space:normal!important;overflow-wrap:anywhere!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card small{display:inline-flex!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;padding:6px 10px!important;background:rgba(255,255,255,.15)!important;color:rgba(236,254,255,.9)!important;font-weight:900!important;line-height:1.1!important;}
body.admin-smart-dashboard-page .admin-nomina-dashboard-link{width:100%!important;justify-content:center!important;min-height:42px!important;}
@media(max-width:1100px){body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{grid-template-columns:1fr!important}body.admin-smart-dashboard-page .admin-nomina-groups.admin-nomina-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{padding:14px!important;border-radius:24px!important}body.admin-smart-dashboard-page .admin-nomina-groups.admin-nomina-metrics-grid{grid-template-columns:1fr!important}body.admin-smart-dashboard-page .admin-nomina-main-card{min-height:unset!important}body.admin-smart-dashboard-page .admin-nomina-main-card strong{font-size:34px!important}body.admin-smart-dashboard-page .admin-nomina-mini-card{min-height:98px!important}body.admin-smart-dashboard-page .admin-smart-hero-head-clean{align-items:stretch!important}body.admin-smart-dashboard-page .admin-smart-actions-clean,body.admin-smart-dashboard-page .admin-smart-filter{width:100%!important}}

/* MiRuta 2026-06-02: Nómina general / administrador por porcentaje y tarjetas compactas premium. */
.nomina-general-config-premium{padding:16px!important;}
.nomina-general-config-grid{display:grid!important;grid-template-columns:minmax(220px,1.35fr) minmax(130px,.75fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(115px,.55fr) minmax(120px,.65fr) minmax(130px,.65fr) minmax(160px,1fr) auto!important;gap:10px!important;align-items:end!important;}
.nomina-config-help{margin:10px 0 0!important;color:#64748b!important;font-weight:800!important;font-size:12px!important;}
.nomina-switch-mini{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid rgba(148,163,184,.22)!important;padding:8px 10px!important;color:#334155!important;font-weight:900!important;font-size:12px!important;}
.nomina-switch-mini input{accent-color:#0ea5a4!important;}
.nomina-person-premium-compact{border-radius:22px!important;margin-bottom:10px!important;}
.nomina-person-premium-compact .nomina-general-person-summary{padding:12px 14px!important;min-height:74px!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 58%,#ecfeff 100%)!important;}
.nomina-person-premium-compact[open] .nomina-general-person-summary{border-bottom:1px solid rgba(14,165,233,.12)!important;}
.nomina-person-premium-compact .nomina-general-person-title strong{font-size:16px!important;line-height:1.05!important;}
.nomina-person-capsules,.nomina-pill-row,.nomina-info-capsules,.nomina-route-capsules{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important;}
.nomina-person-capsules span,.nomina-pill-row>span,.nomina-info-capsules span,.nomina-route-capsules span{display:inline-flex!important;align-items:center!important;gap:6px!important;border-radius:999px!important;border:1px solid rgba(14,165,233,.15)!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;color:#0f172a!important;padding:7px 10px!important;box-shadow:0 8px 18px rgba(15,23,42,.045)!important;font-size:12px!important;font-weight:900!important;}
.nomina-person-capsules span.is-paid{background:linear-gradient(135deg,#dcfce7,#ccfbf1)!important;color:#166534!important;border-color:rgba(34,197,94,.25)!important;}
.nomina-person-capsules span.is-draft{background:linear-gradient(135deg,#fef9c3,#fff7ed)!important;color:#92400e!important;border-color:rgba(245,158,11,.26)!important;}
.nomina-pill-row>span{flex:1 1 130px!important;justify-content:space-between!important;border-radius:18px!important;padding:9px 11px!important;}
.nomina-pill-row small,.nomina-info-capsules small,.nomina-route-capsules small{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:10px!important;font-weight:950!important;}
.nomina-pill-row strong,.nomina-info-capsules strong,.nomina-route-capsules strong{color:#0f172a!important;font-weight:950!important;}
.nomina-pill-row>span.is-total{background:linear-gradient(135deg,#0f766e,#0e7490)!important;color:#ffffff!important;border-color:transparent!important;}
.nomina-pill-row>span.is-total small,.nomina-pill-row>span.is-total strong{color:#ffffff!important;}
.nomina-detail-grid-compact{grid-template-columns:1.05fr .95fr!important;gap:10px!important;}
.nomina-detail-box-premium{padding:12px!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;}
.nomina-info-capsules span,.nomina-route-capsules span{border-radius:16px!important;align-items:flex-start!important;flex-direction:column!important;gap:3px!important;min-width:145px!important;}
.nomina-adjust-list{display:grid!important;gap:8px!important;}
.nomina-adjust-row-premium{display:grid!important;grid-template-columns:minmax(100px,.7fr) minmax(90px,.55fr) minmax(100px,.6fr) minmax(130px,.7fr) minmax(160px,1fr) auto!important;gap:7px!important;align-items:end!important;padding:9px!important;border-radius:18px!important;background:#f8fafc!important;border:1px solid rgba(148,163,184,.18)!important;}
.nomina-delete-inline{display:flex!important;justify-content:flex-end!important;margin-top:6px!important;}
.nomina-actions-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.nomina-mini-form-premium{padding:12px!important;border-radius:20px!important;}
.nomina-mini-grid{display:grid!important;grid-template-columns:1fr .8fr .9fr!important;gap:8px!important;}
.nomina-config-person-box{margin-top:-2px!important;}
.nomina-config-person-form{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr)) auto!important;gap:8px!important;align-items:end!important;}
.nomina-config-person-form label{font-size:11px!important;font-weight:950!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.nomina-config-person-form .input{margin-top:4px!important;}
body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{width:min(100%,820px)!important;max-width:820px!important;margin-top:14px!important;padding:14px!important;border-radius:24px!important;grid-template-columns:minmax(220px,.82fr) minmax(0,1.3fr)!important;gap:12px!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card{padding:14px!important;border-radius:20px!important;min-height:128px!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card strong{font-size:clamp(26px,3vw,38px)!important;}
body.admin-smart-dashboard-page .admin-nomina-groups.admin-nomina-metrics-grid{gap:9px!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card{border-radius:18px!important;padding:11px!important;min-height:88px!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card strong{font-size:clamp(18px,1.8vw,24px)!important;}
@media(max-width:1180px){.nomina-general-config-grid,.nomina-config-person-form,.nomina-adjust-row-premium{grid-template-columns:1fr 1fr!important}.nomina-general-config-grid .btn,.nomina-config-person-form .btn{grid-column:1/-1!important}.nomina-detail-grid-compact,.nomina-actions-grid-compact{grid-template-columns:1fr!important}}
@media(max-width:720px){.nomina-general-config-grid,.nomina-config-person-form,.nomina-adjust-row-premium,.nomina-mini-grid{grid-template-columns:1fr!important}.nomina-pill-row>span{flex:1 1 100%!important}body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{width:100%!important;max-width:100%!important}}


/* Nómina general 2026-06-02: detalle premium compacto y botones funcionales */
body.nomina-general-page .nomina-general-person-card{border:1px solid rgba(14,165,164,.16)!important;border-radius:22px!important;background:linear-gradient(135deg,#fff 0%,#f8fafc 62%,#ecfeff 100%)!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important;overflow:hidden!important;margin-bottom:12px!important;}
body.nomina-general-page .nomina-general-person-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 14px!important;cursor:pointer!important;list-style:none!important;}
body.nomina-general-page .nomina-general-person-summary::-webkit-details-marker{display:none!important;}
body.nomina-general-page .nomina-general-person-body{padding:12px 14px 14px!important;background:rgba(248,250,252,.72)!important;border-top:1px solid rgba(14,165,164,.12)!important;}
body.nomina-general-page .nomina-person-capsules,body.nomina-general-page .nomina-pill-row,body.nomina-general-page .nomina-info-capsules,body.nomina-general-page .nomina-route-capsules{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important;}
body.nomina-general-page .nomina-person-capsules span{display:inline-flex!important;align-items:center!important;border-radius:999px!important;background:#ecfeff!important;border:1px solid rgba(14,165,164,.22)!important;color:#0f766e!important;padding:5px 9px!important;font-size:11px!important;font-weight:900!important;line-height:1!important;}
body.nomina-general-page .nomina-person-capsules span.is-paid{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important;}body.nomina-general-page .nomina-person-capsules span.is-draft{background:#fef9c3!important;color:#854d0e!important;border-color:#fde68a!important;}
body.nomina-general-page .nomina-pill-row{display:grid!important;grid-template-columns:repeat(5,minmax(112px,1fr))!important;margin-bottom:10px!important;}
body.nomina-general-page .nomina-pill-row>span{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border-radius:17px!important;background:#fff!important;border:1px solid rgba(148,163,184,.18)!important;padding:8px 10px!important;box-shadow:0 8px 20px rgba(15,23,42,.045)!important;min-height:44px!important;}
body.nomina-general-page .nomina-pill-row>span.is-total{background:linear-gradient(135deg,#0f766e,#0e7490)!important;color:#ffffff!important;border-color:transparent!important;}
body.nomina-general-page .nomina-pill-row small,body.nomina-general-page .nomina-info-capsules small,body.nomina-general-page .nomina-route-capsules small{display:block!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-size:10px!important;font-weight:950!important;line-height:1.1!important;}
body.nomina-general-page .nomina-pill-row strong,body.nomina-general-page .nomina-info-capsules strong,body.nomina-general-page .nomina-route-capsules strong{display:block!important;color:#0f172a!important;font-size:13px!important;font-weight:950!important;line-height:1.15!important;}
body.nomina-general-page .nomina-pill-row .is-total small,body.nomina-general-page .nomina-pill-row .is-total strong{color:#ffffff!important;}
body.nomina-general-page .nomina-detail-grid-compact{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;gap:10px!important;align-items:start!important;}
body.nomina-general-page .nomina-detail-box-premium{border-radius:20px!important;background:#fff!important;border:1px solid rgba(148,163,184,.16)!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;padding:12px!important;}
body.nomina-general-page .nomina-info-capsules{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;}
body.nomina-general-page .nomina-info-capsules span,body.nomina-general-page .nomina-route-capsules span{display:flex!important;flex-direction:column!important;gap:3px!important;border-radius:15px!important;background:linear-gradient(135deg,#f8fafc,#ecfeff)!important;border:1px solid rgba(14,165,164,.14)!important;padding:8px 9px!important;box-shadow:0 7px 16px rgba(15,23,42,.04)!important;}
body.nomina-general-page .nomina-adjust-row-premium{display:grid!important;grid-template-columns:minmax(105px,.8fr) 86px minmax(95px,.7fr) 128px minmax(160px,1fr) auto!important;gap:7px!important;align-items:end!important;padding:9px!important;border-radius:17px!important;background:#f8fafc!important;border:1px solid rgba(148,163,184,.18)!important;}
body.nomina-general-page .nomina-config-person-form{display:grid!important;grid-template-columns:repeat(6,minmax(110px,1fr)) auto!important;gap:8px!important;align-items:end!important;}
body.nomina-general-page .nomina-delete-inline{margin-top:4px!important;display:flex!important;justify-content:flex-end!important;}
@media(max-width:1180px){body.nomina-general-page .nomina-pill-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.nomina-general-page .nomina-detail-grid-compact{grid-template-columns:1fr!important}body.nomina-general-page .nomina-config-person-form,body.nomina-general-page .nomina-adjust-row-premium{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){body.nomina-general-page .nomina-general-person-summary{align-items:flex-start!important;flex-direction:column!important}body.nomina-general-page .nomina-pill-row,body.nomina-general-page .nomina-config-person-form,body.nomina-general-page .nomina-adjust-row-premium{grid-template-columns:1fr!important}}

/* 2026-06-02: Dashboard Admin / Nómina quincenal como tarjetas compactas claras */
body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{
  width:100%!important;max-width:100%!important;margin:12px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#0f172a!important;display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr))!important;gap:10px!important;box-shadow:none!important;overflow:visible!important;
}
body.admin-smart-dashboard-page .admin-nomina-main-card,
body.admin-smart-dashboard-page .admin-nomina-mini-card{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:20px!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 56%,#ecfeff 100%)!important;padding:13px!important;min-height:96px!important;box-shadow:0 12px 28px rgba(15,23,42,.055)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:8px!important;
}
body.admin-smart-dashboard-page .admin-nomina-main-card::before,
body.admin-smart-dashboard-page .admin-nomina-mini-card::before{content:""!important;position:absolute!important;inset:0 auto 0 0!important;width:5px!important;background:#0ea5e9!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card::before{background:#0f766e!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card:nth-child(1)::before{background:#14b8a6!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card:nth-child(2)::before{background:#0284c7!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card:nth-child(3)::before{background:#10b981!important;}
body.admin-smart-dashboard-page .admin-nomina-eyebrow,
body.admin-smart-dashboard-page .admin-nomina-mini-card span{display:block!important;color:#64748b!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:950!important;line-height:1.15!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card strong,
body.admin-smart-dashboard-page .admin-nomina-mini-card strong{display:block!important;color:#0f172a!important;font-size:clamp(22px,2vw,30px)!important;line-height:1!important;letter-spacing:-.05em!important;font-variant-numeric:tabular-nums!important;margin-top:4px!important;overflow-wrap:anywhere!important;}
body.admin-smart-dashboard-page .admin-nomina-main-card small{display:block!important;color:#475569!important;font-size:11px!important;font-weight:850!important;line-height:1.25!important;margin-top:4px!important;}
body.admin-smart-dashboard-page .admin-nomina-mini-card small{display:inline-flex!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;padding:5px 9px!important;background:#e0f2fe!important;color:#075985!important;font-size:11px!important;font-weight:950!important;line-height:1.1!important;}
body.admin-smart-dashboard-page .admin-nomina-metrics-wrap{display:contents!important;}
body.admin-smart-dashboard-page .admin-nomina-metrics-grid{display:contents!important;}
body.admin-smart-dashboard-page .admin-nomina-dashboard-link{width:auto!important;align-self:flex-start!important;min-height:30px!important;padding:7px 12px!important;font-size:12px!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;}
@media(max-width:1180px){body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){body.admin-smart-dashboard-page .admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium{grid-template-columns:1fr!important}body.admin-smart-dashboard-page .admin-nomina-main-card,body.admin-smart-dashboard-page .admin-nomina-mini-card{min-height:88px!important}body.admin-smart-dashboard-page .admin-nomina-main-card strong,body.admin-smart-dashboard-page .admin-nomina-mini-card strong{font-size:28px!important}}

/* Nómina general: configuraciones activas visibles */
body.nomina-general-page .nomina-config-list-premium{margin-top:12px!important;border:1px solid rgba(14,165,164,.16)!important;background:linear-gradient(135deg,#ffffff,#f8fafc 62%,#ecfeff)!important;border-radius:18px!important;padding:12px!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;}
body.nomina-general-page .nomina-config-list-premium h4{margin:0 0 8px!important;color:#0f172a!important;font-size:13px!important;font-weight:950!important;letter-spacing:.02em!important;}
body.nomina-general-page .nomina-config-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important;}
body.nomina-general-page .nomina-config-chips span{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:190px!important;max-width:100%!important;border-radius:16px!important;border:1px solid rgba(14,165,164,.18)!important;background:#fff!important;padding:8px 10px!important;box-shadow:0 8px 18px rgba(15,23,42,.045)!important;}
body.nomina-general-page .nomina-config-chips small{font-size:10px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#64748b!important;line-height:1.15!important;}
body.nomina-general-page .nomina-config-chips strong{font-size:12px!important;font-weight:950!important;color:#0f766e!important;line-height:1.15!important;}
@media(max-width:720px){body.nomina-general-page .nomina-config-chips span{width:100%!important;min-width:0!important;}}


/* MiRuta 2026-06-02: Nómina general configuraciones activas premium compactas */
body.nomina-general-page .nomina-config-help{display:none!important;}
body.nomina-general-page .nomina-config-list-premium{margin-top:12px!important;border:1px solid rgba(14,165,164,.16)!important;background:linear-gradient(135deg,#ffffff,#f8fafc 62%,#ecfeff)!important;border-radius:18px!important;padding:12px!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;}
body.nomina-general-page .nomina-config-list-premium h4{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 10px!important;color:#0f172a!important;font-size:13px!important;font-weight:950!important;letter-spacing:.02em!important;}
body.nomina-general-page .nomina-config-list-premium h4::before{content:''!important;width:9px!important;height:9px!important;border-radius:999px!important;background:#0f766e!important;box-shadow:0 0 0 5px rgba(14,165,164,.12)!important;}
body.nomina-general-page .nomina-active-config-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;gap:10px!important;align-items:stretch!important;}
body.nomina-general-page .nomina-active-config-card{display:flex!important;flex-direction:column!important;gap:9px!important;border-radius:18px!important;border:1px solid rgba(14,165,164,.16)!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 68%,#ecfeff 100%)!important;padding:10px 11px!important;box-shadow:0 10px 22px rgba(15,23,42,.055)!important;min-width:0!important;}
body.nomina-general-page .nomina-active-config-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-width:0!important;}
body.nomina-general-page .nomina-active-config-head strong{font-size:13px!important;font-weight:950!important;color:#0f172a!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.nomina-general-page .nomina-active-config-head span{flex:0 0 auto!important;border-radius:999px!important;background:#e0f2fe!important;color:#075985!important;border:1px solid rgba(14,116,144,.18)!important;padding:4px 8px!important;font-size:10px!important;font-weight:950!important;line-height:1!important;}
body.nomina-general-page .nomina-active-config-values{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
body.nomina-general-page .nomina-active-config-pill{display:flex!important;flex-direction:column!important;gap:3px!important;border-radius:15px!important;padding:8px 9px!important;border:1px solid rgba(148,163,184,.16)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;min-width:0!important;}
body.nomina-general-page .nomina-active-config-pill small{font-size:9px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:#64748b!important;line-height:1!important;}
body.nomina-general-page .nomina-active-config-pill strong{font-size:12px!important;font-weight:950!important;color:#0f172a!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.nomina-general-page .nomina-active-config-pill.is-fixed{background:linear-gradient(135deg,#ecfeff,#ffffff)!important;border-color:rgba(14,165,164,.2)!important;}
body.nomina-general-page .nomina-active-config-pill.is-percent{background:linear-gradient(135deg,#fef3c7,#ffffff)!important;border-color:rgba(245,158,11,.24)!important;}
body.nomina-general-page .nomina-active-config-pill.is-percent strong{color:#92400e!important;}
body.nomina-general-page .nomina-active-config-pill.is-fixed strong{color:#0f766e!important;}
body.nomina-general-page .nomina-active-config-pill.is-muted{background:#f8fafc!important;color:#64748b!important;}
@media(max-width:720px){body.nomina-general-page .nomina-active-config-grid{grid-template-columns:1fr!important;}body.nomina-general-page .nomina-active-config-head{align-items:flex-start!important;flex-direction:column!important;}body.nomina-general-page .nomina-active-config-values{grid-template-columns:1fr!important;}}
body.nomina-general-page .nomina-config-chips span.nomina-active-config-pill{display:flex!important;flex-direction:column!important;gap:3px!important;border-radius:15px!important;padding:8px 9px!important;border:1px solid rgba(148,163,184,.16)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;min-width:0!important;max-width:100%!important;}
body.nomina-general-page .nomina-config-chips .nomina-active-config-head span{display:inline-flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:none!important;border-radius:999px!important;background:#e0f2fe!important;color:#075985!important;border:1px solid rgba(14,116,144,.18)!important;padding:4px 8px!important;font-size:10px!important;font-weight:950!important;line-height:1!important;box-shadow:none!important;}


/* MiRuta 2026-06-08: frecuencia cardiaca y kits de recetario médico */
.recetario-kit-picker{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;border:1px solid rgba(20,184,166,.24);background:linear-gradient(135deg,#f8fafc,#ecfeff);border-radius:14px;padding:10px;margin-bottom:10px;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.recetario-kit-picker small{grid-column:1/-1;color:var(--muted);font-weight:700}
.med-param-kit-box{border:1px solid rgba(20,184,166,.22);border-radius:16px;padding:10px;background:linear-gradient(135deg,#f8fafc,#ecfeff)}
.med-kit-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,2fr) auto;gap:8px;align-items:center;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fff;padding:8px;box-shadow:0 8px 18px rgba(15,23,42,.06)}
.med-kit-items{display:flex;flex-wrap:wrap;gap:5px}
.medico-vital-fc-pill{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;border-color:transparent!important;color:#fff!important}
@media(max-width:760px){.recetario-kit-picker,.med-kit-card{grid-template-columns:1fr}.recetario-kit-picker .btn{width:100%}}

/* 2026-06-08: Ajustar consulta - soporte de transferencia y recetario médico visible para coordinación. */
.consulta-ajuste-proof-card {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(14, 165, 164, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(240,253,250,.96), rgba(248,250,252,.98));
  box-shadow: 0 12px 26px rgba(15, 23, 42, .06);
}
.consulta-ajuste-proof-label {
  display: block;
  margin-bottom: 8px;
  color: #0f766e;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.consulta-ajuste-proof-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.consulta-ajuste-proof-warning {
  margin-top: 10px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
}
.med-kit-products-alert {
  border-color: rgba(20,184,166,.32) !important;
  background: linear-gradient(135deg, #ecfeff, #f0fdf4) !important;
  color: #0f766e !important;
  font-weight: 800;
}
.producto-venta-row-recomendado td {
  background: linear-gradient(135deg, rgba(236,254,255,.78), rgba(240,253,250,.72));
}
.med-kit-product-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(14, 165, 164, .12);
  color: #0f766e;
  font-size: .68rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.med-kit-product-note,
.med-kit-stock-note {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: .76rem;
  line-height: 1.24;
}
.med-kit-product-note strong {
  color: #0f172a;
}
.med-kit-stock-note {
  color: #0f766e;
  font-weight: 800;
}
@media (max-width: 760px) {
  .consulta-ajuste-proof-actions { flex-direction: column; align-items: stretch; }
  .consulta-ajuste-proof-actions .vd-upload-premium-btn { width: 100%; justify-content: center; }
}

/* MiRuta Sync / pendientes offline premium 2026-06-08 */
.vd-offline-pending-modal{position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:16px;}
.vd-offline-pending-modal.is-open{display:flex;}
.vd-offline-pending-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.46);backdrop-filter:blur(5px);}
.vd-offline-pending-panel{position:relative;width:min(760px,100%);max-height:min(86vh,720px);overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid rgba(148,163,184,.28);border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.28);}
.vd-offline-pending-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(135deg,rgba(240,253,250,.95),rgba(239,246,255,.95));}
.vd-offline-pending-kicker{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:rgba(14,165,164,.12);color:#0f766e;font-size:.68rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;margin-bottom:7px;}
.vd-offline-pending-head h2{margin:0;font-size:1.18rem;line-height:1.1;color:#0f172a;}
.vd-offline-pending-head p{margin:5px 0 0;color:#64748b;font-size:.84rem;}
.vd-offline-pending-close{border:0;background:#fff;color:#0f172a;border-radius:999px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;box-shadow:0 8px 18px rgba(15,23,42,.12);cursor:pointer;}
.vd-offline-pending-body{overflow:auto;padding:12px 14px;display:grid;gap:10px;}
.vd-offline-pending-empty{border:1px dashed rgba(14,165,164,.28);border-radius:18px;padding:16px;background:#f8fafc;color:#64748b;display:grid;gap:3px;}
.vd-offline-pending-empty strong{color:#0f172a;}
.vd-offline-pending-item{border:1px solid rgba(148,163,184,.24);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(15,23,42,.07);padding:12px;display:grid;gap:9px;}
.vd-offline-pending-item-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;}
.vd-offline-pending-num{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5a4,#2563eb);color:#fff;font-size:.74rem;font-weight:950;box-shadow:0 8px 18px rgba(37,99,235,.20);}
.vd-offline-pending-item strong{display:block;color:#0f172a;font-size:.92rem;line-height:1.18;}
.vd-offline-pending-item small{display:block;color:#64748b;font-size:.74rem;margin-top:2px;overflow-wrap:anywhere;}
.vd-offline-pending-chips{display:flex;flex-wrap:wrap;gap:6px;}
.vd-offline-pending-chips span{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#f1f5f9;border:1px solid rgba(148,163,184,.24);padding:4px 8px;color:#334155;font-size:.72rem;font-weight:800;max-width:100%;overflow-wrap:anywhere;}
.vd-offline-pending-error{border:1px solid rgba(239,68,68,.20);background:#fef2f2;color:#991b1b;border-radius:14px;padding:8px 10px;font-size:.78rem;line-height:1.3;overflow-wrap:anywhere;}
.vd-offline-pending-wait{border:1px solid rgba(14,165,164,.18);background:#ecfeff;color:#0f766e;border-radius:14px;padding:8px 10px;font-size:.78rem;font-weight:800;}
.vd-offline-pending-row-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.vd-offline-mini-danger{border:0;border-radius:999px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;padding:7px 10px;font-size:.75rem;font-weight:950;cursor:pointer;box-shadow:0 8px 16px rgba(185,28,28,.18);}
.vd-offline-pending-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid rgba(148,163,184,.18);background:#fff;}
.vd-offline-btn{border:0;border-radius:999px;min-height:34px;padding:8px 12px;font-weight:950;font-size:.78rem;cursor:pointer;}
.vd-offline-btn-light{background:#f8fafc;color:#0f172a;border:1px solid rgba(148,163,184,.32);}
.vd-offline-btn-primary{background:linear-gradient(135deg,#0ea5a4,#2563eb);color:#fff;box-shadow:0 10px 20px rgba(37,99,235,.18);}
@media(max-width:640px){.vd-offline-pending-modal{padding:9px;align-items:flex-end}.vd-offline-pending-panel{max-height:90vh;border-radius:20px}.vd-offline-pending-head{padding:15px 14px 10px}.vd-offline-pending-body{padding:10px}.vd-offline-pending-actions{display:grid;grid-template-columns:1fr}.vd-offline-btn{width:100%;}.vd-offline-pending-row-actions{justify-content:stretch}.vd-offline-mini-danger{width:100%;justify-content:center}}


/* MiRuta 2026-06-08: sesión móvil resistente / reconexión segura Xiaomi. */
.vd-offline-topbar-pill.is-reconnecting .vd-offline-topbar-dot{animation:mirutaPulseReconnect 1s ease-in-out infinite;}
@keyframes mirutaPulseReconnect{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.28);opacity:.62}}
.vd-mobile-session-safe-note{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(239,246,255,.96);border:1px solid rgba(37,99,235,.16);color:#1d4ed8;padding:6px 9px;font-size:.72rem;font-weight:900;box-shadow:0 8px 18px rgba(37,99,235,.08)}

/* 2026-06-08: Dashboard Admin / restaurar tarjetas y aislar strip de nómina */
body.admin-smart-dashboard-page .admin-smart-hero section.admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium.admin-nomina-dashboard-strip{
  width:100%!important;max-width:100%!important;margin:12px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#0f172a!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;box-shadow:none!important;overflow:visible!important;align-items:stretch!important;
}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip>.admin-nomina-metrics-wrap,
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-metrics-grid{display:contents!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card,
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;min-width:0!important;width:100%!important;border-radius:20px!important;border:1px solid rgba(148,163,184,.22)!important;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 58%,#ecfeff 100%)!important;padding:13px 14px!important;min-height:112px!important;box-shadow:0 12px 28px rgba(15,23,42,.055)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:8px!important;
}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card::before,
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card::before{content:""!important;position:absolute!important;inset:0 auto 0 0!important;width:5px!important;background:#0ea5e9!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card::before{background:#0f766e!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card:nth-of-type(1)::before{background:#14b8a6!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card:nth-of-type(2)::before{background:#0284c7!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card:nth-of-type(3)::before{background:#10b981!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-eyebrow,
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card span{display:block!important;color:#64748b!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:950!important;line-height:1.15!important;white-space:normal!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card strong,
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card strong{display:block!important;color:#0f172a!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.03!important;letter-spacing:-.05em!important;font-variant-numeric:tabular-nums!important;margin-top:4px!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card small{display:block!important;color:#475569!important;font-size:11px!important;font-weight:850!important;line-height:1.25!important;margin-top:4px!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card small{display:inline-flex!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;padding:5px 9px!important;background:#e0f2fe!important;color:#075985!important;font-size:11px!important;font-weight:950!important;line-height:1.1!important;}
body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-dashboard-link{width:auto!important;align-self:flex-start!important;min-height:30px!important;padding:7px 12px!important;font-size:12px!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;}
@media(max-width:1180px){body.admin-smart-dashboard-page .admin-smart-hero section.admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium.admin-nomina-dashboard-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){body.admin-smart-dashboard-page .admin-smart-hero section.admin-nomina-dashboard-card.admin-nomina-dashboard-card-premium.admin-nomina-dashboard-strip{grid-template-columns:1fr!important}body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card,body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card{min-height:88px!important}body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-main-card strong,body.admin-smart-dashboard-page .admin-smart-hero .admin-nomina-dashboard-strip .admin-nomina-mini-card strong{font-size:28px!important}}

/* Inventario despacho · diagnóstico exacto Bodega 2026-06-09 */
.vd-invship .vd-stock-diagnostic{border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fbff);padding:12px;margin:12px 0;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.vd-invship .vd-stock-diagnostic h4{margin:0 0 8px;color:#0f172a;font-size:14px;font-weight:950}
.vd-invship .vd-stock-diagnostic p{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:800}
.vd-invship .vd-stock-grid{display:grid;gap:8px}
.vd-invship .vd-stock-row{display:grid;grid-template-columns:1.4fr repeat(4,minmax(74px,.55fr)) 1fr;gap:8px;align-items:center;border:1px solid #e5edf7;border-radius:14px;background:#fff;padding:8px}
.vd-invship .vd-stock-row small{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.vd-invship .vd-stock-row strong{display:block;color:#0f172a;font-size:12px;word-break:break-word}
.vd-invship .vd-stock-row.ok{border-color:#bbf7d0;background:#f0fdf4}
.vd-invship .vd-stock-row.bad{border-color:#fecaca;background:#fff7f7}
.vd-invship .vd-stock-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950;white-space:normal;text-align:center}
.vd-invship .vd-stock-row.ok .vd-stock-status{background:#dcfce7;color:#166534}
.vd-invship .vd-stock-row.bad .vd-stock-status{background:#fee2e2;color:#991b1b}
.vd-invship .vd-stock-errors{display:grid;gap:6px;margin-top:8px}
.vd-invship .vd-stock-error{border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:12px;padding:7px 9px;font-size:12px;font-weight:900}
@media(max-width:980px){.vd-invship .vd-stock-row{grid-template-columns:1fr 1fr}.vd-invship .vd-stock-row .vd-stock-status{grid-column:1/-1}}

/* Inventario / carga ruta manual: ajuste manual de despachos pendientes */
.vd-hidden-load-page #ajuste-despachos-manuales{border:1px solid rgba(14,165,164,.18);box-shadow:0 18px 42px rgba(15,23,42,.08);}
.vd-hidden-load-page .vd-manual-dispatch-table td{box-shadow:0 8px 18px rgba(15,23,42,.04);}
.vd-hidden-load-page .vd-manual-dispatch-table tr:hover td{background:linear-gradient(135deg,#ffffff,#f8fcff);}
.vd-hidden-load-page .vd-manual-dispatch-warning strong{font-weight:950;}

/* Inventario / Pacientes para despacho: toggle contraído por defecto 2026-06-09 */
.vd-invship .vd-excel-table .vd-detail-row:not(.is-open),
.vd-invship .vd-excel-table .vd-detail-row[hidden]{display:none!important;}
.vd-invship .vd-excel-table .vd-detail-row.is-open:not([hidden]){display:table-row!important;}
.vd-invship .vd-dispatch-toggle{min-width:150px;justify-content:center;}


/* Inventario carga ruta manual - error detallado premium 2026-06-09 */
.vd-hidden-load-page .vd-manual-error-card{border:1px solid #fecaca;background:linear-gradient(135deg,#fff1f2,#fff7ed 45%,#fff);border-radius:20px;padding:14px;margin:12px 0;box-shadow:0 18px 44px rgba(127,29,29,.10);color:#7f1d1d}.vd-hidden-load-page .vd-manual-error-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.vd-hidden-load-page .vd-manual-error-head h4{margin:0;font-size:16px;letter-spacing:-.02em;color:#7f1d1d}.vd-hidden-load-page .vd-manual-error-head p{margin:4px 0 0;color:#991b1b;font-size:13px;line-height:1.38}.vd-hidden-load-page .vd-manual-error-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.vd-hidden-load-page .vd-manual-error-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.vd-hidden-load-page .vd-manual-error-chip{border:1px solid rgba(252,165,165,.75);background:rgba(255,255,255,.82);border-radius:15px;padding:10px 12px}.vd-hidden-load-page .vd-manual-error-chip span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:#b45309}.vd-hidden-load-page .vd-manual-error-chip strong{display:block;margin-top:3px;color:#111827;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.vd-hidden-load-page .vd-manual-error-tips{margin:12px 0 0;padding:0;display:grid;gap:7px}.vd-hidden-load-page .vd-manual-error-tips li{list-style:none;background:#fff;border:1px solid #fed7aa;border-radius:12px;padding:8px 10px;color:#7c2d12;font-size:12px;line-height:1.35}.vd-hidden-load-page .vd-manual-diagnosis{margin-top:12px;display:grid;gap:8px}.vd-hidden-load-page .vd-manual-diagnosis-row{border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:10px;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.7fr) minmax(240px,1.4fr);gap:10px;align-items:center}.vd-hidden-load-page .vd-manual-diagnosis-row strong{display:block;color:#0f172a;font-size:13px}.vd-hidden-load-page .vd-manual-diagnosis-row small{display:block;color:#64748b;font-size:11px;line-height:1.3;margin-top:2px}.vd-hidden-load-page .vd-manual-status-ok{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important}.vd-hidden-load-page .vd-manual-status-warn{background:#fef3c7!important;border-color:#fcd34d!important;color:#92400e!important}.vd-hidden-load-page .vd-manual-status-bad{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important}@media(max-width:900px){.vd-hidden-load-page .vd-manual-error-grid,.vd-hidden-load-page .vd-manual-diagnosis-row{grid-template-columns:1fr}}

/* Inventario / carga ruta manual: scroll completo de productos y despacho manual robusto 2026-06-09 */
.vd-hidden-load-page .vd-hidden-product-scroll{max-height:min(72vh,760px)!important;overflow-y:auto!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:14px;border:1px solid #e5edf7;border-radius:18px;background:#fff;}
.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table{min-width:760px;}
.vd-hidden-load-page .vd-hidden-product-scroll::-webkit-scrollbar{height:10px;width:10px;}
.vd-hidden-load-page .vd-hidden-product-scroll::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#93c5fd,#14b8a6);border-radius:999px;}

/* Inventario / Pacientes para despacho: toggle definitivo, cerrado por defecto 2026-06-09 */
.vd-invship .vd-excel-table .vd-detail-row{display:none!important;}
.vd-invship .vd-excel-table .vd-detail-row:not(.is-open),
.vd-invship .vd-excel-table .vd-detail-row[hidden]{display:none!important;}
.vd-invship .vd-excel-table .vd-detail-row.is-open:not([hidden]){display:table-row!important;}
.vd-invship .vd-dispatch-toggle{min-width:150px;justify-content:center;}


/* Inventario / scroll productos y Pacientes despacho hard-fix 2026-06-09 v43 */
.vd-hidden-load-page .panel{overflow:visible!important;}
.vd-hidden-load-page .vd-hidden-product-scroll{display:block!important;position:relative!important;width:100%!important;height:min(56vh,520px)!important;min-height:320px!important;max-height:520px!important;overflow:auto!important;overflow-y:scroll!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important;padding-bottom:14px!important;border:1px solid #e5edf7!important;border-radius:18px!important;background:#fff!important;}
.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table{min-width:960px!important;width:100%!important;table-layout:auto!important;}
.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table th,.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table td{white-space:nowrap!important;}
.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table th:first-child,.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table td:first-child{min-width:270px!important;white-space:normal!important;}
.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table th{position:sticky!important;top:0!important;z-index:4!important;}
.vd-hidden-load-page .vd-hidden-product-scroll::-webkit-scrollbar{height:12px!important;width:12px!important;}
.vd-hidden-load-page .vd-hidden-product-scroll::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#93c5fd,#14b8a6)!important;border-radius:999px!important;border:2px solid #fff!important;}
@media(max-width:760px){.vd-hidden-load-page .vd-hidden-product-scroll{height:min(58vh,460px)!important;min-height:280px!important;max-height:460px!important}.vd-hidden-load-page .vd-hidden-product-scroll .vd-hidden-product-table{min-width:920px!important}}
.vd-invship table.vd-excel-table tr.vd-detail-row{display:none!important;visibility:collapse!important;height:0!important;max-height:0!important;overflow:hidden!important;}
.vd-invship table.vd-excel-table tr.vd-detail-row:not(.is-open),.vd-invship table.vd-excel-table tr.vd-detail-row[hidden],.vd-invship table.vd-excel-table tr.vd-detail-row[data-force-closed="1"]{display:none!important;visibility:collapse!important;height:0!important;max-height:0!important;overflow:hidden!important;}
.vd-invship table.vd-excel-table tr.vd-detail-row.is-open:not([hidden]){display:table-row!important;visibility:visible!important;height:auto!important;max-height:none!important;overflow:visible!important;}


/* ============================================================
   MiRuta responsive móvil HARD-FIX v45 - Asesoras, Postventa y E-Shop
   Solo aplica en celulares/tablets angostas. No cambia escritorio.
   ============================================================ */
@media (max-width: 820px) {
  body.role-asesora,
  body.eshop-premium-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.role-asesora .app,
  body.eshop-premium-page .app,
  body.role-asesora .main,
  body.role-asesora main.main,
  body.role-asesora .main.asesora-compact-page,
  .main.asesora-compact-page,
  body.eshop-premium-page .main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.role-asesora .main,
  body.role-asesora main.main,
  .main.asesora-compact-page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.role-asesora .topbar,
  .main.asesora-compact-page .topbar {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.role-asesora .panel,
  body.role-asesora .card,
  body.role-asesora .compact-form-panel,
  .main.asesora-compact-page .panel,
  .main.asesora-compact-page .card,
  .main.asesora-compact-page .compact-form-panel,
  body.role-asesora .vd-pv-hero,
  body.role-asesora .vd-pv-card,
  body.role-asesora .vd-pv-list-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-radius: 18px !important;
  }

  body.role-asesora .panel-header,
  body.role-asesora .card-header,
  body.role-asesora .action-row,
  body.role-asesora .panel-actions,
  .main.asesora-compact-page .panel-header,
  .main.asesora-compact-page .card-header,
  .main.asesora-compact-page .action-row,
  .main.asesora-compact-page .panel-actions,
  body.role-asesora .vd-pv-hero-top,
  body.role-asesora .vd-pv-list-head,
  body.role-asesora .vd-pv-actions,
  body.role-asesora .vd-pv-submit,
  body.role-asesora .vd-pv-total {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  body.role-asesora .btn,
  body.role-asesora button,
  body.role-asesora a.btn,
  .main.asesora-compact-page .btn,
  .main.asesora-compact-page button,
  .main.asesora-compact-page a.btn,
  body.role-asesora .vd-pv-actions .btn,
  body.role-asesora .vd-pv-submit .btn {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
    overflow-wrap: anywhere !important;
  }

  body.role-asesora .panel-header .btn,
  body.role-asesora .card-header .btn,
  body.role-asesora .action-row .btn,
  body.role-asesora .panel-actions .btn,
  .main.asesora-compact-page .panel-header .btn,
  .main.asesora-compact-page .card-header .btn,
  .main.asesora-compact-page .action-row .btn,
  .main.asesora-compact-page .panel-actions .btn,
  body.role-asesora .vd-pv-actions .btn,
  body.role-asesora .vd-pv-submit .btn,
  body.role-asesora .vd-pv-action-stack .btn,
  body.role-asesora .vd-pv-action-stack summary.btn,
  body.role-asesora .vd-pv-action-stack button.btn {
    width: 100% !important;
  }

  body.role-asesora input,
  body.role-asesora select,
  body.role-asesora textarea,
  body.role-asesora .input,
  .main.asesora-compact-page input,
  .main.asesora-compact-page select,
  .main.asesora-compact-page textarea,
  .main.asesora-compact-page .input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }

  body.role-asesora .grid,
  body.role-asesora form.grid,
  body.role-asesora .stats-grid,
  body.role-asesora .compact-filter-form,
  body.role-asesora .preagenda-filter-form,
  body.role-asesora .phone-country-row,
  .main.asesora-compact-page .grid,
  .main.asesora-compact-page form.grid,
  .main.asesora-compact-page .stats-grid,
  .main.asesora-compact-page .compact-filter-form,
  .main.asesora-compact-page .preagenda-filter-form,
  .main.asesora-compact-page .phone-country-row,
  body.role-asesora .vd-pv-stats,
  body.role-asesora .vd-pv-sale-grid,
  body.role-asesora .vd-pv-mode,
  body.role-asesora .vd-pv-new-patient,
  body.role-asesora .vd-pv-new-grid,
  body.role-asesora .vd-pv-product-add,
  body.role-asesora .vd-pv-cart-row,
  body.role-asesora .vd-pv-pay-grid,
  body.role-asesora .vd-pv-follow-grid,
  body.role-asesora .vd-pv-delete-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.role-asesora .table-wrap,
  .main.asesora-compact-page .table-wrap,
  body.role-asesora .vd-pv-list-panel .table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table,
  body.role-asesora .vd-postventa-page .vd-pv-table thead,
  body.role-asesora .vd-postventa-page .vd-pv-table tbody,
  body.role-asesora .vd-postventa-page .vd-pv-table tr,
  body.role-asesora .vd-postventa-page .vd-pv-table th,
  body.role-asesora .vd-postventa-page .vd-pv-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table tbody {
    display: grid !important;
    gap: 10px !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table tbody tr {
    margin: 0 !important;
    padding: 11px !important;
    border: 1px solid rgba(191, 219, 254, .95) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07) !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table tbody td {
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table tbody td::before {
    content: attr(data-label) !important;
    display: block !important;
    margin-bottom: 4px !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-table tbody td[data-label=""]::before {
    content: none !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-products,
  body.role-asesora .vd-postventa-page .vd-pv-actions-cell {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.role-asesora .vd-postventa-page .vd-pv-action-stack,
  body.role-asesora .vd-postventa-page .vd-pv-follow-box,
  body.role-asesora .vd-postventa-page .vd-pv-pay-box,
  body.role-asesora .vd-postventa-page .vd-pv-delete-box {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 430px) {
  body.role-asesora .asesora-agenda-mini-stats,
  .main.asesora-compact-page .asesora-agenda-mini-stats,
  body.role-asesora .stats-grid,
  .main.asesora-compact-page .stats-grid,
  body.role-asesora .asesora-stats,
  .main.asesora-compact-page .asesora-stats {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   2026-06-09 - Coordinador/Inventario ruta móvil: Excel compacto con scroll
   ============================================================ */
@media (max-width: 820px) {
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel {
    overflow: visible !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail {
    overflow: visible !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail summary {
    padding: 8px !important;
    gap: 8px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-title strong {
    font-size: 13px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-title small {
    font-size: 10px !important;
    line-height: 1.15 !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 5px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics span {
    min-width: 58px !important;
    padding: 4px 6px !important;
    border-radius: 9px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics small {
    font-size: 9px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics strong {
    font-size: 13px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics .vd-details-toggle-btn {
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 11px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table {
    display: block !important;
    width: 100% !important;
    max-width: calc(100vw - 28px) !important;
    max-height: min(58vh, 430px) !important;
    overflow: auto !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-x pan-y !important;
    scrollbar-width: thin !important;
    border: 1px solid rgba(148,163,184,.38) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 10px 22px rgba(15,23,42,.06) !important;
    padding: 0 !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table::-webkit-scrollbar,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table::-webkit-scrollbar-thumb,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table::-webkit-scrollbar-thumb {
    background: rgba(37,99,235,.45) !important;
    border-radius: 999px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table::-webkit-scrollbar-track,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table::-webkit-scrollbar-track {
    background: rgba(226,232,240,.55) !important;
    border-radius: 999px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table {
    display: table !important;
    table-layout: fixed !important;
    width: 640px !important;
    min-width: 640px !important;
    max-width: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 11px !important;
    background: #ffffff !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table thead {
    display: table-header-group !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tbody {
    display: table-row-group !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tr {
    display: table-row !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 6px 7px !important;
    border-right: 1px solid rgba(226,232,240,.95) !important;
    border-bottom: 1px solid rgba(226,232,240,.95) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 11px !important;
    line-height: 1.18 !important;
    text-align: left !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    background: linear-gradient(180deg,#f8fafc,#eef2ff) !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    box-shadow: 0 1px 0 rgba(148,163,184,.35) !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(1),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(1) {
    width: 245px !important;
    min-width: 245px !important;
    max-width: 245px !important;
    white-space: normal !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(2),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(2) {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    text-align: center !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(3),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(3) {
    width: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(4),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(4) {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    text-align: center !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(5),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(5) {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    text-align: center !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:first-child strong {
    display: block !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    color: #0f172a !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:first-child small {
    display: block !important;
    margin-top: 2px !important;
    font-size: 9.5px !important;
    line-height: 1.1 !important;
    color: #64748b !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-cell strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg,#0f172a,#0e7490) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table .badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    padding: 3px 7px !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tr.vd-row-warn td {
    background: #fff7ed !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tr.vd-row-danger td {
    background: #fef2f2 !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td::before {
    content: none !important;
  }
}

@media (max-width: 430px) {
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table {
    max-width: calc(100vw - 20px) !important;
    max-height: 54vh !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table {
    width: 610px !important;
    min-width: 610px !important;
  }

  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(1),
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(1) {
    width: 225px !important;
    min-width: 225px !important;
    max-width: 225px !important;
  }
}


/* 20260609 v57 - Coordinador: inventario en móvil como Excel compacto con scroll real */
@media(max-width:820px){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail > summary > button.vd-details-toggle-btn{display:none!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics > .vd-details-toggle-btn{display:inline-flex!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{display:block!important;position:relative!important;width:100%!important;max-width:calc(100vw - 24px)!important;max-height:min(52vh,390px)!important;min-height:180px!important;overflow:auto!important;overflow-x:scroll!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;border:1px solid rgba(148,163,184,.45)!important;border-radius:14px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 18px rgba(15,23,42,.07)!important;padding:0!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table::-webkit-scrollbar{width:9px!important;height:9px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table::-webkit-scrollbar-thumb{background:rgba(37,99,235,.55)!important;border-radius:999px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table::-webkit-scrollbar-track{background:rgba(226,232,240,.7)!important;border-radius:999px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table{display:table!important;table-layout:fixed!important;width:680px!important;min-width:680px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;font-size:10.5px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table thead{display:table-header-group!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tbody{display:table-row-group!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table tr{display:table-row!important;width:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td{display:table-cell!important;width:auto!important;min-width:0!important;max-width:none!important;padding:5px 6px!important;border-right:1px solid rgba(226,232,240,.95)!important;border-bottom:1px solid rgba(226,232,240,.95)!important;background:#fff!important;color:#0f172a!important;font-size:10.5px!important;line-height:1.14!important;text-align:left!important;vertical-align:middle!important;white-space:nowrap!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th{position:sticky!important;top:0!important;z-index:9!important;background:linear-gradient(180deg,#f8fafc,#eaf2ff)!important;color:#334155!important;font-size:9.5px!important;font-weight:950!important;letter-spacing:.03em!important;text-transform:uppercase!important;box-shadow:0 1px 0 rgba(148,163,184,.4)!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(1),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(1){width:255px!important;min-width:255px!important;max-width:255px!important;white-space:normal!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(2),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(2){width:86px!important;min-width:86px!important;max-width:86px!important;text-align:center!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(3),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(3){width:126px!important;min-width:126px!important;max-width:126px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(4),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(4){width:72px!important;min-width:72px!important;max-width:72px!important;text-align:center!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(5),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(5){width:112px!important;min-width:112px!important;max-width:112px!important;text-align:center!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td::before{content:none!important;display:none!important;}
}
@media(max-width:430px){
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{max-width:calc(100vw - 18px)!important;max-height:50vh!important;min-height:170px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table{width:640px!important;min-width:640px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table th:nth-child(1),body.inventory-premium-page .main.vd-inventory-full .vd-route-detail-table .vd-route-stock-mobile-table td:nth-child(1){width:235px!important;min-width:235px!important;max-width:235px!important;}
}


/* 20260609 v58 - Coordinador: scroll vertical real en Galaxy/Samsung para inventario tipo Excel */
@media(max-width:820px){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail{overflow:visible!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail > summary > button.vd-details-toggle-btn{display:none!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics > .vd-details-toggle-btn{display:inline-flex!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{display:block!important;position:relative!important;width:100%!important;max-width:calc(100vw - 24px)!important;height:320px!important;max-height:42dvh!important;min-height:220px!important;overflow:scroll!important;overflow-x:scroll!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:none!important;scrollbar-gutter:stable both-edges!important;border:1px solid rgba(148,163,184,.45)!important;border-radius:14px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 18px rgba(15,23,42,.07)!important;padding:0!important;isolation:isolate!important;contain:paint!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table::after,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table::after{content:"Toca el cuadro y desliza ↔ / ↕";position:sticky!important;left:8px!important;bottom:6px!important;z-index:8!important;display:inline-flex!important;width:max-content!important;margin:6px!important;padding:4px 8px!important;border-radius:999px!important;background:rgba(15,23,42,.78)!important;color:#ffffff!important;font-size:10px!important;font-weight:900!important;pointer-events:none!important;}
}
@media(max-width:430px) and (orientation:portrait){
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{max-width:calc(100vw - 18px)!important;height:300px!important;max-height:40dvh!important;min-height:210px!important;}
}
@media(max-width:820px) and (orientation:landscape){
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{height:250px!important;max-height:58dvh!important;}
}


/* 20260609 v59 - Coordinador: inventario móvil responsive dentro de ventana + un solo botón premium */
@media(max-width:820px){
  body.inventory-premium-page,body.inventory-premium-page .main.vd-inventory-full{overflow-x:hidden!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-accordion-list,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail{border-radius:16px!important;overflow:hidden!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail>summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:9px!important;overflow:hidden!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-title,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-title strong,
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-title small{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:6px!important;align-items:stretch!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics span{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:5px 6px!important;box-sizing:border-box!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-stock-detail summary .vd-details-toggle-btn:not(.vd-route-main-toggle){display:none!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics>.vd-route-main-toggle{display:inline-flex!important;grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;justify-content:center!important;min-height:36px!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;border-radius:0 0 16px 16px!important;}
}
@media(max-width:430px) and (orientation:portrait){
  body.inventory-premium-page .main.vd-inventory-full .vd-route-summary-metrics,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-panel .vd-route-detail-table,
  body.inventory-premium-page .main.vd-inventory-full .vd-rutas-operativos-panel .vd-route-detail-table{height:min(310px,42dvh)!important;max-height:42dvh!important;}
}

/* 20260609-citas-ver-delete-venta-v61: acciones compactas para ventas del paciente */
.cita-venta-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 132px;
}
.cita-venta-actions .btn {
  width: 100%;
  justify-content: center;
  white-space: nowrap;
  padding: 7px 10px;
  font-size: .82rem;
}
.cita-venta-delete-form {
  display: block;
  margin: 0;
  width: 100%;
}
@media (max-width: 720px) {
  .citas-operacion-card .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cita-venta-actions {
    min-width: 118px;
  }
  .cita-venta-actions .btn {
    padding: 6px 8px;
    font-size: .78rem;
  }
}

/* Pre-agenda consultorio informativo para asesoras v62 */
.preagenda-premium-page .preagenda-consultorio-info{
  margin: 12px 0 14px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(20,184,166,.28);
  border-left: 6px solid #14b8a6;
  background: radial-gradient(circle at 12% 0%, rgba(20,184,166,.18), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.92));
  box-shadow: 0 18px 38px rgba(15,23,42,.08);
  overflow: hidden;
}
.preagenda-premium-page .preagenda-consultorio-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.preagenda-premium-page .preagenda-consultorio-head h3{
  margin:2px 0 0;
  font-size:1.02rem;
  font-weight:950;
  color:#0f172a;
}
.preagenda-premium-page .preagenda-consultorio-date{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(20,184,166,.25);
  background:#fff;
  color:#0f766e;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}
.preagenda-premium-page .preagenda-consultorio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:10px;
}
.preagenda-premium-page .preagenda-consultorio-card{
  display:grid;
  gap:8px;
  min-width:0;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(14,165,233,.18);
  background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));
  box-shadow:0 12px 26px rgba(15,23,42,.07);
}
.preagenda-premium-page .preagenda-consultorio-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(148,163,184,.18);
  padding-bottom:7px;
}
.preagenda-premium-page .preagenda-consultorio-card-top strong{
  min-width:0;
  color:#0f172a;
  font-size:.96rem;
  font-weight:950;
  line-height:1.15;
}
.preagenda-premium-page .preagenda-consultorio-card-top span{
  flex:0 0 auto;
  max-width:46%;
  color:#075985;
  background:rgba(14,165,233,.10);
  border:1px solid rgba(14,165,233,.16);
  border-radius:999px;
  padding:4px 8px;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.preagenda-premium-page .preagenda-consultorio-line{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:8px;
  align-items:start;
  font-size:.83rem;
  line-height:1.28;
}
.preagenda-premium-page .preagenda-consultorio-line b{
  color:#64748b;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.preagenda-premium-page .preagenda-consultorio-line span{
  color:#0f172a;
  font-weight:750;
  overflow-wrap:anywhere;
}
.preagenda-premium-page .preagenda-consultorio-map{
  justify-self:start;
  margin-top:2px;
}
.preagenda-premium-page .preagenda-consultorio-empty{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:16px;
  border:1px dashed rgba(245,158,11,.38);
  background:rgba(255,251,235,.78);
  color:#92400e;
}
.preagenda-premium-page .preagenda-consultorio-empty strong{font-weight:950;}
.preagenda-premium-page .preagenda-consultorio-empty span{font-size:.86rem;}
.preagenda-premium-page .preagenda-consultorio-mini{
  display:grid;
  gap:6px;
  min-width:0;
  padding:11px 12px;
  border-radius:18px;
  border:1px solid rgba(14,165,233,.20);
  background:linear-gradient(135deg,rgba(240,249,255,.95),rgba(255,255,255,.98));
  color:#0f172a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78), 0 10px 22px rgba(15,23,42,.06);
  font-size:.82rem;
  line-height:1.28;
}
.preagenda-premium-page .preagenda-consultorio-mini > strong,
.preagenda-premium-page .preagenda-consultorio-mini-title strong{
  font-size:.9rem;
  font-weight:950;
  color:#0f172a;
}
.preagenda-premium-page .preagenda-consultorio-mini-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.preagenda-premium-page .preagenda-consultorio-mini-title span{
  color:#0f766e;
  font-weight:900;
  font-size:.75rem;
  text-align:right;
}
.preagenda-premium-page .preagenda-consultorio-mini b{
  color:#334155;
  font-weight:950;
}
.preagenda-premium-page .preagenda-consultorio-mini.is-warning{
  border-color:rgba(245,158,11,.35);
  background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,255,255,.95));
  color:#92400e;
}
.preagenda-premium-page .preagenda-consultorio-mini.is-empty span,
.preagenda-premium-page .preagenda-consultorio-mini.is-warning span{color:#64748b;}
@media (max-width: 720px){
  .preagenda-premium-page .preagenda-consultorio-info{padding:11px;margin:10px 0 12px;border-radius:18px;}
  .preagenda-premium-page .preagenda-consultorio-head{display:grid;grid-template-columns:1fr;gap:8px;}
  .preagenda-premium-page .preagenda-consultorio-date{justify-self:start;}
  .preagenda-premium-page .preagenda-consultorio-grid{grid-template-columns:1fr;gap:8px;}
  .preagenda-premium-page .preagenda-consultorio-card{padding:10px;border-radius:16px;}
  .preagenda-premium-page .preagenda-consultorio-card-top{display:grid;grid-template-columns:1fr;}
  .preagenda-premium-page .preagenda-consultorio-card-top span{max-width:100%;justify-self:start;}
  .preagenda-premium-page .preagenda-consultorio-line{grid-template-columns:74px minmax(0,1fr);font-size:.78rem;}
  .preagenda-premium-page .preagenda-consultorio-mini-title{display:grid;grid-template-columns:1fr;gap:2px;}
  .preagenda-premium-page .preagenda-consultorio-mini-title span{text-align:left;}
}

/* 20260609-preagenda-consultorio-ruta-v63: consultorio premium + ruta semanal para asesoras */
.preagenda-premium-page .preagenda-premium-consultorio-v63,
.preagenda-premium-page .preagenda-ruta-semana-info{
  position:relative;
  margin:14px 0 16px;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(15,23,42,.08);
  background:
    radial-gradient(circle at 8% 0%, rgba(20,184,166,.24), transparent 30%),
    radial-gradient(circle at 98% 12%, rgba(59,130,246,.16), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.96));
  box-shadow:0 22px 46px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.85);
  overflow:hidden;
}
.preagenda-premium-page .preagenda-premium-consultorio-v63::before,
.preagenda-premium-page .preagenda-ruta-semana-info::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg,#14b8a6,#2563eb);
}
.preagenda-premium-page .preagenda-consultorio-head,
.preagenda-premium-page .preagenda-ruta-semana-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding-left:2px;
}
.preagenda-premium-page .preagenda-consultorio-title-wrap p,
.preagenda-premium-page .preagenda-ruta-semana-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.86rem;
  line-height:1.35;
  font-weight:650;
}
.preagenda-premium-page .preagenda-consultorio-head h3,
.preagenda-premium-page .preagenda-ruta-semana-head h3{
  margin:2px 0 0;
  color:#0f172a;
  font-size:1.08rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.025em;
}
.preagenda-premium-page .preagenda-consultorio-date,
.preagenda-premium-page .preagenda-ruta-semana-range{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(20,184,166,.28);
  background:rgba(255,255,255,.92);
  color:#0f766e;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  font-size:.78rem;
  font-weight:950;
  white-space:nowrap;
}
.preagenda-premium-page .preagenda-consultorio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
}
.preagenda-premium-page .preagenda-consultorio-card-premium{
  position:relative;
  display:grid;
  gap:12px;
  min-width:0;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(14,165,233,.16);
  background:linear-gradient(180deg,#ffffff,rgba(248,250,252,.96));
  box-shadow:0 16px 34px rgba(15,23,42,.09);
}
.preagenda-premium-page .preagenda-consultorio-card-premium .preagenda-consultorio-card-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:0 0 11px;
  border-bottom:1px solid rgba(148,163,184,.20);
}
.preagenda-premium-page .preagenda-consultorio-icon{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(20,184,166,.18),rgba(59,130,246,.14));
  border:1px solid rgba(20,184,166,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
  font-size:1.24rem;
}
.preagenda-premium-page .preagenda-consultorio-main{
  min-width:0;
  display:grid;
  gap:2px;
}
.preagenda-premium-page .preagenda-consultorio-kicker{
  color:#0f766e;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
}
.preagenda-premium-page .preagenda-consultorio-card-premium .preagenda-consultorio-main strong{
  min-width:0;
  color:#0f172a;
  font-size:1.02rem;
  line-height:1.16;
  font-weight:950;
  overflow-wrap:anywhere;
}
.preagenda-premium-page .preagenda-consultorio-route-chip{
  justify-self:end;
  max-width:150px;
  color:#075985;
  background:rgba(14,165,233,.10);
  border:1px solid rgba(14,165,233,.18);
  border-radius:999px;
  padding:5px 9px;
  font-size:.73rem;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.preagenda-premium-page .preagenda-consultorio-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.preagenda-premium-page .preagenda-consultorio-fact{
  min-width:0;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(248,250,252,.88);
}
.preagenda-premium-page .preagenda-consultorio-fact.is-address,
.preagenda-premium-page .preagenda-consultorio-fact.is-notes{
  grid-column:1/-1;
}
.preagenda-premium-page .preagenda-consultorio-fact b{
  display:block;
  margin-bottom:3px;
  color:#64748b;
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.preagenda-premium-page .preagenda-consultorio-fact span{
  display:block;
  color:#0f172a;
  font-size:.9rem;
  line-height:1.25;
  font-weight:850;
  overflow-wrap:anywhere;
}
.preagenda-premium-page .preagenda-consultorio-fact.is-time span{
  color:#047857;
  font-size:.98rem;
  font-weight:950;
}
.preagenda-premium-page .preagenda-consultorio-map{
  justify-self:start;
  border-color:rgba(20,184,166,.28)!important;
  background:#fff!important;
  color:#0f766e!important;
  font-weight:900!important;
}
.preagenda-premium-page .preagenda-consultorio-empty,
.preagenda-premium-page .preagenda-ruta-semana-empty{
  display:grid;
  gap:5px;
  padding:13px;
  border-radius:18px;
  border:1px dashed rgba(245,158,11,.40);
  background:rgba(255,251,235,.86);
  color:#92400e;
}
.preagenda-premium-page .preagenda-ruta-semana-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
}
.preagenda-premium-page .preagenda-ruta-day-card{
  display:grid;
  gap:9px;
  min-width:0;
  padding:11px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg,#fff,rgba(248,250,252,.94));
  box-shadow:0 12px 26px rgba(15,23,42,.07);
}
.preagenda-premium-page .preagenda-ruta-day-card.is-today{
  border-color:rgba(20,184,166,.36);
  box-shadow:0 14px 30px rgba(20,184,166,.13);
}
.preagenda-premium-page .preagenda-ruta-day-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(148,163,184,.17);
}
.preagenda-premium-page .preagenda-ruta-day-title strong{
  color:#0f172a;
  font-size:.88rem;
  line-height:1.2;
  font-weight:950;
}
.preagenda-premium-page .preagenda-ruta-day-title span{
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 7px;
  background:rgba(20,184,166,.10);
  color:#0f766e;
  font-size:.68rem;
  font-weight:950;
}
.preagenda-premium-page .preagenda-ruta-day-list{
  display:grid;
  gap:7px;
}
.preagenda-premium-page .preagenda-ruta-day-item{
  min-width:0;
  display:grid;
  gap:3px;
  padding:9px;
  border-radius:15px;
  background:rgba(240,249,255,.72);
  border:1px solid rgba(14,165,233,.12);
}
.preagenda-premium-page .preagenda-ruta-day-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.preagenda-premium-page .preagenda-ruta-day-item-top b{
  color:#075985;
  font-size:.75rem;
  font-weight:950;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.preagenda-premium-page .preagenda-ruta-day-item-top span{
  flex:0 0 auto;
  color:#047857;
  font-size:.72rem;
  font-weight:950;
}
.preagenda-premium-page .preagenda-ruta-day-item strong{
  color:#0f172a;
  font-size:.82rem;
  font-weight:950;
  line-height:1.2;
}
.preagenda-premium-page .preagenda-ruta-day-item small,
.preagenda-premium-page .preagenda-ruta-day-item em{
  color:#475569;
  font-size:.76rem;
  line-height:1.25;
  font-style:normal;
  overflow-wrap:anywhere;
}
.preagenda-premium-page .preagenda-consultorio-mini.has-data{
  border-color:rgba(20,184,166,.26);
  background:radial-gradient(circle at 0 0,rgba(20,184,166,.14),transparent 32%),linear-gradient(135deg,rgba(240,253,250,.98),rgba(255,255,255,.98));
}
.preagenda-premium-page .preagenda-consultorio-mini-fact{
  display:grid;
  grid-template-columns:95px minmax(0,1fr);
  gap:8px;
  padding:6px 8px;
  border-radius:12px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(148,163,184,.14);
}
.preagenda-premium-page .preagenda-consultorio-mini-fact b{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;}
.preagenda-premium-page .preagenda-consultorio-mini-fact span{color:#0f172a;font-weight:850;overflow-wrap:anywhere;}
@media (max-width:720px){
  .preagenda-premium-page .preagenda-premium-consultorio-v63,
  .preagenda-premium-page .preagenda-ruta-semana-info{padding:13px 11px 12px 15px;border-radius:20px;margin:11px 0 13px;}
  .preagenda-premium-page .preagenda-consultorio-head,
  .preagenda-premium-page .preagenda-ruta-semana-head{display:grid;grid-template-columns:1fr;gap:9px;}
  .preagenda-premium-page .preagenda-consultorio-date,
  .preagenda-premium-page .preagenda-ruta-semana-range{justify-self:start;white-space:normal;text-align:left;}
  .preagenda-premium-page .preagenda-consultorio-grid,
  .preagenda-premium-page .preagenda-ruta-semana-grid{grid-template-columns:1fr;gap:9px;}
  .preagenda-premium-page .preagenda-consultorio-card-premium{padding:11px;border-radius:18px;}
  .preagenda-premium-page .preagenda-consultorio-card-premium .preagenda-consultorio-card-top{grid-template-columns:auto minmax(0,1fr);}
  .preagenda-premium-page .preagenda-consultorio-route-chip{grid-column:1/-1;justify-self:start;max-width:100%;}
  .preagenda-premium-page .preagenda-consultorio-facts{grid-template-columns:1fr;gap:7px;}
  .preagenda-premium-page .preagenda-consultorio-fact{padding:9px;}
  .preagenda-premium-page .preagenda-consultorio-fact span{font-size:.84rem;}
  .preagenda-premium-page .preagenda-ruta-day-title{display:grid;grid-template-columns:1fr;}
  .preagenda-premium-page .preagenda-ruta-day-title span{justify-self:start;}
  .preagenda-premium-page .preagenda-ruta-day-item-top{display:grid;grid-template-columns:1fr;gap:2px;}
  .preagenda-premium-page .preagenda-ruta-day-item-top b{white-space:normal;}
  .preagenda-premium-page .preagenda-consultorio-mini-fact{grid-template-columns:1fr;gap:2px;}
}


/* 20260609-preagenda-consultorio-compact-v66: formato premium fuerte para consultorio y ruta semanal. */

/* 20260609-preagenda-consultorio-compact-v66: formato premium fuerte para consultorio y ruta semanal. */
main.preagenda-premium-page .preagenda-premium-consultorio-v64,
main.preagenda-premium-page .preagenda-ruta-semana-premium-v64 {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:14px 0 18px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
main.preagenda-premium-page .preagenda-info-shell {
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  border-radius:26px !important;
  border:1px solid rgba(14,165,233,.20) !important;
  background:radial-gradient(circle at 0% 0%, rgba(20,184,166,.22), transparent 31%), radial-gradient(circle at 100% 12%, rgba(37,99,235,.18), transparent 30%), linear-gradient(135deg, #ffffff 0%, #f8fbff 45%, #ecfeff 100%) !important;
  box-shadow:0 24px 55px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.95) !important;
  padding:17px !important;
}
main.preagenda-premium-page .preagenda-info-shell::before {
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:8px !important;
  background:linear-gradient(180deg, #14b8a6, #2563eb, #7c3aed) !important;
  z-index:0 !important;
}
main.preagenda-premium-page .preagenda-info-shell > * {position:relative !important;z-index:1 !important;}
main.preagenda-premium-page .preagenda-info-header {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 0 15px !important;
  padding-left:2px !important;
}
main.preagenda-premium-page .preagenda-info-title-block {min-width:0 !important;display:grid !important;gap:4px !important;}
main.preagenda-premium-page .preagenda-pill-label {
  justify-self:start !important;
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  color:#075985 !important;
  background:rgba(224,242,254,.95) !important;
  border:1px solid rgba(14,165,233,.20) !important;
  font-size:.68rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.075em !important;
}
main.preagenda-premium-page .preagenda-info-title-block h3 {
  margin:0 !important;
  color:#0f172a !important;
  font-size:1.16rem !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}
main.preagenda-premium-page .preagenda-info-title-block p {
  margin:0 !important;
  max-width:760px !important;
  color:#64748b !important;
  font-size:.88rem !important;
  line-height:1.38 !important;
  font-weight:700 !important;
}
main.preagenda-premium-page .preagenda-date-chip {
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  max-width:100% !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  color:#0f766e !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(20,184,166,.24) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.10) !important;
  font-size:.8rem !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
main.preagenda-premium-page .preagenda-consultorio-premium-grid {
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap:13px !important;
}
main.preagenda-premium-page .preagenda-consultorio-premium-card {
  display:grid !important;
  gap:13px !important;
  min-width:0 !important;
  padding:15px !important;
  border-radius:23px !important;
  border:1px solid rgba(14,165,233,.18) !important;
  background:linear-gradient(180deg, #ffffff 0%, rgba(248,250,252,.98) 100%) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
}
main.preagenda-premium-page .preagenda-consultorio-hero-row {
  display:grid !important;
  grid-template-columns:auto minmax(0, 1fr) auto !important;
  gap:11px !important;
  align-items:center !important;
  padding-bottom:12px !important;
  border-bottom:1px solid rgba(148,163,184,.20) !important;
}
main.preagenda-premium-page .preagenda-consultorio-icon-premium {
  width:46px !important;
  height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:18px !important;
  background:linear-gradient(135deg, rgba(20,184,166,.22), rgba(37,99,235,.16)) !important;
  border:1px solid rgba(20,184,166,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95) !important;
  font-size:1.35rem !important;
}
main.preagenda-premium-page .preagenda-consultorio-hero-copy {display:grid !important;gap:3px !important;min-width:0 !important;}
main.preagenda-premium-page .preagenda-consultorio-hero-copy span {
  color:#0f766e !important;
  font-size:.68rem !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
main.preagenda-premium-page .preagenda-consultorio-hero-copy strong {
  color:#0f172a !important;
  font-size:1.06rem !important;
  line-height:1.16 !important;
  font-weight:950 !important;
  overflow-wrap:anywhere !important;
}
main.preagenda-premium-page .preagenda-route-premium-chip,
main.preagenda-premium-page .preagenda-hour-premium-chip {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:29px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  font-size:.73rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
main.preagenda-premium-page .preagenda-route-premium-chip {
  color:#075985 !important;
  background:rgba(14,165,233,.11) !important;
  border:1px solid rgba(14,165,233,.20) !important;
}
main.preagenda-premium-page .preagenda-hour-premium-chip {
  color:#047857 !important;
  background:rgba(16,185,129,.12) !important;
  border:1px solid rgba(16,185,129,.22) !important;
}
main.preagenda-premium-page .preagenda-ficha-grid {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:9px !important;
  margin:0 !important;
}
main.preagenda-premium-page .preagenda-ficha-item {
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
  padding:11px !important;
  border-radius:17px !important;
  border:1px solid rgba(148,163,184,.17) !important;
  background:rgba(248,250,252,.92) !important;
}
main.preagenda-premium-page .preagenda-ficha-item.is-wide {grid-column:1 / -1 !important;}
main.preagenda-premium-page .preagenda-ficha-item dt {
  margin:0 !important;
  color:#64748b !important;
  font-size:.68rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}
main.preagenda-premium-page .preagenda-ficha-item dd {
  margin:0 !important;
  color:#0f172a !important;
  font-size:.9rem !important;
  line-height:1.28 !important;
  font-weight:850 !important;
  overflow-wrap:anywhere !important;
}
main.preagenda-premium-page .preagenda-ficha-item.is-time dd {color:#047857 !important;font-size:1rem !important;font-weight:950 !important;}
main.preagenda-premium-page .preagenda-location-premium-btn {
  justify-self:start !important;
  border-color:rgba(20,184,166,.30) !important;
  background:#ffffff !important;
  color:#0f766e !important;
  font-weight:950 !important;
}
main.preagenda-premium-page .preagenda-week-timeline {display:grid !important;gap:11px !important;}
main.preagenda-premium-page .preagenda-week-day-card {
  position:relative !important;
  display:grid !important;
  gap:10px !important;
  min-width:0 !important;
  padding:13px !important;
  border-radius:21px !important;
  border:1px solid rgba(148,163,184,.18) !important;
  background:linear-gradient(180deg,#ffffff,rgba(248,250,252,.96)) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.08) !important;
}
main.preagenda-premium-page .preagenda-week-day-card.is-today {border-color:rgba(20,184,166,.42) !important;box-shadow:0 16px 34px rgba(20,184,166,.15) !important;}
main.preagenda-premium-page .preagenda-week-day-head {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding-bottom:9px !important;
  border-bottom:1px solid rgba(148,163,184,.18) !important;
}
main.preagenda-premium-page .preagenda-week-day-head > div {display:flex !important;align-items:center !important;gap:8px !important;flex-wrap:wrap !important;}
main.preagenda-premium-page .preagenda-week-day-label {
  color:#0f172a !important;
  font-size:.9rem !important;
  line-height:1.15 !important;
  font-weight:950 !important;
}
main.preagenda-premium-page .preagenda-week-day-head strong {
  display:inline-flex !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  color:#0f766e !important;
  background:rgba(20,184,166,.11) !important;
  border:1px solid rgba(20,184,166,.18) !important;
  font-size:.68rem !important;
  font-weight:950 !important;
}
main.preagenda-premium-page .preagenda-week-session-list {display:grid !important;gap:8px !important;}
main.preagenda-premium-page .preagenda-week-session-card {
  display:grid !important;
  gap:8px !important;
  min-width:0 !important;
  padding:10px !important;
  border-radius:17px !important;
  background:rgba(240,249,255,.84) !important;
  border:1px solid rgba(14,165,233,.14) !important;
}
main.preagenda-premium-page .preagenda-week-session-top {display:flex !important;align-items:center !important;gap:7px !important;justify-content:space-between !important;flex-wrap:wrap !important;}
main.preagenda-premium-page .preagenda-week-location {display:grid !important;gap:3px !important;min-width:0 !important;}
main.preagenda-premium-page .preagenda-week-location strong {color:#0f172a !important;font-size:.88rem !important;font-weight:950 !important;line-height:1.18 !important;overflow-wrap:anywhere !important;}
main.preagenda-premium-page .preagenda-week-location span {color:#334155 !important;font-size:.8rem !important;font-weight:850 !important;line-height:1.22 !important;overflow-wrap:anywhere !important;}
main.preagenda-premium-page .preagenda-week-location small {color:#64748b !important;font-size:.76rem !important;font-weight:700 !important;line-height:1.25 !important;overflow-wrap:anywhere !important;}
main.preagenda-premium-page .preagenda-empty-premium {
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:10px !important;
  align-items:flex-start !important;
  padding:14px !important;
  border-radius:19px !important;
  border:1px dashed rgba(245,158,11,.42) !important;
  background:linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,255,255,.94)) !important;
  color:#92400e !important;
}
main.preagenda-premium-page .preagenda-empty-icon {width:34px !important;height:34px !important;border-radius:13px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;background:rgba(245,158,11,.12) !important;}
main.preagenda-premium-page .preagenda-empty-premium strong {display:block !important;font-weight:950 !important;color:#78350f !important;}
main.preagenda-premium-page .preagenda-empty-premium span {display:block !important;margin-top:3px !important;font-size:.84rem !important;line-height:1.3 !important;color:#92400e !important;font-weight:750 !important;}
main.preagenda-premium-page .preagenda-consultorio-mini.has-data {
  display:grid !important;
  gap:8px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,184,166,.24) !important;
  background:radial-gradient(circle at 0 0, rgba(20,184,166,.16), transparent 32%), linear-gradient(135deg, #f0fdfa, #ffffff) !important;
  box-shadow:0 12px 25px rgba(15,23,42,.08) !important;
}
main.preagenda-premium-page .preagenda-consultorio-mini-title {display:grid !important;gap:4px !important;}
main.preagenda-premium-page .preagenda-consultorio-mini-title strong {color:#0f172a !important;font-weight:950 !important;line-height:1.15 !important;}
main.preagenda-premium-page .preagenda-consultorio-mini-title span {justify-self:start !important;border-radius:999px !important;padding:4px 8px !important;background:rgba(14,165,233,.10) !important;color:#075985 !important;font-size:.72rem !important;font-weight:950 !important;}
main.preagenda-premium-page .preagenda-consultorio-mini-fact {display:grid !important;grid-template-columns:100px minmax(0,1fr) !important;gap:7px !important;padding:7px 9px !important;border-radius:13px !important;background:rgba(255,255,255,.76) !important;border:1px solid rgba(148,163,184,.15) !important;}
main.preagenda-premium-page .preagenda-consultorio-mini-fact b {color:#64748b !important;font-size:.67rem !important;text-transform:uppercase !important;letter-spacing:.045em !important;font-weight:950 !important;}
main.preagenda-premium-page .preagenda-consultorio-mini-fact span {color:#0f172a !important;font-size:.82rem !important;line-height:1.22 !important;font-weight:850 !important;overflow-wrap:anywhere !important;}
@media (max-width:720px) {
  main.preagenda-premium-page .preagenda-info-shell {border-radius:21px !important;padding:13px 11px 13px 16px !important;}
  main.preagenda-premium-page .preagenda-info-header {display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
  main.preagenda-premium-page .preagenda-date-chip {justify-self:start !important;white-space:normal !important;text-align:left !important;}
  main.preagenda-premium-page .preagenda-consultorio-premium-grid {grid-template-columns:1fr !important;gap:10px !important;}
  main.preagenda-premium-page .preagenda-consultorio-premium-card {border-radius:19px !important;padding:12px !important;}
  main.preagenda-premium-page .preagenda-consultorio-hero-row {grid-template-columns:auto minmax(0,1fr) !important;}
  main.preagenda-premium-page .preagenda-route-premium-chip {grid-column:1 / -1 !important;justify-self:start !important;}
  main.preagenda-premium-page .preagenda-ficha-grid {grid-template-columns:1fr !important;gap:7px !important;}
  main.preagenda-premium-page .preagenda-ficha-item {padding:9px !important;border-radius:15px !important;}
  main.preagenda-premium-page .preagenda-week-day-head > div {display:grid !important;grid-template-columns:1fr !important;gap:6px !important;}
  main.preagenda-premium-page .preagenda-week-session-top {display:grid !important;grid-template-columns:1fr !important;align-items:start !important;justify-content:start !important;}
  main.preagenda-premium-page .preagenda-hour-premium-chip,
  main.preagenda-premium-page .preagenda-route-premium-chip {justify-self:start !important;}
  main.preagenda-premium-page .preagenda-consultorio-mini-fact {grid-template-columns:1fr !important;gap:2px !important;}
}


/* 20260609-preagenda-consultorio-compact-v66: Ruta de la semana tipo Excel compacta, contraida por defecto. */
main.preagenda-premium-page .preagenda-week-excel-v65 {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:14px 0 18px !important;
  border:1px solid rgba(14,165,233,.20) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 45%,#ecfeff 100%) !important;
  box-shadow:0 22px 48px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.95) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
main.preagenda-premium-page .preagenda-week-excel-v65 > summary {
  list-style:none !important;
  cursor:pointer !important;
}
main.preagenda-premium-page .preagenda-week-excel-v65 > summary::-webkit-details-marker {display:none !important;}
main.preagenda-premium-page .preagenda-week-excel-summary {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:100% !important;
  padding:15px 16px 15px 21px !important;
  background:radial-gradient(circle at 0% 0%, rgba(20,184,166,.18), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,249,255,.92)) !important;
  border-left:8px solid #14b8a6 !important;
  box-sizing:border-box !important;
}
main.preagenda-premium-page .preagenda-week-excel-summary-copy {
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-week-excel-summary-copy strong {
  color:#0f172a !important;
  font-size:1.05rem !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
main.preagenda-premium-page .preagenda-week-excel-summary-copy small {
  color:#64748b !important;
  font-size:.82rem !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
main.preagenda-premium-page .preagenda-week-excel-summary-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-week-count-chip {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  color:#075985 !important;
  background:rgba(224,242,254,.96) !important;
  border:1px solid rgba(14,165,233,.22) !important;
  font-size:.76rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
main.preagenda-premium-page .preagenda-week-premium-toggle {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  color:#0f766e !important;
  border:1px solid rgba(20,184,166,.30) !important;
  background:#ffffff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.10) !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
main.preagenda-premium-page .preagenda-week-excel-v65:not([open]) .preagenda-week-premium-toggle .when-open {display:none !important;}
main.preagenda-premium-page .preagenda-week-excel-v65[open] .preagenda-week-premium-toggle .when-closed {display:none !important;}
main.preagenda-premium-page .preagenda-week-excel-panel {
  padding:12px !important;
  border-top:1px solid rgba(148,163,184,.16) !important;
  background:rgba(255,255,255,.82) !important;
}
main.preagenda-premium-page .preagenda-week-excel-scroll {
  width:100% !important;
  max-width:100% !important;
  max-height:360px !important;
  overflow-x:auto !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable both-edges !important;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:18px !important;
  background:#ffffff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.80) !important;
}
main.preagenda-premium-page .preagenda-week-excel-scroll::-webkit-scrollbar {height:10px !important;width:10px !important;}
main.preagenda-premium-page .preagenda-week-excel-scroll::-webkit-scrollbar-thumb {background:rgba(20,184,166,.45) !important;border-radius:999px !important;border:2px solid #fff !important;}
main.preagenda-premium-page .preagenda-week-excel-scroll::-webkit-scrollbar-track {background:rgba(226,232,240,.75) !important;border-radius:999px !important;}
main.preagenda-premium-page .preagenda-week-excel-table {
  width:100% !important;
  min-width:880px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  table-layout:fixed !important;
  margin:0 !important;
  background:#ffffff !important;
}
main.preagenda-premium-page .preagenda-week-excel-table th,
main.preagenda-premium-page .preagenda-week-excel-table td {
  padding:8px 9px !important;
  border-right:1px solid rgba(226,232,240,.92) !important;
  border-bottom:1px solid rgba(226,232,240,.92) !important;
  text-align:left !important;
  vertical-align:middle !important;
  color:#0f172a !important;
  font-size:.78rem !important;
  line-height:1.18 !important;
  overflow-wrap:anywhere !important;
}
main.preagenda-premium-page .preagenda-week-excel-table th {
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  background:linear-gradient(180deg,#eff6ff,#e0f2fe) !important;
  color:#075985 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  font-size:.67rem !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
main.preagenda-premium-page .preagenda-week-excel-table tr:nth-child(even) td {background:rgba(248,250,252,.72) !important;}
main.preagenda-premium-page .preagenda-week-excel-table tr.is-today td {background:rgba(240,253,250,.94) !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(1),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(1) {width:210px !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(2),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(2) {width:120px !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(3),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(3) {width:150px !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(4),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(4) {width:220px !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(5),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(5) {width:240px !important;}
main.preagenda-premium-page .preagenda-week-excel-table td:nth-child(6),
main.preagenda-premium-page .preagenda-week-excel-table th:nth-child(6) {width:118px !important;}
main.preagenda-premium-page .preagenda-week-excel-hint {
  display:inline-flex !important;
  margin-top:8px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  color:#64748b !important;
  background:rgba(248,250,252,.95) !important;
  border:1px solid rgba(148,163,184,.18) !important;
  font-size:.72rem !important;
  font-weight:850 !important;
}
@media (max-width:720px) {
  main.preagenda-premium-page .preagenda-week-excel-summary {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:13px 11px 13px 16px !important;
  }
  main.preagenda-premium-page .preagenda-week-excel-summary-actions {
    justify-content:flex-start !important;
  }
  main.preagenda-premium-page .preagenda-week-excel-panel {padding:9px !important;}
  main.preagenda-premium-page .preagenda-week-excel-scroll {
    max-height:310px !important;
    overflow-x:scroll !important;
    overflow-y:scroll !important;
  }
  main.preagenda-premium-page .preagenda-week-excel-table {
    min-width:820px !important;
  }
  main.preagenda-premium-page .preagenda-week-excel-table th,
  main.preagenda-premium-page .preagenda-week-excel-table td {
    padding:7px 8px !important;
    font-size:.74rem !important;
  }
}

/* 20260609-preagenda-consultorio-compact-v66: Consultorio asignado compacto y contraido por defecto. */
main.preagenda-premium-page .preagenda-consultorio-compact-v66 {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:12px 0 14px !important;
  border-radius:22px !important;
  border:1px solid rgba(14,165,233,.18) !important;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.92)) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.90) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-v66 > summary {
  list-style:none !important;
  cursor:pointer !important;
  outline:none !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-v66 > summary::-webkit-details-marker {display:none !important;}
main.preagenda-premium-page .preagenda-consultorio-compact-summary {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
  padding:13px 14px 13px 18px !important;
  position:relative !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-summary::before {
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:6px !important;
  background:linear-gradient(180deg,#14b8a6,#2563eb) !important;
}
main.preagenda-premium-page .preagenda-consultorio-summary-copy {
  display:grid !important;
  gap:3px !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-consultorio-summary-copy strong {
  color:#0f172a !important;
  font-size:1rem !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
main.preagenda-premium-page .preagenda-consultorio-summary-copy small {
  color:#64748b !important;
  font-size:.78rem !important;
  line-height:1.22 !important;
  font-weight:750 !important;
}
main.preagenda-premium-page .preagenda-consultorio-summary-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
  flex-wrap:wrap !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-consultorio-premium-toggle {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:31px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  color:#0f172a !important;
  background:#fff !important;
  border:1px solid rgba(148,163,184,.22) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.09) !important;
  font-size:.74rem !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-v66:not([open]) .preagenda-consultorio-premium-toggle .when-open {display:none !important;}
main.preagenda-premium-page .preagenda-consultorio-compact-v66[open] .preagenda-consultorio-premium-toggle .when-closed {display:none !important;}
main.preagenda-premium-page .preagenda-consultorio-compact-panel {
  padding:0 12px 12px 12px !important;
  border-top:1px solid rgba(148,163,184,.16) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(248,250,252,.86)) !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-list {
  display:grid !important;
  gap:9px !important;
  padding-top:10px !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-card {
  display:grid !important;
  gap:9px !important;
  min-width:0 !important;
  padding:11px !important;
  border-radius:18px !important;
  border:1px solid rgba(14,165,233,.14) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 12px 25px rgba(15,23,42,.075) !important;
  box-sizing:border-box !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-top {
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:9px !important;
  align-items:center !important;
  padding-bottom:8px !important;
  border-bottom:1px solid rgba(148,163,184,.16) !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-title {
  display:grid !important;
  gap:2px !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-title small {
  color:#0f766e !important;
  font-size:.62rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-title strong {
  color:#0f172a !important;
  font-size:.94rem !important;
  line-height:1.14 !important;
  font-weight:950 !important;
  overflow-wrap:anywhere !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-facts {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
  margin:0 !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-facts > div {
  display:grid !important;
  gap:3px !important;
  min-width:0 !important;
  padding:8px 9px !important;
  border-radius:14px !important;
  background:rgba(248,250,252,.95) !important;
  border:1px solid rgba(148,163,184,.15) !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-facts > div.is-wide {grid-column:1 / -1 !important;}
main.preagenda-premium-page .preagenda-consultorio-compact-facts dt {
  margin:0 !important;
  color:#64748b !important;
  font-size:.63rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}
main.preagenda-premium-page .preagenda-consultorio-compact-facts dd {
  margin:0 !important;
  color:#0f172a !important;
  font-size:.82rem !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  overflow-wrap:anywhere !important;
}
main.preagenda-premium-page .preagenda-location-compact-btn {
  justify-self:start !important;
  min-height:30px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  font-size:.74rem !important;
  font-weight:950 !important;
}
main.preagenda-premium-page .preagenda-consultorio-empty-compact {margin-top:10px !important;}
@media (max-width:720px) {
  main.preagenda-premium-page .preagenda-consultorio-compact-summary {
    grid-template-columns:1fr !important;
    gap:9px !important;
    padding:12px 10px 12px 15px !important;
  }
  main.preagenda-premium-page .preagenda-consultorio-summary-actions {
    justify-content:flex-start !important;
  }
  main.preagenda-premium-page .preagenda-consultorio-compact-top {
    grid-template-columns:auto minmax(0,1fr) !important;
  }
  main.preagenda-premium-page .preagenda-consultorio-compact-top .preagenda-route-premium-chip {
    grid-column:1 / -1 !important;
    justify-self:start !important;
  }
  main.preagenda-premium-page .preagenda-consultorio-compact-facts {
    grid-template-columns:1fr !important;
  }
}


/* 2026-06-10 - Pre-agenda administrador: filtro premium por asesora en Pacientes para confirmar. */
main.preagenda-premium-page .preagenda-admin-asesora-filter {
  position: relative;
}
main.preagenda-premium-page .preagenda-admin-asesora-filter .input {
  border-color: rgba(20,184,166,.32) !important;
  background: linear-gradient(180deg, rgba(240,253,250,.98), rgba(255,255,255,.98)) !important;
  font-weight: 850 !important;
}
main.preagenda-premium-page .preagenda-admin-asesora-filter small {
  display:block !important;
  margin-top:5px !important;
  color:#0f766e !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  line-height:1.22 !important;
}
main.preagenda-premium-page .preagenda-filter-note {
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:wrap !important;
}
@media (max-width: 820px) {
  main.preagenda-premium-page .preagenda-admin-asesora-filter {
    min-width: 0 !important;
  }
  main.preagenda-premium-page .preagenda-admin-asesora-filter select.input {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* MiRuta v74 · errores detallados premium para Coordinador y Asesoras */
.miruta-error-diagnostic-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin:14px 0;
  padding:15px 16px;
  border:1px solid rgba(220,38,38,.24);
  border-left:5px solid #dc2626;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(255,255,255,.96));
  box-shadow:0 18px 45px rgba(127,29,29,.10);
  color:#7f1d1d;
  max-width:100%;
  box-sizing:border-box;
}
.miruta-error-diagnostic-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#dc2626,#991b1b);
  box-shadow:0 10px 22px rgba(220,38,38,.25);
}
.miruta-error-diagnostic-body{min-width:0;flex:1;}
.miruta-error-diagnostic-title{
  font-weight:900;
  font-size:15px;
  letter-spacing:-.01em;
  margin-bottom:3px;
  color:#7f1d1d;
}
.miruta-error-context{
  display:inline-flex;
  max-width:100%;
  margin:2px 0 8px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(220,38,38,.08);
  color:#991b1b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.miruta-error-diagnostic-message{
  font-size:13px;
  line-height:1.45;
  font-weight:700;
  color:#7f1d1d;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.miruta-error-diagnostic-foot{
  margin-top:9px;
  padding-top:9px;
  border-top:1px dashed rgba(220,38,38,.22);
  font-size:12px;
  line-height:1.35;
  color:#991b1b;
  font-weight:600;
}
.hoja-diaria-shell .miruta-error-diagnostic-card,
.asesora-compact-page .miruta-error-diagnostic-card,
.preagenda-premium-page .miruta-error-diagnostic-card{
  margin-top:12px;
  margin-bottom:14px;
}
@media (max-width:720px){
  .miruta-error-diagnostic-card{padding:13px 12px;border-radius:16px;gap:11px;}
  .miruta-error-diagnostic-icon{width:30px;height:30px;min-width:30px;border-radius:10px;}
  .miruta-error-diagnostic-message{font-size:12.5px;}
}

/* ============================================================
   MiRuta v75 · Responsive móvil real para Asesoras, Administración y Médico
   Objetivo: evitar títulos verticales/letra por letra en celular sin alterar PC.
   ============================================================ */
@media (max-width: 820px) {
  body.role-asesora,
  body.admin-compact-role,
  body.role-medico,
  body.role-m-dico {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.role-asesora .main,
  body.admin-compact-role .main,
  body.role-medico .main,
  body.role-m-dico .main {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    padding-left: clamp(10px, 3.2vw, 16px) !important;
    padding-right: clamp(10px, 3.2vw, 16px) !important;
  }

  body.role-asesora .topbar,
  body.admin-compact-role .topbar,
  body.role-medico .topbar,
  body.role-m-dico .topbar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.role-asesora .topbar .page-title,
  body.admin-compact-role .topbar .page-title,
  body.role-medico .topbar .page-title,
  body.role-m-dico .topbar .page-title {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  body.role-asesora .topbar-actions,
  body.admin-compact-role .topbar-actions,
  body.role-medico .topbar-actions,
  body.role-m-dico .topbar-actions {
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  body.role-asesora .page-title h1,
  body.role-asesora .page-title h2,
  body.role-asesora .page-title h3,
  body.admin-compact-role .page-title h1,
  body.admin-compact-role .page-title h2,
  body.admin-compact-role .page-title h3,
  body.role-medico .page-title h1,
  body.role-medico .page-title h2,
  body.role-medico .page-title h3,
  body.role-m-dico .page-title h1,
  body.role-m-dico .page-title h2,
  body.role-m-dico .page-title h3,
  body.role-asesora .panel-header h1,
  body.role-asesora .panel-header h2,
  body.role-asesora .panel-header h3,
  body.role-asesora .card-header h1,
  body.role-asesora .card-header h2,
  body.role-asesora .card-header h3,
  body.admin-compact-role .panel-header h1,
  body.admin-compact-role .panel-header h2,
  body.admin-compact-role .panel-header h3,
  body.admin-compact-role .card-header h1,
  body.admin-compact-role .card-header h2,
  body.admin-compact-role .card-header h3,
  body.role-medico .panel-header h1,
  body.role-medico .panel-header h2,
  body.role-medico .panel-header h3,
  body.role-medico .card-header h1,
  body.role-medico .card-header h2,
  body.role-medico .card-header h3,
  body.role-m-dico .panel-header h1,
  body.role-m-dico .panel-header h2,
  body.role-m-dico .panel-header h3,
  body.role-m-dico .card-header h1,
  body.role-m-dico .card-header h2,
  body.role-m-dico .card-header h3,
  body.role-asesora .module-card h1,
  body.role-asesora .module-card h2,
  body.role-asesora .module-card h3,
  body.role-asesora .module-card h4,
  body.admin-compact-role .module-card h1,
  body.admin-compact-role .module-card h2,
  body.admin-compact-role .module-card h3,
  body.admin-compact-role .module-card h4,
  body.role-medico .module-card h1,
  body.role-medico .module-card h2,
  body.role-medico .module-card h3,
  body.role-medico .module-card h4,
  body.role-m-dico .module-card h1,
  body.role-m-dico .module-card h2,
  body.role-m-dico .module-card h3,
  body.role-m-dico .module-card h4,
  body.role-asesora main h1,
  body.role-asesora main h2,
  body.role-asesora main h3,
  body.admin-compact-role main h1,
  body.admin-compact-role main h2,
  body.admin-compact-role main h3,
  body.role-medico main h1,
  body.role-medico main h2,
  body.role-medico main h3,
  body.role-m-dico main h1,
  body.role-m-dico main h2,
  body.role-m-dico main h3 {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    max-width: 100% !important;
    min-width: 0 !important;
    line-height: 1.12 !important;
  }

  body.role-asesora .page-title h2,
  body.admin-compact-role .page-title h2,
  body.role-medico .page-title h2,
  body.role-m-dico .page-title h2 {
    font-size: clamp(19px, 6vw, 24px) !important;
    letter-spacing: -.025em !important;
  }

  body.role-asesora .page-title p,
  body.admin-compact-role .page-title p,
  body.role-medico .page-title p,
  body.role-m-dico .page-title p,
  body.role-asesora .panel-header p,
  body.admin-compact-role .panel-header p,
  body.role-medico .panel-header p,
  body.role-m-dico .panel-header p,
  body.role-asesora .card-header p,
  body.admin-compact-role .card-header p,
  body.role-medico .card-header p,
  body.role-m-dico .card-header p {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    max-width: 100% !important;
    min-width: 0 !important;
    line-height: 1.28 !important;
  }

  body.role-asesora .panel-header,
  body.role-asesora .card-header,
  body.role-asesora .module-top,
  body.admin-compact-role .panel-header,
  body.admin-compact-role .card-header,
  body.admin-compact-role .module-top,
  body.role-medico .panel-header,
  body.role-medico .card-header,
  body.role-medico .module-top,
  body.role-m-dico .panel-header,
  body.role-m-dico .card-header,
  body.role-m-dico .module-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.role-asesora .panel-header > *,
  body.role-asesora .card-header > *,
  body.role-asesora .module-top > *,
  body.admin-compact-role .panel-header > *,
  body.admin-compact-role .card-header > *,
  body.admin-compact-role .module-top > *,
  body.role-medico .panel-header > *,
  body.role-medico .card-header > *,
  body.role-medico .module-top > *,
  body.role-m-dico .panel-header > *,
  body.role-m-dico .card-header > *,
  body.role-m-dico .module-top > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.role-asesora .panel,
  body.role-asesora .card,
  body.role-asesora .module-card,
  body.role-asesora .stat-card,
  body.admin-compact-role .panel,
  body.admin-compact-role .card,
  body.admin-compact-role .module-card,
  body.admin-compact-role .stat-card,
  body.role-medico .panel,
  body.role-medico .card,
  body.role-medico .module-card,
  body.role-medico .stat-card,
  body.role-m-dico .panel,
  body.role-m-dico .card,
  body.role-m-dico .module-card,
  body.role-m-dico .stat-card {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body.role-asesora .grid,
  body.role-asesora .stats-grid,
  body.role-asesora .module-grid,
  body.role-asesora .content-grid,
  body.admin-compact-role .grid,
  body.admin-compact-role .stats-grid,
  body.admin-compact-role .module-grid,
  body.admin-compact-role .content-grid,
  body.role-medico .grid,
  body.role-medico .stats-grid,
  body.role-medico .module-grid,
  body.role-medico .content-grid,
  body.role-m-dico .grid,
  body.role-m-dico .stats-grid,
  body.role-m-dico .module-grid,
  body.role-m-dico .content-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.role-asesora form,
  body.admin-compact-role form,
  body.role-medico form,
  body.role-m-dico form,
  body.role-asesora .form-row,
  body.admin-compact-role .form-row,
  body.role-medico .form-row,
  body.role-m-dico .form-row,
  body.role-asesora .filters-row,
  body.admin-compact-role .filters-row,
  body.role-medico .filters-row,
  body.role-m-dico .filters-row {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.role-asesora input,
  body.role-asesora select,
  body.role-asesora textarea,
  body.admin-compact-role input,
  body.admin-compact-role select,
  body.admin-compact-role textarea,
  body.role-medico input,
  body.role-medico select,
  body.role-medico textarea,
  body.role-m-dico input,
  body.role-m-dico select,
  body.role-m-dico textarea {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-size: max(16px, 1rem) !important;
  }

  body.role-asesora .table-wrap,
  body.admin-compact-role .table-wrap,
  body.role-medico .table-wrap,
  body.role-m-dico .table-wrap,
  body.role-asesora .responsive-table,
  body.admin-compact-role .responsive-table,
  body.role-medico .responsive-table,
  body.role-m-dico .responsive-table {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  body.role-asesora .table-wrap th,
  body.admin-compact-role .table-wrap th,
  body.role-medico .table-wrap th,
  body.role-m-dico .table-wrap th {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
  }
}

@media (max-width: 520px) {
  body.role-asesora .topbar,
  body.admin-compact-role .topbar,
  body.role-medico .topbar,
  body.role-m-dico .topbar {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  body.role-asesora .topbar-actions,
  body.admin-compact-role .topbar-actions,
  body.role-medico .topbar-actions,
  body.role-m-dico .topbar-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    justify-content: stretch !important;
  }

  body.role-asesora .topbar-actions > *,
  body.admin-compact-role .topbar-actions > *,
  body.role-medico .topbar-actions > *,
  body.role-m-dico .topbar-actions > * {
    max-width: 100% !important;
  }
}

/* v339 · Se retira la regla heredada v76 que forzaba todos los botones a verde/rojo.
   La paleta funcional global y parametrizable se declara al final de este archivo. */

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v78 — RESPONSIVE MÓVIL ESTABLE
   Corrige el efecto de títulos letra por letra sin aplicar reglas agresivas.
   Reversión del fallback global v77 y layout móvil seguro para Asesoras,
   Médico, Administración/Superadministración e Inventario.
   ============================================================ */
@media (max-width: 860px) {
  html,
  body.forms-compact-role {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.forms-compact-role .app,
  body.forms-compact-role main.main,
  body.forms-compact-role .main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main,
  body.forms-compact-role .main {
    padding-left: clamp(10px, 3vw, 16px) !important;
    padding-right: clamp(10px, 3vw, 16px) !important;
    overflow-x: hidden !important;
  }

  body.forms-compact-role .topbar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      "menu title"
      "actions actions" !important;
    align-items: start !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.forms-compact-role .mobile-menu-btn {
    grid-area: menu !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
  }

  body.forms-compact-role .topbar .page-title {
    grid-area: title !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: visible !important;
  }

  body.forms-compact-role .topbar .page-title h1,
  body.forms-compact-role .topbar .page-title h2,
  body.forms-compact-role .topbar .page-title h3,
  body.forms-compact-role .topbar .page-title p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    line-height: 1.16 !important;
    text-align: left !important;
  }

  body.forms-compact-role .topbar .page-title h2 {
    font-size: clamp(20px, 5.4vw, 25px) !important;
    letter-spacing: -.028em !important;
    margin-bottom: 4px !important;
  }

  body.forms-compact-role .topbar .page-title p {
    font-size: clamp(12px, 3.4vw, 14px) !important;
    line-height: 1.28 !important;
  }

  body.forms-compact-role .topbar-actions {
    grid-area: actions !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  /* Contenedores: dar ancho real al título antes de que existan acciones al lado. */
  body.forms-compact-role main.main :is(.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head,.admin-smart-hero-head,.admin-smart-hero-head-clean,.inventory-dashboard-sales-heading-smart,.inventory-alerts-header,.bd-hero) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body.forms-compact-role main.main :is(.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head,.admin-smart-hero-head,.admin-smart-hero-head-clean,.inventory-dashboard-sales-heading-smart,.inventory-alerts-header,.bd-hero) > :first-child {
    flex: 1 1 260px !important;
    min-width: min(260px, 100%) !important;
    max-width: 100% !important;
  }

  body.forms-compact-role main.main :is(.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head,.admin-smart-hero-head,.admin-smart-hero-head-clean,.inventory-dashboard-sales-heading-smart,.inventory-alerts-header,.bd-hero) > :not(:first-child) {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.forms-compact-role main.main :is(h1,h2,h3,h4,.card-title,.module-title,.section-title,.panel-title,.vd-title,.vd-inv-subtitle,.vd-campaign-table-title strong,.vd-route-summary-title strong,.inventory-route-stock-card-premium h3,.admin-route-card h3,.admin-detail-box h4,.medico-closure-title,.bd-hero h1,.bd-hero h2,.bd-hero h3,.bd-hero strong) {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    direction: ltr !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    line-height: 1.16 !important;
    text-align: left !important;
  }

  body.forms-compact-role main.main :is(.page-title,.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head) :is(p,small) {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    line-height: 1.28 !important;
  }

  body.forms-compact-role main.main :is(.panel,.card,.module-card,.stat-card,.agenda-module-panel,.asesora-module-panel,.medico-panel,.admin-smart-hero,.admin-route-card,.vd-inventory-full) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main :is(.grid,.stats-grid,.module-grid,.content-grid,.form-grid,.filters-grid,.filters-row,.bd-filters,.bd-ceo-kpis,.bd-ceo-filter,.agenda-bulk-grid,.admin-smart-grid,.admin-smart-formula,.admin-smart-alert-strip,.admin-detail-grid,.inventory-dashboard-hero-kpis,.vd-inv-main-filter,.vd-inv-formline,.vd-inv-kpis,.vd-inv-two-col,.vd-campaign-module-toolbar,.medico-kpi-mini-grid,.medico-proc-grid,.med-param-help) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main :is(form,.form-row,.form-group,.input-group,.phone-country-row,.phone-country-field,.whatsapp-medico-send,.med-template-select,.recetario-main-line,.recetario-extra,.bd-wa-confirm-box) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main :is(input,select,textarea,.input,.select,.form-control) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-size: max(16px, 1rem) !important;
  }

  body.forms-compact-role main.main :is(.actions,.action-row,.row-actions,.bd-actions,.agenda-inline-actions,.preagenda-actions,.medico-actions-top,.admin-smart-actions,.admin-smart-actions-clean,.vd-products-batch-actions,.vd-campaign-status-pills,.vd-campaign-expand-tools,.top-actions,.panel-actions) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main :is(.table-wrap,.table-responsive,.responsive-table,.bd-table-wrap,.agenda-excel-scroll,.preagenda-week-excel-scroll,.vd-route-detail-table,.vd-route-stock-scroll,.inventory-sales-excel-scroll,.inventory-alerts-list,.admin-smart-table-wrap) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role main.main :is(table,.table,.bd-table,.agenda-excel-table,.preagenda-table,.vd-compact-table,.admin-smart-table) th {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

@media (max-width: 520px) {
  body.forms-compact-role main.main,
  body.forms-compact-role .main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.forms-compact-role .topbar {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.forms-compact-role .mobile-menu-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
  }

  body.forms-compact-role main.main :is(.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head,.admin-smart-hero-head,.admin-smart-hero-head-clean,.inventory-dashboard-sales-heading-smart,.inventory-alerts-header,.bd-hero) {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.forms-compact-role main.main :is(.panel-header,.card-header,.module-top,.module-header,.section-header,.filters-header,.premium-header,.vd-section-head,.vd-card-head,.admin-smart-hero-head,.admin-smart-hero-head-clean,.inventory-dashboard-sales-heading-smart,.inventory-alerts-header,.bd-hero) > * {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v79 — DASHBOARD ADMIN FULLSCREEN
   Recupera el botón hamburguesa y el sidebar móvil al salir de pantalla completa.
   ============================================================ */
@media (max-width: 860px) {
  body.admin-smart-dashboard-page:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .mobile-menu-btn {
    display: grid !important;
    place-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1201 !important;
  }

  body.admin-smart-dashboard-page:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .sidebar {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 280px !important;
    max-width: calc(100vw - 24px) !important;
    opacity: 1 !important;
  }

  body.admin-smart-dashboard-page.menu-open:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .sidebar {
    left: 0 !important;
    transform: none !important;
  }

  body.admin-smart-dashboard-page.menu-open:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .overlay,
  body.admin-smart-dashboard-page.menu-open:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .sidebar-overlay {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.admin-smart-dashboard-page:not(.admin-smart-fullscreen):not(.miruta-operational-fullscreen-mode) .app {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v80 — FIX DEFINITIVO TÍTULOS MÓVIL
   Evita títulos verticales cuando topbar-actions/fullscreen estrechan el header.
   En móvil el topbar pasa a filas: menú, título y acciones; el título siempre
   recibe ancho completo real y no puede partirse letra por letra.
   ============================================================ */
@media (max-width: 860px) {
  body.forms-compact-role .topbar,
  body.role-asesora .topbar,
  body.admin-compact-role .topbar,
  body.role-medico .topbar,
  body.role-m-dico .topbar,
  body.role-inventario .topbar,
  main.preagenda-page .topbar,
  main.agenda-citas-premium-page .topbar,
  main.asesora-compact-page .topbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.forms-compact-role .mobile-menu-btn,
  body.role-asesora .mobile-menu-btn,
  body.admin-compact-role .mobile-menu-btn,
  body.role-medico .mobile-menu-btn,
  body.role-m-dico .mobile-menu-btn,
  body.role-inventario .mobile-menu-btn {
    order: 0 !important;
    align-self: flex-start !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
  }

  body.forms-compact-role .topbar .page-title,
  body.role-asesora .topbar .page-title,
  body.admin-compact-role .topbar .page-title,
  body.role-medico .topbar .page-title,
  body.role-m-dico .topbar .page-title,
  body.role-inventario .topbar .page-title,
  main.preagenda-page .topbar .page-title,
  main.agenda-citas-premium-page .topbar .page-title,
  main.asesora-compact-page .topbar .page-title {
    order: 1 !important;
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    clear: both !important;
  }

  body.forms-compact-role .topbar .page-title :is(h1,h2,h3,p,span),
  body.role-asesora .topbar .page-title :is(h1,h2,h3,p,span),
  body.admin-compact-role .topbar .page-title :is(h1,h2,h3,p,span),
  body.role-medico .topbar .page-title :is(h1,h2,h3,p,span),
  body.role-m-dico .topbar .page-title :is(h1,h2,h3,p,span),
  body.role-inventario .topbar .page-title :is(h1,h2,h3,p,span),
  main.preagenda-page .topbar .page-title :is(h1,h2,h3,p,span),
  main.agenda-citas-premium-page .topbar .page-title :is(h1,h2,h3,p,span),
  main.asesora-compact-page .topbar .page-title :is(h1,h2,h3,p,span) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    line-height: 1.16 !important;
    text-align: left !important;
  }

  body.forms-compact-role .topbar .page-title h2,
  body.role-asesora .topbar .page-title h2,
  body.admin-compact-role .topbar .page-title h2,
  body.role-medico .topbar .page-title h2,
  body.role-m-dico .topbar .page-title h2,
  body.role-inventario .topbar .page-title h2,
  main.preagenda-page .topbar .page-title h2,
  main.agenda-citas-premium-page .topbar .page-title h2,
  main.asesora-compact-page .topbar .page-title h2 {
    font-size: clamp(21px, 6vw, 28px) !important;
    letter-spacing: -.035em !important;
    margin: 0 0 4px !important;
  }

  body.forms-compact-role .topbar-actions,
  body.role-asesora .topbar-actions,
  body.admin-compact-role .topbar-actions,
  body.role-medico .topbar-actions,
  body.role-m-dico .topbar-actions,
  body.role-inventario .topbar-actions,
  main.preagenda-page .topbar-actions,
  main.agenda-citas-premium-page .topbar-actions,
  main.asesora-compact-page .topbar-actions {
    order: 2 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }
}

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v81 — TÍTULO MÓVIL FUERA DEL TOPBAR
   Solución definitiva: en móvil el título se renderiza fuera del topbar
   para que botones de pantalla completa/búsqueda/estado no lo estrechen.
   ============================================================ */
.miruta-mobile-page-title-safe{display:none;}
@media (max-width: 860px){
  body.forms-compact-role .topbar,
  body.role-asesora .topbar,
  body.admin-compact-role .topbar,
  body.role-medico .topbar,
  body.role-m-dico .topbar,
  body.role-inventario .topbar{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.forms-compact-role .topbar > .page-title,
  body.role-asesora .topbar > .page-title,
  body.admin-compact-role .topbar > .page-title,
  body.role-medico .topbar > .page-title,
  body.role-m-dico .topbar > .page-title,
  body.role-inventario .topbar > .page-title{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    overflow:hidden!important;
    flex:0 0 0!important;
    padding:0!important;
    margin:0!important;
  }
  body.forms-compact-role .topbar-actions,
  body.role-asesora .topbar-actions,
  body.admin-compact-role .topbar-actions,
  body.role-medico .topbar-actions,
  body.role-m-dico .topbar-actions,
  body.role-inventario .topbar-actions{
    flex:1 1 calc(100% - 54px)!important;
    min-width:min(250px, calc(100vw - 78px))!important;
    max-width:100%!important;
    width:auto!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
  }
  .miruta-mobile-page-title-safe{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:-8px 0 16px!important;
    padding:14px 16px!important;
    border-radius:22px!important;
    border:1px solid rgba(20,184,166,.20)!important;
    background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(236,254,255,.96) 58%, rgba(240,253,250,.96) 100%)!important;
    box-shadow:0 14px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92)!important;
    color:#0f172a!important;
    overflow:visible!important;
    clear:both!important;
  }
  .miruta-mobile-page-title-safe h1,
  .miruta-mobile-page-title-safe h2,
  .miruta-mobile-page-title-safe h3,
  .miruta-mobile-page-title-safe p,
  .miruta-mobile-page-title-safe span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    direction:ltr!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
    text-align:left!important;
  }
  .miruta-mobile-page-title-safe h2{
    margin:0 0 5px!important;
    font-size:clamp(22px, 6.2vw, 30px)!important;
    line-height:1.08!important;
    font-weight:950!important;
    letter-spacing:-.045em!important;
    color:#0f172a!important;
  }
  .miruta-mobile-page-title-safe p{
    margin:0!important;
    font-size:clamp(12px, 3.45vw, 14px)!important;
    line-height:1.34!important;
    font-weight:700!important;
    color:#64748b!important;
  }
}

/* Hoja diaria coordinador v81: selección táctil de productos para Android/Xiaomi. */
.hoja-product-touch-box{display:none;margin-top:10px;border:1px solid rgba(20,184,166,.18);border-radius:18px;background:linear-gradient(135deg,#ffffff,#f0fdfa);padding:10px;box-shadow:0 12px 28px rgba(15,23,42,.08);}
.hoja-product-touch-box > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:950;color:#0f766e;font-size:12.5px;}
.hoja-product-touch-box > summary::-webkit-details-marker{display:none;}
.hoja-product-touch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:10px;}
.hoja-product-touch-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;border:1px solid rgba(148,163,184,.22);border-radius:15px;padding:9px;background:rgba(255,255,255,.92);box-shadow:0 6px 14px rgba(15,23,42,.06);}
.hoja-product-touch-card input[type="checkbox"]{width:20px;height:20px;margin-top:2px;accent-color:#0f766e;}
.hoja-product-touch-name{display:block;font-weight:950;color:#0f172a;font-size:12.5px;line-height:1.18;}
.hoja-product-touch-meta{display:block;margin-top:3px;color:#64748b;font-size:11.5px;font-weight:750;line-height:1.22;}
.hoja-product-touch-fields{grid-column:1 / -1;display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px;margin-top:4px;}
.hoja-product-touch-fields label{display:grid;gap:4px;font-size:11px;font-weight:850;color:#334155;}
#pacientes-dia .hoja-med-recommend-box[open] select.hoja-product-select,
#pacientes-dia .hoja-med-recommend-box[open] input,
#pacientes-dia .hoja-med-recommend-box[open] button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
#pacientes-dia .hoja-product-select{
  -webkit-appearance:menulist!important;
  appearance:auto!important;
  position:relative!important;
  z-index:1!important;
}
@media (max-width: 760px){
  .hoja-product-touch-box{display:block!important;}
  .hoja-product-touch-grid{grid-template-columns:minmax(0,1fr)!important;max-height:42vh;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:2px;}
  .hoja-product-touch-fields{grid-template-columns:72px minmax(0,1fr)!important;}
}

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v82 — TÍTULOS MÓVILES ADMIN SIN VERTICAL
   Refuerzo final: en móviles/táctiles se oculta el título original del
   topbar y se usa la tarjeta segura de ancho completo generada por PHP.
   ============================================================ */
@media (max-width: 1180px), (pointer: coarse) {
  .topbar .page-title,
  .topbar > .page-title{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    min-width:0!important;
    max-width:1px!important;
    height:1px!important;
    max-height:1px!important;
    overflow:hidden!important;
    pointer-events:none!important;
    flex:0 0 0!important;
    margin:0!important;
    padding:0!important;
  }
  .miruta-mobile-page-title-safe{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    clear:both!important;
    overflow:visible!important;
  }
  .miruta-mobile-page-title-safe :is(h1,h2,h3,p,span){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    writing-mode:horizontal-tb!important;
    -webkit-writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    direction:ltr!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
    text-align:left!important;
  }
}

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v83 — OCULTAR PANTALLA COMPLETA EN MÓVIL
   En móvil/táctil el sistema ya adapta el layout; el botón fullscreen no se
   muestra para evitar saturación del topbar y regresiones de títulos.
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  [data-miruta-fullscreen-toggle],
  [data-asesora-fullscreen-toggle],
  .vd-operational-fullscreen-toggle,
  .vd-fullscreen-toggle,
  .admin-smart-fullscreen-toggle,
  [data-admin-smart-fullscreen-toggle] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    flex: 0 0 0 !important;
    order: -999 !important;
  }
  body.miruta-operational-fullscreen-mode,
  body.asesora-fullscreen-mode,
  html.miruta-operational-fullscreen-mode {
    overflow-x: hidden !important;
  }
}

/* ============================================================
   v86 - Coordinador / Productos: recomendados + adicionales
   ============================================================ */
.hoja-add-product-details {
  margin: 12px 0 8px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
  overflow: hidden;
}
.hoja-add-product-details > summary {
  list-style: none;
  cursor: pointer;
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  background: linear-gradient(135deg, rgba(14,165,233,.10), rgba(37,99,235,.08)) !important;
  color: #0f172a !important;
  font-weight: 900 !important;
}
.hoja-add-product-details > summary::-webkit-details-marker { display: none; }
.hoja-add-product-details > summary small {
  font-size: .72rem;
  font-weight: 800;
  color: #64748b;
  text-align: right;
}
.hoja-add-product-details[open] > summary {
  border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
}
.hoja-add-product-body {
  padding: 12px;
  display: grid;
  gap: 10px;
}
.hoja-add-product-help {
  display: block;
  margin: 0 0 2px !important;
  color: #475569 !important;
  font-weight: 700;
}
.hoja-med-recommend-box .hoja-add-product-details .hoja-lines {
  margin-top: 0;
}
.hoja-med-recommend-box .hoja-product-touch-box,
.hoja-med-recommend-box .hoja-product-touch-grid,
.hoja-med-recommend-box .hoja-product-touch-card {
  display: none !important;
}
@media (max-width: 820px), (pointer: coarse) {
  .hoja-add-product-details > summary {
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
  }
  .hoja-add-product-details > summary small {
    text-align: left;
  }
  .hoja-add-product-body {
    padding: 10px;
  }
}

/* ============================================================
   ACTUALIZACIÓN 2026-06-11 v87 — COORDINADOR PRODUCTOS COMPATIBLE XIAOMI
   Evita <details> anidado para productos adicionales y usa panel con botón,
   select nativo grande y eventos táctiles seguros para MIUI/Chrome/WebView.
   ============================================================ */
.hoja-add-product-panel{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.hoja-add-product-panel .hoja-add-product-summary{
  -webkit-tap-highlight-color:rgba(14,165,233,.14)!important;
  touch-action:manipulation!important;
  user-select:none!important;
}
.hoja-add-product-panel .hoja-add-product-body[hidden]{
  display:none!important;
}
.hoja-add-product-panel.is-open .hoja-add-product-summary{
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}
.hoja-add-product-panel select.hoja-product-select-xiaomi-safe,
.hoja-add-product-panel input[data-xiaomi-safe-field]{
  min-height:46px!important;
  font-size:16px!important;
  line-height:1.25!important;
  touch-action:manipulation!important;
  pointer-events:auto!important;
  -webkit-user-select:auto!important;
  user-select:auto!important;
}
.hoja-add-product-panel select.hoja-product-select-xiaomi-safe{
  -webkit-appearance:menulist!important;
  appearance:auto!important;
  width:100%!important;
  max-width:100%!important;
  position:relative!important;
  z-index:5!important;
  background:#fff!important;
}
#pacientes-dia .hoja-med-recommend-box[open] .hoja-add-product-panel,
#pacientes-dia .hoja-med-recommend-box[open] .hoja-add-product-panel *{
  pointer-events:auto!important;
}
@media (max-width: 820px), (pointer: coarse){
  .hoja-add-product-panel .hoja-line-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  .hoja-add-product-panel .hoja-add-product-summary{
    min-height:52px!important;
    padding:13px 14px!important;
  }
  .hoja-add-product-panel .hoja-add-product-body{
    max-height:min(54vh, 430px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
}

/* ============================================================
   MiRuta v92 · Mensajes premium uniformes para módulo Asesoras
   ============================================================ */
.miruta-notice-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin:14px 0;
  padding:15px 16px;
  border:1px solid rgba(15,23,42,.10);
  border-left:5px solid #2563eb;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(255,255,255,.96));
  box-shadow:0 18px 45px rgba(15,23,42,.09);
  color:#0f172a;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.miruta-notice-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  box-shadow:0 10px 22px rgba(37,99,235,.22);
}
.miruta-notice-body{min-width:0;flex:1;}
.miruta-notice-title{
  font-weight:900;
  font-size:15px;
  letter-spacing:-.01em;
  margin-bottom:3px;
  color:#0f172a;
}
.miruta-notice-context{
  display:inline-flex;
  max-width:100%;
  margin:2px 0 8px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  color:#1d4ed8;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.miruta-notice-message{
  font-size:13px;
  line-height:1.45;
  font-weight:750;
  color:#1f2937;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.miruta-notice-foot{
  margin-top:9px;
  padding-top:9px;
  border-top:1px dashed rgba(15,23,42,.16);
  font-size:12px;
  line-height:1.35;
  color:#475569;
  font-weight:650;
}
.miruta-notice-success{border-left-color:#16a34a;background:linear-gradient(135deg,rgba(240,253,244,.98),rgba(255,255,255,.96));}
.miruta-notice-success .miruta-notice-icon{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 10px 22px rgba(34,197,94,.22);}
.miruta-notice-success .miruta-notice-title{color:#14532d;}
.miruta-notice-success .miruta-notice-context{background:rgba(22,163,74,.08);color:#166534;}
.miruta-notice-success .miruta-notice-message{color:#14532d;}
.miruta-notice-error{border-left-color:#dc2626;background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(255,255,255,.96));}
.miruta-notice-error .miruta-notice-icon{background:linear-gradient(135deg,#dc2626,#991b1b);box-shadow:0 10px 22px rgba(220,38,38,.22);}
.miruta-notice-error .miruta-notice-title{color:#7f1d1d;}
.miruta-notice-error .miruta-notice-context{background:rgba(220,38,38,.08);color:#991b1b;}
.miruta-notice-error .miruta-notice-message{color:#7f1d1d;}
.miruta-notice-warning{border-left-color:#f59e0b;background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,255,255,.96));}
.miruta-notice-warning .miruta-notice-icon{background:linear-gradient(135deg,#f59e0b,#b45309);box-shadow:0 10px 22px rgba(245,158,11,.22);}
.miruta-notice-warning .miruta-notice-title{color:#78350f;}
.miruta-notice-warning .miruta-notice-context{background:rgba(245,158,11,.10);color:#92400e;}
.miruta-notice-warning .miruta-notice-message{color:#78350f;}
.miruta-notice-info{border-left-color:#2563eb;}

.asesora-compact-page .alert,
.agenda-citas-premium-page .alert,
.agenda-asesora-page .alert,
.preagenda-premium-page .alert,
.vd-postventa-page .alert,
.vd-postventa-sale .alert,
.nomina-asesoras-page .alert{
  border:1px solid rgba(15,23,42,.10);
  border-left:5px solid #2563eb;
  border-radius:18px;
  box-shadow:0 16px 40px rgba(15,23,42,.08);
  font-weight:750;
  margin:14px 0;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(255,255,255,.96));
}
.asesora-compact-page .alert-success,
.agenda-citas-premium-page .alert-success,
.agenda-asesora-page .alert-success,
.preagenda-premium-page .alert-success,
.vd-postventa-page .alert-success,
.vd-postventa-sale .alert-success,
.nomina-asesoras-page .alert-success{
  border-left-color:#16a34a;
  background:linear-gradient(135deg,rgba(240,253,244,.98),rgba(255,255,255,.96));
  color:#14532d;
}
.asesora-compact-page .alert-error,
.agenda-citas-premium-page .alert-error,
.agenda-asesora-page .alert-error,
.preagenda-premium-page .alert-error,
.vd-postventa-page .alert-error,
.vd-postventa-sale .alert-error,
.nomina-asesoras-page .alert-error{
  border-left-color:#dc2626;
  background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(255,255,255,.96));
  color:#7f1d1d;
}
.asesora-compact-page .alert-info,
.agenda-citas-premium-page .alert-info,
.agenda-asesora-page .alert-info,
.preagenda-premium-page .alert-info,
.vd-postventa-page .alert-info,
.vd-postventa-sale .alert-info,
.nomina-asesoras-page .alert-info{
  border-left-color:#2563eb;
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(255,255,255,.96));
  color:#1e3a8a;
}
.asesora-compact-page .alert-warning,
.agenda-citas-premium-page .alert-warning,
.agenda-asesora-page .alert-warning,
.preagenda-premium-page .alert-warning,
.vd-postventa-page .alert-warning,
.vd-postventa-sale .alert-warning,
.nomina-asesoras-page .alert-warning{
  border-left-color:#f59e0b;
  background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,255,255,.96));
  color:#78350f;
}
@media (max-width:720px){
  .miruta-notice-card{padding:13px 12px;border-radius:16px;gap:11px;}
  .miruta-notice-icon{width:30px;height:30px;min-width:30px;border-radius:10px;}
  .miruta-notice-message{font-size:12.5px;}
}

/* MiRuta v96 · Pre-agenda: mensaje de filtros en cápsula premium llamativa. */
main.preagenda-premium-page .preagenda-filter-capsule,
.preagenda-page .preagenda-filter-capsule{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:2px !important;
  padding:12px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(14,165,233,.22) !important;
  background:linear-gradient(135deg,rgba(240,249,255,.98),rgba(236,253,245,.98)) !important;
  box-shadow:0 18px 40px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.88) !important;
  color:#0f172a !important;
}
main.preagenda-premium-page .preagenda-filter-capsule.is-ready,
.preagenda-page .preagenda-filter-capsule.is-ready{
  border-color:rgba(16,185,129,.28) !important;
  background:radial-gradient(circle at 2% 0%,rgba(34,197,94,.22),transparent 30%),linear-gradient(135deg,#ecfdf5,#f0f9ff 58%,#ffffff) !important;
}
main.preagenda-premium-page .preagenda-filter-capsule.is-warning,
.preagenda-page .preagenda-filter-capsule.is-warning{
  border-color:rgba(245,158,11,.32) !important;
  background:radial-gradient(circle at 2% 0%,rgba(251,191,36,.24),transparent 32%),linear-gradient(135deg,#fffbeb,#fff7ed 52%,#ffffff) !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-icon,
.preagenda-page .preagenda-filter-capsule-icon{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:1rem !important;
  font-weight:950 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#0ea5e9,#10b981) !important;
  box-shadow:0 12px 24px rgba(14,165,233,.24) !important;
}
main.preagenda-premium-page .preagenda-filter-capsule.is-warning .preagenda-filter-capsule-icon,
.preagenda-page .preagenda-filter-capsule.is-warning .preagenda-filter-capsule-icon{
  background:linear-gradient(135deg,#f59e0b,#ef4444) !important;
  box-shadow:0 12px 24px rgba(245,158,11,.24) !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-copy,
.preagenda-page .preagenda-filter-capsule-copy{
  display:grid !important;
  gap:2px !important;
  min-width:0 !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-copy strong,
.preagenda-page .preagenda-filter-capsule-copy strong{
  display:block !important;
  color:#0f172a !important;
  font-size:.88rem !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  letter-spacing:-.015em !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-copy span,
.preagenda-page .preagenda-filter-capsule-copy span{
  display:block !important;
  color:#475569 !important;
  font-size:.76rem !important;
  line-height:1.22 !important;
  font-weight:820 !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-meta,
.preagenda-page .preagenda-filter-capsule-meta{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  max-width:520px !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-meta b,
.preagenda-page .preagenda-filter-capsule-meta b{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.06) !important;
  color:#334155 !important;
  font-size:.62rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}
main.preagenda-premium-page .preagenda-filter-capsule-meta span,
.preagenda-page .preagenda-filter-capsule-meta span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:24px !important;
  padding:0 9px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  color:#0f172a !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
@media (max-width: 920px){
  main.preagenda-premium-page .preagenda-filter-capsule,
  .preagenda-page .preagenda-filter-capsule{
    grid-template-columns:auto minmax(0,1fr) !important;
    border-radius:24px !important;
    align-items:start !important;
  }
  main.preagenda-premium-page .preagenda-filter-capsule-meta,
  .preagenda-page .preagenda-filter-capsule-meta{
    grid-column:1 / -1 !important;
    justify-content:flex-start !important;
    max-width:100% !important;
    padding-left:46px !important;
  }
}
@media (max-width: 560px){
  main.preagenda-premium-page .preagenda-filter-capsule,
  .preagenda-page .preagenda-filter-capsule{
    grid-template-columns:1fr !important;
    border-radius:22px !important;
    padding:12px !important;
  }
  main.preagenda-premium-page .preagenda-filter-capsule-icon,
  .preagenda-page .preagenda-filter-capsule-icon{
    width:30px !important;
    height:30px !important;
  }
  main.preagenda-premium-page .preagenda-filter-capsule-meta,
  .preagenda-page .preagenda-filter-capsule-meta{
    padding-left:0 !important;
  }
}


/* MiRuta v98 · Pre-agenda: cápsula de filtro premium compacta. */
    main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule,
    main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule{
  position:relative !important;
  display:grid !important;
  grid-template-columns:32px minmax(220px,1fr) auto !important;
  align-items:center !important;
  gap:9px !important;
  width:100% !important;
  min-height:46px !important;
  margin:6px 0 0 !important;
  padding:8px 11px 8px 14px !important;
  border-radius:18px !important;
  border:1px solid rgba(16,185,129,.26) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(34,197,94,.20), transparent 24%),
    linear-gradient(135deg, #ecfdf5 0%, #f0f9ff 58%, #ffffff 100%) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
  color:#0f172a !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
    main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule::before,
    main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:4px !important;
  background:linear-gradient(180deg,#10b981,#0ea5e9) !important;
  box-shadow:0 0 16px rgba(16,185,129,.32) !important;
  z-index:0 !important;
}
    main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule::after,
    main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule::after{
  content:none !important;
}
    main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule.is-warning,
    main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule.is-warning{
  border-color:rgba(245,158,11,.34) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(251,191,36,.22), transparent 25%),
    linear-gradient(135deg,#fffbeb 0%,#fff7ed 58%,#ffffff 100%) !important;
}
    main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule.is-warning::before,
    main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule.is-warning::before{
  background:linear-gradient(180deg,#f59e0b,#ef4444) !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-icon,
    main.main.preagenda-page .preagenda-filter-capsule-icon{
  position:relative !important;
  z-index:2 !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  border-radius:11px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:.82rem !important;
  font-weight:950 !important;
  background:linear-gradient(135deg,#059669,#0ea5e9) !important;
  box-shadow:0 8px 18px rgba(16,185,129,.22), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule.is-warning .preagenda-filter-capsule-icon,
    main.main.preagenda-page .preagenda-filter-capsule.is-warning .preagenda-filter-capsule-icon{
  background:linear-gradient(135deg,#f59e0b,#ef4444) !important;
  box-shadow:0 8px 18px rgba(245,158,11,.22), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-copy,
    main.main.preagenda-page .preagenda-filter-capsule-copy{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  gap:1px !important;
  min-width:0 !important;
  padding-right:4px !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-copy strong,
    main.main.preagenda-page .preagenda-filter-capsule-copy strong{
  display:block !important;
  color:#0f172a !important;
  font-size:.84rem !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-copy span,
    main.main.preagenda-page .preagenda-filter-capsule-copy span{
  display:block !important;
  max-width:760px !important;
  color:#334155 !important;
  font-size:.72rem !important;
  line-height:1.10 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-meta,
    main.main.preagenda-page .preagenda-filter-capsule-meta{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:4px !important;
  min-width:0 !important;
  max-width:560px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-meta b,
    main.main.preagenda-page .preagenda-filter-capsule-meta b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:20px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,rgba(15,23,42,.07),rgba(14,165,233,.08)) !important;
  color:#334155 !important;
  font-size:.54rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  white-space:nowrap !important;
}
    main.main.preagenda-premium-page .preagenda-filter-capsule-meta span,
    main.main.preagenda-page .preagenda-filter-capsule-meta span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:20px !important;
  max-width:150px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(148,163,184,.18) !important;
  color:#0f172a !important;
  font-size:.65rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media (max-width: 980px){
  main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule,
  main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule{
    grid-template-columns:30px minmax(0,1fr) !important;
    align-items:center !important;
    border-radius:17px !important;
    min-height:0 !important;
    padding:8px 10px 8px 13px !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-copy span,
  main.main.preagenda-page .preagenda-filter-capsule-copy span{
    white-space:normal !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-meta,
  main.main.preagenda-page .preagenda-filter-capsule-meta{
    grid-column:1 / -1 !important;
    justify-content:flex-start !important;
    max-width:100% !important;
    margin-left:39px !important;
  }
}
@media (max-width: 560px){
  main.main.preagenda-premium-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule,
  main.main.preagenda-page .preagenda-filter-strip > .preagenda-filter-note.preagenda-filter-capsule{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:8px !important;
    padding:8px 10px 8px 12px !important;
    border-radius:16px !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-icon,
  main.main.preagenda-page .preagenda-filter-capsule-icon{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    border-radius:10px !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-copy strong,
  main.main.preagenda-page .preagenda-filter-capsule-copy strong,
  main.main.preagenda-premium-page .preagenda-filter-capsule-copy span,
  main.main.preagenda-page .preagenda-filter-capsule-copy span{
    white-space:normal !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-meta,
  main.main.preagenda-page .preagenda-filter-capsule-meta{
    margin-left:36px !important;
  }
  main.main.preagenda-premium-page .preagenda-filter-capsule-meta span,
  main.main.preagenda-page .preagenda-filter-capsule-meta span{
    max-width:128px !important;
  }
}


/* ============================================================
   2026-06-12 v99: Pre-agenda - tabla pacientes para confirmar autoajustable
   Mejora visual solicitada: ruta + ciudad en una línea y asesora debajo,
   columnas con ancho útil, badges/botones sin recorte y filas más compactas.
   ============================================================ */
.preagenda-premium-page .preagenda-list-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  border-radius: 0 0 18px 18px !important;
}
.preagenda-premium-page table.preagenda-auto-table {
  width: 100% !important;
  min-width: 1180px !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-hora { width: 68px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-paciente { width: 27% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-ruta { width: 26% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-procedimiento { width: 24% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-confirmacion { width: 128px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-whatsapp { width: 250px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-acciones { width: 270px !important; }
.preagenda-premium-page table.preagenda-auto-table th,
.preagenda-premium-page table.preagenda-auto-table td {
  padding: 9px 10px !important;
  vertical-align: middle !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.24 !important;
}
.preagenda-premium-page table.preagenda-auto-table tbody tr { min-height: 0 !important; }
.preagenda-premium-page table.preagenda-auto-table td strong,
.preagenda-premium-page table.preagenda-auto-table td small {
  display: inline !important;
  line-height: 1.22 !important;
}
.preagenda-premium-page table.preagenda-auto-table td[data-label="Paciente"] strong,
.preagenda-premium-page table.preagenda-auto-table td[data-label="Procedimiento"] strong { font-weight: 950 !important; }
.preagenda-premium-page table.preagenda-auto-table td[data-label="Paciente"] small {
  margin-left: 4px !important;
  color: #0f172a !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-cell { min-width: 230px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-main {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  max-width: 100% !important;
  color: #0f172a !important;
  line-height: 1.18 !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-main strong {
  display: inline !important;
  font-size: 12.8px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
  text-transform: uppercase !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-main span {
  display: inline !important;
  color: #0f172a !important;
  font-size: 12.4px !important;
  text-transform: uppercase !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-advisor {
  display: block !important;
  margin-top: 4px !important;
  color: #0f172a !important;
  font-size: 11.6px !important;
  line-height: 1.22 !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-advisor b { font-weight: 950 !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-status-badge {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: normal !important;
  line-height: 1.06 !important;
  text-align: center !important;
  padding: 6px 9px !important;
}
.preagenda-premium-page table.preagenda-auto-table td[data-label="Confirmación"] {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.preagenda-premium-page table.preagenda-auto-table td[data-label="WhatsApp"] .preagenda-inline-form {
  display: grid !important;
  grid-template-columns: minmax(155px, 1fr) auto !important;
  gap: 6px !important;
  align-items: center !important;
  max-width: 250px !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-template-select {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack {
  min-width: 240px !important;
  grid-template-columns: repeat(2, minmax(108px, 1fr)) !important;
  gap: 6px !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-mini-action {
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 6px 8px !important;
  font-size: 10.4px !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}
@media (max-width: 760px) {
  .preagenda-premium-page table.preagenda-auto-table { min-width: 0 !important; }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-route-cell { min-width: 0 !important; }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-route-main {
    display: inline-flex !important;
    margin-right: 0 !important;
  }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-route-advisor {
    margin-top: 3px !important;
    font-size: 10.8px !important;
  }
  .preagenda-premium-page table.preagenda-auto-table td[data-label="WhatsApp"] .preagenda-inline-form {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack {
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   2026-06-12 v100: Pre-agenda - columnas contenido inteligente
   Procedimiento en líneas, WhatsApp visible y acciones compactas.
   ============================================================ */
.preagenda-premium-page table.preagenda-auto-table {
  min-width: 1120px !important;
  table-layout: auto !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-hora { width: 62px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-paciente { width: 22% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-ruta { width: 21% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-procedimiento { width: 22% !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-confirmacion { width: 108px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-whatsapp { width: 224px !important; }
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-acciones { width: 245px !important; }
.preagenda-premium-page table.preagenda-auto-table th,
.preagenda-premium-page table.preagenda-auto-table td {
  padding: 8px 9px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.preagenda-premium-page table.preagenda-auto-table td[data-label="Procedimiento"],
.preagenda-premium-page table.preagenda-auto-table td[data-label="WhatsApp"],
.preagenda-premium-page table.preagenda-auto-table td[data-label="Acciones"] {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell {
  min-width: 190px !important;
  max-width: 320px !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-title,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-meta,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-total {
  display: block !important;
  line-height: 1.16 !important;
  max-width: 100% !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-title {
  font-size: 12.6px !important;
  font-weight: 950 !important;
  color: #0f172a !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-meta {
  margin-top: 2px !important;
  font-size: 11.5px !important;
  color: #334155 !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-total {
  margin-top: 2px !important;
  font-size: 11.6px !important;
  color: #0f172a !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell {
  min-width: 214px !important;
  max-width: 248px !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form {
  display: grid !important;
  grid-template-columns: minmax(128px, 1fr) minmax(72px, auto) !important;
  gap: 6px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-template-select {
  min-width: 0 !important;
  height: 34px !important;
  padding: 5px 8px !important;
  font-size: 11.5px !important;
  border-radius: 16px !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-mini-action {
  height: 34px !important;
  min-height: 34px !important;
  padding: 5px 9px !important;
  white-space: nowrap !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-state {
  display: block !important;
  margin-top: 4px !important;
  font-size: 10.5px !important;
  line-height: 1.05 !important;
  color: #334155 !important;
}
.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(94px, 1fr)) !important;
  gap: 6px !important;
  min-width: 228px !important;
  max-width: 255px !important;
  align-items: stretch !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action {
  width: 100% !important;
  min-height: 30px !important;
  padding: 5px 7px !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
}
@media (max-width: 760px) {
  .preagenda-premium-page table.preagenda-auto-table { min-width: 0 !important; }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell,
  .preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form {
    grid-template-columns: 1fr auto !important;
  }
  .preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* 2026-06-12 v101: acciones sin No asistirá y columna compacta en ancho. */
.main.preagenda-premium-page table.preagenda-auto-table {
  min-width: 1040px !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-paciente { width: 23% !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-ruta { width: 22% !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-procedimiento { width: 24% !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-whatsapp { width: 214px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-acciones { width: 126px !important; }
.main.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 5px !important;
  min-width: 116px !important;
  max-width: 132px !important;
  width: 126px !important;
  align-items: stretch !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 27px !important;
  padding: 4px 6px !important;
  font-size: 9.8px !important;
  line-height: 1.02 !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .preagenda-premium-page table.preagenda-auto-table { min-width: 0 !important; }
  .preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action {
    min-height: 28px !important;
    white-space: normal !important;
  }
}



/* 2026-06-12 v102: tabla Pre-agenda más compacta, WhatsApp amplio y acciones horizontales. */
.main.preagenda-premium-page table.preagenda-auto-table,
.preagenda-premium-page table.preagenda-auto-table {
  table-layout: auto !important;
  min-width: 1280px !important;
  width: 100% !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-hora,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-hora { width: 64px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-paciente,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-paciente { width: 220px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-ruta,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-ruta { width: 210px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-procedimiento,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-procedimiento { width: 245px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-confirmacion,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-confirmacion { width: 118px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-whatsapp,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-whatsapp { width: 330px !important; }
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-col-acciones,
.preagenda-premium-page table.preagenda-auto-table .preagenda-col-acciones { width: 210px !important; }
.main.preagenda-premium-page table.preagenda-auto-table th,
.main.preagenda-premium-page table.preagenda-auto-table td,
.preagenda-premium-page table.preagenda-auto-table th,
.preagenda-premium-page table.preagenda-auto-table td {
  padding: 8px 10px !important;
  vertical-align: middle !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-route-cell,
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-cell,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell {
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-route-main,
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-main,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-cell {
  line-height: 1.18 !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-route-advisor,
.preagenda-premium-page table.preagenda-auto-table .preagenda-route-advisor,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-meta,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-meta,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-total,
.preagenda-premium-page table.preagenda-auto-table .preagenda-procedure-total {
  margin-top: 3px !important;
  font-size: 11px !important;
  line-height: 1.18 !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell,
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell {
  min-width: 310px !important;
  max-width: 360px !important;
  width: 330px !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form,
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form {
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) 82px !important;
  gap: 7px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-template-select,
.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-template-select {
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  padding: 5px 9px !important;
  font-size: 12px !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-mini-action,
.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-mini-action {
  width: 82px !important;
  min-width: 82px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  white-space: nowrap !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-state,
.preagenda-premium-page table.preagenda-auto-table .preagenda-wa-state {
  display: block !important;
  margin-top: 4px !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
}
.main.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack,
.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  min-width: 198px !important;
  max-width: 222px !important;
  width: 210px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form,
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form {
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action,
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action {
  width: auto !important;
  min-width: 56px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 4px 7px !important;
  font-size: 9.4px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack form:nth-of-type(1) .preagenda-mini-action,
.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack form:nth-of-type(1) .preagenda-mini-action { min-width: 66px !important; }
@media (max-width: 760px) {
  .main.preagenda-premium-page table.preagenda-auto-table,
  .preagenda-premium-page table.preagenda-auto-table { min-width: 0 !important; }
  .main.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell,
  .main.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack,
  .preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .main.preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack,
  .preagenda-premium-page table.preagenda-auto-table td.preagenda-actions-stack {
    justify-content: stretch !important;
    gap: 6px !important;
  }
  .main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
  .main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > a,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack > form {
    flex: 1 1 0 !important;
  }
  .main.preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-actions-stack .preagenda-mini-action {
    width: 100% !important;
    min-width: 0 !important;
  }
  .main.preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form,
  .preagenda-premium-page table.preagenda-auto-table .preagenda-whatsapp-cell .preagenda-inline-form {
    grid-template-columns: 1fr auto !important;
  }
}

/* v104 · Google Sheets parámetros: respaldo premium para mensajes/alertas */
.gs-param-page .miruta-error-diagnostic-card,
.gs-param-page .miruta-notice-card{
  display:flex;gap:13px;align-items:flex-start;margin:0 0 16px;padding:14px 16px;border-radius:18px;
  border:1px solid rgba(248,113,113,.26);border-left:6px solid #ef4444;
  background:linear-gradient(135deg,#fff7f7 0%,#fff 52%,#f8fafc 100%);
  box-shadow:0 18px 46px rgba(127,29,29,.12),0 1px 0 rgba(255,255,255,.85) inset;color:#0f172a;
}
.gs-param-page .miruta-notice-success{border-color:rgba(34,197,94,.28);border-left-color:#22c55e;background:linear-gradient(135deg,#ecfdf5 0%,#fff 58%,#f8fafc 100%);box-shadow:0 18px 46px rgba(21,128,61,.11)}
.gs-param-page .miruta-error-diagnostic-icon,
.gs-param-page .miruta-notice-icon{width:34px;height:34px;min-width:34px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef4444,#991b1b);color:#fff;font-weight:950;box-shadow:0 10px 22px rgba(239,68,68,.28)}
.gs-param-page .miruta-notice-success .miruta-notice-icon{background:linear-gradient(135deg,#22c55e,#047857);box-shadow:0 10px 22px rgba(34,197,94,.25)}
.gs-param-page .miruta-error-diagnostic-body,.gs-param-page .miruta-notice-body{min-width:0;flex:1}
.gs-param-page .miruta-error-diagnostic-title,.gs-param-page .miruta-notice-title{font-size:.88rem;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;color:#7f1d1d;margin-bottom:2px}
.gs-param-page .miruta-notice-success .miruta-notice-title{color:#065f46}
.gs-param-page .miruta-error-context,.gs-param-page .miruta-notice-context{display:inline-flex;align-items:center;margin:2px 0 7px;padding:3px 9px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.72rem;font-weight:900}
.gs-param-page .miruta-error-diagnostic-message,.gs-param-page .miruta-notice-message{font-size:.91rem;line-height:1.35;font-weight:800;color:#1e293b}
.gs-param-page .miruta-error-diagnostic-foot,.gs-param-page .miruta-notice-foot{margin-top:6px;color:#64748b;font-size:.78rem;font-weight:750}
@media(max-width:900px){.gs-param-page .miruta-error-diagnostic-card,.gs-param-page .miruta-notice-card{padding:12px;gap:10px}.gs-param-page .miruta-error-diagnostic-icon,.gs-param-page .miruta-notice-icon{width:30px;height:30px;min-width:30px}}

/* v106 · Base de Datos Google Sheets: selección segura por pestaña y resaltado de filas */
.base-datos-page .bd-gs-highlight{display:flex;gap:5px;align-items:center;flex-wrap:nowrap}
.base-datos-page .bd-gs-highlight select{height:30px;min-width:108px;border:1px solid #bae6fd;border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:850;background:#fff;color:#0f172a}
.base-datos-page .bd-gs-highlight-btn{background:linear-gradient(135deg,#f59e0b,#fde047)!important;color:#422006!important;border:0!important;box-shadow:0 8px 18px rgba(245,158,11,.18)!important}
.base-datos-page .bd-gs-result-fix .miruta-notice-card,
.base-datos-page .miruta-notice-card{display:flex!important;align-items:flex-start!important;gap:12px!important;margin:10px 0 14px!important;padding:13px 14px!important;border-radius:18px!important;background:linear-gradient(135deg,#ecfdf5,#ffffff)!important;border:1px solid #bbf7d0!important;border-left:6px solid #10b981!important;box-shadow:0 16px 36px rgba(15,23,42,.11)!important;color:#0f172a!important}
.base-datos-page .miruta-notice-icon{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:999px!important;background:linear-gradient(135deg,#059669,#22c55e)!important;color:#ffffff!important;font-weight:950!important}
.base-datos-page .miruta-notice-title{font-weight:950!important;color:#064e3b!important}
.base-datos-page .miruta-notice-context{font-weight:850!important;color:#0f766e!important;font-size:.78rem!important}
.base-datos-page .miruta-notice-message{font-weight:850!important;color:#0f172a!important}
.base-datos-page .miruta-notice-foot{font-size:.76rem!important;color:#475569!important;margin-top:2px!important}


/* v113 · Pre-agenda: formulario compacto y organizado */
.preagenda-premium-page .preagenda-compact-form{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.preagenda-premium-page .preagenda-compact-zone{
  min-width:0!important;
  border:1px solid rgba(14,165,233,.16)!important;
  border-radius:18px!important;
  padding:12px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,253,250,.70))!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.82)!important;
}
.preagenda-premium-page .preagenda-zone-consultorio,
.preagenda-premium-page .preagenda-zone-extra{grid-column:2!important;}
.preagenda-premium-page .preagenda-zone-patient,
.preagenda-premium-page .preagenda-zone-cita{grid-column:1!important;}
.preagenda-premium-page .preagenda-zone-bottom{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
.preagenda-premium-page .preagenda-compact-zone-head{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:8px!important;
  padding-bottom:7px!important;
  border-bottom:1px solid rgba(203,213,225,.55)!important;
}
.preagenda-premium-page .preagenda-compact-zone-head strong{
  color:#0f172a!important;
  font-size:.86rem!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
}
.preagenda-premium-page .preagenda-compact-zone-head small{
  color:#64748b!important;
  font-size:.72rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.preagenda-premium-page .preagenda-compact-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:end!important;
}
.preagenda-premium-page .preagenda-compact-field{min-width:0!important;}
.preagenda-premium-page .preagenda-compact-field label,
.preagenda-premium-page .preagenda-extra-field label,
.preagenda-premium-page .preagenda-observaciones label{
  margin-bottom:4px!important;
  font-size:.72rem!important;
  line-height:1.05!important;
  color:#475569!important;
  font-weight:950!important;
}
.preagenda-premium-page .preagenda-compact-field .input,
.preagenda-premium-page .preagenda-extra-field .input,
.preagenda-premium-page .preagenda-observaciones .input{
  min-height:36px!important;
  height:36px!important;
  padding:7px 11px!important;
  border-radius:13px!important;
  font-size:.86rem!important;
}
.preagenda-premium-page .preagenda-observaciones textarea.input{
  height:auto!important;
  min-height:58px!important;
  resize:vertical!important;
}
.preagenda-premium-page .preagenda-field-asesora{grid-column:span 4!important;}
.preagenda-premium-page .preagenda-field-paciente{grid-column:span 5!important;}
.preagenda-premium-page .preagenda-field-id{grid-column:span 3!important;}
.preagenda-premium-page .preagenda-field-celular{grid-column:span 6!important;}
.preagenda-premium-page .preagenda-field-whatsapp{grid-column:span 6!important;}
.preagenda-premium-page .preagenda-field-ruta{grid-column:span 3!important;}
.preagenda-premium-page .preagenda-field-fecha{grid-column:span 2!important;}
.preagenda-premium-page .preagenda-field-hora{grid-column:span 2!important;}
.preagenda-premium-page .preagenda-field-ciudad{grid-column:span 5!important;}
.preagenda-premium-page .preagenda-field-procedimiento{grid-column:span 8!important;}
.preagenda-premium-page .preagenda-field-valor{grid-column:span 4!important;}
.preagenda-premium-page .preagenda-compact-form .phone-country-field small,
.preagenda-premium-page .preagenda-compact-form .preagenda-compact-field > small:not(#preagendaCiudadAviso){display:none!important;}
.preagenda-premium-page .preagenda-compact-form .phone-country-row{
  display:grid!important;
  grid-template-columns:minmax(104px,.85fr) minmax(0,1fr)!important;
  gap:6px!important;
  align-items:center!important;
}
.preagenda-premium-page .preagenda-compact-form .phone-country-select,
.preagenda-premium-page .preagenda-compact-form .phone-country-number{
  min-width:0!important;
  width:100%!important;
}
.preagenda-premium-page .preagenda-compact-hint{
  display:block!important;
  min-height:13px!important;
  margin-top:3px!important;
  font-size:.68rem!important;
  line-height:1.15!important;
  color:#0f766e!important;
  font-weight:800!important;
}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini{
  padding:9px!important;
  border-radius:16px!important;
  gap:6px!important;
  box-shadow:none!important;
}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini-title{
  gap:3px!important;
}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini-title strong{
  font-size:.84rem!important;
  line-height:1.1!important;
}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini-fact{
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:6px!important;
  padding:5px 7px!important;
  border-radius:11px!important;
}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini-fact b{font-size:.62rem!important;}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-mini-fact span{font-size:.76rem!important;line-height:1.16!important;}
.preagenda-premium-page .preagenda-zone-consultorio .preagenda-consultorio-map{min-height:32px!important;padding:6px 10px!important;font-size:.75rem!important;}
.preagenda-premium-page .preagenda-zone-extra .preagenda-extra-picker{
  padding:8px!important;
  gap:7px!important;
  border-radius:16px!important;
}
.preagenda-premium-page .preagenda-zone-extra .preagenda-extra-add-row{
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:7px!important;
}
.preagenda-premium-page .preagenda-zone-extra .preagenda-add-extra-btn{
  min-height:36px!important;
  padding:6px 10px!important;
  font-size:.74rem!important;
}
.preagenda-premium-page .preagenda-zone-extra .preagenda-extra-help{display:none!important;}
.preagenda-premium-page .preagenda-zone-extra .preagenda-total-preview{
  margin-top:5px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
}
.preagenda-premium-page .preagenda-zone-extra .preagenda-total-preview strong{font-size:1rem!important;}
.preagenda-premium-page .preagenda-zone-extra .preagenda-total-preview small{font-size:.68rem!important;}
.preagenda-premium-page .preagenda-zone-bottom .preagenda-form-actions{
  grid-column:auto!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:190px!important;
}
.preagenda-premium-page .preagenda-zone-bottom .preagenda-form-actions .btn{
  width:100%!important;
  min-height:40px!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
@media (max-width:1180px){
  .preagenda-premium-page .preagenda-compact-form{grid-template-columns:1fr!important;}
  .preagenda-premium-page .preagenda-zone-patient,
  .preagenda-premium-page .preagenda-zone-cita,
  .preagenda-premium-page .preagenda-zone-consultorio,
  .preagenda-premium-page .preagenda-zone-extra{grid-column:1!important;}
}
@media (max-width:860px){
  .preagenda-premium-page .preagenda-compact-grid{grid-template-columns:1fr!important;}
  .preagenda-premium-page .preagenda-compact-field,
  .preagenda-premium-page .preagenda-field-asesora,
  .preagenda-premium-page .preagenda-field-paciente,
  .preagenda-premium-page .preagenda-field-id,
  .preagenda-premium-page .preagenda-field-celular,
  .preagenda-premium-page .preagenda-field-whatsapp,
  .preagenda-premium-page .preagenda-field-ruta,
  .preagenda-premium-page .preagenda-field-fecha,
  .preagenda-premium-page .preagenda-field-hora,
  .preagenda-premium-page .preagenda-field-ciudad,
  .preagenda-premium-page .preagenda-field-procedimiento,
  .preagenda-premium-page .preagenda-field-valor{grid-column:1!important;}
  .preagenda-premium-page .preagenda-zone-bottom{grid-template-columns:1fr!important;}
  .preagenda-premium-page .preagenda-zone-bottom .preagenda-form-actions{min-width:0!important;}
  .preagenda-premium-page .preagenda-compact-zone-head{align-items:flex-start!important;flex-direction:column!important;gap:2px!important;}
  .preagenda-premium-page .preagenda-compact-zone-head small{white-space:normal!important;}
}

/* v120 · Inventario coordinador: despachos registrados con scroll real móvil */
body.inventory-premium-page .vd-dispatch-scroll-shell,
.vd-dispatch-scroll-shell {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  max-height:min(72vh, 720px) !important;
  overflow:auto !important;
  overflow-x:auto !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  touch-action:pan-x pan-y !important;
  scrollbar-gutter:stable both-edges;
  border-radius:18px !important;
  border:1px solid rgba(148,163,184,.22) !important;
  background:
    linear-gradient(180deg,rgba(248,250,252,.92),rgba(255,255,255,.96)) padding-box,
    linear-gradient(135deg,rgba(14,165,233,.35),rgba(20,184,166,.25)) border-box !important;
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}

body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table,
.vd-dispatch-scroll-shell .vd-dispatch-table {
  width:100% !important;
  min-width:1040px !important;
  table-layout:auto !important;
  margin:0 !important;
}

body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > thead th,
.vd-dispatch-scroll-shell .vd-dispatch-table > thead th {
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  white-space:nowrap !important;
}

body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr > td,
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr > td {
  white-space:normal !important;
  vertical-align:top !important;
}

body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(1),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(1) { min-width:118px; }
body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(2),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(2) { min-width:190px; }
body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(3),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(3) { min-width:145px; }
body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(4),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(4) { min-width:145px; }
body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(7),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(7) { min-width:165px; }
body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(8),
.vd-dispatch-scroll-shell .vd-dispatch-table > tbody > tr:not(.vd-dispatch-detail-row) > td:nth-child(8) { min-width:118px; }

body.inventory-premium-page .vd-dispatch-detail-row > td,
.vd-dispatch-detail-row > td {
  background:#fff !important;
  min-width:1040px !important;
}

body.inventory-premium-page .vd-dispatch-detail-row details,
.vd-dispatch-detail-row details {
  min-width:980px !important;
}

body.inventory-premium-page .vd-dispatch-detail-row .table-wrap,
.vd-dispatch-detail-row .table-wrap {
  max-width:100% !important;
  overflow:auto !important;
  overflow-x:auto !important;
  overflow-y:auto !important;
  max-height:min(54vh, 520px) !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-x pan-y !important;
  overscroll-behavior:contain !important;
}

body.inventory-premium-page .vd-dispatch-detail-row .table-wrap table,
.vd-dispatch-detail-row .table-wrap table,
body.inventory-premium-page .vd-dispatch-detail-row .vd-dispatch-items-table,
.vd-dispatch-detail-row .vd-dispatch-items-table {
  min-width:860px !important;
  width:100% !important;
}

body.inventory-premium-page .vd-dispatch-scroll-shell .btn,
.vd-dispatch-scroll-shell .btn {
  white-space:nowrap !important;
}

@media (max-width: 760px) {
  body.inventory-premium-page .vd-dispatch-scroll-shell,
  .vd-dispatch-scroll-shell {
    max-height:68vh !important;
    border-radius:14px !important;
    margin-left:-2px !important;
    margin-right:-2px !important;
  }
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table,
  .vd-dispatch-scroll-shell .vd-dispatch-table {
    min-width:960px !important;
  }
  body.inventory-premium-page .vd-dispatch-detail-row > td,
  .vd-dispatch-detail-row > td {
    min-width:960px !important;
  }
  body.inventory-premium-page .vd-dispatch-detail-row details,
  .vd-dispatch-detail-row details {
    min-width:900px !important;
  }
  body.inventory-premium-page .vd-dispatch-info-grid,
  .vd-dispatch-info-grid {
    grid-template-columns:repeat(2,minmax(145px,1fr)) !important;
  }
}


/* v121 · Inventario coordinador: despachos registrados con scroll tipo Inventario de mi ruta */
@media(max-width:820px){
  body.inventory-premium-page .vd-dispatch-scroll-shell{display:block!important;position:relative!important;width:100%!important;max-width:calc(100vw - 24px)!important;height:330px!important;max-height:46dvh!important;min-height:230px!important;overflow:scroll!important;overflow-x:scroll!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;scrollbar-gutter:stable both-edges!important;border:1px solid rgba(148,163,184,.45)!important;border-radius:14px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 18px rgba(15,23,42,.07)!important;padding:0!important;isolation:isolate!important;contain:paint!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell::after{content:"Toca el cuadro y desliza ↔ / ↕";position:sticky!important;left:8px!important;bottom:6px!important;z-index:8!important;display:inline-flex!important;width:max-content!important;margin:6px!important;padding:4px 8px!important;border-radius:999px!important;background:rgba(15,23,42,.78)!important;color:#ffffff!important;font-size:10px!important;font-weight:900!important;pointer-events:none!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table{display:table!important;table-layout:fixed!important;width:1040px!important;min-width:1040px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;font-size:10.5px!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table thead{display:table-header-group!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table tbody{display:table-row-group!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table tr{display:table-row!important;width:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th,body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td{display:table-cell!important;width:auto!important;min-width:0!important;max-width:none!important;padding:6px 7px!important;border-right:1px solid rgba(226,232,240,.95)!important;border-bottom:1px solid rgba(226,232,240,.95)!important;color:#0f172a!important;font-size:10.8px!important;line-height:1.14!important;text-align:left!important;vertical-align:middle!important;white-space:nowrap!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td::before{content:none!important;display:none!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th{position:sticky!important;top:0!important;z-index:9!important;background:linear-gradient(180deg,#f8fafc,#eaf2ff)!important;color:#334155!important;font-size:9.5px!important;font-weight:950!important;letter-spacing:.03em!important;text-transform:uppercase!important;box-shadow:0 1px 0 rgba(148,163,184,.4)!important;}
  body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(1),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(1){width:118px!important;min-width:118px!important;max-width:118px!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(2),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(2){width:205px!important;min-width:205px!important;max-width:205px!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(3),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(3){width:150px!important;min-width:150px!important;max-width:150px!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(4),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(4){width:145px!important;min-width:145px!important;max-width:145px!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(5),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(5){width:70px!important;min-width:70px!important;max-width:70px!important;text-align:center!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(6),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(6){width:100px!important;min-width:100px!important;max-width:100px!important;text-align:center!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(7),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(7){width:170px!important;min-width:170px!important;max-width:170px!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table th:nth-child(8),body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table td:nth-child(8){width:125px!important;min-width:125px!important;max-width:125px!important;text-align:center!important;}
  body.inventory-premium-page .vd-dispatch-detail-row > td{width:1040px!important;min-width:1040px!important;max-width:1040px!important;padding:7px!important;background:#fff!important;white-space:normal!important;}body.inventory-premium-page .vd-dispatch-detail-row details{width:100%!important;min-width:0!important;max-width:100%!important;}body.inventory-premium-page .vd-dispatch-detail-row .table-wrap{display:block!important;position:relative!important;width:100%!important;max-width:100%!important;height:245px!important;max-height:42dvh!important;min-height:170px!important;overflow:scroll!important;overflow-x:scroll!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y!important;border-radius:12px!important;border:1px solid rgba(148,163,184,.36)!important;background:#fff!important;padding:0!important;}body.inventory-premium-page .vd-dispatch-detail-row .table-wrap table,body.inventory-premium-page .vd-dispatch-detail-row .vd-dispatch-items-table{display:table!important;table-layout:fixed!important;width:920px!important;min-width:920px!important;max-width:none!important;}
}
@media(max-width:430px) and (orientation:portrait){body.inventory-premium-page .vd-dispatch-scroll-shell{max-width:calc(100vw - 18px)!important;height:315px!important;max-height:44dvh!important;min-height:220px!important;}body.inventory-premium-page .vd-dispatch-scroll-shell .vd-dispatch-table{width:1000px!important;min-width:1000px!important;}body.inventory-premium-page .vd-dispatch-detail-row > td{width:1000px!important;min-width:1000px!important;max-width:1000px!important;}}

/* v123 · Inventario: detalle de despachos con un solo botón premium Desplegar/Contraer */
.vd-inventory-full .vd-dispatch-detail-panel > summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  list-style:none!important;
  cursor:pointer!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(239,246,255,.94))!important;
  border:1px solid rgba(148,163,184,.28)!important;
}
.vd-inventory-full .vd-dispatch-detail-panel > summary::-webkit-details-marker{display:none!important;}
.vd-inventory-full .vd-dispatch-detail-panel > summary::marker{content:""!important;}
.vd-inventory-full .vd-dispatch-detail-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
.vd-inventory-full .vd-dispatch-main-toggle{flex:0 0 auto!important;min-height:30px!important;padding:6px 10px!important;border-radius:999px!important;box-shadow:0 7px 16px rgba(15,23,42,.08)!important;}

/* v124 · Inventario / Despachos registrados: rediseño compacto tipo Excel, un solo botón premium y scroll nativo móvil */
.vd-inventory-full .vd-dispatch-scroll-shell{
  position:relative!important;
  display:block!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior:contain!important;
  border-radius:16px!important;
  border:1px solid rgba(148,163,184,.34)!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 10px 26px rgba(15,23,42,.07)!important;
}
.vd-inventory-full .vd-dispatch-scroll-shell::after{content:none!important;display:none!important;}
.vd-inventory-full .vd-dispatch-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  min-width:980px!important;
  width:980px!important;
  background:#fff!important;
}
.vd-inventory-full .vd-dispatch-table th,
.vd-inventory-full .vd-dispatch-table td{
  display:table-cell!important;
  border-right:1px solid rgba(226,232,240,.95)!important;
  border-bottom:1px solid rgba(226,232,240,.95)!important;
  padding:6px 8px!important;
  font-size:11px!important;
  line-height:1.16!important;
  vertical-align:middle!important;
  white-space:normal!important;
}
.vd-inventory-full .vd-dispatch-table th{
  position:sticky!important;
  top:0!important;
  z-index:12!important;
  background:linear-gradient(180deg,#f8fafc,#eaf2ff)!important;
  color:#334155!important;
  font-size:9.5px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.vd-inventory-full .vd-dispatch-table td::before{content:none!important;display:none!important;}
.vd-inventory-full .vd-dispatch-summary-row:hover td{background:#f8fafc!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(1),
.vd-inventory-full .vd-dispatch-table td:nth-child(1){width:112px!important;min-width:112px!important;max-width:112px!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(2),
.vd-inventory-full .vd-dispatch-table td:nth-child(2){width:178px!important;min-width:178px!important;max-width:178px!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(3),
.vd-inventory-full .vd-dispatch-table td:nth-child(3){width:145px!important;min-width:145px!important;max-width:145px!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(4),
.vd-inventory-full .vd-dispatch-table td:nth-child(4){width:135px!important;min-width:135px!important;max-width:135px!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(5),
.vd-inventory-full .vd-dispatch-table td:nth-child(5){width:64px!important;min-width:64px!important;max-width:64px!important;text-align:center!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(6),
.vd-inventory-full .vd-dispatch-table td:nth-child(6){width:88px!important;min-width:88px!important;max-width:88px!important;text-align:center!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(7),
.vd-inventory-full .vd-dispatch-table td:nth-child(7){width:155px!important;min-width:155px!important;max-width:155px!important;}
.vd-inventory-full .vd-dispatch-table th:nth-child(8),
.vd-inventory-full .vd-dispatch-table td:nth-child(8){width:103px!important;min-width:103px!important;max-width:103px!important;text-align:center!important;}
.vd-inventory-full .vd-dispatch-code-link{color:#0f766e!important;font-weight:950!important;text-decoration:none!important;cursor:default!important;}
.vd-inventory-full .vd-dispatch-toggle-btn{width:100%!important;min-height:28px!important;padding:5px 8px!important;border-radius:999px!important;font-size:10px!important;line-height:1!important;justify-content:center!important;}
.vd-inventory-full .vd-dispatch-detail-row:not(.is-open){display:none!important;}
.vd-inventory-full .vd-dispatch-detail-row > td{background:#f8fafc!important;padding:7px!important;white-space:normal!important;}
.vd-inventory-full .vd-dispatch-detail-panel{display:block!important;border:1px solid rgba(148,163,184,.32)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 10px 22px rgba(15,23,42,.06)!important;padding:10px!important;}
.vd-inventory-full .vd-dispatch-detail-panel summary,
.vd-inventory-full .vd-dispatch-detail-panel .vd-details-toggle-btn,
.vd-inventory-full .vd-dispatch-detail-panel [data-details-toggle]{display:none!important;}
.vd-inventory-full .vd-dispatch-detail-bar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important;padding:8px 10px!important;border-radius:12px!important;background:linear-gradient(135deg,#f8fafc,#eff6ff)!important;border:1px solid rgba(148,163,184,.28)!important;}
.vd-inventory-full .vd-dispatch-detail-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
.vd-inventory-full .vd-dispatch-info-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:6px!important;margin:8px 0!important;}
.vd-inventory-full .vd-dispatch-info-grid>div{padding:6px 8px!important;border-radius:10px!important;}
.vd-inventory-full .vd-dispatch-info-grid small{font-size:9px!important;}
.vd-inventory-full .vd-dispatch-info-grid strong{font-size:11px!important;}
.vd-inventory-full .vd-dispatch-note{font-size:11px!important;padding:7px 8px!important;border-radius:10px!important;margin:6px 0!important;}
.vd-inventory-full .vd-dispatch-detail-row .table-wrap{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  height:220px!important;
  max-height:40dvh!important;
  min-height:150px!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior:contain!important;
  border:1px solid rgba(148,163,184,.32)!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:0!important;
}
.vd-inventory-full .vd-dispatch-detail-row .table-wrap table,
.vd-inventory-full .vd-dispatch-detail-row .vd-dispatch-items-table{
  display:table!important;
  table-layout:fixed!important;
  width:760px!important;
  min-width:760px!important;
  max-width:none!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.vd-inventory-full .vd-dispatch-detail-row .table-wrap th,
.vd-inventory-full .vd-dispatch-detail-row .table-wrap td{
  display:table-cell!important;
  padding:5px 7px!important;
  border-right:1px solid rgba(226,232,240,.95)!important;
  border-bottom:1px solid rgba(226,232,240,.95)!important;
  font-size:10.5px!important;
  line-height:1.13!important;
  white-space:normal!important;
}
.vd-inventory-full .vd-dispatch-detail-row .table-wrap th{position:sticky!important;top:0!important;z-index:8!important;background:#f8fafc!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.03em!important;}
.vd-inventory-full .vd-dispatch-detail-row .table-wrap td::before{content:none!important;display:none!important;}
@media(max-width:820px){
  .vd-inventory-full .vd-dispatch-scroll-shell{max-width:calc(100vw - 18px)!important;height:360px!important;max-height:58dvh!important;min-height:260px!important;}
  .vd-inventory-full .vd-dispatch-table{width:980px!important;min-width:980px!important;}
  .vd-inventory-full .vd-dispatch-detail-row > td{width:980px!important;min-width:980px!important;max-width:980px!important;}
  .vd-inventory-full .vd-dispatch-info-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important;}
  .vd-inventory-full .vd-dispatch-detail-row .table-wrap{height:235px!important;max-height:45dvh!important;}
}
@media(max-width:430px){
  .vd-inventory-full .vd-dispatch-scroll-shell{height:340px!important;max-height:56dvh!important;}
  .vd-inventory-full .vd-dispatch-table{width:940px!important;min-width:940px!important;}
  .vd-inventory-full .vd-dispatch-detail-row > td{width:940px!important;min-width:940px!important;max-width:940px!important;}
}


/* v125 · Inventario / Despachos registrados: hard-fix Samsung S25 Ultra / Chrome Android.
   El CSS v121 usaba touch-action:none!important con selector body.inventory-premium-page,
   lo que bloqueaba el pan nativo en móviles modernos. Este override mantiene la tabla Excel
   compacta, pero permite desplazamiento horizontal y vertical real dentro del cuadro. */
@media(max-width:900px){
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-scroll-shell,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-row .table-wrap{
    display:block!important;
    overflow:auto!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:auto!important;
    contain:none!important;
    pointer-events:auto!important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-scroll-shell{
    max-width:calc(100vw - 18px)!important;
    height:360px!important;
    max-height:58dvh!important;
    min-height:260px!important;
    cursor:grab!important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-scroll-shell:active{cursor:grabbing!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-scroll-shell::before{
    content:"Desliza dentro del cuadro ↔ / ↕";
    position:sticky!important;
    left:8px!important;
    bottom:8px!important;
    z-index:20!important;
    display:inline-flex!important;
    width:max-content!important;
    margin:6px!important;
    padding:4px 9px!important;
    border-radius:999px!important;
    background:rgba(15,23,42,.82)!important;
    color:#ffffff!important;
    font-size:10px!important;
    font-weight:950!important;
    line-height:1!important;
    pointer-events:none!important;
    box-shadow:0 8px 18px rgba(15,23,42,.20)!important;
  }
}


/* v126 · Inventario / Despachos registrados responsive real */
/* v126: Despachos registrados responsive real. Sin tabla principal, sin scroll interno obligatorio. */
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel{
  border:1px solid rgba(14,165,233,.16)!important;
  box-shadow:0 18px 46px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell{
  display:block!important;
}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px 16px!important;
  cursor:pointer!important;
  list-style:none!important;
  background:linear-gradient(135deg,#f8fafc 0%,#eef6ff 54%,#ecfeff 100%)!important;
  border-radius:18px!important;
  border:1px solid rgba(148,163,184,.22)!important;
}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary::-webkit-details-marker{display:none!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary::marker{content:""!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy h3{margin:0!important;font-size:18px!important;line-height:1.15!important;color:#0f172a!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy p{margin:3px 0 0!important;color:#64748b!important;font-size:12px!important;line-height:1.35!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-meta{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-summary-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;padding:7px 12px!important;border-radius:999px!important;background:#0f172a!important;color:#ffffff!important;font-size:11px!important;font-weight:950!important;box-shadow:0 10px 24px rgba(15,23,42,.16)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell[open] .vd-dispatch-summary-action::before{content:"Ocultar"!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell[open] .vd-dispatch-summary-action{font-size:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell[open] .vd-dispatch-summary-action::before{font-size:11px!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-body{padding:14px 2px 2px!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;max-width:100%!important;overflow:visible!important;touch-action:auto!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card{display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;width:100%!important;max-width:100%!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:18px!important;padding:12px!important;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;box-shadow:0 14px 32px rgba(15,23,42,.07)!important;overflow:hidden!important;touch-action:auto!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title small,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-field small,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card small,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card small{font-size:10px!important;line-height:1.15!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:#64748b!important;font-weight:850!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title strong{font-size:15px!important;line-height:1.1!important;color:#0f766e!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title span{font-size:11px!important;color:#64748b!important;line-height:1.24!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-field{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;padding:8px!important;border-radius:13px!important;background:rgba(248,250,252,.94)!important;border:1px solid rgba(226,232,240,.92)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-field strong{font-size:12px!important;color:#0f172a!important;line-height:1.18!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-field span,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-field a{font-size:10.5px!important;color:#475569!important;line-height:1.2!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-alert,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-note{margin:0!important;padding:8px 10px!important;border-radius:13px!important;background:#fff7ed!important;border:1px solid rgba(251,146,60,.24)!important;color:#9a3412!important;font-size:11px!important;line-height:1.3!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-toggle-btn{width:auto!important;min-width:128px!important;max-width:100%!important;min-height:34px!important;padding:8px 13px!important;border-radius:999px!important;font-size:11px!important;line-height:1!important;justify-content:center!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-card{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;padding-top:4px!important;overflow:visible!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-card:not(.is-open){display:none!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-panel{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border:1px solid rgba(14,165,233,.16)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 12px 28px rgba(15,23,42,.06)!important;padding:10px!important;overflow:visible!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:8px!important;padding:8px 10px!important;border-radius:14px!important;background:linear-gradient(135deg,#f8fafc,#eff6ff)!important;border:1px solid rgba(148,163,184,.24)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-title strong{font-size:13px!important;line-height:1.15!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:8px 0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid>div{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;padding:7px 8px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid rgba(226,232,240,.9)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid small{font-size:9.5px!important;line-height:1.1!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#64748b!important;font-weight:850!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid strong{font-size:11.5px!important;line-height:1.18!important;word-break:break-word!important;color:#0f172a!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-list,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:8px!important;width:100%!important;margin:8px 0!important;overflow:visible!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;align-items:center!important;width:100%!important;min-width:0!important;padding:9px!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card>div:first-child,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card>span{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card strong,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card strong{font-size:12px!important;line-height:1.18!important;color:#0f172a!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card p{grid-column:1/-1!important;margin:0!important;font-size:11px!important;color:#64748b!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card{grid-template-columns:minmax(0,1fr) 86px!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card input{width:100%!important;min-width:0!important;text-align:center!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-form{margin-top:10px!important;padding-top:10px!important;border-top:1px dashed rgba(148,163,184,.38)!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel .table-wrap,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel table{max-width:100%!important;min-width:0!important;overflow:visible!important;}
@media(max-width:900px){
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-list{grid-template-columns:1fr!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary{align-items:flex-start!important;flex-direction:column!important;padding:12px!important;border-radius:16px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-meta{width:100%!important;justify-content:space-between!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-body{padding-top:10px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card{padding:10px!important;border-radius:16px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-head{flex-direction:column!important;align-items:stretch!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-field{padding:7px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-actions{justify-content:stretch!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-toggle-btn{width:100%!important;min-width:0!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-detail-bar{align-items:flex-start!important;flex-direction:column!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-list,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-grid{grid-template-columns:1fr!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card{grid-template-columns:minmax(0,1fr) 72px 72px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-card{grid-template-columns:minmax(0,1fr) 74px!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy h3{font-size:17px!important;}
}
@media(max-width:390px){
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid{grid-template-columns:1fr!important;}
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-card{grid-template-columns:1fr!important;align-items:start!important;}
}

body.inventory-premium-page .vd-inventory-full .vd-panel-premium-summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;padding:14px!important;border-radius:22px!important;background:linear-gradient(135deg,#ffffff,#ecfeff)!important;border:1px solid rgba(14,165,233,.18)!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important;cursor:default!important;}
body.inventory-premium-page .vd-inventory-full .vd-panel-toggle-btn,
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:126px!important;min-height:36px!important;padding:8px 14px!important;border-radius:999px!important;background:linear-gradient(135deg,#0f172a,#0e7490,#14b8a6)!important;color:#ffffff!important;border:0!important;font-size:11px!important;font-weight:950!important;box-shadow:0 12px 28px rgba(15,23,42,.16)!important;}
body.inventory-premium-page .vd-inventory-full .vd-panel-toggle-btn[aria-expanded="true"],
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-toggle[aria-expanded="true"]{background:linear-gradient(135deg,#ffffff,#eef6ff)!important;color:#0f172a!important;border:1px solid rgba(14,165,233,.22)!important;}
body.inventory-premium-page .vd-inventory-full [aria-expanded="true"] .vd-toggle-collapsed-label,
body.inventory-premium-page .vd-inventory-full [aria-expanded="false"] .vd-toggle-expanded-label{display:none!important;}
body.inventory-premium-page .vd-inventory-full [aria-expanded="false"] .vd-toggle-collapsed-label,
body.inventory-premium-page .vd-inventory-full [aria-expanded="true"] .vd-toggle-expanded-label{display:inline!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-summary-action{display:none!important;}
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel>details,
body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell{display:contents!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-responsive-panel{overflow:hidden!important;border-radius:28px!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-list{display:grid!important;gap:12px!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-card{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:20px!important;background:linear-gradient(180deg,#ffffff,#f8fbff)!important;box-shadow:0 16px 38px rgba(15,23,42,.08)!important;overflow:hidden!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-card.is-open{box-shadow:0 22px 54px rgba(15,23,42,.12)!important;border-color:rgba(14,165,233,.28)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-head{display:grid!important;grid-template-columns:minmax(0,1.2fr) auto auto!important;gap:12px!important;align-items:center!important;padding:14px!important;background:linear-gradient(135deg,#ffffff,#ecfeff)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title small,
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-title small,
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid small{font-size:10px!important;line-height:1.1!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:#64748b!important;font-weight:850!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title strong{font-size:16px!important;line-height:1.12!important;color:#0f766e!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title span{font-size:11.5px!important;color:#64748b!important;line-height:1.25!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics span{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:72px!important;text-align:center!important;padding:6px 8px!important;border-radius:14px!important;background:#fff!important;border:1px solid rgba(226,232,240,.92)!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics small{font-size:9.5px!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.035em!important;font-weight:850!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics strong{font-size:15px!important;color:#0f172a!important;line-height:1!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-body{padding:12px!important;border-top:1px solid rgba(14,165,233,.16)!important;background:linear-gradient(180deg,#f8fbff,#ffffff)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;width:100%!important;padding:11px!important;border-radius:17px!important;background:#fff!important;border:1px solid rgba(226,232,240,.95)!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;overflow:hidden!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item.is-warning{border-left:5px solid #f59e0b!important;background:linear-gradient(180deg,#fff,#fff7ed)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item.is-danger{border-left:5px solid #ef4444!important;background:linear-gradient(180deg,#fff,#fef2f2)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item.is-ok{border-left:5px solid #14b8a6!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-title{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-title strong{font-size:13px!important;line-height:1.18!important;color:#0f172a!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-title span{font-size:10.5px!important;color:#64748b!important;line-height:1.2!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid>div{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;padding:7px 8px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid rgba(226,232,240,.9)!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid strong{font-size:12px!important;color:#0f172a!important;line-height:1.18!important;word-break:break-word!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-state{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%!important;border-radius:999px!important;padding:3px 8px!important;background:#e0f2fe!important;color:#075985!important;font-weight:950!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item.is-warning .vd-route-inventory-state{background:#ffedd5!important;color:#9a3412!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item.is-danger .vd-route-inventory-state{background:#fee2e2!important;color:#991b1b!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-stock-detail .vd-route-main-toggle,
body.inventory-premium-page .vd-inventory-full .vd-route-stock-detail .vd-details-toggle-btn{display:none!important;}
@media(max-width:900px){body.inventory-premium-page .vd-inventory-full .vd-panel-premium-summary{align-items:flex-start!important;flex-direction:column!important;}body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-meta{width:100%!important;justify-content:space-between!important;}body.inventory-premium-page .vd-inventory-full .vd-route-inventory-head{grid-template-columns:1fr!important;align-items:start!important;}body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics{justify-content:stretch!important;}body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics span{flex:1 1 86px!important;}body.inventory-premium-page .vd-inventory-full .vd-route-inventory-toggle{width:100%!important;}}
@media(max-width:560px){body.inventory-premium-page .vd-inventory-full .vd-route-inventory-grid{grid-template-columns:1fr!important;}body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid{grid-template-columns:1fr 1fr!important;}body.inventory-premium-page .vd-inventory-full .vd-panel-toggle-btn{width:100%!important;}body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-meta{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}}
@media(max-width:390px){body.inventory-premium-page .vd-inventory-full .vd-route-inventory-item-grid{grid-template-columns:1fr!important;}}

/* v127 médico: finalizar consulta con informe enviado desde Atención diaria */
body.medico-premium-buttons .main .medico-finalize-sent-form{display:inline-flex!important;margin:0!important;}
body.medico-premium-buttons .main .medico-finalize-sent-btn{min-height:34px!important;white-space:nowrap!important;}
body.medico-premium-buttons .main .medico-inline-alert{margin:0 0 12px!important;border-radius:16px!important;}

/* v128: visibilidad parametrizable de productos en ruta/coordinador */
body.inventory-premium-page .vd-inventory-full .vd-route-visible-option{display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;padding:9px 11px!important;border-radius:16px!important;border:1px solid rgba(14,165,233,.20)!important;background:linear-gradient(135deg,#fff,#ecfeff)!important;box-shadow:0 8px 18px rgba(15,23,42,.05)!important;cursor:pointer!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-visible-option input{width:18px!important;height:18px!important;accent-color:#0e7490!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-visible-option span{display:flex!important;flex-direction:column!important;gap:2px!important;line-height:1.15!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-visible-option strong{font-size:12px!important;color:#0f172a!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-visible-option small{font-size:10.5px!important;color:#64748b!important;font-weight:800!important;}
body.inventory-premium-page .vd-inventory-full .vd-route-visible-cell{text-align:center!important;min-width:116px!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;cursor:pointer!important;white-space:nowrap!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input{position:absolute!important;opacity:0!important;pointer-events:none!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini>span{position:relative!important;width:38px!important;height:21px!important;border-radius:999px!important;background:#cbd5e1!important;box-shadow:inset 0 1px 3px rgba(15,23,42,.25)!important;transition:.18s!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini>span:before{content:''!important;position:absolute!important;top:3px!important;left:3px!important;width:15px!important;height:15px!important;border-radius:999px!important;background:#fff!important;box-shadow:0 2px 6px rgba(15,23,42,.25)!important;transition:.18s!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:checked+span{background:linear-gradient(135deg,#0e7490,#14b8a6)!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:checked+span:before{transform:translateX(17px)!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini em{font-style:normal!important;font-size:11px!important;font-weight:950!important;color:#0f172a!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:checked~em .off,
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:not(:checked)~em .on{display:none!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:not(:checked)~em .off{color:#991b1b!important;}
body.inventory-premium-page .vd-inventory-full .vd-switch-mini input:checked~em .on{color:#047857!important;}

/* v132 · Indicativos y calendario laboral premium */
.phone-country-settings-admin .phone-country-toggle.is-inactive{opacity:.72;background:rgba(248,250,252,.92);border-style:dashed;color:#64748b;}
.phone-country-settings-admin .phone-country-toggle.is-active{background:linear-gradient(135deg,#ffffff,#f0fdfa);border-color:rgba(20,184,166,.28);}
.phone-country-admin-form{margin-top:12px;padding:16px;border:1px solid rgba(20,184,166,.18);border-radius:22px;background:linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:0 16px 36px rgba(15,23,42,.07);}
.vd-holiday-import-form{padding:16px;border:1px solid rgba(14,165,233,.20);border-radius:22px;background:linear-gradient(135deg,#ffffff,#eff6ff 58%,#f0fdfa);box-shadow:0 16px 38px rgba(15,23,42,.08);}
.dia-laboral-chip,.dia-laboral-mini,.hoja-day-status-badge,.global-nonlabor-banner{border:1px solid transparent;}
.dia-laboral-mini{display:inline-flex;margin-top:5px;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-size:.66rem;font-weight:950;line-height:1;white-space:normal;}
.dia-laboral-row.laboral-festivo td,.preagenda-week-excel-table tr.laboral-festivo td{background:#fff7ed!important;}
.dia-laboral-row.laboral-domingo td,.preagenda-week-excel-table tr.laboral-domingo td{background:#f8fafc!important;}
.dia-laboral-row.laboral-festivo-trabajado td,.preagenda-week-excel-table tr.laboral-festivo-trabajado td{background:#ecfdf5!important;}
.dia-laboral-chip.laboral-festivo,.dia-laboral-mini.laboral-festivo{background:#ffedd5!important;color:#9a3412!important;border-color:#fed7aa!important;}
.dia-laboral-chip.laboral-domingo,.dia-laboral-mini.laboral-domingo{background:#e2e8f0!important;color:#334155!important;border-color:#cbd5e1!important;}
.dia-laboral-chip.laboral-festivo-trabajado,.dia-laboral-mini.laboral-festivo-trabajado,.dia-laboral-chip.laboral-domingo-trabajado,.dia-laboral-mini.laboral-domingo-trabajado{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;}
.global-nonlabor-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:13px 16px;border-radius:20px;font-weight:900;box-shadow:0 14px 34px rgba(15,23,42,.08);}
.global-nonlabor-banner.laboral-festivo{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#9a3412;border-color:#fed7aa;}
.global-nonlabor-banner.laboral-domingo,.global-nonlabor-banner.laboral-no{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#334155;border-color:#cbd5e1;}
.hoja-day-status-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:950;line-height:1.15;white-space:normal;}
.hoja-day-status-badge.laboral-festivo{background:#ffedd5;color:#9a3412;border-color:#fed7aa;}
.hoja-day-status-badge.laboral-domingo,.hoja-day-status-badge.laboral-no{background:#e2e8f0;color:#334155;border-color:#cbd5e1;}
.hoja-day-status-badge.laboral-festivo-trabajado,.hoja-day-status-badge.laboral-domingo-trabajado,.hoja-day-status-badge.laboral-ok{background:#dcfce7;color:#166534;border-color:#bbf7d0;}
@media(max-width:720px){.vd-holiday-import-form .grid{grid-template-columns:1fr!important}.phone-country-admin-form{padding:12px}.global-nonlabor-banner{align-items:flex-start;flex-direction:column}.hoja-day-status-badge{width:100%;justify-content:center}}

/* v133 · Calendario laboral por ruta simplificado */
.dia-laboral-chip.laboral-ok,.dia-laboral-mini.laboral-ok{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;}
.dia-laboral-row.laboral-ok td,.preagenda-week-excel-table tr.laboral-ok td{background:#ecfdf5!important;}

/* v134 · Hoja diaria coordinador: distintivo premium móvil para día no laboral */
.hoja-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;}
.hoja-title-row h3{margin:0;}
.hoja-diaria-shell.hoja-diaria-no-laboral{position:relative;border-color:rgba(245,158,11,.36)!important;background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,255,255,.96) 44%,rgba(239,246,255,.92))!important;box-shadow:0 20px 52px rgba(146,64,14,.13),0 8px 24px rgba(15,23,42,.06)!important;}
.hoja-diaria-shell.hoja-diaria-no-laboral:before{content:'';position:absolute;left:0;right:0;top:0;height:7px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#f97316,#facc15,#0ea5e9);box-shadow:0 8px 22px rgba(249,115,22,.32);pointer-events:none;}
body.coordinator-nonlabor-day .coordinator-day-main{background:radial-gradient(circle at top left,rgba(251,191,36,.18),transparent 34%),radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 30%);}
body.coordinator-nonlabor-day .hoja-resumen-inicio{border-color:rgba(245,158,11,.25)!important;background:linear-gradient(135deg,#fff7ed,#ffffff)!important;}
.hoja-day-status-badge{box-shadow:0 10px 24px rgba(15,23,42,.10);text-transform:uppercase;letter-spacing:.045em;}
.hoja-day-status-badge strong{font-size:inherit;font-weight:950;line-height:1;}
.hoja-day-status-badge small{display:inline-block;font-size:.65rem;font-weight:900;letter-spacing:0;text-transform:none;opacity:.9;line-height:1.1;}
.hoja-day-status-dot{width:9px;height:9px;border-radius:999px;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 16%,transparent);flex:0 0 auto;}
.hoja-day-status-badge.laboral-domingo,.hoja-day-status-badge.laboral-no{background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;color:#9a3412!important;border-color:#fdba74!important;}
.hoja-day-status-badge.laboral-festivo{background:linear-gradient(135deg,#ffedd5,#fef3c7)!important;color:#9a3412!important;border-color:#fb923c!important;}
.hoja-nonlabor-premium-banner{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:16px 18px;border:1px solid rgba(245,158,11,.30);border-radius:24px;background:linear-gradient(135deg,#fff7ed,#fffbeb 48%,#eff6ff);box-shadow:0 18px 44px rgba(146,64,14,.12);color:#7c2d12;position:relative;overflow:hidden;}
.hoja-nonlabor-premium-banner:after{content:'';position:absolute;right:-45px;top:-55px;width:150px;height:150px;border-radius:999px;background:rgba(251,191,36,.18);pointer-events:none;}
.hoja-nonlabor-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#f97316,#facc15);color:#fff;font-size:22px;font-weight:950;box-shadow:0 14px 30px rgba(249,115,22,.28);}
.hoja-nonlabor-copy{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.hoja-nonlabor-copy strong{font-size:1rem;font-weight:950;color:#7c2d12;letter-spacing:-.01em;}
.hoja-nonlabor-copy span{font-size:.86rem;font-weight:900;color:#9a3412;overflow-wrap:anywhere;}
.hoja-nonlabor-copy small{font-size:.78rem;font-weight:780;color:#475569;line-height:1.35;}
.hoja-nonlabor-premium-banner.laboral-festivo{background:linear-gradient(135deg,#ffedd5,#fffbeb 50%,#fff7ed);border-color:rgba(249,115,22,.36);}
.hoja-nonlabor-premium-banner.laboral-domingo,.hoja-nonlabor-premium-banner.laboral-no{background:linear-gradient(135deg,#fff7ed,#fef3c7 46%,#eff6ff);border-color:rgba(245,158,11,.34);}
@media(max-width:760px){
  .hoja-diaria-shell.hoja-diaria-no-laboral{border-radius:22px!important;box-shadow:0 18px 42px rgba(146,64,14,.16)!important;}
  .hoja-title-row{align-items:stretch;gap:8px;}
  .hoja-title-row h3{width:100%;}
  .hoja-day-status-badge{width:100%!important;justify-content:flex-start!important;padding:12px 14px!important;border-radius:18px!important;font-size:.78rem!important;box-shadow:0 14px 28px rgba(146,64,14,.16)!important;}
  .hoja-day-status-badge small{display:block;width:100%;margin-top:2px;}
  .hoja-nonlabor-premium-banner{align-items:flex-start;padding:14px;border-radius:22px;margin-top:2px;}
  .hoja-nonlabor-icon{width:42px;height:42px;border-radius:16px;font-size:20px;}
  .hoja-nonlabor-copy strong{font-size:.96rem;}
  .hoja-nonlabor-copy span{font-size:.82rem;}
  .hoja-nonlabor-copy small{font-size:.75rem;}
}

/* v135 · Regularización de pendientes entregados desde stock de ruta */
.hoja-pendiente-ruta-card{
  display:grid;
  gap:7px;
  margin-top:8px;
  padding:10px;
  border:1px solid #bbf7d0;
  border-radius:16px;
  background:linear-gradient(135deg,#f0fdf4,#ffffff);
  box-shadow:0 10px 24px rgba(22,101,52,.08);
  color:#14532d;
}
.hoja-pendiente-ruta-card span,
.hoja-pendiente-ruta-card em{
  font-size:12px;
  color:#166534;
  font-style:normal;
  font-weight:800;
}
.hoja-pendiente-ruta-form{margin:0;display:flex;gap:8px;flex-wrap:wrap}
.vd-route-regularize-box{
  border:1px solid #bbf7d0;
  border-radius:20px;
  background:linear-gradient(135deg,#f0fdf4,#ffffff 58%,#ecfdf5);
  padding:13px;
  margin:12px 0;
  box-shadow:0 12px 28px rgba(22,101,52,.08);
}
.vd-route-regularize-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.vd-route-regularize-head h4{margin:0;color:#14532d;font-size:15px;font-weight:950}
.vd-route-regularize-head p{margin:4px 0 0;color:#166534;font-size:12px;font-weight:750;line-height:1.45}
.vd-route-regularize-grid{display:grid;gap:9px}
.vd-route-regularize-item{
  display:grid;
  grid-template-columns:1.35fr .55fr .55fr auto;
  gap:8px;
  align-items:center;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#fff;
  padding:9px;
}
.vd-route-regularize-item.ok{border-color:#86efac;background:#f7fff9}
.vd-route-regularize-item.bad{border-color:#fecaca;background:#fff7f7}
.vd-route-regularize-item small{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.vd-route-regularize-item strong{display:block;color:#0f172a;font-size:12px;word-break:break-word}
.vd-route-regularize-action{display:flex;justify-content:flex-end;align-items:center}
.vd-route-regularize-action form{margin:0}
.vd-route-regularize-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fee2e2;color:#991b1b;padding:7px 10px;font-size:11px;font-weight:950;text-align:center}
@media(max-width:760px){
  .vd-route-regularize-item{grid-template-columns:1fr 1fr}
  .vd-route-regularize-action{grid-column:1/-1;justify-content:stretch}
  .vd-route-regularize-action .btn,.vd-route-regularize-action form{width:100%}
}
.hoja-productos-sale-head-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hoja-productos-sale-head-actions .hoja-pendiente-ruta-form{margin-left:auto}
.vd-route-regularize-all{margin:0;display:flex;align-items:center;justify-content:flex-end;min-width:max-content}
@media(max-width:760px){.hoja-productos-sale-head-actions .hoja-pendiente-ruta-form,.hoja-productos-sale-head-actions .btn,.vd-route-regularize-all,.vd-route-regularize-all .btn{width:100%;margin-left:0}}

/* v136: Coordinador móvil premium, filtro de productos pendientes y despachos confirmados solo lectura */
.hoja-diaria-shell.hoja-diaria-dia-especial{
  position:relative;
  overflow:hidden;
  border-color:rgba(20,184,166,.28)!important;
  background:linear-gradient(135deg, rgba(240,253,250,.96), rgba(255,255,255,.98) 58%, rgba(238,242,255,.88))!important;
  box-shadow:0 24px 60px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.hoja-diaria-shell.hoja-diaria-dia-especial::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg, #0f766e, #14b8a6, #22c55e);
  opacity:.95;
}
.hoja-title-row{gap:12px;align-items:flex-start;flex-wrap:wrap;}
.hoja-day-status-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(20,184,166,.28);
  background:rgba(255,255,255,.82);
  color:#0f172a;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  backdrop-filter:blur(8px);
}
.hoja-day-status-badge small{font-weight:700;color:#475569;}
.hoja-day-status-badge.laboral-ok,
.hoja-day-status-badge.ruta-programada,
.hoja-day-status-badge.especial-laboral{border-color:rgba(34,197,94,.34);background:linear-gradient(135deg, rgba(236,253,245,.96), rgba(255,255,255,.88));}
.hoja-day-status-badge.no-laboral,
.hoja-day-status-badge.festivo-colombia,
.hoja-day-status-badge.domingo{border-color:rgba(245,158,11,.36);background:linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,255,255,.9));}
.hoja-day-status-dot{width:11px;height:11px;border-radius:999px;background:#14b8a6;box-shadow:0 0 0 5px rgba(20,184,166,.14);flex:0 0 auto;}
.hoja-day-status-badge.no-laboral .hoja-day-status-dot,
.hoja-day-status-badge.festivo-colombia .hoja-day-status-dot,
.hoja-day-status-badge.domingo .hoja-day-status-dot{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.16);}
.hoja-productos-pending-badge{background:linear-gradient(135deg, rgba(255,247,237,.95), rgba(255,255,255,.95));border-color:rgba(249,115,22,.26);color:#9a3412;}
.hoja-productos-status-filter small{display:block;margin-top:5px;color:#64748b;font-weight:700;line-height:1.25;}
.hoja-productos-kpis-v136{grid-template-columns:repeat(4,minmax(0,1fr));}
.hoja-productos-bulk-pending-card{
  margin:12px 0 16px;
  padding:14px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(34,197,94,.24);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(236,253,245,.96), rgba(255,255,255,.96));
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.hoja-productos-bulk-pending-card strong{display:block;color:#064e3b;font-size:1rem;}
.hoja-productos-bulk-pending-card small{display:block;color:#475569;font-weight:700;line-height:1.35;margin-top:3px;}
.hoja-productos-bulk-pending-card-muted{border-color:rgba(245,158,11,.26);background:linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,255,255,.96));}
.hoja-productos-bulk-pending-card-muted strong{color:#92400e;}
.hoja-productos-sale-actions-inline{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.hoja-productos-sale-actions-inline form{margin:0;}
.vd-dispatch-readonly-confirmed{
  border:1px solid rgba(34,197,94,.24)!important;
  background:linear-gradient(135deg, rgba(236,253,245,.94), rgba(255,255,255,.96))!important;
}
.vd-dispatch-readonly-confirmed p{margin:6px 0 12px;color:#475569;font-weight:700;line-height:1.45;}
.vd-dispatch-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.vd-dispatch-readonly-grid>div{border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(255,255,255,.82);padding:10px;}
.vd-dispatch-readonly-grid small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;}
.vd-dispatch-readonly-grid strong{display:block;color:#0f172a;font-size:.94rem;margin-top:3px;}
@media (max-width: 760px){
  .hoja-diaria-shell.hoja-diaria-dia-especial{border-radius:24px!important;margin-top:10px;}
  .hoja-day-status-badge{width:100%;justify-content:flex-start;border-radius:18px;padding:12px 14px;}
  .hoja-day-status-badge strong{font-size:1.02rem;}
  .hoja-day-status-badge small{display:block;width:100%;font-size:.88rem;margin-left:19px;}
  .hoja-productos-kpis-v136{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hoja-productos-bulk-pending-card{align-items:stretch;flex-direction:column;}
  .hoja-productos-bulk-pending-card .btn{width:100%;}
  .hoja-productos-sale-head-actions{align-items:stretch;}
  .hoja-productos-sale-actions-inline{justify-content:stretch;width:100%;}
  .hoja-productos-sale-actions-inline .btn,
  .hoja-productos-sale-actions-inline form,
  .hoja-productos-sale-actions-inline form .btn{width:100%;}
  .vd-dispatch-readonly-grid{grid-template-columns:1fr;}
}

/* v137 · Hoja diaria y despachos confirmados: lectura móvil premium */
.hoja-day-status-badge.hoja-day-status-premium{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  max-width:100%!important;
  padding:11px 15px!important;
  border-radius:20px!important;
  border:1px solid rgba(20,184,166,.28)!important;
  background:linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.94) 58%, rgba(240,253,250,.9))!important;
  box-shadow:0 16px 34px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.9)!important;
  color:#0f172a!important;
  white-space:normal!important;
}
.hoja-day-status-badge.hoja-day-status-premium.no-laboral,
.hoja-day-status-badge.hoja-day-status-premium.festivo-colombia,
.hoja-day-status-badge.hoja-day-status-premium.domingo{
  border-color:rgba(245,158,11,.36)!important;
  background:linear-gradient(135deg, rgba(255,251,235,.98), rgba(255,255,255,.94) 55%, rgba(255,247,237,.88))!important;
}
.hoja-day-status-icon{
  width:34px!important;
  height:34px!important;
  border-radius:14px!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  color:#ffffff!important;
  font-weight:950!important;
  background:linear-gradient(135deg,#0f766e,#22c55e)!important;
  box-shadow:0 12px 24px rgba(20,184,166,.25)!important;
}
.hoja-day-status-badge.no-laboral .hoja-day-status-icon,
.hoja-day-status-badge.festivo-colombia .hoja-day-status-icon,
.hoja-day-status-badge.domingo .hoja-day-status-icon{
  background:linear-gradient(135deg,#f97316,#f59e0b)!important;
  box-shadow:0 12px 24px rgba(249,115,22,.25)!important;
}
.hoja-day-status-copy{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;line-height:1.16!important;}
.hoja-day-status-copy small{display:block!important;margin:0!important;color:#64748b!important;font-size:.72rem!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;line-height:1.15!important;}
.hoja-day-status-copy strong{display:block!important;color:#0f172a!important;font-size:1rem!important;font-weight:950!important;letter-spacing:-.02em!important;line-height:1.12!important;}
.hoja-day-status-copy em{display:block!important;margin:1px 0 0!important;color:#475569!important;font-size:.88rem!important;font-style:normal!important;font-weight:800!important;line-height:1.25!important;}
.hoja-title-row .hoja-day-status-dot{display:none!important;}

body.inventory-premium-page .vd-dispatch-item-list-premium{display:grid!important;gap:12px!important;}
body.inventory-premium-page .vd-dispatch-item-card-premium{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
  border-radius:20px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.96))!important;
  box-shadow:0 12px 26px rgba(15,23,42,.06)!important;
  min-width:0!important;
}
body.inventory-premium-page .vd-dispatch-item-name{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
body.inventory-premium-page .vd-dispatch-item-name strong{display:block!important;color:#0f172a!important;font-size:1rem!important;font-weight:950!important;line-height:1.12!important;word-break:break-word!important;}
body.inventory-premium-page .vd-dispatch-item-name small{display:inline-flex!important;width:max-content!important;max-width:100%!important;color:#64748b!important;background:#f1f5f9!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:999px!important;padding:3px 8px!important;font-size:.72rem!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.04em!important;line-height:1.1!important;}
body.inventory-premium-page .vd-dispatch-item-metrics{display:flex!important;gap:8px!important;align-items:stretch!important;justify-content:flex-end!important;min-width:0!important;}
body.inventory-premium-page .vd-dispatch-item-metrics span{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:86px!important;padding:9px 10px!important;border-radius:16px!important;background:linear-gradient(135deg,#eff6ff,#fff)!important;border:1px solid rgba(14,165,233,.17)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;}
body.inventory-premium-page .vd-dispatch-item-metrics small{display:block!important;color:#64748b!important;font-size:.68rem!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.05em!important;line-height:1.05!important;margin:0 0 3px!important;}
body.inventory-premium-page .vd-dispatch-item-metrics strong{display:block!important;color:#0f172a!important;font-size:1.1rem!important;font-weight:950!important;line-height:1!important;white-space:nowrap!important;}
body.inventory-premium-page .vd-dispatch-item-note{grid-column:1 / -1!important;margin:0!important;padding:9px 10px!important;border-radius:14px!important;background:#fff7ed!important;color:#9a3412!important;font-weight:800!important;line-height:1.28!important;}

body.inventory-premium-page .vd-dispatch-readonly-premium{
  margin-top:14px!important;
  padding:16px!important;
  border-radius:22px!important;
  border:1px solid rgba(34,197,94,.28)!important;
  background:linear-gradient(135deg, rgba(236,253,245,.98), rgba(255,255,255,.97) 58%, rgba(240,253,250,.9))!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.inventory-premium-page .vd-dispatch-readonly-head{display:flex!important;gap:12px!important;align-items:flex-start!important;margin-bottom:10px!important;}
body.inventory-premium-page .vd-dispatch-readonly-icon{display:inline-grid!important;place-items:center!important;width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:16px!important;background:linear-gradient(135deg,#0f766e,#22c55e)!important;color:#ffffff!important;font-weight:950!important;box-shadow:0 14px 26px rgba(34,197,94,.25)!important;}
body.inventory-premium-page .vd-dispatch-readonly-head strong{display:block!important;color:#064e3b!important;font-size:1.06rem!important;font-weight:950!important;line-height:1.12!important;}
body.inventory-premium-page .vd-dispatch-readonly-head small{display:block!important;color:#475569!important;font-size:.84rem!important;font-weight:800!important;line-height:1.25!important;margin-top:3px!important;}
body.inventory-premium-page .vd-dispatch-readonly-premium p{margin:10px 0 14px!important;color:#334155!important;font-size:.95rem!important;font-weight:750!important;line-height:1.45!important;}
body.inventory-premium-page .vd-dispatch-readonly-grid-premium{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
body.inventory-premium-page .vd-dispatch-readonly-grid-premium>div{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;border:1px solid rgba(20,184,166,.18)!important;border-radius:16px!important;background:rgba(255,255,255,.88)!important;padding:11px!important;box-shadow:0 10px 22px rgba(15,23,42,.04)!important;}
body.inventory-premium-page .vd-dispatch-readonly-grid-premium small{display:block!important;margin:0!important;color:#64748b!important;font-size:.69rem!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.055em!important;line-height:1.05!important;}
body.inventory-premium-page .vd-dispatch-readonly-grid-premium strong{display:block!important;margin:0!important;color:#0f172a!important;font-size:.98rem!important;font-weight:950!important;line-height:1.15!important;word-break:break-word!important;}
@media (max-width: 760px){
  .hoja-title-row{gap:10px!important;}
  .hoja-day-status-badge.hoja-day-status-premium{width:100%!important;border-radius:22px!important;padding:14px!important;align-items:flex-start!important;}
  .hoja-day-status-icon{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:17px!important;font-size:1rem!important;}
  .hoja-day-status-copy small{font-size:.69rem!important;}
  .hoja-day-status-copy strong{font-size:1.08rem!important;}
  .hoja-day-status-copy em{font-size:.92rem!important;}
  body.inventory-premium-page .vd-dispatch-item-card-premium{grid-template-columns:1fr!important;gap:10px!important;padding:13px!important;}
  body.inventory-premium-page .vd-dispatch-item-metrics{width:100%!important;justify-content:stretch!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.inventory-premium-page .vd-dispatch-item-metrics span{min-width:0!important;padding:10px!important;}
  body.inventory-premium-page .vd-dispatch-readonly-premium{padding:15px!important;border-radius:22px!important;}
  body.inventory-premium-page .vd-dispatch-readonly-head{align-items:flex-start!important;}
  body.inventory-premium-page .vd-dispatch-readonly-grid-premium{grid-template-columns:1fr!important;}
}

/* v143 - E-Shop error premium y diagnóstico de collation */
.eshop-error-premium{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin:18px 0;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(251,146,60,.32);
  background:linear-gradient(135deg,#fff7ed 0%,#fff 48%,#fef2f2 100%);
  box-shadow:0 18px 44px rgba(15,23,42,.10);
  color:#0f172a;
}
.eshop-error-premium.collation{
  border-color:rgba(245,158,11,.45);
  background:linear-gradient(135deg,#fffbeb 0%,#fff7ed 44%,#eef2ff 100%);
}
.eshop-error-icon{
  width:44px;
  min-width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#f97316,#ef4444);
  box-shadow:0 12px 28px rgba(239,68,68,.25);
}
.eshop-error-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b45309;
}
.eshop-error-body h2{
  margin:0 0 8px;
  font-size:1.05rem;
  line-height:1.18;
  color:#0f172a;
}
.eshop-error-body p{
  margin:0 0 10px;
  color:#475569;
  line-height:1.45;
}
.eshop-error-action{
  margin-top:10px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(148,163,184,.22);
  color:#334155;
}
.eshop-error-technical{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(15,23,42,.04);
}
.eshop-error-technical summary{
  cursor:pointer;
  font-weight:900;
  color:#0f172a;
}
.eshop-error-technical code{
  display:block;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin-top:8px;
  font-size:.82rem;
  color:#334155;
}
@media (max-width: 640px){
  .eshop-error-premium{padding:16px;gap:12px;border-radius:22px;}
  .eshop-error-icon{width:38px;min-width:38px;height:38px;border-radius:14px;}
  .eshop-error-body h2{font-size:1rem;}
}

/* v148 · Base inicial manual con trazabilidad */
.hoja-base-manual-card{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid rgba(59,130,246,.24);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(255,255,255,.98) 52%,rgba(240,253,250,.92));
  box-shadow:0 18px 42px rgba(15,23,42,.10);
  overflow:hidden;
  position:relative;
}
.hoja-base-manual-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#2563eb,#0ea5a4,#f59e0b);
}
.hoja-base-manual-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.hoja-base-manual-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(37,99,235,.10);
  color:#1d4ed8;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.hoja-base-manual-head h3{margin:8px 0 4px;color:#0f172a;font-size:1.08rem;font-weight:950;}
.hoja-base-manual-head p{margin:0;color:#475569;font-size:.88rem;max-width:760px;}
.hoja-base-manual-status-stack{
  display:flex;
  flex-direction:column;
  gap:7px;
  align-items:flex-end;
  max-width:360px;
}
.hoja-base-manual-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  font-weight:950;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
.hoja-base-manual-shared{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:14px;
  background:rgba(15,23,42,.06);
  color:#334155;
  border:1px solid rgba(148,163,184,.22);
  font-size:.76rem;
  font-weight:850;
  line-height:1.25;
  text-align:right;
}
.hoja-base-manual-shared::before{content:"👥";font-size:.92rem;}
.hoja-base-manual-status.ok{background:rgba(16,185,129,.13);color:#047857;border:1px solid rgba(16,185,129,.25);}
.hoja-base-manual-status.warn{background:rgba(245,158,11,.16);color:#92400e;border:1px solid rgba(245,158,11,.28);}
.hoja-base-manual-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.hoja-base-manual-metrics>div{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.hoja-base-manual-metrics span{display:block;color:#64748b;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.hoja-base-manual-metrics strong{display:block;margin-top:4px;color:#0f172a;font-size:1.1rem;font-weight:950;}
.hoja-base-manual-metrics small{display:block;margin-top:3px;color:#64748b;font-size:.78rem;line-height:1.25;}
.hoja-base-manual-metrics .warn{border-color:rgba(245,158,11,.35);background:rgba(255,251,235,.86);}
.hoja-base-manual-metrics .warn strong{color:#b45309;}
.hoja-base-manual-metrics .ok{border-color:rgba(16,185,129,.28);background:rgba(240,253,244,.82);}
.hoja-base-manual-trace{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(15,23,42,.04);
  border:1px dashed rgba(100,116,139,.28);
  color:#334155;
  font-size:.84rem;
  margin-bottom:12px;
}
.hoja-base-manual-trace strong{color:#0f172a;font-weight:950;}
.hoja-base-manual-trace span,.hoja-base-manual-trace small{background:#fff;border:1px solid rgba(148,163,184,.20);border-radius:999px;padding:5px 9px;}
.hoja-base-manual-form{
  display:grid;
  grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(240px,1.4fr) auto;
  gap:10px;
  align-items:end;
}
.hoja-base-manual-form label{font-weight:900;color:#334155;font-size:.84rem;}
.hoja-base-manual-form .btn{min-height:42px;}
@media (max-width: 820px){
  .hoja-base-manual-card{padding:14px;border-radius:18px;}
  .hoja-base-manual-metrics,.hoja-base-manual-form{grid-template-columns:1fr;}
  .hoja-base-manual-head{gap:8px;}
  .hoja-base-manual-status-stack{width:100%;max-width:none;align-items:stretch;}
  .hoja-base-manual-status{width:100%;}
  .hoja-base-manual-shared{width:100%;justify-content:center;text-align:center;}
}

/* v150 · Base inicial premium móvil y caja compartida real */
.hoja-base-manual-titlebox{display:flex;flex-direction:column;gap:6px;min-width:0;}
.hoja-base-manual-head{align-items:center;}
.hoja-base-manual-head p,.hoja-base-manual-status-stack,.hoja-base-manual-shared{display:none!important;}
.hoja-base-manual-metrics>div{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;overflow:hidden;}
.hoja-base-manual-metrics>div::after{content:"";position:absolute;right:-24px;top:-24px;width:72px;height:72px;border-radius:999px;background:rgba(14,165,164,.08);}
.hoja-base-manual-metrics span,.hoja-base-manual-metrics strong,.hoja-base-manual-metrics small{position:relative;z-index:1;}
.hoja-base-manual-trace{display:block;padding:14px;border-style:solid;background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(255,255,255,.98));}
.hoja-base-manual-trace-title{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#0f172a;}
.hoja-base-manual-trace-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#0ea5a4,#22c55e);color:#fff;font-weight:950;box-shadow:0 8px 18px rgba(14,165,164,.22);}
.hoja-base-manual-trace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.hoja-base-manual-trace-grid>div{padding:10px 11px;border-radius:14px;background:#fff;border:1px solid rgba(148,163,184,.20);box-shadow:0 8px 18px rgba(15,23,42,.04);min-width:0;}
.hoja-base-manual-trace-grid small{display:block;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;margin:0 0 4px;color:#64748b;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
.hoja-base-manual-trace-grid span{display:block;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;color:#0f172a;font-size:.9rem;font-weight:850;line-height:1.25;overflow-wrap:anywhere;}
.hoja-base-manual-form{padding:12px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(14,165,164,.16);box-shadow:0 12px 24px rgba(15,23,42,.05);}
.hoja-base-manual-form label{display:flex;flex-direction:column;gap:6px;min-width:0;}
@media (max-width: 820px){
  .hoja-base-manual-card{margin:12px 0 16px;padding:16px!important;border-radius:24px;background:linear-gradient(160deg,rgba(236,254,255,.96),rgba(255,255,255,.98) 46%,rgba(240,253,244,.94));box-shadow:0 18px 40px rgba(15,23,42,.12);}
  .hoja-base-manual-kicker{width:max-content;max-width:100%;font-size:.68rem;padding:6px 10px;}
  .hoja-base-manual-head h3{font-size:1.42rem;line-height:1.05;margin:0;color:#0f172a;letter-spacing:-.03em;}
  .hoja-base-manual-metrics{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:14px 0!important;}
  .hoja-base-manual-metrics>div{padding:14px!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(148,163,184,.20)!important;box-shadow:0 12px 26px rgba(15,23,42,.07)!important;}
  .hoja-base-manual-metrics span{display:block!important;font-size:.72rem!important;line-height:1.1!important;margin:0!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
  .hoja-base-manual-metrics strong{display:block!important;font-size:1.45rem!important;line-height:1.05!important;margin:2px 0 0!important;color:#0f172a!important;letter-spacing:.01em!important;}
  .hoja-base-manual-metrics small{display:block!important;font-size:.82rem!important;line-height:1.35!important;margin:4px 0 0!important;color:#475569!important;overflow-wrap:anywhere!important;}
  .hoja-base-manual-trace{border-radius:20px!important;padding:14px!important;margin-bottom:12px!important;}
  .hoja-base-manual-trace-title strong{font-size:1rem!important;}
  .hoja-base-manual-trace-grid{grid-template-columns:1fr!important;gap:8px!important;}
  .hoja-base-manual-trace-grid>div{border-radius:16px!important;padding:11px 12px!important;}
  .hoja-base-manual-form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;border-radius:20px!important;padding:12px!important;}
  .hoja-base-manual-form label{font-size:.86rem!important;font-weight:950!important;color:#334155!important;}
  .hoja-base-manual-form .input{min-height:48px!important;border-radius:16px!important;font-size:16px!important;}
  .hoja-base-manual-form textarea.input{min-height:92px!important;}
  .hoja-base-manual-form .btn{width:100%!important;min-height:50px!important;border-radius:18px!important;font-size:.95rem!important;}
}


/* v155 · Hoja diaria: estado operativo premium robusto y base compartida */
.hoja-title-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.hoja-status-inline-premium{display:flex!important;align-items:flex-start!important;}
@media(min-width:760px){.hoja-title-row{align-items:flex-start}.hoja-status-inline-premium{max-width:520px!important;}}
@media(max-width:720px){.hoja-status-inline-premium{width:100%!important;margin-top:6px!important}.hoja-header-tools{width:100%;}}

/* v159 · Egresos del día: botones móviles responsivos */
@media (max-width: 640px) {
  .hoja-egresos-section .hoja-egresos-table {
    overflow: visible !important;
  }

  .hoja-egresos-section .hoja-egresos-row:not(.hoja-egresos-total) {
    grid-template-columns: minmax(0, 1fr) minmax(92px, auto) !important;
    grid-template-areas:
      "concepto valor"
      "obs obs"
      "accion accion" !important;
    align-items: start !important;
    row-gap: 2px !important;
  }

  .hoja-egresos-section .hoja-egreso-concepto strong {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
  }

  .hoja-egresos-section .hoja-egreso-obs {
    white-space: normal !important;
    line-height: 1.25 !important;
    max-height: 2.6em !important;
    overflow: hidden !important;
  }

  .hoja-egresos-section .hoja-egreso-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
    width: 100% !important;
    padding-top: 6px !important;
  }

  .hoja-egresos-section .hoja-egreso-actions .hoja-row-action,
  .hoja-egresos-section .hoja-egreso-actions .hoja-inline-form {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .hoja-egresos-section .hoja-egreso-actions .hoja-chip,
  .hoja-egresos-section .hoja-egreso-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .hoja-egresos-section .hoja-egresos-total {
    grid-template-columns: minmax(0, 1fr) minmax(112px, auto) !important;
    grid-template-areas: none !important;
  }
}


/* v160 · Egresos del día: corrección definitiva móvil anti-corte
   Fallback reforzado porque algunos móviles/PWA mantienen CSS anterior en caché. */
@media (max-width: 760px) {
  #egresos-dia.hoja-egresos-section .hoja-egresos-table {
    display: grid !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-row-head {
    display: none !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    grid-template-areas:
      "concepto valor"
      "obs obs"
      "accion accion" !important;
    align-items: start !important;
    gap: 8px 12px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
    font-size: 13px !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] > * {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-right: 0 !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] [data-label="Concepto"] { grid-area: concepto !important; }
  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] [data-label="Obs."] { grid-area: obs !important; }
  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] [data-label="Valor"] { grid-area: valor !important; }
  #egresos-dia.hoja-egresos-section .hoja-egresos-row[data-egreso-row] [data-label="Acción"] { grid-area: accion !important; }

  #egresos-dia.hoja-egresos-section .hoja-egreso-concepto strong {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
    font-size: 14px !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-valor {
    text-align: right !important;
    white-space: nowrap !important;
    align-self: start !important;
    font-size: 14px !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-obs {
    color: var(--muted) !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
    max-height: 3.9em !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(112px, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 100% !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    padding-top: 4px !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-actions .hoja-row-action,
  #egresos-dia.hoja-egresos-section .hoja-egreso-actions .hoja-inline-form {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-actions .hoja-chip,
  #egresos-dia.hoja-egresos-section .hoja-egreso-actions .btn,
  #egresos-dia.hoja-egresos-section .hoja-egreso-actions summary,
  #egresos-dia.hoja-egresos-section .hoja-egreso-actions button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    text-align: center !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egreso-actions summary::-webkit-details-marker {
    display: none !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-row-action[open] > .hoja-mini-form {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    z-index: 1000 !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-total {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 10px !important;
    padding: 12px !important;
    border: 1px solid rgba(245, 158, 11, .25) !important;
    border-radius: 16px !important;
    background: rgba(254, 243, 199, .45) !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-total > * {
    border: 0 !important;
    padding: 0 !important;
  }

  #egresos-dia.hoja-egresos-section .hoja-egresos-total span:nth-child(2),
  #egresos-dia.hoja-egresos-section .hoja-egresos-total span:nth-child(3) {
    display: none !important;
  }
}

@media (max-width: 360px) {
  #egresos-dia.hoja-egresos-section .hoja-egreso-actions {
    grid-template-columns: 1fr !important;
  }
}

/* v169 · Auditoría responsive general: botones, tarjetas y formularios en móvil vertical. */
@media (max-width: 768px) {
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main, .main, .content, .container, .container-fluid, .page, .panel, .card,
  .module-card, .premium-card, .hoja-diaria-premium-panel, .hoja-section,
  .vd-card, .admin-card, .dashboard-card, .table-card {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .btn, button, input[type="submit"], input[type="button"], .nav-link,
  .hoja-chip, .vd-chip, summary.btn, a.btn {
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.18 !important;
    text-align: center !important;
  }

  .btn, button, input[type="submit"], input[type="button"], a.btn {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  .actions, .action-row, .form-actions, .card-actions, .table-actions,
  .btn-row, .button-row, .hoja-actions, .vd-actions, .premium-actions,
  .hoja-diaria-premium-actions, .hoja-productos-actions, .postventa-actions,
  .cita-actions, .patient-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
  }

  .actions > *, .action-row > *, .form-actions > *, .card-actions > *,
  .table-actions > *, .btn-row > *, .button-row > *, .hoja-actions > *,
  .vd-actions > *, .premium-actions > *, .hoja-diaria-premium-actions > *,
  .hoja-productos-actions > *, .postventa-actions > *, .cita-actions > *,
  .patient-actions > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .input, input, select, textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .form-grid, .grid-form, .filters-grid, .filter-grid, .search-grid,
  .premium-grid, .dashboard-grid, .cards-grid, .kpi-grid, .stats-grid,
  .hoja-vr-grid, .hoja-vr-payment, .hoja-productos-filter,
  .hoja-cierre-grid, .hoja-base-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .table-responsive, .table-wrap, .responsive-table, .data-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  table {
    max-width: 100% !important;
  }

  .modal, .modal-content, .dropdown-menu, details > .dropdown-menu,
  .hoja-mini-form, .popover, .offcanvas {
    max-width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
  }

  .hoja-resumen-excel, .hoja-resumen-diario, .hoja-resumen-general-inicio {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 430px) {
  .btn, button, input[type="submit"], input[type="button"], a.btn {
    width: 100% !important;
  }

  .btn.btn-sm, a.btn.btn-sm, button.btn-sm {
    width: auto !important;
    min-width: min(100%, 112px) !important;
  }

  .card-actions .btn, .form-actions .btn, .hoja-actions .btn,
  .hoja-vr-submit .btn, .hoja-vr-actions-line .btn,
  .vd-photo-actions .btn, .table-actions .btn {
    width: 100% !important;
  }
}

/* v170 · Coordinador móvil compacto + búsqueda de paciente en venta rápida */
@media (max-width: 760px) {
  body.coordinator-day-dashboard .topbar {
    gap: 7px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  body.coordinator-day-dashboard .topbar-actions {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  body.coordinator-day-dashboard .vd-top-search { order: 1 !important; flex: 0 0 auto !important; }
  body.coordinator-day-dashboard .notifications-wrap { order: 2 !important; flex: 0 0 auto !important; }
  body.coordinator-day-dashboard .vd-offline-topbar-pill { order: 3 !important; flex: 0 1 auto !important; min-width: 0 !important; max-width: 118px !important; padding: 7px 9px !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  body.coordinator-day-dashboard .vd-help-topbar { order: 4 !important; flex: 0 0 auto !important; }
  body.coordinator-day-dashboard .profile { order: 5 !important; flex: 0 0 auto !important; }
  body.coordinator-day-dashboard .vd-top-search-toggle,
  body.coordinator-day-dashboard .notifications-button.vd-bell-button,
  body.coordinator-day-dashboard .vd-help-topbar {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
  }
  body.coordinator-day-dashboard .vd-help-label { display: none !important; }
  body.coordinator-day-dashboard .profile > div:not(.avatar) { display: none !important; }
  body.coordinator-day-dashboard .profile { min-width: 36px !important; width: 36px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  body.coordinator-day-dashboard .profile .avatar { width: 34px !important; height: 34px !important; min-width: 34px !important; }
}
@media (max-width: 390px) {
  body.coordinator-day-dashboard .vd-offline-topbar-pill { max-width: 96px !important; font-size: 10px !important; }
  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-label { max-width: 58px !important; overflow: hidden !important; text-overflow: ellipsis !important; }
}

/* ============================================================
   v171 · Coordinador móvil: topbar definitivo en una sola fila
   ============================================================ */
@media (max-width: 760px), (pointer: coarse) {
  body.coordinator-day-dashboard .topbar {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "menu actions" !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 8px !important;
    flex-direction: initial !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: -14px -14px 8px !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.coordinator-day-dashboard .topbar > .mobile-menu-btn {
    grid-area: menu !important;
    display: inline-grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: start !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.coordinator-day-dashboard .topbar > .page-title {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    min-width: 0 !important;
    max-width: 1px !important;
    height: 1px !important;
    max-height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
    flex: 0 0 0 !important;
  }

  body.coordinator-day-dashboard .topbar > .topbar-actions {
    grid-area: actions !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .vd-operational-fullscreen-toggle,
  body.coordinator-day-dashboard .topbar-actions > [data-miruta-fullscreen-toggle],
  body.coordinator-day-dashboard .topbar-actions > [data-asesora-fullscreen-toggle] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .vd-top-search {
    order: 1 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .notifications-wrap {
    order: 2 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .vd-offline-topbar-pill {
    order: 3 !important;
    flex: 0 1 122px !important;
    width: auto !important;
    min-width: 106px !important;
    max-width: 126px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }

  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-title,
  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-label {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 82px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-dot {
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .vd-help-topbar {
    order: 4 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
  }

  body.coordinator-day-dashboard .topbar-actions > .profile {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.coordinator-day-dashboard .vd-top-search-toggle,
  body.coordinator-day-dashboard .notifications-button.vd-bell-button,
  body.coordinator-day-dashboard .vd-help-topbar {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  body.coordinator-day-dashboard .vd-bell-button .notifications-count-text {
    position: absolute !important;
    right: -3px !important;
    top: -5px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 6px 14px rgba(239, 68, 68, .28) !important;
    text-shadow: none !important;
  }

  body.coordinator-day-dashboard .vd-help-label,
  body.coordinator-day-dashboard .vd-help-topbar .vd-help-label {
    display: none !important;
  }

  body.coordinator-day-dashboard .miruta-mobile-page-title-safe {
    margin: 6px 0 10px !important;
  }
}

@media (max-width: 380px), (pointer: coarse) and (max-width: 380px) {
  body.coordinator-day-dashboard .topbar {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body.coordinator-day-dashboard .topbar > .mobile-menu-btn {
    flex-basis: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
  body.coordinator-day-dashboard .topbar > .topbar-actions {
    gap: 4px !important;
  }
  body.coordinator-day-dashboard .topbar-actions > .vd-top-search,
  body.coordinator-day-dashboard .topbar-actions > .notifications-wrap,
  body.coordinator-day-dashboard .topbar-actions > .vd-help-topbar,
  body.coordinator-day-dashboard .vd-top-search-toggle,
  body.coordinator-day-dashboard .notifications-button.vd-bell-button,
  body.coordinator-day-dashboard .vd-help-topbar {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border-radius: 13px !important;
  }
  body.coordinator-day-dashboard .topbar-actions > .vd-offline-topbar-pill {
    flex-basis: 104px !important;
    min-width: 96px !important;
    max-width: 108px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }
  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-title,
  body.coordinator-day-dashboard .vd-offline-topbar-pill .vd-offline-topbar-label {
    max-width: 70px !important;
  }
}


/* v177 · Coordinador móvil: Llegó junto a Guardar ID, legible y compacto */
#pacientes-dia .hoja-patient-quick-row{
  margin-top:6px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:6px!important;
  align-items:end!important;
  max-width:760px!important;
  min-width:0!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-patient-id-form{
  display:contents!important;
  margin:0!important;
  max-width:none!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-patient-id-label{
  grid-column:1!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-patient-id-save{
  grid-column:2!important;
  min-width:104px!important;
  width:auto!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-llego-form-id-row{
  grid-column:3!important;
  display:flex!important;
  align-items:end!important;
  margin:0!important;
  min-width:0!important;
  order:initial!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-llego-check{
  width:auto!important;
  min-width:78px!important;
  height:32px!important;
  min-height:32px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#065f46!important;
  background:linear-gradient(135deg,#ecfdf5,#ffffff)!important;
  border:1px solid rgba(16,185,129,.28)!important;
  box-shadow:0 8px 18px rgba(16,185,129,.10)!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-llego-check input{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  margin:0!important;
  accent-color:#10b981!important;
}
#pacientes-dia .hoja-patient-quick-row .hoja-llego-check::after{
  content:none!important;
}
@media(max-width:760px){
  #pacientes-dia .hoja-patient-main{min-width:0!important;width:100%!important;}
  #pacientes-dia .hoja-patient-quick-row{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) minmax(92px,.58fr) minmax(82px,.48fr)!important;
    gap:6px!important;
  }
  #pacientes-dia .hoja-patient-quick-row .hoja-patient-id-label{grid-column:1/-1!important;}
  #pacientes-dia .hoja-patient-quick-row .hoja-patient-id-save{
    grid-column:1/3!important;
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:7px 8px!important;
    font-size:10.6px!important;
  }
  #pacientes-dia .hoja-patient-quick-row .hoja-llego-form-id-row{
    grid-column:3/4!important;
    width:100%!important;
  }
  #pacientes-dia .hoja-patient-quick-row .hoja-llego-check{
    width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    padding:7px 8px!important;
    border-radius:999px!important;
    font-size:10.6px!important;
    overflow:visible!important;
    text-indent:0!important;
  }
  #pacientes-dia .hoja-patient-actions .hoja-llego-form:not(.hoja-llego-form-id-row){display:none!important;}
}
@media(max-width:380px){
  #pacientes-dia .hoja-patient-quick-row{
    grid-template-columns:1fr 1fr!important;
  }
  #pacientes-dia .hoja-patient-quick-row .hoja-patient-id-label{grid-column:1/-1!important;}
  #pacientes-dia .hoja-patient-quick-row .hoja-patient-id-save{grid-column:1/2!important;}
  #pacientes-dia .hoja-patient-quick-row .hoja-llego-form-id-row{grid-column:2/3!important;}
}

/* ============================================================
   v179 · Tarjetas compactas móviles y fullscreen solo escritorio
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  /* Pantalla completa no se muestra en celular/tablet; queda solo para PC. */
  [data-miruta-fullscreen-toggle],
  [data-asesora-fullscreen-toggle],
  .vd-operational-fullscreen-toggle,
  .vd-fullscreen-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Compactación transversal para Coordinador, Inventario y Admin. */
  body.coordinator-day-dashboard .main,
  body.inventory-premium-page .main,
  body.admin-compact-role .main,
  body.role-administrador .main,
  body.role-superadministrador .main {
    gap: 10px !important;
  }

  body.coordinator-day-dashboard .miruta-mobile-page-title-safe,
  body.inventory-premium-page .miruta-mobile-page-title-safe,
  body.admin-compact-role .miruta-mobile-page-title-safe,
  body.role-administrador .miruta-mobile-page-title-safe,
  body.role-superadministrador .miruta-mobile-page-title-safe {
    margin: -2px 0 10px !important;
    padding: 10px 12px !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.92) !important;
  }
  body.coordinator-day-dashboard .miruta-mobile-page-title-safe h1,
  body.coordinator-day-dashboard .miruta-mobile-page-title-safe h2,
  body.inventory-premium-page .miruta-mobile-page-title-safe h1,
  body.inventory-premium-page .miruta-mobile-page-title-safe h2,
  body.admin-compact-role .miruta-mobile-page-title-safe h1,
  body.admin-compact-role .miruta-mobile-page-title-safe h2,
  body.role-administrador .miruta-mobile-page-title-safe h1,
  body.role-administrador .miruta-mobile-page-title-safe h2,
  body.role-superadministrador .miruta-mobile-page-title-safe h1,
  body.role-superadministrador .miruta-mobile-page-title-safe h2 {
    font-size: 1.48rem !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    letter-spacing: -.045em !important;
  }
  body.coordinator-day-dashboard .miruta-mobile-page-title-safe p,
  body.inventory-premium-page .miruta-mobile-page-title-safe p,
  body.admin-compact-role .miruta-mobile-page-title-safe p,
  body.role-administrador .miruta-mobile-page-title-safe p,
  body.role-superadministrador .miruta-mobile-page-title-safe p {
    font-size: .82rem !important;
    line-height: 1.22 !important;
    margin-top: 5px !important;
  }

  body.coordinator-day-dashboard .card.panel,
  body.inventory-premium-page .card.panel,
  body.admin-compact-role .card.panel,
  body.role-administrador .card.panel,
  body.role-superadministrador .card.panel,
  body.coordinator-day-dashboard section.card.panel,
  body.inventory-premium-page section.card.panel,
  body.admin-compact-role section.card.panel {
    padding: 12px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.8) !important;
  }
  body.coordinator-day-dashboard .panel-header,
  body.inventory-premium-page .panel-header,
  body.admin-compact-role .panel-header,
  body.role-administrador .panel-header,
  body.role-superadministrador .panel-header {
    gap: 8px !important;
    margin-bottom: 8px !important;
    min-height: 0 !important;
    align-items: flex-start !important;
  }
  body.coordinator-day-dashboard .panel-header h3,
  body.inventory-premium-page .panel-header h3,
  body.admin-compact-role .panel-header h3,
  body.role-administrador .panel-header h3,
  body.role-superadministrador .panel-header h3,
  body.inventory-premium-page .main .panel-header h3,
  body.inventory-premium-page .main summary h3 {
    font-size: 1.12rem !important;
    line-height: 1.08 !important;
    margin: 0 !important;
  }
  body.coordinator-day-dashboard .panel-header p,
  body.inventory-premium-page .panel-header p,
  body.admin-compact-role .panel-header p,
  body.role-administrador .panel-header p,
  body.role-superadministrador .panel-header p,
  body.inventory-premium-page .main .panel-header p,
  body.inventory-premium-page .main summary p {
    font-size: .76rem !important;
    line-height: 1.22 !important;
    margin-top: 3px !important;
  }

  /* Coordinador: hoja diaria compacta; elimina grandes zonas vacías. */
  body.coordinator-day-dashboard .hoja-diaria-shell,
  body.coordinator-day-dashboard .hoja-diaria-shell.hoja-diaria-dia-especial,
  body.coordinator-day-dashboard .hoja-diaria-shell.hoja-diaria-no-laboral {
    padding: 12px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
  }
  body.coordinator-day-dashboard .hoja-diaria-shell > .panel-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    min-height: 0 !important;
  }
  body.coordinator-day-dashboard .hoja-title-row {
    gap: 7px !important;
  }
  body.coordinator-day-dashboard .hoja-status-inline-premium,
  body.coordinator-day-dashboard .hoja-day-status-premium {
    min-height: 0 !important;
    max-height: none !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
    gap: 8px !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-copy small { font-size: .62rem !important; line-height: 1.05 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy strong { font-size: .90rem !important; line-height: 1.06 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy em { font-size: .72rem !important; line-height: 1.16 !important; }
  body.coordinator-day-dashboard .hoja-header-tools {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(116px,.46fr) !important;
    gap: 7px !important;
    align-items: end !important;
    margin-top: -1px !important;
    width: 100% !important;
  }
  body.coordinator-day-dashboard .hoja-operativa-date-form { gap: 3px !important; min-width: 0 !important; }
  body.coordinator-day-dashboard .hoja-operativa-date-form label { font-size: .72rem !important; margin: 0 !important; line-height: 1 !important; }
  body.coordinator-day-dashboard .hoja-operativa-date-form .input { min-height: 36px !important; height: 36px !important; padding: 6px 10px !important; border-radius: 13px !important; }
  body.coordinator-day-dashboard .hoja-header-tools > .btn { min-height: 36px !important; padding: 7px 9px !important; border-radius: 999px !important; font-size: .70rem !important; line-height: 1 !important; }

  /* Inventario: hero, filtros y despachos compactos. */
  body.inventory-premium-page .main .vd-inv-hero,
  body.inventory-premium-page .main .vd-hidden-load-hero {
    padding: 12px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.92) !important;
  }
  body.inventory-premium-page .main .vd-inv-hero .panel-header,
  body.inventory-premium-page .main .vd-inv-head-row {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 8px !important;
    gap: 8px !important;
  }
  body.inventory-premium-page .main .vd-inv-hero h3,
  body.inventory-premium-page .main .vd-hidden-load-hero h3 { font-size: 1.22rem !important; line-height: 1.05 !important; }
  body.inventory-premium-page .main .vd-inv-hero p,
  body.inventory-premium-page .main .vd-hidden-load-hero p { font-size: .78rem !important; line-height: 1.22 !important; margin-top: 4px !important; }
  body.inventory-premium-page .main .vd-inv-hero .badge { min-height: 24px !important; padding: 5px 9px !important; font-size: .62rem !important; }
  body.inventory-premium-page .vd-inv-main-filter { gap: 8px !important; margin-top: 8px !important; }
  body.inventory-premium-page .vd-inv-main-filter .form-group { margin-bottom: 8px !important; }
  body.inventory-premium-page .vd-inv-main-filter .input { min-height: 38px !important; height: 38px !important; padding: 7px 10px !important; border-radius: 13px !important; }
  body.inventory-premium-page .vd-inv-main-filter .btn { min-height: 40px !important; }

  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell {
    padding: 10px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 0 !important;
    min-height: 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy h3 { font-size: 1.08rem !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy p { font-size: .76rem !important; line-height: 1.22 !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-meta { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
  body.inventory-premium-page .vd-inventory-full .vd-panel-toggle-btn,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-summary-action { width: 100% !important; min-height: 36px !important; padding: 7px 10px !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-body { padding: 8px 0 0 !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-list { gap: 8px !important; grid-template-columns: 1fr !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card {
    gap: 7px !important;
    padding: 9px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title strong { font-size: .86rem !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title span { font-size: .70rem !important; line-height: 1.18 !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid { gap: 6px !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-field { padding: 6px 7px !important; border-radius: 10px !important; gap: 1px !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-field small { font-size: .58rem !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-field strong { font-size: .74rem !important; }
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-toggle-btn { min-height: 32px !important; padding: 7px 10px !important; font-size: .68rem !important; }

  /* Admin: tarjetas/KPIs más compactos. */
  body.admin-compact-role .stat-card,
  body.role-administrador .stat-card,
  body.role-superadministrador .stat-card,
  body.admin-compact-role .main .stat-card,
  body.role-administrador .main .stat-card,
  body.role-superadministrador .main .stat-card {
    padding: 10px 12px !important;
    min-height: 0 !important;
    border-radius: 14px !important;
  }
  body.admin-compact-role .stat-label,
  body.role-administrador .stat-label,
  body.role-superadministrador .stat-label { font-size: .70rem !important; margin-bottom: 4px !important; }
  body.admin-compact-role .stat-value,
  body.role-administrador .stat-value,
  body.role-superadministrador .stat-value { font-size: 1.26rem !important; line-height: 1.05 !important; }
  body.admin-compact-role .stat-note,
  body.role-administrador .stat-note,
  body.role-superadministrador .stat-note { font-size: .72rem !important; margin-top: 4px !important; line-height: 1.18 !important; }
}

@media (max-width: 380px) {
  body.coordinator-day-dashboard .hoja-header-tools {
    grid-template-columns: 1fr !important;
  }
  body.coordinator-day-dashboard .hoja-header-tools > .btn {
    width: 100% !important;
  }
}

/* ============================================================
   v180 · Corrección definitiva topbar móvil + compactación segura
   - Restaura una sola línea de botones en móvil para coordinador/admin/inventario.
   - No toca lógica operativa.
   - Oculta todos los botones de pantalla completa en móvil.
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  body.forms-compact-role .topbar {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas: "menu actions" !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: -12px -12px 8px !important;
    padding: 8px 10px !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.forms-compact-role .topbar > .mobile-menu-btn {
    grid-area: menu !important;
    display: inline-grid !important;
    place-items: center !important;
    justify-self: start !important;
    align-self: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px !important;
    flex: 0 0 42px !important;
  }
  body.forms-compact-role .topbar > .page-title {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    min-width: 0 !important;
    max-width: 1px !important;
    height: 1px !important;
    max-height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
    flex: 0 0 0 !important;
  }
  body.forms-compact-role .topbar > .topbar-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.forms-compact-role .topbar-actions > .vd-operational-fullscreen-toggle,
  body.forms-compact-role .topbar-actions > .vd-fullscreen-toggle,
  body.forms-compact-role .topbar-actions > [data-miruta-fullscreen-toggle],
  body.forms-compact-role .topbar-actions > [data-asesora-fullscreen-toggle] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  body.forms-compact-role .topbar-actions > .vd-top-search {
    order: 1 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }
  body.forms-compact-role .topbar-actions > .notifications-wrap {
    order: 2 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }
  body.forms-compact-role .topbar-actions > .vd-offline-topbar-pill {
    order: 3 !important;
    flex: 0 1 116px !important;
    width: auto !important;
    min-width: 92px !important;
    max-width: 122px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }
  body.forms-compact-role .topbar-actions > .vd-help-topbar {
    order: 4 !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 14px !important;
  }
  body.forms-compact-role .topbar-actions > .profile,
  body.forms-compact-role .topbar-actions > .topbar-earning-pill {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body.forms-compact-role .vd-top-search-toggle,
  body.forms-compact-role .notifications-button.vd-bell-button,
  body.forms-compact-role .notifications-button,
  body.forms-compact-role .vd-help-topbar {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }
  body.forms-compact-role .vd-help-label,
  body.forms-compact-role .vd-help-topbar .vd-help-label {
    display: none !important;
  }
  body.forms-compact-role .vd-offline-topbar-pill .vd-offline-topbar-title,
  body.forms-compact-role .vd-offline-topbar-pill .vd-offline-topbar-label {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 78px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }
  body.forms-compact-role .vd-offline-topbar-pill .vd-offline-topbar-dot {
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    height: 8px !important;
  }
  body.forms-compact-role .vd-bell-button .notifications-count-text,
  body.forms-compact-role .notifications-count-text {
    position: absolute !important;
    right: -4px !important;
    top: -6px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 6px 14px rgba(239,68,68,.28) !important;
    text-shadow: none !important;
  }
  body.forms-compact-role .vd-bell-button .notifications-count-text[style*="display:none"],
  body.forms-compact-role .notifications-count-text[style*="display:none"] {
    display: none !important;
  }
  body.forms-compact-role .miruta-mobile-page-title-safe {
    margin: 4px 0 8px !important;
    padding: 10px 12px !important;
    border-radius: 17px !important;
  }
  body.forms-compact-role .miruta-mobile-page-title-safe h2 {
    font-size: clamp(20px, 5.2vw, 26px) !important;
    line-height: 1.05 !important;
  }
  body.forms-compact-role .miruta-mobile-page-title-safe p {
    font-size: .82rem !important;
    line-height: 1.22 !important;
  }
}

@media (max-width: 390px), (pointer: coarse) and (max-width: 390px) {
  body.forms-compact-role .topbar {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body.forms-compact-role .topbar > .mobile-menu-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
  }
  body.forms-compact-role .topbar > .topbar-actions { gap: 4px !important; }
  body.forms-compact-role .topbar-actions > .vd-top-search,
  body.forms-compact-role .topbar-actions > .notifications-wrap,
  body.forms-compact-role .topbar-actions > .vd-help-topbar,
  body.forms-compact-role .vd-top-search-toggle,
  body.forms-compact-role .notifications-button.vd-bell-button,
  body.forms-compact-role .notifications-button,
  body.forms-compact-role .vd-help-topbar {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border-radius: 13px !important;
  }
  body.forms-compact-role .topbar-actions > .vd-offline-topbar-pill {
    flex-basis: 102px !important;
    min-width: 88px !important;
    max-width: 106px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }
  body.forms-compact-role .vd-offline-topbar-pill .vd-offline-topbar-title,
  body.forms-compact-role .vd-offline-topbar-pill .vd-offline-topbar-label { max-width: 68px !important; }
}

/* Compactación final, con selectores de bajo riesgo por rol/página. */
@media (max-width: 860px), (pointer: coarse) {
  body.coordinator-day-dashboard .hoja-diaria-shell,
  body.inventory-premium-page .card.panel,
  body.inventory-premium-page .vd-inv-hero,
  body.inventory-premium-page .vd-hidden-load-hero,
  body.admin-smart-dashboard-page .admin-smart-hero,
  body.admin-smart-dashboard-page .admin-smart-kpi,
  body.admin-smart-dashboard-page .admin-route-card,
  body.role-administrador .main > .card,
  body.role-superadministrador .main > .card {
    padding: 10px 12px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-premium,
  body.coordinator-day-dashboard .hoja-status-inline-premium {
    padding: 7px 9px !important;
    border-radius: 15px !important;
    min-height: 0 !important;
    gap: 7px !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-icon {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    border-radius: 11px !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-copy small { font-size: .60rem !important; line-height: 1.05 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy strong { font-size: .88rem !important; line-height: 1.05 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy em { font-size: .70rem !important; line-height: 1.15 !important; }
  body.coordinator-day-dashboard .hoja-header-tools {
    margin-top: -2px !important;
    gap: 6px !important;
  }
  body.coordinator-day-dashboard .hoja-operativa-date-form .input,
  body.admin-smart-dashboard-page .admin-smart-filter .input,
  body.inventory-premium-page .input {
    min-height: 36px !important;
    height: 36px !important;
    padding: 6px 10px !important;
    border-radius: 13px !important;
  }
  body.coordinator-day-dashboard .hoja-header-tools > .btn,
  body.admin-smart-dashboard-page .admin-premium-btn,
  body.inventory-premium-page .btn {
    min-height: 36px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    font-size: .76rem !important;
    line-height: 1 !important;
  }
  body.admin-smart-dashboard-page [data-admin-fullscreen-toggle],
  body.admin-smart-dashboard-page .admin-fullscreen-mobile-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  body.admin-smart-dashboard-page .admin-smart-actions,
  body.admin-smart-dashboard-page .admin-smart-filter {
    gap: 7px !important;
  }
  body.admin-smart-dashboard-page .admin-smart-grid {
    gap: 8px !important;
  }
  body.admin-smart-dashboard-page .admin-smart-kpi strong {
    font-size: 1.42rem !important;
    margin-top: 4px !important;
  }
  body.admin-smart-dashboard-page .admin-smart-kpi small {
    margin-top: 4px !important;
    line-height: 1.18 !important;
  }
  body.inventory-premium-page .vd-inv-hero h3,
  body.inventory-premium-page .vd-hidden-load-hero h3 {
    font-size: 1.14rem !important;
    line-height: 1.05 !important;
  }
  body.inventory-premium-page .vd-inv-hero p,
  body.inventory-premium-page .vd-hidden-load-hero p {
    font-size: .76rem !important;
    line-height: 1.18 !important;
  }
}


/* ============================================================
   v181 · Compactación móvil agresiva de tarjetas sin tocar topbar
   Objetivo: eliminar espacios verticales vacíos en Coordinador, Inventario y Admin.
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  body.coordinator-day-dashboard .main,
  body.inventory-premium-page .main,
  body.admin-smart-dashboard-page .main,
  body.admin-compact-role .main,
  body.role-administrador .main,
  body.role-superadministrador .main {
    gap: 8px !important;
  }

  body.coordinator-day-dashboard .card,
  body.coordinator-day-dashboard .panel,
  body.coordinator-day-dashboard section.card,
  body.coordinator-day-dashboard details.card,
  body.inventory-premium-page .card,
  body.inventory-premium-page .panel,
  body.inventory-premium-page section.card,
  body.inventory-premium-page details.card,
  body.admin-smart-dashboard-page .card,
  body.admin-smart-dashboard-page .panel,
  body.admin-smart-dashboard-page section.card,
  body.admin-smart-dashboard-page details.card,
  body.admin-compact-role .card,
  body.admin-compact-role .panel,
  body.role-administrador .card,
  body.role-administrador .panel,
  body.role-superadministrador .card,
  body.role-superadministrador .panel {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 8px 10px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 16px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.82) !important;
    align-content: start !important;
    overflow: visible !important;
  }

  body.coordinator-day-dashboard .panel-header,
  body.inventory-premium-page .panel-header,
  body.admin-smart-dashboard-page .panel-header,
  body.admin-compact-role .panel-header,
  body.role-administrador .panel-header,
  body.role-superadministrador .panel-header,
  body.inventory-premium-page summary.panel-header,
  body.inventory-premium-page details > summary {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 0 6px !important;
    gap: 6px !important;
    align-items: start !important;
    align-content: start !important;
    justify-content: start !important;
  }

  body.coordinator-day-dashboard .panel-header h3,
  body.inventory-premium-page .panel-header h3,
  body.inventory-premium-page summary h3,
  body.admin-smart-dashboard-page .panel-header h3,
  body.admin-compact-role .panel-header h3,
  body.role-administrador .panel-header h3,
  body.role-superadministrador .panel-header h3 {
    font-size: 1.04rem !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    letter-spacing: -.035em !important;
  }

  body.coordinator-day-dashboard .panel-header p,
  body.inventory-premium-page .panel-header p,
  body.inventory-premium-page summary p,
  body.admin-smart-dashboard-page .panel-header p,
  body.admin-compact-role .panel-header p,
  body.role-administrador .panel-header p,
  body.role-superadministrador .panel-header p {
    font-size: .72rem !important;
    line-height: 1.16 !important;
    margin: 2px 0 0 !important;
  }

  body.coordinator-day-dashboard .badge,
  body.inventory-premium-page .badge,
  body.admin-smart-dashboard-page .badge,
  body.admin-compact-role .badge,
  body.role-administrador .badge,
  body.role-superadministrador .badge {
    min-height: 20px !important;
    height: auto !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  /* Inventario: tarjeta superior y filtros sin huecos verticales. */
  body.inventory-premium-page .vd-inventory-full .vd-inv-hero,
  body.inventory-premium-page .vd-inventory-full .vd-hidden-load-hero {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-inv-hero .panel-header,
  body.inventory-premium-page .vd-inventory-full .vd-inv-head-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    min-height: 0 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-inv-hero h3,
  body.inventory-premium-page .vd-inventory-full .vd-hidden-load-hero h3 {
    font-size: 1.03rem !important;
    line-height: 1.04 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-inv-hero p,
  body.inventory-premium-page .vd-inventory-full .vd-hidden-load-hero p {
    font-size: .70rem !important;
    line-height: 1.14 !important;
    margin: 2px 0 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-inv-main-filter,
  body.inventory-premium-page .vd-inventory-full .form-grid {
    gap: 5px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-inv-main-filter {
    margin: 5px 0 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .form-group {
    margin-bottom: 5px !important;
  }
  body.inventory-premium-page .vd-inventory-full label {
    margin-bottom: 2px !important;
    font-size: .66rem !important;
    line-height: 1.05 !important;
  }
  body.inventory-premium-page .vd-inventory-full .input,
  body.inventory-premium-page .vd-inventory-full select.input {
    min-height: 32px !important;
    height: 32px !important;
    padding: 5px 9px !important;
    border-radius: 11px !important;
    font-size: .82rem !important;
  }
  body.inventory-premium-page .vd-inventory-full .btn {
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    font-size: .70rem !important;
    line-height: 1 !important;
  }

  /* Inventario: paneles de rutas, despachos y productos sin espacios internos grandes. */
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-responsive-panel,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-panel,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-shell,
  body.inventory-premium-page .vd-inventory-full .vd-rutas-panel,
  body.inventory-premium-page .vd-inventory-full .vd-rutas-operativos-panel {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    margin: 8px 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-responsive-panel .panel-header,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-summary,
  body.inventory-premium-page .vd-inventory-full .vd-panel-premium-summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 5px !important;
    margin: 0 0 6px !important;
    border-radius: 12px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-list,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-list {
    gap: 6px !important;
    margin: 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-card,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card,
  body.inventory-premium-page .vd-inventory-full .vd-route-stock-card,
  body.inventory-premium-page .vd-inventory-full .vd-route-alert-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    box-shadow: 0 5px 13px rgba(15,23,42,.045) !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-head,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-head {
    min-height: 0 !important;
    padding: 7px 8px !important;
    gap: 5px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title {
    gap: 1px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title strong,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title strong {
    font-size: .84rem !important;
    line-height: 1.08 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-title span,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-title span,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-panel-copy p {
    font-size: .66rem !important;
    line-height: 1.12 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-card-grid,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-info-grid {
    gap: 5px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-metrics span,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-field,
  body.inventory-premium-page .vd-inventory-full .vd-route-metrics span {
    min-height: 0 !important;
    padding: 5px 6px !important;
    border-radius: 10px !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-toggle,
  body.inventory-premium-page .vd-inventory-full .vd-panel-toggle-btn,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-toggle-btn {
    width: 100% !important;
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: .68rem !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-body,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-responsive-body {
    padding: 6px 0 0 !important;
  }
  body.inventory-premium-page .vd-inventory-full .vd-route-inventory-grid,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-item-list,
  body.inventory-premium-page .vd-inventory-full .vd-dispatch-receive-grid {
    gap: 6px !important;
  }

  /* Coordinador: hoja diaria compacta al mínimo seguro. */
  body.coordinator-day-dashboard .hoja-diaria-shell,
  body.coordinator-day-dashboard .hoja-diaria-shell.hoja-diaria-dia-especial,
  body.coordinator-day-dashboard .hoja-diaria-shell.hoja-diaria-no-laboral {
    padding: 8px 10px !important;
    border-radius: 14px !important;
    margin-bottom: 8px !important;
    min-height: 0 !important;
  }
  body.coordinator-day-dashboard .hoja-diaria-shell > .panel-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
  }
  body.coordinator-day-dashboard .hoja-status-inline-premium,
  body.coordinator-day-dashboard .hoja-day-status-premium {
    min-height: 0 !important;
    height: auto !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    gap: 6px !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 10px !important;
  }
  body.coordinator-day-dashboard .hoja-day-status-copy small { font-size: .56rem !important; line-height: 1.02 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy strong { font-size: .82rem !important; line-height: 1.04 !important; }
  body.coordinator-day-dashboard .hoja-day-status-copy em { font-size: .66rem !important; line-height: 1.10 !important; }
  body.coordinator-day-dashboard .hoja-header-tools {
    margin-top: 0 !important;
    gap: 5px !important;
  }
  body.coordinator-day-dashboard .hoja-operativa-date-form label {
    margin-bottom: 2px !important;
    font-size: .64rem !important;
  }
  body.coordinator-day-dashboard .hoja-operativa-date-form .input,
  body.coordinator-day-dashboard .input,
  body.coordinator-day-dashboard select.input {
    min-height: 32px !important;
    height: 32px !important;
    padding: 5px 9px !important;
    border-radius: 11px !important;
    font-size: .82rem !important;
  }
  body.coordinator-day-dashboard .hoja-header-tools > .btn,
  body.coordinator-day-dashboard .btn {
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    font-size: .70rem !important;
    line-height: 1 !important;
  }

  /* Admin/Superadmin: ocultar pantalla completa en móvil y compactar hero/KPIs. */
  body.admin-smart-dashboard-page [data-admin-fullscreen-toggle],
  body.admin-smart-dashboard-page .admin-fullscreen-mobile-hidden,
  body.admin-smart-dashboard-page button.admin-premium-btn[data-admin-fullscreen-toggle] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  body.admin-smart-dashboard-page .admin-smart-hero,
  body.admin-smart-dashboard-page .admin-smart-kpi,
  body.admin-smart-dashboard-page .admin-route-card,
  body.admin-smart-dashboard-page .admin-nomina-main-card,
  body.admin-smart-dashboard-page .admin-nomina-mini-card,
  body.admin-compact-role .stat-card,
  body.role-administrador .stat-card,
  body.role-superadministrador .stat-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    gap: 5px !important;
  }
  body.admin-smart-dashboard-page .admin-smart-actions,
  body.admin-smart-dashboard-page .admin-smart-filter,
  body.admin-smart-dashboard-page .admin-smart-grid,
  body.admin-smart-dashboard-page .stats-grid {
    gap: 6px !important;
  }
  body.admin-smart-dashboard-page .admin-premium-btn,
  body.admin-smart-dashboard-page .btn,
  body.admin-smart-dashboard-page .input {
    min-height: 32px !important;
    height: 32px !important;
    padding: 5px 9px !important;
    border-radius: 11px !important;
    font-size: .76rem !important;
  }
  body.admin-smart-dashboard-page .admin-smart-kpi strong,
  body.admin-compact-role .stat-value,
  body.role-administrador .stat-value,
  body.role-superadministrador .stat-value {
    font-size: 1.16rem !important;
    line-height: 1.03 !important;
    margin: 2px 0 0 !important;
  }
  body.admin-smart-dashboard-page .admin-smart-kpi small,
  body.admin-compact-role .stat-note,
  body.role-administrador .stat-note,
  body.role-superadministrador .stat-note {
    font-size: .66rem !important;
    line-height: 1.12 !important;
    margin-top: 2px !important;
  }
}

/* ============================================================
   v182 · Mobile ultra compact global
   Aplica a Coordinador, Inventario, Admin/Superadmin y Mi cuenta.
   Elimina min-height/padding excesivo sin tocar la lógica.
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  body.forms-compact-role,
  body.admin-compact-role,
  body.inventory-premium-page,
  body.coordinator-day-dashboard {
    --radius: 14px !important;
  }

  body.forms-compact-role .main,
  body.admin-compact-role .main,
  body.role-administrador .main,
  body.role-superadministrador .main,
  body.inventory-premium-page .main,
  body.coordinator-day-dashboard .main,
  body .main.vd-inventory-full,
  body .main.vd-invship {
    gap: 7px !important;
    padding-top: 6px !important;
  }

  body.forms-compact-role .topbar {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "menu actions" !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: -10px -10px 6px !important;
    padding: 7px 8px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.forms-compact-role .topbar > .mobile-menu-btn {
    grid-area: menu !important;
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    place-items: center !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 40px !important;
    z-index: 40 !important;
  }
  body.forms-compact-role .topbar > .page-title,
  body.forms-compact-role .topbar .profile,
  body.forms-compact-role .topbar .topbar-earning-pill,
  body.forms-compact-role .topbar [data-miruta-fullscreen-toggle],
  body.forms-compact-role .topbar [data-asesora-fullscreen-toggle],
  body.forms-compact-role .topbar .vd-operational-fullscreen-toggle,
  body.forms-compact-role .topbar .vd-fullscreen-toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  body.forms-compact-role .topbar > .topbar-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.forms-compact-role .topbar-actions > .vd-top-search,
  body.forms-compact-role .topbar-actions > .notifications-wrap,
  body.forms-compact-role .topbar-actions > .vd-help-topbar {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }
  body.forms-compact-role .topbar-actions > .vd-top-search { order: 1 !important; }
  body.forms-compact-role .topbar-actions > .notifications-wrap { order: 2 !important; }
  body.forms-compact-role .topbar-actions > .vd-offline-topbar-pill {
    order: 3 !important;
    flex: 0 1 112px !important;
    width: auto !important;
    min-width: 88px !important;
    max-width: 114px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  body.forms-compact-role .topbar-actions > .vd-help-topbar { order: 4 !important; }
  body.forms-compact-role .vd-top-search-toggle,
  body.forms-compact-role .notifications-button.vd-bell-button,
  body.forms-compact-role .notifications-button,
  body.forms-compact-role .vd-help-topbar {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 12px !important;
  }
  body.forms-compact-role .vd-help-label,
  body.forms-compact-role .vd-help-topbar .vd-help-label,
  body.forms-compact-role .vd-offline-topbar-count { display: none !important; }
  body.forms-compact-role .vd-offline-topbar-title,
  body.forms-compact-role .vd-offline-topbar-label {
    max-width: 72px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.forms-compact-role .vd-top-search.open .vd-top-search-panel {
    position: fixed !important;
    top: 58px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(420px, calc(100vw - 18px)) !important;
    max-width: calc(100vw - 18px) !important;
    z-index: 3000 !important;
  }

  body.forms-compact-role .miruta-mobile-page-title-safe {
    margin: 2px 0 7px !important;
    padding: 9px 11px !important;
    border-radius: 14px !important;
    min-height: 0 !important;
  }
  body.forms-compact-role .miruta-mobile-page-title-safe h2 {
    font-size: clamp(18px, 5.1vw, 24px) !important;
    line-height: 1.05 !important;
    margin: 0 0 2px !important;
  }
  body.forms-compact-role .miruta-mobile-page-title-safe p {
    font-size: clamp(11px, 3.2vw, 13px) !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }

  body.forms-compact-role .main > .card,
  body.forms-compact-role .main > .panel,
  body.forms-compact-role .main section.card,
  body.forms-compact-role .main section.panel,
  body.forms-compact-role .main article.card,
  body.forms-compact-role .main article.panel,
  body.forms-compact-role .main aside.card,
  body.forms-compact-role .main aside.panel,
  body.forms-compact-role .main details.card,
  body.forms-compact-role .main details.panel,
  body.forms-compact-role .stat-card,
  body.forms-compact-role .mini-card,
  body.forms-compact-role .metric-card,
  body.forms-compact-role .kpi-card,
  body.forms-compact-role .admin-smart-hero,
  body.forms-compact-role .admin-smart-kpi,
  body.forms-compact-role .admin-route-card,
  body.forms-compact-role .admin-nomina-main-card,
  body.forms-compact-role .admin-nomina-mini-card,
  body.forms-compact-role .vd-inv-hero,
  body.forms-compact-role .vd-inv-kpi,
  body.forms-compact-role .vd-route-smart-dashboard,
  body.forms-compact-role .vd-route-daily-card,
  body.forms-compact-role .vd-dispatch-responsive-panel,
  body.forms-compact-role .vd-dispatch-responsive-shell,
  body.forms-compact-role .vd-route-inventory-responsive-panel,
  body.forms-compact-role .vd-rutas-panel,
  body.forms-compact-role .vd-rutas-operativos-panel,
  body.forms-compact-role .vd-route-inventory-card,
  body.forms-compact-role .vd-dispatch-card,
  body.forms-compact-role .vd-invship .vd-excel-wrap,
  body.forms-compact-role .vd-invship .vd-inv-hero,
  body.forms-compact-role .vd-invship .vd-inv-kpi,
  body.forms-compact-role .hoteles-page .card,
  body.forms-compact-role .hoteles-edit-panel,
  body.forms-compact-role .hoja-diaria-shell,
  body.forms-compact-role .hoja-status-inline-premium,
  body.forms-compact-role .hoja-day-status-premium {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 7px 9px !important;
    margin-top: 0 !important;
    margin-bottom: 7px !important;
    border-radius: 13px !important;
    gap: 5px !important;
    align-content: start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    box-shadow: 0 5px 12px rgba(15,23,42,.045), inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  body.forms-compact-role .panel-header,
  body.forms-compact-role .card-header,
  body.forms-compact-role .section-header,
  body.forms-compact-role .admin-smart-hero-head,
  body.forms-compact-role .admin-smart-hero-head-clean,
  body.forms-compact-role .vd-inv-head-row,
  body.forms-compact-role .vd-dispatch-panel-summary,
  body.forms-compact-role .vd-panel-premium-summary,
  body.forms-compact-role .vd-route-inventory-head,
  body.forms-compact-role .vd-dispatch-card-head,
  body.forms-compact-role details > summary,
  body.forms-compact-role .vd-route-daily-card > summary,
  body.forms-compact-role .vd-excel-toolbar {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 0 5px !important;
    gap: 5px !important;
    align-items: start !important;
    align-content: start !important;
  }

  body.forms-compact-role .panel-header h1,
  body.forms-compact-role .panel-header h2,
  body.forms-compact-role .panel-header h3,
  body.forms-compact-role .panel-header h4,
  body.forms-compact-role .card-header h1,
  body.forms-compact-role .card-header h2,
  body.forms-compact-role .card-header h3,
  body.forms-compact-role .section-header h1,
  body.forms-compact-role .section-header h2,
  body.forms-compact-role .section-header h3,
  body.forms-compact-role .admin-smart-hero h1,
  body.forms-compact-role .admin-smart-hero h2,
  body.forms-compact-role .admin-smart-hero h3,
  body.forms-compact-role .vd-inv-hero h1,
  body.forms-compact-role .vd-inv-hero h2,
  body.forms-compact-role .vd-inv-hero h3,
  body.forms-compact-role .vd-invship .vd-inv-hero h1,
  body.forms-compact-role .vd-route-inventory-title strong,
  body.forms-compact-role .vd-dispatch-card-title strong {
    font-size: clamp(15px, 4.25vw, 19px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    letter-spacing: -.035em !important;
  }

  body.forms-compact-role .panel-header p,
  body.forms-compact-role .card-header p,
  body.forms-compact-role .section-header p,
  body.forms-compact-role .admin-smart-hero p,
  body.forms-compact-role .vd-inv-hero p,
  body.forms-compact-role .vd-invship .vd-inv-hero p,
  body.forms-compact-role .vd-route-inventory-title span,
  body.forms-compact-role .vd-dispatch-card-title span,
  body.forms-compact-role .vd-inv-muted,
  body.forms-compact-role .stat-note {
    font-size: 11px !important;
    line-height: 1.15 !important;
    margin: 1px 0 0 !important;
  }

  body.forms-compact-role .form-grid,
  body.forms-compact-role .content-grid,
  body.forms-compact-role .stats-grid,
  body.forms-compact-role .kpi-grid,
  body.forms-compact-role .vd-inv-main-filter,
  body.forms-compact-role .vd-inv-filters,
  body.forms-compact-role .vd-route-inventory-list,
  body.forms-compact-role .vd-dispatch-card-list,
  body.forms-compact-role .vd-route-inventory-grid,
  body.forms-compact-role .vd-dispatch-card-grid,
  body.forms-compact-role .vd-dispatch-info-grid,
  body.forms-compact-role .vd-inv-kpis,
  body.forms-compact-role .admin-smart-grid,
  body.forms-compact-role .admin-smart-filter {
    gap: 5px !important;
  }

  body.forms-compact-role .form-group { margin-bottom: 5px !important; }
  body.forms-compact-role label,
  body.forms-compact-role .form-group label {
    font-size: 10.5px !important;
    line-height: 1.05 !important;
    margin-bottom: 2px !important;
  }
  body.forms-compact-role .input,
  body.forms-compact-role select.input,
  body.forms-compact-role input.input,
  body.forms-compact-role textarea.input {
    min-height: 31px !important;
    height: 31px !important;
    padding: 4px 8px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
  }
  body.forms-compact-role textarea.input { height: auto !important; min-height: 48px !important; }
  body.forms-compact-role .btn,
  body.forms-compact-role button.btn,
  body.forms-compact-role a.btn,
  body.forms-compact-role .btn-sm,
  body.forms-compact-role .vd-premium-btn,
  body.forms-compact-role .vd-panel-toggle-btn,
  body.forms-compact-role .vd-route-inventory-toggle,
  body.forms-compact-role .vd-dispatch-toggle-btn {
    min-height: 30px !important;
    height: auto !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    gap: 4px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.forms-compact-role .badge,
  body.forms-compact-role .status,
  body.forms-compact-role .pill {
    min-height: 22px !important;
    padding: 4px 7px !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
  }

  body.forms-compact-role .alert,
  body.forms-compact-role .alert-info,
  body.forms-compact-role .alert-warning,
  body.forms-compact-role .alert-success,
  body.forms-compact-role .alert-error,
  body.forms-compact-role .alert-danger {
    padding: 7px 9px !important;
    margin: 6px 0 !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
  }

  body.forms-compact-role .vd-route-inventory-metrics,
  body.forms-compact-role .vd-route-metrics,
  body.forms-compact-role .vd-dispatch-info-grid,
  body.forms-compact-role .vd-info-grid {
    gap: 4px !important;
  }
  body.forms-compact-role .vd-route-inventory-metrics span,
  body.forms-compact-role .vd-route-metrics span,
  body.forms-compact-role .vd-dispatch-field,
  body.forms-compact-role .vd-info-grid div,
  body.forms-compact-role .vd-inv-kpi,
  body.forms-compact-role .stat-card {
    min-height: 0 !important;
    padding: 5px 6px !important;
    border-radius: 10px !important;
  }

  body.forms-compact-role .vd-route-inventory-body[hidden],
  body.forms-compact-role .vd-dispatch-responsive-body[hidden] {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.forms-compact-role .vd-route-inventory-body,
  body.forms-compact-role .vd-dispatch-responsive-body {
    padding: 5px 0 0 !important;
  }

  body.forms-compact-role .topbar-spacer { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
}



/* v183 · Capa final por hoja: elimina huecos verticales internos en tarjetas/cuadros móviles. */
@media (max-width: 860px), (pointer: coarse) {
  body.forms-compact-role .main,
  body.admin-compact-role .main,
  body.inventory-premium-page .main,
  body.coordinator-day-dashboard .main {
    gap: 4px !important;
    padding-top: 4px !important;
  }

  body.forms-compact-role .main *,
  body.admin-compact-role .main *,
  body.inventory-premium-page .main *,
  body.coordinator-day-dashboard .main * {
    box-sizing: border-box !important;
    min-height: 0 !important;
  }

  body.forms-compact-role .main :is(
    .card,.panel,.mini-card,.metric-card,.stat-card,.kpi-card,
    .admin-smart-hero,.admin-smart-kpi,.admin-route-card,.admin-nomina-main-card,.admin-nomina-mini-card,
    .vd-inv-hero,.vd-hidden-load-hero,.vd-inv-kpi,.vd-excel-wrap,.vd-detail-card,.vd-trace,.vd-stock-diagnostic,
    .vd-route-smart-dashboard,.vd-route-daily-card,.vd-route-inventory-responsive-panel,.vd-route-inventory-card,.vd-route-inventory-item,
    .vd-dispatch-responsive-panel,.vd-dispatch-responsive-shell,.vd-dispatch-card,.vd-dispatch-field,
    .vd-rutas-panel,.vd-rutas-operativos-panel,.vd-route-stock-card,.vd-route-alert-card,
    .hoja-diaria-shell,.hoja-status-inline-premium,.hoja-day-status-premium,.hoja-patient-card,.hoja-mobile-patient-card,
    .hoteles-page .card,.hoteles-edit-panel,.miruta-mobile-page-title-safe,
    .alert,.alert-info,.alert-warning,.alert-success,.alert-error,.alert-danger,
    section.card,section.panel,article.card,article.panel,aside.card,aside.panel,details.card,details.panel
  ),
  body.forms-compact-role .main [class*="card"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="panel"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="hero"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="shell"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="box"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="bloque"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="kpi"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="stat"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap),
  body.forms-compact-role .main [class*="metric"]:not(.btn):not(.input):not(.topbar):not(.sidebar):not(.table-wrap) {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    border-radius: 12px !important;
    gap: 4px !important;
    align-content: start !important;
    justify-content: flex-start !important;
    grid-auto-rows: auto !important;
  }

  body.forms-compact-role .main :is(.panel-header,.card-header,.section-header,.admin-smart-hero-head,.admin-smart-hero-head-clean,.vd-inv-head-row,.vd-excel-toolbar,.vd-dispatch-panel-summary,.vd-panel-premium-summary,.vd-route-inventory-head,.vd-dispatch-card-head,details>summary,.vd-route-daily-card>summary) {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 0 4px !important;
    gap: 4px !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    grid-template-rows: auto !important;
  }

  body.forms-compact-role .main :is(.panel-header,.card-header,.section-header,.vd-inv-head-row,.vd-dispatch-panel-summary,.vd-panel-premium-summary,.vd-route-inventory-head,.vd-dispatch-card-head,details>summary) > div {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 2px !important;
  }

  body.forms-compact-role .main :is(h1,h2,h3,h4) {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
  }
  body.forms-compact-role .main h1 { font-size: clamp(18px, 5vw, 24px) !important; }
  body.forms-compact-role .main h2 { font-size: clamp(17px, 4.7vw, 22px) !important; }
  body.forms-compact-role .main h3 { font-size: clamp(15px, 4.25vw, 19px) !important; }
  body.forms-compact-role .main h4 { font-size: clamp(13px, 3.8vw, 17px) !important; }

  body.forms-compact-role .main :is(p,small,em,.muted,.text-muted,.stat-note,.vd-inv-muted,.vd-inv-meta,.vd-excel-muted,.vd-route-inventory-title span,.vd-dispatch-card-title span) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.12 !important;
  }

  body.forms-compact-role .main :is(.form-grid,.content-grid,.stats-grid,.kpi-grid,.admin-smart-grid,.admin-smart-filter,.vd-inv-main-filter,.vd-inv-filters,.vd-route-inventory-list,.vd-dispatch-card-list,.vd-route-inventory-grid,.vd-dispatch-card-grid,.vd-dispatch-info-grid,.vd-info-grid,.vd-inv-kpis) {
    gap: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  body.forms-compact-role .main :is(.form-group,.field,.input-group) {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }
  body.forms-compact-role .main :is(label,.form-group label) {
    margin-bottom: 2px !important;
    font-size: 10px !important;
    line-height: 1.03 !important;
  }

  body.forms-compact-role .main :is(.input,input.input,select.input,textarea.input) {
    min-height: 31px !important;
    height: 31px !important;
    padding: 4px 8px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
  }
  body.forms-compact-role .main textarea.input { height: auto !important; min-height: 46px !important; }

  body.forms-compact-role .main :is(.btn,button.btn,a.btn,.btn-sm,.vd-premium-btn,.vd-panel-toggle-btn,.vd-route-inventory-toggle,.vd-dispatch-toggle-btn,.admin-premium-btn) {
    min-height: 29px !important;
    height: auto !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    line-height: 1.04 !important;
    gap: 4px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.forms-compact-role .main :is(.badge,.status,.pill) {
    min-height: 19px !important;
    padding: 3px 7px !important;
    font-size: 9.5px !important;
    line-height: 1.03 !important;
    margin: 0 !important;
    align-self: flex-start !important;
  }

  body.forms-compact-role .main :is(.alert,.alert-info,.alert-warning,.alert-success,.alert-error,.alert-danger) {
    padding: 6px 8px !important;
    margin: 4px 0 !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    line-height: 1.14 !important;
  }

  body.forms-compact-role .main :is(.table-wrap,.vd-excel-scroll) {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    border-radius: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.forms-compact-role .main table :is(th,td) {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  body.forms-compact-role .main :is(.vd-route-inventory-body[hidden],.vd-dispatch-responsive-body[hidden],details:not([open]) > *:not(summary)) {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  body.forms-compact-role .main :is(.vd-route-inventory-body,.vd-dispatch-responsive-body,.compact-action-body) {
    padding-top: 4px !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }

  body.forms-compact-role .main :is(.vd-inv-hero,.vd-hidden-load-hero,.admin-smart-hero,.hoja-diaria-shell,.miruta-mobile-page-title-safe) {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  body.forms-compact-role :is([data-admin-fullscreen-toggle],.admin-fullscreen-mobile-hidden,.admin-smart-actions [data-miruta-fullscreen-toggle],.admin-smart-actions .vd-fullscreen-toggle) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}


/* ============================================================
   v184 · Compactación móvil definitiva de tarjetas/cuadros internos.
   Se aplica al final del CSS principal para que no dependa de includes
   colocados después del cierre del documento ni de estilos embebidos.
   ============================================================ */
@media (max-width: 860px), (pointer: coarse) {
  html body.forms-compact-role .main,
  html body.admin-compact-role .main,
  html body.inventory-premium-page .main,
  html body.coordinator-day-dashboard .main {
    gap: 6px !important;
    padding-top: 6px !important;
    padding-bottom: 10px !important;
  }

  html body.forms-compact-role .main > .card,
  html body.forms-compact-role .main > .panel,
  html body.forms-compact-role .main > section,
  html body.forms-compact-role .main > article,
  html body.forms-compact-role .main > aside,
  html body.forms-compact-role .main > details,
  html body.forms-compact-role .main .card.panel,
  html body.forms-compact-role .main section.card.panel,
  html body.forms-compact-role .main details.card.panel,
  html body.forms-compact-role .main article.card.panel,
  html body.forms-compact-role .main .admin-smart-hero,
  html body.forms-compact-role .main .admin-smart-kpi,
  html body.forms-compact-role .main .admin-route-card,
  html body.forms-compact-role .main .admin-nomina-main-card,
  html body.forms-compact-role .main .admin-nomina-mini-card,
  html body.forms-compact-role .main .stat-card,
  html body.forms-compact-role .main .metric-card,
  html body.forms-compact-role .main .kpi-card,
  html body.forms-compact-role .main .mini-card,
  html body.forms-compact-role .main .vd-inv-hero,
  html body.forms-compact-role .main .vd-hidden-load-hero,
  html body.forms-compact-role .main .vd-inv-kpi,
  html body.forms-compact-role .main .vd-route-smart-dashboard,
  html body.forms-compact-role .main .vd-route-daily-card,
  html body.forms-compact-role .main .vd-route-inventory-responsive-panel,
  html body.forms-compact-role .main .vd-rutas-panel,
  html body.forms-compact-role .main .vd-rutas-operativos-panel,
  html body.forms-compact-role .main .vd-route-inventory-card,
  html body.forms-compact-role .main .vd-route-inventory-item,
  html body.forms-compact-role .main .vd-dispatch-responsive-panel,
  html body.forms-compact-role .main .vd-dispatch-responsive-shell,
  html body.forms-compact-role .main .vd-dispatch-card,
  html body.forms-compact-role .main .vd-detail-card,
  html body.forms-compact-role .main .vd-trace,
  html body.forms-compact-role .main .vd-stock-diagnostic,
  html body.forms-compact-role .main .vd-bodega-workspace,
  html body.forms-compact-role .main .vd-products-batch-panel,
  html body.forms-compact-role .main .vd-campanas-panel,
  html body.forms-compact-role .main .vd-campana-products-card,
  html body.forms-compact-role .main .vd-campana-upload-card,
  html body.forms-compact-role .main .hoja-diaria-shell,
  html body.forms-compact-role .main .hoja-status-inline-premium,
  html body.forms-compact-role .main .hoja-day-status-premium,
  html body.forms-compact-role .main .hoja-patient-card,
  html body.forms-compact-role .main .hoja-mobile-patient-card,
  html body.forms-compact-role .main .hoteles-page .card,
  html body.forms-compact-role .main .hoteles-edit-panel,
  html body.forms-compact-role .main .miruta-mobile-page-title-safe,
  html body.forms-compact-role .main .alert,
  html body.forms-compact-role .main .alert-info,
  html body.forms-compact-role .main .alert-warning,
  html body.forms-compact-role .main .alert-success,
  html body.forms-compact-role .main .alert-error,
  html body.forms-compact-role .main .alert-danger {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 8px 10px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    border-radius: 14px !important;
    gap: 5px !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    box-shadow: 0 6px 14px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.82) !important;
  }

  html body.forms-compact-role .main .panel-header,
  html body.forms-compact-role .main .card-header,
  html body.forms-compact-role .main .section-header,
  html body.forms-compact-role .main .admin-smart-hero-head,
  html body.forms-compact-role .main .admin-smart-hero-head-clean,
  html body.forms-compact-role .main .compact-panel-header,
  html body.forms-compact-role .main .vd-inv-head-row,
  html body.forms-compact-role .main .vd-excel-toolbar,
  html body.forms-compact-role .main .vd-panel-premium-summary,
  html body.forms-compact-role .main .vd-dispatch-panel-summary,
  html body.forms-compact-role .main .vd-route-inventory-head,
  html body.forms-compact-role .main .vd-dispatch-card-head,
  html body.forms-compact-role .main .vd-route-daily-card > summary,
  html body.forms-compact-role .main details > summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 0 5px !important;
    gap: 4px !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    justify-items: stretch !important;
  }

  html body.forms-compact-role .main .panel-header > *,
  html body.forms-compact-role .main .card-header > *,
  html body.forms-compact-role .main .section-header > *,
  html body.forms-compact-role .main .vd-inv-head-row > *,
  html body.forms-compact-role .main .vd-panel-premium-summary > *,
  html body.forms-compact-role .main .vd-dispatch-panel-summary > *,
  html body.forms-compact-role .main .vd-route-inventory-head > *,
  html body.forms-compact-role .main .vd-route-daily-card > summary > * {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-self: start !important;
  }

  html body.forms-compact-role .main h1,
  html body.forms-compact-role .main h2,
  html body.forms-compact-role .main h3,
  html body.forms-compact-role .main h4 {
    margin: 0 0 2px !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
  }
  html body.forms-compact-role .main h1 { font-size: clamp(18px, 5.2vw, 24px) !important; }
  html body.forms-compact-role .main h2 { font-size: clamp(17px, 4.8vw, 22px) !important; }
  html body.forms-compact-role .main h3 { font-size: clamp(15px, 4.35vw, 19px) !important; }
  html body.forms-compact-role .main h4 { font-size: clamp(13px, 3.9vw, 17px) !important; }

  html body.forms-compact-role .main p,
  html body.forms-compact-role .main small,
  html body.forms-compact-role .main em,
  html body.forms-compact-role .main .muted,
  html body.forms-compact-role .main .text-muted,
  html body.forms-compact-role .main .stat-note,
  html body.forms-compact-role .main .vd-inv-muted,
  html body.forms-compact-role .main .vd-inv-meta,
  html body.forms-compact-role .main .vd-excel-muted,
  html body.forms-compact-role .main .vd-route-inventory-title span,
  html body.forms-compact-role .main .vd-dispatch-card-title span {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.13 !important;
  }

  html body.forms-compact-role .main .badge,
  html body.forms-compact-role .main .status,
  html body.forms-compact-role .main .pill,
  html body.forms-compact-role .main .vd-inv-hero .badge,
  html body.forms-compact-role .main .panel-header .badge,
  html body.forms-compact-role .main summary .badge {
    width: auto !important;
    min-height: 19px !important;
    height: auto !important;
    padding: 3px 7px !important;
    margin: 2px 0 0 !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
    line-height: 1.04 !important;
    align-self: flex-start !important;
  }

  html body.forms-compact-role .main .form-grid,
  html body.forms-compact-role .main .content-grid,
  html body.forms-compact-role .main .stats-grid,
  html body.forms-compact-role .main .kpi-grid,
  html body.forms-compact-role .main .admin-smart-grid,
  html body.forms-compact-role .main .admin-smart-filter,
  html body.forms-compact-role .main .vd-inv-main-filter,
  html body.forms-compact-role .main .vd-inv-filters,
  html body.forms-compact-role .main .vd-route-inventory-list,
  html body.forms-compact-role .main .vd-dispatch-card-list,
  html body.forms-compact-role .main .vd-route-inventory-grid,
  html body.forms-compact-role .main .vd-dispatch-card-grid,
  html body.forms-compact-role .main .vd-dispatch-info-grid,
  html body.forms-compact-role .main .vd-info-grid,
  html body.forms-compact-role .main .vd-inv-kpis,
  html body.forms-compact-role .main .vd-route-inventory-metrics,
  html body.forms-compact-role .main .vd-route-smart-metrics,
  html body.forms-compact-role .main .vd-route-metrics {
    gap: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  html body.forms-compact-role .main .form-group,
  html body.forms-compact-role .main .field,
  html body.forms-compact-role .main .input-group {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }
  html body.forms-compact-role .main label,
  html body.forms-compact-role .main .form-group label {
    margin-bottom: 2px !important;
    font-size: 10px !important;
    line-height: 1.03 !important;
  }
  html body.forms-compact-role .main .input,
  html body.forms-compact-role .main input.input,
  html body.forms-compact-role .main select.input,
  html body.forms-compact-role .main textarea.input {
    min-height: 31px !important;
    height: 31px !important;
    padding: 4px 8px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
  }
  html body.forms-compact-role .main textarea.input {
    height: auto !important;
    min-height: 44px !important;
  }
  html body.forms-compact-role .main .btn,
  html body.forms-compact-role .main button.btn,
  html body.forms-compact-role .main a.btn,
  html body.forms-compact-role .main .btn-sm,
  html body.forms-compact-role .main .vd-premium-btn,
  html body.forms-compact-role .main .vd-panel-toggle-btn,
  html body.forms-compact-role .main .vd-route-inventory-toggle,
  html body.forms-compact-role .main .vd-dispatch-toggle-btn,
  html body.forms-compact-role .main .admin-premium-btn {
    min-height: 29px !important;
    height: auto !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    line-height: 1.04 !important;
    gap: 4px !important;
    white-space: normal !important;
    text-align: center !important;
  }

  html body.forms-compact-role .main .vd-route-inventory-metrics span,
  html body.forms-compact-role .main .vd-route-smart-metrics span,
  html body.forms-compact-role .main .vd-route-metrics span,
  html body.forms-compact-role .main .vd-dispatch-field,
  html body.forms-compact-role .main .vd-info-grid div,
  html body.forms-compact-role .main .vd-inv-kpi,
  html body.forms-compact-role .main .stat-card {
    min-height: 0 !important;
    padding: 5px 6px !important;
    border-radius: 10px !important;
  }

  html body.forms-compact-role .main .vd-route-inventory-body[hidden],
  html body.forms-compact-role .main .vd-dispatch-responsive-body[hidden],
  html body.forms-compact-role .main details:not([open]) > *:not(summary) {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body.forms-compact-role .main .vd-route-inventory-body,
  html body.forms-compact-role .main .vd-dispatch-responsive-body,
  html body.forms-compact-role .main .compact-action-body,
  html body.forms-compact-role .main .vd-route-smart-body {
    padding-top: 5px !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }

  html body.forms-compact-role .main .table-wrap,
  html body.forms-compact-role .main .vd-excel-scroll,
  html body.forms-compact-role .main .vd-route-detail-table,
  html body.forms-compact-role .main .vd-dispatch-scroll-shell {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    border-radius: 10px !important;
  }

  html body.forms-compact-role .main table th,
  html body.forms-compact-role .main table td {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  html body.forms-compact-role :is([data-admin-fullscreen-toggle],.admin-fullscreen-mobile-hidden,.admin-smart-actions [data-miruta-fullscreen-toggle],.admin-smart-actions .vd-fullscreen-toggle,.topbar [data-miruta-fullscreen-toggle],.topbar .vd-fullscreen-toggle,.topbar .vd-operational-fullscreen-toggle) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}

/* =========================================================
   v186 · Estabilidad móvil sin vibración
   ---------------------------------------------------------
   La compactación v184 se mantiene solo por CSS. Se elimina
   el reajuste repetitivo por JavaScript para evitar micro
   movimientos/reflow en hojas con tarjetas dinámicas.
   ========================================================= */
@media (max-width: 860px), (pointer: coarse) {
  html.miruta-layout-estable-v186,
  html.miruta-layout-estable-v186 body,
  body.forms-compact-role {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  body.forms-compact-role .app,
  body.forms-compact-role .main,
  body.forms-compact-role .topbar,
  body.forms-compact-role .sidebar,
  body.forms-compact-role .overlay,
  body.forms-compact-role .main * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto !important;
  }

  body.forms-compact-role .main,
  body.forms-compact-role .topbar,
  body.forms-compact-role .main > *,
  body.forms-compact-role .main :is(.card,.panel,.stat-card,.metric-card,.kpi-card,.mini-card,.admin-smart-hero,.vd-inv-hero,.vd-route-daily-card,.vd-dispatch-card,.vd-route-inventory-card,.hoja-diaria-shell,.hoja-patient-card,.hoja-mobile-patient-card) {
    transform: none !important;
    animation: none !important;
    transition-property: background-color, color, border-color, box-shadow, opacity !important;
    transition-duration: .12s !important;
    transition-timing-function: ease-out !important;
  }

  body.forms-compact-role .main :is(.card,.panel,.stat-card,.metric-card,.kpi-card,.mini-card,.admin-smart-hero,.vd-inv-hero,.vd-route-daily-card,.vd-dispatch-card,.vd-route-inventory-card,.hoja-diaria-shell,.hoja-patient-card,.hoja-mobile-patient-card) {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.forms-compact-role .topbar,
  body.forms-compact-role .topbar-actions,
  body.forms-compact-role .mobile-menu-btn,
  body.forms-compact-role .vd-top-search,
  body.forms-compact-role .notifications-wrap,
  body.forms-compact-role .vd-offline-topbar-pill,
  body.forms-compact-role .vd-help-topbar {
    transform: none !important;
    animation: none !important;
    will-change: auto !important;
  }

  body.forms-compact-role :is([data-admin-fullscreen-toggle],.admin-fullscreen-mobile-hidden,.admin-smart-actions [data-miruta-fullscreen-toggle],.admin-smart-actions .vd-fullscreen-toggle,.topbar [data-miruta-fullscreen-toggle],.topbar .vd-fullscreen-toggle,.topbar .vd-operational-fullscreen-toggle) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}


/* =========================================================
   v187 · Estabilidad móvil final sin compactación por JS
   ---------------------------------------------------------
   La capa v183 incluida por hoja queda exclusivamente en CSS.
   Se refuerza que tarjetas, paneles y contenedores móviles no
   usen transformaciones ni transiciones de layout que provoquen
   micro-reacomodos visuales en Android/MIUI.
   ========================================================= */
@media (max-width: 860px), (pointer: coarse) {
  html.miruta-layout-estable-v187,
  html.miruta-layout-estable-v187 body,
  html.miruta-layout-estable-v186,
  html.miruta-layout-estable-v186 body,
  body.forms-compact-role {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  body.forms-compact-role .app,
  body.forms-compact-role .main,
  body.forms-compact-role .topbar,
  body.forms-compact-role .sidebar,
  body.forms-compact-role .overlay,
  body.forms-compact-role .main > *,
  body.forms-compact-role .main :is(.card,.panel,.mini-card,.metric-card,.stat-card,.kpi-card,.admin-smart-hero,.admin-smart-kpi,.vd-inv-hero,.vd-hidden-load-hero,.vd-inv-kpi,.vd-excel-wrap,.vd-detail-card,.vd-trace,.vd-stock-diagnostic,.vd-route-smart-dashboard,.vd-route-daily-card,.vd-route-inventory-responsive-panel,.vd-route-inventory-card,.vd-route-inventory-item,.vd-dispatch-responsive-panel,.vd-dispatch-responsive-shell,.vd-dispatch-card,.vd-dispatch-field,.vd-rutas-panel,.vd-rutas-operativos-panel,.vd-route-stock-card,.vd-route-alert-card,.hoja-diaria-shell,.hoja-status-inline-premium,.hoja-day-status-premium,.hoja-patient-card,.hoja-mobile-patient-card,.hoteles-edit-panel,.miruta-mobile-page-title-safe) {
    transform: none !important;
    animation: none !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: auto !important;
  }

  body.forms-compact-role .main > *,
  body.forms-compact-role .main :is(.card,.panel,.mini-card,.metric-card,.stat-card,.kpi-card,.admin-smart-hero,.admin-smart-kpi,.vd-inv-hero,.vd-hidden-load-hero,.vd-inv-kpi,.vd-excel-wrap,.vd-detail-card,.vd-trace,.vd-stock-diagnostic,.vd-route-smart-dashboard,.vd-route-daily-card,.vd-route-inventory-responsive-panel,.vd-route-inventory-card,.vd-route-inventory-item,.vd-dispatch-responsive-panel,.vd-dispatch-responsive-shell,.vd-dispatch-card,.vd-dispatch-field,.vd-rutas-panel,.vd-rutas-operativos-panel,.vd-route-stock-card,.vd-route-alert-card,.hoja-diaria-shell,.hoja-status-inline-premium,.hoja-day-status-premium,.hoja-patient-card,.hoja-mobile-patient-card,.hoteles-edit-panel,.miruta-mobile-page-title-safe) {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transition-property: background-color, color, border-color, box-shadow, opacity !important;
    transition-duration: .12s !important;
    transition-timing-function: ease-out !important;
  }

  body.forms-compact-role .main :is([style*="transform"], [style*="will-change"]) {
    transform: none !important;
    will-change: auto !important;
  }

  body.forms-compact-role .main :is(.table-wrap,.vd-excel-scroll,.vd-route-detail-table,.vd-dispatch-scroll-shell) {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.forms-compact-role :is([data-admin-fullscreen-toggle],.admin-fullscreen-mobile-hidden,.admin-smart-actions [data-miruta-fullscreen-toggle],.admin-smart-actions .vd-fullscreen-toggle,.topbar [data-miruta-fullscreen-toggle],.topbar .vd-fullscreen-toggle,.topbar .vd-operational-fullscreen-toggle) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}


/* =========================================================
   v188 · Inventario coordinador 2 columnas + medico fullscreen
   ---------------------------------------------------------
   El inventario de mi ruta del coordinador usa dos columnas
   compactas de productos en móvil/PC sin scroll interno ni JS.
   ========================================================= */
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-panel .vd-route-inventory-grid,
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-operativos-panel .vd-route-inventory-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  align-items: stretch !important;
}
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-panel .vd-route-inventory-item,
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-operativos-panel .vd-route-inventory-item {
  min-height: 0 !important;
  padding: 8px !important;
  gap: 6px !important;
  border-radius: 13px !important;
}
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-route-inventory-item-title strong {
  font-size: 11.5px !important;
  line-height: 1.08 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-route-inventory-item-title span {
  font-size: 9px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-route-inventory-item-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}
body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-route-inventory-item-grid > div {
  min-height: 0 !important;
  padding: 5px 6px !important;
  border-radius: 10px !important;
}
@media (max-width: 360px) {
  body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-panel .vd-route-inventory-grid,
  body.inventory-premium-page.role-coordinador .vd-inventory-full .vd-rutas-operativos-panel .vd-route-inventory-grid {
    grid-template-columns: 1fr !important;
  }
}


/* v189 · Kits recetario: Editar kit junto a Activar/Desactivar */
.med-kit-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.med-kit-edit-trigger{cursor:pointer;white-space:nowrap}
.med-kit-edit-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.med-kit-edit-box{display:none;grid-column:1/-1;border:1px dashed rgba(14,165,233,.32);border-radius:12px;background:#f8fafc;padding:8px}
.med-kit-edit-toggle:checked + .med-kit-edit-box{display:block}
.med-kit-edit-form{display:grid;gap:8px;margin-top:0}
@media(max-width:760px){.med-kit-actions{justify-content:flex-start}.med-kit-actions .btn{flex:0 0 auto}}

/* ============================================================
   MiRuta v194 - Fase rapida: copia local opcional de soportes
   - Sin guardar en silencio en galeria; accion manual del usuario.
   - Sin MutationObserver, sin resize y sin reescrituras repetitivas.
   ============================================================ */
.vd-local-photo-copy-panel {
  flex: 1 1 100%;
  width: 100%;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(14, 165, 233, .20);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(240, 249, 255, .94), rgba(255, 255, 255, .96));
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}
.vd-local-photo-copy-head {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
}
.vd-local-photo-copy-head strong {
  font-size: 12px;
  font-weight: 900;
  color: #075985;
  letter-spacing: .02em;
}
.vd-local-photo-copy-head span {
  font-size: 11px;
  line-height: 1.35;
  color: #475569;
}
.vd-local-photo-copy-list {
  display: grid;
  gap: 8px;
}
.vd-local-photo-copy-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(148, 163, 184, .18);
}
.vd-local-photo-copy-item img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #f8fafc;
}
.vd-local-photo-copy-body {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.vd-local-photo-copy-name {
  font-size: 12px;
  font-weight: 900;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vd-local-photo-copy-meta {
  font-size: 11px;
  font-weight: 800;
  color: #64748b;
}
.vd-local-photo-copy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.vd-local-photo-copy-btn {
  min-height: 30px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
@media (max-width: 760px) {
  .vd-local-photo-copy-panel {
    padding: 9px;
  }
  .vd-local-photo-copy-item {
    grid-template-columns: 56px minmax(0, 1fr);
  }
  .vd-local-photo-copy-item img {
    width: 56px;
    height: 56px;
  }
  .vd-local-photo-copy-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* v199 · Hoja diaria coordinador: pago pendiente usa modal real desacoplado del card; estilos principales inline en hoja_diaria.php. */

/* v228 - Parametrización operativa e importador Agenda Final */
.miruta-param-page .miruta-check-grid,
.agenda-import-page .miruta-check-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:520px;
  overflow:auto;
  padding:4px;
}
.miruta-param-page .miruta-check-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.miruta-check-card {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,253,250,.74));
  box-shadow:0 10px 24px rgba(15,23,42,.07);
  cursor:pointer;
}
.miruta-check-card input { width:18px; height:18px; margin-top:1px; accent-color:#059669; }
.miruta-check-card strong { display:block; color:#0f172a; font-weight:900; line-height:1.15; }
.miruta-check-card small { display:block; color:#64748b; margin-top:3px; font-weight:700; }
.agenda-import-hero { background:linear-gradient(135deg,#f0fdfa 0%,#eff6ff 52%,#ffffff 100%); }
.agenda-import-form .input { min-height:44px; }
.agenda-import-table small { color:#64748b; font-weight:700; }
.agenda-import-table tr.agenda-import-ok td { background:rgba(240,253,244,.75); }
.agenda-import-table tr.agenda-import-bad td { background:rgba(254,242,242,.82); }
@media (max-width: 860px) {
  .miruta-param-page .grid,
  .agenda-import-page .grid { grid-template-columns:1fr !important; }
  .miruta-param-page .miruta-check-grid,
  .miruta-param-page .miruta-check-grid.compact { grid-template-columns:1fr; max-height:none; }
  .agenda-import-page .table-wrap { overflow:auto; }
}

/* v229 - Importador Agenda Final programado y panel de visibilidad premium */
.agenda-import-page .agenda-import-grid .form-group small,
.agenda-import-page .form-group small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:.82rem;
  line-height:1.25;
}
.agenda-import-status{
  margin:12px 0 14px;
  padding:12px 14px;
  border-radius:18px;
  font-weight:800;
  color:#92400e;
  background:linear-gradient(135deg,#fff7ed,#fffbeb);
  border:1px solid rgba(245,158,11,.30);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.agenda-import-status.ok{
  color:#047857;
  background:linear-gradient(135deg,#ecfdf5,#f0fdfa);
  border-color:rgba(16,185,129,.32);
}
.agenda-import-status.bad{
  color:#991b1b;
  background:linear-gradient(135deg,#fef2f2,#fff7ed);
  border-color:rgba(239,68,68,.30);
}
.agenda-import-page button[disabled],
.agenda-import-page input[type="file"][disabled]{
  opacity:.58;
  cursor:not-allowed;
}
.miruta-param-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.miruta-visibilidad-page .miruta-check-grid,
.miruta-visibilidad-page .miruta-notif-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.miruta-notif-card{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,253,250,.78));
  border:1px solid rgba(14,165,164,.18);
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  cursor:pointer;
}
.miruta-notif-line{display:flex;align-items:center;gap:10px;font-weight:900;color:#0f172a;}
.miruta-notif-line input{width:18px;height:18px;accent-color:#059669;}
.miruta-notif-card small{color:#64748b;line-height:1.28;}
.miruta-notif-key{align-self:flex-start;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#0f766e;background:#ecfeff;border:1px solid rgba(14,165,164,.20);border-radius:999px;padding:4px 8px;}
.miruta-notif-preview{
  display:block;
  border-radius:16px;
  padding:11px 12px;
  background:linear-gradient(135deg,#0f172a,#134e4a);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 12px 28px rgba(15,23,42,.12);
}
.miruta-notif-preview b{display:block;font-size:.9rem;margin-bottom:3px;}
.miruta-notif-preview em{display:block;font-style:normal;font-size:.78rem;color:#d1fae5;line-height:1.25;}
.miruta-role-filter-note{margin:0 0 12px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px dashed rgba(14,165,164,.25);color:#475569;font-weight:800;}
@media (max-width: 900px){
  .agenda-import-page .agenda-import-grid,
  .miruta-param-grid-2{grid-template-columns:1fr!important;}
  .miruta-visibilidad-page .miruta-check-grid,
  .miruta-visibilidad-page .miruta-notif-grid{grid-template-columns:1fr;}
}

/* ============================================================
   v234 - Login: boton mostrar contrasena alineado en campo
   Corrige Android/Chrome donde el boton se expandia sobre el input.
   ============================================================ */
.auth-page .password-wrap,
.auth-card .password-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.auth-page .password-wrap .input,
.auth-card .password-wrap .input {
  width: 100% !important;
  padding-right: 64px !important;
  box-sizing: border-box !important;
}

.auth-page .password-toggle,
.auth-card .password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 9px !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff, #f1f5f9) !important;
  color: #0f172a !important;
  font-size: 17px !important;
  line-height: 1 !important;
  text-align: center !important;
  cursor: pointer !important;
  z-index: 3 !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .08) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  touch-action: manipulation !important;
}

.auth-page .password-toggle:focus-visible,
.auth-card .password-toggle:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(19, 168, 138, .16), 0 6px 16px rgba(15, 23, 42, .08) !important;
  border-color: rgba(19, 168, 138, .55) !important;
}

@media (max-width: 560px) {
  .auth-page .password-wrap .input,
  .auth-card .password-wrap .input {
    padding-right: 62px !important;
  }

  .auth-page .password-toggle,
  .auth-card .password-toggle {
    right: 8px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 13px !important;
  }
}

/* v250 · Consignaciones: tarjetas premium compactas y soportes guardados visuales */
.hoja-cierre-cajon .hoja-consignacion-row {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.92)) !important;
  border: 1px solid rgba(14,165,233,.18) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.055) !important;
}
.hoja-cierre-cajon .hoja-consignacion-upload {
  padding: 9px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(240,253,250,.75), rgba(239,246,255,.82)) !important;
  border: 1px dashed rgba(14,165,233,.24) !important;
}
.hoja-consignacion-soportes {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)) !important;
  gap: 8px !important;
  padding-top: 6px !important;
}
.hoja-consignacion-soporte-card {
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 68px !important;
  padding: 7px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg,#ffffff,#f8fafc) !important;
  border: 1px solid rgba(14,165,233,.18) !important;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.055) !important;
}
.hoja-consignacion-soporte-card img,
.hoja-consignacion-soporte-icon {
  width: 54px !important;
  height: 54px !important;
  border-radius: 13px !important;
  object-fit: cover !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  background: #f8fafc !important;
}
.hoja-consignacion-soporte-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
}
.hoja-consignacion-soporte-card span {
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}
.hoja-consignacion-soporte-card strong {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  color: #0f172a !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
.hoja-consignacion-soporte-card small {
  display: block !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
  color: #0f766e !important;
  font-weight: 850 !important;
}
.hoja-consignacion-upload .vd-local-photo-copy-head strong {font-size: 12.5px !important;}
.hoja-consignacion-upload .vd-local-photo-copy-head span {font-size: 10.8px !important;}
.hoja-consignacion-upload .vd-local-photo-copy-meta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 3px 7px !important;
  border-radius: 999px !important;
  background: rgba(14,165,233,.10) !important;
  color: #0369a1 !important;
  font-size: 10.5px !important;
}
@media (max-width: 520px) {
  .hoja-consignacion-soportes {grid-template-columns: 1fr !important;}
  .hoja-consignacion-soporte-card {grid-template-columns: 58px minmax(0,1fr) !important;}
  .hoja-consignacion-soporte-card img,
  .hoja-consignacion-soporte-icon {width: 58px !important;height: 58px !important;}
}


/* v252 · Admin usuarios: ojo de contraseña no cubre el campo en móvil */
body.admin-compact-role .main .admin-user-password-wrap,
body.forms-compact-role .main .admin-user-password-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.admin-compact-role .main .admin-user-password-wrap .input,
body.forms-compact-role .main .admin-user-password-wrap .input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-right: 58px !important;
  box-sizing: border-box !important;
}
body.admin-compact-role .main .admin-user-password-wrap .password-toggle,
body.forms-compact-role .main .admin-user-password-wrap .password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(148,163,184,.28) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg,#ffffff,#f1f5f9) !important;
  color: #0f172a !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  z-index: 5 !important;
  box-shadow: 0 6px 14px rgba(15,23,42,.08) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  touch-action: manipulation !important;
}
body.admin-compact-role .main .admin-user-password-wrap .password-toggle:focus-visible,
body.forms-compact-role .main .admin-user-password-wrap .password-toggle:focus-visible {
  outline: 0 !important;
  border-color: rgba(19,168,138,.62) !important;
  box-shadow: 0 0 0 4px rgba(19,168,138,.16), 0 6px 14px rgba(15,23,42,.08) !important;
}
@media (max-width: 560px), (pointer: coarse) {
  body.admin-compact-role .main .admin-user-password-wrap .input,
  body.forms-compact-role .main .admin-user-password-wrap .input {
    padding-right: 56px !important;
  }
  body.admin-compact-role .main .admin-user-password-wrap .password-toggle,
  body.forms-compact-role .main .admin-user-password-wrap .password-toggle {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    right: 7px !important;
    border-radius: 11px !important;
  }
}

/* v273 · Cierre caja: botón PDF/WhatsApp definitivo azul-violeta y visible en móvil */
.coordinator-day-dashboard .hoja-cierre-actions .hoja-cierre-pdf-btn,
.coordinator-day-dashboard .hoja-cierre-actions .hoja-cierre-pdf-whatsapp-final{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  background:linear-gradient(135deg,#7c3aed,#2563eb)!important;
  border:1px solid rgba(99,102,241,.42)!important;color:#ffffff!important;
  box-shadow:0 12px 26px rgba(37,99,235,.30)!important;
  border-radius:999px!important;font-weight:950!important;text-decoration:none!important;
}
@media(max-width:760px){
  .coordinator-day-dashboard .hoja-cierre-actions .hoja-cierre-pdf-btn,
  .coordinator-day-dashboard .hoja-cierre-actions .hoja-cierre-pdf-whatsapp-final{width:100%!important;min-height:44px!important;}
}


/* v275 · cierre caja compartir nativo y botón PDF/WhatsApp azul-violeta */
.coordinator-day-dashboard .hoja-cierre-actions a.hoja-cierre-pdf-accent-v275,
.coordinator-day-dashboard .hoja-cierre-actions .hoja-cierre-pdf-accent-v275{
  display:flex!important;
  width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:18px!important;
  background-color:#4f46e5!important;background-image:linear-gradient(135deg,#4338ca 0%,#7c3aed 52%,#2563eb 100%)!important;
  border:1px solid rgba(99,102,241,.72)!important;
  color:#ffffff!important;
  box-shadow:0 14px 30px rgba(79,70,229,.35)!important;
  text-decoration:none!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}

/* v280 - Detalle editable de productos pagados en soporte WhatsApp */
.hoja-product-payment-detail{
  display:grid;
  gap:6px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(59,130,246,.08);
  border:1px solid rgba(59,130,246,.18);
  color:#1e3a8a;
  font-weight:900;
}
.hoja-product-payment-detail small{
  display:block;
  color:#475569;
  font-size:.78rem;
  font-weight:750;
  line-height:1.25;
}
.hoja-product-payment-detail .input{
  background:#fff;
  color:#0f172a;
  font-weight:800;
}

/* MiRuta v285 - Ayuda: blindaje checklist móvil y tarjeta stock médico */
@media (max-width: 920px) { .help-premium-v2 .help-training-checklist { grid-template-columns: 1fr !important; } }
@media (max-width: 640px) { .help-premium-v2 .help-premium-check, .help-premium-v2 .help-training-check { grid-template-columns: 22px minmax(0,1fr) !important; gap: 10px !important; padding: 12px !important; border-radius: 18px !important; } .help-premium-v2 .help-premium-check input { width: 18px !important; height: 18px !important; min-width: 18px !important; min-height: 18px !important; max-width: 18px !important; max-height: 18px !important; margin-top: 2px !important; } .help-premium-v2 .help-premium-check span { font-size: .9rem !important; line-height: 1.32 !important; } .help-premium-v2 .help-medical-stock-card { grid-template-columns: 1fr; padding: 14px; border-radius: 20px; } .help-premium-v2 .help-medical-stock-icon { width: 46px; height: 46px; border-radius: 17px; } }
/* MiRuta v285 - Ayuda: tarjeta premium stock médico */
.help-premium-v2 .help-medical-stock {
  background: radial-gradient(circle at top right, rgba(14,165,164,.14), transparent 34%), rgba(255,255,255,.97) !important;
}
.help-premium-v2 .help-medical-stock-card {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 14px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 24px;
  background: linear-gradient(135deg,#fff,#f0fdfa);
  border: 1px solid rgba(14,165,164,.22);
  box-shadow: 0 14px 34px rgba(15,23,42,.07);
}
.help-premium-v2 .help-medical-stock-icon {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 20px;
  background: linear-gradient(135deg,#0ea5a4,#2563eb);
  color: #fff;
  font-size: 1.35rem;
  box-shadow: 0 14px 28px rgba(14,165,164,.22);
}
.help-premium-v2 .help-medical-stock-card h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 1.06rem;
  letter-spacing: -.02em;
}
.help-premium-v2 .help-medical-stock-card p {
  margin: 0;
  color: #334155;
  line-height: 1.48;
  font-weight: 720;
}
.help-premium-v2 .help-medical-stock-list {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}
.help-premium-v2 .help-medical-stock-list li {
  position: relative;
  padding: 9px 11px 9px 32px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(203,213,225,.78);
  color: #475569;
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 760;
}
.help-premium-v2 .help-medical-stock-list li::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 9px;
  color: #059669;
  font-weight: 950;
}

/* ============================================================================
   v339 · PALETA FUNCIONAL GLOBAL PARAMETRIZABLE DE BOTONES
   --------------------------------------------------------------------------
   Política transversal para todos los roles:
   - success: aceptar, guardar, confirmar, aprobar, finalizar.
   - danger: cancelar, anular, eliminar, rechazar.
   - add: agregar, crear, cargar, subir, registrar.
   - edit: editar, ajustar, modificar, reprogramar.
   - info: buscar, ver, abrir, PDF, imprimir, reportes.
   - neutral: volver, regresar, ocultar, acciones auxiliares.
   - clinical: acceso a Historia Clínica.
   - whatsapp: acciones directas de WhatsApp.

   Para fijar manualmente un tono usar:
   data-vd-button-tone="success|danger|add|edit|info|neutral|clinical|whatsapp"
   Los colores se cambian exclusivamente desde estas variables.
   ============================================================================ */
:root {
  --vd-action-success-bg: linear-gradient(135deg, #047857 0%, #10b981 52%, #34d399 100%);
  --vd-action-success-hover: linear-gradient(135deg, #065f46 0%, #059669 52%, #22c55e 100%);
  --vd-action-success-border: rgba(74, 222, 128, .48);
  --vd-action-success-shadow: 0 12px 26px rgba(5, 150, 105, .25), inset 0 1px 0 rgba(255,255,255,.30);

  --vd-action-danger-bg: linear-gradient(135deg, #991b1b 0%, #dc2626 52%, #fb7185 100%);
  --vd-action-danger-hover: linear-gradient(135deg, #7f1d1d 0%, #b91c1c 52%, #ef4444 100%);
  --vd-action-danger-border: rgba(248, 113, 113, .56);
  --vd-action-danger-shadow: 0 12px 26px rgba(220, 38, 38, .25), inset 0 1px 0 rgba(255,255,255,.28);

  --vd-action-add-bg: linear-gradient(135deg, #075985 0%, #0284c7 48%, #22d3ee 100%);
  --vd-action-add-hover: linear-gradient(135deg, #0c4a6e 0%, #0369a1 48%, #06b6d4 100%);
  --vd-action-add-border: rgba(56, 189, 248, .52);
  --vd-action-add-shadow: 0 12px 26px rgba(2, 132, 199, .25), inset 0 1px 0 rgba(255,255,255,.28);

  --vd-action-edit-bg: linear-gradient(135deg, #92400e 0%, #f59e0b 52%, #fbbf24 100%);
  --vd-action-edit-hover: linear-gradient(135deg, #78350f 0%, #d97706 52%, #f59e0b 100%);
  --vd-action-edit-border: rgba(251, 191, 36, .58);
  --vd-action-edit-shadow: 0 12px 26px rgba(217, 119, 6, .25), inset 0 1px 0 rgba(255,255,255,.30);

  --vd-action-info-bg: linear-gradient(135deg, #155e75 0%, #0891b2 50%, #2dd4bf 100%);
  --vd-action-info-hover: linear-gradient(135deg, #164e63 0%, #0e7490 50%, #14b8a6 100%);
  --vd-action-info-border: rgba(45, 212, 191, .48);
  --vd-action-info-shadow: 0 12px 26px rgba(8, 145, 178, .23), inset 0 1px 0 rgba(255,255,255,.28);

  --vd-action-neutral-bg: linear-gradient(135deg, #334155 0%, #64748b 52%, #94a3b8 100%);
  --vd-action-neutral-hover: linear-gradient(135deg, #1e293b 0%, #475569 52%, #64748b 100%);
  --vd-action-neutral-border: rgba(148, 163, 184, .52);
  --vd-action-neutral-shadow: 0 12px 25px rgba(51, 65, 85, .22), inset 0 1px 0 rgba(255,255,255,.24);

  --vd-action-clinical-bg: linear-gradient(135deg, #4c1d95 0%, #7c3aed 48%, #c026d3 100%);
  --vd-action-clinical-hover: linear-gradient(135deg, #5b21b6 0%, #8b5cf6 48%, #db2777 100%);
  --vd-action-clinical-border: rgba(196, 181, 253, .54);
  --vd-action-clinical-shadow: 0 12px 27px rgba(109, 40, 217, .30), inset 0 1px 0 rgba(255,255,255,.30);

  --vd-action-whatsapp-bg: linear-gradient(135deg, #166534 0%, #16a34a 48%, #4ade80 100%);
  --vd-action-whatsapp-hover: linear-gradient(135deg, #14532d 0%, #15803d 48%, #22c55e 100%);
  --vd-action-whatsapp-border: rgba(74, 222, 128, .50);
  --vd-action-whatsapp-shadow: 0 12px 26px rgba(22, 163, 74, .24), inset 0 1px 0 rgba(255,255,255,.28);
}

/* Base uniforme sin imponer un color único. */
.main :where(
  a.btn,
  button.btn,
  summary.btn,
  input.btn[type="submit"],
  input.btn[type="button"],
  input.btn[type="reset"],
  .finance-premium-btn,
  .eshop-btn,
  .eshop-btn-mini,
  .eshop-btn-premium,
  .vd-premium-btn,
  .status-button,
  .vd-pv-remove,
  [data-vd-premium-button="1"]
) {
  appearance: none !important;
  border-radius: 999px !important;
  min-height: 38px !important;
  padding: 10px 16px !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .005em !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 1px rgba(15,23,42,.24) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease, border-color .16s ease !important;
}

/* Respaldo inicial por clases, antes de que el clasificador semántico termine. */
.main :where(.btn-success) {
  background: var(--vd-action-success-bg) !important;
  border: 1px solid var(--vd-action-success-border) !important;
  box-shadow: var(--vd-action-success-shadow) !important;
}
.main :where(.btn-danger, .btn-outline-danger) {
  background: var(--vd-action-danger-bg) !important;
  border: 1px solid var(--vd-action-danger-border) !important;
  box-shadow: var(--vd-action-danger-shadow) !important;
}
.main :where(.btn-warning) {
  background: var(--vd-action-edit-bg) !important;
  border: 1px solid var(--vd-action-edit-border) !important;
  box-shadow: var(--vd-action-edit-shadow) !important;
}
.main :where(.btn-light, .btn-secondary, .btn-outline) {
  background: var(--vd-action-neutral-bg) !important;
  border: 1px solid var(--vd-action-neutral-border) !important;
  box-shadow: var(--vd-action-neutral-shadow) !important;
}
.main :where(.btn-historia-clinica, .vd-search-hc-btn) {
  background: var(--vd-action-clinical-bg) !important;
  border: 1px solid var(--vd-action-clinical-border) !important;
  box-shadow: var(--vd-action-clinical-shadow) !important;
}
.main :where(.btn-wa, .btn-whatsapp, .eshop-wa-btn) {
  background: var(--vd-action-whatsapp-bg) !important;
  border: 1px solid var(--vd-action-whatsapp-border) !important;
  box-shadow: var(--vd-action-whatsapp-shadow) !important;
}

/* El atributo semántico siempre gana sobre la clase histórica del botón. */
.main [data-vd-button-tone="success"] {
  background: var(--vd-action-success-bg) !important;
  border: 1px solid var(--vd-action-success-border) !important;
  box-shadow: var(--vd-action-success-shadow) !important;
}
.main [data-vd-button-tone="danger"] {
  background: var(--vd-action-danger-bg) !important;
  border: 1px solid var(--vd-action-danger-border) !important;
  box-shadow: var(--vd-action-danger-shadow) !important;
}
.main [data-vd-button-tone="add"] {
  background: var(--vd-action-add-bg) !important;
  border: 1px solid var(--vd-action-add-border) !important;
  box-shadow: var(--vd-action-add-shadow) !important;
}
.main [data-vd-button-tone="edit"] {
  background: var(--vd-action-edit-bg) !important;
  border: 1px solid var(--vd-action-edit-border) !important;
  box-shadow: var(--vd-action-edit-shadow) !important;
}
.main [data-vd-button-tone="info"] {
  background: var(--vd-action-info-bg) !important;
  border: 1px solid var(--vd-action-info-border) !important;
  box-shadow: var(--vd-action-info-shadow) !important;
}
.main [data-vd-button-tone="neutral"] {
  background: var(--vd-action-neutral-bg) !important;
  border: 1px solid var(--vd-action-neutral-border) !important;
  box-shadow: var(--vd-action-neutral-shadow) !important;
}
.main [data-vd-button-tone="clinical"] {
  background: var(--vd-action-clinical-bg) !important;
  border: 1px solid var(--vd-action-clinical-border) !important;
  box-shadow: var(--vd-action-clinical-shadow) !important;
}
.main [data-vd-button-tone="whatsapp"] {
  background: var(--vd-action-whatsapp-bg) !important;
  border: 1px solid var(--vd-action-whatsapp-border) !important;
  box-shadow: var(--vd-action-whatsapp-shadow) !important;
}

.main [data-vd-button-tone="success"]:hover { background: var(--vd-action-success-hover) !important; }
.main [data-vd-button-tone="danger"]:hover { background: var(--vd-action-danger-hover) !important; }
.main [data-vd-button-tone="add"]:hover { background: var(--vd-action-add-hover) !important; }
.main [data-vd-button-tone="edit"]:hover { background: var(--vd-action-edit-hover) !important; }
.main [data-vd-button-tone="info"]:hover { background: var(--vd-action-info-hover) !important; }
.main [data-vd-button-tone="neutral"]:hover { background: var(--vd-action-neutral-hover) !important; }
.main [data-vd-button-tone="clinical"]:hover { background: var(--vd-action-clinical-hover) !important; }
.main [data-vd-button-tone="whatsapp"]:hover { background: var(--vd-action-whatsapp-hover) !important; }

.main :where([data-vd-premium-button="1"], a.btn, button.btn, summary.btn):hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.06) brightness(1.03) !important;
}

.main :where([data-vd-button-size="sm"], .btn-sm, .eshop-btn-mini, .vd-pv-remove) {
  min-height: 32px !important;
  padding: 7px 12px !important;
  font-size: .82rem !important;
}

.main :where([data-vd-premium-button="1"], a.btn, button.btn, summary.btn, input.btn):disabled,
.main :where([data-vd-premium-button="1"], a.btn, button.btn, summary.btn, input.btn)[aria-disabled="true"] {
  opacity: .58 !important;
  cursor: not-allowed !important;
  filter: grayscale(.14) !important;
  transform: none !important;
}

/* Lupa global: mismo tamaño estable en todas las hojas, roles y breakpoints. */
.vd-top-search,
.hoja-search-form {
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

button.vd-top-search-toggle,
.vd-top-search-toggle {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
  overflow: visible !important;
}

.vd-top-search-toggle svg {
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  min-height: 21px !important;
}

button.hoja-search-toggle,
.hoja-search-toggle {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

.hoja-search-toggle .hoja-search-icon,
.hoja-search-toggle svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
}

@media (max-width: 760px) {
  button.vd-top-search-toggle,
  .vd-top-search-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex-basis: 44px !important;
  }

  button.hoja-search-toggle,
  .hoja-search-toggle {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }
}



/* ============================================================
   v340 · Pantalla completa global para toda la aplicación en PC
   - Disponible en todas las vistas autenticadas que usan el topbar.
   - No depende de rol ni de una lista cerrada de módulos.
   - Una sola instancia global; los controles locales quedan retirados.
   ============================================================ */
@media (min-width: 1025px) {
  html body .topbar-actions > [data-miruta-fullscreen-toggle].vd-operational-fullscreen-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: auto !important;
    min-width: 178px !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 18px 0 12px !important;
    margin: 0 !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
    order: initial !important;
  }
}
@media (max-width: 1024px) {
  [data-miruta-fullscreen-toggle],
  [data-asesora-fullscreen-toggle],
  .vd-operational-fullscreen-toggle,
  .vd-fullscreen-toggle,
  [data-admin-fullscreen-toggle],
  .admin-fullscreen-mobile-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}


/* v349 · Venta rápida visible y verificada */
#productos-jornada .hoja-productos-patient.is-venta-rapida-confirmada{border-color:rgba(14,165,233,.55)!important;box-shadow:0 16px 38px rgba(14,165,233,.16)!important;}
#productos-jornada .hoja-productos-sale-head.is-venta-rapida-confirmada{scroll-margin-top:110px;background:linear-gradient(135deg,rgba(224,242,254,.98),rgba(237,233,254,.98))!important;border:1px solid rgba(14,165,233,.42)!important;border-radius:16px!important;padding:12px!important;box-shadow:0 12px 28px rgba(14,165,233,.14)!important;}
#productos-jornada .hoja-productos-sale-head.is-venta-rapida-confirmada>span{color:#075985!important;font-weight:950!important;}


/* v350 · Importación inteligente de pacientes históricos en Agenda Final */
.agenda-import-patient-match { min-width: 250px; max-width: 390px; line-height: 1.38; }
.agenda-import-patient-match .badge { margin-bottom: 4px; }
.agenda-import-master-data { display: inline-block; margin-top: 4px; color: var(--text-muted, #64748b); white-space: normal; }
@media (max-width: 900px) {
  .agenda-import-patient-match { min-width: 220px; max-width: none; }
}


/* v351 · Sincronización Agenda Final -> Hoja diaria y aviso seguro de actualización */
.hoja-live-search-note { flex-wrap: wrap; }
.hoja-live-search-note > .btn { margin-left: auto; flex: 0 0 auto; }
@media (max-width: 640px) {
  .hoja-live-search-note > .btn { width: 100%; margin-left: 0; }
}
[data-agenda-final-form][aria-busy="true"] { opacity: .94; }
[data-agenda-final-form][aria-busy="true"] button[type="submit"] { cursor: wait; }


/* v379 · Hard-fix definitivo: nunca dibujar un segundo botón mediante pseudo-elementos en Inventario. */
body.inventory-premium-page .main details > summary::after,
body.inventory-premium-page .main details[open] > summary::after {
  content:none!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}

/* ============================================================
   v380 · Botones premium cromáticos para desplegables
   - Parámetros médicos: control compacto, gradiente turquesa y estado abierto violeta.
   - Inventario: un único botón real por sección, con el mismo lenguaje visual.
   ============================================================ */
html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-width:94px!important;
  min-height:31px!important;
  padding:6px 12px 6px 31px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0284c7 0%,#06b6d4 48%,#14b8a6 100%)!important;
  box-shadow:0 10px 22px rgba(6,182,212,.28),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(2,132,199,.24)!important;
  text-shadow:0 1px 2px rgba(15,23,42,.28)!important;
  letter-spacing:.01em!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease!important;
}
html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle::before{
  content:""!important;
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:7px!important;
  height:7px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:translateY(-68%) rotate(45deg)!important;
  transform-origin:center!important;
  transition:transform .2s ease!important;
  opacity:.96!important;
}
html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:1px 7px auto 7px!important;
  height:42%!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
html body .main.med-parametros .med-param-premium-summary:hover .med-param-mini-toggle{
  transform:translateY(-2px)!important;
  filter:saturate(1.12) brightness(1.04)!important;
  box-shadow:0 14px 28px rgba(6,182,212,.34),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(2,132,199,.22)!important;
}
html body .main.med-parametros .med-param-premium-summary:active .med-param-mini-toggle{
  transform:translateY(0) scale(.97)!important;
}
html body .main.med-parametros .med-param-premium-summary:focus-visible .med-param-mini-toggle{
  outline:3px solid rgba(125,211,252,.42)!important;
  outline-offset:3px!important;
}
html body .main.med-parametros .med-param-premium-disclosure[open]>.med-param-premium-summary .med-param-mini-toggle{
  background:linear-gradient(135deg,#6d28d9 0%,#a855f7 48%,#ec4899 100%)!important;
  box-shadow:0 10px 23px rgba(168,85,247,.28),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(109,40,217,.22)!important;
}
html body .main.med-parametros .med-param-premium-disclosure[open]>.med-param-premium-summary .med-param-mini-toggle::before{
  transform:translateY(-30%) rotate(225deg)!important;
}
html body .main.med-parametros .med-param-premium-disclosure[open]>.med-param-premium-summary:hover .med-param-mini-toggle{
  box-shadow:0 14px 30px rgba(168,85,247,.36),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(109,40,217,.2)!important;
}

html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:96px!important;
  min-height:31px!important;
  padding:6px 12px 6px 31px!important;
  border:1px solid rgba(255,255,255,.66)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#0284c7 0%,#06b6d4 48%,#14b8a6 100%)!important;
  box-shadow:0 10px 23px rgba(6,182,212,.29),inset 0 1px 0 rgba(255,255,255,.44),inset 0 -1px 0 rgba(2,132,199,.22)!important;
  text-shadow:0 1px 2px rgba(15,23,42,.28)!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle::before{
  content:""!important;
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:7px!important;
  height:7px!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  transform:translateY(-68%) rotate(45deg)!important;
  transform-origin:center!important;
  transition:transform .2s ease!important;
  opacity:.96!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn::after,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn::after,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn::after,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle::after,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn::after,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:1px 7px auto 7px!important;
  height:42%!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle:hover{
  transform:translateY(-2px)!important;
  filter:saturate(1.12) brightness(1.04)!important;
  box-shadow:0 15px 31px rgba(6,182,212,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(2,132,199,.2)!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn:active,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn:active,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn:active,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle:active,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn:active,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle:active{
  transform:translateY(0) scale(.97)!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn:focus-visible,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn:focus-visible,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn:focus-visible,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle:focus-visible,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn:focus-visible,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle:focus-visible{
  outline:3px solid rgba(125,211,252,.45)!important;
  outline-offset:3px!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn[aria-expanded="true"],
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn[aria-expanded="true"],
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn[aria-expanded="true"],
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle[aria-expanded="true"],
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn[aria-expanded="true"],
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle[aria-expanded="true"]{
  color:#fff!important;
  border-color:rgba(255,255,255,.66)!important;
  background:linear-gradient(135deg,#6d28d9 0%,#a855f7 48%,#ec4899 100%)!important;
  box-shadow:0 10px 24px rgba(168,85,247,.3),inset 0 1px 0 rgba(255,255,255,.44),inset 0 -1px 0 rgba(109,40,217,.22)!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn[aria-expanded="true"]::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn[aria-expanded="true"]::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn[aria-expanded="true"]::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle[aria-expanded="true"]::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn[aria-expanded="true"]::before,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle[aria-expanded="true"]::before{
  transform:translateY(-30%) rotate(225deg)!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn[aria-expanded="true"]:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn[aria-expanded="true"]:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn[aria-expanded="true"]:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle[aria-expanded="true"]:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn[aria-expanded="true"]:hover,
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle[aria-expanded="true"]:hover{
  box-shadow:0 15px 32px rgba(168,85,247,.37),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(109,40,217,.2)!important;
}
html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle .vd-row-icon{
  display:none!important;
}
@media(max-width:560px){
  html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle{
    min-width:86px!important;
    min-height:29px!important;
    padding:5px 10px 5px 28px!important;
    font-size:.64rem!important;
  }
  html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle::before{
    left:10px!important;
  }
  html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle{
    min-height:30px!important;
    padding:5px 10px 5px 28px!important;
    font-size:.65rem!important;
  }
  html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn::before,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn::before,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn::before,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle::before,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn::before,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle::before{
    left:10px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body .main.med-parametros .med-param-premium-summary .med-param-mini-toggle,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-details-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-toggle-single-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-panel-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-route-inventory-toggle,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle-btn,
  html body.inventory-premium-page .main.vd-inventory-full button.vd-dispatch-toggle{
    transition:none!important;
  }
}


/* =========================================================
   MiRuta v398 · Historia clínica longitudinal · Fase 1
   ========================================================= */
.miruta-hc-trigger {
  appearance: none;
  border: 1px solid rgba(14,116,144,.24);
  border-radius: 999px;
  background: linear-gradient(135deg,#ecfeff 0%,#dbeafe 48%,#ede9fe 100%);
  color: #164e63;
  font-weight: 950;
  letter-spacing: .01em;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(14,116,144,.12), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.miruta-hc-trigger:hover { transform: translateY(-1px); border-color: rgba(124,58,237,.34); box-shadow: 0 12px 24px rgba(79,70,229,.16), inset 0 1px 0 #fff; }
.miruta-hc-trigger:focus-visible { outline: 3px solid rgba(59,130,246,.26); outline-offset: 2px; }
.miruta-hc-trigger-compact { display:inline-flex; align-items:center; justify-content:center; margin-top:6px; min-height:27px; padding:5px 9px; font-size:.68rem; line-height:1; white-space:nowrap; }

body.miruta-hc-drawer-open { overflow: hidden; }
.miruta-hc-drawer-overlay {
  position: fixed; inset: 0; z-index: 99970;
  background: rgba(15,23,42,.46); backdrop-filter: blur(3px);
  opacity: 0; transition: opacity .22s ease;
}
.miruta-hc-drawer-overlay.is-open { opacity: 1; }
.miruta-hc-drawer {
  position: fixed; z-index: 99980; top: 0; right: 0; bottom: 0;
  width: min(520px, 94vw); display: grid; grid-template-rows: auto minmax(0,1fr);
  background: linear-gradient(180deg,#f8fafc 0%,#fff 30%,#f8fafc 100%);
  border-left: 1px solid rgba(148,163,184,.28);
  box-shadow: -28px 0 70px rgba(15,23,42,.24);
  transform: translateX(102%); transition: transform .24s cubic-bezier(.2,.8,.2,1);
}
.miruta-hc-drawer.is-open { transform: translateX(0); }
.miruta-hc-drawer-head {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:18px 18px 15px; color:#fff;
  background: linear-gradient(135deg,#0f172a 0%,#0f766e 48%,#2563eb 100%);
  box-shadow: 0 14px 30px rgba(15,23,42,.16);
}
.miruta-hc-drawer-head span { display:block; color:#a7f3d0; font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.09em; }
.miruta-hc-drawer-head h2 { margin:3px 0 0; color:#fff; font-size:1.28rem; line-height:1.08; letter-spacing:-.025em; }
.miruta-hc-drawer-close {
  appearance:none; border:1px solid rgba(255,255,255,.34); width:38px; height:38px; border-radius:999px;
  display:grid; place-items:center; background:rgba(255,255,255,.14); color:#fff; font-size:1.55rem; line-height:1; cursor:pointer;
}
.miruta-hc-drawer-close:hover { background:rgba(255,255,255,.24); }
.miruta-hc-drawer-content { min-height:0; overflow:auto; padding:16px; display:grid; align-content:start; gap:12px; }
.miruta-hc-loading { min-height:190px; display:grid; place-items:center; align-content:center; gap:7px; text-align:center; color:#475569; }
.miruta-hc-loading span { width:34px; height:34px; border-radius:50%; border:4px solid #cbd5e1; border-top-color:#0f766e; animation:mirutaHcSpin .8s linear infinite; }
.miruta-hc-loading strong { color:#0f172a; }
.miruta-hc-loading small { color:#64748b; }
@keyframes mirutaHcSpin { to { transform:rotate(360deg); } }
.miruta-hc-drawer-patient { border:1px solid rgba(20,184,166,.22); border-radius:18px; padding:14px 15px; background:linear-gradient(135deg,#ecfeff,#fff,#eef2ff); box-shadow:0 10px 24px rgba(15,23,42,.06); }
.miruta-hc-drawer-patient span { display:block; color:#0f766e; font-size:.69rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.miruta-hc-drawer-patient strong { display:block; margin-top:3px; color:#0f172a; font-size:1.15rem; font-weight:1000; line-height:1.1; }
.miruta-hc-drawer-patient small { display:block; margin-top:5px; color:#475569; font-weight:760; }
.miruta-hc-quick-list { display:grid; gap:10px; }
.miruta-hc-quick-card { border:1px solid rgba(148,163,184,.24); border-radius:18px; padding:13px; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.06); }
.miruta-hc-quick-date { color:#0f766e; font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.05em; }
.miruta-hc-quick-card h3 { margin:5px 0 2px; color:#0f172a; font-size:1rem; line-height:1.15; }
.miruta-hc-quick-card p { margin:4px 0; }
.miruta-hc-quick-meta { color:#475569; font-size:.8rem; font-weight:760; }
.miruta-hc-quick-vitals { color:#1e3a8a; background:#eff6ff; border-radius:10px; padding:6px 8px; font-size:.76rem; font-weight:850; }
.miruta-hc-quick-conclusion { color:#334155; font-size:.82rem; line-height:1.4; }
.miruta-hc-quick-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:9px; }
.miruta-hc-full-link { width:100%; justify-content:center; }
.miruta-hc-empty,.miruta-hc-error { padding:18px; border-radius:16px; text-align:center; border:1px dashed rgba(148,163,184,.45); background:#f8fafc; color:#475569; }
.miruta-hc-empty strong,.miruta-hc-error strong { display:block; color:#0f172a; margin-bottom:4px; }
.miruta-hc-error { border-color:rgba(239,68,68,.35); background:#fef2f2; color:#991b1b; }

.miruta-hc-current-summary { overflow:hidden; border-color:rgba(14,116,144,.22)!important; background:linear-gradient(135deg,#f0fdfa 0%,#fff 46%,#eef2ff 100%)!important; box-shadow:0 16px 34px rgba(15,23,42,.08)!important; }
.miruta-hc-current-summary-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.miruta-hc-current-summary-head h3 { margin:3px 0 3px; color:#0f172a; font-size:1.16rem; }
.miruta-hc-current-summary-head p { margin:0; color:#64748b; font-size:.86rem; }
.miruta-hc-kicker { color:#0f766e; font-size:.7rem; font-weight:1000; text-transform:uppercase; letter-spacing:.09em; }
.miruta-hc-current-summary-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.miruta-hc-last-visit { margin-top:12px; display:grid; grid-template-columns:1.1fr 1.2fr 1fr; gap:8px; }
.miruta-hc-last-visit>div { border:1px solid rgba(148,163,184,.22); border-radius:14px; padding:10px; background:rgba(255,255,255,.82); }
.miruta-hc-last-visit span { display:block; color:#64748b; font-size:.68rem; font-weight:950; text-transform:uppercase; letter-spacing:.06em; }
.miruta-hc-last-visit strong { display:block; margin-top:3px; color:#0f172a; font-size:.88rem; line-height:1.25; }
.miruta-hc-last-visit p { margin:4px 0 0; color:#334155; font-size:.84rem; line-height:1.4; }
.miruta-hc-last-visit-wide { grid-column:1/-1; }
.miruta-hc-empty-inline { margin-top:10px; padding:11px 13px; border-radius:13px; border:1px dashed rgba(148,163,184,.42); background:rgba(248,250,252,.8); color:#64748b; font-weight:760; }
.miruta-hc-recent-list { display:grid; gap:9px; }
.miruta-hc-recent-item { display:grid; grid-template-columns:145px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid rgba(148,163,184,.22); border-radius:15px; padding:10px; background:#fff; }
.miruta-hc-recent-date strong,.miruta-hc-recent-date span { display:block; }
.miruta-hc-recent-date strong { color:#0f172a; font-size:.8rem; }
.miruta-hc-recent-date span { margin-top:3px; color:#64748b; font-size:.72rem; }
.miruta-hc-recent-main h4 { margin:0; color:#0f172a; font-size:.92rem; }
.miruta-hc-recent-main p { margin:3px 0; color:#475569; font-size:.78rem; }
.miruta-hc-recent-main small { display:block; color:#334155; line-height:1.35; }
.miruta-hc-recent-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }

.miruta-hc-page { display:grid; gap:14px; }
.miruta-hc-page-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; background:linear-gradient(135deg,#ecfeff 0%,#fff 44%,#eef2ff 100%)!important; border-color:rgba(14,116,144,.22)!important; }
.miruta-hc-page-hero h2 { margin:5px 0 4px; color:#0f172a; font-size:clamp(1.45rem,3vw,2.1rem); line-height:1.05; letter-spacing:-.035em; }
.miruta-hc-page-hero p { margin:0; color:#475569; }
.miruta-hc-patient-meta { display:flex; gap:10px 18px; flex-wrap:wrap; margin-top:9px; color:#334155; font-size:.86rem; }
.miruta-hc-page-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.miruta-hc-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:end; }
.miruta-hc-filter-grid label { display:grid; gap:5px; color:#334155; font-size:.78rem; font-weight:900; }
.miruta-hc-filter-actions { display:flex; gap:8px; flex-wrap:wrap; }
.miruta-hc-timeline { display:grid; gap:12px; }
.miruta-hc-timeline-card { display:grid; grid-template-columns:180px minmax(0,1fr); gap:16px; position:relative; overflow:hidden; }
.miruta-hc-timeline-card:before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,#0f766e,#2563eb,#7c3aed); }
.miruta-hc-timeline-date { padding-left:5px; }
.miruta-hc-timeline-date strong { display:block; color:#0f172a; font-size:.9rem; }
.miruta-hc-timeline-date span { display:block; margin-top:4px; color:#64748b; font-size:.78rem; }
.miruta-hc-timeline-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.miruta-hc-timeline-title span:first-child { display:block; color:#0f766e; font-size:.67rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.miruta-hc-timeline-title h3 { margin:3px 0 0; color:#0f172a; font-size:1.08rem; }
.miruta-hc-doctor { margin:6px 0; color:#475569; font-size:.82rem; }
.miruta-hc-vitals-line { margin:6px 0; padding:7px 9px; border-radius:11px; color:#1e3a8a; background:#eff6ff; font-size:.8rem; font-weight:850; }
.miruta-hc-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.miruta-hc-summary-grid>div { border:1px solid rgba(148,163,184,.2); border-radius:12px; padding:9px; background:#f8fafc; }
.miruta-hc-summary-grid span { display:block; color:#64748b; font-size:.66rem; font-weight:950; text-transform:uppercase; letter-spacing:.06em; }
.miruta-hc-summary-grid p { margin:4px 0 0; color:#334155; font-size:.82rem; line-height:1.4; }
.miruta-hc-timeline-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.miruta-hc-pagination { display:flex; align-items:center; justify-content:center; gap:12px; padding:4px 0 14px; }
.miruta-hc-pagination span { color:#475569; font-weight:850; }
.miruta-hc-pagination .disabled { pointer-events:none; opacity:.45; }

.vd-search-medical-scope { display:flex; align-items:center; padding:10px 12px; border:1px solid rgba(14,116,144,.2); border-radius:13px; background:linear-gradient(135deg,#ecfeff,#eef2ff); color:#164e63; font-size:.82rem; font-weight:850; }
.vd-search-patient-card { border-color:rgba(14,116,144,.22)!important; background:linear-gradient(135deg,#fff,#f0fdfa 48%,#eef2ff)!important; }
.vd-search-patient-kicker { color:#0f766e!important; font-size:.66rem!important; font-weight:950!important; text-transform:uppercase!important; letter-spacing:.07em!important; }
.vd-top-search-medical-scope { border:1px solid rgba(14,116,144,.2); border-radius:999px; padding:7px 10px; background:#ecfeff; color:#0f766e; font-weight:900; }
.vd-top-search-item-wrap.is-patient .vd-top-search-item { border-color:rgba(14,116,144,.22); background:linear-gradient(135deg,#fff,#f0fdfa,#eef2ff); }
.vd-top-search-item-procedure { color:#0f766e; font-size:.72rem; font-weight:900; }

@media(max-width:900px) {
  .miruta-hc-last-visit { grid-template-columns:1fr 1fr; }
  .miruta-hc-last-visit-wide { grid-column:1/-1; }
  .miruta-hc-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .miruta-hc-timeline-card { grid-template-columns:1fr; }
  .miruta-hc-timeline-date { display:flex; justify-content:space-between; gap:8px; align-items:center; }
}
@media(max-width:680px) {
  .miruta-hc-current-summary-head,.miruta-hc-page-hero { align-items:stretch; flex-direction:column; }
  .miruta-hc-current-summary-actions,.miruta-hc-page-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .miruta-hc-current-summary-actions .btn,.miruta-hc-page-actions .btn { width:100%; justify-content:center; }
  .miruta-hc-last-visit,.miruta-hc-filter-grid,.miruta-hc-summary-grid { grid-template-columns:1fr; }
  .miruta-hc-last-visit-wide { grid-column:auto; }
  .miruta-hc-recent-item { grid-template-columns:1fr; }
  .miruta-hc-recent-actions { justify-content:flex-start; }
  .miruta-hc-drawer { width:100vw; }
  .miruta-hc-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
}


/* =========================================================
   MiRuta v402 · Tarjeta premium y acceso robusto a antecedentes
   ========================================================= */
.miruta-hc-trigger { text-decoration:none; }
.miruta-hc-summary-premium {
  position:relative; isolation:isolate; padding:22px!important;
  border:1px solid rgba(14,116,144,.20)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#ecfeff 0%,#ffffff 46%,#eef2ff 100%)!important;
  box-shadow:0 22px 54px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.miruta-hc-summary-glow { position:absolute; z-index:-1; width:260px; height:260px; right:-90px; top:-120px; border-radius:50%; background:radial-gradient(circle,rgba(45,212,191,.25),rgba(59,130,246,.10) 42%,transparent 70%); pointer-events:none; }
.miruta-hc-summary-copy { min-width:0; max-width:850px; }
.miruta-hc-summary-title-row { display:flex; align-items:center; gap:10px; margin-top:6px; }
.miruta-hc-summary-title-row h3 { margin:0!important; font-size:clamp(1.28rem,2.2vw,1.72rem)!important; letter-spacing:-.035em; }
.miruta-hc-count-badge { display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 11px; border-radius:999px; color:#fff; font-size:1rem; font-weight:1000; background:linear-gradient(135deg,#0f766e,#14b8a6,#2563eb); box-shadow:0 10px 24px rgba(14,116,144,.24),inset 0 1px 0 rgba(255,255,255,.35); }
.miruta-hc-summary-premium .miruta-hc-kicker { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; color:#0f766e; background:rgba(204,251,241,.72); border:1px solid rgba(20,184,166,.20); }
.miruta-hc-summary-premium .miruta-hc-current-summary-head p { margin-top:7px; max-width:820px; line-height:1.45; color:#53657d; }
.miruta-hc-current-summary-actions .miruta-hc-btn-primary,
.miruta-hc-current-summary-actions .miruta-hc-btn-secondary { min-height:46px; padding:11px 18px; border-radius:999px!important; font-weight:1000; text-decoration:none; gap:8px; transition:transform .18s ease,box-shadow .18s ease; }
.miruta-hc-current-summary-actions .miruta-hc-btn-primary { color:#fff!important; border:1px solid rgba(255,255,255,.34)!important; background:linear-gradient(135deg,#0f766e,#06b6d4,#14b8a6)!important; box-shadow:0 14px 30px rgba(14,116,144,.23)!important; }
.miruta-hc-current-summary-actions .miruta-hc-btn-secondary { color:#fff!important; border:1px solid rgba(255,255,255,.28)!important; background:linear-gradient(135deg,#1e3a8a,#4f46e5,#7c3aed)!important; box-shadow:0 14px 30px rgba(79,70,229,.22)!important; }
.miruta-hc-current-summary-actions a:hover { transform:translateY(-2px); }
.miruta-hc-last-visit { margin-top:18px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.miruta-hc-last-visit>.miruta-hc-visit-item { display:flex; align-items:flex-start; gap:12px; min-width:0; padding:14px 15px; border:1px solid rgba(148,163,184,.18); border-radius:18px; background:rgba(255,255,255,.88); box-shadow:0 10px 24px rgba(15,23,42,.05),inset 0 1px 0 #fff; }
.miruta-hc-visit-icon { display:grid!important; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:14px; font-size:1.08rem!important; background:linear-gradient(135deg,#ccfbf1,#dbeafe,#ede9fe); box-shadow:0 8px 18px rgba(15,118,110,.12); }
.miruta-hc-visit-item>div { min-width:0; }
.miruta-hc-visit-item>div>span { margin-top:1px; }
.miruta-hc-visit-item strong { margin-top:5px; font-size:.94rem; overflow-wrap:anywhere; }
.miruta-hc-last-visit-wide { grid-column:1/-1; align-items:center!important; }
.miruta-hc-last-visit-wide p { margin-top:5px; font-size:.9rem; }
.miruta-hc-empty-inline { display:flex; align-items:center; gap:12px; margin-top:16px; padding:15px 16px; border-radius:17px; background:rgba(255,255,255,.76); }
.miruta-hc-empty-inline>span { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:13px; background:#e0f2fe; }
.miruta-hc-empty-inline strong { display:block; color:#0f172a; }
.miruta-hc-empty-inline p { margin:3px 0 0; font-weight:650; }
@media(max-width:900px){.miruta-hc-last-visit{grid-template-columns:1fr 1fr}.miruta-hc-last-visit-wide{grid-column:1/-1}}
@media(max-width:680px){.miruta-hc-summary-premium{padding:17px!important;border-radius:22px!important}.miruta-hc-summary-title-row{justify-content:space-between}.miruta-hc-last-visit{grid-template-columns:1fr}.miruta-hc-last-visit-wide{grid-column:auto}.miruta-hc-current-summary-actions{grid-template-columns:1fr 1fr!important}.miruta-hc-current-summary-actions a{width:100%;font-size:.82rem;padding:10px!important}}
@media(max-width:460px){.miruta-hc-current-summary-actions{grid-template-columns:1fr!important}}

/* ============================================================
   v419.5 · Tema empresarial aplicado y vista previa inmediata
   ============================================================ */
.theme-color-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.theme-color-control code {
  min-width: 82px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}
.empresa-theme-preview-ui {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg);
  text-align: left;
}
.empresa-theme-preview-ui .btn {
  width: 100%;
  pointer-events: none;
}
.empresa-theme-preview-ui label > span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
@media (max-width: 560px) {
  .theme-color-control {
    grid-template-columns: 1fr;
  }
  .theme-color-control code {
    width: 100%;
  }
}
