/* Glassmorphism Dark Blue Theme */
:root[data-bs-theme="dark"] {
  --tblr-body-bg: #0f172a;
  /* Deep Blue Slate */
  --tblr-body-color: #e2e8f0;
  --tblr-card-bg: rgba(30, 41, 59, 0.7);
  /* See-through dark blue */
  --tblr-card-border-color: rgba(255, 255, 255, 0.08);
  --tblr-border-color: rgba(255, 255, 255, 0.08);
  --tblr-bg-surface: rgba(15, 23, 42, 0.8);
}

[data-bs-theme="dark"] body {
  background: radial-gradient(circle at top left, #1e3a8a, #0f172a);
  min-height: 100vh;
}

[data-bs-theme="dark"] .card {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

[data-bs-theme="dark"] .navbar {
  background: rgba(15, 23, 42, 0.8) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

[data-bs-theme="dark"] .modal-content {
  background: rgba(30, 41, 59, 0.95) !important;
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .modal-title {
  color: #fff;
}

[data-bs-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

[data-bs-theme="dark"] .form-label {
  color: #e2e8f0;
}

[data-bs-theme="dark"] .table-responsive {
  border-radius: 4px;
}

[data-bs-theme="dark"] .table {
  --tblr-table-bg: transparent;
  --tblr-table-border-color: rgba(255, 255, 255, 0.08);
  --tblr-table-striped-bg: rgba(255, 255, 255, 0.02);
  --tblr-table-hover-bg: rgba(255, 255, 255, 0.05);
  color: inherit;
}

[data-bs-theme="dark"] .table thead th {
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(4px);
  color: #fff;
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .table tbody td {
  background: rgba(30, 41, 59, 0.4);
  /* Very sheer connection */
  backdrop-filter: blur(2px);
  /* Slight blur per row? Might be heavy. Let's stick to simple transparency */
  background: transparent;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_processing,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate {
  color: #cbd5e1 !important;
}

[data-bs-theme="dark"] .pagination .page-item .page-link {
  background: rgba(30, 41, 59, 0.6);
  border-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

[data-bs-theme="dark"] .pagination .page-item.active .page-link {
  background: rgba(59, 130, 246, 0.6);
  /* Blueish glass */
  border-color: rgba(59, 130, 246, 0.5);
  color: #fff;
}

[data-bs-theme="dark"] .list-group-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.08);
  color: inherit;
}

[data-bs-theme="dark"] .list-group-item-action:hover,
[data-bs-theme="dark"] .list-group-item-action:focus {
  background: rgba(255, 255, 255, 0.05);
  color: inherit;
}

/* Ensure Charts are visible on dark bg */
[data-bs-theme="dark"] .chart text {
  fill: #e2e8f0 !important;
}

[data-bs-theme="dark"] canvas {
  background: transparent !important;
}

/* Global Input Styling */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text {
  background-color: rgba(15, 23, 42, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff !important;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: rgba(15, 23, 42, 0.8) !important;
  border-color: rgba(59, 130, 246, 0.5);
  box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25);
  color: #fff !important;
}

[data-bs-theme="dark"] .input-group-text {
  border-right: none;
  /* Blend with input if needed, or keep standard */
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

[data-bs-theme="dark"] select option {
  background-color: #0f172a;
  /* Solid background for dropdown options */
  color: #fff;
}

/* Global Header Styling */
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .modal-header {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .modal-title {
  color: #ffffff !important;
}

/* Global Text Visibility - Force White */
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .dataTables_wrapper,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter label,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length label,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate,
[data-bs-theme="dark"] .table {
  color: #ffffff !important;
}

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table td span,
[data-bs-theme="dark"] .table td div,
[data-bs-theme="dark"] .table td a:not(.btn) {
  color: #ffffff !important;
}

/* Fix for DataTables Sorting Stripes */
[data-bs-theme="dark"] table.dataTable.display tbody tr.odd>.sorting_1,
[data-bs-theme="dark"] table.dataTable.order-column.stripe tbody tr.odd>.sorting_1,
[data-bs-theme="dark"] table.dataTable.display tbody tr.even>.sorting_1,
[data-bs-theme="dark"] table.dataTable.order-column.stripe tbody tr.even>.sorting_1 {
  color: #ffffff !important;
}

/* Sidebar Menu - Larger Text */
[data-bs-theme="dark"] .navbar-vertical .nav-link {
  font-size: 1.1rem;
  /* Increase from default 0.875rem/14px */
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

[data-bs-theme="dark"] .navbar-vertical .nav-link-title {
  font-weight: 500;
}

/* Mobile Menu Styling */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background: rgba(15, 23, 42, 0.98) !important;
    backdrop-filter: blur(20px);
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1060;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  }

  /* Reset navbar vertical positioning if any remnants exist */
  [data-bs-theme="dark"] .navbar-vertical {
    display: none !important;
  }
}

/* Fix Z-Index for Modals on Mobile to override .navbar-collapse z-index of 1050 and .navbar-vertical z-index of 1060 */
[data-bs-theme="dark"] .modal {
  z-index: 2000 !important;
}

[data-bs-theme="dark"] .modal-backdrop {
  z-index: 1090 !important;
  /* Above navbar (1060) */
}

/* =========================================
   SWEETALERT2 PRO STYLING
   ========================================= */
body.swal2-shown>[aria-hidden="true"] {
  transition: 0.1s filter;
  filter: blur(10px);
}

.swal2-popup {
  background: rgba(15, 23, 42, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.swal2-title {
  color: #fff !important;
  font-weight: 600 !important;
}

.swal2-content,
.swal2-html-container {
  color: #cbd5e1 !important;
}

/* Success Icon Animation */
.swal2-icon.swal2-success {
  border-color: #10b981 !important;
  /* Emerald Green */
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
}

.swal2-icon.swal2-success .swal2-success-line-tip,
.swal2-icon.swal2-success .swal2-success-line-long {
  background-color: #10b981 !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
  border: 4px solid rgba(16, 185, 129, 0.2) !important;
}

/* Error Icon Animation */
.swal2-icon.swal2-error {
  border-color: #ef4444 !important;
  /* Red 500 */
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
}

.swal2-icon.swal2-error .swal2-x-mark-line-left,
.swal2-icon.swal2-error .swal2-x-mark-line-right {
  background-color: #ef4444 !important;
}

/* Buttons */
.swal2-confirm.btn-primary {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
  box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.5);
  border: none !important;
}

.swal2-cancel.btn-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.5);
  border: none !important;
}

/* =========================================
   STICKY NAVBAR STYLING
   ========================================= */
.navbar.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1070 !important;
  /* Fixed: 1070 to override page-wrapper (1040) */
  width: 100%;
  background: rgba(15, 23, 42, 0.9) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Ensure body has padding if needed, or rely on sticky positioning flow */
.page-wrapper {
  margin-left: 0 !important;
  /* Reset any sidebar margin */
}

/* Fix container width in horizontal mode */
@media (min-width: 992px) {
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
    align-items: center;
  }

  .nav-item {
    margin-right: 1rem;
  }
}

/* Custom Fluid Container for 95% Width */
.custom-fluid-container {
    width: 95% !important;
    max-width: 95% !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* Respaldo oscuro para pantallas nuevas y layouts heredados de operación. */
.page-wrapper, .page-body, .content-wrapper { background: transparent !important; color: #e2e8f0; }
.page-body .card, .content .card, .modal-content { background: rgba(30,41,59,.92) !important; color:#e2e8f0 !important; border-color:rgba(255,255,255,.1) !important; }
.page-body .table, .content .table, .page-body .table td, .content .table td { color:#e2e8f0 !important; background-color:transparent !important; border-color:rgba(255,255,255,.1) !important; }
.page-body .table th, .content .table th { color:#fff !important; background:rgba(15,23,42,.85) !important; }
.page-body .form-control, .page-body .form-select, .page-body textarea, .modal-content .form-control, .modal-content .form-select, .modal-content textarea { background:rgba(15,23,42,.8) !important; color:#fff !important; border-color:rgba(255,255,255,.16) !important; }
.page-body .form-control:focus, .page-body .form-select:focus, .modal-content .form-control:focus, .modal-content .form-select:focus { background:#0f172a !important; color:#fff !important; border-color:#3b82f6 !important; box-shadow:0 0 0 .25rem rgba(59,130,246,.25); }
.dropdown-menu, .dataTables_wrapper .paginate_button, .page-link { background:#172033 !important; color:#e2e8f0 !important; border-color:rgba(255,255,255,.14) !important; }
.dropdown-item { color:#e2e8f0 !important; }.dropdown-item:hover,.dropdown-item:focus { background:#27364f !important;color:#fff !important; }

/* Productos: se mantiene oscuro incluso si un layout legado no propaga data-bs-theme. */
.productos-page, .productos-page .page-body, .productos-page .card, .productos-page .card-body { background: transparent; color: #e2e8f0; }
.productos-page .card { background: rgba(30, 41, 59, .82) !important; border-color: rgba(255,255,255,.1); }
.productos-page .table, .productos-page .table td { --tblr-table-bg: transparent; color: #e2e8f0 !important; background: transparent !important; border-color: rgba(255,255,255,.1); }
.productos-page .table th { background: rgba(15,23,42,.88) !important; color: #fff !important; }
.productos-page .form-control, .productos-page .form-select, .productos-page textarea, .productos-page select { background: rgba(15,23,42,.8) !important; color: #fff !important; border-color: rgba(255,255,255,.16) !important; }
.productos-page .form-control:focus, .productos-page .form-select:focus, .productos-page textarea:focus { background: rgba(15,23,42,.95) !important; border-color: #3b82f6 !important; box-shadow: 0 0 0 .25rem rgba(59,130,246,.25); }
.productos-page .form-control:disabled, .productos-page .form-select:disabled { background: rgba(51,65,85,.7) !important; color: #94a3b8 !important; }
.productos-page .dataTables_filter input, .productos-page .dataTables_length select, .productos-page .page-link { background: rgba(15,23,42,.8) !important; color: #e2e8f0 !important; border-color: rgba(255,255,255,.16) !important; }
.productos-page .page-item.active .page-link { background: #2563eb !important; color: #fff !important; }
.modal-content { background: rgba(30,41,59,.97) !important; color: #e2e8f0; }

/* Detalle de venta: alcance exclusivo al modal para evitar que tablas heredadas
   recuperen los fondos blancos de Bootstrap/AdminLTE. */
#modalEditarVenta .venta-detalle-dark {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  box-shadow: none;
}
#modalEditarVenta .venta-detalle-contenido { background: #1e293b !important; }
#modalEditarVenta .venta-detalle-dark h6,
#modalEditarVenta .venta-detalle-dark strong { color: #f8fafc !important; }
#modalEditarVenta .venta-detalle-dark .text-muted,
#modalEditarVenta .venta-detalle-vacio { color: #94a3b8 !important; }
#modalEditarVenta .venta-detalle-dark hr { border-color: rgba(148,163,184,.22); opacity: 1; }
#modalEditarVenta .venta-detalle-dark .badge { background: #334155 !important; color: #e2e8f0 !important; border: 1px solid rgba(148,163,184,.28); }
#modalEditarVenta .venta-detalle-tabla {
  --tblr-table-bg: transparent;
  --tblr-table-border-color: rgba(148,163,184,.2);
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border-color: rgba(148,163,184,.2) !important;
  margin-bottom: 0;
}
#modalEditarVenta .venta-detalle-tabla > :not(caption) > * > * {
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border-color: rgba(148,163,184,.2) !important;
}
#modalEditarVenta .venta-detalle-tabla thead th {
  background: #172033 !important;
  color: #f8fafc !important;
  white-space: nowrap;
}
#modalEditarVenta .venta-detalle-tabla tbody tr:hover > * { background: #1e293b !important; }
@media (max-width: 575.98px) {
  #modalEditarVenta .venta-detalle-contenido { padding: .85rem; }
  #modalEditarVenta .venta-detalle-tabla { font-size: .82rem; }
}
/* Inicio: cuadrícula uniforme sin cambiar datos ni permisos. */
.dashboard-indicator-card { position:relative; width:100%; min-height:168px; border:1px solid rgba(255,255,255,.16); box-shadow:0 10px 24px rgba(0,0,0,.16); }
.dashboard-indicator-card .card-body { position:relative; z-index:1; display:flex; min-height:168px; flex-direction:column; align-items:flex-start; padding:1.25rem; }
.dashboard-indicator-card .h1 { margin-top:auto; font-size:2.35rem; line-height:1; }
.dashboard-indicator-card a, .dashboard-indicator-note { margin-top:auto; min-height:24px; }
.dashboard-indicator-icon { position:absolute; right:1rem; bottom:.8rem; color:rgba(255,255,255,.2); font-size:4rem; line-height:1; pointer-events:none; }
.dashboard-content-grid > [class*="col-"] > .card { width:100%; }
.dashboard-content-grid .dashboard-welcome-card { min-height:92px; }
@media (max-width:767.98px) { .dashboard-indicator-card, .dashboard-indicator-card .card-body { min-height:150px; } }

/* Operación en móvil: conserva controles completos sin obligar a ampliar la
   pantalla.  Las tablas siguen desplazándose horizontalmente cuando tienen
   muchas columnas, y los controles de DataTables se apilan con áreas táctiles
   cómodas. */
.table-responsive { -webkit-overflow-scrolling: touch; }

@media (max-width: 767.98px) {
  .custom-fluid-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .page-header .breadcrumb {
    margin-top: .25rem;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    float: none !important;
    width: 100% !important;
    text-align: left !important;
    margin: .65rem 0 !important;
  }

  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length select {
    min-height: 2.75rem;
    max-width: 100%;
  }

  .dataTables_wrapper .dataTables_paginate {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
  }

  .dataTables_wrapper .paginate_button {
    min-width: 2.75rem;
    min-height: 2.75rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  /* Los tres tipos de cobro de venta inmediata no se comprimen ni se salen
     de la pantalla; se vuelven opciones apiladas y fáciles de pulsar. */
  .formularioVenta .btn-group[role="group"] {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .formularioVenta .btn-group[role="group"] > .btn {
    border-radius: .375rem !important;
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .formularioVenta .nuevoProducto .input-group,
  .formularioVenta .nuevoProducto .row {
    flex-wrap: wrap;
  }
}

@media (max-width: 399.98px) {
  #contenedorProductos .product-card { width: 100%; }
  #contenedorProductos .product-card .card-img-top { height: 105px !important; }
}

/* Tablas operativas: el desplazamiento pertenece a la tabla, no a la página. */
.page-body .card, .page-body .card-body, .page-body .row > *,
.modal .modal-body, .dataTables_wrapper { min-width: 0; }
.tabla-scroll { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabla-scroll:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
@media (max-width: 767.98px) {
  .page-body .table-responsive, .modal .table-responsive { max-width: 100%; }
  .tabla-scroll > table { min-width: 100%; width: max-content !important; }
  .tabla-scroll th { white-space: nowrap; }
  .tabla-scroll td { min-width: 5rem; max-width: 22rem; white-space: normal; overflow-wrap: anywhere; }
  .tabla-scroll td .btn { min-height: 2.75rem; min-width: 2.75rem; }
  .tabla-scroll .btn-group { flex-wrap: wrap; gap: .25rem; }
  .dataTables_wrapper .row { margin-left: 0; margin-right: 0; }
  .dataTables_wrapper .row > * { padding-left: 0; padding-right: 0; }
  .dataTables_wrapper .dataTables_filter label { display: flex; flex-wrap: wrap; gap: .5rem; width: 100%; }
  .dataTables_wrapper .dataTables_filter input { width: 100%; margin-left: 0 !important; }
  .dataTables_wrapper .pagination { flex-wrap: wrap; gap: .25rem; padding-left: 0; }
}
@media print { .tabla-scroll { overflow: visible; } }

/* Modales móviles: limitar el diálogo al viewport, incluso con formularios heredados. */
@media (max-width: 767.98px) {
  .modal {
    width: 100% !important;
    max-width: 100vw;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-y: auto;
  }
  .modal .modal-dialog {
    box-sizing: border-box;
    width: calc(100% - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    min-width: 0 !important;
    margin: .5rem auto !important;
  }
  .modal .modal-content {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    max-height: calc(100vh - 1rem);
    max-height: calc(100dvh - 1rem);
    overflow-y: auto;
  }
  .modal .modal-content > form { min-width: 0; max-width: 100%; }
  .modal .modal-header, .modal .modal-body, .modal .modal-footer {
    padding: 1rem;
    min-width: 0;
    flex-shrink: 0;
  }
  .modal .modal-body .row > *, .modal .input-group { min-width: 0; }
  .modal .form-control, .modal .form-select { min-width: 0; max-width: 100%; font-size: 16px; }
  .modal .input-group > .form-control, .modal .input-group > .form-select { width: 1%; }
  .modal .modal-title { min-width: 0; overflow-wrap: anywhere; }
  .modal .btn-close { flex-shrink: 0; }
  .modal .modal-footer { flex-wrap: wrap; gap: .5rem; }
  .modal .modal-footer .btn { min-height: 2.75rem; white-space: normal; margin: 0 !important; flex: 1 1 8rem; }
}

/* Estado operativo legible sin expandir la tabla de pedidos. */
.tablaPedidos .pedido-estado-celda { width: 12rem; max-width: 12rem; }
.tablaPedidos .pedido-estado-badge { display: inline-block; max-width: 12rem; white-space: normal; line-height: 1.4; text-align: left; overflow-wrap: normal; }

/* Contención para módulos heredados (incluye Devoluciones). */
.devoluciones-page { width: 100%; padding: 1rem; margin: 0 auto; box-sizing: border-box; }
@media (min-width: 992px) {
  .devoluciones-page { width: 90%; padding: 1.5rem 0; }
}
.page-wrapper, .content-wrapper, .content, .box, .box-body { min-width: 0; max-width: 100%; }
.content-wrapper .table-responsive { width: 100%; max-width: 100%; }
.tabla-scroll > table { margin-bottom: 0; }
@media (max-width: 767.98px) {
  .content-wrapper .breadcrumb { flex-wrap: wrap; gap: .35rem; }
  .content-wrapper h1 { font-size: 1.5rem; }
  .dataTables_wrapper .dataTables_length label { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
  .dataTables_wrapper .dataTables_paginate .pagination { flex-wrap: wrap; }
  .tabla-scroll td :is(input, select) { min-width: 7rem; }
}

/* Entregas: resumen nativo accesible, sin dependencia de JavaScript/CDN. */
.entrega-tarjeta > .entrega-resumen { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.entrega-resumen::-webkit-details-marker { display: none; }
.entrega-resumen-texto { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.entrega-resumen-texto h3 { font-size: 1rem; }
.entrega-flecha { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; min-height: 44px; color: inherit; }
.entrega-tarjeta[open] > summary .entrega-flecha { transform: rotate(180deg); }
.entrega-resumen:focus-visible { outline: 3px solid #478bdd; outline-offset: -3px; border-radius: .375rem; }
.entrega-tarjeta[open] > .entrega-resumen { border-bottom: 1px solid var(--tblr-border-color, #8793a3); }
@media (max-width: 575.98px) {
  .entrega-tarjeta > .entrega-resumen { gap: .5rem; padding: .75rem; flex-wrap: wrap; }
  .entrega-resumen-texto { flex-basis: calc(100% - 60px); }
  .entrega-resumen > .badge { order: 3; max-width: 100%; white-space: normal; }
  .entrega-flecha { order: 2; }
}
