:root{
  --brand:#dc3545;
  --brand-dark:#b21f2d;
  --brand-deep:#7a1620;
  --ink:#22252a;
  --muted:#6c757d;
  --bg:#f6f7fb;
  --card-radius:18px;
  --shadow-sm:0 2px 10px rgba(20,20,40,.06);
  --shadow-md:0 12px 30px rgba(20,20,40,.10);
}

*{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Navbar ---------- */
.main-nav{background:linear-gradient(120deg,var(--brand-deep),var(--brand));}
.main-nav .navbar-brand{font-size:1.35rem;letter-spacing:.3px}
.main-nav .nav-link{font-weight:500;opacity:.92;transition:.2s}
.main-nav .nav-link:hover{opacity:1;transform:translateY(-1px)}

/* ---------- Buttons ---------- */
.btn{border-radius:12px;font-weight:500}
.btn-danger{background:var(--brand);border-color:var(--brand)}
.btn-danger:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn-outline-danger{color:var(--brand);border-color:var(--brand)}
.btn-outline-danger:hover{background:var(--brand);border-color:var(--brand)}
.btn-lg{padding:.7rem 1.5rem}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(100deg,rgba(122,22,32,.92),rgba(220,53,69,.78)),
    url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1600&q=80') center/cover;
  min-height:480px;display:flex;align-items:center;color:#fff;position:relative;
}
.hero h1{line-height:1.1;text-shadow:0 4px 20px rgba(0,0,0,.25)}
.hero .lead{max-width:560px;opacity:.95}
.hero .badge{font-size:.8rem;letter-spacing:.5px;padding:.5rem .9rem;border-radius:30px}

/* ---------- Section titles ---------- */
.section-title{font-weight:800;position:relative}
.section-title.center-underline{display:inline-block}
.section-title.center-underline::after{
  content:"";display:block;width:60px;height:4px;border-radius:4px;
  background:var(--brand);margin:10px auto 0;
}

/* ---------- Cards ---------- */
.card{border-radius:var(--card-radius)}
.food-card{transition:.25s;border:0;overflow:hidden;background:#fff}
.food-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.food-card img{height:210px;object-fit:cover;width:100%}
.food-card .badge-veg{position:absolute;top:12px;left:12px;font-size:.7rem}
.card-img-wrap{position:relative}
.price-tag{background:var(--brand);color:#fff;font-weight:600;border-radius:10px;padding:.15rem .6rem;font-size:.9rem}
.old-price{text-decoration:line-through;color:var(--muted);font-size:.85rem;margin-left:.35rem}

.dashboard-card{border:0;border-radius:var(--card-radius);box-shadow:var(--shadow-sm)}
.stat-card{border:0;border-radius:var(--card-radius);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}
.stat-card .icon{font-size:2.2rem;opacity:.18;position:absolute;right:18px;top:18px}
.stat-card h2{font-weight:800}

/* ---------- Category chips ---------- */
.chip{border-radius:30px;font-size:.85rem;padding:.4rem 1rem;font-weight:500}

/* ---------- Tables ---------- */
.table thead th{white-space:nowrap;color:var(--brand-dark);font-weight:600;border-bottom:2px solid #f0d5d8}
.table>:not(caption)>*>*{padding:.85rem .75rem}
.cover-thumb{width:64px;height:52px;object-fit:cover;border-radius:10px}

/* ---------- Status timeline ---------- */
.status-timeline{list-style:none;padding-left:0;margin:0}
.status-timeline li{position:relative;padding:0 0 26px 34px}
.status-timeline li::before{
  content:"";position:absolute;left:9px;top:4px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:3px solid #d7d9e0;z-index:2;
}
.status-timeline li::after{content:"";position:absolute;left:15px;top:14px;bottom:-4px;width:2px;background:#e3e5eb}
.status-timeline li:last-child::after{display:none}
.status-timeline li.done::before{background:var(--brand);border-color:var(--brand)}
.status-timeline li.done .t-title{color:var(--ink);font-weight:600}
.status-timeline li.pending-step .t-title{color:var(--muted)}
.status-timeline .t-time{font-size:.8rem;color:var(--muted)}

/* ---------- Auth ---------- */
.auth-card{max-width:460px;margin:auto;border:0;border-radius:22px;box-shadow:var(--shadow-md)}
.auth-hero{
  background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;
  border-radius:22px;padding:2.2rem;
}

/* ---------- Admin sidebar ---------- */
.sidebar-card{border:0;border-radius:16px;box-shadow:var(--shadow-sm)}
.sidebar-link{
  display:flex;align-items:center;padding:11px 14px;border-radius:11px;
  color:#3a3d44;text-decoration:none;font-weight:500;margin-bottom:2px;transition:.15s;
}
.sidebar-link:hover{background:#fbe9eb;color:var(--brand-dark)}
.sidebar-link.active{background:var(--brand);color:#fff}

/* ---------- Misc ---------- */
.qty-input{max-width:88px}
.item-qty{max-width:60px}
.badge-soft{background:#fbe9eb;color:var(--brand-dark);font-weight:500}
.divider{height:1px;background:#e9ebf1;margin:1rem 0}

/* ---------- Footer ---------- */
.site-footer{background:#1b1e24;color:#c9ccd2}
.footer-muted{color:#9aa0a9}
.footer-links li{margin-bottom:.5rem}
.footer-links a{color:#c9ccd2;text-decoration:none;transition:.15s}
.footer-links a:hover{color:#fff;padding-left:3px}

/* ---------- Print (reports / invoice) ---------- */
@media print{
  .main-nav,.site-footer,.no-print,.sidebar-card,.btn{display:none!important}
  body{background:#fff}
  .card{box-shadow:none!important;border:1px solid #ddd!important}
}
