body { margin: 0; padding: 0; font-family: Inter, Manrope, sans-serif; background-color: #08090a; color: #f4f5f6; user-select: none; -webkit-tap-highlight-color: transparent; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.material-symbols-filled { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

@keyframes slideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.animate-slideUp { animation: slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fadeIn { animation: fadeIn 0.4s ease-out forwards; }

input, select, textarea { color-scheme: dark; }

/* Onboarding — presets sin style= inline (CSP paso 3) */
.ob-swatch-primary,
.ob-swatch-secondary {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
}
.ob-swatch-primary { background-color: var(--ob-primary); }
.ob-swatch-secondary { background-color: var(--ob-secondary); }
.ob-preset-azul { --ob-primary: #13a4ec; --ob-secondary: #101c22; }
.ob-preset-verde { --ob-primary: #10b981; --ob-secondary: #0f172a; }
.ob-preset-purple { --ob-primary: #8b5cf6; --ob-secondary: #1e1b4b; }
.ob-preset-naranja { --ob-primary: #f97316; --ob-secondary: #1c1917; }
.ob-preset-rosa { --ob-primary: #ec4899; --ob-secondary: #18181b; }
.ob-preset-turquesa { --ob-primary: #06b6d4; --ob-secondary: #0c4a6e; }

input[type="checkbox"].toggle {
  appearance: none;
  width: 48px;
  height: 24px;
  background: #cbd5e1;
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  transition: background 0.3s;
}
input[type="checkbox"].toggle::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background: #64748b;
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: all 0.3s;
}
input[type="checkbox"].toggle:checked {
  background: #7c8cff;
}
input[type="checkbox"].toggle:checked::after {
  left: 26px;
  background: white;
}

@media print {
  html, body {
    background: white !important;
    background-color: white !important;
    color: black !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body * { visibility: hidden; }
  #ticket-content, #ticket-content * { visibility: visible; }
  #ticket-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: white !important;
    display: flex;
    justify-content: center;
  }
  #print-area, #print-area * { visibility: visible; }
  #print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 12mm;
    background: white !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .no-print { display: none !important; }
  .print-lab-only .print-cliente-section { display: none !important; }
  .ticket-block-cut {
    border-bottom: 2px dashed #999;
    margin-bottom: 12px;
    padding-bottom: 12px;
    page-break-after: always;
  }
  .ticket-block-cut:last-child { page-break-after: auto; border-bottom: none; }
}
