.mod-btn { font-size: 0.75rem; padding: 0.375rem 0.75rem; border-radius: 0.5rem; background: #15803d; color: #dcfce7; transition: background 0.15s; border: none; cursor: pointer; }
.mod-btn:hover { background: #16a34a; }
.mod-active { background: #22c55e !important; color: white !important; font-weight: 600; }
.tab-active { border-bottom: 3px solid #16a34a; color: #166534; font-weight: 600; }
.adm-active { background: #16a34a !important; color: white !important; border-color: #16a34a !important; }
.cart-item { animation: fadeIn 0.15s ease-out; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 0.5rem; }
.catalog-card {
  display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
  padding: 0.5rem; border: 1px solid #e2e8f0; border-radius: 0.75rem; background: #f8fafc;
  cursor: pointer; transition: transform 0.12s, box-shadow 0.12s, border-color 0.12s;
}
.catalog-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); border-color: #86efac; }
.catalog-card img { width: 4.5rem; height: 4.5rem; object-fit: cover; border-radius: 0.5rem; background: #fff; }
.catalog-name { font-size: 0.7rem; font-weight: 600; text-align: center; line-height: 1.2; color: #334155; max-height: 2.4em; overflow: hidden; }
.catalog-price { font-size: 0.75rem; font-weight: 800; color: #15803d; }
.inv-row { cursor: pointer; transition: background 0.12s; }
.inv-row:hover { background: #ecfdf5 !important; }
.search-hit { display: flex; gap: 0.75rem; align-items: center; width: 100%; text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid #f1f5f9; transition: background 0.12s; }
.search-hit:last-child { border-bottom: none; }
.search-hit:hover, .search-hit.active { background: #ecfdf5; }
.search-hit:disabled { opacity: 0.5; cursor: not-allowed; }
.cart-item img, #last-product img { background: #fff; border: 1px solid #e2e8f0; }
@keyframes fadeIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
#scanner-input:focus { box-shadow: 0 0 0 3px rgba(34,197,94,0.35); }
@media print {
  body * { visibility: hidden; }
  #ticket-print, #ticket-print * { visibility: visible; }
  #ticket-print { position: absolute; left: 0; top: 0; width: 80mm; }
  #turno-print, #turno-print * { visibility: visible; }
  #turno-print { position: absolute; left: 0; top: 0; width: 80mm; }
}

body.touch-mode .catalog-card { min-height: 120px; padding: 0.75rem; }
body.touch-mode .catalog-card img { width: 5.5rem; height: 5.5rem; }
body.touch-mode .cart-item { padding: 0.75rem; }
body.touch-mode .qty-btn, body.touch-mode .rm-btn { min-width: 2.5rem; min-height: 2.5rem; font-size: 1rem; }
body.touch-mode #btn-cobrar { min-height: 3.5rem; font-size: 1.25rem; }
body.touch-mode .tab-btn { padding: 0.5rem 0.75rem; font-size: 0.875rem; }

body.dark-mode { background: #0f172a; color: #e2e8f0; }
body.dark-mode .bg-white { background: #1e293b !important; color: #e2e8f0; }
body.dark-mode .bg-slate-50, body.dark-mode .bg-slate-100 { background: #334155 !important; }
body.dark-mode .border-slate-200, body.dark-mode .border { border-color: #475569 !important; }
body.dark-mode .text-slate-800, body.dark-mode .text-slate-700 { color: #e2e8f0 !important; }
body.dark-mode .text-slate-500, body.dark-mode .text-slate-400 { color: #94a3b8 !important; }
body.dark-mode header { background: #14532d !important; }
body.dark-mode input, body.dark-mode select, body.dark-mode textarea { background: #1e293b; color: #e2e8f0; border-color: #475569; }
body.dark-mode .catalog-card { background: #334155; border-color: #475569; }
body.dark-mode .search-hit:hover { background: #334155; }
