/* main.css - Consolidated styles for Admin, Student, and Employee pages
   Order: Student -> Employee -> Admin (with scoped overrides and per-page variables at the end)
   Do not edit individual CSS files; add new rules here to keep a single source of truth.
*/

/* ===== Student styles (from studentStyle.css) ===== */
:root {
  --primary: rgba(61, 53, 25, 1);
  --secondary: #8b7355;
  --accent: #d4b996;
  --light: #f5f1e8;
  --dark: #3a2c1e;
  --success: #4caf50;
  --info: #2196f3;
  --warning: #ffc107;
  --danger: #e63946;
}

body {
  background: linear-gradient(135deg, #f9f7f2 0%, #f5f1e8 100%);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
  color: #3a2c1e;
  overflow-x: hidden;
}

/* ===== Public Home Page (scoped) ===== */
.page-home {
  --primary: #8B4513;
  --secondary: #D2691E;
  --accent: #F4A460;
  --light: #FFF8DC;
  --dark: #654321;
}
.page-home body,
body.page-home { font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }
.page-home h1, .page-home h2, .page-home h3, .page-home .navbar-brand, body.page-home h1, body.page-home h2, body.page-home h3 { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; }
.page-home .navbar { background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.page-home .navbar-brand { font-weight: 700; font-size: 1.8rem; letter-spacing: 0.5px; }
.page-home .nav-link { color: #fff !important; font-weight: 500; transition: all 0.3s ease; }
.page-home .nav-link:hover { color: var(--light) !important; transform: translateY(-2px); }
.page-home .hero-section { position: relative; background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=2070&q=80') center/cover no-repeat; color: #fff; padding: 120px 0; text-align: center; overflow: hidden; }
.page-home .hero-section:after { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 40%, rgba(255,255,255,0.08), transparent 60%); pointer-events: none; }
.page-home .hero-title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; margin-bottom: 0.75rem; letter-spacing: 0.3px; }
.page-home .hero-subtitle { font-size: clamp(1rem, 2.5vw, 1.25rem); opacity: 0.95; margin-bottom: 1.25rem; }
.page-home .btn-primary { background: linear-gradient(135deg, var(--primary), var(--secondary)); border: none; padding: 12px 28px; border-radius: 14px; font-weight: 600; box-shadow: 0 10px 20px rgba(139,69,19,0.25); }
.page-home .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(139,69,19,0.35); }
.page-home .section-title { color: var(--dark); font-weight: 700; margin-bottom: 1.75rem; position: relative; padding-bottom: 0.75rem; text-align: center; }
.page-home .section-title:after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 90px; height: 3px; background-color: var(--accent); border-radius: 3px; }
.page-home .category-filter { text-align: center; margin-bottom: 1.5rem; }
.page-home .category-btn { background: #fff; border: 1px solid #e5e5e5; border-radius: 999px; padding: 8px 18px; margin: 0 6px 10px; transition: all 0.2s ease; }
.page-home .category-btn.active, .page-home .category-btn:hover { background: var(--primary); color: #fff; border-color: transparent; box-shadow: 0 8px 18px rgba(139,69,19,0.2); }
.page-home .menu-card { border: none; border-radius: 18px; overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease; margin-bottom: 1.25rem; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,0.08); }
.page-home .menu-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0,0,0,0.12); }
.page-home .menu-card img { height: 220px; object-fit: cover; }
.page-home .card-title { color: var(--dark); font-weight: 700; }
.page-home .card-price { color: var(--primary); font-weight: 700; font-size: 1.1rem; }
.page-home .add-to-cart-btn { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; border: none; border-radius: 14px; padding: 10px 18px; font-weight: 600; }
.page-home .add-to-cart-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(139,69,19,0.25); }
.page-home .cart-btn { background: var(--accent); color: var(--dark); border: none; border-radius: 999px; padding: 8px 16px; font-weight: 600; }
.page-home .cart-btn:hover { background: var(--secondary); color: #fff; }
.page-home .cart-count { background: var(--primary); color: #fff; border-radius: 999px; padding: 2px 8px; font-size: .8rem; margin-left: 6px; }
.page-home footer { background: var(--dark); color: #fff; padding: 40px 0 20px; margin-top: 50px; text-align: left; }
.page-home .footer-links a { color: var(--light); text-decoration: none; margin-right: 20px; transition: color 0.2s ease; }
.page-home .footer-links a:hover { color: var(--accent); }
.page-home .social-icons a { color: #fff; font-size: 1.3rem; margin-right: 14px; }
.page-home .social-icons a:hover { color: var(--accent); }

/* 3D Loader */
.loader-3d { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px; background: radial-gradient(80% 80% at 50% 20%, rgba(0,0,0,0.15), rgba(0,0,0,0.5)); z-index: 2000; transition: opacity .4s ease, visibility .4s ease; }
.loader-3d.hidden { opacity: 0; visibility: hidden; }
.loader-3d .loader-text { color: #fff; font-weight: 600; letter-spacing: .3px; font-family: 'Poppins', sans-serif; }
.cube { position: relative; width: 70px; height: 70px; transform-style: preserve-3d; animation: spin 3s infinite linear; }
.cube .face { position: absolute; width: 70px; height: 70px; background: linear-gradient(135deg, var(--accent), var(--secondary)); border: 2px solid rgba(255,255,255,0.2); }
.cube .front { transform: translateZ(35px); }
.cube .back { transform: rotateY(180deg) translateZ(35px); }
.cube .right { transform: rotateY(90deg) translateZ(35px); }
.cube .left { transform: rotateY(-90deg) translateZ(35px); }
.cube .top { transform: rotateX(90deg) translateZ(35px); }
.cube .bottom { transform: rotateX(-90deg) translateZ(35px); }
@keyframes spin { from { transform: rotateX(0) rotateY(0) rotateZ(0); } to { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); } }

/* Small reveal animation utility */
.reveal { opacity: 0; transform: translateY(16px); transition: all .5s ease; }
.reveal.show { opacity: 1; transform: translateY(0); }

/* ===== Public Menu Page (scoped) ===== */
.page-menu { --primary: #8B4513; --secondary: #D2691E; --accent: #F4A460; --light: #FFF8DC; --dark: #654321; }
.page-menu .navbar { background: linear-gradient(135deg, var(--primary), var(--secondary)); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.page-menu .hero-section { position: relative; background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('https://images.unsplash.com/photo-1521017432531-fbd92d1cf8c1?auto=format&fit=crop&w=2100&q=80') center/cover no-repeat; color: #fff; padding: 110px 0; text-align: center; overflow: hidden; }
.page-menu .hero-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); }
.page-menu .hero-subtitle { font-family: 'Poppins', sans-serif; opacity: 0.95; }
.page-menu .category-filter { text-align: center; margin-bottom: 1.5rem; }
.page-menu .category-btn { background: #fff; border: 1px solid #e5e5e5; border-radius: 999px; padding: 8px 18px; margin: 0 6px 10px; transition: all 0.2s ease; }
.page-menu .category-btn.active, .page-menu .category-btn:hover { background: var(--primary); color: #fff; border-color: transparent; box-shadow: 0 8px 18px rgba(139,69,19,0.2); }
.page-menu .menu-card { border: none; border-radius: 18px; overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,0.08); }
.page-menu .menu-card:hover { transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0,0,0,0.12); }
.page-menu .card-title { color: var(--dark); font-weight: 700; }
.page-menu .card-price { color: var(--primary); font-weight: 700; }
.page-menu .add-to-cart-btn { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; border: none; border-radius: 12px; }
.page-menu footer { background: var(--dark); color: #fff; text-align: left; }
.page-menu .footer-links a { color: var(--light); text-decoration: none; margin-right: 20px; transition: color 0.2s ease; }
.page-menu .footer-links a:hover { color: var(--accent); }
.page-menu .social-icons a { color: #fff; font-size: 1.3rem; margin-right: 14px; }
.page-menu .social-icons a:hover { color: var(--accent); }

/* Sidebar Styles */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 280px;
  background: linear-gradient(180deg, var(--primary) 0%, var(--dark) 100%);
  color: white;
  z-index: 1000;
  box-shadow: 4px 0 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.sidebar-user-info { padding: 5px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 0.5rem; }
.sidebar-footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 1rem; border-top: 1px solid rgba(255,255,255,0.1); }
.quick-stats { background: rgba(255,255,255,0.1); border-radius: 8px; padding: 0.75rem; margin: 1rem 0; }
.stat-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; font-size: 0.8rem; }
.stat-item:last-child { margin-bottom: 0; }
.stat-value { font-weight: 600; color: var(--accent); }
.nav-badge { background: var(--accent); color: var(--dark); border-radius: 10px; padding: 0.15rem 0.5rem; font-size: 0.7rem; font-weight: 600; margin-left: auto; }
.sidebar-divider { height: 1px; background: rgba(255,255,255,0.1); margin: 0.75rem 0; }
.current-balance { background: linear-gradient(135deg, var(--accent) 0%, #e8d4b4 100%); color: var(--dark); border-radius: 10px; padding: 0.75rem; text-align: center; margin: 1rem 0; }
.balance-label { font-size: 0.8rem; opacity: 0.8; }
.balance-amount { font-size: 1.1rem; font-weight: 700; margin: 0.25rem 0; }
.balance-action { font-size: 0.75rem; text-decoration: underline; cursor: pointer; }
.user-avatar-sidebar { width: 50px; height: 50px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; color: var(--dark); font-size: 1.2rem; margin: 0 auto 0.5rem; }
.user-info-text { text-align: center; }
.user-name { font-weight: 600; font-size: 0.9rem; margin-bottom: 0.25rem; }
.user-role { font-size: 0.75rem; opacity: 0.8; }
.sidebar-brand { padding: 0.5rem 0.5rem; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.sidebar-brand img { width: 150px; height: 150px; border-radius: 50%; margin-bottom: 0.5rem; border: 3px solid var(--accent); }
.sidebar-brand span { display: block; font-weight: 700; font-size: 1.2rem; color: white; }
.sidebar-nav { padding: 0 1rem; }
.sidebar-nav .nav-link { color: rgba(255, 255, 255, 0.8); padding: 0.75rem 1rem; margin-bottom: 0.5rem; border-radius: 10px; transition: all 0.3s ease; display: flex; align-items: center; gap: 0.75rem; }
.sidebar-nav .nav-link:hover, .sidebar-nav .nav-link.active { background: rgba(255,255,255,0.1); color: white; transform: translateX(5px); }
.sidebar-nav .nav-link i { font-size: 1.2rem; width: 24px; text-align: center; }

/* Main Content */
.main-content { margin-left: 280px; padding: 1.5rem; transition: all 0.3s ease; }

/* Header */
.page-header { background: linear-gradient(135deg, #ffffff 0%, #f9f7f2 100%); padding: 1.5rem; border-radius: 16px; box-shadow: 0 8px 25px rgba(58, 44, 30, 0.08); margin-bottom: 2rem; text-align: center; border: 1px solid rgba(212, 185, 150, 0.3); }
.page-title h1 { font-weight: 700; color: var(--primary); margin: 0; font-size: 2.25rem; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
.page-title p { color: #8b7355; margin: 0.5rem 0 0 0; font-size: 1.1rem; }

/* User Info Bar */
.user-info-bar { background: linear-gradient(135deg, #ffffff 0%, #f9f7f2 100%); padding: 1rem 1.5rem; border-radius: 12px; box-shadow: 0 4px 15px rgba(58,44,30,0.08); margin-bottom: 2rem; display: flex; justify-content: space-between; align-items: center; border: 1px solid rgba(212,185,150,0.3); }
.user-details { display: flex; align-items: center; gap: 1rem; }
.user-avatar { width: 50px; height: 50px; border-radius: 50%; background: var(--primary); display: flex; align-items: center; justify-content: center; color: white; font-size: 1.5rem; }
.user-text h4 { margin: 0; color: var(--primary); font-weight: 600; }
.user-text p { margin: 0; color: #8b7355; font-size: 0.9rem; }
.cart-indicator { display: flex; align-items: center; gap: 1rem; }
.cart-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; border: none; padding: 0.75rem 1.5rem; border-radius: 12px; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; box-shadow: 0 4px 12px rgba(139,115,85,0.2); }
.cart-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(139,115,85,0.3); }
.cart-count { background: var(--accent); color: var(--dark); border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; }

/* Menu Cards */
.menu-card { border: none; border-radius: 16px; overflow: hidden; transition: all 0.3s ease; background: #fff; box-shadow: 0 4px 15px rgba(58,44,30,0.08); height: 100%; }
.menu-card:hover { transform: translateY(-6px); box-shadow: 0 12px 25px rgba(58,44,30,0.15); }
.menu-card img { height: 220px; object-fit: cover; transition: transform 0.3s ease; }
.menu-card:hover img { transform: scale(1.05); }
.card-body { padding: 1.5rem; display: flex; flex-direction: column; height: 100%; }
.card-title { font-size: 1.2rem; font-weight: 600; color: var(--primary); margin-bottom: 0.5rem; }
.card-category { color: var(--secondary); font-size: 0.9rem; margin-bottom: 0.5rem; }
.card-price { font-size: 1.3rem; font-weight: 700; color: var(--primary); margin-bottom: 1rem; }
.card-remarks { color: #8b7355; font-size: 0.9rem; margin-bottom: 1.5rem; flex-grow: 1; }
.add-to-cart-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; border: none; border-radius: 12px; padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.5rem; box-shadow: 0 4px 12px rgba(139,115,85,0.2); }
.add-to-cart-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(139,115,85,0.3); }

/* Cart Modal */
.cart-modal .modal-header { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; }
.cart-modal .modal-title { font-weight: 600; }
.cart-modal .modal-dialog-scrollable .modal-body { max-height: 70vh; overflow-y: auto; overflow-x: hidden; }
/* Ensure table layout inside cart modal aligns with header */
.cart-modal .table { min-width: 100% !important; table-layout: fixed; width: 100%; }
.cart-modal .table-responsive { overflow-x: hidden; }
.cart-modal .table th, .cart-modal .table td { vertical-align: middle; white-space: nowrap; }
.cart-modal .table td:first-child { white-space: normal; }
/* Reset legacy flex row style when used on table rows */
.cart-modal table .cart-item { display: table-row; padding: 0; border-bottom: inherit; }
.cart-modal table .cart-item td { padding: 1rem 0.75rem; }
.cart-item { display: flex; align-items: center; padding: 1rem; border-bottom: 1px solid rgba(212,185,150,0.3); }
.cart-item-img { width: 80px; height: 60px; object-fit: cover; border-radius: 8px; margin-right: 1rem; }
.cart-item-details { flex-grow: 1; }
.cart-item-name { font-weight: 600; color: var(--primary); margin-bottom: 0.25rem; }
.cart-item-price { color: var(--secondary); font-weight: 500; }
.cart-qty-controls { display: flex; align-items: center; gap: 0.5rem; }
.cart-qty-btn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid rgba(212,185,150,0.5); background: white; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; }
.cart-qty-btn:hover { background: var(--light); }
.cart-qty-input { width: 50px; text-align: center; border: 1px solid rgba(212,185,150,0.5); border-radius: 8px; padding: 0.25rem; }
.remove-item-btn { background: none; border: none; color: var(--danger); font-size: 1.2rem; transition: all 0.2s ease; }
.remove-item-btn:hover { transform: scale(1.1); }
.cart-total { font-size: 1.3rem; font-weight: 700; color: var(--primary); text-align: right; padding: 1rem; border-top: 1px solid rgba(212,185,150,0.3); }

/* Checkout Modal */
.checkout-modal .modal-header { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; }
.checkout-item { display: flex; justify-content: space-between; padding: 0.75rem 0; border-bottom: 1px solid rgba(212,185,150,0.3); }
.checkout-total { font-size: 1.3rem; font-weight: 700; color: var(--primary); text-align: right; padding: 1rem 0; }

/* Footer */
footer { background: linear-gradient(135deg, var(--primary) 0%, var(--dark) 100%); color: white; text-align: center; padding: 1.5rem; margin-top: 3rem; border-radius: 16px 16px 0 0; }
/* Admin footer overrides to match original inline styles */
.admin-page footer { margin-left: var(--sidebar-width, 250px); padding: 1rem; transition: all 0.3s ease; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.05); overflow: hidden; background-color: var(--secondary); }

/* Responsive (Student) */
@media (max-width: 992px) { .sidebar { width: 80px; } .sidebar-brand span, .sidebar-nav .nav-link span { display: none; } .sidebar-nav .nav-link { justify-content: center; } .sidebar-nav .nav-link i { font-size: 1.5rem; } .main-content { margin-left: 80px; } }
@media (max-width: 768px) { .sidebar { width: 0; } .main-content { margin-left: 0; } .user-info-bar { flex-direction: column; gap: 1rem; text-align: center; } }

/* Orders page specifics from studentStyle.css */
.orders-container { margin-left: 280px; padding: 1.5rem; transition: all 0.3s ease; }
.orders-header { background: linear-gradient(135deg, #FFFFFF 0%, #F9F7F2 100%); padding: 1.5rem; border-radius: 16px; box-shadow: 0 8px 25px rgba(58,44,30,0.08); margin-bottom: 2rem; text-align: center; border: 1px solid rgba(212,185,150,0.3); }
.orders-title h1 { font-weight: 700; color: var(--primary); margin: 0; font-size: 2.25rem; text-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.orders-title p { color: #8B7355; margin: 0.5rem 0 0 0; font-size: 1.1rem; }
.order-card { border: none; border-radius: 16px; overflow: hidden; transition: all 0.3s ease; background: #fff; box-shadow: 0 4px 15px rgba(58,44,30,0.08); margin-bottom: 1.5rem; }
.order-card:hover { transform: translateY(-5px); box-shadow: 0 12px 25px rgba(58,44,30,0.15); }
.order-header { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; padding: 1.25rem 1.5rem; border-radius: 12px 12px 0 0; }
.order-body { padding: 1.5rem; }
.order-item { display: flex; align-items: center; margin-bottom: 1rem; padding: 1rem; background: #F9F7F2; border-radius: 10px; border: 1px solid rgba(212,185,150,0.2); transition: all 0.2s ease; }
.order-item:hover { background: #F5F1E8; }
.order-item img { width: 70px; height: 70px; border-radius: 8px; object-fit: cover; margin-right: 1rem; border: 2px solid white; box-shadow: 0 2px 4px rgba(58,44,30,0.1); }
.item-details { flex: 1; }
.item-name { font-weight: 600; color: var(--primary); margin-bottom: 0.25rem; font-size: 1rem; }
.item-meta { font-size: 0.85rem; color: #8B7355; }
.order-footer { border-top: 1px solid rgba(212,185,150,0.3); padding-top: 1rem; margin-top: 1rem; }
.total-amount { font-size: 1.2rem; font-weight: 700; color: var(--primary); }
.order-count { font-size: 0.9rem; color: #8B7355; }
.badge-status { font-size: 0.8rem; padding: 0.5rem 1rem; border-radius: 12px; font-weight: 600; text-transform: capitalize; }
.status-pending { background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%); color: #000; }
.status-received { background: linear-gradient(135deg, #17a2b8 0%, #138496 100%); color: #fff; }
.status-preparing { background: linear-gradient(135deg, #fd7e14 0%, #e8590c 100%); color: #fff; }
.status-ready { background: linear-gradient(135deg, #20c997 0%, #199d75 100%); color: #fff; }
.status-delivered { background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%); color: #fff; }
.status-cancelled { background: linear-gradient(135deg, #dc3545 0%, #c82333 100%); color: #fff; }
.empty-state { text-align: center; padding: 4rem 2rem; }
.empty-state i { font-size: 4rem; color: var(--secondary); margin-bottom: 1.5rem; opacity: 0.7; }
.empty-state h4 { color: var(--primary); margin-bottom: 1rem; font-weight: 600; }
.empty-state p { color: #8B7355; margin-bottom: 2rem; font-size: 1.1rem; }
.browse-menu-btn { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: white; border: none; border-radius: 12px; padding: 0.75rem 2rem; font-weight: 600; transition: all 0.3s ease; box-shadow: 0 4px 12px rgba(139,115,85,0.2); }
.browse-menu-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(139,115,85,0.3); color: white; }
@media (max-width: 992px) { .orders-container { margin-left: 80px; } }
@media (max-width: 768px) { .orders-container { margin-left: 0; } .order-item { flex-direction: column; text-align: center; } .order-item img { margin-right: 0; margin-bottom: 1rem; } .order-header .d-flex { flex-direction: column; gap: 1rem; text-align: center; } }

/* ===== Employee styles (from employeeStyle.css) ===== */
body { background: linear-gradient(135deg, #f9f7f2 0%, #f5f1e8 100%); font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; min-height: 100vh; color: #3a2c1e; }
.main-content { margin-left: var(--sidebar-width, 0); padding: 1rem; transition: all 0.3s ease; }
.page-header { background: linear-gradient(135deg, #ffffff 0%, #f9f7f2 100%); padding: 1.5rem; border-radius: 16px; box-shadow: 0 8px 25px rgba(58,44,30,0.08); margin-bottom: 2rem; text-align: center; border: 1px solid rgba(212,185,150,0.3); }
.page-title h1 { font-weight: 700; color: var(--primary); margin: 0; font-size: 2.25rem; text-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.page-title p { color: #8b7355; margin: 0.5rem 0 0 0; font-size: 1.1rem; }
.kanban-board { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.kanban-column { background: linear-gradient(135deg, #ffffff 0%, #f9f7f2 100%); border-radius: 16px; border: 1px solid rgba(212,185,150,0.3); color: var(--dark); padding: 1.5rem; box-shadow: 0 8px 25px rgba(58,44,30,0.08); min-height: 600px; border-top: 6px solid; transition: all 0.3s ease; }
.kanban-column:hover { transform: translateY(-5px); box-shadow: 0 12px 35px rgba(58,44,30,0.12); }
.kanban-column.received { border-color: #8b7355; }
.kanban-column.preparing { border-color: #a67c52; }
.kanban-column.ready { border-color: #bf9b6f; }
.kanban-column.delivered { border-color: #8b7355; }
.column-header { text-align: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid rgba(139,115,85,0.2); }
.column-header h4 { font-weight: 700; margin: 0; display: flex; align-items: center; justify-content: center; gap: 0.5rem; color: var(--primary); }
.order-count { background: rgba(139,115,85,0.1); color: var(--primary); border-radius: 20px; padding: 0.25rem 0.75rem; font-size: 0.8rem; font-weight: 600; }
.order-card { background: white; border: 1px solid rgba(212,185,150,0.3); border-radius: 14px; padding: 1.25rem; margin-bottom: 1rem; box-shadow: 0 4px 12px rgba(58,44,30,0.08); transition: all 0.3s ease; border-left: 4px solid; animation: fadeInUp 0.6s ease-out; }
@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(15px); } 100% { opacity: 1; transform: translateY(0); } }
.order-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(58,44,30,0.12); }
.order-card.received { border-left-color: #8b7355; }
.order-card.preparing { border-left-color: #a67c52; }
.order-card.ready { border-left-color: #bf9b6f; }
.order-card.delivered { border-left-color: #8b7355; }
.order-header { border-bottom: 1px solid rgba(212,185,150,0.3); padding-bottom: 0.75rem; margin-bottom: 0.75rem; display: flex; justify-content: space-between; align-items: flex-start; }
.order-id { font-weight: 700; color: var(--primary); font-size: 1rem; }
.order-date { font-size: 0.8rem; color: #8b7355; text-align: right; }
.order-items { max-height: 200px; overflow-y: auto; margin-bottom: 0.75rem; }
.order-item { display: flex; align-items: center; margin-bottom: 0.75rem; padding: 0.75rem; background: #f9f7f2; border-radius: 10px; transition: all 0.2s ease; border: 1px solid rgba(212,185,150,0.2); }
.order-item:hover { background: #f5f1e8; }
.order-item img { width: 50px; height: 50px; border-radius: 8px; object-fit: cover; margin-right: 0.75rem; border: 2px solid white; box-shadow: 0 2px 4px rgba(58,44,30,0.1); }
.item-details { flex: 1; }
.item-name { font-weight: 600; font-size: 0.9rem; margin-bottom: 0.25rem; color: var(--dark); }
.item-qty-price { font-size: 0.8rem; color: #8b7355; }
.order-footer { border-top: 1px solid rgba(212,185,150,0.3); padding-top: 0.75rem; margin-top: 0.75rem; display: flex; justify-content: space-between; align-items: center; }
.total-amount { font-weight: 700; color: #8b7355; font-size: 1.1rem; }
.student-info { font-size: 0.8rem; color: #8b7355; margin-top: 0.25rem; }
.status-btn { border: none; border-radius: 10px; padding: 0.75rem 1.25rem; font-weight: 600; font-size: 0.85rem; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; gap: 0.5rem; box-shadow: 0 4px 8px rgba(58,44,30,0.1); }
.status-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(58,44,30,0.15); }
.status-btn.received { background: linear-gradient(135deg, #8b7355 0%, #6d5b45 100%); color: #fff; }
.status-btn.preparing { background: linear-gradient(135deg, #a67c52 0%, #8b6b47 100%); color: #fff; }
.status-btn.ready { background: linear-gradient(135deg, #bf9b6f 0%, #a67c52 100%); color: #fff; }
.status-btn.delivered { background: linear-gradient(135deg, #8b7355 0%, #6d5b45 100%); color: #fff; }
.badge-delivered { background: linear-gradient(135deg, #8b7355 0%, #6d5b45 100%); color: white; padding: 0.75rem 1.25rem; border-radius: 10px; font-weight: 600; font-size: 0.85rem; display: flex; align-items: center; gap: 0.5rem; box-shadow: 0 4px 8px rgba(139,115,85,0.2); }
.empty-state { text-align: center; padding: 3rem 1rem; color: #8b7355; }
.empty-state i { font-size: 3.5rem; margin-bottom: 1rem; opacity: 0.5; color: var(--primary); }
.empty-state h5 { font-weight: 600; margin-bottom: 0.5rem; color: var(--primary); }
.navbar-kitchen { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); box-shadow: 0 4px 15px rgba(58,44,30,0.1); padding: 1rem 0; }
.navbar-brand { font-weight: 700; font-size: 1.5rem; display: flex; align-items: center; gap: 0.5rem; }
.footer-kitchen { background: linear-gradient(135deg, var(--primary) 0%, var(--dark) 100%); color: white; text-align: center; padding: 1.5rem; margin-top: auto; border-radius: 16px 16px 0 0; }
@media (max-width: 768px) { .kanban-board { grid-template-columns: 1fr; } .page-header { padding: 1rem; } .page-title h1 { font-size: 1.75rem; } .order-footer { flex-direction: column; gap: 1rem; align-items: stretch; } .status-btn { justify-content: center; } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.order-card { animation: fadeInUp 0.5s ease-out; }

/* ===== Admin styles (from style.css) ===== */
*{ margin:0; padding:0; box-sizing:border-box; text-decoration:none; }
:root { --primary: #4E342E; --secondary: #6D4C41; --highlight: #FFC107; --text-light: #F5F5F5; --text-muted: #D7CCC8; --sidebar-width: 250px; }
strong{ color: var(--primary); }
/* Sidebar Styles */
.sidebar { position: fixed; top: 0; left: 0; height: 100vh; width: var(--sidebar-width); background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 100%); box-shadow: 2px 0 12px rgba(0,0,0,0.2); z-index: 1000; transition: all 0.3s ease; overflow-y: auto; }
/* Logo & Brand Name */
.sidebar-brand { padding: 1.5rem 1rem; color: var(--text-light); font-weight: 700; font-size: 1.3rem; display: flex; flex-direction: column; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.1); }
.sidebar-brand img { width:150px; height:150px; object-fit: contain; border-radius: 50%; background:#fff; padding:6px; margin-bottom:0.5rem; box-shadow: 0 0 10px rgba(255,255,255,0.1); }
.sidebar-brand span { color: var(--text-light); letter-spacing: 0.5px; }
/* Navigation Menu */
.sidebar-nav { padding: 1.2rem 0; }
.sidebar-nav .nav-item { margin-bottom: 0.4rem; }
.sidebar-nav .nav-link { color: var(--text-muted); padding: 0.75rem 1.5rem; display: flex; align-items: center; transition: all 0.25s ease; border-left: 3px solid transparent; font-weight: 500; }
.sidebar-nav .nav-link i { margin-right: 12px; font-size: 1.2rem; }
/* Hover & Active Effects */
.sidebar-nav .nav-link:hover { color: var(--highlight); background-color: rgba(255,255,255,0.1); border-left: 3px solid var(--highlight); transform: translateX(3px); }
.sidebar-nav .nav-link.active { color: var(--highlight); background-color: rgba(255,255,255,0.15); border-left: 3px solid var(--highlight); font-weight: 600; }
/* Scrollbar Styling */
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,0.2); border-radius: 4px; }
.sidebar::-webkit-scrollbar-thumb:hover { background-color: rgba(255,255,255,0.4); }
/* Main Content */
.main-content { margin-left: var(--sidebar-width); padding: 1rem; transition: all 0.3s ease; }
/* Header */
.header { background-color: white; padding: 1rem; border-radius: 10px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.header-title h1 { font-weight: 700; color: var(--dark); margin: 0; }
.header-title p { color: #6c757d; margin: 0; }
.user-profile { display: flex; align-items: center; gap: 10px; }
.user-profile img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
/* Stats Cards */
.stats-card { border-radius: 12px; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transition: transform 0.3s, box-shadow 0.3s; overflow: hidden; margin-bottom: 1.5rem; }
.stats-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.stats-card .card-body { padding: 1.5rem; display: flex; align-items: center; }
.stats-icon { width: 60px; height: 60px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-right: 15px; font-size: 1.8rem; }
.stats-content { flex: 1; }
.stats-content h5 { font-size: 0.9rem; color: #6c757d; margin-bottom: 0.5rem; }
.stats-content h2 { font-size: 1.8rem; font-weight: 700; margin-bottom: 0.25rem; }
.stats-content p { font-size: 0.85rem; margin: 0; }
/* Orders Table */
.orders-card { border-radius: 12px; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.05); overflow: hidden; }
.orders-card .card-header { background-color: white; border-bottom: 1px solid #e9ecef; padding: 1.25rem 1.5rem; }
.table-responsive { border-radius: 0 0 12px 12px; overflow-x: auto; }
.table { margin-bottom: 0; min-width: 900px; }
.table th { border-top: none; font-weight: 600; color: #495057; padding: 1rem 0.75rem; background-color: #f8f9fa; white-space: nowrap; }
.table td { padding: 1rem 0.75rem; vertical-align: middle; white-space: nowrap; }
.order-items { max-width: 200px; min-width: 150px; }
.items-container { display: flex; flex-wrap: wrap; gap: 4px; }
.item-badge { display: inline-block; border-radius: 4px; padding: 0.25rem 0.5rem; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; background-color: var(--primary); color: var(--text-light); }
.more-items { background-color: #6c757d !important; color: white !important; }
/* Status Badges */
.badge-pending { background-color: #fff3cd; color: #856404; }
.badge-received { background-color: #cce7ff; color: #004085; }
.badge-preparing { background-color: #d1ecf1; color: #0c5460; }
.badge-ready { background-color: #d4edda; color: #155724; }
.badge-delivered { background-color: #e2e3e5; color: #383d41; }
.badge-cancelled { background-color: #f8d7da; color: #721c24; }
/* Action Buttons */
.btn-action { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; margin: 0 2px; }
/* Modal */
.modal-content { border-radius: 12px; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.modal-header { border-bottom: 1px solid #e9ecef; padding: 1.25rem 1.5rem; }
.modal-body { padding: 1.5rem; }
/* Empty State */
.empty-state { padding: 3rem 1rem; text-align: center; color: #6c757d; }
.empty-state i { font-size: 4rem; margin-bottom: 1rem; opacity: 0.5; }
/* Responsive Admin */
@media (max-width: 992px) { .sidebar { width: 70px; overflow: hidden; } .sidebar-brand span, .sidebar-nav .nav-link span { display: none; } .sidebar-nav .nav-link { justify-content: center; padding: 0.75rem; } .sidebar-nav .nav-link i { margin-right: 0; font-size: 1.4rem; } .main-content { margin-left: 70px; } .table { min-width: 1000px; } }
@media (max-width: 768px) { .main-content { margin-left: 0; padding: 0.5rem; } .sidebar { transform: translateX(-100%); } .sidebar.show { transform: translateX(0); } .header { flex-direction: column; gap: 1rem; align-items: flex-start; } .stats-card .card-body { padding: 1rem; } .stats-icon { width: 50px; height: 50px; font-size: 1.5rem; } .stats-content h2 { font-size: 1.5rem; } }
@media (max-width: 576px) { .main-content { padding: 0.25rem; } .header { padding: 0.75rem; } .stats-card .card-body { flex-direction: column; text-align: center; } .stats-icon { margin-right: 0; margin-bottom: 10px; } }
/* Items/Shared from style.css */
.page-header { background-color: white; padding: 1.5rem; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.page-title h1 { font-weight: 700; color: var(--dark); margin: 0; }
.page-title p { color: #6c757d; margin: 0; }
.items-card { border-radius: 12px; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.05); overflow: hidden; }
.items-card .card-header { background-color: white; border-bottom: 1px solid #e9ecef; padding: 1.25rem 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.table-responsive { border-radius: 0 0 12px 12px; }
.table th { border-top: none; font-weight: 600; color: #495057; padding: 1rem 0.75rem; background-color: #f8f9fa; }
.table td { padding: 1rem 0.75rem; vertical-align: middle; }
.item-image { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); transition: transform 0.3s ease; }
.item-image:hover { transform: scale(1.8); z-index: 10; position: relative; }
.badge-active { background-color: #d4edda; color: #155724; padding: 0.5rem 0.75rem; border-radius: 6px; font-weight: 500; }
.badge-inactive { background-color: #f8d7da; color: #721c24; padding: 0.5rem 0.75rem; border-radius: 6px; font-weight: 500; }
.btn-action { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; margin: 0 2px; text-decoration: none; }
.btn-edit { background-color: rgba(255,193,7,0.1); border: 1px solid rgba(255,193,7,0.3); color: #ffc107; }
.btn-edit:hover { background-color: #ffc107; color: white; }
.btn-delete { background-color: rgba(220,53,69,0.1); border: 1px solid rgba(220,53,69,0.3); color: #dc3545; }
.btn-delete:hover { background-color: #dc3545; color: white; }
.btn-add-item,.btn-back{ background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); border: none; border-radius: 8px; padding: 0.75rem 1.5rem; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(67,97,238,0.3); }
.btn-add-item:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(67,97,238,0.4); }
.table-hover tbody tr { transition: all 0.2s ease; }
.table-hover tbody tr:hover { background-color: rgba(67,97,238,0.05); transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.stock-low { color: #dc3545; font-weight: 600; }
.stock-medium { color: #fd7e14; font-weight: 600; }
.stock-high { color: #198754; font-weight: 600; }
.category-badge { background-color: #e9ecef; color: #495057; padding: 0.35rem 0.75rem; border-radius: 6px; font-size: 0.85rem; font-weight: 500; }
.price { font-weight: 700; color: #198754; }
.empty-state { text-align: center; padding: 3rem 1rem; color: #6c757d; }
.empty-state i { font-size: 4rem; margin-bottom: 1rem; opacity: 0.5; }

/* ===== Per-page variable scopes and conflict-safe overrides ===== */
/* Ensure each page gets its intended color variables and layout without cross-overrides */
.admin-page { --primary: #4E342E; --secondary: #6D4C41; --highlight: #FFC107; --text-light: #F5F5F5; --text-muted: #D7CCC8; --sidebar-width: 250px; }
.student-page { --primary: rgba(61, 53, 25, 1); --secondary: #8b7355; --accent: #d4b996; --light: #f5f1e8; --dark: #3a2c1e; --success: #4caf50; --info: #2196f3; --warning: #ffc107; --danger: #e63946; --sidebar-width: 280px; }
.employee-page { --primary: rgba(61, 53, 25, 1); --secondary: #8b7355; --accent: #d4b996; --light: #f5f1e8; --dark: #3a2c1e; --success: #4caf50; --info: #2196f3; --warning: #ffc107; --danger: #e63946; --sidebar-width: 0px; }

/* Key layout conflicts resolved with higher-specificity page classes */
.admin-page .sidebar { position: fixed; top: 0; left: 0; height: 100vh; width: var(--sidebar-width); background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 100%); box-shadow: 2px 0 12px rgba(0,0,0,0.2); z-index: 1000; transition: all 0.3s ease; overflow-y: auto; }
.admin-page .main-content { margin-left: var(--sidebar-width); padding: 1rem; transition: all 0.3s ease; }

.student-page .sidebar { position: fixed; top: 0; left: 0; height: 100vh; width: 280px; background: linear-gradient(180deg, var(--primary) 0%, var(--dark) 100%); color: white; z-index: 1000; box-shadow: 4px 0 15px rgba(0,0,0,0.1); transition: all 0.3s ease; }
.student-page .main-content { margin-left: 280px; padding: 1.5rem; transition: all 0.3s ease; }

.employee-page .main-content { margin-left: 0; padding: 1rem; transition: all 0.3s ease; }

/* ===== Page-specific extras migrated from inline styles ===== */
/* Employees page buttons/cards */
.btn-add { background: linear-gradient(135deg, #198754 0%, #157347 100%); border: none; color: white; padding: 0.6rem 1rem; border-radius: 8px; }
.card-list { border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.table th, .table td { vertical-align: middle; }

/* Employee form styles */
.form-card { border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.btn-submit { background: linear-gradient(135deg, #198754 0%, #157347 100%); border: none; color: white; }

/* Items: shared form and UI elements extracted from add/edit pages */
.btn-back-secondary { background: linear-gradient(135deg, #6c757d 0%, #495057 100%); border: none; border-radius: 8px; padding: 0.75rem 1.5rem; font-weight: 600; display: inline-flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(108,117,125,0.3); color: #fff; text-decoration: none; }
.btn-back-secondary:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(108,117,125,0.4); color: #fff; }

/* General form control enhancements */
.form-label { font-weight: 600; color: #495057; margin-bottom: 0.5rem; }
.form-control, .form-select { border-radius: 8px; border: 1px solid #e2e8f0; padding: 0.6rem 0.9rem; transition: all 0.3s ease; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 0.2rem rgba(67,97,238,0.1); }
.form-control.success { border-color: #198754; box-shadow: 0 0 0 0.2rem rgba(25,135,84,0.1); }

/* File upload preview */
.file-upload-container { position: relative; }
.file-upload-preview { width: 120px; height: 120px; border: 2px dashed #dee2e6; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-top: 0.5rem; overflow: hidden; background-color: #f8f9fa; transition: all 0.3s ease; }
.file-upload-preview:hover { border-color: var(--primary); }
.file-upload-preview img { max-width: 100%; max-height: 100%; object-fit: cover; display: none; }
.file-upload-placeholder { text-align: center; color: #6c757d; }
.file-upload-placeholder i { font-size: 2rem; margin-bottom: 0.5rem; display: block; }

/* Price input with currency prefix */
.price-input { position: relative; }
.price-input:before { content: "₹"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #6c757d; font-weight: 600; z-index: 1; }
.price-input .form-control { padding-left: 30px; }

/* Status preview chips */
.status-preview, .status-preview-edit { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 6px; font-weight: 500; margin-top: 0.5rem; transition: all 0.3s ease; }
.status-active { background-color: #d4edda; color: #155724; }
.status-inactive { background-color: #f8d7da; color: #721c24; }

/* Edit page specific helpers */
.form-section-edit { border-left: 4px solid var(--primary); padding-left: 1rem; margin: 1.5rem 0; }
.form-section-edit h6 { color: var(--primary); font-weight: 600; }
.current-image-container { margin-top: 1rem; text-align: center; }
.current-image-label { font-size: 0.875rem; color: #6c757d; margin-top: 0.5rem; display: block; }
.current-image { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; border: 2px solid #e9ecef; transition: all 0.3s ease; }
.current-image:hover { transform: scale(1.8); z-index: 10; position: relative; border-color: var(--primary); }
.image-comparison { display: flex; gap: 1rem; align-items: flex-start; margin-top: 1rem; }
.image-box { text-align: center; flex: 1; }
.image-box h6 { font-size: 0.875rem; color: #495057; margin-bottom: 0.5rem; }
.btn-update { background: linear-gradient(135deg, #fd7e14 0%, #e8590c 100%); border: none; border-radius: 8px; padding: 0.75rem 2rem; font-weight: 600; display: inline-flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(253,126,20,0.3); }
.btn-update:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(253,126,20,0.4); color: #fff; }
.stock-warning { color: #dc3545; font-weight: 600; animation: pulse 2s infinite; }
@keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } }

/* Animation for form card */
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.form-card { animation: fadeIn 0.5s ease-out; }

/* Admin Orders page styles (migrated from inline) */
.search-form { max-width: 400px; }
.search-form .form-control { border-radius: 8px; border: 1px solid #e2e8f0; padding: 0.75rem 1rem; transition: all 0.3s ease; }
.search-form .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 0.2rem rgba(67,97,238,0.1); }
.search-btn { border-radius: 8px; padding: 0.75rem 1.25rem; background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); border: none; transition: all 0.3s ease; }
.search-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(67,97,238,0.3); }

.amount { font-weight: 700; color: #198754; }
.items-list { max-width: 300px; }
.item-detail { padding: 0.5rem; background: #f8f9fa; border-radius: 6px; margin-bottom: 0.5rem; }
.item-detail:last-child { margin-bottom: 0; }
.item-name { font-weight: 600; color: #495057; }
.item-meta { font-size: 0.85rem; color: #6c757d; }
.student-name { font-weight: 600; color: var(--dark); }
.order-date { color: #6c757d; font-size: 0.9rem; }
.order-time { color: #adb5bd; font-size: 0.8rem; }

.stats-overview { display: flex; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.stat-card { background: #fff; padding: 1rem 1.5rem; border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); flex: 1; min-width: 200px; }
.stat-card .stat-value { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-bottom: 0.25rem; }
.stat-card .stat-label { color: #6c757d; font-size: 0.9rem; }

@media (max-width: 768px) {
  .search-form { max-width: 100%; width: 100%; }
  .stats-overview { flex-direction: column; }
  .stat-card { min-width: 100%; }
  .items-list { max-width: 200px; }
}

/* Utilities */
.minw-300 { min-width: 300px !important; }
.w-110 { width: 110px !important; }

/* Invoice page (standalone) */
.invoice-page { background-color: #f8f9fa; }
.invoice-container { background-color: #fff; border-radius: 10px; box-shadow: 0 0 20px rgba(0,0,0,0.1); padding: 30px; margin-top: 20px; display: none; }
.invoice-header { border-bottom: 2px solid #e9ecef; padding-bottom: 20px; margin-bottom: 20px; }
.invoice-table th { background-color: #f8f9fa; }
.invoice-total { background-color: #f8f9fa; font-weight: bold; }
.btn-print { background-color: #6c757d; color: #fff; }
.btn-download { background-color: #28a745; color: #fff; }
.invoice-page .modal-content { border: none; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.checkout-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eee; }
.checkout-item:last-child { border-bottom: none; }

/* Kitchen page (scoped) extracted from inline */
.kitchen-page { background: #f8f9fa; font-family: 'Poppins', sans-serif; }
.kitchen-page .navbar { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.kitchen-page h2 { font-weight: 600; color: #343a40; }
.kitchen-page .kanban-board { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.kitchen-page .kanban-column { flex: 1; min-width: 300px; background: #fff; border-radius: 16px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.kitchen-page .kanban-column h4 { text-align: center; margin-bottom: 20px; font-weight: 600; color: #0d6efd; }
.kitchen-page .order-card { background: #fff; border: 1px solid #e9ecef; border-radius: 14px; padding: 12px; margin-bottom: 15px; box-shadow: 0 3px 10px rgba(0,0,0,0.05); transition: all 0.2s ease; }
.kitchen-page .order-card:hover { transform: translateY(-3px); }
.kitchen-page .order-card img { width: 100%; height: 150px; border-radius: 10px; object-fit: cover; }
.kitchen-page .order-title { font-size: 1rem; font-weight: 600; margin-top: 10px; }
.kitchen-page .status-btn { font-size: 0.85rem; border-radius: 10px; padding: 5px 10px; }
.kitchen-page .status-btn.received { background-color: #ffc107; color: #000; }
.kitchen-page .status-btn.preparing { background-color: #17a2b8; color: #fff; }
.kitchen-page .status-btn.delivered { background-color: #28a745; color: #fff; }
