/* ============================================================
   LATAM DEVVUELTO — Base de estilo (Login + UI reutilizable)
   Paleta: Azul de marca + Verde agua (teal)
   Autor: rediseño UI/UX profesional
   ============================================================ */

:root{
  /* Marca */
  --lv-primary:      #1d6fe0;
  --lv-primary-600:  #1559b8;
  --lv-primary-700:  #0f4694;
  --lv-teal:         #14b8a6;
  --lv-teal-600:     #0d9488;
  --lv-grad: linear-gradient(135deg, var(--lv-primary) 0%, var(--lv-teal) 100%);

  /* Neutros */
  --lv-ink:      #0f172a;
  --lv-body:     #334155;
  --lv-muted:    #64748b;
  --lv-line:     #e6ebf2;
  --lv-surface:  #ffffff;
  --lv-bg:       #eef4fb;

  /* Estados */
  --lv-danger:   #e11d48;
  --lv-success:  #0d9488;

  /* Radios y sombras */
  --lv-radius:   14px;
  --lv-radius-sm:10px;
  --lv-shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.05);
  --lv-shadow:    0 10px 30px -10px rgba(15,23,42,.25);
  --lv-shadow-lg: 0 30px 60px -20px rgba(15,23,42,.35);

  --lv-font: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* Utilidad Alpine (evita parpadeo antes de iniciar) */
[x-cloak]{ display:none !important; }

/* ============================================================
   LOGIN — Split screen responsive
   ============================================================ */
.lv-login{
  font-family: var(--lv-font);
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  color: var(--lv-body);
  background: var(--lv-bg);
}

/* --- Panel de marca (izquierda) --- */
.lv-login__brand{
  position:relative;
  flex:1 1 56%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:44px 52px;
  color:#fff;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(21,89,184,.94) 0%, rgba(13,148,136,.90) 100%),
    url('../img/login-bg.jpg') center/cover no-repeat;
}
.lv-login__brand::after{  /* patrón sutil de burbujas */
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.10) 0 60px, transparent 61px),
    radial-gradient(circle at 82% 72%, rgba(255,255,255,.08) 0 90px, transparent 91px),
    radial-gradient(circle at 62% 12%, rgba(255,255,255,.06) 0 40px, transparent 41px);
  pointer-events:none;
}
.lv-brand__top{ position:relative; z-index:1; display:flex; align-items:center; gap:14px; }
.lv-brand__logo{
  width:52px; height:52px; object-fit:contain;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  border-radius:14px; padding:8px;
  backdrop-filter: blur(6px);
}
.lv-brand__name{ font-weight:700; font-size:1.15rem; letter-spacing:.06em; text-transform:uppercase; line-height:1.1; }

.lv-brand__mid{ position:relative; z-index:1; max-width:460px; }
.lv-brand__headline{ font-size:2.35rem; font-weight:700; line-height:1.18; margin:0 0 16px; }
.lv-brand__sub{ font-size:1.02rem; line-height:1.6; color:rgba(255,255,255,.9); margin:0 0 28px; }
.lv-brand__list{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.lv-brand__list li{ display:flex; align-items:center; gap:12px; font-size:.96rem; color:rgba(255,255,255,.95); }
.lv-brand__check{
  flex:0 0 auto; width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.3);
  font-size:.75rem;
}
.lv-brand__bottom{ position:relative; z-index:1; font-size:.82rem; color:rgba(255,255,255,.8); }

/* --- Panel del formulario (derecha) --- */
.lv-login__panel{
  flex:1 1 44%;
  display:flex; align-items:center; justify-content:center;
  padding:40px 24px;
}
.lv-card{
  width:100%; max-width:420px;
}
.lv-card__head{ text-align:left; margin-bottom:28px; }
.lv-login__mobilelogo{ display:none; }
.lv-card__title{ font-size:1.65rem; font-weight:700; color:var(--lv-ink); margin:0 0 6px; }
.lv-card__desc{ font-size:.95rem; color:var(--lv-muted); margin:0; }

