

:root {
  --color-ok: #34d399;
  --color-ok-bg: rgba(52, 211, 153, 0.12);
  --color-ok-border: rgba(52, 211, 153, 0.25);
  --color-miss: #f87171;
  --color-miss-bg: rgba(248, 113, 113, 0.12);
  --color-miss-border: rgba(248, 113, 113, 0.25);
  --color-pend: #fbbf24;
  --color-pend-bg: rgba(251, 191, 36, 0.10);
  --color-pend-border: rgba(251, 191, 36, 0.25);
  --color-dmg: #a78bfa;
  --color-dmg-bg: rgba(167, 139, 250, 0.10);
  --color-dmg-border: rgba(167, 139, 250, 0.25);
  --touch-min: 48px;
  --touch-ideal: 56px;
}


body {
  background-color: #08090a;
  color: #f4f4f5;
  min-height: 100dvh;
  font-size: 15px;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior: none;
}


.primary-gradient { background: linear-gradient(135deg, #8a98ff 0%, #7c8bff 100%); }
.glass-panel { background: rgba(20, 21, 24, 0.72); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.08); }


::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #2a2b30; border-radius: 999px; }

* { scrollbar-width: thin; scrollbar-color: #2a2b30 transparent; }
html.light * { scrollbar-color: #d4d4d8 transparent; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none !important; }


.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }


.lp-skel {
  background: linear-gradient(90deg, #101113 25%, #18191c 50%, #101113 75%);
  background-size: 200% 100%;
  animation: skel 1.2s infinite;
  border-radius: 16px;
}
@keyframes skel {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}



.fade-in { animation: fadeIn 0.2s ease-out; }
#lp-content-slot[data-ya-pintada] > .fade-in, #lp-content-slot[data-ya-pintada] > .lp-vista > .fade-in { animation: none; }   
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}


.empty-state {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 64px 24px; text-align: center;
  background: rgba(255,255,255,0.02);
  border: 1.5px dashed rgba(255,255,255,0.06);
  border-radius: 20px;
  width: 100%;
}
.empty-state .material-symbols-outlined {
  font-size: 48px; opacity: 0.10; margin-bottom: 12px;
}
html.light .empty-state {
  background: rgba(0,0,0,0.02);
  border-color: rgba(0,0,0,0.06);
}




.pick-stepper {
  display: flex; align-items: center;
  border-radius: 12px; overflow: hidden;
  background: #101113;
  border: 2px solid rgba(255, 255, 255, 0.10);
  user-select: none;
}
.pick-stepper button {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border: none; background: transparent;
  color: #7c8bff; cursor: pointer;
  transition: background 0.12s, transform 0.1s;
}
.pick-stepper button:active {
  background: rgba(124, 139, 255, 0.18);
  transform: scale(0.90);
}
.pick-stepper button:disabled { opacity: 0.15; cursor: default; }
.pick-stepper .pick-count {
  min-width: 52px; text-align: center;
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 800; font-size: 18px;
  color: #f4f4f5; padding: 0 2px;
  line-height: 44px;
}
.pick-stepper .pick-count.partial { color: var(--color-pend); }
.pick-stepper .pick-count.complete { color: var(--color-ok); }


.pick-line { transition: background 0.15s ease, border-color 0.15s ease; border: 1px solid transparent; }
.pick-line[data-state="complete"] {
  border-color: var(--color-ok-border);
  background: var(--color-ok-bg) !important;
}
.pick-line[data-state="partial"] {
  border-color: var(--color-pend-border);
  background: var(--color-pend-bg) !important;
}
.pick-line[data-state="garantia"] {
  border-color: var(--color-dmg-border);
  background: var(--color-dmg-bg) !important;
}
.pick-line[data-state="abono"] {
  border-color: var(--color-pend-border);
  background: var(--color-pend-bg) !important;
}
.pick-line[data-state="pending"] {
  border-color: rgba(255,255,255,0.06);
}
html.light .pick-line[data-state="pending"] { border-color: rgba(0,0,0,0.07); }


.pick-action {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 7px 12px; border-radius: 10px;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.03em;
  border: 1px solid transparent; cursor: pointer;
  transition: all 0.12s; font-family: 'Archivo', system-ui, sans-serif;
  min-height: 40px;
}
.pick-action:active { transform: scale(0.94); }
.pick-action.ok {
  background: var(--color-ok-bg); color: var(--color-ok);
  border-color: var(--color-ok-border);
}

.pick-action.garantia {
  background: var(--color-dmg-bg); color: var(--color-dmg);
  border-color: var(--color-dmg-border);
}
.pick-action.abono {
  background: var(--color-pend-bg); color: var(--color-pend);
  border-color: var(--color-pend-border);
}
.pick-action.reset {
  background: rgba(255,255,255,0.05); color: #7a8a9a;
  border-color: rgba(255,255,255,0.08);
}


.alb-cliente > summary { list-style: none; }
.alb-cliente > summary::-webkit-details-marker { display: none; }
.alb-cliente[open] .alb-cliente-flecha { transform: rotate(180deg); }
.pick-stepper-sm button { width: 40px; height: 40px; }
.pick-stepper-sm .pick-count { min-width: 44px; line-height: 40px; }

#pick-lines { grid-template-columns: minmax(0, 1fr); }
.alb-precio-movil > * { white-space: nowrap; }
.pick-acc-movil { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 44px; gap: 6px; margin-top: 10px; }
.pick-acc-movil .pick-action { flex-direction: column; justify-content: center; gap: 1px; min-width: 0; padding: 6px 2px; font-size: 10px; letter-spacing: 0; white-space: nowrap; overflow: hidden; }
.pick-acc-movil .pick-action .material-symbols-outlined { font-size: 18px; }
.pick-acc-movil .pick-acc-nota { grid-column: 1 / span 1; display: flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; color: #059669; }
.pick-acc-movil .pick-acc-nota:only-child { grid-column: 1 / -1; }
.pick-action.incid { background: rgba(220,38,38,.08); color: #DC2626; border-color: rgba(220,38,38,.28); }
.pick-action.abono.on { background: var(--color-pend); color: #fff; }
.pick-action.garantia.on { background: #8b5cf6; color: #fff; border-color: transparent; }
.pick-action.incid.on { background: #DC2626; color: #fff; border-color: transparent; }
.pick-action.reset.on { color: var(--color-primary, #5e6ad2); }


.pick-note-input {
  background: #101113; border: 1.5px solid rgba(255,255,255,0.10);
  border-radius: 10px; padding: 12px 14px; color: #f4f4f5;
  font-size: 14px; font-family: 'Archivo', system-ui, sans-serif;
  width: 100%; resize: none; min-height: 40px; max-height: 120px;
}
.pick-note-input:focus { outline: none; border-color: rgba(124,139,255,0.4); }
.pick-note-input::placeholder { color: rgba(161,161,170,0.4); }


.pick-bottom-bar {
  position: sticky; bottom: 80px; z-index: 30;
  padding: 14px 16px;
  background: rgba(8, 9, 10, 0.95);
  backdrop-filter: blur(16px);
  border-top: 1.5px solid rgba(255,255,255,0.08);
  border-radius: 16px 16px 0 0;
  margin: 0 -20px;
  display: flex; gap: 10px; align-items: center;
}
@media (min-width: 768px) {
  .pick-bottom-bar {
    position: sticky; bottom: 16px;
    margin: 0 auto; padding: 14px 20px;
    border-radius: 16px;
    border: 1.5px solid rgba(255,255,255,0.08);
  }
}


.progress-ring-circle {
  transition: stroke-dashoffset 0.3s ease;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}


.card-press { transition: transform 0.15s, background 0.15s; }
.card-press:active { transform: scale(0.98); }


@keyframes pendingPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(251, 191, 36, 0); }
  50% { box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.15); }
}
.pending-pulse { animation: pendingPulse 2.5s infinite; }


@keyframes voicePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
  50% { box-shadow: 0 0 0 16px rgba(239, 68, 68, 0.15); }
}
.voice-recording {
  animation: voicePulse 1.2s infinite;
  background: #ef4444 !important;
}


.swipe-all-ok {
  min-height: var(--touch-ideal);
  border-radius: 16px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
}


.today-badge {
  animation: todayPulse 2s infinite;
}
@keyframes todayPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}



html.light body { background-color: #fafafa; color: #08090a; }
html.light .primary-gradient { background: linear-gradient(135deg, #6e79de 0%, #5e6ad2 100%); }
html.light .glass-panel { background: rgba(255,255,255,0.72); backdrop-filter: blur(12px); border-color: #e4e4e7; }
html.light ::-webkit-scrollbar-thumb { background: #d4d4d8; }
html.light .lp-skel { background: linear-gradient(90deg, #f4f4f5 25%, #e4e4e7 50%, #f4f4f5 75%); background-size: 200% 100%; }

html.light .bg-surface { background-color: #fafafa !important; }
html.light .bg-surface\/90,
html.light .bg-surface\/85,
html.light .bg-surface\/92,
html.light .bg-surface\/95 { background-color: rgba(250,250,250,0.95) !important; }
html.light .bg-surface-container-lowest { background-color: #ffffff !important; }
html.light .bg-surface-container-low { background-color: #ffffff !important; }
html.light .bg-surface-container { background-color: #ffffff !important; }
html.light .bg-surface-container-high { background-color: #f4f4f5 !important; }
html.light .bg-surface-container-highest { background-color: #e4e4e7 !important; }
html.light .bg-surface-dim { background-color: #f4f4f5 !important; }

html.light .hover\:bg-surface-container:hover { background-color: #f4f4f5 !important; }
html.light .hover\:bg-surface-container-low:hover { background-color: #f7f7f8 !important; }
html.light .hover\:bg-surface-container-high:hover { background-color: #ededf0 !important; }
html.light .hover\:bg-surface-container-highest:hover { background-color: #e4e4e7 !important; }
html.light .bg-primary { background-color: #5e6ad2 !important; }

html.light .text-on-surface { color: #08090a !important; }
html.light .text-on-surface-variant { color: #52525b !important; }
html.light .text-primary { color: #5e6ad2 !important; }
html.light .text-secondary { color: #059669 !important; }
html.light .text-error { color: #d14b4b !important; }
html.light .text-pending { color: #d97706 !important; }

html.light .border-outline-variant\/10,
html.light .border-outline-variant\/15,
html.light .border-outline-variant\/5 { border-color: #e4e4e7 !important; }

html.light .pick-stepper { background: #fff; border-color: #d4d4d8; }
html.light .pick-stepper button { color: #5e6ad2; }
html.light .pick-stepper button:active { background: rgba(94,106,210,0.1); }
html.light .pick-stepper .pick-count { color: #08090a; }
html.light .pick-stepper .pick-count.partial { color: #d97706; }
html.light .pick-stepper .pick-count.complete { color: #059669; }
html.light .pick-line { background: #fff !important; }
html.light .pick-note-input { background: #ffffff; border-color: #d4d4d8; color: #08090a; }
html.light .pick-note-input:focus { border-color: rgba(94,106,210,0.5); }
html.light .pick-bottom-bar { background: rgba(250,250,250,0.96); border-color: #e4e4e7; }
html.light .pick-action.reset { background: rgba(0,0,0,0.04); color: #52525b; border-color: #e4e4e7; }


.hp-toolbar {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px;
  
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  
  position: sticky; top: 48px; z-index: 30;
  background: #08090a;
  padding: 8px 0; margin-top: -8px;
}
.hp-toolbar > * { flex-shrink: 0; }

.hp-toolbar button { text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
html.light .hp-toolbar { background: #fafafa; }
@media (max-width: 767px) { .hp-toolbar { top: 48px; } }

@media (max-width: 900px) {
  .hp-toolbar .hp-btn span:not(.material-symbols-outlined) {
    display: none; 
  }
  .hp-toolbar .hp-btn-ghost span:not(.material-symbols-outlined) {
    display: inline; 
  }
}
.hp-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 8px; border: none;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: filter 0.15s, transform 0.1s;
  min-height: 40px;
}
.hp-btn:active { transform: scale(0.96); }
.hp-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.hp-btn-primary { background: #5e6ad2; color: #fff; }
.hp-btn-primary:hover:not(:disabled) { filter: brightness(1.08); }
.hp-btn-success { background: #059669; color: #fff; }
.pm-ok { background: #059669; color: #fff; }   
.hp-btn-success:hover:not(:disabled) { filter: brightness(1.08); }
.hp-btn-danger  { background: rgba(239,68,68,0.12); color: #EF4444; border: 1px solid rgba(239,68,68,0.25); }
.hp-btn-danger:hover:not(:disabled) { background: rgba(239,68,68,0.18); }


.hp-btn { position: relative; }
.hp-btn-dot {
  position: absolute; top: 5px; right: 6px;
  width: 8px; height: 8px; border-radius: 50%;
  background: #f2b705; border: 1.5px solid #08090a;
  pointer-events: none;
}
html.light .hp-btn-dot { border-color: #fafafa; }
@media (max-width: 900px) {
  .hp-toolbar .hp-btn span.hp-btn-dot { display: block; }
}


input[type="number"].lp-no-spin::-webkit-outer-spin-button,
input[type="number"].lp-no-spin::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"].lp-no-spin { -moz-appearance: textfield; appearance: textfield; }


#lp-toasts {
  position: fixed; left: 50%; bottom: 92px; transform: translateX(-50%);
  z-index: 100; display: flex; flex-direction: column; gap: 8px; align-items: center;
  pointer-events: none; width: max-content; max-width: 92vw;
}
@media (min-width: 768px) { #lp-toasts { bottom: 26px; } }
.lp-toast {
  pointer-events: auto; display: flex; align-items: center; gap: 10px;
  padding: 11px 16px; border-radius: 14px; max-width: 92vw;
  font-size: 13.5px; font-weight: 600; color: #f4f4f5;
  background: rgba(24,25,28,0.92); border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 12px 32px rgba(0,0,0,0.38); backdrop-filter: blur(12px);
  opacity: 0; transform: translateY(12px) scale(0.97);
  transition: opacity 0.24s ease, transform 0.26s cubic-bezier(0.22,1,0.36,1);
}
.lp-toast.in { opacity: 1; transform: translateY(0) scale(1); }
.lp-toast.out { opacity: 0; transform: translateY(-6px) scale(0.98); }
.lp-toast-ic { font-size: 20px; flex-shrink: 0; }
.lp-toast-msg { min-width: 0; }
html.light .lp-toast { background: rgba(255,255,255,0.96); color: #18181b; border-color: rgba(0,0,0,0.08); box-shadow: 0 12px 32px rgba(0,0,0,0.14); }
.hp-btn-ghost {
  display: inline-flex; align-items: center; gap: 6px; 
  background: transparent; color: rgba(255,255,255,0.7);
  padding: 8px 12px; font-size: 14px; min-height: 44px;
  border-radius: 8px; border: none; cursor: pointer;
}
html.light .hp-btn-ghost { color: rgba(0,0,0,0.6); }
.hp-btn-ghost:hover { background: rgba(255,255,255,0.05); }
html.light .hp-btn-ghost:hover { background: rgba(0,0,0,0.04); }


.hp-sheet {
  background: #fff;
  color: #202433;
  width: 210mm;         
  min-height: 297mm;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 2px 24px rgba(0,0,0,0.35), 0 1px 3px rgba(0,0,0,0.15);
  padding: 18mm 16mm;
  font-family: 'Archivo', system-ui, sans-serif;
  line-height: 1.55;
  font-size: 13px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .hp-sheet:where(:not(.hp-escala-in *)) {
    width: 100%;
    min-height: 0;
    padding: 18px 16px;
    border-radius: 6px;
    font-size: 12px;
  }
  .hp-header:where(:not(.hp-escala-in *)) { flex-direction: row; align-items: flex-start; gap: 12px; }
  .hp-header-left:where(:not(.hp-escala-in *)) { align-items: center; }
  .hp-logo:where(:not(.hp-escala-in *)) { width: 64px; height: 64px; }
  .hp-empresa-name:where(:not(.hp-escala-in *)) { font-size: 16px; }
  .hp-vehiculo:where(:not(.hp-escala-in *)) { text-align: right; }
  .hp-veh-plate:where(:not(.hp-escala-in *)) { font-size: 13px; }
  .hp-doc-band:where(:not(.hp-escala-in *)) { align-items: flex-start; gap: 16px; }
  .hp-doc-number:where(:not(.hp-escala-in *)) { font-size: 20px; }
  .hp-doc-dates:where(:not(.hp-escala-in *)) { gap: 16px; }
  .hp-client:where(:not(.hp-escala-in *)) { display: block; }
  .hp-table:where(:not(.hp-escala-in *)) { font-size: 11px; }
  .hp-th:where(:not(.hp-escala-in *)), .hp-td:where(:not(.hp-escala-in *)) { padding: 6px 4px; }
  .hp-th-code:where(:not(.hp-escala-in *)) { width: auto; }
  .hp-totals-box:where(:not(.hp-escala-in *)) { width: 100%; }
}

.hp-header {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
  margin-bottom: 32px;
}
.hp-header-left {
  display: flex; align-items: center; gap: 14px;
  min-width: 0;
}
.hp-logo {
  
  width: 92px; height: 92px;
  flex-shrink: 0;
  margin-top: 0;
}
.hp-empresa-name {
  font-size: 19px; font-weight: 700; color: #16192a;
  letter-spacing: -0.3px;
}
.hp-empresa-line { font-size: 11.5px; color: #7a7f93; margin-top: 2px; }
.hp-empresa-line:first-of-type { margin-top: 5px; }


.hp-vehiculo { text-align: right; flex-shrink: 0; }
.hp-veh-model { font-size: 11.5px; color: #7a7f93; letter-spacing: 0.2px; }
.hp-veh-plate {
  font-size: 26px; font-weight: 800; color: #16192a; margin-top: 2px;
  letter-spacing: 0.5px; font-variant-numeric: tabular-nums; line-height: 1.05;
}

.hp-veh-platewrap { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.hp-veh-plate--menu { cursor: pointer; }
.hp-mat-lapiz { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex-shrink: 0; border: 0; border-radius: 6px; background: rgba(37, 99, 235, 0.1); color: #2563eb; cursor: pointer; }
.hp-mat-lapiz:hover { background: rgba(37, 99, 235, 0.2); }

.hp-veh-plate--edit { color: #2563eb; }
.mat-edit-text { color: #2563eb !important; }
.mat-edit-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; padding: 0; margin-left: 2px;
  border: none; background: transparent; color: #2563eb; cursor: pointer;
  border-radius: 4px; vertical-align: middle;
}
.mat-edit-btn:hover { background: rgba(37, 99, 235, 0.12); }

.mat-editable { cursor: pointer; display: inline-flex; align-items: center; gap: 3px; border-radius: 4px; padding: 1px 3px; }
.mat-editable:hover { background: rgba(37, 99, 235, 0.10); }
.mat-editable-pencil { font-size: 13px; opacity: 0; color: #2563eb; transition: opacity 120ms ease; }
.mat-editable:hover .mat-editable-pencil { opacity: 1; }


.hp-doc-band {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;
  border-top: 1px solid #ECEDF2; border-bottom: 1px solid #ECEDF2;
  padding: 16px 0; margin-bottom: 16px;
}

.hp-doc-badges-row { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 24px; }
.hp-doc-title { min-width: 0; }
.hp-doc-type {
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px;
}
.hp-doc-number {
  font-size: 30px; font-weight: 700; color: #16192a; margin-top: 4px;
  letter-spacing: -0.5px; font-variant-numeric: tabular-nums;
}

.hp-doc-number.hp-doc-number-sm { font-size: 15px; font-weight: 700; margin-top: 6px; letter-spacing: 0; }
.hp-doc-badges { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.hp-doc-dates {
  display: flex; gap: 40px; flex-shrink: 0; text-align: right;
}
.hp-doc-dates .hp-meta-pair { align-items: flex-end; }
.hp-meta-pair { display: flex; flex-direction: column; gap: 3px; }
.hp-meta-val { font-size: 13px; font-weight: 500; color: #16192a; }
.hp-badge {
  display: inline-flex; align-items: center;
  padding: 4px 12px; border-radius: 999px;
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.8px;
  border: 1px solid;
}

.hp-divider {
  height: 1px; background: #E5E7EB; border: 0;
  margin: 0 0 24px 0;
}

.hp-label {
  font-size: 9.5px; text-transform: uppercase;
  letter-spacing: 1.4px; font-weight: 600; color: #9ba0b3;
  margin-bottom: 4px;
}

.hp-client {
  margin-bottom: 32px;
  
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
}
.hp-client-name { font-size: 15px; font-weight: 600; color: #16192a; }
.hp-client-line { font-size: 12.5px; color: #5d6274; margin-top: 2px; }
.hp-client-nif-inline {
  font-weight: 600;
  color: #111;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}


.hp-table-scroll { overflow-x: auto; margin-bottom: 28px; -webkit-overflow-scrolling: touch; }
.hp-table-scroll .hp-table { margin-bottom: 0; }
.hp-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 28px;
  font-size: 13px;
}
@media (max-width: 768px) {
  .hp-table { min-width: 430px; } 
  .hp-table-scroll { margin-bottom: 20px; }
}


.hp-table-fac { font-size: 11px; }

.hp-sheet-fac .hp-table-scroll { overflow-x: hidden; }
.hp-sheet-fac .hp-table { min-width: 0 !important; width: 100%; }
.hp-sheet-fac .hp-td, .hp-sheet-fac .hp-th { word-break: break-word; }

.hp-table-fac .hp-td, .hp-table-fac .hp-th { padding-top: 3px !important; padding-bottom: 3px !important; }

.hp-table-fac .hp-fac-hdrrow td { padding: 0 0 8px !important; background: transparent !important; border: 0 !important; }
.hp-table-fac .hp-fac-boxrow td { padding: 2px 0 8px !important; background: transparent !important; border: 0 !important; }
.hp-table-fac .hp-fac-box { margin: 0; }

.hp-sheet-fac .hp-header { margin-bottom: 10px !important; }
.hp-sheet-fac .hp-logo { width: 58px !important; height: 58px !important; }
.hp-sheet-fac .hp-empresa-line { line-height: 1.3 !important; }
.hp-sheet-fac .hp-doc-band { margin-top: 10px !important; margin-bottom: 8px !important; padding-bottom: 8px !important; }
.hp-sheet-fac .hp-client { margin-top: 8px !important; margin-bottom: 10px !important; }
.hp-sheet-fac .hp-client-line { line-height: 1.35 !important; }
.hp-table-fac .hp-alb-sep td {
  background: #eef1f5; padding: 5px 10px;
  border-top: 1px solid #d4d8de; border-bottom: 1px solid #d4d8de;
}

.hp-alb-sep-grid {
  display: grid; grid-template-columns: 22% 26% 26% 26%;
  gap: 4px; width: 100%; font-size: 10px; color: #1e293b;
}
.hp-alb-sep-grid > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hp-alb-sep-lbl { font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.02em; }

.alb-eliminado { opacity: 0.45; filter: grayscale(0.7); }
.alb-eliminado:hover { opacity: 0.7; }


#lp-search-banner {
  position: fixed; top: 58px; left: 50%; transform: translate(-50%, -8px);
  z-index: 70; display: flex; align-items: center; gap: 9px;
  background: rgba(22, 23, 27, 0.96); backdrop-filter: blur(10px);
  color: #f4f4f5; border: 1px solid rgba(124,139,255,0.28);
  border-radius: 999px; padding: 9px 18px; font-size: 13px; font-weight: 600;
  box-shadow: 0 8px 28px rgba(0,0,0,0.42);
  opacity: 0; transition: opacity .25s ease, transform .25s ease; pointer-events: none;
  max-width: calc(100vw - 24px); width: max-content;   
}
#lp-search-banner.in { opacity: 1; transform: translate(-50%, 0); }

#lp-search-banner.done {
  font-size: 16px; padding: 13px 26px; gap: 11px;
  border-color: rgba(16,185,129,0.45);
  box-shadow: 0 10px 34px rgba(0,0,0,0.46), 0 0 0 4px rgba(16,185,129,0.10);
}
html.light #lp-search-banner { background: rgba(255,255,255,0.98); color: #18181b; box-shadow: 0 8px 28px rgba(0,0,0,0.15); }


#lp-presence-banner {
  position: fixed; top: 58px; left: 50%; transform: translate(-50%, -8px);
  z-index: 69; display: flex; align-items: center; gap: 9px;
  background: rgba(22, 23, 27, 0.96); backdrop-filter: blur(10px);
  color: #f4f4f5; border: 1px solid rgba(217, 119, 6, 0.4);
  border-radius: 999px; padding: 9px 18px; font-size: 13px; font-weight: 600;
  box-shadow: 0 8px 28px rgba(0,0,0,0.42);
  opacity: 0; transition: opacity .25s ease, transform .25s ease; pointer-events: none;
  max-width: calc(100vw - 24px); width: max-content;
}
#lp-presence-banner.in { opacity: 1; transform: translate(-50%, 0); }
html.light #lp-presence-banner { background: rgba(255,255,255,0.98); color: #18181b; box-shadow: 0 8px 28px rgba(0,0,0,0.15); }
.lp-sb-spin { width: 15px; height: 15px; flex-shrink: 0; border-radius: 50%; border: 2px solid rgba(124,139,255,0.3); border-top-color: #7c8bff; animation: lp-sb-rot .7s linear infinite; }
@keyframes lp-sb-rot { to { transform: rotate(360deg); } }


#lp-sync-state {
  position: fixed; bottom: 16px; right: 16px;
  z-index: 68; display: flex; align-items: center; gap: 8px;
  background: rgba(22, 23, 27, 0.96); backdrop-filter: blur(10px);
  color: #f4f4f5; border: 1px solid rgba(124,139,255,0.28);
  border-radius: 999px; padding: 8px 15px; font-size: 12.5px; font-weight: 600;
  box-shadow: 0 8px 28px rgba(0,0,0,0.42);
  opacity: 0; transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease; pointer-events: none;
  max-width: calc(100vw - 24px);
}
#lp-sync-state.in { opacity: 1; transform: translateY(0); }
html.light #lp-sync-state { background: rgba(255,255,255,0.98); color: #18181b; box-shadow: 0 8px 28px rgba(0,0,0,0.15); }


#lp-tour { position: fixed; inset: 0; z-index: 96; pointer-events: none; }
#lp-tour .lp-tour-hole {
  position: fixed; left: 0; top: 0; width: 0; height: 0; border-radius: 12px;
  box-shadow: 0 0 0 9999px rgba(6, 8, 14, 0.66);
  outline: 2px solid #7c8bff; outline-offset: 3px;
  transition: left .28s cubic-bezier(.4,0,.2,1), top .28s cubic-bezier(.4,0,.2,1),
              width .28s cubic-bezier(.4,0,.2,1), height .28s cubic-bezier(.4,0,.2,1), opacity .2s;
  pointer-events: none;
}
#lp-tour .lp-tour-pop {
  position: fixed; pointer-events: auto; width: 320px; max-width: calc(100vw - 24px);
  background: rgba(22, 23, 27, 0.96); backdrop-filter: blur(12px);
  color: #f4f4f5; border: 1px solid rgba(124,139,255,0.28);
  border-radius: 18px; padding: 18px 18px 14px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.45); animation: lp-tour-in .22s ease;
}
html.light #lp-tour .lp-tour-pop { background: rgba(255,255,255,0.98); color: #18181b; box-shadow: 0 16px 48px rgba(0,0,0,0.18); }
#lp-tour .lp-tour-pop.center { left: 50% !important; top: 50% !important; transform: translate(-50%,-50%); width: 340px; }
@keyframes lp-tour-in { from { opacity: 0; transform: translateY(6px); } }
#lp-tour .lp-tour-ic { width: 42px; height: 42px; border-radius: 12px; background: rgba(124,139,255,0.16); color: #7c8bff; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
#lp-tour .lp-tour-ic .material-symbols-outlined { font-size: 24px; }
#lp-tour .lp-tour-body h3 { font-weight: 800; font-size: 18px; margin: 0 0 6px; }
#lp-tour .lp-tour-body p { font-size: 13.5px; line-height: 1.5; margin: 0; opacity: .82; }
#lp-tour .lp-tour-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; gap: 10px; }
#lp-tour .lp-tour-dots { display: flex; gap: 5px; }
#lp-tour .lp-tour-dot { width: 6px; height: 6px; border-radius: 999px; background: rgba(124,139,255,0.25); transition: all .2s; }
#lp-tour .lp-tour-dot.on { width: 18px; background: #7c8bff; }
#lp-tour .lp-tour-btns { display: flex; gap: 8px; }
#lp-tour .lp-tour-b { border: 0; border-radius: 10px; padding: 8px 14px; font-size: 12px; font-weight: 700; cursor: pointer; }
#lp-tour .lp-tour-b.ghost { background: transparent; color: inherit; opacity: .6; }
#lp-tour .lp-tour-b.ghost:hover { opacity: 1; }
#lp-tour .lp-tour-b.primary { background: linear-gradient(135deg, #8a98ff, #7c8bff); color: #fff; }


.hp-alb-link { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #7c8bff; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.hp-alb-link:hover { color: #5b6ae0; }
@media print { .hp-alb-link { color: inherit; text-decoration: none; font-weight: inherit; } }

.hp-fac-box { display: flex; border: 1px solid #d4d4d8; border-radius: 6px; overflow: hidden; margin: 4px 0 16px; }
.hp-fac-cell { flex: 1; padding: 6px 10px; border-right: 1px solid #e4e4e7; display: flex; flex-direction: column; gap: 1px; }
.hp-fac-cell:last-child { border-right: 0; }
.hp-fac-lbl { font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #71717a; }
.hp-fac-val { font-size: 12px; font-weight: 700; color: #18181b; }

.hp-fac-page { position: relative; page-break-after: always; break-after: page; }
.hp-fac-page:last-child { page-break-after: auto; break-after: auto; }
.hp-fac-page + .hp-fac-page { margin-top: 22px; }
.hp-hoja { position: absolute; top: 12px; right: 14px; font-size: 10px; font-weight: 700; color: #94a3b8; }
.hp-table thead tr { background: #F7F8FA; }
.hp-table tbody tr { border-bottom: 1px solid #F1F2F6; }
.hp-table tbody tr:last-child { border-bottom: 0; }
.hp-th {
  text-align: left; padding: 8px 6px;
  font-size: 9.5px; text-transform: uppercase;
  letter-spacing: 1px; font-weight: 600; color: #9ba0b3;
}
.hp-th:first-child { padding-left: 12px; border-radius: 6px 0 0 6px; }
.hp-th:last-child  { padding-right: 12px; border-radius: 0 6px 6px 0; }
.hp-th-num { text-align: right; }
.hp-th-code { width: 13%; }

.hp-td {
  padding: 10px 6px;
  color: #202433;
}
.hp-td:first-child { padding-left: 12px; }
.hp-td:last-child  { padding-right: 12px; }
.hp-td-code {
  font-family: ui-monospace, 'Cascadia Code', Menlo, Consolas, monospace;
  font-size: 11.5px; color: #7a7f93;
}
.hp-td-num { text-align: right; font-variant-numeric: tabular-nums; color: #5d6274; }
.hp-td-dto { color: #9ba0b3; }
.hp-td-importe { font-weight: 600; color: #16192a; }

.hp-no-lineas {
  color: #888; font-size: 13px; text-align: center; padding: 24px 0;
}


.hp-totals {
  display: flex; justify-content: flex-end;
  margin-bottom: 28px;
}
.hp-totals-box {
  width: 290px;
  background: #F7F8FA;
  border-radius: 10px;
  padding: 14px 16px;
}
.hp-total-row {
  display: flex; justify-content: space-between;
  padding: 4px 0; font-size: 13px; color: #5d6274;
}
.hp-total-row .hp-num { font-variant-numeric: tabular-nums; color: #202433; }
.hp-total-final {
  padding: 10px 0 2px; margin-top: 8px;
  border-top: 1.5px solid;
  font-size: 19px; font-weight: 700;
}
.hp-total-final span:first-child {
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 1.6px; align-self: center; color: #9ba0b3;
}
.hp-total-final .hp-num { font-size: 21px; font-weight: 700; color: inherit !important; }

.hp-section {
  border-top: 1px solid #E5E7EB;
  padding-top: 16px;
  margin-bottom: 16px;
}
.hp-venc-row {
  display: flex; justify-content: space-between;
  padding: 4px 0; font-size: 13px;
}
.hp-venc-row span:first-child { color: #555; }
.hp-venc-row span:last-child  { color: #111; font-weight: 600; font-variant-numeric: tabular-nums; }
.hp-cuenta { font-size: 12px; color: #888; margin-top: 8px; }
.hp-cuenta .hp-num { font-variant-numeric: tabular-nums; }
.hp-obs {
  font-size: 13px; color: #555;
  font-style: italic;
  white-space: pre-wrap;
}
.hp-ref { margin-top: 12px; font-size: 12px; color: #888; }


.hp-actions {
  max-width: 800px;
  margin: 20px auto 0;
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .hp-actions { grid-template-columns: 1fr 1fr 1.2fr; }
}



.hp-cards-mobile { grid-template-columns: minmax(0, 1fr); }

.eq-acciones > span:first-child { white-space: nowrap; margin-right: 4px; }
@media (max-width: 640px) {
  .eq-fila { flex-wrap: wrap; row-gap: 6px; }
  .eq-acciones { flex-basis: 100%; flex-wrap: wrap; }
}

.alb-ojo { flex-shrink: 0; display: inline-flex; align-items: center; gap: 3px; min-height: 28px; padding: 2px 8px; border-radius: 999px; border: 1px solid rgba(127,127,127,.3);
  background: transparent; color: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.alb-ojo .material-symbols-outlined { font-size: 16px; }
.alb-ojo[aria-expanded="true"] { background: rgba(124,139,255,.14); border-color: rgba(124,139,255,.5); }
.alb-lineas-mini { list-style: none; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px dashed rgba(127,127,127,.3); display: grid; gap: 6px; cursor: default; }
.alb-lineas-mini li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; font-size: 12.5px; line-height: 1.3; }
.alb-lineas-mini b { font-variant-numeric: tabular-nums; }
.alb-lineas-mini span { overflow-wrap: anywhere; }
.alb-lineas-mini code { grid-column: 2; font-size: 11px; opacity: .6; }

.hp-list {
  display: none;
  background: var(--tw-bg-surface-container-low, rgba(16,24,38,0.6));
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 16px;
  
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.hp-list-header, .hp-list-row { min-width: 900px; }
html.light .hp-list {
  background: #ffffff;
  border-color: rgba(0,0,0,0.06);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.hp-list-header, .hp-list-row {
  display: grid;
  align-items: center;
  gap: 12px;
  padding: 10px 18px;
}
.hp-list-header {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-on-surface-variant, #a0b0c0);
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
html.light .hp-list-header {
  background: rgba(0,0,0,0.02);
  border-bottom-color: rgba(0,0,0,0.06);
  color: #5a6a80;
}
.hp-list-row {
  cursor: pointer;
  font-size: 14px;
  transition: background 0.12s;
  border-top: 1px solid rgba(255,255,255,0.04);
  color: #f5f6fa;
}
html.light .hp-list-row { color: #1a2540; border-top-color: rgba(0,0,0,0.05); }
.hp-list-row:first-of-type { border-top: 0; }
.hp-list-row:hover { background: rgba(255,255,255,0.035); }
html.light .hp-list-row:hover { background: rgba(0,0,0,0.025); }
.hp-list-row:active { background: rgba(255,255,255,0.06); }
.hp-list-cell-num  { font-variant-numeric: tabular-nums; }
.hp-list-cell-mono { font-family: ui-monospace, 'Cascadia Code', Menlo, Consolas, monospace; }
.hp-list-cell-right { text-align: right; }
.hp-list-cell-strong { font-weight: 700; }
.hp-list-cell-muted { color: var(--color-text-on-surface-variant, #8896a6); }

.hp-list-row-con-resumen { row-gap: 4px; }
.hp-list-resumen {
  grid-column: 1 / -1;
  min-width: 0;
  font-size: 12px;
  color: var(--color-text-on-surface-variant, #8896a6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 30px; 
}
.hp-list-resumen-mas { margin-left: 6px; font-weight: 700; opacity: 0.65; }

@media (min-width: 768px) {
  .hp-list { display: block; }
  .hp-cards-mobile { display: none !important; }
}


.hp-pill {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}


@media print {
  
  @page { size: A4; margin: 0; }
  
  @page facturaPage { size: A4; margin: 0; }
  .hp-sheet-fac { page: facturaPage; padding: 12mm !important; }
  .hp-sheet { padding: 14mm !important; box-shadow: none !important; }
  html, body { background: #fff !important; color: #111 !important; }

  
  body * { visibility: hidden !important; }

  
  body.hp-overlay-open #app { display: none !important; }

  
  .hp-sheet, .hp-sheet * { visibility: visible !important; }
  
  .hp-sheet, .hp-sheet * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  
  .hp-overlay {
    position: static !important;
    background: none !important;
    backdrop-filter: none !important;
    display: block !important;
  }
  .hp-overlay-bar { display: none !important; }
  .pp-side { display: none !important; }
  .pp-row { display: block !important; }
  .hp-overlay-scroll { padding: 0 !important; overflow: visible !important; }

  
  .hp-sheet {
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: none !important;
    min-height: 0 !important; 
    width: 100% !important;
    margin: 0 !important;
    padding: 12mm !important;
    position: static !important;
    box-sizing: border-box !important;
  }

  
  .hp-fac-page {
    padding: 12mm 13mm !important;
    box-sizing: border-box !important;
    position: relative !important;
    margin: 0 !important;
    page-break-after: always !important;
    break-after: page !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    
    height: 296mm !important;
    overflow: hidden !important;
  }
  .hp-fac-page:last-child { page-break-after: auto !important; break-after: auto !important; }
  .hp-fac-page + .hp-fac-page { margin-top: 0 !important; }

  
  .hp-table { page-break-inside: auto; }
  .hp-table thead { display: table-header-group !important; }
  .hp-table tfoot { display: table-footer-group !important; }
  .hp-table tr { page-break-inside: avoid; page-break-after: auto; }

  
  .hp-totals, .hp-section { page-break-inside: avoid; }

  
  .hp-toolbar, .hp-actions { display: none !important; }

  
  html.hp-print-nobadges .hp-doc-badges-row,
  html.hp-print-nobadges .hpe-inc-flag,
  html.hp-print-nobadges .hpe-mark-line { display: none !important; }

  
  .dash, .dash * { visibility: visible !important; }
  #lp-content-slot { margin: 0 !important; padding: 8mm !important; }
  .dash { color: #111 !important; }
  .dash-noprint { display: none !important; }
  
  .dash-w, .dash-card { break-inside: avoid !important; page-break-inside: avoid !important; }
  .dash-card {
    background: #fff !important; border: 1px solid #e5e7eb !important;
    box-shadow: none !important;
  }
  .dash-card * { color: inherit; }
}



.hp-escala { margin: 0 auto; }
.hp-escala-in { width: 794px; transform-origin: top left; }
.hp-escala-in .hp-sheet { width: 794px; max-width: none; margin: 0; }
.hp-escala-in .hp-sheet + .hp-sheet { margin-top: 24px; }   
@media print { .hp-escala, .hp-escala-in { width: auto !important; height: auto !important; transform: none !important; } }

body.hp-overlay-open .fs-ficha-ov { z-index: 9100 !important; }
.hp-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(6px);
  display: flex; flex-direction: column;
  animation: fadeIn 0.2s ease-out;
}
.hp-overlay-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 4px;
  padding: 12px 16px;
  flex-shrink: 0;
}

.hp-overlay .hp-btn-ghost,
html.light .hp-overlay .hp-btn-ghost { color: rgba(255,255,255,0.88); }
.hp-overlay .hp-btn-ghost:hover,
html.light .hp-overlay .hp-btn-ghost:hover { background: rgba(255,255,255,0.10); }
.pp-icon-btn {
  min-width: 44px; justify-content: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12) !important;
}
.pp-icon-btn .material-symbols-outlined { font-size: 19px; }
#pp-counter {
  font-size: 12px; font-weight: 700; min-width: 64px; text-align: center;
  color: rgba(255,255,255,0.85); font-variant-numeric: tabular-nums;
}
.hp-overlay-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 16px 16px 40px;
  display: flex;
  justify-content: center;
  
  align-items: flex-start;
}
.hp-overlay-scroll .hp-sheet { margin-top: 0; flex-shrink: 0; }


.pp-row { flex: 1; display: flex; min-height: 0; }
.pp-side {
  width: 250px; flex-shrink: 0;
  overflow-y: auto;
  padding: 8px;
  display: flex; flex-direction: column; gap: 2px;
  background: rgba(0,0,0,0.35);
  border-right: 1px solid rgba(255,255,255,0.08);
}
@media (max-width: 900px) { .pp-side { display: none; } }
.pp-side-search {
  
  position: sticky; top: -8px; z-index: 2;
  display: flex; align-items: center; gap: 7px;
  margin: -8px -2px 6px;
  padding: 12px 10px;
  background: #12141c;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.pp-side-search .material-symbols-outlined { font-size: 16px; color: rgba(255,255,255,0.5); }
.pp-side-search input {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none;
  color: rgba(255,255,255,0.9); font-size: 12.5px; font-family: inherit;
}
.pp-side-search input::placeholder { color: rgba(255,255,255,0.35); }

.pp-side-item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "title amount" "sub amount";
  gap: 0 10px;
  text-align: left;
  padding: 9px 12px;
  border-radius: 10px;
  border: none; background: transparent; cursor: pointer;
  color: rgba(255,255,255,0.82);
  transition: background 0.12s;
}
.pp-side-item:hover { background: rgba(255,255,255,0.07); }
.pp-side-item.is-active {
  background: rgba(124,139,255,0.18);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(124,139,255,0.35);
}
.pp-side-title { grid-area: title; font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pp-side-sub { grid-area: sub; font-size: 10.5px; opacity: 0.6; margin-top: 1px; }
.pp-side-amount { grid-area: amount; align-self: center; font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; opacity: 0.9; }




a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid rgba(124, 139, 255, 0.55);
  outline-offset: 2px;
  border-radius: 8px;
}
html.light a:focus-visible, html.light button:focus-visible,
html.light input:focus-visible, html.light select:focus-visible,
html.light textarea:focus-visible, html.light [tabindex]:focus-visible {
  outline-color: rgba(94, 106, 210, 0.55);
}


.hp-list-row .material-symbols-outlined:last-child {
  transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1), color 0.18s;
}
.hp-list-row:hover .material-symbols-outlined:last-child {
  transform: translateX(3px);
  color: #5e6ad2;
}

.hp-list-row .lp-nota-si { transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1); }
.hp-list-row:hover .lp-nota-si { transform: translateX(3px); }
.hp-list-row:hover .lp-nota-si .material-symbols-outlined { transform: none; color: inherit; }


#cat-grid, #cat-grid-todo { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (min-width: 640px)  { #cat-grid, #cat-grid-todo { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }   




.cat-novedad { position: relative; outline: 2px solid #7c3aed; outline-offset: -2px; }
.cat-outlet { position: relative; outline: 2px solid #dc2626; outline-offset: -2px; }
.cat-outlet-cinta { position: absolute; top: 0; left: 0; right: 0; z-index: 6; display: flex; color: #fff; font-family: var(--font-headline, inherit);
  font-weight: 800; font-size: 11px; line-height: 20px; letter-spacing: 0.14em; text-align: center; pointer-events: none; }
.cat-outlet-cinta > span { flex: 1; background: #dc2626; }
.cat-outlet-cinta > span.nov { background: #7c3aed; }
:is(.cat-outlet, .cat-novedad) .aspect-square > .top-2 { top: 28px; }

.cat-chips-caja { position: relative; }
.cat-chips-caja .cat-chips { scrollbar-width: none; }   
.cat-chips-caja .cat-chips::-webkit-scrollbar { display: none; }
.cat-chips-caja.hay-der .cat-chips { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 64px), transparent); }
.cat-chips-caja.hay-izq .cat-chips { -webkit-mask-image: linear-gradient(90deg, transparent, #000 64px); mask-image: linear-gradient(90deg, transparent, #000 64px); }
.cat-chips-caja.hay-izq.hay-der .cat-chips { -webkit-mask-image: linear-gradient(90deg, transparent, #000 64px, #000 calc(100% - 64px), transparent); mask-image: linear-gradient(90deg, transparent, #000 64px, #000 calc(100% - 64px), transparent); }
.cat-chips-fl { position: absolute; top: 50%; z-index: 3; width: 36px; height: 36px; margin-top: -18px; border-radius: 999px; display: none; align-items: center; justify-content: center;
  background: var(--surface-container-lowest, #fff); color: inherit; border: 1px solid rgba(0,0,0,.12); box-shadow: 0 4px 14px rgba(0,0,0,.18); transition: transform .12s ease; }
.cat-chips-fl:active { transform: scale(.9); }
.cat-chips-fl.izq { left: -6px; }
.cat-chips-fl.der { right: -6px; }
.cat-chips-caja.hay-izq .cat-chips-fl.izq, .cat-chips-caja.hay-der .cat-chips-fl.der { display: flex; }


.cat-banner { position: relative; overflow: hidden; border-radius: 18px; margin-bottom: 16px; aspect-ratio: 10 / 1; min-height: 72px; background: #001B3A; isolation: isolate; }

.cat-bn-slide { position: absolute; inset: 0; z-index: 0; clip-path: polygon(100% 0, 140% 0, 140% 100%, 104% 100%); transition: clip-path 1s cubic-bezier(.77,0,.18,1); }
.cat-bn-slide.prep { transition: none !important; }
.cat-bn-slide.sale { z-index: 1; clip-path: polygon(-4% 0, 140% 0, 140% 100%, 0% 100%); transition: none; }
.cat-bn-slide.on { z-index: 2; clip-path: polygon(-4% 0, 140% 0, 140% 100%, 0% 100%); }
.cat-bn-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; transform-origin: 80% 50%; }

.cat-bn-slide.on img, .cat-bn-slide.sale img { animation: catBnZoom 7s cubic-bezier(.2,.6,.3,1) both; }
.cat-bn-slide.sale img { filter: brightness(.55) saturate(.8); transition: filter 1s ease; }
@keyframes catBnZoom { from { transform: scale(1.14) translateX(1.5%); } to { transform: scale(1); } }

.cat-bn-barrido { position: absolute; z-index: 3; top: 0; bottom: 0; left: 102%; width: 14px; pointer-events: none; opacity: 0;
  transform: translateX(-50%) skewX(21.8deg); background: linear-gradient(90deg, rgba(245,197,66,0) 0, #F5C542 35%, #fff6d6 70%, rgba(255,255,255,0) 100%);
  box-shadow: 0 0 24px 6px rgba(245,197,66,.55); }
.cat-bn-barrido.va { animation: catBnBarrido 1s cubic-bezier(.77,0,.18,1) forwards, catBnBarridoLuz 1s linear forwards; }
@keyframes catBnBarrido { from { left: 102%; } to { left: -2%; } }
@keyframes catBnBarridoLuz { 0%, 80% { opacity: 1; } 100% { opacity: 0; } }
.cat-bn-txt { position: absolute; inset: 0 auto 0 0; width: min(48%, 540px); display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 0 3%;
  color: #fff; background: linear-gradient(90deg, rgba(0,27,58,.86), rgba(0,27,58,.4) 72%, transparent); }
.cat-bn-txt > * { opacity: 0; transform: translateX(-18px); }
.cat-bn-slide.on .cat-bn-txt > * { animation: catBnTxt .7s cubic-bezier(.2,.8,.2,1) forwards; }
.cat-bn-slide.on .cat-bn-txt > :nth-child(1) { animation-delay: .45s; }
.cat-bn-slide.on .cat-bn-txt > :nth-child(2) { animation-delay: .58s; }
.cat-bn-slide.on .cat-bn-txt > :nth-child(3) { animation-delay: .72s; }
@keyframes catBnTxt { to { opacity: 1; transform: none; } }
.cat-bn-txt strong { font-family: var(--font-headline, inherit); font-weight: 800; font-size: clamp(13px, 1.5vw, 19px); line-height: 1.1; }
.cat-bn-txt span { font-size: clamp(10.5px, .9vw, 12.5px); opacity: .85; }
.cat-bn-txt button { align-self: flex-start; margin-top: 2px; padding: 3px 11px; border-radius: 8px; background: #F5C542; color: #10131a; font-size: 10.5px; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(245,197,66,.35); transition: transform .15s ease; }
.cat-bn-txt button:hover { transform: translateY(-1px); }
.cat-bn-barras { position: absolute; z-index: 3; right: 2%; bottom: 7px; display: flex; gap: 6px; }
.cat-bn-barras button { width: 34px; height: 4px; padding: 0; border-radius: 99px; overflow: hidden; background: rgba(255,255,255,.3); }
.cat-bn-barras i { display: block; width: 0; height: 100%; background: #F5C542; }
.cat-bn-barras button.hecho i { width: 100%; }
.cat-bn-barras button.on i { animation: catBnBarra 3s linear forwards; }
@keyframes catBnBarra { to { width: 100%; } }
.cat-banner.pausa .cat-bn-barras button.on i, .cat-banner.pausa .cat-bn-slide.on img { animation-play-state: paused; }
@media (max-width: 640px) { .cat-bn-txt { width: 72%; } .cat-bn-txt span { display: none; } }
@media (prefers-reduced-motion: reduce) { .cat-bn-barrido { display: none; } .cat-bn-slide, .cat-bn-slide img, .cat-bn-txt > * { transition: none !important; animation: none !important; opacity: 1; transform: none; } }

.cat-todo { margin-top: 18px; }

.cat-todo-btn { width: 100%; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; text-align: left;
  border: 1px solid #2a2b30; background: #101113; color: inherit; transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s; }
.cat-todo-btn:hover { border-color: #7c8bff; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.35); }
.cat-todo-btn .cat-todo-ico { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 24px;
  background: rgba(124,139,255,0.14); color: #7c8bff; }
.cat-todo-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cat-todo-txt b { font-family: var(--font-headline, inherit); font-size: 15px; font-weight: 800; }
.cat-todo-txt small { font-size: 12px; font-weight: 600; opacity: 0.65; }
.cat-todo-cta { flex: none; display: inline-flex; align-items: center; gap: 2px; padding: 8px 10px 8px 14px; border-radius: 10px;
  background: #7c8bff; color: #0d1030; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.cat-todo-cta .material-symbols-outlined { font-size: 20px; }
html.light .cat-todo-btn { background: #fff; border-color: #e4e4e7; }
html.light .cat-todo-btn:hover { border-color: #e0ad1f; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
html.light .cat-todo-ico { background: #fdf3d3; color: #b7860b; }
html.light .cat-todo-cta { background: #f5c542; color: #16181d; border: 2px solid #16181d; box-shadow: 3px 3px 0 #16181d; }
html.light .cat-todo-btn:hover .cat-todo-cta { transform: translate(1px, 1px); box-shadow: 2px 2px 0 #16181d; }
@media (max-width: 640px) { .cat-todo-btn .cat-todo-ico, .cat-todo-txt small { display: none; } .cat-todo-cta { padding: 8px 8px 8px 12px; } }
.cat-todo-cab { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 13px; }
.cat-todo-cab b { font-family: var(--font-headline, inherit); font-size: 15px; }
.cat-todo-cab button { margin-left: auto; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 4px 8px; border-radius: 8px; }


.dash-w { position: relative; }
.dash-full { grid-column: 1 / -1; }

.dash-w { height: 100%; }
.dash-cuadro { min-height: 320px; height: 100%; display: flex; flex-direction: column; }

.dash-w { touch-action: pan-y; -webkit-touch-callout: none; transition: scale 0.26s cubic-bezier(.3,1.4,.5,1), box-shadow 0.26s ease; }
.dash-w a, .dash-w img { -webkit-user-drag: none; }
@media (min-width: 768px) { .dash-w { cursor: grab; } }
.dash-w:focus-visible { outline: 2px solid rgba(124,139,255,0.8); outline-offset: 2px; border-radius: 18px; }
.dash-w.dash-pressing { scale: 0.985; }
.dash-w.dash-lift { z-index: 30; cursor: grabbing; scale: 1.035; border-radius: 18px; user-select: none;
  box-shadow: 0 28px 60px -16px rgba(0,0,0,0.45), 0 10px 24px -8px rgba(0,0,0,0.3); }
.dash-w.dash-aterrizando { z-index: 10; outline: 2px solid rgba(124,139,255,0.55); outline-offset: -2px; border-radius: 18px; }
body.dash-arrastrando, body.dash-arrastrando * { cursor: grabbing !important; user-select: none !important; }

.dash-slot { position: absolute; pointer-events: none; border-radius: 18px; outline: 2px dashed rgba(124,139,255,0.6); outline-offset: -2px;
  background: rgba(124,139,255,0.07); transition: left 0.3s cubic-bezier(.2,.9,.3,1), top 0.3s cubic-bezier(.2,.9,.3,1), width 0.3s, height 0.3s; }
@media (prefers-reduced-motion: reduce) { .dash-w, .dash-slot { transition: none; } }


.lp-sel { position: relative; display: inline-block; }
.lp-sel-btn {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 6px 8px 6px 11px; border-radius: 9px;
  font-family: inherit; font-size: 12px; font-weight: 700;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
  color: inherit; cursor: pointer; white-space: nowrap;
}
.lp-sel.is-active .lp-sel-btn { color: #7c8bff; border-color: rgba(124,139,255,0.55); background: rgba(124,139,255,0.12); }
.lp-sel-chev { font-size: 16px; opacity: 0.6; }
.lp-sel-menu {
  position: fixed; z-index: 9999;
  min-width: 150px; max-height: 300px; overflow-y: auto;
  padding: 6px; border-radius: 12px;
  background: #17181c; border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 12px 30px rgba(0,0,0,0.45);
}
.lp-sel-opt {
  display: block; width: 100%; text-align: left;
  padding: 8px 10px; border-radius: 8px;
  font-family: inherit; font-size: 13px; font-weight: 600;
  color: inherit; background: transparent; cursor: pointer; white-space: nowrap;
}
.lp-sel-opt:hover { background: rgba(124,139,255,0.14); }
.lp-sel-opt.is-sel { color: #7c8bff; background: rgba(124,139,255,0.10); }
html.light .lp-sel-btn { background: #fff; border-color: #e4e4e7; color: #3f3f46; }
html.light .lp-sel-menu { background: #fff; border-color: #e4e4e7; box-shadow: 0 12px 30px rgba(0,0,0,0.12); }


:is(#cat-grid, #cat-grid-todo) > div {
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.2s;
  border: 1px solid transparent;
}
html.light :is(#cat-grid, #cat-grid-todo) > div { border-color: rgba(0,0,0,0.06); }

:is(#cat-grid, #cat-grid-todo) .aspect-square {
  aspect-ratio: 1 / 1; width: 100%; height: auto;
  overflow: hidden; flex-shrink: 0;
}
:is(#cat-grid, #cat-grid-todo) .aspect-square img {
  width: 100%; height: 100%; object-fit: contain; object-position: center;
  padding: 8px;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

:is(#cat-grid, #cat-grid-todo) [data-nombre] {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.4em;
}
:is(#cat-grid, #cat-grid-todo) > div { height: 100%; }
@media (hover: hover) {
  :is(#cat-grid, #cat-grid-todo) > div:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  }
  :is(#cat-grid, #cat-grid-todo) > div:hover .aspect-square img { transform: scale(1.04); }
}


@keyframes ppEnter {
  from { opacity: 0; transform: translateY(10px) scale(0.995); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.pp-enter { animation: ppEnter 0.22s cubic-bezier(0.22, 1, 0.36, 1); }
#pp-counter { font-variant-numeric: tabular-nums; }


html.light .hp-sheet {
  box-shadow: 0 1px 2px rgba(20, 22, 40, 0.06), 0 12px 32px rgba(20, 22, 40, 0.10);
  border: 1px solid rgba(0,0,0,0.05);
}


.empty-state .material-symbols-outlined { opacity: 0.22; color: #5e6ad2; }


@keyframes lpDot {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.3; }
  40% { transform: scale(1); opacity: 1; }
}
.lp-prepare-dots { display: flex; gap: 7px; justify-content: center; }
.lp-prepare-dots span {
  width: 9px; height: 9px; border-radius: 999px;
  background: #5e6ad2;
  animation: lpDot 1.3s infinite cubic-bezier(0.22, 1, 0.36, 1);
}
.lp-prepare-dots span:nth-child(2) { animation-delay: 0.16s; }
.lp-prepare-dots span:nth-child(3) { animation-delay: 0.32s; }


#lp-sidebar { transition: width 0.22s cubic-bezier(0.22, 1, 0.36, 1); }
#lp-desktop-top, #lp-content-slot { transition: left 0.22s cubic-bezier(0.22, 1, 0.36, 1), margin-left 0.22s cubic-bezier(0.22, 1, 0.36, 1); }
@media (min-width: 768px) {
  html.lp-nav-min #lp-sidebar { width: 68px !important; padding-left: 10px; padding-right: 10px; }
  html.lp-nav-min #lp-desktop-top { left: 68px !important; }
  html.lp-nav-min #lp-content-slot { margin-left: 68px !important; }
  
  html.lp-nav-min #lp-desktop-nav a > span:not(.material-symbols-outlined),
  html.lp-nav-min #lp-desktop-nav button > span:not(.material-symbols-outlined),
  html.lp-nav-min #lp-desktop-nav div > span:not(.material-symbols-outlined),
  html.lp-nav-min #lp-nav-collapse > span:not(.material-symbols-outlined) { display: none; }
  html.lp-nav-min #lp-desktop-nav a,
  html.lp-nav-min #lp-desktop-nav button,
  html.lp-nav-min #lp-desktop-nav div,
  html.lp-nav-min #lp-nav-collapse { justify-content: center; padding-left: 0; padding-right: 0; }
  
  html.lp-nav-min #lp-desktop-nav a > span.lp-nav-badge {
    display: flex !important;
    position: absolute; top: 4px; right: 13px;
    min-width: 16px; height: 16px; margin: 0; padding: 0 4px;
    align-items: center; justify-content: center;
    border-radius: 999px; line-height: 1;
    background: #ef4444; color: #fff; font-size: 9px; font-weight: 800;
    box-shadow: 0 0 0 2px #08090a;
  }
  html.light.lp-nav-min #lp-desktop-nav a > span.lp-nav-badge { box-shadow: 0 0 0 2px #fafafa; }
  
  html.lp-nav-min #lp-sidebar .mb-4 > .flex { flex-direction: column; gap: 10px; }
  html.lp-nav-min #lp-sidebar [id^="lp-empresa-toggle"],
  html.lp-nav-min #lp-sidebar .lp-marca-txt,
  html.lp-nav-min #lp-sidebar .lp-emp-tabs { display: none; }
  html.lp-nav-min #lp-sidebar .bg-surface-container.rounded-xl { display: none; }
}



#lp-sim-lite {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 96;
  display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px); width: max-content;
  padding: 9px 10px 9px 14px; border-radius: 999px; font-size: 12.5px;
  background: #DC2626; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
#lp-sim-lite .material-symbols-outlined { font-size: 18px; }
#lp-sim-lite button { padding: 5px 12px; border-radius: 999px; font-weight: 800; background: #fff; color: #DC2626; }
@media (max-width: 767px) { #lp-sim-lite { bottom: 84px; } }


#lp-desktop-top .lp-search[hidden], #lp-help-btn[hidden], #lp-buscar-m[hidden] { display: none !important; }

.lp-search {
  position: relative;
  display: flex; align-items: center; gap: 10px;
  flex: 1; min-width: 0; max-width: 980px; margin: 0 auto;
  align-self: stretch;
  padding: 0 2px;
  border-bottom: 2px solid transparent;
  transition: border-color 0.15s;
}
.lp-search:focus-within { border-bottom-color: rgba(124,139,255,0.75); }
.lp-search .material-symbols-outlined {
  font-size: 17px; color: #71717a; flex-shrink: 0;
}
.lp-search input {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none !important;
  font-size: 13px; color: inherit;
  padding: 0;
}
.lp-search input::placeholder { color: rgba(161,161,170,0.8); }
html.light .lp-search input { color: #08090a; }
.lp-search > kbd {
  flex-shrink: 0;
  font-family: inherit; font-size: 10.5px; font-weight: 600;
  color: #71717a;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 5px;
  padding: 1px 6px;
  line-height: 1.5;
}
html.light .lp-search > kbd { background: #f4f4f5; border-color: #e4e4e7; color: #71717a; }
.lp-search:focus-within > kbd { display: none; }

#lp-op-slash { cursor: pointer; transition: color .15s, background .15s, border-color .15s; }
#lp-op-slash:hover { color: #7c8bff; border-color: rgba(124,139,255,0.55); background: rgba(124,139,255,0.14); }
.lp-search:focus-within #lp-op-slash:not([hidden]) { display: inline-block; }
.lp-op-menu {
  position: fixed; z-index: 200; min-width: 244px;
  background: #16181d; border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px; padding: 6px; box-shadow: 0 16px 40px rgba(0,0,0,0.45);
}
html.light .lp-op-menu { background: #fff; border-color: #e4e4e7; box-shadow: 0 16px 40px rgba(0,0,0,0.14); }
.lp-op-menu-title { font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #8896a6; padding: 4px 8px 6px; }
.lp-op-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 8px; border-radius: 8px; cursor: pointer; color: inherit; background: transparent; border: none; }
.lp-op-menu-item:hover { background: rgba(124,139,255,0.12); }
.lp-op-menu-item .material-symbols-outlined { font-size: 20px; color: #7c8bff; flex-shrink: 0; }
.lp-op-menu-txt { display: flex; flex-direction: column; min-width: 0; }
.lp-op-menu-lbl { font-size: 12.5px; font-weight: 700; }
.lp-op-menu-hint { font-size: 10.5px; color: #8896a6; }


#lp-content-slot { overflow-x: clip; max-width: 100vw; }
:is(#cat-grid, #cat-grid-todo) > div { min-width: 0; }


@media (max-width: 480px) {
  .pick-stepper button { width: 38px; height: 40px; }
  .pick-stepper .pick-count { min-width: 42px; font-size: 15px; line-height: 40px; }
  .pick-action { flex: 1 1 45%; justify-content: center; min-width: 0; }
  .pick-line .p-3\.5 { padding: 12px; }
}


@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


.lp-scroll-thin::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.lp-scroll-thin::-webkit-scrollbar-track {
  background: transparent;
}
.lp-scroll-thin::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.05);
  border-radius: 2px;
  transition: background 0.2s;
}
.lp-scroll-thin:hover::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.15);
}

.lp-scroll-thin {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.1) transparent;
}


html[data-empresa="LAMT"] {
  --emp-text: #fb923c;          
  --emp-solid: #ea580c;         
  --emp-rgb: 251, 146, 60;      
}
html.light[data-empresa="LAMT"] {
  --emp-text: #ea580c;
  --emp-solid: #ea580c;
  --emp-rgb: 234, 88, 12;
}

html[data-empresa="LAMT"] .text-primary { color: var(--emp-text) !important; }
html[data-empresa="LAMT"] .text-primary\/80 { color: rgba(var(--emp-rgb), 0.8) !important; }
html[data-empresa="LAMT"] .text-primary\/50 { color: rgba(var(--emp-rgb), 0.5) !important; }
html[data-empresa="LAMT"] .bg-primary { background-color: var(--emp-solid) !important; }
html[data-empresa="LAMT"] .bg-primary\/8 { background-color: rgba(var(--emp-rgb), 0.08) !important; }
html[data-empresa="LAMT"] .bg-primary\/10 { background-color: rgba(var(--emp-rgb), 0.1) !important; }
html[data-empresa="LAMT"] .bg-primary\/15 { background-color: rgba(var(--emp-rgb), 0.15) !important; }
html[data-empresa="LAMT"] .bg-primary\/20 { background-color: rgba(var(--emp-rgb), 0.2) !important; }
html[data-empresa="LAMT"] .border-primary\/15 { border-color: rgba(var(--emp-rgb), 0.15) !important; }
html[data-empresa="LAMT"] .border-primary\/20 { border-color: rgba(var(--emp-rgb), 0.2) !important; }
html[data-empresa="LAMT"] .border-primary\/25 { border-color: rgba(var(--emp-rgb), 0.25) !important; }
html[data-empresa="LAMT"] .border-primary\/30 { border-color: rgba(var(--emp-rgb), 0.3) !important; }
html[data-empresa="LAMT"] .border-primary\/40 { border-color: rgba(var(--emp-rgb), 0.4) !important; }
html[data-empresa="LAMT"] .border-primary\/50 { border-color: rgba(var(--emp-rgb), 0.5) !important; }
html[data-empresa="LAMT"] .ring-primary\/20 { --tw-ring-color: rgba(var(--emp-rgb), 0.2) !important; }
html[data-empresa="LAMT"] .ring-primary\/30 { --tw-ring-color: rgba(var(--emp-rgb), 0.3) !important; }
html[data-empresa="LAMT"] .ring-primary\/40 { --tw-ring-color: rgba(var(--emp-rgb), 0.4) !important; }
html[data-empresa="LAMT"] .ring-primary\/50 { --tw-ring-color: rgba(var(--emp-rgb), 0.5) !important; }
html[data-empresa="LAMT"] .shadow-primary\/20 { --tw-shadow-color: rgba(var(--emp-rgb), 0.2) !important; }
html[data-empresa="LAMT"] .shadow-primary\/25 { --tw-shadow-color: rgba(var(--emp-rgb), 0.25) !important; }

html[data-empresa="LAMT"] .primary-gradient {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
}
html[data-empresa="LAMT"] .hp-btn-primary { background: var(--emp-solid); }
html[data-empresa="LAMT"] .pick-stepper button { color: var(--emp-text); }
html[data-empresa="LAMT"] .pick-stepper button:active { background: rgba(var(--emp-rgb), 0.1); }
html[data-empresa="LAMT"] .pick-note-input:focus { border-color: rgba(var(--emp-rgb), 0.5); }


html[data-empresa="LAMR"] #lp-sidebar,
html[data-empresa="LAMR"] header.md\:hidden,
html[data-empresa="LAMR"] nav.md\:hidden { background-color: #10182e !important; }
html.light[data-empresa="LAMR"] #lp-sidebar,
html.light[data-empresa="LAMR"] header.md\:hidden,
html.light[data-empresa="LAMR"] nav.md\:hidden { background-color: #e6edfb !important; }

html[data-empresa="LAMT"] #lp-sidebar,
html[data-empresa="LAMT"] header.md\:hidden,
html[data-empresa="LAMT"] nav.md\:hidden { background-color: #24140a !important; }
html.light[data-empresa="LAMT"] #lp-sidebar,
html.light[data-empresa="LAMT"] header.md\:hidden,
html.light[data-empresa="LAMT"] nav.md\:hidden { background-color: #ffe9d8 !important; }


html.light[data-empresa] #lp-sidebar { border-right-color: rgba(0,0,0,0.06); }
html.light[data-empresa] #lp-desktop-nav a:hover,
html.light[data-empresa] #lp-desktop-nav button:hover { background-color: rgba(255,255,255,0.65); }
html.light[data-empresa="LAMR"] #lp-desktop-nav .bg-primary\/10 { background-color: rgba(94,106,210,0.16) !important; }
html.light[data-empresa="LAMT"] #lp-desktop-nav .bg-primary\/10 { background-color: rgba(234,88,12,0.16) !important; }


select.lp-year-select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  font-family: inherit; 
}
select.lp-year-select::-ms-expand { display: none; }


.dw-side { display: none; }
@media (min-width: 1024px) {
  .dw-wrap {
    display: grid;
    
    grid-template-columns: 296px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-left: -14px; 
  }
  
  .dw-side {
    display: flex; flex-direction: column;
    position: sticky; top: 60px;
    
    height: calc(100vh - 76px);
    
    background: transparent;
    border: none;
    border-right: 1px solid rgba(255,255,255,0.08);
    border-radius: 0;
    overflow: hidden;
    
    padding-right: 18px;
  }
}
html.light .dw-side { border-right-color: #e4e4e7; }
.dw-side-filters {
  
  display: flex; flex-wrap: wrap; align-items: center;
  column-gap: 6px; row-gap: 7px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.dw-side-filters .lp-sel-btn { font-size: 11px; padding: 0 7px 0 9px; height: 26px; }
html.light .dw-side-filters { border-bottom-color: #eeeef0; }
.dw-side-filters select {
  appearance: none; -webkit-appearance: none;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px; padding: 4px 5px;
  font-size: 10px; font-weight: 700; color: inherit;
  font-family: inherit; 
  cursor: pointer;
  flex: 1 1 0; min-width: 0;
  text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
}
html.light .dw-side-filters select { background: #fff; border-color: #e4e4e7; color: #3f3f46; }

.dw-side-filters select.dwf-active,
select.dwf-active {
  font-weight: 800;
  color: #7c8bff !important;
  border-color: rgba(124,139,255,0.55) !important;
  background: rgba(124,139,255,0.12) !important;
}
.dw-side-filters .dwf-chip {
  padding: 5px 9px; border-radius: 8px; cursor: pointer; flex-shrink: 0;
  line-height: 1; height: 26px; display: inline-flex; align-items: center;
  font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em;
  color: #059669; background: transparent; border: 1px solid rgba(5,150,105,0.35);
}
.dw-side-filters .dwf-chip.on { background: #059669; color: #fff; border-color: transparent; }

.dw-side-filters .dwf-chip-icon { padding: 4px 6px; }
.dw-side-filters .dwf-chip-icon .material-symbols-outlined { font-size: 17px; display: block; line-height: 1; }
.dw-item-icon { font-size: 15px; flex-shrink: 0; }
.dw-item-nota {
  display: flex; align-items: center; gap: 4px;
  font-size: 10px; color: #8b93b8; font-style: italic;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dw-item-nota .material-symbols-outlined { font-size: 11px; flex-shrink: 0; }
.dw-side-empty { padding: 16px 12px; font-size: 11px; color: #a1a1aa; }
.dw-side-search {
  display: flex; align-items: center; gap: 7px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: #a1a1aa;
  flex-shrink: 0;
}
.dw-side-search input {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none;
  font-size: 12px; color: inherit;
}
.dw-side-search input::placeholder { color: rgba(161,161,170,0.5); }
html.light .dw-side-search { border-bottom-color: #eeeef0; color: #52525b; }

#dw-filter-clear {
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; width: 22px; height: 22px;
  border: none; border-radius: 6px; cursor: pointer;
  background: transparent; color: inherit; opacity: 0.6; padding: 0;
}
#dw-filter-clear:hover { opacity: 1; background: rgba(255,255,255,0.08); }
html.light #dw-filter-clear:hover { background: rgba(0,0,0,0.06); }

#dw-filter-clear[hidden] { display: none; }
.dw-side-head {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.dw-side-label {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.1em; color: #a1a1aa;
}

.dw-side-nav {
  display: flex; align-items: center; gap: 2px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 2px;
}
.dw-side-nav button {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 6px;
  color: #d4d4d8; background: transparent; border: none; cursor: pointer;
}
.dw-side-nav button:hover:not(:disabled) { background: rgba(124,139,255,0.18); color: #fff; }
.dw-side-nav button:disabled { opacity: 0.3; cursor: default; }
.dw-side-count { font-size: 11px; font-weight: 800; color: #e4e4e7; font-variant-numeric: tabular-nums; padding: 0 4px; }
html.light .dw-side-nav { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
html.light .dw-side-nav button { color: #52525b; }
html.light .dw-side-nav button:hover:not(:disabled) { background: rgba(124,139,255,0.14); color: #18181b; }
html.light .dw-side-count { color: #27272a; }
.dw-side-list { overflow-y: auto; }
.dw-item {
  display: flex; flex-direction: column; gap: 1px;
  width: 100%; text-align: left; cursor: pointer;
  padding: 8px 12px;
  border: none; background: transparent;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.dw-item:hover { background: rgba(255,255,255,0.05); }
.dw-item.active { background: rgba(124,139,255,0.14); }
.dw-item-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-width: 0; }
.dw-item-title {
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 12px; font-weight: 700; color: #f4f4f5;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dw-item.active .dw-item-title { color: #7c8bff; }
.dw-item-amount { font-size: 11px; font-weight: 700; color: #f4f4f5; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.dw-item-sub { font-size: 10.5px; color: #a1a1aa; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

html.light .dw-side { background: #ffffff; border-color: #e4e4e7; }
html.light .dw-side-head { border-bottom-color: #eeeef0; }
html.light .dw-item { border-bottom-color: #f1f1f3; }
html.light .dw-item:hover { background: #f7f7f8; }
html.light .dw-item.active { background: rgba(94,106,210,0.10); }
html.light .dw-item-title { color: #18181b; }
html.light .dw-item.active .dw-item-title { color: #5e6ad2; }
html.light .dw-item-amount { color: #18181b; }
html[data-empresa="LAMT"] .dw-item.active { background: rgba(var(--emp-rgb), 0.14); }
html[data-empresa="LAMT"] .dw-item.active .dw-item-title { color: var(--emp-text); }


.hpe-row td { transition: background 0.15s ease; }
.hpe-row[data-state="complete"] td { background: rgba(5,150,105,0.07); }
.hpe-row[data-state="partial"] td { background: rgba(217,119,6,0.07); }
.hpe-row[data-state="garantia"] td { background: rgba(139,92,246,0.08); }
.hpe-row[data-state="abono"] td { background: rgba(217,119,6,0.10); }
.hpe-row[data-state="falta"] td { background: rgba(220,38,38,0.09); }
.hpe-stepper {
  display: inline-flex; align-items: center; gap: 2px;
  border: 1px solid #d4d4d8; border-radius: 8px; background: #fff;
  vertical-align: middle;
}
.hpe-stepper button {
  display: flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border: none; background: transparent;
  color: #5e6ad2; cursor: pointer; border-radius: 7px;
}
.hpe-stepper button:hover:not(:disabled) { background: rgba(94,106,210,0.1); }
.hpe-stepper button:disabled { opacity: 0.2; cursor: default; }
.hpe-count { display: inline-flex; align-items: baseline; font-size: 11.5px; font-weight: 800; color: #111; font-variant-numeric: tabular-nums; }
.hpe-count .hpe-of { color: #9ca3af; font-weight: 600; }

.hpe-count input {
  width: 26px; border: none; outline: none; background: transparent;
  font: inherit; color: inherit; text-align: right; padding: 0;
  -moz-appearance: textfield; appearance: textfield;
}
.hpe-count input::-webkit-outer-spin-button,
.hpe-count input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hpe-count input:focus { color: #5e6ad2; }

.hp-td-num, .hp-th-num { white-space: nowrap; }

.hpe-th-recibida, .hpe-td-recibida { text-align: center !important; }
.hpe-actions { display: inline-flex; gap: 3px; }
.hpe-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 7px; cursor: pointer;
  border: 1px solid transparent; background: transparent; color: #9ca3af;
}
.hpe-btn:hover { background: rgba(0,0,0,0.05); color: #374151; }
.hpe-btn.g { color: #8b5cf6; }
.hpe-btn.g:hover, .hpe-btn.g.on { background: rgba(139,92,246,0.12); border-color: rgba(139,92,246,0.3); }
.hpe-btn.a { color: #D97706; }
.hpe-btn.a:hover, .hpe-btn.a.on { background: rgba(217,119,6,0.12); border-color: rgba(217,119,6,0.3); }
.hpe-btn.i:hover, .hpe-btn.i.on { background: rgba(220,38,38,0.12); border-color: rgba(220,38,38,0.3); }

.hpe-inc-flag { background: none; border: 0; padding: 0 2px; margin-left: 5px; cursor: pointer; color: #DC2626; display: inline-flex; align-items: center; vertical-align: middle; line-height: 1; }
.hpe-inc-flag .material-symbols-outlined { font-size: 15px; display: block; }

.hpe-inc-flag.ok { color: #059669; opacity: 0.5; }
.hpe-btn.n.on { color: #5e6ad2; }
.hpe-nota-line { font-size: 10.5px; color: #6b7280; font-style: italic; margin-top: 2px; }


.hp-nota-linea { display: none; }
html.hp-print-connotas .hp-nota-linea { display: block; }
.hpe-pill {
  display: inline-block; font-size: 8.5px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.05em; padding: 1px 6px; border-radius: 999px; margin-left: 6px;
  vertical-align: middle;
}

@media print {
  .hp-noprint, .dw-side { display: none !important; }
}

.lp-panel-der { animation: lp-panel-in .22s cubic-bezier(0.32, 0.72, 0, 1); box-shadow: -12px 0 32px rgba(0,0,0,0.18); }
@keyframes lp-panel-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .lp-panel-der { animation: none; } }

#cat-foto-drop.lp-drop-on { border-color: var(--primary, #7c8bff); background: rgba(124,139,255,0.08); }


.hp-list-row.lp-row-hecho { background: rgba(5, 150, 105, 0.09); box-shadow: inset 3px 0 0 #059669; }
.hp-list-row.lp-row-hecho:hover { background: rgba(5, 150, 105, 0.15); }
html.light .hp-list-row.lp-row-hecho { background: rgba(5, 150, 105, 0.08); }
html.light .hp-list-row.lp-row-hecho:hover { background: rgba(5, 150, 105, 0.14); }


.lp-nota-si {
  display: inline-flex; align-items: center; gap: 5px; max-width: 100%;
  padding: 3px 9px 3px 7px; border-radius: 999px;
  background: rgba(94, 106, 210, 0.16);
  border: 1px solid rgba(94, 106, 210, 0.45);
  color: #7c8bff; font-weight: 700; font-size: 11.5px; line-height: 1.2;
}
html.light .lp-nota-si { color: #4450b8; background: rgba(94, 106, 210, 0.12); }
.lp-nota-si .material-symbols-outlined { font-size: 15px; font-variation-settings: 'FILL' 1; flex-shrink: 0; }
.lp-nota-si span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.lp-nota-no { display: inline-flex; align-items: center; opacity: 0.3; }


.lp-nota-si.lp-nota-solo-ico,
.lp-nota-no {
  width: 26px; height: 26px; padding: 0;
  justify-content: center; flex-shrink: 0;
  box-sizing: border-box;
}



#lp-nota-flotante {
  position: fixed; left: 18px; bottom: 18px; z-index: 65;
  width: min(340px, calc(100vw - 36px));
  max-height: 40vh; overflow-y: auto;
  display: flex; align-items: center; gap: 10px;
  background: #e8f0fe; color: #17335c;
  border: 1px solid #b6cff5; border-radius: 14px;
  box-shadow: 0 12px 34px rgba(11,16,36,0.22);
  
  padding: 7px 10px 7px 12px;
  animation: lp-nf-entra .22s cubic-bezier(0.32,0.72,0,1) both;
}
@keyframes lp-nf-entra { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform:none; } }
.lp-nf-ico { font-size: 16px; font-variation-settings: 'FILL' 1; color: #2a5db0; flex-shrink: 0; }
.lp-nf-x {
  width: 20px; height: 20px; border: none; background: transparent; cursor: pointer;
  border-radius: 6px; color: #2a5db0; opacity: 0.7;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.lp-nf-x:hover { opacity: 1; background: rgba(42,93,176,0.12); }
.lp-nf-x .material-symbols-outlined { font-size: 15px; }
.lp-nf-txt {
  margin: 0; flex: 1; min-width: 0;
  font-size: 12.5px; line-height: 1.35; white-space: pre-wrap; overflow-wrap: anywhere;
}
.lp-nf-editar {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px;
  border: 1px solid #b6cff5; background: #fff; color: #2a5db0; cursor: pointer;
  border-radius: 999px; padding: 2px 10px 2px 7px; font-size: 11px; font-weight: 700;
  line-height: 1.5;
}
.lp-nf-editar:hover { background: #f2f7ff; }
.lp-nf-editar .material-symbols-outlined { font-size: 14px; }
@media print { #lp-nota-flotante { display: none !important; } }


.hp-btn.hp-btn-nota {
  background: #f5c542 !important; color: #16181d !important;
  box-shadow: 0 2px 0 #b98900, 0 6px 14px rgba(245,197,66,0.35);
  font-weight: 800;
  
  min-height: 40px; padding: 8px 16px; font-size: 13px;
}
.hp-btn.hp-btn-nota:hover { filter: brightness(1.05); }
.hp-btn.hp-btn-nota .hp-btn-dot { background: #16181d; border-color: #f5c542; }


.lp-nota-linea {
  display: flex; align-items: center; gap: 6px; width: 100%;
  text-align: left; border: none; background: none; cursor: pointer;
  color: #7c8bff; font-weight: 600;
}
html.light .lp-nota-linea { color: #4450b8; }
.lp-nota-linea .material-symbols-outlined { font-size: 14px; font-variation-settings: 'FILL' 1; flex-shrink: 0; }
.lp-nota-linea span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


.lp-perm-grid {
  display: grid; gap: 8px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.lp-permcard { min-width: 0; }


.lp-permt-wrap {
  overflow-x: auto; border: 1px solid var(--outline-variant, rgba(128,128,128,0.18));
  border-radius: 14px;
}
.lp-permt { width: 100%; border-collapse: collapse; font-size: 13px; }
.lp-permt thead th {
  position: sticky; top: 0; z-index: 2;
  background: var(--surface-container-lowest, #16181d);
  border-bottom: 1px solid var(--outline-variant, rgba(128,128,128,0.18));
  font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--on-surface-variant, #9aa0a6); padding: 10px 8px; white-space: nowrap;
}
html.light .lp-permt thead th { background: #fff; }
.lp-permt-grupo td {
  background: rgba(128,128,128,0.10);
  font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 7px 12px;
}
.lp-permt-nombre {
  text-align: left; font-weight: 500; padding: 9px 12px; min-width: 210px;
}
tbody .lp-permt-nombre { display: flex; align-items: center; gap: 10px; }
.lp-permt-ico {
  width: 30px; height: 30px; border-radius: 9px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.lp-permt-ico .material-symbols-outlined { font-size: 17px; }
.lp-permt-lbl { display: block; font-size: 13.5px; font-weight: 700; line-height: 1.2; }
.lp-permt-sub {
  display: block; font-size: 10.5px; line-height: 1.25; margin-top: 1px;
  color: var(--on-surface-variant, #9aa0a6);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 24ch;
}
.lp-permt-fila { border-top: 1px solid rgba(128,128,128,0.12); }
.lp-permt-fila:hover { background: rgba(128,128,128,0.06); }
.lp-permt-celda { text-align: center; padding: 9px 8px; white-space: nowrap; }
.lp-permt-na { color: var(--on-surface-variant, #9aa0a6); opacity: 0.35; }


.lp-permt-caja { display: inline-flex; cursor: pointer; }
.lp-permt-caja input { position: absolute; opacity: 0; width: 0; height: 0; }
.lp-permt-marca {
  width: 22px; height: 22px; border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(128,128,128,0.16); position: relative;
  transition: background .14s;
}
.lp-permt-marca::after {
  content: '✕'; font-size: 12px; line-height: 1; font-weight: 700;
  color: var(--on-surface-variant, #9aa0a6); opacity: 0.55;
}
.lp-permt-caja input:checked + .lp-permt-marca { background: #5e6ad2; }
.lp-permt-caja input:checked + .lp-permt-marca::after { content: '✓'; color: #fff; opacity: 1; }
.lp-permt-caja input:disabled + .lp-permt-marca { opacity: 0.45; cursor: not-allowed; }
.lp-permt-caja input:focus-visible + .lp-permt-marca { outline: 2px solid #5e6ad2; outline-offset: 2px; }
@media (max-width: 640px) {
  .lp-permt-sub { display: none; }
  .lp-permt-nombre { min-width: 0; padding: 8px 6px; }
  
  .lp-permt-ico { display: none; }
  .lp-permt-lbl { font-size: 12.5px; }
  .lp-permt thead th { font-size: 9px; letter-spacing: .02em; padding: 8px 3px; }
  .lp-permt-celda { padding: 8px 3px; }
}

.lp-chk {
  width: 16px; height: 16px; flex-shrink: 0; cursor: pointer;
  accent-color: #5e6ad2;
}
.lp-chk:disabled { cursor: not-allowed; opacity: 0.45; }
.lp-permcard:has(.mb-sec:checked) { border-color: rgba(94,106,210,0.45); }
.lp-permcard:has(.mb-sec:disabled) { opacity: 0.75; }


.hp-sheet tbody tr.lp-hit > td { background: rgba(245, 197, 66, 0.28); }
.hp-sheet tbody tr.lp-hit-actual > td {
  background: rgba(245, 197, 66, 0.55);
  box-shadow: inset 0 -2px 0 #b98900, inset 0 2px 0 #b98900;
}
#lp-findbar {
  position: fixed; right: 18px; bottom: 18px; z-index: 60;
  display: flex; align-items: center; gap: 6px;
  padding: 6px 8px; border-radius: 999px;
  background: #16181d; color: #fff;
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
  font-size: 12px; font-weight: 600;
  max-width: calc(100vw - 36px);
}
html.light #lp-findbar { background: #fff; color: #16181d; border-color: rgba(0,0,0,0.12); }

#lp-findbar[hidden] { display: none; }
.lp-findbar-ic { font-size: 16px; opacity: 0.6; flex-shrink: 0; }
.lp-findbar-txt { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-findbar-count { opacity: 0.6; font-variant-numeric: tabular-nums; flex-shrink: 0; }
#lp-findbar button {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; flex-shrink: 0;
  border: none; border-radius: 50%; cursor: pointer;
  background: transparent; color: inherit; opacity: 0.75; padding: 0;
}
#lp-findbar button:hover { opacity: 1; background: rgba(255,255,255,0.12); }
html.light #lp-findbar button:hover { background: rgba(0,0,0,0.07); }
#lp-findbar button .material-symbols-outlined { font-size: 18px; }
@media print { #lp-findbar { display: none !important; }
  .hp-sheet tbody tr.lp-hit > td,
  .hp-sheet tbody tr.lp-hit-actual > td { background: transparent !important; box-shadow: none !important; } }


.hp-print-holder { position: absolute; left: -10000px; top: 0; width: 210mm; }
@media print {
  html.hp-printing #app { display: none !important; }
  .hp-print-holder { position: static !important; left: 0 !important; width: auto !important; }
  .hp-print-holder, .hp-print-holder * { visibility: visible !important; }
}
@media print {
  .hpe-stepper { border: none; }
  .hpe-pill { border: 1px solid currentColor; }
}


.lp-acordeon summary {
  cursor: pointer; list-style: none; user-select: none;
  display: flex; align-items: center; gap: 7px;
  font-family: var(--font-headline, inherit); font-weight: 700;
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--color-text-on-surface-variant, #8896a6);
  padding: 6px 0;
}
.lp-acordeon summary::-webkit-details-marker { display: none; }
.lp-acordeon summary::before {
  content: 'chevron_right'; font-family: 'Material Symbols Outlined';
  font-size: 17px; transition: transform 0.15s;
}
.lp-acordeon[open] summary::before { transform: rotate(90deg); }

.dw-editing .hpe-inc-flag { display: none; }


.lp-switch { position: relative; width: 42px; height: 24px; flex-shrink: 0; display: inline-block; }

.lp-switch input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; z-index: 2; }
.lp-switch .track { position: absolute; inset: 0; border-radius: 999px; background: #3a3b40; transition: background 0.15s; }
.lp-switch .knob { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform 0.16s cubic-bezier(0.34,1.4,0.6,1); box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
.lp-switch input:checked + .track { background: #5e6ad2; }
.lp-switch input:checked ~ .knob { transform: translateX(18px); }
.lp-switch input:disabled { cursor: default; }
html.light .lp-switch .track { background: #d4d4d8; }

html.light .lp-switch input:checked + .track { background: #5e6ad2; }

.lp-perm { transition: background 0.15s; }
.lp-perm:has(input:checked) { background: rgba(94,106,210,0.06); }
.lp-perm:has(input:disabled) { opacity: 0.6; }




.lp-lite-pie { margin: 6px 12px 2px; padding: 6px 10px; border-radius: 10px; text-align: center; font-size: 11px; font-weight: 800; letter-spacing: .12em;
  color: #DC2626; background: rgba(220, 38, 38, .08); border: 1px solid rgba(220, 38, 38, .25); }
.lp-lite-pie[hidden] { display: none; }
.lp-instalar {
  position: fixed; right: 20px; bottom: 20px; z-index: 60;
  max-width: 400px;
  display: grid; grid-template-columns: 42px 1fr; gap: 14px 14px;
  align-items: start;
  padding: 18px 20px; border-radius: 18px;
  background: #001B3A;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 44px rgba(0,27,58,0.42);
  color: #fff;
  opacity: 0; transform: translateY(12px);
  transition: opacity .22s ease, transform .22s ease;
}
.lp-instalar-logo {
  width: 42px; height: 42px; border-radius: 11px;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  padding: 7px;
}
.lp-instalar-logo img { width: 100%; height: 100%; object-fit: contain; }
.lp-instalar.visible { opacity: 1; transform: translateY(0); }
.lp-instalar-txt { display: flex; flex-direction: column; gap: 4px; }
.lp-instalar-txt strong { font-size: 15px; font-weight: 800; letter-spacing: -0.01em; }
.lp-instalar-txt span { font-size: 13px; line-height: 1.45; color: rgba(255,255,255,0.72); }
.lp-instalar-btns { grid-column: 2; display: flex; gap: 8px; justify-content: flex-end; }
.lp-instalar-btns button {
  padding: 9px 16px; border-radius: 11px; font-size: 13px; font-weight: 700;
  border: 1px solid rgba(255,255,255,0.22); background: transparent; cursor: pointer;
  color: rgba(255,255,255,0.85); transition: background .15s ease, border-color .15s ease;
}
.lp-instalar-btns button:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.35); }

.lp-instalar-btns .lp-instalar-si {
  background: #F5C542; border-color: #F5C542; color: #10131a;
}
.lp-instalar-btns .lp-instalar-si:hover { background: #F7D06B; border-color: #F7D06B; }
@media (max-width: 520px) {
  .lp-instalar { left: 14px; right: 14px; bottom: 14px; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-instalar { transition: none; }
}


#lp-cortina {
  position: fixed; inset: 0; z-index: 9998;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(120% 120% at 50% 32%, #ffffff 0%, #f2f3f8 58%, #eaecf3 100%);
  opacity: 0; transition: opacity .28s ease;
}
html:not(.light) #lp-cortina {
  background: radial-gradient(120% 120% at 50% 32%, #10131a 0%, #08090a 55%, #050607 100%);
}
#lp-cortina.in { opacity: 1; }


.lp-doc-nuevo {
  position: relative;
  background: rgba(var(--ss-emp, 37, 99, 235), 0.07) !important;
  box-shadow: inset 3px 0 0 rgba(var(--ss-emp, 37, 99, 235), 0.85);
  animation: lp-nuevo-entra .45s cubic-bezier(0.32, 0.72, 0, 1);
}
@keyframes lp-nuevo-entra {
  from { background: rgba(var(--ss-emp, 37, 99, 235), 0.22); }
}

.lp-nuevo-tag {
  display: none; margin-left: 6px; vertical-align: 1px;
  font-family: inherit; font-size: 8.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 1px 5px; border-radius: 5px;
  background: rgba(var(--ss-emp, 37, 99, 235), 0.16);
  color: rgb(var(--ss-emp, 37, 99, 235));
}
.lp-doc-nuevo .lp-nuevo-tag { display: inline-block; }
@media (max-width: 700px) { .lp-doc-nuevo .lp-nuevo-tag { display: none; } }
@media (prefers-reduced-motion: reduce) { .lp-doc-nuevo { animation: none; } }




@media (max-width: 767px) {
  input, select, textarea { font-size: 16px; }
}


#lp-sync-state { bottom: 92px; }
@media (min-width: 768px) { #lp-sync-state { bottom: 16px; } }


@media (max-width: 767px) {
  .lp-sel-btn, .lp-sel-opt { min-height: 44px; }
  [data-tag] { min-height: 40px; }
}



:root {
  --lp-tinta: #0b1024;
  --lp-papel: #f2f1ec;
  --lp-amarillo: #f5c542;
  --lp-display: 'Archivo Black', 'Arial Black', system-ui, sans-serif;
}


html.light body { background-color: var(--lp-papel); color: var(--lp-tinta); }
html.light .bg-surface { background-color: var(--lp-papel) !important; }


html.light .glass-panel {
  background: #fff; backdrop-filter: none; border: 2px solid var(--lp-tinta);
}


html.light h1, html.light .font-headline {
  font-family: var(--lp-display); font-weight: 400;
  letter-spacing: -0.02em;
}





html.light .lp-card,
html.light .hp-card,
html.light .lp-panel {
  border: 2px solid var(--lp-tinta) !important;
  box-shadow: 5px 5px 0 rgba(11, 16, 36, 0.16) !important;
}


html.light .primary-gradient {
  background: var(--lp-amarillo) !important;
  color: var(--lp-tinta) !important;
  border: 2px solid var(--lp-tinta);
  box-shadow: 4px 4px 0 var(--lp-tinta);
  transition: transform .07s steps(2), box-shadow .07s steps(2);
}
html.light .primary-gradient:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--lp-tinta); }
html.light .primary-gradient:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--lp-tinta); }


html.light :focus-visible { outline: 3px solid var(--lp-tinta); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  html.light .primary-gradient { transition: none; }
}




html.light #lp-sidebar {
  background: #fff !important;
  backdrop-filter: none !important;
  border-right: 2px solid var(--lp-tinta) !important;
}


html.light .text-on-surface-variant\/60 { color: #5a6076 !important; }


html.light #lp-desktop-nav a[aria-current="page"],
html.light #lp-desktop-nav a.bg-primary\/10 {
  background: var(--lp-tinta) !important;
  color: var(--lp-papel) !important;
}


html.light .bg-surface-container-low,
html.light .bg-surface-container {
  border: 1px solid var(--lp-linea, #d8d5cc);
}
html.light a.bg-surface-container-low:hover,
html.light button.bg-surface-container-low:hover,
html.light a.bg-surface-container:hover,
html.light button.bg-surface-container:hover {
  border-color: var(--lp-tinta);
  box-shadow: 3px 3px 0 var(--lp-tinta);
  transform: translate(-1px, -1px);
  transition: transform .08s steps(2), box-shadow .08s steps(2);
}


html.light input[type="text"]:where(:not(#lp-global-search)),
html.light input[type="search"],
html.light input:not([type]) {
  border: 1.5px solid rgba(11, 16, 36, 0.22) !important;
  background: #fff !important;
}
html.light input:focus {
  outline: none !important;
  box-shadow: inset 0 0 0 2px var(--lp-amarillo) !important;
}


html.light .lp-nav-badge,
html.light [class*="rounded-md"][class*="text-["] {
  border: 1px solid currentColor;
}


html.light .text-\[11px\],
html.light .tabular-nums, html.light td, html.light .lp-importe { font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1; }

@media (prefers-reduced-motion: reduce) {
  html.light a.bg-surface-container-low:hover,
  html.light button.bg-surface-container-low:hover { transform: none; transition: none; }
}




html.light .lp-search {
  border: none;
  border-bottom: 2px solid transparent;
  background: none;
}

html.light .lp-search:focus-within {
  border-bottom-color: var(--lp-tinta);
  box-shadow: none;
}
html.light .lp-search:focus-within .material-symbols-outlined { color: var(--lp-tinta); }
html.light #lp-desktop-top { backdrop-filter: none !important; }


html.light #lp-desktop-nav a { border-radius: 0; }
html.light #lp-desktop-nav a:hover { background: var(--lp-papel); }
html.light #lp-desktop-nav a[aria-current="page"],
html.light #lp-desktop-nav a[class*="bg-primary"] {
  background: var(--lp-tinta) !important;
  color: #fff !important;
}
html.light #lp-desktop-nav a[aria-current="page"] .material-symbols-outlined,
html.light #lp-desktop-nav a[class*="bg-primary"] .material-symbols-outlined { color: var(--lp-amarillo) !important; }


.lp-qs-tipo {
  flex-shrink: 0;
  font-size: 10px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: #71717a;
}
.lp-qs-panel {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 60;
  max-height: min(62vh, 520px); overflow-y: auto;
  padding: 6px;
  background: #16181d;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.45);
}
.lp-qs-rotulo {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 9px 10px 5px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: #71717a;
}
.lp-qs-grupo + .lp-qs-grupo { border-top: 1px solid rgba(255,255,255,0.07); }
.lp-qs-item {
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: baseline; gap: 12px;
  width: 100%; text-align: left; padding: 7px 10px;
  border-radius: 8px; cursor: pointer;
}
.lp-qs-tit { font-size: 13px; font-weight: 700; white-space: nowrap; }
.lp-qs-sub {
  min-width: 0; font-size: 12px; color: #a1a1aa;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lp-qs-cifra { font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lp-qs-item:hover, .lp-qs-item.sel { background: rgba(255,255,255,0.07); }
.lp-qs-todo {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  width: 100%; margin-top: 4px; padding: 10px;
  border-top: 1px solid rgba(255,255,255,0.07);
  font-size: 12px; font-weight: 700; color: #a1a1aa; cursor: pointer;
}
.lp-qs-todo kbd {
  font-family: inherit; font-size: 10.5px; color: #71717a;
  border: 1px solid rgba(255,255,255,0.14); border-radius: 5px; padding: 1px 6px;
}
.lp-qs-todo:hover, .lp-qs-todo.sel { background: rgba(255,255,255,0.07); color: #fff; }
.lp-qs-vacio { padding: 16px 12px; font-size: 12.5px; color: #a1a1aa; }


html.light .lp-qs-panel {
  background: #fff;
  border: 2px solid var(--lp-tinta);
  border-radius: 0;
  padding: 0;
  box-shadow: 6px 6px 0 rgba(11, 16, 36, 0.13);
}
html.light .lp-qs-rotulo { color: #6b6f80; }
html.light .lp-qs-grupo + .lp-qs-grupo { border-top-color: #dcd8cd; }
html.light .lp-qs-item { border-radius: 0; }
html.light .lp-qs-sub { color: #6b6f80; }
html.light .lp-qs-item:hover { background: var(--lp-papel); }
html.light .lp-qs-item.sel { background: var(--lp-tinta); color: #fff; }
html.light .lp-qs-item.sel .lp-qs-sub { color: rgba(255,255,255,0.72); }
html.light .lp-qs-item.sel .lp-qs-cifra { color: var(--lp-amarillo); }
html.light .lp-qs-todo {
  margin-top: 0; border-radius: 0;
  border-top: 2px solid var(--lp-tinta);
  color: var(--lp-tinta);
}
html.light .lp-qs-todo kbd { border-color: #c9c5ba; color: #6b6f80; }
html.light .lp-qs-todo:hover, html.light .lp-qs-todo.sel {
  background: var(--lp-amarillo); color: var(--lp-tinta);
}
html.light .lp-qs-vacio { color: #6b6f80; }
@media (prefers-reduced-motion: reduce) { .lp-search { transition: none; } }



html.light[data-empresa] #lp-sidebar {
  background-color: #fff !important;
  border-right: 2px solid var(--lp-tinta) !important;
}
html.light[data-empresa] #lp-desktop-nav a:not([aria-current]),
html.light[data-empresa] #lp-desktop-nav button { color: #3c4260 !important; }
html.light[data-empresa] #lp-desktop-nav a:not([aria-current]):hover {
  background: var(--lp-papel) !important;
  color: var(--lp-tinta) !important;
}
html.light[data-empresa] #lp-desktop-nav a[aria-current="page"] {
  background: var(--lp-tinta) !important;
  color: #fff !important;
}
html.light[data-empresa] #lp-desktop-nav a[aria-current="page"] .material-symbols-outlined {
  color: var(--lp-amarillo) !important;
}
html.light[data-empresa] #lp-desktop-nav a[aria-current="page"] .lp-nav-badge {
  background: var(--lp-amarillo) !important;
  color: var(--lp-tinta) !important;
}


html.light .lp-search input {
  border: none !important;
  background: transparent !important;
  color: var(--lp-tinta) !important;
}
html.light .lp-search input:focus { box-shadow: none !important; }
html.light .lp-search input::placeholder { color: #6b7086 !important; opacity: 1; }
html.light .lp-search .material-symbols-outlined { color: #4a5170; }


.lp-emp-tabs {
  display: grid; grid-template-columns: 1fr 1fr;
  margin-bottom: 10px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12); border-radius: 10px;
}
.lp-emp-tab {
  padding: 7px 4px;
  font-family: inherit; font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: #a1a1aa; background: transparent; cursor: pointer;
  transition: background .15s, color .15s;
}
.lp-emp-tab + .lp-emp-tab { border-left: 1px solid rgba(255,255,255,0.12); }
.lp-emp-tab:hover { color: #fff; }
.lp-emp-tab[aria-selected="true"] {
  background: rgba(255,255,255,0.10); color: #fff;
  box-shadow: inset 0 3px 0 var(--emp);
}

html.light .lp-emp-tabs { border: 1.5px solid rgba(11,16,36,0.18); border-radius: 10px; }
html.light .lp-emp-tab { color: #5a6076; background: #fff; }
html.light .lp-emp-tab + .lp-emp-tab { border-left: 1.5px solid rgba(11,16,36,0.12); }
html.light .lp-emp-tab:hover { background: var(--lp-papel); color: var(--lp-tinta); }
html.light .lp-emp-tab[aria-selected="true"] {
  background: rgba(11,16,36,0.05); color: var(--lp-tinta);
  box-shadow: inset 0 3px 0 var(--emp);
}



.lp-marca {
  display: flex; align-items: center; gap: 9px; min-width: 0;
  background: none; border: none; padding: 0; margin: 0;
  font-family: inherit; color: inherit; text-align: left; cursor: pointer;
}
.lp-marca:hover .lp-marca-nombre { text-decoration: underline; text-underline-offset: 3px; }
.lp-marca-icono { width: 26px; height: 26px; flex-shrink: 0; }
.lp-marca-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.lp-marca-nombre {
  font-family: var(--lp-display, inherit);
  font-size: 14px; font-weight: 400; line-height: 1;
  letter-spacing: -0.02em; color: #f4f4f5;
}
.lp-marca-emp {
  font-size: 8.5px; font-weight: 700; line-height: 1;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #7c8bff; white-space: nowrap;
}
html[data-empresa="LAMT"] .lp-marca-emp { color: #fb923c; }
html.light .lp-marca-nombre { color: var(--lp-tinta); }
html.light[data-empresa="LAMR"] .lp-marca-emp { color: #1d4ed8; }
html.light[data-empresa="LAMT"] .lp-marca-emp { color: #c2410c; }


@media (min-width: 768px) {
  html.lp-solo-selector #lp-sidebar { display: none !important; }
  html.lp-solo-selector #lp-desktop-top { left: 0 !important; }
  html.lp-solo-selector #lp-content-slot { margin-left: 0 !important; }
  
  html.lp-solo-selector .lp-search { display: none !important; }
}



:root {
  --ss-radio: 14px;
  --ss-radio-chico: 10px;
  --ss-curva: cubic-bezier(0.32, 0.72, 0, 1);  
  --ss-paso: 160ms;
  
  --ss-emp: 37, 99, 235;        
}
html[data-empresa="LAMT"] { --ss-emp: 234, 88, 12; }   


html.lp-solo-selector body {
  background-image: linear-gradient(rgba(var(--ss-emp), 0.05), rgba(var(--ss-emp), 0.05));
  background-attachment: fixed;
}


.ss-marca-agua {
  
  position: fixed; right: -12vw; bottom: -18vh;
  width: 52vw; max-width: 760px; height: auto;
  opacity: 0.05; pointer-events: none; user-select: none; z-index: 0;
}
html.light .ss-marca-agua { opacity: 0.07; }
.ss-pantalla { position: relative; z-index: 1; }
@media (max-width: 900px) { .ss-marca-agua { display: none; } }

.ss-buscar {
  display: flex; align-items: center; gap: 12px;
  padding: 15px 18px; margin-top: 4px;
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.12);
  border-radius: var(--ss-radio);
  transition: border-color var(--ss-paso) var(--ss-curva),
              box-shadow var(--ss-paso) var(--ss-curva),
              background var(--ss-paso) var(--ss-curva);
}

.ss-buscar:focus-within {
  border-color: rgba(124,139,255,0.55);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 4px rgba(124,139,255,0.12);
}
.ss-buscar .material-symbols-outlined { font-size: 21px; color: #71717a; flex-shrink: 0; }
.ss-buscar input {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none !important;
  font-family: inherit; font-size: 18px; font-weight: 600; color: inherit; padding: 0;
  letter-spacing: -0.01em;
}
.ss-buscar input::placeholder { color: rgba(161,161,170,0.55); font-weight: 500; }
.ss-cuenta {
  flex-shrink: 0; font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: #71717a;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}

@media (max-width: 640px) { .ss-cuenta { display: none; } }

.ss-recientes { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 14px 2px 2px; }
.ss-recientes-rotulo {
  font-size: 9.5px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: #71717a; margin-right: 3px;
}
.ss-chip {
  display: inline-flex; align-items: center; gap: 8px;
  max-width: 260px; padding: 7px 13px; cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.12); border-radius: var(--ss-radio-chico);
  font-family: inherit; font-size: 11.5px; font-weight: 700; color: inherit;
  transition: transform var(--ss-paso) var(--ss-curva),
              border-color var(--ss-paso) var(--ss-curva),
              background var(--ss-paso) var(--ss-curva);
}
.ss-chip-nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-chip-erp { font-weight: 600; color: #71717a; font-variant-numeric: tabular-nums; }
.ss-chip:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.22); transform: translateY(-1px); }
.ss-chip:active { transform: translateY(0); }


.ss-lista { display: flex; flex-direction: column; gap: 5px; margin-top: 14px; }
.ss-fila {
  display: grid; align-items: center; gap: 18px;
  grid-template-columns: minmax(0,1fr) 92px minmax(0,260px) 72px 20px;
  width: 100%; text-align: left; padding: 14px 16px; cursor: pointer;
  background: rgba(255,255,255,0.025);
  border: 1.5px solid transparent; border-radius: var(--ss-radio);
  font-family: inherit; color: inherit;
  transition: background var(--ss-paso) var(--ss-curva),
              border-color var(--ss-paso) var(--ss-curva),
              box-shadow var(--ss-paso) var(--ss-curva);
}
.ss-nombre { font-size: 16px; font-weight: 700; letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-erp { font-size: 13.5px; color: #a1a1aa; font-variant-numeric: tabular-nums; }
.ss-pob { font-size: 13.5px; color: #a1a1aa; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-portal { text-align: center; }
.ss-portal i {
  font-style: normal; display: inline-block; padding: 3px 8px;
  font-size: 8.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: rgba(245,197,66,0.16); color: #f5c542; border-radius: 6px;
}
.ss-flecha { font-size: 18px; color: rgba(161,161,170,0.4); transition: transform var(--ss-paso) var(--ss-curva); }
.ss-fila:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); }
.ss-fila:hover .ss-flecha { transform: translateX(2px); }

.ss-fila.sel {
  background: rgba(124,139,255,0.1);
  border-color: rgba(124,139,255,0.4);
  box-shadow: inset 3px 0 0 #7c8bff;
}

.ss-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 20px 2px 6px; }
.ss-accion {
  padding: 10px 15px; cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.16); border-radius: var(--ss-radio-chico);
  font-family: inherit; font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.04em; color: inherit;
  transition: transform var(--ss-paso) var(--ss-curva),
              border-color var(--ss-paso) var(--ss-curva),
              background var(--ss-paso) var(--ss-curva);
}
.ss-accion:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.28); transform: translateY(-1px); }
.ss-accion:active { transform: translateY(0); }
.ss-pie-nota { flex-basis: 100%; font-size: 11px; color: #71717a; }
.ss-aviso { padding: 18px 4px; font-size: 12.5px; color: #a1a1aa; }


html.light .ss-buscar {
  background: #fff;
  border: 1.5px solid rgba(11,16,36,0.12);
  box-shadow: 0 1px 2px rgba(11,16,36,0.05), 0 6px 18px rgba(11,16,36,0.06);
}

html.light .ss-buscar:focus-within {
  border-color: rgba(11,16,36,0.4);
  box-shadow: 0 0 0 3px rgba(11,16,36,0.06), 0 8px 24px rgba(11,16,36,0.09);
}
html.light .ss-buscar input {
  border: none !important; background: transparent !important;
  box-shadow: none !important; color: var(--lp-tinta) !important;
}
html.light .ss-buscar input::placeholder { color: #6b7086 !important; opacity: 1; }
html.light .ss-buscar .material-symbols-outlined { color: #4a5170; }
html.light .ss-cuenta, html.light .ss-recientes-rotulo, html.light .ss-pie-nota { color: #5a6076; }
html.light .ss-chip {
  background: #fff; border: 1.5px solid rgba(11,16,36,0.18); border-radius: var(--ss-radio-chico);
  box-shadow: 0 1px 2px rgba(11,16,36,0.05);
}
html.light .ss-chip-erp { color: #5a6076; }

html.light .ss-chip:hover {
  background: #fff; border-color: var(--lp-tinta);
  box-shadow: 0 0 0 3px rgba(245,197,66,0.4), 0 2px 8px rgba(11,16,36,0.08);
}
html.light .ss-fila { background: #fff; border-color: rgba(11,16,36,0.09); }
html.light .ss-erp, html.light .ss-pob { color: #5a6076; }
html.light .ss-flecha { color: #9aa0b4; }
html.light .ss-fila:hover {
  background: #fff; border-color: rgba(11,16,36,0.2);
  box-shadow: 0 2px 10px rgba(11,16,36,0.07);
}
html.light .ss-fila.sel {
  background: #fff; color: var(--lp-tinta);
  border-color: var(--lp-tinta);
  box-shadow: inset 4px 0 0 var(--lp-amarillo), 0 2px 12px rgba(11,16,36,0.1);
}
html.light .ss-fila.sel .ss-erp, html.light .ss-fila.sel .ss-pob { color: #5a6076; }
html.light .ss-fila.sel .ss-flecha { color: var(--lp-tinta); }
html.light .ss-portal i { background: rgba(245,197,66,0.3); color: #6b5410; border-radius: 6px; }
html.light .ss-accion {
  background: #fff; border: 1.5px solid rgba(11,16,36,0.2);
  border-radius: var(--ss-radio-chico); color: var(--lp-tinta);
  box-shadow: 0 1px 2px rgba(11,16,36,0.05);
}
html.light .ss-accion:hover {
  background: #fff; border-color: var(--lp-tinta);
  box-shadow: 0 0 0 3px rgba(245,197,66,0.4), 0 2px 8px rgba(11,16,36,0.08);
}
html.light .ss-aviso { color: #5a6076; }

@media (max-width: 700px) {
  .ss-fila { grid-template-columns: minmax(0,1fr) 66px 58px; gap: 10px; padding: 13px 14px; }
  
  .ss-fila .ss-pob, .ss-fila .ss-flecha { display: none; }
  .ss-nombre { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 15px; line-height: 1.25; }
  .ss-buscar input { font-size: 16px; }
  .ss-chip { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ss-buscar, .ss-chip, .ss-fila, .ss-accion, .ss-flecha { transition: none; }
  .ss-chip:hover, .ss-accion:hover { transform: none; }
  .ss-fila:hover .ss-flecha { transform: none; }
}


.ss-marca {
  display: flex; align-items: center; gap: 12px;
  padding: 4px 4px 16px;
}
.ss-marca-logo { width: 34px; height: 34px; flex-shrink: 0; }
.ss-marca-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin-right: auto; }
.ss-marca-nombre {
  font-family: var(--lp-display, inherit); font-weight: 400;
  font-size: 17px; line-height: 1; letter-spacing: -0.02em; color: #f4f4f5;
}
.ss-marca-sub {
  font-size: 9.5px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: #71717a; white-space: nowrap;
}
.ss-marca .lp-emp-tabs { margin-bottom: 0; grid-template-columns: auto auto; flex-shrink: 0; }
.ss-marca .lp-emp-tab { padding: 8px 15px; font-size: 10px; }
html.light .ss-marca-nombre { color: var(--lp-tinta); }
html.light .ss-marca-sub { color: #5a6076; }



.lp-top-taller { display: flex; align-items: center; gap: 6px; flex: 0 1 auto; min-width: 0; margin-right: 16px; }
.lp-top-taller-nombre { min-width: 0; max-width: 270px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-centros-wrap { position: relative; flex-shrink: 0; margin-left: 4px; }
.lp-centros-btn {
  display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 8px 0 9px; border-radius: 8px;
  font-size: 12px; font-weight: 700; white-space: nowrap; color: inherit;
  border: 1px solid rgba(127,127,127,.35); background: transparent;
}
.lp-centros-btn .material-symbols-outlined { font-size: 17px; }
.lp-centros-btn:hover, .lp-centros-btn[aria-expanded="true"] { background: rgba(127,127,127,.12); }
html.light .lp-centros-btn { border-color: rgba(11,16,36,.25); background: #fff; }
.lp-centros-pop { position: absolute; top: calc(100% + 8px); left: 0; z-index: 70; width: 250px; padding: 10px 10px 6px; border-radius: 12px; }
.lp-centros-pop .lp-centros { margin: 0; }
html.light .lp-centros-pop { border: 2px solid var(--lp-tinta); }



.lp-nav-grupo {
  display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 14px 0 4px; padding: 7px 10px 7px 9px;
  font-size: 10.5px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; text-align: left; color: inherit;
  background: rgba(255, 255, 255, .07); border-left: 3px solid #f5c542; border-radius: 0 6px 6px 0; opacity: .95;
}
html.light .lp-nav-grupo { background: rgba(11, 16, 36, .07); }
.lp-nav-grupo:hover { background: rgba(245, 197, 66, .22); }
.lp-nav-grupo:first-child { margin-top: 2px; }

.lp-grupo-aviso { margin-left: auto; margin-right: 8px; padding: 1px 6px; border-radius: 6px; font-size: 9px; font-weight: 800; letter-spacing: 0; color: #fff; }
html.lp-nav-min #lp-desktop-nav .lp-grupo-aviso { display: none; }
.lp-grupo-flecha { font-size: 14px; line-height: 1; transition: transform .15s; }
.lp-nav-grupo[aria-expanded="false"] .lp-grupo-flecha { transform: rotate(-90deg); }

#lp-desktop-nav { overflow-x: hidden; }
#lp-desktop-nav .material-symbols-outlined { line-height: 1; }

@media (min-width: 768px) {
  html.lp-nav-min #lp-desktop-nav .lp-nav-grupo { height: 1px; margin: 8px 10px; padding: 0; background: currentColor; border-left: 0; border-radius: 0; opacity: .15; }
  html.lp-nav-min #lp-desktop-nav .lp-nav-grupo > * { display: none; }
  html.lp-nav-min #lp-desktop-nav .lp-nav-cuerpo[hidden] { display: block; }
}
.lp-taller-btn {
  flex-shrink: 0; padding: 5px; border-radius: 8px; cursor: pointer;
  color: #a1a1aa; transition: background .15s, color .15s;
}
.lp-taller-btn .material-symbols-outlined { font-size: 17px; display: block; }
.lp-taller-btn:hover { background: rgba(255,255,255,0.09); color: #f4f4f5; }
html.light .lp-taller-btn { border-radius: 0; color: #5a6076; }
html.light .lp-taller-btn:hover { background: var(--lp-amarillo); color: var(--lp-tinta); }

@media (max-width: 700px) {
  .ss-marca { flex-wrap: wrap; gap: 10px; }
  .ss-marca .lp-emp-tabs { width: 100%; grid-template-columns: 1fr 1fr; }
}



.ss-pantalla {
  max-width: 1400px; margin: 10px auto 32px;
  padding: 12px 6px 20px;
  background: transparent;
  border: 0;
}

.ss-pantalla.ss-reposo {
  
  max-width: 880px;   
  min-height: calc(100vh - 150px);
  display: flex; flex-direction: column; justify-content: center;
  margin-top: 0; padding-bottom: 18px;
}


.ss-buscar input:focus-visible,
html.light .ss-buscar input:focus-visible {
  outline: none !important; box-shadow: none !important; border-radius: 0 !important;
}

html.light .ss-buscar input:focus,
html.light .ss-buscar input[type="text"]:focus {
  box-shadow: none !important; outline: none !important; border: none !important;
}


.ss-titulo {
  font-family: var(--lp-display, inherit); font-weight: 400;
  font-size: 30px; line-height: 1.15; letter-spacing: -0.02em;
  color: #f4f4f5; margin: 0 0 6px;
}
.ss-rotulo { font-size: 13.5px; color: #a1a1aa; margin: 0 0 22px; line-height: 1.5; }
.ss-rotulo b { color: #f4f4f5; font-weight: 700; }
html.light .ss-titulo { color: var(--lp-tinta); }
html.light .ss-rotulo { color: #5a6076; }
html.light .ss-rotulo b { color: var(--lp-tinta); }

.ss-pantalla:not(.ss-reposo) .ss-titulo,
.ss-pantalla:not(.ss-reposo) .ss-rotulo { display: none; }

.ss-pantalla.ss-reposo .ss-buscar { padding: 18px 20px; }
.ss-pantalla.ss-reposo .ss-buscar input { font-size: 19px; }

.ss-pantalla.ss-reposo .ss-cuenta { font-size: 9.5px; opacity: 0.65; }


.ss-pantalla.ss-reposo .ss-recientes {
  display: flex; flex-direction: column; align-items: stretch;
  gap: 6px; padding: 26px 0 0;
}
.ss-pantalla.ss-reposo .ss-recientes-rotulo { margin: 0 0 4px 2px; }
.ss-pantalla.ss-reposo .ss-chip {
  max-width: none; width: 100%; justify-content: space-between;
  padding: 13px 16px; font-size: 13px; border-radius: var(--ss-radio);
}
.ss-pantalla.ss-reposo .ss-chip-erp { font-size: 12px; }

@media (max-width: 700px) {
  .ss-pantalla.ss-reposo { min-height: 0; display: block; margin-top: 10px; }
  .ss-pantalla.ss-reposo .ss-buscar { padding: 15px 18px; }
  .ss-pantalla.ss-reposo .ss-buscar input { font-size: 16px; }
  .ss-titulo { font-size: 24px; }
}
html.light .ss-pantalla { background: transparent; border: 0; box-shadow: none; }


.ss-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 16px 8px; padding: 22px 0 4px; }
.ss-app { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px 4px; border: 0; border-radius: 16px; background: none;
  color: inherit; font-family: inherit; cursor: pointer; transition: background var(--ss-paso) var(--ss-curva), transform var(--ss-paso) var(--ss-curva); }
.ss-app:hover { transform: translateY(-2px); }
.ss-app:focus-visible { outline: 2px solid #7c8bff; outline-offset: 2px; }

.ss-app-ico { width: 72px; height: 72px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: #fff;
  box-shadow: 0 1px 2px rgba(16,24,40,0.06), 0 4px 14px rgba(16,24,40,0.08); transition: box-shadow var(--ss-paso) var(--ss-curva); }
.ss-app:hover .ss-app-ico { box-shadow: 0 2px 4px rgba(16,24,40,0.08), 0 10px 24px rgba(16,24,40,0.14); }
.ss-app-txt { font-size: 12.5px; font-weight: 700; line-height: 1.25; text-align: center; color: #e4e4e7; }
html.light .ss-app-txt { color: var(--lp-tinta); }
.ss-busquedas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 18px 2px 0; }
.ss-busquedas .ss-recientes-rotulo { width: 100%; margin: 0 0 2px; }
.ss-busq { display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; border-radius: 999px; font-family: inherit; font-size: 12px; font-weight: 600;
  color: inherit; background: rgba(127,127,127,0.1); border: 1px solid rgba(127,127,127,0.22); cursor: pointer; }
.ss-busq:hover { border-color: #7c8bff; }
.ss-busq .material-symbols-outlined { font-size: 15px; opacity: 0.6; }
@media (max-width: 480px) { .ss-apps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }   

.ss-app-ico { border: 2px solid color-mix(in srgb, var(--c, #ccc) 55%, transparent); }
.ss-app:hover .ss-app-ico { border-color: var(--c, #ccc); }
.ss-buscar { transition: border-color .45s ease, box-shadow .45s ease, background .45s ease; }
.ss-buscar.ss-buscar-modo, html.light .ss-buscar.ss-buscar-modo, html.light .ss-buscar.ss-buscar-modo:focus-within {
  border-color: var(--ss-modo); border-width: 2px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--ss-modo) 22%, transparent), 0 8px 24px rgba(11,16,36,0.08); }
.ss-modo-chip { display: none; flex-shrink: 0; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .04em; color: #fff;
  background: var(--ss-modo); white-space: nowrap; animation: ss-chip-entra .35s ease; }
.ss-buscar-modo .ss-modo-chip { display: inline-block; }
@keyframes ss-chip-entra { from { opacity: 0; transform: translateX(-6px) scale(.9); } to { opacity: 1; transform: none; } }
@media (max-width: 480px) { .ss-modo-chip { max-width: 38vw; overflow: hidden; text-overflow: ellipsis; } }

.ss-pantalla.ss-reposo .ss-titulo { margin-top: 30px; }

.ss-limpiar { flex-shrink: 0; width: 32px; height: 32px; border-radius: 999px; border: 0; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(127,127,127,0.14); color: inherit; cursor: pointer; }
.ss-limpiar[hidden] { display: none; }
.ss-limpiar:hover { background: rgba(127,127,127,0.26); }
.ss-limpiar .material-symbols-outlined { font-size: 18px !important; }

.lp-volver-busq { position: fixed; left: 16px; bottom: 16px; z-index: 60; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100vw - 32px);
  padding: 10px 16px; border-radius: 999px; border: 0; background: #1d2b4f; color: #fff; font-family: inherit; font-size: 13px; font-weight: 700;
  box-shadow: 0 6px 20px rgba(0,0,0,.22); cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-volver-busq .material-symbols-outlined { font-size: 18px; }
.lp-volver-busq:hover { background: #2a3d6b; }
@media print { .lp-volver-busq { display: none !important; } }
.ss-aviso b { font-weight: 700; }


.lp-qs-todos {
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 10px !important;
}
.lp-qs-todos .lp-qs-tit { font-size: 12px; letter-spacing: 0.02em; }
.lp-qs-todos .lp-qs-sub { white-space: normal; font-size: 11px; }
html.light .lp-qs-todos { border-top: 2px solid var(--lp-tinta); }
html.light .lp-qs-todos:hover { background: var(--lp-amarillo); }
html.light .lp-qs-todos:hover .lp-qs-sub { color: var(--lp-tinta); }


.ab-lista { display: flex; flex-direction: column; gap: 8px; }
.ab-taller { border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; overflow: hidden; }
.ab-cab {
  display: grid; align-items: center; gap: 14px;
  grid-template-columns: minmax(0,1fr) auto auto 20px;
  width: 100%; text-align: left; padding: 13px 14px; cursor: pointer;
  font-family: inherit; color: inherit; background: rgba(255,255,255,0.03);
}
.ab-cab:hover { background: rgba(255,255,255,0.07); }
.ab-nombre { font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-cuenta {
  font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #a1a1aa; white-space: nowrap;
}
.ab-fecha { font-size: 12px; color: #71717a; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ab-chevron { font-size: 20px; color: #71717a; transition: transform .15s; }
.ab-cab[aria-expanded="true"] .ab-chevron { transform: rotate(180deg); }
.ab-docs { padding: 8px; display: flex; flex-direction: column; gap: 6px; }

html.light .ab-taller { border: 2px solid var(--lp-tinta); border-radius: 0; }
html.light .ab-cab { background: #fff; }
html.light .ab-cab:hover { background: var(--lp-papel); }
html.light .ab-cab[aria-expanded="true"] { background: var(--lp-tinta); color: #fff; }
html.light .ab-cab[aria-expanded="true"] .ab-cuenta { color: var(--lp-amarillo); }
html.light .ab-cab[aria-expanded="true"] .ab-fecha,
html.light .ab-cab[aria-expanded="true"] .ab-chevron { color: rgba(255,255,255,0.7); }
html.light .ab-cuenta { color: #5a6076; }
html.light .ab-fecha, html.light .ab-chevron { color: #5a6076; }

@media (max-width: 700px) {
  .ab-cab { grid-template-columns: minmax(0,1fr) auto 20px; }
  .ab-fecha { display: none; }
}

.ab-cargando { padding: 14px; font-size: 12.5px; color: #a1a1aa; }
html.light .ab-cargando { color: #5a6076; }


html.light #g-search-go, html.light #cat-staff-q-btn {
  box-shadow: 2px 2px 0 var(--lp-tinta);
}
html.light #g-search-go:hover, html.light #cat-staff-q-btn:hover { box-shadow: 1px 1px 0 var(--lp-tinta); }
html.light #g-search-go:active, html.light #cat-staff-q-btn:active { box-shadow: 0 0 0 var(--lp-tinta); }


html.light #g-search-go:hover, html.light #cat-staff-q-btn:hover,
html.light #g-search-go:active, html.light #cat-staff-q-btn:active {
  transform: none !important;
}
html.light #g-search-go:hover, html.light #cat-staff-q-btn:hover {
  background: var(--lp-tinta) !important;
  color: var(--lp-amarillo) !important;
}
html.light #g-search-go:active, html.light #cat-staff-q-btn:active {
  box-shadow: 0 0 0 var(--lp-tinta);
}


.dash-trabajo { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 12px; }

.dash-trabajo-hero { display: flex; flex-direction: column; justify-content: center; position: relative; min-height: 300px; }

.dash-trabajo-nav {
  position: absolute; top: 12px; right: 12px;
  display: flex; align-items: center; gap: 2px;
}
.dash-trabajo-pos {
  font-size: 11px; font-weight: 700; color: var(--lp-tenue, #8896a6);
  font-variant-numeric: tabular-nums; min-width: 28px; text-align: center;
}
.dash-flecha {
  width: 30px; height: 30px; border-radius: 9px; border: none; cursor: pointer;
  background: transparent; color: inherit; opacity: 0.65;
  display: flex; align-items: center; justify-content: center;
}
.dash-flecha:hover:not(:disabled) { opacity: 1; background: rgba(128,128,128,0.14); }
.dash-flecha:disabled { opacity: 0.2; cursor: default; }
.dash-flecha .material-symbols-outlined { font-size: 20px; }

.dash-trabajo-hero .dash-trabajo-num,
.dash-trabajo-hero .dash-trabajo-lbl { cursor: pointer; }
@media print { .dash-trabajo-nav { display: none !important; } }
.dash-trabajo-num {
  font-family: var(--lp-display, inherit); font-size: 56px; line-height: 0.9;
  letter-spacing: -0.03em; font-weight: 400;
}
.dash-trabajo-lbl {
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  margin-top: 8px;
}
.dash-trabajo-ok .dash-trabajo-num { color: #059669; }
.dash-trabajo-otros { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }


.dash-otras {
  list-style: none; margin: 18px 0 0; padding: 14px 0 0;
  border-top: 1px solid rgba(128,128,128,0.16);
  display: flex; flex-direction: column; gap: 1px;
}
.dash-otra {
  width: 100%; display: flex; align-items: center; gap: 10px;
  padding: 7px 8px; border: none; background: none; cursor: pointer;
  border-radius: 9px; text-align: left; color: inherit;
  transition: background .14s;
}
.dash-otra:hover { background: rgba(128,128,128,0.10); }
.dash-otra-n {
  font-family: var(--lp-display, inherit);
  font-size: 17px; font-weight: 800; line-height: 1;
  min-width: 30px; text-align: right; font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.dash-otra-lbl {
  flex: 1; min-width: 0; font-size: 12.5px; font-weight: 600;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dash-otra-ch { font-size: 18px; opacity: 0.3; flex-shrink: 0; }
.dash-otra:hover .dash-otra-ch { opacity: 0.6; }
@media print { .dash-otra-ch { display: none; } }


.dash-trabajo-color {
  background: color-mix(in srgb, var(--c) 80%, #000);
  color: #fff; border: none;
}
.dash-trabajo-color .dash-trabajo-num,
html.light .dash-trabajo-color .dash-trabajo-num { color: #fff; }
.dash-trabajo-color .dash-trabajo-pos { color: rgba(255,255,255,0.75); }
.dash-trabajo-color .dash-flecha:hover:not(:disabled) { background: rgba(255,255,255,0.16); }
.dash-trabajo-color .dash-otras { border-top-color: rgba(255,255,255,0.22); }
.dash-trabajo-color .dash-otra:hover { background: rgba(255,255,255,0.12); }
.dash-trabajo-color .dash-otra-ch { opacity: 0.55; }
.dash-trabajo-desde { font-size: 12px; margin-top: 4px; opacity: 0.8; }
.dash-otra-n { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; }
.dash-otra-punto {
  width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.85);
}


.dash-edades { margin-top: 16px; display: flex; flex-direction: column; gap: 7px; }
.dash-edad {
  display: grid; grid-template-columns: 104px 1fr 28px; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600;
}
.dash-edad.cero { opacity: 0.5; }
.dash-edad-bar { height: 6px; border-radius: 99px; background: rgba(255,255,255,0.18); overflow: hidden; }
.dash-edad-bar i { display: block; height: 100%; border-radius: inherit; background: #fff; }
.dash-edad-n { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }


.dash-fila { display: grid; align-items: center; column-gap: 20px; min-height: 52px; }
.dash-fila-lineas { grid-template-columns: minmax(110px, 1fr) minmax(80px, 0.8fr) minmax(120px, 1.7fr) minmax(0, 2.6fr) minmax(80px, auto) 20px; }
.dash-fila-factura { grid-template-columns: minmax(110px, 1fr) minmax(90px, 0.9fr) minmax(0, 4.4fr) minmax(80px, auto) 20px; }
.dash-fila-mat, .dash-fila-modelo, .dash-fila-lleva {
  min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dash-fila-mat { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; font-variant-numeric: tabular-nums; }
.dash-fila-modelo { font-size: 12.5px; }
.dash-fila-lleva { font-size: 12.5px; color: var(--lp-tenue, #6b7086); }
.dash-fila-imp { text-align: right; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash-fila-fecha { display: flex; flex-direction: column; line-height: 1.05; }
.dash-fila-fecha b { font-size: 17px; font-weight: 800; letter-spacing: -0.01em; }
.dash-fila-fecha small { font-size: 10.5px; opacity: 0.6; margin-top: 2px; font-variant-numeric: tabular-nums; }
.dash-fila-vtos { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.dash-vto {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 6px;
  font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap;
  background: rgba(128,128,128,0.10);
}
.dash-vto .material-symbols-outlined { font-size: 14px; opacity: 0.6; }
.dash-vto.pasado { opacity: 0.45; }

.dash-trabajo .grid > div[aria-hidden="true"] { min-height: 52px; }
@media (max-width: 1100px) {
  .dash-fila-lineas { grid-template-columns: minmax(100px, 1fr) minmax(76px, 0.8fr) minmax(0, 1.4fr) minmax(0, 1.6fr) minmax(76px, auto) 20px; }
}
@media (max-width: 640px) {
  .dash-fila-lineas { grid-template-columns: minmax(0, 1fr) auto auto 20px; }
  .dash-fila-lineas .dash-fila-modelo, .dash-fila-lineas .dash-fila-lleva { display: none; }
  .dash-fila-factura { grid-template-columns: minmax(0, 1fr) auto auto 20px; }
  .dash-fila-factura .dash-fila-vtos { display: none; }
}
.dash-chip {
  font-size: 11px; padding: 5px 10px; border-radius: 999px; cursor: pointer;
  background: color-mix(in srgb, var(--c) 14%, transparent); color: var(--c);
  font-family: inherit;
}
.dash-chip b { font-weight: 800; }
.dash-vertodos {
  width: 100%; margin-top: 6px; padding: 9px; border-radius: 12px; cursor: pointer;
  font-size: 12px; font-weight: 700; color: inherit; font-family: inherit;
}
.dash-vertodos:hover { background: rgba(127,127,127,0.10); }
.dash-aldia {
  display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 0 4px;
  font-size: 12px; color: #6b7086;
}
.dash-aldia .material-symbols-outlined { font-size: 16px; color: #059669; }


.dash-anual {
  --dash-barra: #7c8bff;
  --dash-linea: #8e95bb;
  --dash-rejilla: rgba(255,255,255,0.07);
  --dash-eje: #8e95bb;
}
.dash-anual-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.dash-anual-tit { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.dash-anual-leyenda { display: flex; gap: 14px; font-size: 11px; color: var(--dash-eje); }
.dash-anual-leyenda span { display: inline-flex; align-items: center; gap: 6px; }
.dash-anual-leyenda i { display: inline-block; width: 14px; height: 8px; }
.dash-anual-leyenda .l-barra { background: var(--dash-barra); border-radius: 2px; }
.dash-anual-leyenda .l-linea { height: 0; border-top: 2px dashed var(--dash-linea); }


.dash-anual-plot { position: relative; height: 190px; padding-bottom: 22px; }
.dash-anual-rejilla {
  position: absolute; inset: 0 0 22px 0;
  display: flex; flex-direction: column; justify-content: space-between;
}
.dash-anual-linea-h { position: relative; border-top: 1px solid var(--dash-rejilla); }
.dash-anual-linea-h span {
  position: absolute; right: 0; top: -0.65em;
  font-size: 9.5px; font-variant-numeric: tabular-nums; color: var(--dash-eje);
  background: var(--lp-hoja, transparent); padding-left: 5px;
}
.dash-anual-svg { position: absolute; inset: 0 0 22px 0; width: 100%; height: calc(100% - 22px); }
.dash-anual-cols { position: absolute; inset: 0; display: flex; align-items: flex-end; gap: 2px; }
.dash-anual-col {
  flex: 1; min-width: 0; height: 100%;
  display: flex; flex-direction: column; justify-content: flex-end; align-items: center;
}
.dash-anual-barra {
  width: 62%; max-width: 34px; border-radius: 3px 3px 0 0;
  background: var(--dash-barra);
  transition: opacity .15s;
}
.dash-anual-col:hover .dash-anual-barra { opacity: 0.75; }
.dash-anual-col.pend .dash-anual-barra { opacity: 0.3; }
.dash-anual-mes {
  height: 22px; display: flex; align-items: center;
  font-size: 9px; font-weight: 700; letter-spacing: 0.04em; color: var(--dash-eje);
}
.dash-anual-col.act .dash-anual-mes { color: var(--dash-barra); }

.dash-anual-pie {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 10px; margin-top: 16px; font-size: 13px;
}
.dash-anual-pie b { font-weight: 800; font-variant-numeric: tabular-nums; }
.dash-anual-var { font-weight: 800; font-variant-numeric: tabular-nums; }
.dash-anual-var.sube { color: #b45309; }
.dash-anual-var.baja { color: #059669; }
.dash-anual-sin { font-size: 12px; color: var(--dash-eje); }
.dash-anual-nota { margin-top: 7px; font-size: 11px; color: var(--dash-eje); }


html.light .dash-anual {
  --dash-barra: #5e6ad2;
  --dash-linea: #b0aca1;
  --dash-rejilla: #e6e2d8;
  --dash-eje: #8b8778;
  --lp-hoja: #fff;
}
html.light .dash-trabajo-num { color: var(--lp-tinta); }

@media (max-width: 860px) {
  .dash-trabajo { grid-template-columns: 1fr; }
  .dash-trabajo-num { font-size: 44px; }
  .dash-anual-svg { height: 120px; }
  .dash-anual-meses span { font-size: 8px; }
}


@media (max-width: 430px) {
  .dash-anual-col:nth-child(even):not(.act) .dash-anual-mes { visibility: hidden; }
  .dash-anual-meses span, .dash-anual-mes { font-size: 8.5px; letter-spacing: 0; }
  .dash-anual-barra { width: 72%; }
  .dash-anual-plot { height: 165px; }
  .dash-anual-linea-h span { font-size: 8.5px; }
}


#lp-mobile-nav .primary-gradient,
html.light #lp-mobile-nav .primary-gradient {
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 640px) {
  #lp-presence-banner {
    top: 54px; padding: 8px 14px; font-size: 12px; gap: 7px;
    max-width: calc(100vw - 16px);
    
    width: max-content;
  }
  .lp-presence-extra { display: none; }
}


html.light #lp-mobile-nav .primary-gradient .material-symbols-outlined {
  color: var(--lp-tinta) !important;
}


@media (max-width: 380px) {
  #lp-mobile-nav > a, #lp-mobile-nav > button, #lp-mobile-nav > div {
    padding-left: 0.35rem; padding-right: 0.35rem;
  }
  #lp-mobile-nav .font-label { font-size: 8px; letter-spacing: 0.02em; white-space: nowrap; }
}

html.light .dash-vertodos { color: var(--lp-tinta); }


:is(#cat-grid, #cat-grid-todo), .cat-chips {  }


.cat-chips { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.25) transparent; }
.cat-chips::-webkit-scrollbar { height: 6px; }
.cat-chips::-webkit-scrollbar-track { background: transparent; }
.cat-chips::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.22);
  border-radius: 3px;
}
.cat-chips:hover::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.38); }

.cat-chips button[data-carpeta] { min-width: 44px; justify-content: flex-start; } 
.cat-chip-txt {
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  transition: max-width 0.26s cubic-bezier(0.22, 1, 0.36, 1) 0.5s, opacity 0.2s ease 0.5s, margin-left 0.26s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
  margin-left: 0;
}

.cat-chip-txt.abierta {
  max-width: 180px;
  opacity: 1;
  margin-left: 6px;
  transition-delay: 0s;
}

.cat-tip { position: fixed; z-index: 9998; max-width: min(360px, 92vw); padding: 11px 16px; border-radius: 12px; pointer-events: none; font-size: 16px; font-weight: 800;
  line-height: 1.25; letter-spacing: .01em; background: #0b1024; color: #fff; border: 2px solid #0b1024; box-shadow: 4px 4px 0 rgba(0, 0, 0, .25); }
.cat-tip[hidden] { display: none; }
html:not(.light) .cat-tip { background: #fff; color: #0b1024; border-color: #fff; box-shadow: 4px 4px 0 rgba(0, 0, 0, .6); }


.cat-galeria { position: absolute; inset: 0; }
.cat-gal-img { position: absolute; inset: 0; opacity: 0; transition: opacity 0.18s ease; }
.cat-gal-img.activa { opacity: 1; }
.cat-gal-fl {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border-radius: 999px;
  background: rgba(0,0,0,0.55); color: #fff;
  display: flex; align-items: center; justify-content: center;
  border: none; cursor: pointer; padding: 0;
  opacity: 0; transition: opacity 0.16s ease, background 0.16s ease;
}
.cat-gal-fl:hover { background: rgba(0,0,0,0.8); }
.cat-gal-fl.izq { left: 6px; }
.cat-gal-fl.der { right: 6px; }
.cat-galeria:hover .cat-gal-fl { opacity: 1; }
.cat-gal-n {
  position: absolute; bottom: 34px; left: 8px; right: auto;
  font-size: 9px; font-weight: 700; letter-spacing: 0.04em;
  padding: 2px 6px; border-radius: 999px;
  background: rgba(0,0,0,0.55); color: #fff;
}
@media (hover: none) { .cat-gal-fl { opacity: 1; } }


:is(#cat-grid, #cat-grid-todo) .aspect-square > button,
:is(#cat-grid, #cat-grid-todo) .aspect-square > span.absolute { z-index: 3; }
:is(#cat-grid, #cat-grid-todo) .aspect-square > .cat-galeria { z-index: 1; }
:is(#cat-grid, #cat-grid-todo) .aspect-square > img { z-index: 0; }

:is(#cat-grid, #cat-grid-todo) .aspect-square > .cat-etiquetas { z-index: 2; }


:is(#cat-grid, #cat-grid-todo) [data-card-ref] { position: relative; }
:is(#cat-grid, #cat-grid-todo) .cat-hueco { outline: 2px dashed #5e6ad2; outline-offset: -2px; background: #5e6ad21a !important; }
:is(#cat-grid, #cat-grid-todo) .cat-hueco > * { visibility: hidden; }
.cat-fantasma { position: fixed; z-index: 9999; margin: 0; pointer-events: none; opacity: .97; will-change: transform;
  box-shadow: 0 22px 44px rgba(0, 0, 0, .3); transform-origin: 40px 24px; cursor: grabbing; }
body.cat-arrastrando-body { user-select: none; -webkit-user-select: none; cursor: grabbing; }
[data-mover] { touch-action: none; }


:is(#cat-grid, #cat-grid-todo) [data-card-ref] > .aspect-square { container-type: inline-size; }
.cat-etiquetas { position: absolute; right: 10px; bottom: 10px; display: flex; flex-direction: column-reverse; align-items: flex-end; gap: 9px; max-width: calc(100% - 20px); pointer-events: none; }
.cat-etq {
  width: fit-content; max-width: 100%; padding: .18em .6em; font-size: clamp(13px, 8cqw, 22px); font-weight: 900; line-height: 1.15;
  text-transform: uppercase; letter-spacing: .02em; text-align: right; white-space: nowrap;   
  border: 2px solid #0b1024; box-shadow: 4px 4px 0 #0b1024;
}
html:not(.light) .cat-etq { border-color: rgba(255, 255, 255, .9); box-shadow: 4px 4px 0 rgba(0, 0, 0, .7); }
.cat-etq-color { flex: none; width: 40px; height: 38px; padding: 0; border-radius: 10px; border: 2px solid rgba(0, 0, 0, .14); cursor: pointer; }
.cat-etq-color:hover { transform: scale(1.06); }
.cat-etq-muestra { width: 30px; height: 30px; border-radius: 8px; border: 2px solid rgba(0, 0, 0, .12); cursor: pointer; transition: transform .1s; }
.cat-etq-muestra:hover { transform: scale(1.15); }
.cat-etq-muestra.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0b1024; }

.etq-ventana { position: relative; }
.etq-pop { position: absolute; z-index: 5; display: grid; grid-template-columns: repeat(5, 30px); gap: 8px; padding: 12px; border-radius: 12px; background: #fff;
  border: 1.5px solid rgba(11, 16, 36, .18); box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.etq-pop[hidden] { display: none; }
html:not(.light) .etq-pop { background: #23242c; border-color: rgba(255, 255, 255, .2); }
.etq-asa { flex: none; font-size: 22px; opacity: .45; cursor: grab; touch-action: none; user-select: none; }
.etq-asa:hover { opacity: .9; }
.etq-fila.etq-arrastrando { background: rgba(94, 106, 210, .12); border-radius: 12px; box-shadow: 0 4px 14px rgba(0, 0, 0, .2); }
.etq-fila.etq-arrastrando .etq-asa { cursor: grabbing; }



.hp-td-code:has(> .hp-bolo), .hp-td:has(> .hp-bolo) { position: relative; } 
.hp-td[data-sin-ref] { cursor: pointer; }
.hp-table-scroll:has(.hp-bolo) { margin-left: -28px; padding-left: 28px; }
.hp-bolo {
  position: absolute; left: -22px; top: 50%; transform: translateY(-50%);
  width: 10px; height: 10px; border-radius: 50%; padding: 0; border: none;
  cursor: pointer;
}
.hp-bolo:hover { transform: translateY(-50%) scale(1.3); }
.hp-bolo-si { background: #16a34a; box-shadow: 0 0 0 2px rgba(22,163,74,0.18); }
.hp-bolo-no { background: #dc2626; box-shadow: 0 0 0 2px rgba(220,38,38,0.18); }
.hp-bolo-q {
  width: 13px; height: 13px; border-radius: 50%;
  background: transparent; border: 1.5px solid #b08900; color: #b08900;
  font-size: 9px; font-weight: 800; line-height: 10px; text-align: center;
}
html.light .hp-bolo-q { border-color: #946f00; color: #946f00; }


.hp-btn.hp-dispo-avisa {
  background: rgba(176,137,0,0.16) !important;
  border: 1px solid rgba(176,137,0,0.55);
  color: #b08900 !important;
  animation: hp-dispo-late 1.6s ease-in-out infinite;
}
html.light .hp-btn.hp-dispo-avisa { color: #7a5c00 !important; }
@keyframes hp-dispo-late { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }
@media (prefers-reduced-motion: reduce) {
  .hp-btn.hp-dispo-avisa { animation: none; }
}


#fs-pedido[hidden],
#fs-pedido-pie[hidden] { display: none !important; }


.fs-estado {
  border: none; color: #fff;
  transition: filter .12s, transform .07s;
}
.fs-estado-ok { background: #059669; }
.fs-estado-no { background: #DC2626; }
.fs-estado-gris { background: #6b7280; }
.fs-estado:hover { filter: brightness(1.07); }
html.light .fs-estado {
  border: 2px solid var(--lp-tinta);
  box-shadow: 4px 4px 0 var(--lp-tinta);
  transition: transform .07s steps(2), box-shadow .07s steps(2);
}
html.light .fs-estado:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--lp-tinta); filter: none; }
html.light .fs-estado:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--lp-tinta); }


.rf-boton {
  --rf-borde: #ced4da; --rf-fondo: #fff; --rf-tinta: #212529;
  display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px;
  border: 1px solid var(--rf-borde); border-radius: 4px; background: var(--rf-fondo);
  color: var(--rf-tinta); font-family: inherit; font-weight: 500; font-size: 14px; line-height: 1; font-variant-numeric: tabular-nums;
  cursor: pointer; white-space: nowrap;
}
.rf-boton:hover { border-color: #adb5bd; }

.rf-boton.cambiado, html:not(.light) .rf-boton.cambiado { background: #1d64d8; border-color: #1d64d8; color: #fff; }
.rf-boton.cambiado:hover { background: #1957c0; border-color: #1957c0; }
.rf-boton.cambiado .rf-ico { opacity: 1; }
.rf-ico { font-size: 17px; opacity: 0.75; }
.rf-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; margin-left: 2px; }

.rf-panel {
  --rf-borde: #dee2e6; --rf-fondo: #fff; --rf-tinta: #212529; --rf-tenue: #9aa0a6;
  --rf-azul: #1d64d8; --rf-tramo: #dbe7fb; --rf-hover: #f1f3f5;
  position: fixed; z-index: 120; display: flex; background: var(--rf-fondo); color: var(--rf-tinta);
  border: 1px solid var(--rf-borde); border-radius: 4px; box-shadow: 0 6px 24px rgba(0,0,0,0.14);
  font-size: 13px;
}
.rf-izq { padding: 8px; }
.rf-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 8px; }
.rf-campo {
  display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 8px;
  border: 1px solid #ced4da; border-radius: 4px; background: var(--rf-fondo);
}
.rf-campo:focus-within { border-color: var(--rf-azul); box-shadow: 0 0 0 1px var(--rf-azul) inset; }
.rf-campo .material-symbols-outlined { font-size: 16px; opacity: 0.6; }
html.light .rf-campo input:focus { box-shadow: none !important; }

.rf-campo input,
html.light .rf-campo input {
  border: none !important; outline: none !important; box-shadow: none !important; padding: 0 !important; height: auto !important;
  background: transparent !important; color: inherit; width: 100%; min-width: 0;
  font-family: inherit; font-weight: 400; font-size: 14px; line-height: 1; font-variant-numeric: tabular-nums; padding: 0; box-shadow: none;
}
.rf-cals { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rf-cal-cab { display: flex; align-items: center; justify-content: center; gap: 4px; height: 32px; margin-bottom: 4px; }
.rf-cal-cab select {
  height: 24px; padding: 0 18px 0 4px; font-size: 12.5px; color: inherit; background-color: var(--rf-fondo);
  border: 1px solid #adb5bd; border-radius: 2px; background-position: right 2px center; background-size: 14px;
}
.rf-flecha {
  width: 26px; height: 26px; border: none; background: none; color: inherit; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 4px;
}
.rf-flecha:hover { background: var(--rf-hover); }
.rf-flecha .material-symbols-outlined { font-size: 20px; }
.rf-cal:not(.rf-cal-der) .rf-cal-cab .rf-flecha:first-child { margin-right: auto; }
.rf-cal-der .rf-cal-cab .rf-flecha { margin-left: auto; }
.rf-solo-movil { display: none; }
.rf-tabla { border-collapse: collapse; }
.rf-tabla th { width: 33px; height: 30px; font-size: 11.5px; font-weight: 700; text-align: center; }
.rf-tabla td { padding: 0; }
.rf-dia {
  width: 33px; height: 33px; border: none; background: none; color: inherit; cursor: pointer;
  font-family: inherit; font-weight: 400; font-size: 13px; line-height: 1; font-variant-numeric: tabular-nums; border-radius: 3px;
}
.rf-dia:hover { background: var(--rf-hover); }
.rf-dia.fuera { color: var(--rf-tenue); }
.rf-dia.tramo { background: var(--rf-tramo); border-radius: 0; }
.rf-dia.sel, .rf-dia.sel:hover { background: var(--rf-azul); color: #fff; }

.rf-atajos { width: 164px; padding: 6px; border-left: 1px solid var(--rf-borde); display: flex; flex-direction: column; }
.rf-atajo {
  display: flex; align-items: center; gap: 2px; width: 100%; padding: 11px 8px; flex-shrink: 0; border: none; border-radius: 4px;
  background: none; color: inherit; text-align: left; cursor: pointer; font-family: inherit; font-weight: 600; font-size: 13px; line-height: 1.2;
}
.rf-atajo:hover, .rf-atajo.activo { background: var(--rf-hover); }
.rf-volver .material-symbols-outlined { font-size: 18px; margin-left: -4px; }
.rf-sep { height: 1px; background: var(--rf-borde); margin: 4px 0; flex-shrink: 0; }


html:not(.light) .rf-boton { --rf-borde: rgba(255,255,255,0.16); --rf-fondo: var(--lp-superficie, #1b1d24); --rf-tinta: #e7e9ee; }
html:not(.light) .rf-panel { --rf-borde: rgba(255,255,255,0.12); --rf-fondo: #1b1d24; --rf-tinta: #e7e9ee; --rf-tenue: #6b7280; --rf-tramo: rgba(29,100,216,0.28); --rf-hover: rgba(255,255,255,0.07); }
html:not(.light) .rf-campo { border-color: rgba(255,255,255,0.18); }
html:not(.light) .rf-cal-cab select { border-color: rgba(255,255,255,0.22); }


@media (max-width: 719px) {
  .rf-panel { flex-direction: column; max-height: calc(100vh - 80px); overflow-y: auto; }
  .rf-cals { grid-template-columns: 1fr; justify-items: center; }
  .rf-cal-der { display: none; }
  .rf-solo-movil { display: inline-flex; margin-left: auto; }
  .rf-atajos { width: auto; border-left: none; border-top: 1px solid var(--rf-borde); display: grid; grid-template-columns: 1fr 1fr; }
  .rf-sep { display: none; }
}
@media print { .rf-boton { border: none; padding: 0; } .rf-caret, .rf-ico { display: none; } }


.rf-nube {
  --rf-borde: #ced4da; --rf-fondo: #fff; --rf-tinta: #212529;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-width: 36px; height: 36px; padding: 0 8px; border: 1px solid var(--rf-borde); border-radius: 4px;
  background: var(--rf-fondo); color: var(--rf-tinta); cursor: pointer;
  font-family: inherit; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.rf-nube:hover { border-color: #adb5bd; }
.rf-nube:disabled { cursor: progress; opacity: 0.85; }

.rf-nube.rf-nube-limite:disabled { cursor: not-allowed; opacity: 0.55; }
.rf-nube.rf-nube-limite .rf-nube-prog { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.rf-nube .material-symbols-outlined { font-size: 20px; }
.rf-nube-prog:empty { display: none; }
.rf-menu {
  --rf-borde: #dee2e6; --rf-fondo: #fff; --rf-tinta: #212529; --rf-tenue: #6c757d; --rf-hover: #f1f3f5;
  position: fixed; z-index: 120; width: 290px; padding: 6px; background: var(--rf-fondo); color: var(--rf-tinta);
  border: 1px solid var(--rf-borde); border-radius: 4px; box-shadow: 0 6px 24px rgba(0,0,0,0.14);
}
.rf-menu-tit { margin: 4px 8px 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-tenue); }
.rf-menu-op {
  display: flex; align-items: flex-start; gap: 10px; width: 100%; padding: 10px 8px; border: none; border-radius: 4px;
  background: none; color: inherit; text-align: left; cursor: pointer; font-family: inherit;
}
.rf-menu-op:hover { background: var(--rf-hover); }
.rf-menu-op .material-symbols-outlined { font-size: 20px; opacity: 0.75; margin-top: 1px; }
.rf-menu-op b { display: block; font-size: 13px; font-weight: 700; }
.rf-menu-op small { display: block; font-size: 11.5px; color: var(--rf-tenue); margin-top: 2px; line-height: 1.35; }
html:not(.light) .rf-nube { --rf-borde: rgba(255,255,255,0.16); --rf-fondo: var(--lp-superficie, #1b1d24); --rf-tinta: #e7e9ee; }
html:not(.light) .rf-menu { --rf-borde: rgba(255,255,255,0.12); --rf-fondo: #1b1d24; --rf-tinta: #e7e9ee; --rf-tenue: #9aa0a6; --rf-hover: rgba(255,255,255,0.07); }
@media print { .rf-nube { display: none; } }


.lp-tareas {
  position: fixed; right: 16px; bottom: 16px; z-index: 115;
  display: flex; flex-direction: column; gap: 8px; pointer-events: none;
}
.lp-tarea {
  pointer-events: auto; display: flex; align-items: center; gap: 10px;
  min-width: 250px; max-width: 340px; padding: 10px 14px; border-radius: 10px;
  background: #1b1d24; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.lp-tarea-ico { font-size: 20px; color: #7c8bff; flex-shrink: 0; }
.lp-tarea.ok .lp-tarea-ico { color: #34d399; }
.lp-tarea.mal .lp-tarea-ico { color: #f87171; }
.lp-tarea-txt { display: flex; flex-direction: column; min-width: 0; }
.lp-tarea-txt b { font-size: 12.5px; font-weight: 700; }
.lp-tarea-txt small { font-size: 11.5px; opacity: 0.75; font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 640px) { .lp-tareas { left: 12px; right: 12px; bottom: auto; top: 64px; } .lp-tarea { max-width: none; } }
@media print { .lp-tareas { display: none; } }


.sol-caja { padding: 18px 18px 16px; border-radius: 16px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); }
html.light .sol-caja { background: #fff; border: 1.5px solid rgba(11,16,36,0.13); box-shadow: 0 1px 2px rgba(11,16,36,0.04); }
.sol-rotulo { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sol-num {
  width: 22px; height: 22px; border-radius: 999px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0; background: #f5c542; color: #0b1024;
}
.sol-opcional { font-weight: 600; text-transform: none; letter-spacing: 0; opacity: .55; }
.sol-texto {
  display: block; width: 100%; min-height: 120px; resize: vertical; padding: 14px 16px; border-radius: 12px;
  font-size: 16px; line-height: 1.5; color: inherit;
  background: rgba(255,255,255,0.05); border: 1.5px solid rgba(255,255,255,0.14);
}
.sol-texto::placeholder { color: rgba(161,161,170,0.85); }
.sol-texto:focus { outline: none; border-color: rgba(124,139,255,.6); box-shadow: 0 0 0 3px rgba(124,139,255,.15); }
html.light .sol-texto { background: #fbfaf6; border-color: rgba(11,16,36,.2); color: var(--lp-tinta); }
html.light .sol-texto::placeholder { color: #6b7086; }
html.light .sol-texto:focus, html.light .sol-texto:focus-visible { outline: none; border-color: var(--lp-tinta); box-shadow: 0 0 0 3px rgba(245,197,66,.45); }

.sol-extras { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.sol-boton {
  display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 10px;
  font-size: 13px; font-weight: 700; color: inherit; background: transparent; border: 1.5px solid rgba(255,255,255,.14);
}
.sol-boton .material-symbols-outlined { font-size: 20px; }
.sol-boton:hover { background: rgba(255,255,255,.06); }
html.light .sol-boton { border-color: rgba(11,16,36,.2); }
html.light .sol-boton:hover { background: #f4f2ea; }


.sol-placa { display: flex; align-items: stretch; max-width: 300px; border: 2px solid #0b1024; border-radius: 8px; overflow: hidden; background: #fff; }
.sol-placa:focus-within { box-shadow: 0 0 0 3px rgba(245,197,66,.55); }
.sol-placa-ue { width: 32px; flex-shrink: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 6px; background: #1f4fbf; color: #fff; font-size: 13px; font-weight: 800; }
.sol-placa input,
html.light .sol-placa input {
  flex: 1; min-width: 0; padding: 10px 14px;
  border: none !important; outline: none !important; box-shadow: none !important; background: #fff !important;
  font-family: ui-monospace, 'JetBrains Mono', Consolas, monospace; font-size: 22px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: #0b1024;
}
.sol-placa input::placeholder { color: #b4b7c3; }


.sol-opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (max-width: 420px) { .sol-opciones { grid-template-columns: 1fr; } }
.sol-opcion {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px; border-radius: 12px; text-align: left;
  color: inherit; background: transparent; border: 1.5px solid rgba(255,255,255,.12);
}
.sol-opcion .material-symbols-outlined { font-size: 22px; opacity: .55; }
.sol-opcion b { display: block; font-size: 14px; }
.sol-opcion small { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.3; opacity: .7; }
.sol-opcion.on { border-color: rgb(124,139,255); background: rgba(124,139,255,.12); }
.sol-opcion.on .material-symbols-outlined { opacity: 1; color: rgb(124,139,255); }
html.light .sol-opcion { border-color: rgba(11,16,36,.18); }
html.light .sol-opcion.on { border-color: var(--lp-tinta); background: #fff8df; box-shadow: 3px 3px 0 var(--lp-tinta); }
html.light .sol-opcion.on .material-symbols-outlined { color: var(--lp-tinta); }


.sol-subrotulo { margin: 14px 0 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.sol-urgencia { display: grid; grid-template-columns: repeat(3, 1fr); border: 1.5px solid rgba(255,255,255,.12); border-radius: 10px; overflow: hidden; }
.sol-urg { padding: 10px 6px; font-size: 12.5px; font-weight: 700; color: inherit; background: transparent; opacity: .75; border-left: 1px solid rgba(255,255,255,.1); }
.sol-urg:first-child { border-left: none; }
.sol-urg.on { opacity: 1; }
.sol-urg.on[data-urg="normal"] { background: rgba(255,255,255,.12); }
.sol-urg.on[data-urg="urgente"] { background: #f59e0b; color: #1a1200; }
.sol-urg.on[data-urg="ya_mismo"] { background: #dc2626; color: #fff; }
html.light .sol-urgencia { border-color: rgba(11,16,36,.2); }
html.light .sol-urg { border-left-color: rgba(11,16,36,.12); }
html.light .sol-urg.on[data-urg="normal"] { background: var(--lp-tinta); color: var(--lp-papel); }


.le-seccion { margin-top: 22px; }
.le-seccion:first-child { margin-top: 4px; }
.le-titulo {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
  font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
summary.le-titulo { cursor: pointer; list-style: none; opacity: .75; }
summary.le-titulo::-webkit-details-marker { display: none; }
summary.le-titulo::after { content: "expand_more"; font-family: "Material Symbols Outlined"; font-size: 18px; text-transform: none; letter-spacing: 0; transition: transform .15s; }
details[open] > summary.le-titulo::after { transform: rotate(180deg); }
.le-punto { width: 8px; height: 8px; border-radius: 50%; background: var(--c); flex-shrink: 0; }
.le-cuenta { font-variant-numeric: tabular-nums; opacity: .55; }
.le-vacio { padding: 14px 16px; border-radius: 12px; font-size: 13px; opacity: .6; border: 1px dashed rgba(127,127,127,.3); }

.le-scroll { overflow-x: auto; border-radius: 12px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); }
html.light .le-scroll { background: #fff; border: 1.5px solid rgba(11,16,36,0.12); }
.le-tabla { width: 100%; min-width: 1000px; table-layout: fixed; border-collapse: collapse; font-size: 13.5px; }
.le-tabla th {
  padding: 10px 14px; text-align: left; white-space: nowrap;
  font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6;
  border-bottom: 1px solid rgba(127,127,127,.2);
}
.le-tabla td { padding: 11px 14px; vertical-align: top; border-bottom: 1px solid rgba(127,127,127,.12); }
.le-tabla tbody tr:last-child td { border-bottom: none; }
.le-tabla tr[data-le-doc] { cursor: pointer; }
.le-tabla tbody tr:hover { background: rgba(127,127,127,.07); }
html.light .le-tabla tbody tr:hover { background: #f7f6f1; }
.le-cerrada .le-tabla td { opacity: .8; }

.le-ref { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-weight: 800; overflow-wrap: anywhere; }
.le-desc { line-height: 1.35; overflow-wrap: anywhere; }
.le-qty { font-weight: 800; color: #D97706; white-space: nowrap; }
.le-etiqueta { font-size: 11px; font-weight: 800; color: var(--c); white-space: nowrap; }
.le-alb, .le-mat, .le-fecha { white-space: nowrap; }
.le-mat { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; }
.le-fecha { font-variant-numeric: tabular-nums; opacity: .8; }
.le-link { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-weight: 700; color: rgb(124,139,255); }
button.le-link:hover { text-decoration: underline; }
html.light .le-link { color: #4452c4; }
.le-sub { display: block; font-size: 11.5px; opacity: .7; margin-top: 2px; }
.le-sit { overflow-wrap: anywhere; }
.le-estado { display: flex; align-items: baseline; gap: 7px; line-height: 1.35; }
.le-estado + .le-estado, .le-estado + .le-nota, .le-estado + .le-aviso { margin-top: 5px; }
.le-estado::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c); flex-shrink: 0; transform: translateY(-1px); }
.le-estado small { display: block; font-size: 11.5px; opacity: .65; }
.le-nota { display: block; padding: 4px 8px; border-radius: 6px; font-size: 12.5px; line-height: 1.35; border-left: 3px solid var(--c); background: rgba(127,127,127,.08); }
.le-nota b { color: var(--c); font-weight: 700; }
.le-aviso { display: block; font-size: 12px; font-weight: 600; color: #D97706; }

.le-acc { white-space: nowrap; text-align: right; }
.le-acc-in { display: inline-flex; align-items: center; gap: 8px; }
.le-btn {
  display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 8px; white-space: nowrap;
  font-size: 12px; font-weight: 800; color: inherit; background: transparent; border: 1px solid rgba(127,127,127,.35);
}
.le-btn:hover { background: rgba(127,127,127,.1); }
.le-btn-ok { color: #059669; border-color: rgba(5,150,105,.45); }
.le-btn-ok:hover { background: rgba(5,150,105,.1); }
.le-btn-ok.fuerte { background: #059669; color: #fff; border-color: #059669; }

.le-btn.dv-undo:hover { background: rgba(220, 38, 38, .1); color: #dc2626; border-color: rgba(220, 38, 38, .45); }
.le-enlace { font-size: 12px; font-weight: 700; opacity: .7; color: inherit; }
.le-enlace:hover { opacity: 1; color: #DC2626; }


.le-buscar {
  display: flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 6px 8px 6px 12px; border-radius: 12px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1);
}
.le-buscar:focus-within { border-color: rgba(124,139,255,.5); }
html.light .le-buscar { background: #fff; border: 1.5px solid rgba(11,16,36,0.12); }
html.light .le-buscar:focus-within { border-color: rgba(11,16,36,0.4); }
.le-buscar > .material-symbols-outlined { font-size: 19px; opacity: .6; }
.le-buscar input,
html.light .le-buscar input {
  flex: 1; min-width: 0; height: 32px; padding: 0 !important; font-size: 14px; color: inherit;
  border: none !important; background: transparent !important; box-shadow: none !important; outline: none !important;
}
.le-buscar-sep { width: 1px; height: 20px; background: rgba(127,127,127,.25); flex-shrink: 0; }


.lp-cart-count {
  position: absolute; top: 2px; right: 1px; min-width: 16px; height: 16px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 999px;
  font-size: 9.5px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums;
  background: #dc2626; color: #fff; pointer-events: none;
}
.lp-cart-count[hidden] { display: none; }
.lp-cg-panel { animation: lp-cg-entra .18s ease-out; }
@keyframes lp-cg-entra { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .lp-cg-panel { animation: none; } }
html.light .lp-cg-panel { background: #fff !important; border-left: 2px solid var(--lp-tinta); }


html.light .lp-ces-sec {
  background: #fff !important;
  color: var(--lp-tinta) !important;
  border: 2px solid var(--lp-tinta);
  box-shadow: 4px 4px 0 var(--lp-tinta);
  transition: transform .07s steps(2), box-shadow .07s steps(2);
}
html.light .lp-ces-sec:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--lp-tinta); }
html.light .lp-ces-sec:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--lp-tinta); }
@media (prefers-reduced-motion: reduce) { html.light .lp-ces-sec { transition: none; } }



.veh-buscador { display: grid; grid-template-columns: 1fr 2fr 1fr 1fr; align-items: stretch; gap: 16px; margin: 18px 0 16px; }
@media (max-width: 900px) { .veh-buscador { grid-template-columns: 1fr 1fr; } .veh-buscador .veh-cliente-q { grid-column: 2; } }
@media (max-width: 560px) { .veh-buscador { grid-template-columns: 1fr; } .veh-buscador .veh-cliente-q { grid-column: auto; } }
.veh-placa { width: 100%; max-width: none; min-width: 0; cursor: text; }

.veh-cliente-q, .veh-fecha { display: flex; align-items: center; gap: 8px; min-width: 0; box-sizing: border-box; min-height: 52px; padding: 0 14px; border-radius: 8px; cursor: text;
  border: 2px solid rgba(127,127,127,.4); background: rgba(255,255,255,.04); }
html.light .veh-cliente-q, html.light .veh-fecha { border-color: #0b1024; background: #fff; }
.veh-cliente-q:focus-within, .veh-fecha:focus-within { box-shadow: 0 0 0 3px rgba(245,197,66,.55); }
.veh-fecha > span { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; flex-shrink: 0; }
.veh-fecha input, html.light .veh-fecha input[type] { flex: 1; min-width: 0; padding: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; outline: none !important; font-size: 15px; color: inherit; font-family: inherit; }
.veh-cliente-q .material-symbols-outlined { font-size: 22px; opacity: .55; }
.veh-cliente-q input, html.light .veh-cliente-q input[type] { flex: 1; min-width: 0; padding: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; outline: none !important; font-size: 16px; color: inherit; }
.veh-placa .sol-placa-ue { width: 30px; font-size: 12px; padding-bottom: 5px; }
.veh-placa input,
html.light .veh-placa input { font-size: 24px; padding: 8px 14px; text-align: center; }
.veh-rotulo { margin: 18px 0 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }

.veh-filas { border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); }
html.light .veh-filas { background: #fff; border: 1.5px solid rgba(11,16,36,0.12); }
.veh-fila {
  display: grid; grid-template-columns: minmax(0, 2fr) 110px minmax(0, 1.3fr) 130px 90px 110px 24px;
  align-items: center; gap: 12px; width: 100%; padding: 11px 16px; text-align: left; color: inherit;
  border-bottom: 1px solid rgba(127,127,127,.12); font-size: 13.5px;
}
.veh-fila:last-child { border-bottom: none; }
button.veh-fila:hover { background: rgba(127,127,127,.07); }
html.light button.veh-fila:hover { background: #f7f6f1; }
.veh-fila-cab { padding-top: 9px; padding-bottom: 9px; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.veh-f-modelo { font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.veh-f-mat { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-weight: 700; }
.veh-f-dueno, .veh-f-tel { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .8; }
.veh-f-tel { font-variant-numeric: tabular-nums; }
.veh-f-num, .veh-f-fecha { font-variant-numeric: tabular-nums; opacity: .75; }
.veh-f-flecha { font-size: 18px; opacity: .4; }
@media (max-width: 640px) {
  .veh-fila { grid-template-columns: minmax(0, 1fr) auto 20px; }
  .veh-f-dueno, .veh-f-tel, .veh-f-num, .veh-f-fecha, .veh-fila-cab { display: none; }
}

.veh-ficha {
  margin: 0 0 8px; border-radius: 16px; overflow: hidden;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1);
}
html.light .veh-ficha { background: #fff; border: 1.5px solid rgba(11,16,36,0.14); }
.veh-acciones { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.veh-placa-mini { width: 210px; }
.veh-placa-mini input,
html.light .veh-placa-mini input { font-size: 20px; padding: 7px 12px; }

.veh-cambiar {
  display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: 12px;
  font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff;
}
.veh-cambiar .material-symbols-outlined { font-size: 19px; }

.veh-titulo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.veh-volver { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; color: inherit; border: 1.5px solid rgba(127,127,127,.4); background: transparent; }
.veh-volver:hover { background: rgba(127,127,127,.12); }
html.light .veh-volver { border-color: var(--lp-tinta); background: #fff; }
.veh-volver .material-symbols-outlined { font-size: 22px; }

.veh-cabecera { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 12px 18px; min-width: 0; }
.veh-ficha-modelo { font-family: var(--lp-display, inherit); font-size: 30px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.veh-ficha-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.veh-bloque { padding: 10px 18px 12px; min-width: 0; }
.veh-cabecera + .veh-bloque { border-left: 1px solid rgba(127,127,127,.15); }
@media (max-width: 900px) {
  .veh-ficha-cuerpo { grid-template-columns: 1fr; }
  .veh-cabecera + .veh-bloque { border-left: none; border-top: 1px solid rgba(127,127,127,.15); }
}
.veh-bloque-tit { display: flex; align-items: baseline; margin-bottom: 6px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.veh-bloque-tit span { margin-left: 6px; font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .55; }
.veh-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; }
.veh-campo-nota { grid-column: 1 / -1; }
@media (max-width: 640px) { .veh-campos { grid-template-columns: 1fr; } }
.veh-campo > span { display: block; margin-bottom: 4px; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.veh-campo input, .veh-campo textarea,
html.light .veh-campo input, html.light .veh-campo input[type] {
  width: 100%; padding: 9px 11px; border-radius: 10px; font-size: 13.5px; color: inherit; resize: vertical;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(127,127,127,.3) !important; box-shadow: none !important;
}
html.light .veh-campo input, html.light .veh-campo textarea { background: #fbfaf6 !important; }
.veh-campo input:focus, .veh-campo textarea:focus,
html.light .veh-campo input:focus { outline: none !important; border-color: rgba(124,139,255,.7) !important; }

.veh-tabla { min-width: 1180px; }

@media (max-width: 700px) {
  .veh-tabla { min-width: 0; display: block; }
  .veh-tabla colgroup, .veh-tabla thead { display: none; }
  .veh-tabla tbody { display: block; }
  .veh-tabla tbody tr:not(.veh-equiv-fila) { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 4px; padding: 12px 14px;
    border-bottom: 1px solid rgba(127,127,127,.15);
    grid-template-areas: "ref precio" "desc desc" "alb uds" "stock stock" "qty acc"; }
  .veh-tabla tbody td { display: block; padding: 0; border: 0; min-width: 0; }
  .veh-tabla td.le-ref { grid-area: ref; }
  .veh-tabla td.le-desc { grid-area: desc; font-weight: 700; }
  .veh-tabla td.le-alb { grid-area: alb; font-size: 12px; }
  .veh-tabla td.veh-c-uds { grid-area: uds; font-size: 12px; text-align: right; }
  .veh-tabla td.veh-c-uds::before { content: 'Uds. '; opacity: .6; }
  .veh-tabla td.veh-c-stock { grid-area: stock; }
  .veh-tabla td.veh-c-precio { grid-area: precio; text-align: right; }
  .veh-tabla td.veh-c-qty { grid-area: qty; align-self: center; }
  .veh-tabla td.le-acc { grid-area: acc; align-self: center; }
  .veh-tabla .veh-equiv-fila, .veh-tabla .veh-equiv-fila td { display: block; }
}

.vp-panel { position: relative; width: min(560px, 100%); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; background: #fff; color: #0b1024;
  border-radius: 18px 18px 0 0; box-shadow: 0 -10px 40px rgba(0,0,0,.25); }
@media (min-width: 768px) { .vp-panel { border-radius: 18px; border: 2px solid #0b1024; box-shadow: 6px 6px 0 #0b1024; } }
html:not(.light) .vp-panel { background: #15171c; color: #f4f4f5; }
.vp-cab { display: flex; align-items: flex-start; gap: 12px; padding: 18px 18px 12px; border-bottom: 1px solid rgba(127,127,127,.18); }
.vp-cab > div { flex: 1; min-width: 0; }
.vp-tit { margin: 0; font-weight: 900; font-size: 18px; }
.vp-sub { margin: 2px 0 0; font-size: 13px; opacity: .7; }
.vp-x { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.vp-x:hover { background: rgba(127,127,127,.14); }
.vp-lista { overflow-y: auto; padding: 6px 18px; overscroll-behavior: contain; }
.vp-fila { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(127,127,127,.14); }
.vp-fila:last-child { border-bottom: 0; }
.vp-fuera .vp-info, .vp-fuera .vp-der { opacity: .4; }
.vp-chk { width: 20px; height: 20px; accent-color: #059669; cursor: pointer; }
.vp-desc { margin: 0; font-weight: 800; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
.vp-ref { margin: 2px 0 4px; font-family: ui-monospace, monospace; font-size: 12px; font-weight: 700; color: #5e6ad2; overflow-wrap: anywhere; }
.vp-dispo { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--c); }
.vp-dispo i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.vp-der { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.vp-neto { font-weight: 900; font-size: 14px; font-variant-numeric: tabular-nums; }
.vp-pie { display: flex; gap: 10px; padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(127,127,127,.18); }
.vp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 0 18px; border-radius: 12px; font-weight: 800; font-size: 14px; }
.vp-no { background: rgba(127,127,127,.12); }
.vp-si { flex: 1; background: #059669; color: #fff; }
.vp-si:disabled { opacity: .45; cursor: not-allowed; }
.veh-qty { display: inline-flex; align-items: center; border: 1px solid rgba(127,127,127,.35); border-radius: 8px; overflow: hidden; }
.veh-qty button { width: 28px; height: 30px; font-size: 16px; font-weight: 700; color: inherit; }
.veh-qty button:hover { background: rgba(127,127,127,.12); }
.veh-qty input,
html.light .veh-qty input {
  width: 38px; height: 30px; padding: 0 !important; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums;
  border: none !important; border-left: 1px solid rgba(127,127,127,.25) !important; border-right: 1px solid rgba(127,127,127,.25) !important;
  background: transparent !important; box-shadow: none !important; color: inherit;
}
.le-btn .material-symbols-outlined { font-size: 16px; margin-right: 4px; }
.le-btn.veh-on { background: rgba(124,139,255,.14); border-color: rgba(124,139,255,.5); }
.veh-equiv-fila td { background: rgba(124,139,255,.06); }
.veh-equiv { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.4; }
.veh-equiv > .material-symbols-outlined { color: rgb(124,139,255); }


.lp-centros[hidden] { display: none; }
.lp-centros { margin: 0 0 12px; }
.lp-centros-m { margin-bottom: 16px; }
.lp-centros-tit { margin: 0 2px 6px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .6; }
.lp-centro {
  display: flex; align-items: center; gap: 8px; width: 100%; margin-bottom: 5px; padding: 7px 9px; border-radius: 10px;
  text-align: left; font-size: 12.5px; font-weight: 600; color: inherit; cursor: pointer;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1);
}
html.light .lp-centro { background: #fff; border: 1.5px solid rgba(11,16,36,0.12); }
.lp-centro-num { min-width: 18px; font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-size: 11px; opacity: .55; }
.lp-centro-nombre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-centro-sw { position: relative; width: 28px; height: 16px; border-radius: 99px; background: rgba(127,127,127,.35); flex-shrink: 0; transition: background .15s; }
.lp-centro-sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: left .15s; }
.lp-centro.on { border-color: rgba(124,139,255,.6); background: rgba(124,139,255,.12); }
.lp-centro.on .lp-centro-sw { background: rgb(94,106,210); }
.lp-centro.on .lp-centro-sw::after { left: 14px; }
html.light .lp-centro.on { border-color: var(--lp-tinta); background: #fff8df; }
html.light .lp-centro.on .lp-centro-sw { background: var(--lp-tinta); }
.lp-centro.no { opacity: .4; cursor: not-allowed; }
.lp-centros-aviso { min-height: 14px; margin: 2px 2px 0; font-size: 11px; color: #DC2626; }
.lp-perm-centros { margin-top: 14px; }
.lp-perm-centro { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 99px; font-size: 13px; cursor: pointer; border: 1px solid rgba(127,127,127,.35); }
.lp-perm-centro:has(input:checked) { border-color: #059669; background: rgba(5,150,105,.12); color: #059669; font-weight: 700; }
.lp-perm-centro:has(input:disabled) { opacity: .6; cursor: default; }
@media (prefers-reduced-motion: reduce) { .lp-centro-sw, .lp-centro-sw::after { transition: none; } }


.lp-legal-pie { display: flex; flex-wrap: wrap; gap: 2px 6px; padding: 10px 4px 0; margin-top: 6px; border-top: 1px solid rgba(127,127,127,.2); font-size: 10.5px; opacity: .6; }
.lp-legal-pie a:hover { text-decoration: underline; opacity: 1; }
@media (min-width: 768px) { html.lp-nav-min .lp-legal-pie { display: none; } }
.veh-borrar { margin-left: auto; font-size: 11px; font-weight: 700; text-transform: none; letter-spacing: 0; color: #DC2626; }
.veh-borrar:hover { text-decoration: underline; }
.sol-legal { margin: 0 0 24px; font-size: 11.5px; line-height: 1.5; text-align: center; opacity: .65; }
.sol-legal a { text-decoration: underline; }


.lp-legal-card { border: 1px solid rgba(255,255,255,.14); }
.lp-lg-enlace { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; font-size: 13.5px; font-weight: 700; border: 1px solid rgba(127,127,127,.35); }
html.light .lp-lg-enlace { border: 2px solid var(--lp-tinta); background: #fff; }
.lp-lg-enlace:hover { background: rgba(127,127,127,.1); }
html.light .lp-lg-enlace:hover { background: var(--lp-amarillo); }
.lp-lg-enlace .material-symbols-outlined { font-size: 18px; }
.lp-lg-nota { margin: 0 0 16px; padding: 10px 12px; font-size: 12.5px; line-height: 1.45; background: rgba(124,139,255,.1); }
.lp-lg-check { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px; font-size: 13.5px; line-height: 1.45; cursor: pointer; }
.lp-lg-check input { margin-top: 3px; width: 20px; height: 20px; flex-shrink: 0; }
.lp-lg-error { margin: 0 0 12px; font-size: 12.5px; font-weight: 700; color: #DC2626; }
.lp-legal-gate button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none !important; transform: none !important; }
.lp-lg-prueba { margin: 0 0 12px; padding: 5px 10px; display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: #f5c542; color: #0b1024; }


.veh-dev { display: inline-flex; align-items: center; gap: 4px; margin: 3px 0 0 0; padding: 1px 8px 1px 5px; font-size: 11px; font-weight: 700; line-height: 1.5; color: #b45309; background: #d977061f; border: 1px solid #d9770655; border-radius: 6px; }
.veh-dev .material-symbols-outlined { font-size: 14px; line-height: 1; }
.le-desc .veh-dev { display: flex; width: fit-content; }
.veh-dev-mini { margin: 0 4px 0 0; padding: 0 6px; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }


.bd-wrap { overflow-x: auto; background: var(--lp-hoja, #fff); border-radius: 14px; }
.bd-tabla { width: 100%; border-collapse: collapse; font-size: 13px; }
.bd-tabla th { padding: 10px 12px; text-align: left; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; white-space: nowrap; border-bottom: 1px solid rgba(128, 128, 128, .25); }
.bd-tabla td { padding: 10px 12px; vertical-align: top; border-top: 1px solid rgba(128, 128, 128, .18); }
.bd-fila { cursor: pointer; }
.bd-fila:hover, .bd-fila:focus-visible { background: rgba(94, 106, 210, .09); outline: none; }
.bd-cli { font-weight: 800; min-width: 170px; }
.bd-mono { font-family: ui-monospace, 'JetBrains Mono', Consolas, monospace; font-size: 12px; white-space: nowrap; }
.bd-nowrap { white-space: nowrap; }
.bd-total { text-align: right; white-space: nowrap; font-weight: 800; font-variant-numeric: tabular-nums; }
.bd-tipo { display: inline-block; padding: 1px 8px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; border-radius: 6px; border: 1.5px solid currentColor; }
.bd-abono { color: #dc2626; }
.bd-cargo { color: #059669; }
.bd-lineas { min-width: 320px; }
.bd-linea { display: grid; grid-template-columns: 104px 1fr auto; gap: 10px; padding: 2px 0; }
.bd-linea b { font-family: ui-monospace, 'JetBrains Mono', Consolas, monospace; font-size: 12px; }
.bd-linea em { font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bd-linea:not(.bd-casa) { opacity: .75; }
.bd-mark { background: #f5c542; color: #0b1024; padding: 0 2px; border-radius: 3px; }


.bf-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.bf-mas-caja { position: relative; }
.bf-mas, .bf-limpiar { padding: 6px 12px; font-size: 12px; font-weight: 800; border-radius: 10px; border: 1.5px dashed rgba(128, 128, 128, .55); background: transparent; color: inherit; cursor: pointer; }
.bf-mas:hover:not(:disabled) { border-style: solid; }
.bf-mas:disabled { opacity: .4; cursor: default; }
.bf-limpiar { border: 0; opacity: .65; text-decoration: underline; }
.bf-menu { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; min-width: 190px; padding: 4px; border-radius: 12px; background: var(--lp-hoja, #fff); border: 1.5px solid rgba(128, 128, 128, .35); box-shadow: 0 10px 28px rgba(0, 0, 0, .18); }
.bf-menu[hidden] { display: none; }
.bf-menu button { display: block; width: 100%; padding: 8px 12px; text-align: left; font-size: 13px; font-weight: 700; border-radius: 8px; background: none; border: 0; color: inherit; cursor: pointer; }
.bf-menu button:hover { background: rgba(94, 106, 210, .12); }
.bf-ficha { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 12px; font-size: 12px; border-radius: 999px; border: 1.5px solid rgba(94, 106, 210, .55); background: rgba(94, 106, 210, .08); }
.bf-ficha b { font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.bf-pre { opacity: .6; }
.bf-campo { padding: 3px 6px; font-size: 12px; border-radius: 8px; border: 1px solid rgba(128, 128, 128, .35); background: var(--lp-hoja, #fff); color: inherit; }
.bf-text { width: 130px; }
.bf-number { width: 78px; }
.bf-quitar { width: 22px; height: 22px; line-height: 1; font-size: 11px; font-weight: 800; border-radius: 999px; border: 0; background: rgba(128, 128, 128, .22); color: inherit; cursor: pointer; }
.bf-quitar:hover { background: #dc2626; color: #fff; }


.hp-list { position: relative; }
.hp-centinela { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
.hp-list.hp-list-cabe { overflow: clip; }
.hp-list.hp-list-cabe .hp-list-header {
  --p: 0; --cab-gris: #2c3038; --cab-fondo: rgba(0, 0, 0, .02); --cab-texto: #5a6a80;
  position: sticky; top: var(--lp-sticky-top, 48px); z-index: 20;
  padding-top: calc(10px + 8px * var(--p)); padding-bottom: calc(10px + 8px * var(--p));
  font-size: calc(10px + 2px * var(--p));
  background-color: color-mix(in srgb, var(--cab-gris) calc(var(--p) * 100%), var(--cab-fondo));
  color: color-mix(in srgb, #ffffff calc(var(--p) * 100%), var(--cab-texto));
  border-bottom: 2px solid color-mix(in srgb, var(--cab-gris) calc(var(--p) * 100%), rgba(0, 0, 0, .06));
  box-shadow: 0 6px 0 rgba(11, 16, 36, calc(var(--p) * .14));
}
html:not(.light) .hp-list.hp-list-cabe .hp-list-header {
  --cab-fondo: rgba(255, 255, 255, .02); --cab-texto: #a0b0c0;
  border-bottom-color: color-mix(in srgb, rgba(255, 255, 255, .5) calc(var(--p) * 100%), rgba(255, 255, 255, .06));
  box-shadow: 0 8px 18px rgba(0, 0, 0, calc(var(--p) * .55));
}


.veh-devolvio { display: inline-flex; align-items: center; gap: 4px; margin: 3px 0 0 0; font-size: 11px; font-weight: 900; line-height: 1.5; text-transform: uppercase; letter-spacing: .05em; color: #ea580c; }
.veh-devolvio .material-symbols-outlined { font-size: 15px; line-height: 1; }
.le-desc .veh-devolvio { display: flex; width: fit-content; }


.dep-aviso { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 9px 12px; border-radius: 10px; font-size: 12.5px; line-height: 1.45; background: rgba(245, 197, 66, .18); }
.dep-aviso .material-symbols-outlined { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.dep-neg { color: #ea580c; }
.dep-revisar { display: inline-block; margin-left: 6px; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: #ea580c; }


.lp-cl { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 220px); opacity: 0; animation: lp-cl-aparece .25s ease-out .6s forwards; }
html.light { --lp-cl-aro: #1f2a44; }   
.lp-cl { flex-direction: column; }

@keyframes lp-cl-aparece { to { opacity: 1; } }

.fs-precio { display: grid; grid-template-columns: 1fr auto; align-items: stretch; margin-top: 12px; border: 2px solid rgba(127,127,127,.45); border-radius: 8px; overflow: hidden; }
html.light .fs-precio { border-color: var(--lp-tinta); background: #fff; }
.fs-precio-cuenta { display: flex; flex-direction: column; justify-content: center; gap: 6px; margin: 0; padding: 12px 16px; font-variant-numeric: tabular-nums; }
.fs-precio-cuenta > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.fs-precio-cuenta dt { font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.fs-precio-cuenta dd { margin: 0; font-size: 15px; font-weight: 700; }
.fs-precio-dto dt, .fs-precio-dto dd { color: #059669; opacity: 1; }
.fs-precio-base dt { opacity: .5; }
.fs-precio-neto { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 2px; padding: 10px 20px; min-width: 40%; border-left: 2px solid rgba(127,127,127,.45); background: rgba(127,127,127,.08); }
html.light .fs-precio-neto { border-left-color: var(--lp-tinta); background: #f5f4ee; }
.fs-precio-neto span { font-size: 10.5px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.fs-precio-neto strong { font-family: inherit; font-size: 34px; line-height: 1; font-weight: 900; letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 420px) { .fs-precio { grid-template-columns: 1fr; } .fs-precio-neto { border-left: none; border-top: 2px solid rgba(127,127,127,.45); align-items: flex-end; } }


.veh-tabla td.le-ref, .veh-tabla td.le-ref .le-link { white-space: nowrap; }


.veh-guardar { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; padding: 5px 12px; border-radius: 6px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.veh-guardar .material-symbols-outlined { font-size: 15px; margin-left: 0; opacity: 1; font-weight: 400; }
.veh-guardar:disabled { opacity: .4; cursor: default; box-shadow: none !important; transform: none !important; }
.veh-guardar + .veh-borrar { margin-left: 14px; }
.veh-campo input[aria-invalid="true"], .veh-campo textarea[aria-invalid="true"] { border-color: #DC2626 !important; box-shadow: 0 0 0 3px rgba(220,38,38,.2) !important; }


.lampi-img { display: block; width: 100%; height: auto; user-select: none; pointer-events: none; }

html:not(.light) .lampi-img { filter: drop-shadow(1.6px 0 0 #e8ecf8) drop-shadow(-1.6px 0 0 #e8ecf8) drop-shadow(0 1.6px 0 #e8ecf8) drop-shadow(0 -1.6px 0 #e8ecf8); }
.lampi-vivo { cursor: pointer; }
.cat-ico-fp { width: 22px; height: 22px; flex: none; } 
.lampi-vivo.enfadado .lampi-img { animation: lampi-tiembla .09s linear infinite alternate; } 
@keyframes lampi-tiembla { from { transform: translateX(-2.5px) rotate(-1.5deg); } to { transform: translateX(2.5px) rotate(1.5deg); } }
.lampi-panel { position: fixed; inset: 0; z-index: 87; pointer-events: none; visibility: hidden; }
.lampi-panel.abierto { pointer-events: auto; visibility: visible; }
.lampi-fondo { position: absolute; inset: 0; background: rgba(8, 12, 30, .45); opacity: 0; transition: opacity .25s; }
.lampi-panel.abierto .lampi-fondo { opacity: 1; }
.lampi-aside { position: absolute; top: 0; right: 0; bottom: 0; width: min(100%, 420px); display: flex; flex-direction: column; background: #12151c; color: #f4f4f5;
  box-shadow: -8px 0 32px rgba(0,0,0,.35); transform: translateX(100%); transition: transform .3s cubic-bezier(.22,1,.36,1); }
.lampi-panel.abierto .lampi-aside { transform: none; }
html.light .lampi-aside { background: #fff; color: var(--lp-tinta); border-left: 2px solid var(--lp-tinta); }
.lampi-cab { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid rgba(127,127,127,.2); flex-shrink: 0; }
.lampi-mini { width: 0; overflow: hidden; transition: width .3s; flex-shrink: 0; }
.modo-chat .lampi-mini { width: 54px; }
.lampi-cab-txt { flex: 1; min-width: 0; }
.lampi-nombre { margin: 0; font-weight: 900; font-size: 17px; letter-spacing: -.01em; }
.lampi-sub { margin: 0; font-size: 11.5px; opacity: .6; }
.lampi-x { padding: 6px; border-radius: 8px; }
.lampi-x:hover { background: rgba(127,127,127,.15); }
.lampi-chat { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.lampi-msg { max-width: 88%; padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.45; animation: lampi-entra .25s ease-out; }
.lampi-msg.bot { align-self: flex-start; background: rgba(127,127,127,.14); border-bottom-left-radius: 4px; }
.lampi-msg.yo { align-self: flex-end; background: #f5c542; color: #0b1024; font-weight: 600; border-bottom-right-radius: 4px; }
html.light .lampi-msg.bot { background: #f2f1ea; border: 2px solid var(--lp-tinta); box-shadow: 3px 3px 0 var(--lp-tinta); }
html.light .lampi-msg.yo { border: 2px solid var(--lp-tinta); }
.lampi-msg a { text-decoration: underline; font-weight: 700; }

@keyframes lampi-entra { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: none; } }
.lampi-msg.escribiendo { display: flex; gap: 5px; padding: 14px 16px; }
.lampi-msg.escribiendo i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .4; animation: lampi-punto 1s infinite; }
.lampi-msg.escribiendo i:nth-child(2) { animation-delay: .15s; } .lampi-msg.escribiendo i:nth-child(3) { animation-delay: .3s; }
@keyframes lampi-punto { 50% { opacity: 1; transform: translateY(-3px); } }
.lampi-chips, .lampi-acciones { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lampi-chip, .lampi-accion { display: inline-flex; align-items: center; gap: 5px; padding: 7px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; text-align: left;
  border: 1.5px solid rgba(127,127,127,.45); background: transparent; color: inherit; }
.lampi-chip:hover, .lampi-accion:hover { background: rgba(127,127,127,.15); }
.lampi-chip.tutorial, .lampi-accion.fuerte { background: #f5c542; color: #0b1024; border-color: #0b1024; }
.lampi-chip .material-symbols-outlined, .lampi-accion .material-symbols-outlined { font-size: 17px; }
.lampi-hero { position: relative; height: 190px; overflow: hidden; flex-shrink: 0; transition: height .35s ease, opacity .25s; }
.modo-chat .lampi-hero { height: 0; opacity: 0; }
.lampi-hero-av { position: absolute; left: 50%; bottom: 0; width: 150px; margin-left: -75px; transform: translateY(105%); }
.lampi-hero.sube .lampi-hero-av { animation: lampi-sube .9s cubic-bezier(.2,1.4,.4,1) forwards; }
@keyframes lampi-sube { from { transform: translateY(105%); } to { transform: none; } }
.lampi-form { display: flex; gap: 8px; padding: 10px 14px 6px; flex-shrink: 0; }
.lampi-input, html.light .lampi-input[type] { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border-radius: 10px; font-size: 14px; color: inherit;
  border: 2px solid rgba(127,127,127,.4); background: transparent; outline: none; }
html.light .lampi-input[type] { border-color: var(--lp-tinta); }
.lampi-input:focus, html.light .lampi-input[type]:focus { box-shadow: 0 0 0 3px rgba(245,197,66,.55); }
.lampi-enviar { width: 44px; height: 44px; border-radius: 10px; background: #f5c542; color: #0b1024; border: 2px solid #0b1024; box-shadow: 3px 3px 0 #0b1024; }
.lampi-enviar:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #0b1024; }
.lampi-pie { margin: 0; padding: 4px 16px 12px; font-size: 11.5px; opacity: .65; text-align: center; }
.lampi-pie a { text-decoration: underline; font-weight: 700; }


#lampi-guia { position: fixed; inset: 0; z-index: 95; pointer-events: none; }
.lampi-hueco { position: fixed; border-radius: 10px; box-shadow: 0 0 0 100vmax rgba(8,12,30,.6); outline: 3px solid #f5c542; opacity: 0; transition: all .28s ease; }
.lampi-hueco.clic { animation: lampi-latido 1.2s ease-in-out infinite; }
@keyframes lampi-latido { 50% { outline-offset: 5px; outline-color: #fff; } }
.lampi-globo { position: fixed; display: grid; grid-template-columns: 64px 1fr; gap: 4px 12px; padding: 14px; border-radius: 14px; pointer-events: auto;
  background: #fff; color: #0b1024; border: 2px solid #0b1024; box-shadow: 5px 5px 0 #0b1024; animation: lampi-entra .25s ease-out; transition: left .28s ease, top .28s ease; }
.lampi-globo.centro { left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(380px, calc(100vw - 24px)); }
.lampi-globo-av { width: 64px; }
.lampi-globo-tit { margin: 0 0 3px; font-weight: 900; font-size: 15px; }
.lampi-globo-txt { margin: 0; font-size: 13.5px; line-height: 1.45; }
.lampi-globo-nota { margin: 6px 0 0; font-size: 12px; font-weight: 700; color: #b45309; }
.lampi-globo-nota:empty { display: none; }
.lampi-globo-pie { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }
.lampi-paso { font-size: 11.5px; font-weight: 800; opacity: .55; }
.lampi-botones { display: flex; gap: 6px; }
.lampi-b { padding: 7px 13px; border-radius: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; border: 2px solid #0b1024; }
.lampi-b.fuerte { background: #f5c542; box-shadow: 2px 2px 0 #0b1024; }
.lampi-b.suave { background: transparent; border-color: transparent; opacity: .7; }
@media (prefers-reduced-motion: reduce) { .lampi-hero.sube .lampi-hero-av { animation: none; transform: none; } .lampi-hueco.clic { animation: none; } .lampi-vivo.enfadado .lampi-img { animation: none; } }


.veh-equiv-lista { display: grid; gap: 6px; padding: 4px 0; }
.veh-eq-item { display: grid; grid-template-columns: 150px 170px minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 8px; background: rgba(127,127,127,.08); font-size: 13px; }
.veh-equiv-ref { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-weight: 800; text-align: left; white-space: nowrap; }
.veh-equiv-marca { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.veh-equiv-desc { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .8; }
@media (max-width: 900px) { .veh-eq-item { grid-template-columns: 1fr auto; } .veh-equiv-marca, .veh-equiv-desc { grid-column: 1 / -1; } }


.veh-tr-dev td { background: rgba(249, 115, 22, .10); }
html.light .veh-tr-dev td { background: rgba(249, 115, 22, .09); }
.veh-rotulo-fila { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.veh-ocultar { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12.5px; font-weight: 700; cursor: pointer; user-select: none; }

.lp-sel-meses { min-width: 132px; padding-right: 34px !important; }


.sol-texto-wrap { position: relative; }
.sol-texto-wrap .sol-texto { padding-bottom: 54px; }
.sol-iconos { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 8px; }
.sol-icono { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: inherit;
  border: 1.5px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
.sol-icono .material-symbols-outlined { font-size: 21px; }
.sol-icono:hover { background: rgba(255,255,255,.14); }
html.light .sol-icono { border-color: rgba(11,16,36,.25); background: #fff; }
html.light .sol-icono:hover { background: #f4f2ea; }
.sol-icono.voice-recording { background: #dc2626 !important; border-color: #dc2626 !important; color: #fff; }
.sol-placa { position: relative; }
.sol-placa-cam { display: inline-flex; align-items: center; justify-content: center; width: 46px; flex-shrink: 0; color: #0b1024; border-left: 2px solid rgba(11,16,36,.15); background: #f7f6f1; }
.sol-placa-cam:hover:not(:disabled) { background: #efede4; }
.sol-placa-cam:disabled { opacity: .6; cursor: default; }
.sol-placa-cam .material-symbols-outlined { font-size: 22px; }


.sol-urgencia.sol-dos { grid-template-columns: repeat(2, 1fr); }
.sol-urg { text-align: center; }
.sol-urg.on[data-entrega] { background: rgba(255,255,255,.12); }
html.light .sol-urg.on[data-entrega] { background: var(--lp-tinta); color: var(--lp-papel); }


.sol-veh { display: flex; align-items: center; gap: 8px; min-height: 0; margin: 10px 0 0; font-size: 14px; }
.sol-veh:empty { display: none; }
.sol-veh .material-symbols-outlined { font-size: 20px; opacity: .7; }


.le-tabla th.dep-c, .le-tabla td.dep-c { text-align: center; }

.le-tabla.dp-tabla { min-width: 0; }
.dp-corto { display: none; }
@media (max-width: 640px) {
  .dp-tabla th, .dp-tabla td { padding: 8px 4px; font-size: 12px; }
  .dp-tabla th { font-size: 9px; letter-spacing: .02em; }
  .dp-tabla .dp-largo { display: none; }
  .dp-tabla .dp-corto { display: inline; }
  .dp-tabla td:first-child .material-symbols-outlined, .dp-tabla td:first-child br, .dp-tabla td:first-child br + span { display: none; }
}


.bd-tabla { table-layout: fixed; min-width: 1040px; }
.bd-k-cli { width: 17%; } .bd-k-num { width: 96px; } .bd-k-mat { width: 96px; } .bd-k-fecha { width: 92px; }
.bd-k-tipo { width: 80px; } .bd-k-ref { width: 128px; } .bd-k-imp { width: 92px; } .bd-k-tot { width: 104px; }
.bd-tabla th.bd-der, .bd-tabla td.bd-der { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bd-l { padding: 2px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.35; }
.bd-c-ref .bd-l b { font-family: ui-monospace, 'JetBrains Mono', Consolas, monospace; font-size: 12px; }
.bd-der .bd-l { font-weight: 700; }
.bd-l:not(.bd-casa) { opacity: .75; }
.bd-num { font-weight: 800; color: #4f5bd5; text-decoration: underline; text-underline-offset: 2px; }
.bd-num:hover { color: #3a44b8; }
.bd-fecha-caja { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.bd-fecha-nota { font-size: 12px; opacity: .65; }


.bd-wrap { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); }
html.light .bd-wrap { background: #fff; border: 1.5px solid rgba(11, 16, 36, .12); }
.bf-menu, .bf-campo { background: #1b1c22; }
html.light .bf-menu, html.light .bf-campo { background: #fff; }
html:not(.light) .bd-num { color: #9aa4ff; }
html:not(.light) .bd-num:hover { color: #c3c9ff; }
html:not(.light) .bd-fila:hover, html:not(.light) .bd-fila:focus-visible { background: rgba(154, 164, 255, .1); }


.bd-k-ref { width: 176px; }
.bd-fila:not(.bd-abierta) .bd-extra, .bd-fila:not(.bd-abierta) .bd-mas-resto { display: none; }
.bd-mas-resto { font-size: 11px; opacity: .55; padding-top: 2px; }

.lampi-globo-cap { margin: 0 0 2px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .55; }
.lampi-globo-cap:empty { display: none; }


:is(#cat-grid, #cat-grid-todo) > [data-card-ref] { container: catcard / inline-size; }
:is(#cat-grid, #cat-grid-todo) .aspect-square > .cat-disp { left: 10px; bottom: 10px; width: 16px; height: 16px; border-radius: 50%; border: 2.5px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); pointer-events: auto; }
:is(#cat-grid, #cat-grid-todo) .aspect-square > .cat-disp.cat-disp-si { background: #16a34a; }
:is(#cat-grid, #cat-grid-todo) .aspect-square > .cat-disp.cat-disp-no { background: #dc2626; }
@container (max-width: 215px) { :is(#cat-grid, #cat-grid-todo) [data-mover] { display: none !important; } :is(#cat-grid, #cat-grid-todo) [data-etiquetas] { left: 8px !important; } :is(#cat-grid, #cat-grid-todo) [data-visible] { left: 48px !important; } :is(#cat-grid, #cat-grid-todo) .cat-fav-staff { left: 88px !important; } }   
@container catcard (max-width: 250px) {
  .cat-fila:has([data-menos]) { flex-direction: column-reverse; align-items: stretch; gap: 8px; }
  .cat-fila:has([data-menos]) .cat-stepper { width: 100%; justify-content: space-between; }
  .cat-fila:has([data-menos]) .cat-stepper input { flex: 1; min-width: 0; width: auto; }
}


.lampi-aviso { position: fixed; right: 24px; bottom: 0; z-index: 96; display: flex; align-items: flex-end; gap: 6px; width: min(560px, calc(100vw - 48px));
  transform: translateY(115%); transition: transform .7s cubic-bezier(.2, 1.35, .4, 1); pointer-events: none; }   
.lampi-aviso.sube { transform: none; pointer-events: auto; }
.lampi-aviso-av { flex: 0 0 120px; width: 120px; margin-bottom: -6px; }
.lampi-aviso-globo { position: relative; flex: 1; margin-bottom: 18px; padding: 14px 16px 12px; border-radius: 14px; background: #fff; color: #0b1024;
  border: 2px solid #0b1024; box-shadow: 5px 5px 0 #0b1024; }
.lampi-aviso-globo::before { content: ''; position: absolute; left: -9px; bottom: 26px; width: 14px; height: 14px; background: #fff;
  border-left: 2px solid #0b1024; border-bottom: 2px solid #0b1024; transform: rotate(45deg); }
.lampi-aviso-globo p { margin: 0; font-size: 14px; line-height: 1.45; }
.lampi-aviso-pie { display: flex; justify-content: flex-end; align-items: center; gap: 6px; margin-top: 10px; }
@media (max-width: 1023px) { .lampi-aviso { bottom: 62px; right: 12px; width: calc(100vw - 24px); } }
@media (prefers-reduced-motion: reduce) { .lampi-aviso { transition: none; } }


.dep-vacio { margin: 0; padding: 26px 16px; border-radius: 12px; text-align: center; font-size: 14px; font-weight: 900; letter-spacing: .06em;
  border: 2px dashed rgba(127, 127, 127, .4); }
.dep-nota { font-weight: 600; letter-spacing: 0; text-transform: none; opacity: .65; }
.dep-origen { display: block; white-space: nowrap; }
.dep-uds { opacity: .6; }
.dep-alb { font-weight: 800; color: #4f5bd5; text-decoration: underline; text-underline-offset: 2px; }
html:not(.light) .dep-alb { color: #9aa4ff; }
.bd-tabla td.bd-c-num { position: relative; padding-left: 32px; }
.bd-tabla th.bd-th-num { padding-left: 32px; }
.bd-k-cant { width: 78px; } .bd-k-dto { width: 86px; }
.bd-tabla.bd-con-dto { min-width: 1240px; }
.bd-neto { font-weight: 800; }
.bd-flecha { position: absolute; left: 6px; top: 9px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center; color: inherit; opacity: .7; }
.bd-flecha:hover { background: rgba(127, 127, 127, .2); opacity: 1; }
.bd-flecha .material-symbols-outlined { font-size: 20px; transition: transform .18s ease; }
.bd-fila.bd-abierta .bd-flecha .material-symbols-outlined { transform: rotate(90deg); }


.lp-vercomo-btn { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 9px; margin-right: 4px; border-radius: 8px; font-size: 10.5px; font-weight: 900;
  letter-spacing: .1em; white-space: nowrap; color: inherit; border: 1.5px solid rgba(127, 127, 127, .4); background: transparent; }
.lp-vercomo-btn:hover { background: rgba(127, 127, 127, .14); }
.lp-vercomo-btn.activo { background: #f5c542; color: #0b1024; border-color: #0b1024; }
.lp-vercomo-pop { position: fixed; z-index: 200; width: 270px; max-height: calc(100vh - 80px); overflow-y: auto; padding: 10px; border-radius: 12px;
  background: #fff; color: #0b1024; border: 2px solid #0b1024; box-shadow: 5px 5px 0 #0b1024; }
html:not(.light) .lp-vercomo-pop { background: #14182e; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 5px 5px 0 rgba(0, 0, 0, .6); }
.lp-vercomo-ayuda { margin: 0 0 6px; font-size: 11.5px; line-height: 1.4; opacity: .65; }
.lp-vercomo-grupo { margin: 10px 4px 4px; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }
.lp-vercomo-op { display: block; width: 100%; padding: 7px 10px; border-radius: 7px; text-align: left; font-size: 13px; font-weight: 700; color: inherit; }
.lp-vercomo-op:hover { background: rgba(245, 197, 66, .3); }
.lp-vercomo-op.on { background: #f5c542; color: #0b1024; }
@media (max-width: 767px) { .lp-vercomo-txt { display: none; } }
.dep-hist > summary { cursor: pointer; padding: 6px 0 10px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; list-style: none; opacity: .75; }
.dep-hist > summary::-webkit-details-marker { display: none; }

.dep-grupo td { padding: 10px 12px 6px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; background: rgba(127, 127, 127, .08); }
.dep-hist > summary::before { content: '\25B8'; display: inline-block; width: 18px; transition: transform .15s; }
.dep-hist[open] > summary::before { transform: rotate(90deg); }


.lp-velo { position: fixed; z-index: 40; top: 64px; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center;
  background: #08090a; transition: opacity .25s ease; }
html.light .lp-velo { background: var(--lp-papel, #fafafa); }
.lp-velo.sale { opacity: 0; pointer-events: none; }
.lp-velo .lp-cl { min-height: 0; }
@media (min-width: 768px) { .lp-velo { left: 16rem; } html.lp-nav-min .lp-velo { left: 68px; } }
@media (max-width: 767px) { .lp-velo { bottom: 68px; } }


.lp-arch-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 7px; color: inherit; opacity: .45; }
.lp-arch-btn:hover { opacity: 1; background: rgba(127, 127, 127, .18); }
.lp-arch-btn .material-symbols-outlined { font-size: 19px; }


.hp-sheet.hp-con-pie { display: flex; flex-direction: column; }
.hp-sheet.hp-con-pie > :nth-last-child(2) { margin-bottom: 16px; }

.hp-sheet.hp-con-pie > .hp-totals { margin-top: auto; }
.hp-sheet.hp-con-pie > .hp-totals ~ .hp-pie { margin-top: 0; }
.hp-pie { margin-top: auto; padding-top: 7px; border-top: 1px solid rgba(0, 0, 0, .18); font-size: 6.6pt; line-height: 1.35; color: #707070; white-space: pre-line; }
.hp-sheet.hp-fac-page.hp-con-pie { padding-bottom: 24mm; }

.hp-pie-texto { flex: 1; min-width: 0; }
.hp-qr { flex: none; display: flex; flex-direction: column; align-items: center; gap: 3px; white-space: normal; }
.hp-qr-img { display: block; width: 26mm; height: 26mm; }
.hp-qr-img img { display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.hp-qr-txt { font-size: 5.6pt; line-height: 1.2; color: #707070; white-space: nowrap; }
.hp-sheet.hp-fac-page .hp-pie { position: absolute; left: 14mm; right: 14mm; bottom: 8mm; margin-top: 0; }
@media print { .hp-pie { break-inside: avoid; color: #555; } }

.hp-sheet { position: relative; z-index: 0; }
.hp-marca-agua { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; border-radius: inherit; }
.hp-marca-agua img { position: absolute; right: -44%; bottom: -72mm; width: 144%;    height: auto; opacity: .07; }

@media print { .hp-sheet:has(> .hp-marca-agua) { position: relative !important; z-index: 0 !important; } }


.hp-list-cell-center { display: flex; align-items: center; justify-content: center; text-align: center; min-width: 0; }


.hp-logo.hp-logo-img { width: auto; max-width: 130px; height: 64px; object-fit: contain; }


#pc-raiz { container-type: inline-size; }
.pc-grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.pc-folio { min-width: 0; }
@container (min-width: 1000px) {
  .pc-grid { grid-template-columns: minmax(440px, 1fr) minmax(0, 794px); }
  .pc-folio { position: sticky; top: 76px; }
}
#pc-papel .hp-sheet { width: 794px; max-width: none; margin: 0; }

.pc-celda { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pc-et { font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }
.pc-val { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; padding-top: 7px; }
.pc-sub { font-size: 10px; opacity: .65; }
.pc-fila input[type="number"] { padding-left: 6px; padding-right: 6px; }


@media print { .hp-sheet.hp-con-pie:not(.hp-fac-page) { min-height: 295mm !important; } }

.pc-quitar { flex: none; width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; opacity: .55; }
.pc-quitar:hover { opacity: 1; background: rgba(220, 38, 38, .12); color: #dc2626; }
.pc-add { margin-top: 12px; width: 100%; padding: 11px; border-radius: 12px; border: 1.5px dashed rgba(127, 127, 127, .45); font-size: 12px; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; display: flex; align-items: center; justify-content: center; gap: 6px; }
.pc-add:hover { background: rgba(245, 197, 66, .18); border-color: #f5c542; }


.cd-op { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; margin-bottom: 8px; border-radius: 12px; cursor: pointer; border: 1.5px solid rgba(127, 127, 127, .3); }
.cd-op:has(input:checked) { border-color: #f5c542; background: rgba(245, 197, 66, .12); }
.cd-op input { margin-top: 3px; width: 16px; height: 16px; flex: none; }
.cd-aviso { margin: 0 0 4px; padding: 8px 12px; border-radius: 10px; font-size: 12px; font-weight: 700; color: #92400e; background: rgba(245, 158, 11, .16); }
.cd-icono { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(127, 127, 127, .14); }
.cd-icono.on { background: rgba(94, 106, 210, .2); box-shadow: 0 0 0 2px rgba(94, 106, 210, .5); }


.le-resumen { display: flex; flex-wrap: wrap; gap: 10px; margin: 2px 0 6px; }
.le-cont {
  display: inline-flex; align-items: baseline; gap: 9px; padding: 9px 16px; border-radius: 12px; cursor: pointer;
  color: inherit; background: transparent; border: 1px solid rgba(127,127,127,.28); transition: background .12s, border-color .12s;
}
.le-cont b { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c); }
.le-cont span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.le-cont:hover { background: rgba(127,127,127,.08); }
.le-cont.on { border-color: var(--c); background: color-mix(in srgb, var(--c) 12%, transparent); }
.le-seccion[hidden] { display: none; }


.le-feed { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.le-item { display: block; }
.le-fila { display: grid; grid-template-columns: 40px minmax(0, 2.6fr) minmax(0, 1fr) minmax(0, .9fr) 86px 70px minmax(0, 1fr) 20px; align-items: center;
  gap: 12px; padding: 7px 12px 7px 9px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03);
  box-shadow: inset 3px 0 0 var(--c); cursor: pointer; font-size: 13px; transition: border-color .12s, background .12s; }
html.light .le-fila { background: #fff; border: 1.5px solid rgba(11,16,36,0.1); }
.le-fila:hover, .le-fila.abierta { border-color: rgba(124,139,255,.55); }
.le-cerrada .le-fila { opacity: .82; }
.le-fila .le-foto { width: 40px; height: 40px; border-radius: 9px; }
.le-fila .le-foto .material-symbols-outlined { font-size: 18px; }
.le-f-desc, .le-f-alb, .le-f-mat, .le-f-fecha, .le-f-estado { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.le-f-desc b { font-weight: 800; }
.le-f-desc .le-ref { font-size: 11.5px; opacity: .6; margin-left: 4px; }
.le-f-alb .le-sub { display: inline; margin: 0 0 0 6px; }
.le-f-fecha { font-variant-numeric: tabular-nums; opacity: .8; }
.le-f-estado { font-size: 12px; font-weight: 700; color: var(--c); }
.le-f-flecha { opacity: .45; font-size: 20px; }
.le-prog { display: inline-flex; gap: 3px; }
.le-prog i { width: 18px; height: 5px; border-radius: 3px; background: rgba(127,127,127,.25); }
.le-prog i.on { background: var(--c); }
@media (max-width: 760px) {
  .le-fila { grid-template-columns: 40px minmax(0, 1fr) auto 18px; }
  .le-f-alb, .le-f-mat, .le-f-fecha, .le-prog { display: none; }
}
.le-panel-ov { position: fixed; inset: 0; z-index: 70; }
.le-panel-fondo { position: absolute; inset: 0; background: rgba(0,0,0,.4); }
.le-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); display: flex; flex-direction: column; background: #15171c;
  box-shadow: -10px 0 30px rgba(0,0,0,.25); animation: le-panel-entra .18s ease-out; }
html.light .le-panel { background: #f7f6f2; }
@keyframes le-panel-entra { from { transform: translateX(28px); } to { transform: none; } }
.le-panel-cab { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid rgba(127,127,127,.18); }
.le-panel-x { width: 34px; height: 34px; border-radius: 10px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.le-panel-x:hover { background: rgba(127,127,127,.14); }
.le-panel-cuerpo { flex: 1; overflow-y: auto; padding: 16px; }
.le-panel .le-card { cursor: default; }

.le-datos { display: none; }
.le-panel .le-datos { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px 16px; margin: 14px 0 4px; padding: 14px 16px; border-radius: 12px;
  background: rgba(127,127,127,.07); font-size: 13.5px; }
.le-panel .le-datos dt { font-weight: 700; opacity: .6; }
.le-panel .le-datos dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.le-panel .le-datos small { opacity: .65; }
.le-panel .le-card-top { flex-wrap: wrap; }
.le-panel .le-card-top > .le-foto { flex: 0 0 100%; width: 100%; height: 230px; border-radius: 14px; background: #fff; margin-bottom: 4px; }
.le-panel .le-card-top > .le-foto img { width: 100%; height: 100%; object-fit: contain; }
.le-panel .le-card-top > .le-foto .material-symbols-outlined { font-size: 48px; }
.le-panel .le-card-top > .le-foto:not(:has(img)) { height: 96px; }   
.le-panel .le-desc { font-size: 18px; }
.le-panel .le-ir { margin-top: 16px; }
.le-card {
  flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 14px 16px; border-radius: 14px; font-size: 13.5px;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02);
}
html.light .le-card { background: #fff; border: 1.5px solid rgba(11,16,36,0.12); }
.le-card[data-le-doc] { cursor: pointer; transition: border-color .12s, box-shadow .12s; }
.le-card[data-le-doc]:hover { border-color: rgba(124,139,255,.55); box-shadow: 0 4px 18px rgba(0,0,0,.12); }
.le-cerrada .le-card { opacity: .82; }
.le-card-top { display: flex; align-items: flex-start; gap: 10px; }
.le-foto {
  flex-shrink: 0; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; display: grid; place-items: center;
  background: rgba(127,127,127,.12); color: rgba(127,127,127,.55);
}
.le-foto .material-symbols-outlined { font-size: 24px; }
.le-foto img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.le-card-tit { min-width: 0; flex: 1; }
.le-card .le-desc { margin: 0; font-size: 15px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.le-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 4px; font-size: 12.5px; }
.le-chips .le-ref { font-size: 11.5px; font-weight: 700; opacity: .6; }
.le-dato { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; opacity: .9; }
.le-dato .material-symbols-outlined { font-size: 15px; opacity: .55; }
.le-dato .le-sub { display: none; }
.le-lado { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.le-lado .le-acc-in { flex-wrap: wrap; justify-content: flex-end; }
.le-card .le-sit { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.le-card .le-sit .le-estado + .le-estado, .le-card .le-sit .le-estado + .le-nota, .le-card .le-sit .le-estado + .le-aviso { margin-top: 0; }
.le-card .le-nota { padding: 7px 10px; font-size: 13px; }

.le-pasos { display: flex; list-style: none; margin: auto 0 0; padding: 14px 0 0; }
.le-pasos li { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.le-pasos li::before { content: ""; position: absolute; top: 9px; right: 50%; width: 100%; height: 2px; background: rgba(127,127,127,.3); }
.le-pasos li:first-child::before { display: none; }
.le-pasos li.hecho::before { background: #059669; }
.le-paso-p {
  position: relative; z-index: 1; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center;
  border: 2px solid rgba(127,127,127,.5); background: var(--lp-papel, #1b1d27); color: transparent;
}
html.light .le-paso-p { background: #fff; }
.le-paso-p .material-symbols-outlined { font-size: 13px; font-weight: 700; }
.le-pasos li.hecho .le-paso-p { background: #059669; border-color: #059669; color: #fff; }
.le-pasos li.actual .le-paso-p { box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 28%, transparent); }
.le-paso-t { font-size: 11.5px; font-weight: 700; line-height: 1.2; opacity: .5; }
.le-pasos li.hecho .le-paso-t { opacity: 1; }
.le-paso-f { font-size: 10.5px; opacity: .65; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .le-card-top { flex-wrap: wrap; }
  .le-lado { flex-direction: row; align-items: center; flex-wrap: wrap; width: 100%; justify-content: space-between; }
  .le-cont { flex: 1 1 calc(50% - 10px); }
}
}


.le-card .le-btn {
  height: 32px; padding: 0 14px; border-radius: 8px; font-size: 12px; font-weight: 900; letter-spacing: .02em; text-transform: uppercase;
  color: var(--lp-tinta); background: #fff; border: 2px solid var(--lp-tinta); box-shadow: 3px 3px 0 var(--lp-tinta);
  transition: transform .07s steps(2), box-shadow .07s steps(2);
}
.le-card .le-btn:hover { background: #fff; transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--lp-tinta); }
.le-card .le-btn:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--lp-tinta); }
.le-card .le-btn.dv-recog { background: var(--lp-amarillo, #f5c542); }
.le-card .le-btn.dv-recog:hover { background: var(--lp-amarillo, #f5c542); }
.le-card .le-btn-ok { background: #34d399; color: var(--lp-tinta); }
.le-card .le-btn-ok:hover { background: #34d399; }
.le-card .le-btn-ok.fuerte { background: #059669; color: #fff; border-color: var(--lp-tinta); }
.le-card .le-enlace { font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; opacity: .75; }
html:not(.light) .le-card .le-btn { border-color: rgba(255,255,255,.9); box-shadow: 3px 3px 0 rgba(0,0,0,.7); }
html:not(.light) .le-card .le-btn:hover { box-shadow: 2px 2px 0 rgba(0,0,0,.7); }
html:not(.light) .le-card .le-btn:active { box-shadow: 0 0 0 rgba(0,0,0,.7); }

.le-card .le-nota {
  display: flex; align-items: flex-start; gap: 8px; padding: 8px 12px; border-radius: 12px; font-size: 12.5px; line-height: 1.4;
  border: 1px solid #b6cff5; background: #e8f0fe; color: #17335c; white-space: pre-wrap; overflow-wrap: anywhere;
}
.le-card .le-nota::before { content: "sticky_note_2"; font-family: "Material Symbols Outlined"; font-size: 16px; line-height: 1.2; color: #2a5db0; font-variation-settings: 'FILL' 1; flex-shrink: 0; }
.le-card .le-nota b { color: #2a5db0; font-weight: 800; }
html:not(.light) .le-card .le-nota { background: rgba(96,140,230,.14); border-color: rgba(96,140,230,.4); color: inherit; }
html:not(.light) .le-card .le-nota::before, html:not(.light) .le-card .le-nota b { color: #8db3ff; }


.le-card, .le-cont, .le-foto, .le-paso-p { --le-b: rgba(255,255,255,.85); --le-s: rgba(0,0,0,.7); }
html.light .le-card, html.light .le-cont, html.light .le-foto, html.light .le-paso-p { --le-b: var(--lp-tinta); --le-s: var(--lp-tinta); }

.le-card { border: 1px solid rgba(255,255,255,.16) !important; box-shadow: 0 2px 10px rgba(0,0,0,.3); border-radius: 14px; transition: box-shadow .15s, border-color .15s; }
html.light .le-card { border-color: rgba(11,16,36,.16) !important; box-shadow: 0 2px 10px rgba(11,16,36,.07); }
.le-card[data-le-doc]:hover { box-shadow: 0 6px 20px rgba(11,16,36,.14); border-color: rgba(124,139,255,.55) !important; }
html:not(.light) .le-card[data-le-doc]:hover { box-shadow: 0 6px 20px rgba(0,0,0,.45); }
.le-cerrada .le-card { opacity: 1; }
.le-feed { gap: 20px; }
.le-cont { border: 2px solid var(--le-b); border-radius: 10px; box-shadow: 3px 3px 0 var(--le-s); transition: transform .07s steps(2), box-shadow .07s steps(2); }
.le-cont:hover { background: transparent; transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--le-s); }
.le-cont.on { background: var(--lp-amarillo, #f5c542); transform: translate(3px, 3px); box-shadow: 0 0 0 var(--le-s); border-color: var(--le-b); }
.le-cont.on b, .le-cont.on span { color: var(--lp-tinta); opacity: 1; }
.le-foto { border: 2px solid var(--le-b); border-radius: 8px; background: #fff; color: rgba(11,16,36,.35); }
.le-paso-p { border: 2px solid var(--le-b); }
.le-pasos li.hecho .le-paso-p { background: #34d399; border-color: var(--le-b); color: var(--lp-tinta); }
.le-pasos li.hecho::before { background: var(--le-b); }
.le-pasos li::before { background: rgba(127,127,127,.4); }
.le-pasos li.actual .le-paso-p { box-shadow: 0 0 0 3px var(--lp-amarillo, #f5c542); }
.le-paso-t { font-weight: 800; }


@media (min-width: 768px) { html:not(.lp-nav-min) #lp-desktop-nav a > span:nth-of-type(2) { margin-right: 14px; } }


.pc-tipo { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: rgba(127, 127, 127, .14); }
.pc-tipo .material-symbols-outlined { font-size: 18px; }
.pc-add-tipos { width: min(100%, 420px); margin: 10px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pc-add-tipos[hidden] { display: none; }
.pc-add-t {
  display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 6px; border-radius: 10px; font-size: 10.5px; font-weight: 900;
  letter-spacing: .04em; text-transform: uppercase; color: inherit; background: transparent; border: 2px solid currentColor; box-shadow: 3px 3px 0 currentColor;
  transition: transform .07s steps(2), box-shadow .07s steps(2);
}
.pc-add-t .material-symbols-outlined { font-size: 22px; }
.pc-add-t:hover { background: rgba(245, 197, 66, .22); transform: translate(1px, 1px); box-shadow: 2px 2px 0 currentColor; }
.pc-add-t:active { transform: translate(3px, 3px); box-shadow: 0 0 0 currentColor; }
.pc-m-ok { color: #059669; }
.pc-m-amarillo { color: #b45309; }
.pc-m-rojo { color: #dc2626; }
html:not(.light) .pc-m-amarillo { color: #f5c542; }
html:not(.light) .pc-m-rojo { color: #ff6b6b; }
.pc-tot-ok { background: rgba(5, 150, 105, .1); }
.pc-tot-amarillo { background: rgba(245, 197, 66, .2); }
.pc-tot-rojo { background: rgba(220, 38, 38, .14); }


.cat-chips { padding-top: 8px !important; padding-bottom: 14px !important; padding-right: 10px !important; margin-top: -8px !important; margin-bottom: 6px !important; }


.ce-iconos { display: flex; flex-wrap: wrap; gap: 6px; max-height: 188px; overflow-y: auto; padding: 4px; border-radius: 12px; background: rgba(127, 127, 127, .08); }
.ce-color { width: 28px; height: 28px; border-radius: 8px; border: 2px solid rgba(127, 127, 127, .35); cursor: pointer; }
.ce-color.on { border-color: var(--lp-tinta, #0b1024); box-shadow: 0 0 0 2px #f5c542; }
.ce-sin { background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(127, 127, 127, .45) 5px 6px); }
.ce-otro { position: relative; width: 28px; height: 28px; border-radius: 8px; border: 2px dashed rgba(127, 127, 127, .5); display: grid; place-items: center; cursor: pointer; overflow: hidden; }
.ce-otro input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.ce-otro .material-symbols-outlined { font-size: 16px; pointer-events: none; }

.pc-desc-i { display: flex; align-items: flex-end; gap: 8px; }
.pc-desc-i > .pc-tipo { flex: none; margin-bottom: 4px; }
.pc-desc-in { flex: 1; min-width: 0; }
.pc-ref-in { flex: none; width: 130px; }


.hp-toolbar.hp-tb-1 { gap: 4px; }
.hp-toolbar.hp-tb-envuelve { flex-wrap: wrap; overflow-x: visible; row-gap: 6px; }
.hp-toolbar.hp-tb-envuelve .hp-tb-sep { display: none; }
.hp-toolbar.hp-tb-1 .hp-btn, .hp-toolbar.hp-tb-1 .hp-btn-ghost { padding: 6px 9px; font-size: 11.5px; min-height: 36px; letter-spacing: .02em; gap: 4px; }
.hp-toolbar.hp-tb-1 .material-symbols-outlined { font-size: 18px; }
.hp-toolbar.hp-tb-2 button:not(#hp-back) > span:not(.material-symbols-outlined),
.hp-toolbar.hp-tb-3 button > span:not(.material-symbols-outlined),
.hp-toolbar.hp-tb-3 #hp-back { font-size: 0; }
.hp-toolbar.hp-tb-2 button:not(#hp-back) > span:not(.material-symbols-outlined),
.hp-toolbar.hp-tb-3 button > span:not(.material-symbols-outlined) { display: none !important; }
.hp-toolbar.hp-tb-2 .hp-btn, .hp-toolbar.hp-tb-2 .hp-btn-ghost, .hp-toolbar.hp-tb-3 .hp-btn, .hp-toolbar.hp-tb-3 .hp-btn-ghost { padding-left: 9px; padding-right: 9px; }
.hp-toolbar.hp-tb-3 #hp-back .material-symbols-outlined { font-size: 20px; }



.nm-buscar {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 14px 26px; border-radius: 12px; cursor: pointer;
  font-size: 15px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: #0b1024; background: #f5c542;
  border: 2px solid #0b1024; box-shadow: 5px 5px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2);
}
.nm-buscar:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 #0b1024; }
.nm-buscar:active { transform: translate(5px, 5px); box-shadow: 0 0 0 #0b1024; }
.nm-buscar .material-symbols-outlined { font-size: 26px; }
.nm-recientes { display: flex; flex-direction: column; gap: 8px; max-width: 520px; }
.nm-rec { display: flex; align-items: center; gap: 14px; padding: 8px 12px; border-radius: 10px; border: 1.5px solid rgba(127, 127, 127, .3); }
.nm-rec-med { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-weight: 800; font-size: 16px; flex: 1; text-align: left; }
.nm-rec-med:hover { text-decoration: underline; }

.nm-ov { position: fixed; inset: 0; z-index: 95; }
.nm-fondo { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); backdrop-filter: blur(2px); }
.nm-panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(480px, 100vw); display: flex; flex-direction: column; overflow-y: auto;
  background: #fff; color: #0b1024; border-left: 2px solid #0b1024; box-shadow: -10px 0 40px rgba(0, 0, 0, .25);
  animation: nm-entra-panel .26s cubic-bezier(.32, .72, 0, 1) both;
}
html:not(.light) .nm-panel { background: #14182e; color: #eef0fa; border-left-color: rgba(255, 255, 255, .85); }
@keyframes nm-entra-panel { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.nm-cab { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; font-size: 16px; position: sticky; top: 0; z-index: 2; background: inherit; border-bottom: 1px solid rgba(127, 127, 127, .25); }
.nm-x { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; }
.nm-x:hover { background: rgba(127, 127, 127, .15); }
.nm-veh { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 18px; background: #0b1024; color: #fff; font-size: 13px; }
.nm-veh span { font-weight: 800; }
.nm-veh select { background: transparent; color: #f5c542; font-weight: 800; border: 0; outline: 0; cursor: pointer; text-align: right; }
.nm-veh select option { color: #0b1024; }
.nm-rueda { padding: 14px 18px 4px; background: #f2f1ec; border-bottom: 5px solid #f5c542; }
html:not(.light) .nm-rueda { background: #1b2040; }
.nm-rueda-cab { display: flex; align-items: center; gap: 12px; }
.nm-t { font-size: 20px; font-weight: 900; flex: none; min-width: 0; }
.nm-prog { flex: 1; height: 6px; border-radius: 4px; background: rgba(127, 127, 127, .3); overflow: hidden; }
.nm-prog i { display: block; height: 100%; background: #0b1024; transition: width .3s; }
html:not(.light) .nm-prog i { background: #f5c542; }
.nm-n { font-size: 12px; font-weight: 800; opacity: .7; font-variant-numeric: tabular-nums; }
#nm-dibujo { margin: 6px auto 0; max-width: 420px; }
.nm-svg { display: block; width: 100%; height: auto; }
.nm-fantasma { opacity: .92; }
.nm-escribe { display: flex; align-items: center; gap: 8px; margin: 14px 18px 0; padding: 0 12px; border-radius: 10px; border: 2px solid #0b1024; background: #fff; color: #0b1024; }
html:not(.light) .nm-escribe { border-color: rgba(255, 255, 255, .85); background: #0f1226; color: #eef0fa; }
.nm-escribe input { flex: 1; min-width: 0; height: 44px; background: transparent; border: 0; outline: 0; font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-size: 15px; font-weight: 700; }
.nm-escribe .material-symbols-outlined { font-size: 20px; opacity: .6; }
.nm-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 18px 0; }
.nm-chip { padding: 4px 10px; border-radius: 999px; font-size: 12px; border: 1.5px solid rgba(127, 127, 127, .4); }
.nm-chip b { font-family: ui-monospace, Consolas, monospace; }
.nm-chip.on { background: #f5c542; color: #0b1024; border-color: #0b1024; }
.nm-chip.nm-ver { background: #0b1024; color: #fff; border-color: #0b1024; font-weight: 800; }
.nm-ayuda { display: flex; align-items: center; gap: 8px; margin: 14px 18px 0; padding: 8px 14px; align-self: flex-start; border-radius: 999px; font-size: 13px; font-weight: 800; color: #1d4ed8; background: #e8f0fe; border: 1px solid #b6cff5; }
.nm-ayuda .material-symbols-outlined { font-size: 18px; }
.nm-ayuda-t { margin: 8px 18px 0; padding: 10px 12px; border-radius: 10px; font-size: 12.5px; line-height: 1.45; background: #e8f0fe; color: #17335c; }
.nm-ayuda-t[hidden] { display: none; }
.nm-cuerpo { padding: 14px 18px 28px; }
.nm-entra { animation: nm-desliza .22s ease-out both; }
@keyframes nm-desliza { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
.nm-sub { font-size: 15px; font-weight: 900; margin: 6px 0 10px; }
.nm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.nm-op {
  display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 58px; border-radius: 10px; font-size: 18px; font-weight: 700;
  border: 2px solid #0b1024; background: #fff; color: #0b1024; box-shadow: 3px 3px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2);
}
html:not(.light) .nm-op { background: #0f1226; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 3px 3px 0 rgba(0, 0, 0, .7); }
.nm-op small { font-size: 10.5px; font-weight: 700; opacity: .6; }
.nm-op:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 #0b1024; background: #fff6d6; }
html:not(.light) .nm-op:hover { background: #262b4d; }
.nm-op:active { transform: translate(3px, 3px); box-shadow: 0 0 0 #0b1024; }
.nm-op.on { background: #f5c542; color: #0b1024; }
.nm-link { display: block; margin: 16px auto; font-size: 14px; font-weight: 700; color: #1d4ed8; text-decoration: underline; }
html:not(.light) .nm-link { color: #8db3ff; }
.nm-nolose { display: block; width: 100%; margin-top: 14px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; border: 2px dashed rgba(127, 127, 127, .6); }
.nm-nolose:hover { background: rgba(245, 197, 66, .2); }
.nm-res-med { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-size: 30px; font-weight: 900; text-align: center; margin: 4px 0 14px; padding: 12px; border-radius: 12px; border: 2px solid #0b1024; background: #f5c542; color: #0b1024; box-shadow: 4px 4px 0 #0b1024; }
.nm-res dl { margin: 0; }
.nm-res dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 2px; border-bottom: 1px solid rgba(127, 127, 127, .25); font-size: 13.5px; }
.nm-res dt { font-weight: 800; opacity: .7; }
.nm-res dd { margin: 0; text-align: right; font-weight: 700; }
.nm-acciones { display: flex; gap: 10px; margin-top: 16px; }
.nm-pronto { margin-top: 14px; font-size: 12px; opacity: .65; text-align: center; }
@media (max-width: 480px) { .nm-grid { gap: 8px; } .nm-op { font-size: 16px; } }


.nm-rueda { padding-bottom: 0; }
#nm-dibujo { margin: 2px auto 0; max-width: 440px; }
.nm-eq { margin: 6px 18px 0; font-size: 11.5px; opacity: .65; font-variant-numeric: tabular-nums; }
.nm-eq:empty { display: none; }
.nm-chip { cursor: pointer; }
.nm-chip:hover { background: rgba(245, 197, 66, .25); }
.nm-chip.on:hover { background: #f5c542; }
.nm-ev-chip { background: #dcfce7; color: #166534; border-color: #86efac; cursor: default; }
.nm-reiniciar { opacity: .75; margin-left: auto; }
.nm-sub2 { margin-top: 22px; }
.nm-temps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.nm-temp {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 8px; border-radius: 10px; font-size: 14px; font-weight: 700;
  border: 2px solid #0b1024; background: #fff; color: #0b1024; box-shadow: 3px 3px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2);
}
html:not(.light) .nm-temp { background: #0f1226; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 3px 3px 0 rgba(0, 0, 0, .7); }
.nm-temp .material-symbols-outlined { font-size: 34px; color: #d97706; }
.nm-temp:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 #0b1024; }
.nm-temp.on { background: #f5c542; color: #0b1024; }
.nm-temp.on .material-symbols-outlined { color: #0b1024; }
.nm-ev { display: flex; align-items: center; justify-content: space-between; padding: 6px 2px; font-size: 14px; font-weight: 600; cursor: pointer; }
.nm-ver-btn {
  display: block; width: 100%; margin-top: 22px; padding: 14px; border-radius: 10px; font-size: 14px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  color: #0b1024; background: #f5c542; border: 2px solid #0b1024; box-shadow: 4px 4px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2);
}
.nm-ver-btn:hover:not(:disabled) { transform: translate(2px, 2px); box-shadow: 2px 2px 0 #0b1024; }
.nm-ver-btn:disabled { opacity: .4; cursor: not-allowed; box-shadow: none; }
.nm-aviso { margin-top: 10px; font-size: 12px; color: #b45309; }

.nm-res-pag { max-width: 1280px; }
.nm-barra { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 14px; padding: 12px 16px; border-radius: 12px; border: 2px solid var(--lp-tinta, #0b1024); background: rgba(127, 127, 127, .06); }
.nm-dim { display: flex; align-items: center; gap: 12px; }
.nm-dim > .material-symbols-outlined { font-size: 30px; }
.nm-dim small { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }
.nm-dim b { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-size: 16px; }
.nm-lapiz { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; border: 1.5px solid rgba(127, 127, 127, .5); }
.nm-lapiz:hover { background: rgba(245, 197, 66, .3); }

.nm-estado { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 12px 0 0; padding: 8px 12px; border-radius: 10px; font-size: 12.5px; background: rgba(127, 127, 127, .1); }
.nm-estado li { display: flex; align-items: baseline; gap: 7px; }
.nm-estado li b { font-size: 11.5px; letter-spacing: .03em; }
.nm-estado .nm-punto { background: #9ca3af; }
.nm-e-ok .nm-punto { background: #16a34a; }
.nm-e-esperando .nm-punto { background: #f59e0b; animation: nm-late 1s ease-in-out infinite; }
.nm-e-cortado .nm-punto, .nm-e-error .nm-punto { background: #dc2626; }
.nm-e-cortado, .nm-e-error { color: #b42318; }
.nm-e-sinconectar { opacity: .55; }
.nm-estado-mal { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 9px 12px; border-radius: 10px; font-size: 13px; font-weight: 700; background: rgba(220, 38, 38, .12); color: #b42318; }
@keyframes nm-late { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .nm-e-esperando .nm-punto { animation: none; } }
.nm-prov-f.nm-cortado .nm-punto, .nm-prov-f.nm-error .nm-punto { background: #dc2626; }
.nm-prov-f.nm-cortado, .nm-prov-f.nm-error, .nm-prov-f.nm-sinconectar, .nm-prov-f.nm-esperando { opacity: .55; }
.nm-prov-f.nm-cortado .nm-prov-d { color: #b42318; font-weight: 700; }

.nm-t-img { overflow: hidden; }
.nm-t-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: 10px; background: #fff; }
.nm-t-rf { margin: 2px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.nm-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.nm-f { display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px; border-radius: 8px; font-size: 12.5px; font-weight: 700; border: 1.5px solid rgba(127, 127, 127, .45); }
.nm-f .material-symbols-outlined { font-size: 17px; }
.nm-f:hover { background: rgba(245, 197, 66, .25); }
.nm-f.on { background: #0b1024; color: #fff; border-color: #0b1024; }
html:not(.light) .nm-f.on { background: #f5c542; color: #0b1024; }
.nm-f-sep { width: 1px; height: 22px; background: rgba(127, 127, 127, .4); margin: 0 4px; }
.nm-cuenta { margin: 14px 0 8px; font-size: 12.5px; opacity: .65; text-align: right; }
.nm-vacio { padding: 30px; text-align: center; opacity: .7; }
.nm-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 16px; }
.nm-tarjeta { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 12px; border: 2px solid var(--lp-tinta, #0b1024); background: #fff; color: #0b1024; box-shadow: 4px 4px 0 var(--lp-tinta, #0b1024); }
html:not(.light) .nm-tarjeta { background: #14182e; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 4px 4px 0 rgba(0, 0, 0, .7); }
.nm-oferta { position: absolute; top: -10px; left: 14px; padding: 2px 10px; border-radius: 6px; font-size: 11px; font-weight: 900; text-transform: uppercase; color: #fff; background: #dc2626; border: 2px solid #0b1024; }
.nm-t-top { display: flex; gap: 12px; }
.nm-t-img { flex: none; width: 74px; height: 74px; border-radius: 10px; display: grid; place-items: center; background: #f2f1ec; }
.nm-t-img svg { width: 62px; height: 62px; }
.nm-t-marca { margin: 0; font-size: 11px; font-weight: 900; letter-spacing: .08em; opacity: .65; }
.nm-t-modelo { margin: 0; font-size: 15.5px; font-weight: 800; line-height: 1.25; }
.nm-t-med { display: flex; align-items: center; gap: 5px; margin: 3px 0 0; font-size: 13px; }
.nm-t-med .material-symbols-outlined { font-size: 17px; color: #d97706; }

.nm-t-ref { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 2px 6px; border-radius: 6px; font-size: 11.5px; color: inherit; background: rgba(127, 127, 127, .1); cursor: pointer; }
.nm-t-ref[hidden] { display: none; }
.nm-t-ref span[data-ref-prov] { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; opacity: .6; }
.nm-t-ref b { font-family: ui-monospace, monospace; font-weight: 700; }
.nm-t-ref .material-symbols-outlined { font-size: 14px; opacity: .6; }
.nm-t-ref:hover { background: rgba(245, 197, 66, .3); }
.nm-t-ref:hover .material-symbols-outlined { opacity: 1; }
.nm-t-med em { font-style: normal; font-size: 10px; font-weight: 900; padding: 1px 5px; border-radius: 4px; background: #dcfce7; color: #166534; }
.nm-t-rating { margin: 2px 0 0; font-size: 12.5px; font-weight: 700; }
.nm-t-rating span { color: #f59e0b; }
.nm-t-rating small { opacity: .6; font-weight: 600; }
.nm-t-etq { display: flex; gap: 8px; margin: 0; flex-wrap: wrap; }
.nm-t-etq > span { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 800; background: rgba(127, 127, 127, .14); }
.nm-t-etq .material-symbols-outlined { font-size: 15px; }
.nm-t-precio { margin: 0; font-size: 26px; font-weight: 900; font-variant-numeric: tabular-nums; }
.nm-t-precio small { font-size: 12px; font-weight: 600; opacity: .6; }
.nm-prov { list-style: none; margin: 0; padding: 8px 0 0; border-top: 1px solid rgba(127, 127, 127, .25); display: flex; flex-direction: column; gap: 6px; }
.nm-prov-f { display: flex; align-items: baseline; gap: 8px; font-size: 12.5px; }
.nm-prov-f b { flex: none; min-width: 124px; font-size: 11.5px; letter-spacing: .03em; }
.nm-prov-d { flex: 1; min-width: 0; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }   

.nm-prov-f.nm-corto .nm-prov-d { color: #b45309; font-weight: 800; opacity: 1; }
html:not(.light) .nm-prov-f.nm-corto .nm-prov-d { color: #fbbf24; }
.nm-prov-p { font-weight: 800; font-variant-numeric: tabular-nums; }
.nm-punto { flex: none; width: 9px; height: 9px; border-radius: 50%; transform: translateY(0); background: #9ca3af; }
.nm-stock .nm-punto { background: #16a34a; }
.nm-pedido .nm-punto { background: #f59e0b; }
.nm-no .nm-punto { background: #dc2626; }
.nm-no { opacity: .55; }
.nm-agotado .nm-punto { background: #9ca3af; }
.nm-agotado { opacity: .7; }
.nm-prov-f.mejor { padding: 3px 6px; margin: 0 -6px; border-radius: 6px; background: rgba(22, 163, 74, .12); }
.nm-t-acc { display: flex; gap: 10px; margin-top: auto; padding-top: 4px; }
.nm-qty { display: flex; align-items: center; border: 2px solid var(--lp-tinta, #0b1024); border-radius: 8px; overflow: hidden; }
.nm-qty button { width: 34px; height: 38px; font-size: 18px; font-weight: 800; }
.nm-qty button:hover { background: rgba(245, 197, 66, .35); }
.nm-qty span { min-width: 34px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.nm-anadir { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; height: 42px; border-radius: 8px; font-size: 13px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; color: #0b1024; background: #f5c542; border: 2px solid #0b1024; box-shadow: 3px 3px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2); }
.nm-anadir:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 #0b1024; }
.nm-anadir:active { transform: translate(3px, 3px); box-shadow: 0 0 0 #0b1024; }


.nm-puff { position: fixed; z-index: 95; pointer-events: none; border-radius: 50%; background: radial-gradient(circle, rgba(105, 105, 105, .7) 0%, rgba(105, 105, 105, .35) 45%, rgba(105, 105, 105, 0) 72%); }


.nm-res-pag { max-width: none; }
.nm-tarjetas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); }
.nm-t-top { justify-content: space-between; align-items: flex-start; }
.nm-t-datos { flex: 1; min-width: 0; }
.nm-t-img { order: 2; position: relative; flex: none; width: 118px; height: 118px; margin: -4px -4px 0 0; border-radius: 12px; cursor: copy; border: 2px solid transparent; }
.nm-t-img svg { width: 100px; height: 100px; }
.nm-t-img:hover { border-color: var(--lp-tinta, #0b1024); background: #ebeae3; }
.nm-copia { position: absolute; right: 4px; bottom: 4px; width: 26px; height: 26px; border-radius: 7px; display: grid; place-items: center; background: #0b1024; color: #fff; opacity: 0; transition: opacity .12s; }
.nm-copia .material-symbols-outlined { font-size: 16px; }
.nm-t-img:hover .nm-copia, .nm-t-img:focus-visible .nm-copia { opacity: 1; }
.nm-marcas { margin-top: 10px; }
.nm-f-et { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .6; margin-right: 2px; }
.nm-orden { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; height: 36px; border-radius: 8px; border: 1.5px solid rgba(127, 127, 127, .45); font-size: 12.5px; font-weight: 700; }
.nm-orden .material-symbols-outlined { font-size: 18px; }
.nm-orden select { background: transparent; border: 0; outline: 0; font-weight: 700; cursor: pointer; color: inherit; }
.nm-orden select option { color: #0b1024; }
.nm-barra-acc { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nm-histo { position: relative; }
.nm-histo > summary { list-style: none; cursor: pointer; }
.nm-histo > summary::-webkit-details-marker { display: none; }
.nm-histo-lista { display: flex; flex-direction: column; gap: 4px; }
.nm-histo[open] .nm-histo-lista { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; width: min(380px, 90vw); max-height: 60vh; overflow-y: auto; padding: 8px; border-radius: 12px; background: #fff; color: #0b1024; border: 2px solid #0b1024; box-shadow: 4px 4px 0 #0b1024; }
html:not(.light) .nm-histo[open] .nm-histo-lista { background: #14182e; color: #eef0fa; border-color: rgba(255, 255, 255, .85); }
.nm-histo-pag { width: 100%; }
.nm-histo-nota { font-weight: 600; letter-spacing: 0; text-transform: none; opacity: .65; }
.nm-h-info { font-size: 12px; opacity: .75; }
.nm-h-info > span + span::before { content: ' · '; }
.nm-h-quien { font-weight: 800; }
.nm-h-quien .material-symbols-outlined { font-size: 14px; vertical-align: -2px; margin-right: 2px; }

.nm-histo-pag .nm-hist-b { grid-template-columns: 150px minmax(0, 1fr) 90px; }
.nm-histo-pag .nm-h-info { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(120px, 1fr) minmax(0, 1.6fr); gap: 12px; align-items: baseline; opacity: 1; font-size: 13px; }
.nm-histo-pag .nm-h-info > span + span::before { content: none; }
.nm-histo-pag .nm-h-cond, .nm-histo-pag .nm-h-taller { opacity: .75; }
.nm-histo-pag .nm-h-quien { font-weight: 800; opacity: 1; }
@media (max-width: 720px) { .nm-histo-pag .nm-h-info { grid-template-columns: 1fr; gap: 2px; } }
.nm-hist { display: flex; align-items: center; gap: 8px; }
.nm-hist-b { flex: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 4px 12px; padding: 8px 10px; border-radius: 10px; text-align: left; border: 1.5px solid rgba(127, 127, 127, .3); }
.nm-hist-b:hover { background: rgba(245, 197, 66, .25); border-color: var(--lp-tinta, #0b1024); }
.nm-hist-b b { font-family: ui-monospace, "JetBrains Mono", Consolas, monospace; font-size: 15px; }
.nm-hist-b span { font-size: 12px; opacity: .75; }
.nm-hist-b small { font-size: 11px; opacity: .55; font-variant-numeric: tabular-nums; }


.nm-pagina { transition: transform .35s cubic-bezier(.32, .72, 0, 1), opacity .35s ease; transform-origin: 50% 0; }
.nm-pagina.nm-atras { transform: scale(.955); opacity: .72; }


.nm-tarjeta { min-height: 500px; }
.nm-frente { display: flex; flex-direction: column; gap: 10px; flex: 1; transition: opacity .25s ease; }
.nm-volteada .nm-frente { opacity: 0; pointer-events: none; transition-delay: .08s; }
.nm-sel {
  position: absolute; top: -12px; right: -12px; z-index: 3; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: #fff; color: transparent; border: 2px solid var(--lp-tinta, #0b1024); box-shadow: 2px 2px 0 var(--lp-tinta, #0b1024); transition: background .12s, color .12s;
}
.nm-sel .material-symbols-outlined { font-size: 18px; font-weight: 700; }
.nm-sel:hover { background: #fff6d6; color: rgba(11, 16, 36, .35); }
.nm-sel[aria-pressed="true"] { background: #f5c542; color: #0b1024; }
.nm-tarjeta.nm-sel-on { outline: 4px solid #f5c542; outline-offset: 3px; }
.nm-oferta { left: 14px; }
.nm-selbar { position: sticky; top: 56px; z-index: 15; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 12px; padding: 10px 14px; border-radius: 10px; background: #f5c542; color: #0b1024; border: 2px solid #0b1024; box-shadow: 3px 3px 0 #0b1024; }
.nm-selbar[hidden] { display: none; }

.nm-dorso {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; gap: 10px; padding: 16px; overflow-y: auto; border-radius: 10px;
  background: #fff; color: #0b1024;
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%); visibility: hidden; pointer-events: none;
  transition: clip-path .3s ease-out, visibility 0s .3s;
}
html:not(.light) .nm-dorso { background: #14182e; color: #eef0fa; }
.nm-volteada .nm-dorso { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); visibility: visible; pointer-events: auto; transition: clip-path .4s cubic-bezier(.25, 1.5, .5, 1), visibility 0s; }
.nm-dorso-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 2px solid rgba(127, 127, 127, .25); }
.nm-dorso-cab b { display: block; font-size: 17px; font-weight: 900; }
.nm-dorso-cab span { display: block; margin-top: 2px; font-size: 12px; opacity: .7; }
.nm-dorso-cab i { font-style: normal; font-weight: 800; }
.nm-volver { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; border: 1.5px solid rgba(127, 127, 127, .5); }
.nm-volver:hover { background: rgba(245, 197, 66, .3); }
.nm-pf { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.nm-pf > span { font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; opacity: .65; }
.nm-pf input { width: 100%; height: 38px; padding: 0 10px; border-radius: 8px; font-size: 14px; font-weight: 700; background: #f7f6f1; color: inherit; border: 1.5px solid rgba(127, 127, 127, .45); outline: 0; }
html:not(.light) .nm-pf input { background: #0f1226; }
.nm-pf input:focus { border-color: #0b1024; box-shadow: 0 0 0 3px #f5c542; }
html:not(.light) .nm-pf input:focus { border-color: #f5c542; }
.nm-pf input[readonly] { opacity: .7; }
.nm-pf.nm-buscando input { background: repeating-linear-gradient(135deg, #fff6d6 0 8px, #fff 8px 16px); }
.nm-pf-fila { display: flex; gap: 10px; }
.nm-calc { padding: 10px 12px 12px; border-radius: 10px; border: 2px dashed rgba(127, 127, 127, .45); display: flex; flex-direction: column; gap: 8px; }
.nm-calc-t { margin: 0; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.nm-pf-neto input { background: #fff6d6; border-color: #0b1024; }
html:not(.light) .nm-pf-neto input { background: #3a3315; }
.nm-calc-res { margin: 0; font-size: 12.5px; opacity: .85; }
.nm-pf-acc { display: flex; gap: 8px; margin-top: auto; }
.nm-pf-btn {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 12px; border-radius: 8px; font-size: 12.5px; font-weight: 900;
  letter-spacing: .03em; text-transform: uppercase; color: #0b1024; background: #f5c542; border: 2px solid #0b1024; box-shadow: 3px 3px 0 #0b1024; transition: transform .07s steps(2), box-shadow .07s steps(2);
}
.nm-pf-btn.flojo { background: #fff; }
.nm-pf-btn .material-symbols-outlined { font-size: 18px; }
.nm-pf-btn:hover:not(:disabled) { transform: translate(1px, 1px); box-shadow: 2px 2px 0 #0b1024; }
.nm-pf-btn:active:not(:disabled) { transform: translate(3px, 3px); box-shadow: 0 0 0 #0b1024; }
.nm-pf-btn:disabled { opacity: .4; cursor: not-allowed; box-shadow: none; }
.nm-selbar .nm-pf-btn { flex: none; height: 34px; }


.nm-filtros { position: relative; z-index: 12; }

.nm-filtros:has(.nm-dd-p:not([hidden])) { z-index: 16; }
.nm-dd { position: relative; }
.nm-dd-b { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px 0 14px; border-radius: 8px; font-size: 12.5px; font-weight: 800; border: 1.5px solid rgba(127, 127, 127, .5); background: transparent; }
.nm-dd-b:hover { background: rgba(245, 197, 66, .25); }
.nm-dd.con .nm-dd-b { background: #0b1024; color: #fff; border-color: #0b1024; }
html:not(.light) .nm-dd.con .nm-dd-b { background: #f5c542; color: #0b1024; }
.nm-dd-b .material-symbols-outlined { font-size: 18px; }
.nm-dd-n { min-width: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; text-align: center; background: #f5c542; color: #0b1024; }
.nm-dd-p { position: absolute; z-index: 25; top: calc(100% + 6px); left: 0; min-width: 230px; max-height: 60vh; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 2px; border-radius: 12px; background: #fff; color: #0b1024; border: 2px solid #0b1024; box-shadow: 4px 4px 0 #0b1024; }
html:not(.light) .nm-dd-p { background: #14182e; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 4px 4px 0 rgba(0, 0, 0, .7); }
.nm-dd-p[hidden] { display: none; }
.nm-dd-o { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; }
.nm-dd-o:hover { background: rgba(245, 197, 66, .3); }
.nm-dd-o input { width: 17px; height: 17px; accent-color: #0b1024; }
.nm-dd-o .material-symbols-outlined { font-size: 18px; color: #d97706; }
.nm-dd-limpiar { align-self: flex-start; margin: 6px 8px 2px; }
.nm-orden { margin-left: auto; }

.nm-prov-f[data-prov] { cursor: pointer; border-radius: 6px; padding: 3px 6px; margin: 0 -6px; }
.nm-prov-f[data-prov]:hover { background: rgba(245, 197, 66, .22); }
.nm-prov-f.elegido { background: rgba(22, 163, 74, .14); box-shadow: inset 0 0 0 1.5px #16a34a; }
.nm-dado { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin: 0; padding: 8px 10px; border-radius: 10px; font-size: 13px; background: #fff6d6; color: #5c4400; border: 1.5px solid #d4a300; }
.nm-dado[hidden] { display: none; }
.nm-dado .material-symbols-outlined { font-size: 18px; }
.nm-dado b { font-size: 14.5px; color: #0b1024; font-variant-numeric: tabular-nums; }
.nm-pf-prov, .nm-pf i[data-pf-prov] { font-style: normal; text-transform: none; letter-spacing: 0; font-weight: 800; }
.nm-tarjeta.nm-sinpres { animation: nm-sinpres .7s ease-in-out; border-color: #dc2626; box-shadow: 4px 4px 0 #dc2626; }
@keyframes nm-sinpres { 0%, 100% { transform: translateX(0); } 15% { transform: translateX(-7px); } 35% { transform: translateX(7px); } 55% { transform: translateX(-5px); } 75% { transform: translateX(4px); } }


.le-tabla th.dep-tg, .le-tabla td.dep-tg { width: 44px; padding-right: 0; }
.dep-flecha { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; border: 1px solid rgba(127, 127, 127, .4); }
.dep-flecha:hover { background: rgba(245, 197, 66, .3); }
.dep-flecha .material-symbols-outlined { font-size: 20px; transition: transform .15s; }
.dep-flecha[aria-expanded="true"] .material-symbols-outlined { transform: rotate(90deg); }
tr.dep-abierta > td { background: rgba(127, 127, 127, .06); }
.le-tabla tr.dep-det > td { padding: 0; background: rgba(94, 106, 210, .06); border-bottom: 1px solid rgba(127, 127, 127, .2); }
.dep-det[hidden] { display: none; }
.dep-det-in { margin: 0 0 0 44px; padding: 12px 18px 16px; border-left: 3px solid #5e6ad2; }
.dep-det-t { margin: 0 0 8px; font-size: 12.5px; font-weight: 800; }
.dep-mov { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.dep-mov th { padding: 6px 12px; text-align: center; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }
.dep-mov td { padding: 7px 12px; text-align: center; border-top: 1px solid rgba(127, 127, 127, .18); font-variant-numeric: tabular-nums; }
.dep-mov th.dep-c, .dep-mov td.dep-c { text-align: center; }
.dep-vacio-s { margin: 0; font-size: 12.5px; opacity: .65; }


.promo-card { position: relative; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: var(--surface-container-low, #fff); box-shadow: 0 1px 0 rgba(127,127,127,.18), 0 10px 28px -18px rgba(0,0,0,.45); transition: transform .15s, box-shadow .15s; }
.promo-card:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(127,127,127,.18), 0 16px 34px -16px rgba(0,0,0,.5); }
.promo-card.promo-off { opacity: .72; }
.promo-card.promo-off .promo-img img { filter: grayscale(.85); }
.promo-img { position: relative; background: linear-gradient(135deg, rgba(245,197,66,.22), rgba(127,127,127,.12)); }
.promo-img img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; }
.promo-img .promo-sin { display: grid; place-items: center; height: 150px; font-size: 44px; opacity: .35; }
.promo-pills { position: absolute; top: 10px; left: 10px; right: 10px; display: flex; justify-content: space-between; gap: 6px; pointer-events: none; }
.promo-pill { padding: 4px 10px; border-radius: 999px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(0,0,0,.62); color: #fff; backdrop-filter: blur(4px); }
.promo-pill.ok { background: #059669; }
.promo-pill.ambar { background: #d97706; }
.promo-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; flex: 1; }
.promo-tit { font-weight: 800; font-size: 17px; line-height: 1.2; letter-spacing: -.01em; margin: 0; }
.promo-desc { margin: 0; font-size: 13px; line-height: 1.45; opacity: .75; }
.promo-refs { display: flex; flex-wrap: wrap; gap: 5px; }
.promo-ref { font-family: ui-monospace, monospace; font-size: 11px; padding: 3px 8px; border-radius: 8px; background: rgba(127,127,127,.16); }
.promo-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: auto; padding-top: 4px; }
.promo-stat { text-align: center; padding: 7px 4px; border-radius: 12px; background: rgba(127,127,127,.1); }
.promo-stat b { display: block; font-size: 17px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.promo-stat span { font-size: 9.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; opacity: .6; }
.promo-stat.ok b { color: #059669; } .promo-stat.no b { color: #dc2626; } .promo-stat.pen b { color: #d97706; }
.promo-suyo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; padding: 8px 10px; border-radius: 12px; background: rgba(245,197,66,.16); }
.promo-crear-vista { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 760px) { .promo-crear-vista { grid-template-columns: 1fr; } }


.lp-vercomo-grupo.emp { opacity: 1; color: #0d9488; border-top: 1px solid rgba(13, 148, 136, .35); padding-top: 10px; }
.lp-vercomo-op.emp { background: rgba(13, 148, 136, .1); margin-bottom: 3px; border-left: 3px solid #0d9488; }
.lp-vercomo-op.emp small { display: block; font-size: 10.5px; font-weight: 700; opacity: .6; }
.lp-vercomo-op.emp:hover { background: rgba(13, 148, 136, .26); }
.lp-vercomo-op.emp.on { background: #0d9488; color: #fff; }


.lp-marca-chev { display: none; font-size: 18px; margin-left: 0; color: inherit; opacity: .55; transition: transform .15s; }
.lp-marca.con-suite .lp-marca-chev { display: inline-block; }
.lp-marca.con-suite[aria-expanded="true"] .lp-marca-chev { transform: rotate(180deg); }
.lp-marca.con-suite:hover .lp-marca-nombre { text-decoration: none; }
.lp-marca.con-suite:hover .lp-marca-icono { transform: scale(1.06); }
.lp-suite-pop { position: fixed; z-index: 200; width: 272px; padding: 10px; border-radius: 14px; background: #fffdf7; color: #0b1024; border: 2px solid #0b1024; box-shadow: 5px 5px 0 #0b1024; }
html:not(.light) .lp-suite-pop { background: #14182e; color: #eef0fa; border-color: rgba(255, 255, 255, .85); box-shadow: 5px 5px 0 rgba(0, 0, 0, .6); }
.lp-suite-tit { margin: 0 4px 8px; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }
.lp-suite-grid { display: grid; grid-template-columns: 1fr; gap: 5px; }   
.lp-suite-app { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 10px; text-align: left; text-decoration: none; color: inherit; border: 1px solid rgba(127, 127, 127, .25); }
.lp-suite-app > .material-symbols-outlined { font-size: 24px; flex-shrink: 0; }
.lp-suite-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.lp-suite-app b { font-size: 13px; font-weight: 800; line-height: 1.1; }
.lp-suite-app small { font-size: 10.5px; line-height: 1.2; opacity: .6; }
.lp-suite-ok { font-size: 18px !important; opacity: .8; }
.lp-suite-app:hover { background: rgba(245, 197, 66, .3); border-color: transparent; }
.lp-suite-app.actual { background: #f5c542; color: #0b1024; border-color: #0b1024; }
.lp-suite-app.actual small { opacity: .75; }
.lp-suite-app.bloqueada { opacity: .45; cursor: not-allowed; filter: grayscale(1); }
.lp-suite-app.bloqueada:hover { background: transparent; }


.lp-marca.con-suite { padding: 4px 8px 4px 6px; margin-left: -6px; border-radius: 10px; transition: background .15s; }
.lp-marca.con-suite:hover, .lp-marca.con-suite[aria-expanded="true"] { background: rgba(127, 127, 127, .16); }
.lp-marca-nombre { font-size: 15px; letter-spacing: .01em; text-transform: uppercase; }
.lp-suite-tit { font-size: 10px; }
.lp-colapsar { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: 8px; padding: 7px 10px; border: 0; border-radius: 10px; background: none; font: inherit; font-size: 13px; color: inherit; opacity: .7; cursor: pointer; transition: background .15s, opacity .15s; }
.lp-colapsar:hover { background: rgba(127, 127, 127, .16); opacity: 1; }
.lp-colapsar .material-symbols-outlined { font-size: 20px; }
html.lp-nav-min #lp-sidebar .lp-marca-chev { display: none; }




.hp-toolbar { gap: 6px; align-items: center; }
.hp-toolbar .hp-btn, .hp-toolbar .hp-btn-ghost { min-height: 38px; padding: 7px 13px; border-radius: 10px; font-size: 12px; letter-spacing: .05em; }
.hp-toolbar .hp-btn-ghost { background: transparent; border: 1px solid transparent; color: rgba(255,255,255,0.72); box-shadow: none; }
.hp-toolbar .hp-btn-ghost:hover:not(:disabled) { background: rgba(255,255,255,0.07); color: #fff; }
html.light .hp-toolbar .hp-btn-ghost { color: rgba(0,0,0,0.62); }
html.light .hp-toolbar .hp-btn-ghost:hover:not(:disabled) { background: rgba(0,0,0,0.05); color: #000; }
.hp-toolbar .hp-btn-borde { border-color: rgba(255,255,255,0.16); }
html.light .hp-toolbar .hp-btn-borde { border-color: rgba(0,0,0,0.16); }
.hp-toolbar .hp-btn-icono { width: 38px; min-width: 38px; padding: 0; justify-content: center; }
.hp-toolbar .hp-btn-icono .material-symbols-outlined { font-size: 20px !important; }
.hp-toolbar .hp-tb-sep { width: 1px; height: 22px; margin: 0 6px; background: rgba(255,255,255,0.14); flex: none; }
html.light .hp-toolbar .hp-tb-sep { background: rgba(0,0,0,0.14); }
.hp-toolbar .hp-btn-danger { background: transparent; color: #ef6b6b; border: 1px solid rgba(239,68,68,0.4); }
.hp-toolbar .hp-btn-danger:hover:not(:disabled) { background: rgba(239,68,68,0.12); }
html.light .hp-toolbar .hp-btn-danger { color: #c62828; border-color: rgba(198,40,40,0.4); }
.hp-toolbar .hp-btn-success { border: 1px solid transparent; }

.hp-toolbar .hp-btn.hp-dispo-avisa { background: transparent !important; border: 1px solid rgba(217,167,0,0.7); color: #d9a700 !important; }
html.light .hp-toolbar .hp-btn.hp-dispo-avisa { color: #8a6a00 !important; border-color: rgba(138,106,0,0.6); }

.hp-toolbar .hp-btn.hp-btn-nota { background: rgba(245,197,66,0.16) !important; color: #f5c542 !important; box-shadow: none; border: 1px solid rgba(245,197,66,0.4); min-height: 38px; padding: 0; font-size: 12px; }
html.light .hp-toolbar .hp-btn.hp-btn-nota { background: #fdf3d3 !important; color: #8a6a00 !important; border-color: rgba(138,106,0,0.35); }
.hp-toolbar .hp-btn.hp-btn-nota .hp-btn-dot { background: #f5c542; border-color: transparent; }


.pc-fila { padding: 14px; margin-bottom: 10px; border: 1px solid rgba(127, 127, 127, .24); border-radius: 14px; }
.pc-fila-off { opacity: .45; }
.pc-nivel-amarillo { box-shadow: inset 4px 0 0 #f5c542; }
.pc-nivel-rojo { box-shadow: inset 4px 0 0 #dc2626; }
.pcl-a { display: flex; align-items: flex-end; gap: 12px; }
.pcl-inc { flex: none; width: 48px; display: flex; flex-direction: column; align-items: center; gap: 3px; cursor: pointer; }
.pcl-inc-caja { height: 40px; display: grid; place-items: center; }
.pcl-desc { flex: 1; min-width: 0; }
.pc-desc-i { display: flex; align-items: flex-end; gap: 8px; }
.pc-desc-i > .pc-tipo { flex: none; margin-bottom: 4px; }
.pc-desc-in { flex: 1; min-width: 0; }
.pc-ref-in { flex: none; width: 130px; }
.pcl-cant { flex: none; display: flex; align-items: flex-end; gap: 8px; }
.pc-cant { width: 76px; }
.pcl-b { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 10px; margin-top: 12px; }
.pcl-zona { border-radius: 12px; padding: 10px 12px; min-width: 0; }
.pcl-cliente { border: 1px solid rgba(127, 127, 127, .26); }
.pcl-privada { background: rgba(127, 127, 127, .1); }
.pcl-tit { display: flex; align-items: center; gap: 5px; margin-bottom: 8px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.pcl-tit .material-symbols-outlined, .pc-candado { font-size: 15px; vertical-align: -3px; }
.pcl-celdas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }
.pcl-celdas .pc-val { display: flex; align-items: center; height: 40px; padding-top: 0; }
.pcl-a input[type="text"], .pcl-a input[type="number"], .pcl-celdas input { height: 40px; box-sizing: border-box; }
.pcl-celdas .pcl-celdas .pc-sub { margin-top: 2px; }
@container (max-width: 700px) { .pcl-b { grid-template-columns: minmax(0, 1fr); } }
@container (max-width: 480px) { .pcl-celdas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pcl-a { flex-wrap: wrap; } .pcl-desc { flex-basis: calc(100% - 60px); }
  .pc-desc-i { flex-wrap: wrap; } .pc-ref-in { flex-basis: calc(100% - 40px); width: auto; } .pc-desc-in { flex-basis: 100%; } }

.pc-paso { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 8px; border-radius: 50%; font-size: 11px; font-weight: 800;
  background: rgba(124, 139, 255, .18); color: #7c8bff; vertical-align: 1px; }
html.light .pc-paso { background: rgba(94, 106, 210, .14); color: #5e6ad2; }
.pc-intro { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 16px; padding: 10px 14px; border-radius: 12px; font-size: 12.5px; line-height: 1.45;
  background: rgba(124, 139, 255, .09); border: 1px solid rgba(124, 139, 255, .22); }
.pc-intro > .material-symbols-outlined { flex: none; font-size: 18px; color: #7c8bff; margin-top: 1px; }

.pcl-priv { display: flex; flex-direction: column; gap: 10px; }
.pcl-ledger { margin: 0; display: flex; flex-direction: column; gap: 7px; }
.pcl-lin { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; }
.pcl-lin dt { min-width: 0; font-weight: 600; }
.pcl-lin dt small { display: block; margin-top: 1px; font-size: 10.5px; font-weight: 500; opacity: .7; }
.pcl-lin dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pcl-ganas { margin-top: 2px; padding-top: 9px; border-top: 1px solid rgba(127, 127, 127, .32); }
.pcl-ganas dt, .pcl-ganas dd { font-size: 15px; font-weight: 800; }
.pcl-ganas dt small { font-size: 10.5px; font-weight: 700; }


.cat-pendiente .cat-precio:empty { display: block; width: 72px; height: 26px; border-radius: 8px; background: linear-gradient(90deg, rgba(127,127,127,.14) 25%, rgba(127,127,127,.26) 50%, rgba(127,127,127,.14) 75%); background-size: 200% 100%; animation: cat-destello 1.2s linear infinite; }
@keyframes cat-destello { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .cat-pendiente .cat-precio:empty { animation: none; } }
.pcl-cliente { display: flex; flex-direction: column; }
.pcl-nota { margin: auto 0 0; padding-top: 10px; font-size: 10.5px; opacity: .65; }


.lp-cart-pend { position: relative; }
.lp-cart-pend::after { content: ""; position: absolute; top: 4px; left: 4px; width: 9px; height: 9px; border-radius: 50%; background: #f5a524; box-shadow: 0 0 0 2px var(--lp-cart-borde, #08090a); }
html.light .lp-cart-pend::after { --lp-cart-borde: #fafafa; }


.cesta-foto { width: 52px; height: 52px; flex-shrink: 0; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cesta-foto img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.cesta-cuenta { display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; margin-top: 8px; padding-top: 6px; border-top: 1px dashed rgba(127,127,127,.35); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.cesta-cuenta strong { margin-left: auto; }
.cesta-cuenta strong { font-size: 14px; font-weight: 900; white-space: nowrap; margin-left: 2px; }
.cesta-cuenta span { white-space: nowrap; }
.cesta-dto { font-weight: 800; color: #b91c1c; background: #fde2e2; border-radius: 4px; padding: 0 4px; }
html.light .cesta-lin { background: #fff !important; border: 2px solid var(--lp-tinta); border-radius: 0 !important; }
html.light .cesta-foto { border: 2px solid var(--lp-tinta); border-radius: 0; background: #f6f4ee; }
html.light .cesta-dto { border: 1.5px solid #b91c1c; border-radius: 0; }


.hp-stock { display: inline-block; margin-left: 6px; font-size: 10.5px; font-weight: 700; white-space: nowrap; }
.hp-stock small { font-weight: 400; opacity: .7; }
.hp-stock-si { color: #059669; }
.hp-stock-no { color: #dc2626; }


.cat-quitar-cesta { background: #fde2e2; color: #b91c1c; }
.cat-quitar-cesta:hover { background: #fecaca; }
html.light .cat-quitar-cesta { border: 2px solid #b91c1c; }


.hp-op { display: inline-block; margin-left: 8px; padding: 0 6px; border-radius: 4px; background: #eef1f6; color: #4b5162; font-size: 10px; letter-spacing: .06em; vertical-align: 1px; }


.alb-para { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px; border-radius: 16px; cursor: pointer;
  background: var(--color-surface-container, #f3f4f6); border: 2px solid transparent; transition: border-color .12s, background .12s; }
.alb-para:hover { background: var(--color-surface-container-high, #eceef2); }
.alb-para-ic { font-size: 22px; width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
  background: rgba(94,106,210,.12); color: #5e6ad2; margin-bottom: 4px; }
.alb-para-t { font-size: 14px; font-weight: 800; white-space: nowrap; }
.alb-para-sub { font-size: 11.5px; line-height: 1.35; opacity: .7; }
.alb-para-ok { position: absolute; top: 10px; right: 10px; font-size: 16px; width: 22px; height: 22px; border-radius: 99px; display: none;
  align-items: center; justify-content: center; background: #5e6ad2; color: #fff; }
.alb-para:has(input:checked) { border-color: #5e6ad2; background: rgba(94,106,210,.07); }
.alb-para:has(input:checked) .alb-para-ok { display: flex; }
.alb-para:has(input:focus-visible) { outline: 3px solid #5e6ad2; outline-offset: 2px; }
html.light .alb-para { background: #fff; border: 2px solid #d9d6cc; border-radius: 0; }
html.light .alb-para:has(input:checked) { border-color: var(--lp-tinta, #0b1024); background: #fff8dd; box-shadow: 4px 4px 0 var(--lp-tinta, #0b1024); }
html.light .alb-para-ic { border-radius: 0; background: #f5c542; color: var(--lp-tinta, #0b1024); border: 2px solid var(--lp-tinta, #0b1024); }
html.light .alb-para-ok { background: var(--lp-tinta, #0b1024); }
