* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #0f172a; color: #e2e8f0; min-height: 100vh; padding: 20px;
}
.container { max-width: 1100px; margin: 0 auto; }
h1 { font-size: 1.8rem; margin-bottom: 8px; color: #f1f5f9; }
h2 { font-size: 1.2rem; margin-bottom: 12px; color: #cbd5e1; }
.subtitle { color: #94a3b8; font-size: 0.9rem; margin-bottom: 20px; }
.card {
  background: #1e293b; border: 1px solid #334155; border-radius: 12px;
  padding: 20px; margin-bottom: 20px;
}
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.product {
  background: #0f172a; border: 1px solid #334155; border-radius: 10px;
  padding: 14px; display: flex; flex-direction: column; gap: 8px;
  transition: border-color 0.2s;
}
.product:hover { border-color: #6366f1; }
.product .name { font-weight: 600; font-size: 0.95rem; color: #f1f5f9; }
.product .cat { font-size: 0.75rem; color: #94a3b8; }
.product .price { color: #22c55e; font-weight: 700; font-size: 1.1rem; }
.product .buy {
  background: #6366f1; color: white; border: none; padding: 8px 14px;
  border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.85rem;
  text-decoration: none; text-align: center; display: inline-block;
}
.product .buy:hover { background: #4f46e5; }
input, select, textarea {
  width: 100%; padding: 9px 12px; border-radius: 6px;
  border: 1px solid #334155; background: #0f172a; color: #e2e8f0;
  font-size: 0.9rem; margin-bottom: 10px;
}
input:focus, textarea:focus { outline: none; border-color: #6366f1; }
label { font-size: 0.85rem; color: #94a3b8; display: block; margin-bottom: 4px; }
button {
  background: #6366f1; color: white; border: none; padding: 10px 18px;
  border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.9rem;
}
button:hover { background: #4f46e5; }
button.secondary { background: #334155; }
button.secondary:hover { background: #475569; }
button.danger { background: #dc2626; }
button.danger:hover { background: #b91c1c; }
.hidden { display: none !important; }
.mt { margin-top: 14px; }
.category-title {
  font-size: 1.1rem; font-weight: 700; margin: 24px 0 12px;
  color: #f1f5f9; border-left: 4px solid #6366f1; padding-left: 10px;
}
table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
th, td { padding: 8px 10px; text-align: left; border-bottom: 1px solid #334155; }
th { color: #94a3b8; font-weight: 600; font-size: 0.8rem; }
.badge { padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; }
.badge.on { background: #166534; color: #86efac; }
.badge.off { background: #7f1d1d; color: #fca5a5; }
.toast {
  position: fixed; top: 20px; right: 20px; background: #1e293b;
  border: 1px solid #334155; padding: 12px 18px; border-radius: 8px;
  z-index: 999; font-size: 0.9rem;
}