/* Campos */
.lv-field{ margin-bottom:18px; }
.lv-label{ display:block; font-size:.85rem; font-weight:600; color:var(--lv-body); margin-bottom:7px; }
.lv-inputwrap{ position:relative; }
.lv-inputwrap .lv-ico{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--lv-muted); font-size:1rem; pointer-events:none; line-height:0;
}
.lv-login .lv-input{
  width:100%;
  height:52px;
  padding:0 16px 0 44px;
  font-size:.96rem;
  color:var(--lv-ink);
  background:#fff;
  border:1.5px solid var(--lv-line);
  border-radius:var(--lv-radius-sm);
  outline:none;
  transition:border-color .18s, box-shadow .18s, background .18s;
  font-family:var(--lv-font);
}
.lv-login .lv-input::placeholder{ color:#9aa6b6; }
.lv-login .lv-input:hover{ border-color:#cfd9e6; }
.lv-login .lv-input:focus{
  border-color:var(--lv-teal);
  box-shadow:0 0 0 4px rgba(20,184,166,.16);
  background:#fff;
}

/* Fila: recordarme + olvidé */
.lv-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:6px 0 22px; flex-wrap:wrap; }
.lv-switch{ display:inline-flex; align-items:center; gap:9px; cursor:pointer; user-select:none; font-size:.9rem; color:var(--lv-body); }
.lv-switch input{ position:absolute; opacity:0; width:0; height:0; }
.lv-switch__track{
  width:40px; height:22px; border-radius:999px; background:#cdd6e2;
  position:relative; transition:background .18s; flex:0 0 auto;
}
.lv-switch__track::after{
  content:""; position:absolute; top:2px; left:2px; width:18px; height:18px;
  border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25);
  transition:transform .18s;
}
.lv-switch input:checked + .lv-switch__track{ background:var(--lv-teal); }
.lv-switch input:checked + .lv-switch__track::after{ transform:translateX(18px); }
.lv-switch input:focus-visible + .lv-switch__track{ box-shadow:0 0 0 4px rgba(20,184,166,.2); }
.lv-link{ font-size:.9rem; font-weight:600; color:var(--lv-primary); text-decoration:none; }
.lv-link:hover{ color:var(--lv-primary-700); text-decoration:underline; }

/* Botón */
.lv-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:52px;
  font-family:var(--lv-font); font-size:1rem; font-weight:600;
  color:#fff; border:none; cursor:pointer;
  border-radius:var(--lv-radius-sm);
  background:var(--lv-grad);
  background-size:140% 140%;
  box-shadow:0 8px 20px -6px rgba(21,89,184,.5);
  transition:transform .16s, box-shadow .16s, background-position .3s;
}
.lv-btn:hover{ transform:translateY(-1px); box-shadow:0 12px 26px -6px rgba(21,89,184,.55); background-position:100% 0; }
.lv-btn:active{ transform:translateY(0); }
.lv-btn:focus-visible{ outline:none; box-shadow:0 0 0 4px rgba(20,184,166,.35); }
.lv-btn[disabled]{ opacity:.7; cursor:not-allowed; }
.lv-btn .lv-spin{ display:none; width:18px; height:18px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:lv-spin .7s linear infinite; }
@keyframes lv-spin{ to{ transform:rotate(360deg); } }
/* estado cargando de livewire */
.lv-btn[wire\:loading]{ } /* placeholder */

