* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
.container { width: min(1140px, 92%); margin: 0 auto; }
.site-header { background: #fff; border-bottom: 1px solid #e5e7eb; position: sticky; top: 0; z-index: 10; }
.nav { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand h1 { margin: 0; font-size: 22px; }
.brand p { margin: 2px 0 0; font-size: 12px; color: #6b7280; }
.logo { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; }
nav { display: flex; gap: 16px; flex-wrap: wrap; }
.hero { padding: 48px 0 24px; }
.hero-box { background: linear-gradient(135deg, var(--primary), #2b2b2b); color: #fff; border-radius: 20px; padding: 40px; }
.hero-box h2 { font-size: 40px; margin: 0 0 12px; }
.hero-box p { max-width: 640px; line-height: 1.6; }
.btn, button { background: var(--button); color: #fff; border: none; padding: 12px 18px; border-radius: 12px; cursor: pointer; }
.btn-outline { background: transparent; border: 1px solid var(--primary); color: var(--primary); }
.section-title { display: flex; justify-content: space-between; align-items: center; margin: 28px 0 16px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.card { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 24px rgba(0,0,0,0.06); }
.card img { width: 100%; height: 240px; object-fit: cover; }
.card-body { padding: 16px; }
.price { color: var(--secondary); font-weight: 700; }
.badge { background: #f3f4f6; padding: 6px 10px; border-radius: 999px; font-size: 12px; display: inline-block; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
input, select, textarea { width: 100%; padding: 12px; border: 1px solid #d1d5db; border-radius: 12px; }
.cart-table, .admin-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 14px; overflow: hidden; }
.cart-table th, .cart-table td, .admin-table th, .admin-table td { padding: 12px; border-bottom: 1px solid #eef2f7; text-align: left; }
.summary-box, .panel { background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 8px 20px rgba(0,0,0,0.05); }
.footer { margin-top: 48px; background: #111827; color: #fff; padding: 28px 0; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.admin-layout { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.admin-sidebar { background: #111827; color: #fff; padding: 20px; }
.admin-sidebar a { display: block; padding: 10px 12px; border-radius: 10px; margin-bottom: 8px; background: rgba(255,255,255,0.04); }
.admin-main { padding: 20px; background: #f3f4f6; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.stat-card { background: #fff; padding: 18px; border-radius: 16px; }
.alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 14px; }
.alert-success { background: #ecfdf5; color: #065f46; }
.alert-error { background: #fef2f2; color: #991b1b; }
@media (max-width: 768px) {
  .nav, .footer-grid, .admin-layout { grid-template-columns: 1fr; display: block; }
  nav { margin-top: 12px; }
  .hero-box { padding: 24px; }
  .hero-box h2 { font-size: 28px; }
}