/* Mensajes */
.lv-error{ display:block; color:var(--lv-danger); font-size:.82rem; margin-top:6px; }
.lv-alert{
  display:flex; align-items:flex-start; gap:10px;
  background:rgba(225,29,72,.08); border:1px solid rgba(225,29,72,.2);
  color:#b3123c; border-radius:10px; padding:11px 14px; font-size:.86rem; margin-bottom:18px;
}
.lv-alert--ok{ background:rgba(13,148,136,.09); border-color:rgba(13,148,136,.25); color:#0b7a6f; }

.lv-divider{ display:flex; align-items:center; gap:14px; margin:26px 0 14px; color:var(--lv-muted); font-size:.8rem; }
.lv-divider::before, .lv-divider::after{ content:""; flex:1; height:1px; background:var(--lv-line); }

.lv-foot{ text-align:center; font-size:.82rem; color:var(--lv-muted); margin-top:22px; }
.lv-foot a{ color:var(--lv-primary); font-weight:600; text-decoration:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991.98px){
  .lv-login{ flex-direction:column; }
  .lv-login__brand{
    flex:0 0 auto;
    padding:26px 24px 30px;
    min-height:auto;
  }
  .lv-brand__mid, .lv-brand__bottom{ display:none; }   /* compacto en móvil */
  .lv-brand__top{ justify-content:center; }
  .lv-login__panel{ padding:28px 20px 40px; }
  .lv-card__head{ text-align:center; }
  .lv-row{ justify-content:space-between; }
}

@media (max-width: 420px){
  .lv-login__brand{ padding:22px 18px 24px; }
  .lv-brand__logo{ width:46px; height:46px; }
  .lv-brand__name{ font-size:1rem; }
  .lv-login__panel{ padding:24px 16px 34px; }
  .lv-card__title{ font-size:1.4rem; }
  .lv-login .lv-input, .lv-btn{ height:50px; }
}

/* Pantallas grandes: no estirar demasiado el form */
@media (min-width:1600px){
  .lv-card{ max-width:440px; }
}

/* ============================================================
   v2 — Refinamientos de pulido (colores, marca, formulario, logo)
   ============================================================ */

/* Panel de marca: overlay con scrim inferior para legibilidad + patrón sutil */
.lv-login__brand{
  background:
    linear-gradient(180deg, rgba(9,30,66,0) 52%, rgba(7,26,58,.5) 100%),
    linear-gradient(135deg, rgba(20,86,180,.93) 0%, rgba(12,140,130,.9) 100%),
    url('../img/login-bg.jpg') center/cover no-repeat;
}
.lv-login__brand::after{
  background:
    radial-gradient(620px 620px at 12% 14%, rgba(255,255,255,.10), transparent 62%),
    radial-gradient(520px 520px at 88% 86%, rgba(20,184,166,.20), transparent 60%);
}

/* Chip superior del panel de marca */
.lv-brand__chip{
  display:inline-block; margin-bottom:18px;
  padding:6px 14px; font-size:.72rem; font-weight:600;
  letter-spacing:.10em; text-transform:uppercase; color:#fff;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.30);
  border-radius:999px; backdrop-filter:blur(6px);
}
.lv-brand__headline{ font-size:2.5rem; letter-spacing:-.01em; }

/* Logo compacto en el encabezado del formulario (solo desktop) */
.lv-card__brand{ display:flex; align-items:center; gap:11px; margin-bottom:22px; }
.lv-card__brand img{ width:40px; height:40px; object-fit:contain; }
.lv-card__brand span{
  font-weight:700; color:var(--lv-ink); font-size:.98rem;
  letter-spacing:.05em; text-transform:uppercase; line-height:1.1;
}
@media (max-width:991.98px){ .lv-card__brand{ display:none; } }

/* Título con mejor jerarquía */
.lv-card__title{ letter-spacing:-.01em; }

/* Botón: degradado un poco más profundo para contraste AA del texto */
.lv-btn{ background:linear-gradient(135deg, var(--lv-primary-600) 0%, var(--lv-teal-600) 100%); }
.lv-btn:hover{ background:linear-gradient(135deg, var(--lv-primary) 0%, var(--lv-teal) 100%); }

/* Mostrar/ocultar contraseña */
.lv-login .lv-input--pass{ padding-right:50px; }
.lv-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; display:grid; place-items:center; line-height:0;
  background:transparent; border:none; cursor:pointer;
  color:var(--lv-muted); border-radius:9px;
  transition:color .15s, background .15s;
}
.lv-eye:hover{ color:var(--lv-primary); background:rgba(29,111,224,.09); }
.lv-eye:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(20,184,166,.30); }

/* Fix: forzar blanco en textos del panel de marca (Argon define color en h1..h6) */
.lv-login__brand .lv-brand__headline,
.lv-login__brand .lv-brand__sub,
.lv-login__brand .lv-brand__list li{ color:#fff !important; }
.lv-login__brand .lv-brand__sub{ opacity:.92; }

/* ============================================================
   PANEL ADMIN — capa de estilo profesional (azul + teal)
   Aplica a app.blade.php (Argon) sin tocar la lógica Livewire
   ============================================================ */
body.g-sidenav-show{ background:#eef3fa; font-family:var(--lv-font); color:var(--lv-body); }

/* Banda superior con degradado de marca */
.min-height-300.bg-primary{
  background:var(--lv-grad) !important;
  min-height:300px !important;
}

/* Tarjetas del panel */
.main-content .card{
  border:1px solid var(--lv-line);
  border-radius:16px;
  box-shadow:var(--lv-shadow-sm);
}
.main-content .card-header{ background:transparent; border-radius:16px 16px 0 0; }
.main-content .card-header h5{ color:var(--lv-ink); font-weight:600; letter-spacing:-.01em; }

/* KPIs */
.main-content .numbers p{ letter-spacing:.05em; font-weight:600; color:var(--lv-muted)!important; }
.main-content .numbers h5{ font-size:1.95rem; font-weight:700; color:var(--lv-ink)!important; }
.main-content .icon-shape{
  width:56px; height:56px; display:grid; place-items:center;
  box-shadow:var(--lv-shadow-sm);
}
.main-content .icon-shape.bg-secondary{ background:linear-gradient(135deg,#94a3b8,#64748b)!important; }
.main-content .icon-shape.bg-warning{ background:linear-gradient(135deg,#fbbf24,#f59e0b)!important; }
.main-content .icon-shape.bg-success{ background:linear-gradient(135deg,#2dd4bf,#0d9488)!important; }
.main-content .icon-shape.bg-primary{ background:var(--lv-grad)!important; }

/* Hover elegante en las tarjetas KPI (fila superior de tarjetas) */
.main-content .row.align-items-center > [class*="col-"] > .card{ transition:transform .16s ease, box-shadow .16s ease; }
.main-content .row.align-items-center > [class*="col-"] > .card:hover{
  transform:translateY(-3px); box-shadow:var(--lv-shadow);
}

/* Inputs y selects del panel */
.main-content .form-control, .main-content .form-select{
  border:1.5px solid var(--lv-line); border-radius:10px; min-height:44px; color:var(--lv-ink);
}
.main-content .form-control:focus, .main-content .form-select:focus{
  border-color:var(--lv-teal); box-shadow:0 0 0 4px rgba(20,184,166,.15);
}

/* Botones primarios coherentes con la marca */
.btn-primary, .bg-gradient-primary{
  background:var(--lv-grad)!important; border:none!important;
  box-shadow:0 6px 16px -6px rgba(21,89,184,.5)!important;
}
.btn-primary:hover{ filter:brightness(1.04); transform:translateY(-1px); }

/* Sidebar: item activo con degradado de marca */
.sidenav .navbar-nav .nav-link.active{
  background:var(--lv-grad)!important;
  box-shadow:0 8px 18px -10px rgba(21,89,184,.7)!important;
}
.sidenav .navbar-nav .nav-link.active,
.sidenav .navbar-nav .nav-link.active .nav-link-text,
.sidenav .navbar-nav .nav-link.active i{ color:#fff!important; }

/* Gráfico: contenedor con aire */
.chart .chart-canvas{ max-height:280px; }

/* ============================================================
   DASHBOARD rediseñado (KPIs, barras, doughnut, listas)
   ============================================================ */
.lv-dash{ display:flex; flex-direction:column; gap:22px; font-family:var(--lv-font); }
.lv-dash *{ box-sizing:border-box; }

.lv-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.lv-kpi{ background:#fff;border:1px solid var(--lv-line);border-radius:16px;padding:20px;box-shadow:var(--lv-shadow-sm);position:relative;overflow:hidden;transition:transform .16s,box-shadow .16s; }
.lv-kpi:hover{ transform:translateY(-3px); box-shadow:var(--lv-shadow); }
.lv-kpi::before{ content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--lv-primary)); }
.lv-kpi__top{ display:flex; justify-content:flex-end; }
.lv-kpi__chip{ width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.05rem;background:var(--accent,var(--lv-primary)); }
.lv-kpi__lbl{ font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--lv-muted);margin-top:14px; }
.lv-kpi__num{ font-size:1.9rem;font-weight:700;color:var(--lv-ink);line-height:1.1;margin-top:4px; }
.lv-kpi__delta{ font-size:.78rem;font-weight:600;margin-top:8px; }
.lv-kpi__delta span{ color:var(--lv-muted);font-weight:500; }
.lv-kpi__delta.up{ color:#0d9488; } .lv-kpi__delta.down{ color:#e11d48; } .lv-kpi__delta.flat{ color:var(--lv-muted); }

.lv-row2{ display:grid; grid-template-columns:2fr 1fr; gap:22px; }
.lv-row3{ display:grid; grid-template-columns:1.4fr 1fr; gap:22px; }
.lv-dash .lv-card{ background:#fff;border:1px solid var(--lv-line);border-radius:16px;box-shadow:var(--lv-shadow-sm); }
.lv-card__head{ display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px 4px; }
.lv-card__head h3{ font-size:1rem;color:var(--lv-ink);font-weight:600;margin:0; }
.lv-hint{ font-size:.8rem;color:var(--lv-muted); }
.lv-card__body{ padding:14px 20px 20px; }

.lv-bars{ width:100%; height:210px; display:block; }
.lv-bars .lv-grid line{ stroke:#eef2f7; stroke-width:1; }
.lv-bval{ fill:var(--lv-ink); font-size:11px; font-weight:600; text-anchor:middle; }
.lv-bday{ fill:var(--lv-muted); font-size:11px; text-anchor:middle; }

.lv-donut{ max-width:210px; margin:4px auto 10px; }
.lv-donut .chart{ position:relative; height:210px; }
.lv-legend{ display:flex; flex-direction:column; gap:9px; margin-top:4px; }
.lv-li{ display:flex; align-items:center; gap:10px; font-size:.85rem; }
.lv-dot{ width:11px;height:11px;border-radius:3px;flex:0 0 auto; }
.lv-name{ color:var(--lv-body); }
.lv-v{ margin-left:auto; font-weight:600; color:var(--lv-ink); }
.lv-pct{ color:var(--lv-muted); font-size:.78rem; width:42px; text-align:right; }

.lv-tools{ display:flex; gap:8px; }
.lv-mini-input{ border:1.5px solid var(--lv-line);border-radius:9px;padding:7px 10px;font-size:.82rem;font-family:var(--lv-font);color:var(--lv-ink);outline:none;max-width:150px;background:#fff; }
.lv-mini-input:focus{ border-color:var(--lv-teal); box-shadow:0 0 0 3px rgba(20,184,166,.15); }

.lv-order{ display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--lv-line);text-decoration:none; }
.lv-order:last-child{ border-bottom:none; }
.lv-who{ font-weight:600;color:var(--lv-ink);font-size:.9rem; }
.lv-meta{ font-size:.78rem;color:var(--lv-muted); }
.lv-pill{ font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap; }
.lv-pill.pending{ background:#eef1f5;color:#5b6472; }
.lv-pill.processing{ background:#fef3e2;color:#b5730a; }
.lv-pill.ready{ background:#e2f7f3;color:#0b7a6f; }
.lv-pill.delivered{ background:#e7effc;color:#155bb8; }
.lv-pill.returned{ background:#fde7ec;color:#b3123c; }
.lv-amt{ margin-left:auto;font-weight:700;color:var(--lv-ink);font-size:.9rem; }
.lv-empty{ color:var(--lv-muted);font-size:.88rem;padding:18px 4px;text-align:center; }

.lv-svc{ display:flex;align-items:center;gap:12px;padding:10px 0; }
.lv-svc__n{ font-size:.86rem;color:var(--lv-body);width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.lv-svc__track{ flex:1;height:9px;background:#eef2f7;border-radius:999px;overflow:hidden; }
.lv-svc__fill{ display:block;height:100%;border-radius:999px;background:var(--lv-grad); }
.lv-svc__q{ font-size:.82rem;font-weight:600;color:var(--lv-ink);width:38px;text-align:right; }

@media(max-width:1100px){ .lv-kpis{ grid-template-columns:repeat(2,1fr); } .lv-row2,.lv-row3{ grid-template-columns:1fr; } }
@media(max-width:560px){ .lv-kpis{ grid-template-columns:1fr; } .lv-tools{ flex-direction:column; } .lv-mini-input{ max-width:none; } }

/* ===== Detalle de prendas (Venta y Recepción) ===== */
.lv-garments{ background:#f7fafd; border:1px dashed var(--lv-line); border-radius:10px; padding:8px 10px; }
.lv-gadd{ background:var(--lv-teal); color:#fff; border:none; border-radius:8px; font-size:.72rem; font-weight:600; padding:3px 10px; cursor:pointer; }
.lv-gadd:hover{ background:var(--lv-teal-600); }
.lv-grow{ display:flex; align-items:center; gap:6px; margin-top:6px; }
.lv-grow .lv-gdesc{ flex:2 1 120px; }
.lv-grow .lv-gstate{ flex:3 1 160px; }
.lv-grow .lv-gqty{ width:62px; flex:0 0 62px; text-align:center; }
.lv-grow .lv-gcolor{ width:34px; height:32px; flex:0 0 34px; padding:2px; border:1px solid var(--lv-line); border-radius:8px; background:#fff; cursor:pointer; }
.lv-grow .lv-gdel{ flex:0 0 auto; width:30px; height:30px; border:none; border-radius:8px; background:#fde7ec; color:#b3123c; cursor:pointer; font-weight:700; line-height:1; }
.lv-grow .lv-gdel:hover{ background:#f9c9d5; }
@media(max-width:640px){ .lv-grow{ flex-wrap:wrap; } .lv-grow .lv-gdesc,.lv-grow .lv-gstate{ flex:1 1 100%; } }

/* ===== Pagos mixtos (Venta y Recepción) ===== */
.lv-split{ display:flex; align-items:center; gap:6px; }
.lv-split__amt{ flex:1 1 90px; }
.lv-split__type{ flex:1 1 120px; }
.lv-split__del{ flex:0 0 auto; width:30px; height:31px; border:none; border-radius:8px; background:#fde7ec; color:#b3123c; cursor:pointer; font-weight:700; line-height:1; }
.lv-split__del:hover{ background:#f9c9d5; }
.lv-split__spacer{ flex:0 0 30px; }

/* ===== Pedidos: tabla -> tarjetas en móvil (responsive) ===== */
@media (max-width: 991.98px){
    /* la tabla completa pasa a bloques (tarjetas) */
    .lv-rtable thead{ display:none; }
    .lv-rtable,
    .lv-rtable tbody,
    .lv-rtable tr,
    .lv-rtable td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
    }
    /* box-sizing: sin esto las celdas se calculan en content-box y se desbordan */
    .lv-rtable,
    .lv-rtable tbody,
    .lv-rtable tr,
    .lv-rtable td{ box-sizing:border-box !important; }
    .lv-rtable tr{
        margin:0 0 14px;
        border:1px solid #e9edf3;
        border-radius:14px;
        background:#fff;
        box-shadow:0 2px 10px rgba(16,24,40,.06);
        padding:6px 2px;
    }
    /* cada dato: etiqueta arriba, valor abajo, alineado a la izquierda */
    .lv-rtable td{
        padding:9px 16px !important;
        border:0 !important;
        border-bottom:1px solid #f4f6f9 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:break-word;
    }
    .lv-rtable tr td:last-child{ border-bottom:0 !important; }
    .lv-rtable td::before{
        content:attr(data-label);
        display:block;
        font-weight:700;
        color:#8a94a6;
        font-size:.68rem;
        letter-spacing:.04em;
        text-transform:uppercase;
        margin-bottom:3px;
    }
    /* neutraliza alineaciones/paddings internos que descuadraban */
    .lv-rtable td *{ text-align:left !important; }
    .lv-rtable td .px-3{ padding-left:0 !important; padding-right:0 !important; }
    .lv-rtable td .text-center{ text-align:left !important; }
    .lv-rtable td .dropdown{ display:inline-block; }
    /* botones de acciones en fila, que envuelvan sin recortarse */
    .lv-rtable td[data-label="Acciones"] > *{
        display:inline-block !important;
        width:auto !important;
        margin:0 8px 6px 0 !important;
    }
    /* última columna (acciones) en cualquier idioma: botones en línea */
    .lv-rtable td:last-child > *{
        display:inline-block !important;
        width:auto !important;
        margin:0 8px 6px 0 !important;
    }
}
/* filtros y cabecera: que respiren en pantallas pequeñas */
@media (max-width: 575.98px){
    .card-header.p-4{ padding:1rem !important; }
    .card-body.p-0{ overflow-x:hidden; }
}

/* ===== Informes: encabezado separado + pie de resumen (responsive) ===== */
@media (max-width: 991.98px){
    /* la tabla de solo-encabezados se oculta; las etiquetas salen en cada tarjeta */
    .lv-rhead{ display:none !important; }
    /* pie de resumen: cada bloque a ancho completo, apilado */
    .lv-report-summary{ row-gap:8px; }
    .lv-report-summary > [class*="col"]{
        flex:0 0 100% !important;
        max-width:100% !important;
    }
    .lv-report-summary .col-auto .btn{ width:100%; margin:0 0 6px 0 !important; }
}

/* ===== Estado de Pedido (Kanban): apilar columnas en móvil ===== */
@media (max-width: 991.98px){
    .scrum-board-container .flex{ flex-direction:column; }
    .scrum-board, .scrum-board-processing{ padding:14px; }
    .scrum-board-processing{
        border-left:0; border-right:0;
        border-top:1px solid #e9edf3; border-bottom:1px solid #e9edf3;
    }
    .scrum-board-column{ min-height:60px; }
}

/* ===== Pedidos: SIEMPRE en tarjetas para que nunca se desborde ===== */
@media (max-width: 5000px){
    .lv-rtable-wide thead{ display:none !important; }
    .lv-rtable-wide,
    .lv-rtable-wide tbody,
    .lv-rtable-wide tr,
    .lv-rtable-wide td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }
    .lv-rtable-wide tr{
        margin:0 0 14px;
        border:1px solid #e9edf3;
        border-radius:14px;
        background:#fff;
        box-shadow:0 2px 10px rgba(16,24,40,.06);
        padding:6px 2px;
    }
    .lv-rtable-wide td{
        padding:9px 16px !important;
        border:0 !important;
        border-bottom:1px solid #f4f6f9 !important;
        text-align:left !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:break-word;
    }
    .lv-rtable-wide tr td:last-child{ border-bottom:0 !important; }
    .lv-rtable-wide td::before{
        content:attr(data-label);
        display:block;
        font-weight:700;
        color:#8a94a6;
        font-size:.68rem;
        letter-spacing:.04em;
        text-transform:uppercase;
        margin-bottom:3px;
    }
    .lv-rtable-wide td *{ text-align:left !important; }
    .lv-rtable-wide td .px-3{ padding-left:0 !important; padding-right:0 !important; }
    .lv-rtable-wide td .text-center{ text-align:left !important; }
    .lv-rtable-wide td:last-child > *{
        display:inline-block !important;
        width:auto !important;
        margin:0 8px 6px 0 !important;
    }
}
/* En pantallas grandes, que la tabla nunca empuje la página: scroll interno */
.lv-rtable-wide{ min-width: 0; }
.card-body > .table-responsive{ overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }

/* ================================================================
   FIX MÓVIL — el menú lateral debe DESPLAZARSE para ver TODOS los
   módulos. En pantallas < 1200px el menú es "flotante" (off-canvas)
   y Argon no le activa el scroll en celulares. Esto lo soluciona.
   ================================================================ */
@media (max-width: 1199.98px){
  #sidenav-main{
    max-height: 100vh;
    max-height: 100dvh;               /* respeta las barras del navegador móvil */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch; /* desplazamiento suave en iOS/Android */
  }
  #sidenav-main .navbar-collapse,
  #sidenav-collapse-main{
    height: auto !important;
    overflow: visible !important;
  }
  /* un respiro al final para que "Cerrar sesión" no quede pegado al borde */
  #sidenav-main .navbar-nav{ padding-bottom: 28px; }
}
